/* Salitre — arena, cal, sal y mar profundo */
:root{
  --bg:#f4efe6;--fg:#1e1b17;--muted:#6d665c;--surface:#fbf8f2;--line:rgba(30,27,23,.13);
  --accent:#2a5d6c;--accent-ink:#fff;--sand:#d9c7a8;--radius:22px;
  --font-display:"Cormorant Garamond",Georgia,serif;--font-body:"Jost",system-ui,sans-serif;
  --map-filter:sepia(.2) saturate(.85);
  color-scheme:light;
}
.k-brand{font-family:var(--font-display);font-weight:600;font-size:30px;letter-spacing:.08em;text-transform:uppercase}
.mark{width:32px;height:32px}
.k-h2{font-weight:500;letter-spacing:-.015em}
.k-eyebrow{color:var(--accent)}
.lbl{font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--muted)}

/* Escena inmersiva Salitre */
.k-scene__title{font-weight:500;font-style:italic}
.k-scene .k-eyebrow{color:#e9d7b5}
.k-scene .hero__ctas{display:flex;gap:12px;flex-wrap:wrap}
.k-scene .k-btn--ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.k-scene__veil{background:linear-gradient(180deg,rgba(30,27,23,.5),rgba(30,27,23,.05) 35%,rgba(30,27,23,.15) 60%,rgba(30,27,23,.85))}
.k-head:not(.is-scrolled){color:#fff}
.k-head:not(.is-scrolled) .k-lang__btn,.k-head:not(.is-scrolled) .k-burger{border-color:rgba(255,255,255,.35);background:rgba(30,27,23,.25)}
.k-head.nav-open{color:var(--fg)}
.sizer__res{display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:center;margin-top:12px;padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}
.sizer__res span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.sizer__res b{grid-row:1/3;font-family:var(--font-display);font-size:44px;line-height:1;color:#e9d7b5}
.sizer__res small{font-size:12px;opacity:.75}
@media (max-width:700px){.k-scene__copy--top{top:92px}}

/* CATÁLOGO */
.shop__head{display:grid;gap:22px;margin-bottom:14px}
.shop__filters{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{min-height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:transparent;cursor:pointer;font-weight:500;transition:background .25s,color .25s}
.chips button[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.shop__size{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.shop__size .k-input{min-width:120px;min-height:42px;padding:8px 36px 8px 14px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}
@media (max-width:1000px){.grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.grid{grid-template-columns:repeat(2,1fr);gap:12px}}
.prod{display:flex;flex-direction:column;gap:6px;view-transition-class:prod}
.prod__media{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:var(--sand);border:0;padding:0;cursor:pointer;width:100%}
.prod__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.prod:hover .prod__media img{transform:scale(1.05)}
.prod__tag{position:absolute;left:12px;top:12px;padding:5px 10px;border-radius:999px;background:rgba(251,248,242,.92);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.prod__quick{position:absolute;left:12px;right:12px;bottom:12px;min-height:42px;border-radius:12px;border:0;background:rgba(30,27,23,.85);color:#fff;font-weight:600;cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.prod:hover .prod__quick,.prod:focus-within .prod__quick{opacity:1;transform:none}
@media (hover:none){.prod__quick{opacity:1;transform:none}}
.prod h3{margin:8px 0 0;font-family:var(--font-display);font-weight:500;font-size:22px;line-height:1.1}
.prod__meta{display:flex;justify-content:space-between;gap:8px;font-size:14px;color:var(--muted)}
.prod__meta b{color:var(--fg);font-weight:600}
.prod__sizes{display:flex;gap:4px;flex-wrap:wrap}
.prod__sizes span{font-size:11px;padding:2px 6px;border-radius:5px;background:rgba(30,27,23,.06)}
.grid__empty{grid-column:1/-1;padding:40px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted)}
::view-transition-group(*.prod){animation-duration:.4s}

/* LOOKBOOK */
.look{background:var(--surface);border-block:1px solid var(--line)}
.look__grid{width:min(1400px,100% - 40px);margin:34px auto 0;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:280px 280px;gap:12px}
.look__grid figure{margin:0;border-radius:var(--radius);overflow:hidden;--radius:18px}
.look__grid figure:first-child{grid-row:1/3}
.look__grid img{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.look__grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 160px 160px}.look__grid figure:first-child{grid-row:auto;grid-column:1/-1}}

/* ENVÍOS */
.ship__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
@media (max-width:800px){.ship__grid{grid-template-columns:1fr}}
.ship__grid article{padding:26px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.ship__grid b{font-family:var(--font-display);font-style:italic;font-size:40px;color:var(--accent);line-height:1}
.ship__grid h3{margin:10px 0 6px;font-size:19px}
.ship__grid p{margin:0;color:var(--muted);font-size:15px}

/* CLUB, FAQ, VISITA */
.club{padding:10px 0 40px}
.club__in{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding:clamp(28px,4vw,52px);border-radius:32px;background:var(--fg);color:var(--bg)}
.club__t{font-family:var(--font-display);font-weight:500;font-size:clamp(30px,4vw,48px);margin:0}
.club__in p{margin:6px 0 0;color:rgba(244,239,230,.7)}
.club__form{display:flex;gap:10px}
.club__form .k-input{flex:1;background:rgba(244,239,230,.08);border-color:rgba(244,239,230,.25);color:var(--bg);color-scheme:dark}
@media (max-width:760px){.club__in{grid-template-columns:1fr}.club__form{flex-direction:column}}
.faq__grid,.visit__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,70px);align-items:start}
.visit__grid{align-items:center}
@media (max-width:900px){.faq__grid,.visit__grid{grid-template-columns:1fr}}
.visit__dl{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin:0 0 28px}
.visit__dl dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.visit__dl dd{margin:0}

/* VISTA RÁPIDA */
dialog.qv{width:min(820px,calc(100% - 24px))}
.qv__in{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:14px 24px 24px 14px}
@media (max-width:700px){.qv__in{grid-template-columns:1fr;padding:12px 18px 22px}}
.qv__in>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px;view-transition-name:qv}
@media (max-width:700px){.qv__in>img{aspect-ratio:16/10}}
.qv__body{display:grid;gap:12px;align-content:start;padding-top:28px}
.qv__t{margin:0;font-family:var(--font-display);font-weight:500;font-size:34px;line-height:1.05}
.qv__price{margin:0;font-size:22px;font-weight:600}
.qv__desc{margin:0;color:var(--muted);font-size:15px}
.swatches{display:flex;gap:8px;margin-top:6px}
.swatches button{width:34px;height:34px;border-radius:50%;border:2px solid transparent;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.swatches button[aria-pressed="true"]{border-color:var(--fg)}
.sizes{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.sizes button{min-width:46px;min-height:40px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:transparent;cursor:pointer;font-weight:600}
.sizes button[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.sizes button:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}

/* BOLSA (patrón carrito) */
.cart-fab{position:fixed;left:50%;bottom:18px;translate:-50% 0;z-index:71;display:flex;align-items:center;gap:12px;min-height:56px;padding:0 22px 0 10px;border-radius:999px;border:0;background:var(--fg);color:var(--bg);font-weight:600;box-shadow:0 20px 50px rgba(0,0,0,.35);cursor:pointer;animation:k-pop .5s cubic-bezier(.2,.8,.2,1)}
.cart-fab[hidden]{display:none}
.cart-fab__n{display:grid;place-items:center;min-width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff}
.cart-fab.bump{animation:bump .45s}
@keyframes bump{40%{transform:scale(1.08)}}
@media (max-width:560px){.cart-fab{left:16px;translate:none;right:86px;justify-content:space-between}}
/* En móvil la bolsa se aparta mientras la capa 3 (buscador de talla) está fijada, para no tapar su botón */
@media (max-width:700px){.cart-fab{transition:opacity .3s,visibility .3s}.cart-fab.is-away{opacity:0;visibility:hidden;pointer-events:none}}
dialog.cart{margin:0 0 0 auto;height:100dvh;max-height:none;width:min(440px,100%);border:0;padding:0;background:var(--surface);color:var(--fg)}
dialog.cart::backdrop{background:rgba(0,0,0,.45);backdrop-filter:blur(4px)}
dialog.cart[open]{animation:slide .5s cubic-bezier(.2,.8,.2,1)}
@keyframes slide{from{transform:translateX(100%)}}
.cart__in{display:flex;flex-direction:column;gap:16px;height:100%;padding:24px}
.cart__head{display:flex;justify-content:space-between;align-items:center}
.cart__head h2{margin:0;font-family:var(--font-display);font-weight:500;font-size:30px}
.cart__head .k-sheet__x{position:static}
.cart__list{list-style:none;margin:0;padding:0;display:grid;gap:10px;overflow:auto;flex:1;align-content:start}
.cart__list li{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px;border-radius:14px;border:1px solid var(--line)}
.cart__list small{grid-column:1/-1;color:var(--muted)}
.cart__list .q{display:flex;gap:6px;align-items:center}
.cart__list .q button{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:transparent;cursor:pointer}
.cart__mode{border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;gap:8px}
.cart__mode legend{font-size:13px;color:var(--muted);padding:0 6px}
.cart__mode label{display:flex;gap:10px;align-items:center;cursor:pointer}
.cart__mode input{accent-color:var(--accent);width:18px;height:18px}
.cart__total{display:flex;justify-content:space-between;font-size:20px}
.cart__clear{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;align-self:center}
.k-stars svg{fill:var(--accent)}
.k-credit{background:var(--fg)}
