/* ═════════════════════════════════════════════════════════════
   MCV · shop.css — tienda del drop (drop.html, gracias.html)
   Capa sobre styles.css + brand.css. Fondo navy, calm by design.
   ═════════════════════════════════════════════════════════════ */

body.shop{min-height:100vh;background:var(--capsule);color:#fff;display:flex;flex-direction:column}
.shop-main{flex:1;width:100%;max-width:var(--maxw);margin:0 auto;padding:124px max(24px,5vw) 90px}
.shop-head{max-width:620px;margin-bottom:clamp(36px,5vw,56px)}
.shop-head .microlabel{display:block;color:rgba(255,255,255,.55);margin-bottom:16px}
.shop-head .h1{color:#fff;font-weight:300;letter-spacing:-.02em;margin-bottom:14px}
.shop-head .lead{color:rgba(255,255,255,.72);font-size:16px}
.shop-note{font-size:12px;color:rgba(255,255,255,.45);line-height:1.6}
.shop-note a,.shop p a{color:#fff;text-decoration:underline;text-underline-offset:2px}

/* ── Nav: enlace al pedido ── */
.nav-cart{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:rgba(255,255,255,.85);padding:8px 12px;border-radius:99px;border:.5px solid rgba(255,255,255,.22);transition:background .3s,color .3s}
.nav-cart:hover{color:#fff;background:rgba(255,255,255,.1)}
.nav-cart svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nav-cart b{min-width:18px;height:18px;border-radius:99px;background:#fff;color:var(--navy);font-size:11px;display:inline-grid;place-items:center;padding:0 5px}
.nav-cart[hidden]{display:none}

/* ── Estados: cargando / no disponible ── */
.shop-loading{display:flex;flex-direction:column;gap:14px;max-width:520px}
.sk{height:14px;border-radius:8px;background:rgba(255,255,255,.08);animation:sk 1.6s var(--ease) infinite alternate}
.sk.big{height:180px;border-radius:20px}
@keyframes sk{from{opacity:.5}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.sk{animation:none}}
.shop-msg{max-width:520px;background:rgba(255,255,255,.06);border:.5px solid rgba(255,255,255,.14);border-radius:16px;padding:18px 20px;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.85)}
.shop-msg.err{background:rgba(255,120,120,.12);border-color:rgba(255,140,140,.35)}

/* ── Espera: cuenta atrás + lista ── */
.wait{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(26px,4vw,48px);align-items:start}
.wait-card{background:rgba(255,255,255,.06);border:.5px solid rgba(255,255,255,.14);border-radius:24px;padding:clamp(24px,3.5vw,38px)}
.wait-card .microlabel{display:block;color:rgba(255,255,255,.55);margin-bottom:14px}
.wait-card .h2{color:#fff;font-weight:500;margin-bottom:8px}
.wait-card p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.72)}
.cd-date{font-size:14px;color:rgba(255,255,255,.72);margin:0 0 22px}
.cd-grid[hidden]{display:none}
.cd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.cd{background:rgba(255,255,255,.05);border:.5px solid rgba(255,255,255,.12);border-radius:16px;padding:18px 6px;text-align:center}
.cd b{display:block;font-size:clamp(28px,4.4vw,42px);font-weight:300;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;color:#fff}
.cd span{display:block;margin-top:8px;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.wait .join-form{margin-top:18px}
.wait .join-form .jf-consent{padding:2px 0}

/* ── Tienda abierta: catálogo + pedido ── */
.store{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(22px,3.5vw,40px);align-items:start}
.catalog{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.prod{background:rgba(255,255,255,.05);border:.5px solid rgba(255,255,255,.14);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.prod:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(10,22,44,.35)}
.prod-visual{aspect-ratio:4/5;background:linear-gradient(160deg,#16305A 0%,#0E1F3C 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.prod-visual img{width:38%;opacity:.28;transition:opacity .6s var(--ease),transform .9s var(--ease)}
.prod:hover .prod-visual img{opacity:.4;transform:scale(1.03)}
.prod-visual .sig{position:absolute;left:18px;bottom:16px;width:52px;opacity:.9}
.prod-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:12px}
.prod-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.prod-name{font-size:16px;font-weight:600;letter-spacing:-.01em;color:#fff}
.prod-price{font-size:15px;font-weight:500;color:rgba(255,255,255,.85);font-variant-numeric:tabular-nums;white-space:nowrap}
.prod-label{font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.sizes{display:flex;flex-wrap:wrap;gap:8px}
.size{appearance:none;background:rgba(255,255,255,.06);border:.5px solid rgba(255,255,255,.22);border-radius:12px;color:#fff;font:inherit;font-size:13.5px;font-weight:600;padding:10px 14px;min-width:50px;display:flex;flex-direction:column;align-items:center;gap:3px;transition:background .3s,border-color .3s,color .3s}
.size small{font-size:10px;font-weight:500;letter-spacing:.02em;color:rgba(255,255,255,.55)}
.size:hover:not([disabled]){border-color:#fff}
.size.on{background:#fff;color:var(--navy);border-color:#fff}
.size.on small{color:rgba(27,57,107,.7)}
.size[disabled]{opacity:.42;cursor:default;text-decoration:line-through}
.size[disabled] small{text-decoration:none}
.prod-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;flex-wrap:wrap}
.prod-actions .btn{padding:12px 20px;font-size:13.5px}
.prod-actions .btn[disabled]{opacity:.5;cursor:default;transform:none}
.prod-note{font-size:12px;color:rgba(255,255,255,.6);min-height:1em;flex:1}
.prod-note.err{color:#F1A69F}

/* Pedido */
.cart{position:sticky;top:96px;background:rgba(255,255,255,.06);border:.5px solid rgba(255,255,255,.14);border-radius:24px;padding:clamp(20px,2.6vw,28px);display:flex;flex-direction:column;gap:16px}
.cart .microlabel{display:block;color:rgba(255,255,255,.55)}
.cart-empty{font-size:14px;color:rgba(255,255,255,.6);line-height:1.6;padding:6px 0 2px}
.lines{display:flex;flex-direction:column;gap:10px}
.line{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;padding:12px 0;border-bottom:.5px solid rgba(255,255,255,.12)}
.line:last-child{border-bottom:none}
.line-name{font-size:14px;font-weight:600;color:#fff}
.line-size{font-size:12px;color:rgba(255,255,255,.55);margin-left:6px;font-weight:500}
.line-total{font-size:14px;font-variant-numeric:tabular-nums;color:#fff;text-align:right}
.line-ctl{display:flex;align-items:center;gap:6px}
.qty{display:inline-flex;align-items:center;border:.5px solid rgba(255,255,255,.22);border-radius:99px;overflow:hidden}
.qty button{appearance:none;background:transparent;border:none;color:#fff;width:30px;height:28px;font-size:16px;line-height:1;display:grid;place-items:center;transition:background .3s}
.qty button:hover:not([disabled]){background:rgba(255,255,255,.1)}
.qty button[disabled]{opacity:.35;cursor:default}
.qty span{min-width:22px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}
.line-rm{appearance:none;background:none;border:none;color:rgba(255,255,255,.5);font-size:12px;padding:6px 4px;text-decoration:underline;text-underline-offset:2px;transition:color .3s}
.line-rm:hover{color:#fff}
.cart-note{font-size:12px;color:rgba(255,255,255,.6);line-height:1.5}
.cart-note.err{color:#F1A69F}
.totals{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:.5px solid rgba(255,255,255,.14)}
.tot{display:flex;justify-content:space-between;font-size:13.5px;color:rgba(255,255,255,.7);font-variant-numeric:tabular-nums}
.tot.grand{font-size:17px;font-weight:600;color:#fff;margin-top:4px}
.cart .jf-btn{margin-top:4px}
.cart-limits{font-size:11.5px;color:rgba(255,255,255,.45);line-height:1.55}

/* Checkout (formulario dentro del pedido) */
.checkout{display:none;flex-direction:column;gap:14px;padding-top:6px}
.checkout.on{display:flex;animation:fadeUp .5s var(--ease)}
.checkout .fs-label{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.checkout .f-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.checkout .f-field{margin:0}
.checkout .f-field label{display:block;font-size:12px;font-weight:600;color:rgba(255,255,255,.72);margin-bottom:6px}
.checkout .f-field input,.checkout .f-field select{width:100%;background:rgba(255,255,255,.08);border:.5px solid rgba(255,255,255,.22);border-radius:12px;padding:12px 14px;color:#fff;font:inherit;font-size:14.5px;outline:none;transition:border-color .25s,background .25s}
.checkout .f-field input::placeholder{color:rgba(255,255,255,.35)}
.checkout .f-field input:focus,.checkout .f-field select:focus{border-color:#fff;background:rgba(255,255,255,.12)}
.checkout .f-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ffffff' stroke-width='1.6'%3E%3Cpath d='M3 5l3 3 3-3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.checkout .f-field select option{color:var(--navy)}
.checkout .f-field.err input,.checkout .f-field.err select{border-color:#E48B85}
.checkout .f-err{display:none;font-size:11.5px;color:#F1A69F;margin-top:6px;line-height:1.45}
.checkout .f-field.err .f-err{display:block}
.checkout .jf-consent{padding:2px 0}
.checkout .jf-consent.err span{color:#F1A69F}
.checkout .jf-consent.err input{border-color:#F1A69F}
.checkout .jf-msg{margin:0}
.checkout .f-back{align-self:flex-start;background:none;border:none;color:rgba(255,255,255,.6);font:inherit;font-size:13px;padding:4px 0;cursor:pointer;transition:color .3s}
.checkout .f-back:hover{color:#fff}
.pay-note{font-size:11.5px;color:rgba(255,255,255,.5);line-height:1.55}
.pay-note svg{width:11px;height:11px;vertical-align:-1px;margin-right:4px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Barra flotante en móvil */
.cart-bar{display:none;position:fixed;left:16px;right:16px;bottom:16px;z-index:150;background:#fff;color:var(--navy);border-radius:99px;padding:12px 12px 12px 20px;box-shadow:0 20px 50px rgba(10,22,44,.4);align-items:center;justify-content:space-between;gap:12px;font-size:13.5px;font-weight:600;animation:cookieIn .6s var(--ease)}
.cart-bar span{font-variant-numeric:tabular-nums}
.cart-bar .btn{background:var(--navy);color:#fff;padding:10px 16px;font-size:12.5px}
.cart-bar[hidden]{display:none}

/* ── Gracias ── */
.thanks{flex:1;display:flex;align-items:center;justify-content:center;padding:120px max(24px,5vw) 80px;text-align:center}
.thanks-card{max-width:520px}
.thanks .join-sig{width:118px;height:auto;display:block;margin:0 auto 38px}
.thanks .microlabel{display:block;color:rgba(255,255,255,.5);margin-bottom:16px}
.thanks h1{font-size:clamp(32px,6vw,44px);font-weight:300;letter-spacing:-.02em;line-height:1.1;color:#fff;margin:0 0 16px}
.thanks p{font-size:16px;line-height:1.65;color:rgba(255,255,255,.75);margin:0 0 34px}
.thanks .link-back{font-size:13px;font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:2px}

/* ── Responsive ── */
@media (max-width:1040px){
  .store{grid-template-columns:1fr}
  .cart{position:static}
  .cart-bar.show{display:flex}
}
@media (max-width:900px){
  .wait{grid-template-columns:1fr}
}
@media (max-width:600px){
  .shop-main{padding-top:104px}
  .catalog{grid-template-columns:1fr}
  .prod-visual{aspect-ratio:5/4}
  .checkout .f-row{grid-template-columns:1fr}
  .cd b{font-size:30px}
}
