/* Summit Society · tienda en preventa (se carga junto a styles.css o hoodie.css) */
html.ss-lock{overflow:hidden}

/* ---------- Banner de preventa ---------- */
.presale-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 30px;padding:18px var(--page-padding,var(--pad));background:var(--lichen);color:var(--canvas);font-size:12px;font-weight:700;letter-spacing:.02em}
.presale-strip b{font-family:var(--font-editorial);font-size:clamp(20px,2vw,28px);font-weight:500;letter-spacing:-.01em}
.presale-strip a{padding-block:8px;border-bottom:1px solid currentColor}
.nav-presale{padding:9px 14px!important;border:1px solid currentColor}
.nav-presale::after{display:none}

/* ---------- Home: chamarra y CTA ---------- */
.product-story-jacket{background:var(--night);color:var(--cream);border-top:1px solid var(--line)}
.product-story-jacket .story-visual{background:#050505}
.product-story.product-story-jacket .story-visual img{object-fit:contain;object-position:center}
.variations-cta{padding-top:clamp(56px,7vw,100px)}

/* ---------- Grid de tienda ---------- */
.shop-section{background:var(--night);border-bottom:1px solid var(--line)}
.shop-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(40px,5vw,80px) clamp(20px,2.4vw,36px)}
.shop-card{grid-column:span 2;display:flex;flex-direction:column;min-width:0}
.shop-card:nth-child(4),.shop-card:nth-child(5){grid-column:span 3}
.shop-media{position:relative;display:block;aspect-ratio:4/5;background:#171c24}
.shop-card:nth-child(4) .shop-media,.shop-card:nth-child(5) .shop-media{aspect-ratio:5/4}
.shop-media img{object-position:center 30%;transition:transform 1.2s var(--ease),opacity .5s}
.shop-media.is-studio{background:var(--canvas)}
.shop-media.is-studio img{object-fit:contain;object-position:center}
.shop-media.is-dark{background:#050505}
.shop-card:hover .shop-media img{transform:scale(1.03)}
.shop-badge{position:absolute;left:14px;top:14px;z-index:3;padding:7px 10px;background:var(--lichen);color:var(--canvas);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.shop-info{display:flex;flex-direction:column;gap:18px;flex:1;padding-top:22px;border-top:1px solid var(--line);margin-top:18px}
.shop-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.shop-top h3{margin-top:10px;font-size:clamp(26px,2.3vw,38px);line-height:.95;letter-spacing:-.05em}
.shop-price{display:grid;justify-items:end;flex:none;text-align:right}
.shop-price s{font-size:12px;color:rgb(232 225 213 / .5)}
.shop-price b{font-family:var(--font-editorial);font-size:clamp(26px,2.2vw,34px);font-weight:500;line-height:1.05}
.shop-price small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--lichen);filter:brightness(1.35)}
.shop-opts{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.shop-swatches{display:flex;gap:8px}
.shop-swatches button{width:26px;height:26px;padding:0;border-radius:50%;border:1px solid rgb(232 225 213 / .35);background:var(--sw);cursor:pointer;outline-offset:3px;transition:transform .2s}
.shop-swatches button:hover{transform:scale(1.08)}
.shop-swatches button.is-on{box-shadow:0 0 0 2px var(--night),0 0 0 3px var(--canvas)}
.shop-variant{font-size:12px;color:rgb(232 225 213 / .7)}
.shop-sizes{display:flex;flex-wrap:wrap;gap:6px}
.shop-sizes button{min-width:42px;height:36px;padding:0 10px;border:1px solid rgb(232 225 213 / .25);background:transparent;font-size:11px;font-weight:700;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.shop-sizes button:hover{border-color:var(--canvas)}
.shop-sizes button.is-on{background:var(--canvas);border-color:var(--canvas);color:var(--night)}
.shop-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;flex-wrap:wrap}
.shop-reserve{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:50px;padding:15px 20px;border:1px solid var(--canvas);background:var(--canvas);color:var(--night);font-size:11px;font-weight:700;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .18s}
.shop-reserve:hover{background:var(--lichen);border-color:var(--lichen);color:var(--canvas)}
.shop-reserve:active{transform:scale(.98)}
.shop-more{padding-block:8px;border-bottom:1px solid currentColor;font-size:11px;font-weight:700}
.shop-assurance{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(64px,8vw,120px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.shop-assurance div{padding:24px 24px 24px 0}
.shop-assurance div+div{padding-left:24px;border-left:1px solid var(--line)}
.shop-assurance span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgb(232 225 213 / .5)}
.shop-assurance b{display:block;margin-top:8px;font-size:15px}
.shop-assurance p{margin-top:6px;font-size:12px;line-height:1.55;color:rgb(232 225 213 / .65)}
.reserve-inline{display:inline-flex;align-items:center;gap:22px;margin-top:18px;padding:11px 14px;border:1px solid currentColor;background:transparent;font-size:10.5px;font-weight:700;cursor:pointer;transition:background .25s,color .25s}
.reserve-inline:hover{background:var(--canvas);color:var(--night);border-color:var(--canvas)}

/* ---------- Página de producto ---------- */
.reserve-price{display:grid;gap:4px;margin-bottom:38px;padding:22px 0;border-top:1px solid rgb(232 225 213 / .2);border-bottom:1px solid rgb(232 225 213 / .2)}
.reserve-price s{font-size:13px;color:rgb(232 225 213 / .5)}
.reserve-price b{font-family:var(--font-editorial);font-size:clamp(44px,5vw,68px);font-weight:500;line-height:1}
.reserve-price b small{font-family:var(--font-sans);font-size:13px;font-weight:700}
.reserve-price span{font-size:11px;letter-spacing:.06em;color:#b6c28f}
.color-options.is-many{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.product-hero-visual.is-dark,.session-studio.is-dark,.jacket-frame{background:#050505!important}
.jacket-portrait{background:#050505}
.jacket-portrait img{object-fit:cover;object-position:24% 50%;transform:scale(1.35);transform-origin:24% 50%}

/* ---------- Sesión de fotos ---------- */
.photo-session{padding:clamp(100px,12vw,180px) var(--pad,var(--page-padding));background:var(--canvas);color:var(--ink,var(--night))}
.session-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.42fr);gap:24px 8vw;align-items:end;margin-bottom:clamp(48px,6vw,90px)}
.session-head .product-kicker{grid-column:1/-1}
.session-head h2{max-width:10ch;font-size:clamp(54px,7vw,112px);line-height:.91;letter-spacing:-.068em}
.session-head>p:last-child{font-size:15px;line-height:1.7;color:rgb(31 37 45 / .7)}
.session-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-auto-rows:minmax(0,auto);gap:14px}
.session-grid figure{position:relative;margin:0;aspect-ratio:4/5;background:#20262f}
.session-grid .session-studio{grid-row:span 2;aspect-ratio:auto;min-height:560px;background:var(--cream)}
.session-grid .session-studio img{object-fit:contain}
.session-grid[data-count="3"] figure:last-child{grid-column:2/4;aspect-ratio:16/9}
.session-grid[data-count="2"] .session-studio{grid-row:auto;min-height:0}
.session-grid[data-count="1"] figure:last-child{grid-column:2/4;grid-row:span 2;aspect-ratio:auto}
.session-grid[data-count="0"]{grid-template-columns:1fr}
.session-grid[data-count="0"] .session-studio{grid-row:auto;min-height:0;aspect-ratio:3/2}
.session-grid figure img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.session-grid figcaption{position:absolute;left:12px;bottom:12px;padding:6px 9px;background:rgb(244 241 234 / .92);color:var(--night);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}

/* ---------- Botón flotante ---------- */
.ss-fab{position:fixed;right:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,32px);z-index:60;display:inline-flex;align-items:center;gap:14px;padding:14px 18px;border:0;background:var(--lichen);color:var(--canvas);font:700 11px/1 var(--font-sans);letter-spacing:.06em;cursor:pointer;box-shadow:0 14px 40px rgb(8 11 15 / .35);transition:transform .2s}
.ss-fab:hover{transform:translateY(-2px)}
.ss-fab[hidden]{display:none}
.ss-fab span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:11px;background:var(--canvas);color:var(--night)}

/* ---------- Cajón de apartado ---------- */
.ss-backdrop{position:fixed;inset:0;z-index:140;background:rgb(12 16 21 / .55);backdrop-filter:blur(2px)}
.ss-backdrop[hidden]{display:none}
.ss-drawer{position:fixed;top:0;right:0;bottom:0;z-index:150;width:min(480px,100%);display:flex;flex-direction:column;background:var(--canvas);color:#1f252d;font-family:var(--font-sans);transform:translateX(102%);transition:transform .5s var(--ease);box-shadow:-20px 0 60px rgb(8 11 15 / .25)}
.ss-drawer.is-open{transform:none}
.ss-head{display:flex;justify-content:space-between;align-items:flex-start;padding:26px 28px 22px;border-bottom:1px solid rgb(31 37 45 / .14)}
.ss-head h2{margin-top:8px;font-size:34px;line-height:1;letter-spacing:-.05em}
.ss-kicker{font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lichen)}
.ss-x{border:0;background:none;font-size:32px;line-height:1;cursor:pointer;color:inherit}
.ss-scroll{flex:1;overflow:auto;padding:0 28px 28px}
.ss-items{list-style:none;margin:0;padding:0}
.ss-item{display:grid;grid-template-columns:78px 1fr auto;gap:14px;padding:18px 0;border-bottom:1px solid rgb(31 37 45 / .12)}
.ss-item img{width:78px;height:96px;object-fit:cover;background:var(--cream)}
.ss-item img.is-dark{background:#050505;object-fit:contain}
.ss-item-main b{display:block;font-size:14px}
.ss-item-main small{display:block;margin-top:2px;font-size:11.5px;color:rgb(31 37 45 / .6)}
.ss-sizes{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}
.ss-sizes button{min-width:32px;height:26px;padding:0 6px;border:1px solid rgb(31 37 45 / .2);background:transparent;font-size:10px;font-weight:700;cursor:pointer;color:inherit}
.ss-sizes button.is-on{background:var(--night);border-color:var(--night);color:var(--canvas)}
.ss-qty{display:inline-flex;align-items:center;margin-top:8px;border:1px solid rgb(31 37 45 / .2)}
.ss-qty button{width:28px;height:28px;border:0;background:none;cursor:pointer;color:inherit}
.ss-qty span{min-width:20px;text-align:center;font-size:12px}
.ss-item-price{display:grid;justify-items:end;align-content:start;gap:2px;text-align:right}
.ss-item-price s{font-size:11px;color:rgb(31 37 45 / .45)}
.ss-item-price b{font-size:14px}
.ss-item-price button{margin-top:8px;border:0;background:none;padding:0;font-size:10.5px;text-decoration:underline;cursor:pointer;color:rgb(31 37 45 / .6)}
.ss-empty{padding:34px 0;font-family:var(--font-editorial);font-size:20px}
.ss-empty a{display:inline-block;margin-top:12px;font-family:var(--font-sans);font-size:12px;font-weight:700;border-bottom:1px solid currentColor}
.ss-totals{display:grid;gap:8px;margin:18px 0 0;padding:18px 0;border-bottom:1px solid rgb(31 37 45 / .14)}
.ss-totals div{display:flex;justify-content:space-between;gap:12px;font-size:13px}
.ss-totals dd{margin:0}
.ss-save{color:var(--lichen);font-weight:700}
.ss-total{margin-top:6px;font-size:15px!important;font-weight:700}
.ss-total dd{font-family:var(--font-editorial);font-size:24px;font-weight:500}
.ss-form{display:grid;gap:14px;margin-top:22px}
.ss-form[hidden]{display:none}
.ss-step{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ss-form label{display:grid;gap:6px}
.ss-form label>span{font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgb(31 37 45 / .55)}
.ss-form input:not([type=checkbox]){width:100%;padding:11px 0;border:0;border-bottom:1px solid rgb(31 37 45 / .3);border-radius:0;background:transparent;font:400 16px/1.3 var(--font-sans);color:inherit}
.ss-form input:focus{outline:none;border-bottom-color:var(--night)}
.ss-form label.is-bad input{border-bottom-color:#a14a3b}
.ss-form label.is-bad>span,.ss-check.is-bad span{color:#a14a3b}
.ss-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ss-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ss-check{grid-template-columns:18px 1fr!important;align-items:start;gap:10px!important}
.ss-check input{margin-top:3px;accent-color:var(--lichen)}
.ss-check span{font-size:11.5px!important;letter-spacing:0!important;text-transform:none!important;font-weight:400!important;line-height:1.5}
.ss-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;margin-top:6px;padding:16px 20px;border:1px solid var(--night);background:var(--night);color:var(--canvas);font:700 11.5px/1 var(--font-sans);cursor:pointer;transition:background .25s,border-color .25s}
.ss-submit:hover{background:var(--lichen);border-color:var(--lichen)}
.ss-submit:disabled{opacity:.6;cursor:wait}
.ss-fine{font-size:11.5px;line-height:1.55;color:rgb(31 37 45 / .6)}
.ss-error{min-height:1em;font-size:12px;color:#a14a3b}
.ss-done{padding-top:38px}
.ss-done[hidden]{display:none}
.ss-dot{display:block;width:14px;height:14px;border-radius:50%;background:var(--lichen);box-shadow:0 0 0 7px rgb(116 131 74 / .18);margin-bottom:26px}
.ss-done h3{margin-top:12px;font-family:var(--font-editorial);font-size:40px;font-weight:500;line-height:1;letter-spacing:-.02em}
.ss-done>p:not(.ss-kicker){margin-top:20px;font-size:13px;line-height:1.65;color:rgb(31 37 45 / .7)}
.ss-ticket{display:grid;gap:10px;margin:26px 0 0;padding:20px;background:#ebe9df;border:1px dashed rgb(31 37 45 / .3)}
.ss-ticket div{display:flex;justify-content:space-between;font-size:12px}
.ss-ticket dt{color:rgb(31 37 45 / .6)}
.ss-ticket dd{margin:0;font-weight:700;letter-spacing:.04em}
.ss-done .ss-submit{margin-top:28px}
.ss-toast{position:fixed;left:50%;bottom:24px;z-index:160;max-width:calc(100% - 32px);padding:13px 18px;background:var(--night);color:var(--canvas);font:400 13px/1.4 var(--font-sans);transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
.ss-toast.is-on{opacity:1;transform:translate(-50%,0)}

@media(max-width:1023px){
  .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shop-card,.shop-card:nth-child(4),.shop-card:nth-child(5){grid-column:span 1}
  .shop-card:nth-child(5){grid-column:1/-1}
  .shop-card:nth-child(4) .shop-media{aspect-ratio:4/5}
  .shop-assurance{grid-template-columns:repeat(2,1fr)}
  .shop-assurance div:nth-child(3){padding-left:0;border-left:0}
  .shop-assurance div:nth-child(n+3){border-top:1px solid var(--line)}
}
@media(max-width:767px){
  .shop-grid{grid-template-columns:1fr;gap:64px}
  .shop-card:nth-child(5){grid-column:auto}
  .shop-card:nth-child(5) .shop-media{aspect-ratio:4/5}
  .shop-top{flex-direction:column;gap:10px}
  .shop-price{justify-items:start;text-align:left}
  .shop-reserve{width:100%}
  .shop-assurance{grid-template-columns:1fr}
  .shop-assurance div,.shop-assurance div+div{padding:18px 0;border-left:0}
  .shop-assurance div+div{border-top:1px solid var(--line)}
  .session-head{display:block}
  .session-head h2{margin-top:22px;font-size:clamp(48px,13.5vw,70px)}
  .session-head>p:last-child{margin-top:22px}
  .session-grid{grid-template-columns:1fr 1fr;gap:10px}
  .session-grid .session-studio{grid-column:1/-1;grid-row:auto;min-height:0;aspect-ratio:3/2}
  .session-grid[data-count="3"] figure:last-child,.session-grid[data-count="1"] figure:last-child{grid-column:1/-1;grid-row:auto;aspect-ratio:4/5}
  .ss-head,.ss-scroll{padding-inline:20px}
  .ss-row{grid-template-columns:1fr}
  .presale-strip{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){.ss-drawer,.ss-toast,.shop-media img{transition:none}}
