
button.card-img{border:0;padding:0}
button.card-name{display:block;border:0;padding:0;background:transparent;text-align:left}
:focus-visible{outline:3px solid var(--gold-d);outline-offset:3px}
.cart-review{padding:14px;margin-bottom:14px;border:1px solid var(--gold);background:var(--cream-m);font-size:12px;line-height:1.5;border-radius:8px}
.cart-review button{margin-top:10px}
.cart-review ul,.checkout-lines{padding-left:18px;margin:8px 0}
.checkout-summary{margin:18px 0}
.checkout-summary .sum-row{gap:12px}
.checkout-error{color:#9a2d27;font-size:12px;margin:12px 0}
[hidden]{display:none!important}
.new-order-btn{font-size:11px;margin-bottom:14px}
.float-summary strong{font-size:15px}

:root{
  /* Ambar Selecto — borgoña profundo + ámbar + crema (rediseño) */
  --wine:#5E1B2E;--wine-d:#451323;--wine-m:#7E2940;
  --gold:#C79A55;--gold-l:#E9D5A8;--gold-d:#8C6D2F;
  --deep:#2B0F1B;
  --cream:#F7F0E4;--cream-m:#EFE4CE;
  --text:#2E1520;--text-m:#6F4A55;--text-l:#9C7E86;
  --b:rgba(199,154,85,.22);--bs:rgba(199,154,85,.46);
  --white:#FFFDF9;--sh:rgba(43,15,27,.16);
  --offer:#B04A12;
  --ok:#2E7D46;
  --wa:#1FAF54;
  --radius:12px;
  --font-d:'Fraunces',Georgia,serif;
  --font-b:'Archivo','Helvetica Neue',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;max-width:100vw;}
body{font-family:var(--font-b);background:var(--cream);color:var(--text);min-height:100dvh;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;}
body.has-float-bar{padding-bottom:96px;}
::selection{background:var(--gold);color:var(--deep);}
img{max-width:100%;}
button{font-family:inherit;}
input,textarea,select{font-family:inherit;}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px;}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}

/* ── SKIP LINK ── */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--deep);color:var(--gold-l);padding:10px 16px;z-index:999;border-radius:0 0 8px 0;font-size:13px;}
.skip-link:focus{left:0;}

/* ── HEADER ── */
header{background:var(--deep);position:sticky;top:0;z-index:200;border-bottom:1px solid rgba(233,213,168,.16);}
.hdr{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:58px;gap:12px;padding:0 20px;}
.logo{display:flex;align-items:center;gap:11px;line-height:1;flex-shrink:0;text-decoration:none;cursor:pointer;}
.logo-mark{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1px rgba(233,213,168,.4);}
.logo-mark img{width:100%;height:100%;object-fit:cover;display:block;}
.logo-text{display:flex;flex-direction:column;line-height:1;}
.logo-main{font-family:var(--font-d);font-size:19px;font-weight:500;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;}
.logo-sub{font-size:8.5px;font-weight:500;color:var(--gold-l);letter-spacing:.26em;text-transform:uppercase;margin-top:4px;opacity:.85;}
.hdr-actions{display:flex;align-items:center;gap:8px;}
.hdr-link{background:none;border:none;color:var(--gold-l);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;cursor:pointer;padding:8px 10px;border-radius:6px;transition:color .18s,background .18s;text-decoration:none;display:inline-flex;align-items:center;gap:6px;}
.hdr-link:hover{color:var(--gold);background:rgba(199,154,85,.1);}
.cart-btn{background:var(--gold);border:none;color:var(--deep);padding:9px 15px;font-size:12px;font-weight:600;letter-spacing:.04em;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .18s,transform .12s;border-radius:999px;flex-shrink:0;}
.cart-btn:hover{background:var(--gold-l);}
.cart-btn:active{transform:scale(.97);}
.cart-count{background:var(--deep);color:var(--gold-l);font-size:10.5px;min-width:19px;height:19px;border-radius:10px;padding:0 5px;display:flex;align-items:center;justify-content:center;font-weight:600;font-variant-numeric:tabular-nums;}

/* ── HERO ── */
.hero{background:radial-gradient(130% 160% at 88% -20%,var(--wine-m) 0%,var(--wine-d) 42%,var(--deep) 100%);padding:46px 20px 64px;position:relative;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(199,154,85,.07) 1px,transparent 0);background-size:26px 26px;pointer-events:none;}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(233,213,168,.35),transparent);}
.hero-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:40px;align-items:center;}
.hero-copy{max-width:640px;}
.hero-ornament{color:var(--gold);font-size:15px;margin-bottom:14px;letter-spacing:.3em;}
.hero-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-l);font-weight:500;margin-bottom:14px;opacity:.9;}
.hero h1{font-family:var(--font-d);font-size:clamp(34px,5.2vw,54px);font-weight:500;color:#F6EBD3;line-height:1.06;letter-spacing:-.01em;text-wrap:balance;margin-bottom:16px;}
.hero h1 em{font-style:italic;color:var(--gold);font-weight:400;}
.hero-subtitle{font-size:15px;color:rgba(233,213,168,.85);font-weight:400;line-height:1.6;max-width:52ch;text-wrap:pretty;}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;align-items:center;}
.hero-cta{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--deep);font-weight:600;font-size:13.5px;letter-spacing:.03em;padding:13px 22px;border-radius:999px;text-decoration:none;border:none;cursor:pointer;transition:background .18s,transform .12s;}
.hero-cta:hover{background:var(--gold-l);}
.hero-cta:active{transform:scale(.97);}
.hero-cta-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--gold-l);font-weight:500;font-size:13.5px;padding:12px 20px;border-radius:999px;text-decoration:none;border:1px solid rgba(233,213,168,.4);cursor:pointer;transition:border-color .18s,color .18s,background .18s;}
.hero-cta-ghost:hover{border-color:var(--gold);color:var(--gold);background:rgba(199,154,85,.08);}
.hero-medallion{justify-self:center;width:min(215px,60%);position:relative;}
.hero-medallion::before{content:"";position:absolute;inset:-16% -34%;background:radial-gradient(50% 50% at 50% 50%,rgba(199,154,85,.17),transparent 70%);pointer-events:none;}
.hero-medallion img{width:100%;height:auto;display:block;position:relative;filter:drop-shadow(0 24px 42px rgba(0,0,0,.5));}

/* ── SEARCH ── */
.search-wrap{max-width:760px;margin:-28px auto 0;padding:0 20px;position:relative;z-index:180;}
.search-inner{position:relative;}
.search-box{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--bs);border-radius:999px;padding:0 20px;height:54px;box-shadow:0 18px 40px -18px var(--sh);transition:border-color .18s,box-shadow .18s;}
.search-box:focus-within{border-color:var(--gold);box-shadow:0 18px 44px -16px var(--sh),0 0 0 3px rgba(199,154,85,.18);}
.search-icon{color:var(--gold-d);flex-shrink:0;}
.search-box input{flex:1;border:none;background:none;outline:none;font-size:15px;color:var(--text);min-width:0;}
.search-box input::placeholder{color:var(--text-l);}
.search-box input::-webkit-search-cancel-button{display:none;}
.search-clear{background:var(--cream-m);border:none;color:var(--text-m);width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s;}
.search-clear:hover{background:var(--gold-l);color:var(--deep);}
.search-results{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--white);border:1px solid var(--b);border-radius:16px;box-shadow:0 28px 56px -20px var(--sh);overflow:hidden;max-height:420px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.search-results.open{display:block;}
.search-wrap:has(.search-results.open){z-index:210;} /* abierto, por encima del header sticky (z 200) */
@media(max-width:640px),(pointer:coarse){ /* el dropdown llega hasta abajo: los flotantes (z 290/300) taparían las últimas filas */
  body:has(.search-results.open) .wa-float,body:has(.search-results.open) .totop-float,body:has(.search-results.open) #floatBar{visibility:hidden;}
}
.search-result{display:flex;align-items:center;gap:13px;padding:11px 16px;cursor:pointer;border-bottom:1px solid var(--b);transition:background .12s;}
.search-result:last-child{border-bottom:none;}
.search-result:hover,.search-result.active{background:var(--cream);}
.search-result-img{width:38px;height:50px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--cream-m);border-radius:6px;font-size:16px;overflow:hidden;}
.search-result-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;}
.search-result-info{flex:1;min-width:0;}
.search-result-name{font-family:var(--font-d);font-size:14.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.search-result-meta{display:flex;align-items:center;gap:7px;margin-top:2px;}
.search-result-cat{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d);font-weight:600;background:rgba(199,154,85,.14);padding:2px 6px;border-radius:4px;}
.search-result-bodega{font-size:11.5px;color:var(--text-m);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.search-result-price{font-size:13.5px;font-weight:600;color:var(--wine);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;line-height:1.25;}
.srp-tag{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-d);font-weight:600;}
.srp-off{font-size:9px;color:var(--offer);font-weight:500;}
.srp-sub{font-size:10.5px;color:var(--text-l);font-weight:400;margin-top:1px;}
.search-result-cat.is-linea{background:rgba(94,27,46,.10);color:var(--wine);}
.search-result-img.is-linea{color:var(--gold-d);}
.search-no-results{padding:20px 18px;font-size:13px;color:var(--text-m);text-align:center;}
.search-result-highlight{color:var(--wine);border-bottom:2px solid var(--gold);}
.search-results-footer{padding:9px 16px;font-size:11px;color:var(--text-l);background:var(--cream);text-align:center;}

/* ── TRUST STRIP ── */
.trust-strip{max-width:1280px;margin:26px auto 0;padding:0 20px;}
.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--b);border:1px solid var(--b);border-radius:14px;overflow:hidden;}
.trust-item{background:var(--white);display:flex;align-items:center;gap:11px;padding:14px 16px;}
.trust-item svg{flex-shrink:0;color:var(--gold-d);}
.trust-item strong{display:block;font-size:12.5px;font-weight:600;color:var(--text);line-height:1.3;}
.trust-item span{display:block;font-size:11px;color:var(--text-m);line-height:1.35;margin-top:1px;}

/* ── CATEGORY TABS ── */
main{max-width:1280px;margin:0 auto;padding:10px 20px 60px;}
.cat-tabs{position:sticky;top:58px;z-index:150;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;background:rgba(247,240,228,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--b);margin:14px -20px 18px;padding:2px 20px 0;}
.cat-tabs::-webkit-scrollbar{display:none;}
.cat-tab{padding:14px 13px 11px;font-size:13px;font-weight:500;color:var(--text-m);border:none;background:none;border-bottom:2px solid transparent;white-space:nowrap;cursor:pointer;transition:color .15s,border-color .15s;letter-spacing:.01em;}
.cat-tab:hover{color:var(--wine);}
.cat-tab.active{color:var(--wine);border-bottom-color:var(--gold);font-weight:600;}
.cat-tab.offer-tab{color:var(--offer);font-weight:600;}
.cat-tab.offer-tab.active{border-bottom-color:var(--offer);}
/* Atajos a secciones — fuera de la fila de pestañas, como links de texto */
.cat-links{display:flex;gap:18px;justify-content:flex-end;margin:-8px 0 14px;font-size:11.5px;}
.cat-link{color:var(--text-l);text-decoration:underline;text-underline-offset:3px;}
.cat-link:hover{color:var(--wine);}

/* ── FILTERS ── */
.filters-bar{display:flex;align-items:center;gap:10px;margin:2px 0 14px;flex-wrap:wrap;}
.filters-toggle{display:inline-flex;align-items:center;gap:7px;background:var(--white);border:1px solid var(--bs);color:var(--text-m);font-size:12px;font-weight:500;padding:8px 14px;border-radius:999px;cursor:pointer;transition:all .15s;}
.filters-toggle:hover,.filters-toggle.active{border-color:var(--gold);color:var(--wine);background:rgba(199,154,85,.08);}
.filters-toggle .filters-count{background:var(--wine);color:#F6EBD3;font-size:10px;min-width:17px;height:17px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;padding:0 4px;}
.filters-clear{background:none;border:none;color:var(--offer);font-size:11.5px;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.filters-summary{font-size:11.5px;color:var(--text-l);}
.filters-panel{display:none;background:var(--white);border:1px solid var(--b);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px;}
.filters-panel.open{display:block;}
.filter-group{margin-bottom:14px;}
.filter-group:last-child{margin-bottom:0;}
.filter-label{display:block;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d);margin-bottom:9px;}
.filter-price-row{display:flex;gap:12px;}
.filter-price-fields{display:flex;align-items:center;gap:7px;}
.filter-price-fields label{font-size:11.5px;color:var(--text-m);}
.filter-price-fields input{width:96px;padding:7px 10px;border:1px solid var(--bs);background:var(--cream);border-radius:8px;font-size:13px;color:var(--text);outline:none;font-variant-numeric:tabular-nums;transition:border-color .15s;}
.filter-price-fields input:focus{border-color:var(--gold);}
.filter-chips{display:flex;flex-wrap:wrap;gap:7px;}
.filter-chip{background:var(--cream);border:1px solid var(--b);color:var(--text-m);font-size:11.5px;padding:6px 11px;border-radius:999px;cursor:pointer;transition:all .15s;}
.filter-chip:hover{border-color:var(--gold);color:var(--wine);}
.filter-chip.active{background:var(--wine);border-color:var(--wine);color:#F6EBD3;font-weight:500;}
.no-filter-results{background:var(--white);border:1px dashed var(--bs);border-radius:var(--radius);padding:26px 20px;text-align:center;font-size:13px;color:var(--text-m);margin-bottom:20px;}
.no-filter-results button{background:none;border:none;color:var(--wine);font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px;}

/* Rótulo de nivel de navegación (Tipo / Bodega) — mismo look que .filter-label */
.bar-label{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d);margin:4px 0 7px;}

/* ── TIPO BAR (subcategoría dentro de Vinos) ── */
.tipo-bar{display:flex;flex-wrap:wrap;gap:7px;padding:2px 0 10px;}
.tipo-btn{background:var(--cream);border:1px solid var(--b);color:var(--text-m);font-size:12px;font-weight:500;padding:7px 13px;border-radius:999px;cursor:pointer;transition:all .15s;}
.tipo-btn:hover{border-color:var(--gold);color:var(--wine);}
.tipo-btn.active{background:var(--white);border-color:var(--wine);color:var(--wine);font-weight:600;box-shadow:inset 0 0 0 1px var(--wine);}
.tipo-btn .tipo-n{opacity:.8;font-size:10px;margin-left:2px;font-variant-numeric:tabular-nums;}

/* ── BODEGA BAR ── */
.bodega-bar{display:flex;flex-wrap:wrap;gap:7px;padding:2px 0 12px;margin-bottom:4px;}
.bodega-bar::-webkit-scrollbar{display:none;}
.bb-btn{background:var(--white);border:1px solid var(--b);color:var(--text-m);font-size:12px;font-weight:500;padding:7px 14px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0;}
.bb-btn:hover{border-color:var(--gold);color:var(--wine);}
.bb-btn.active{background:var(--deep);border-color:var(--deep);color:var(--gold-l);font-weight:600;}
/* "Ver más bodegas": solo existe en móvil (en desktop la barra entera entra con wrap) */
.bb-toggle{display:none;background:none;border:1px dashed var(--bs);color:var(--wine);font-size:12px;font-weight:600;padding:7px 14px;border-radius:999px;cursor:pointer;flex-shrink:0;}

/* Resumen del alcance activo (tipo y/o bodega) + salida a la vista completa */
.active-scope{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--text-m);background:var(--white);border:1px solid var(--b);border-radius:10px;padding:9px 12px;margin:0 0 14px;}
.active-scope strong{color:var(--wine);}
.active-scope-clear{margin-left:auto;background:none;border:1px solid var(--bs);border-radius:999px;padding:6px 11px;font-size:12px;color:var(--wine);cursor:pointer;}

/* ── PANELS & SECTIONS ── */
.cat-panel{display:none;}
.cat-panel.active{display:block;}
.bodega-section{margin-bottom:34px;}
.bodega-heading{display:flex;align-items:baseline;gap:14px;margin:26px 0 14px;}
.bodega-heading h3{font-family:var(--font-d);font-size:22px;font-weight:500;color:var(--wine);letter-spacing:.01em;white-space:nowrap;}
.bodega-line{flex:1;height:1px;background:var(--b);}
.bodega-count{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-l);font-weight:500;white-space:nowrap;}
.bodega-section.ofertas-section .bodega-heading h3{color:var(--offer);}
.linea-label{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);font-weight:600;margin:18px 0 10px;}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px;}

/* ── PRODUCT CARD ── */
.product-card{position:relative;display:flex;background:var(--white);border:1px solid var(--b);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,transform .2s,border-color .2s;}
.product-card:hover{border-color:var(--bs);box-shadow:0 14px 30px -16px var(--sh);transform:translateY(-2px);}
.card-img{width:96px;flex-shrink:0;background:linear-gradient(180deg,#FBF5E9,var(--cream-m));display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden;}
.card-img img{width:100%;height:100%;object-fit:contain;padding:8px 4px;transition:transform .25s;position:relative;z-index:2;mix-blend-mode:multiply;}
.product-card:hover .card-img img{transform:scale(1.045);}
.bottle-ph{display:flex;align-items:center;justify-content:center;}
.bottle-ph svg{width:58px;height:120px;}
.card-img.has-img .bottle-ph{display:none;}
.card-body{flex:1;padding:13px 14px 13px 15px;display:flex;flex-direction:column;min-width:0;}
.card-varietal{font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-d);font-weight:600;margin-bottom:3px;}
.card-name{font-family:var(--font-d);font-size:17px;font-weight:600;color:var(--text);line-height:1.16;cursor:pointer;letter-spacing:0;}
.card-name:hover{color:var(--wine);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px;}
.card-bodega{font-size:11.5px;color:var(--text-m);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.card-footer{margin-top:auto;padding-top:10px;display:flex;flex-direction:column;gap:8px;}
.card-price-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;}
.card-price{font-size:15.5px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;}
.card-price-unit{font-size:11px;color:var(--text-l);}
.card-price-old{font-size:12px;color:var(--text-l);text-decoration:line-through;font-variant-numeric:tabular-nums;}
/* Descuento por método de pago: referencia de precio de lista SIN tachado (≥13px, legible — no gris-sobre-gris) */
.card-price-lista{font-size:13px;color:var(--text-m);font-variant-numeric:tabular-nums;line-height:1.4;width:100%;}
.card-price-lista strong{color:var(--wine);font-weight:600;}
/* Las dos rebajas de un producto en oferta, nombradas por separado. Un solo % no
   alcanzaba: el total (lista→final) se leía como si lo diera la oferta, y el % de
   la oferta solo contradecía el salto del tachado. Cada etiqueta dice su origen.
   El desglose en pesos va en .mp-breakdown, dentro del modal. */
.badge-pair{display:flex;gap:6px;flex-wrap:wrap;width:100%;margin-top:2px;}
.mini-badge{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:3px 7px;border-radius:5px;white-space:nowrap;line-height:1.45;}
.mb-oferta{background:var(--offer);color:#FDEFE2;}
.mb-efectivo{background:rgba(94,27,46,.09);color:var(--wine);border:1px solid rgba(94,27,46,.28);}
/* Desglose del precio en el modal — separa las dos rebajas sin ensuciar la card */
.mp-breakdown{margin-top:10px;padding:10px 12px;background:rgba(199,154,85,.09);border:1px solid rgba(199,154,85,.3);border-radius:8px;font-size:13px;font-variant-numeric:tabular-nums;}
.mpb-row{display:flex;justify-content:space-between;gap:14px;color:var(--text-m);line-height:1.7;}
.mpb-row.mpb-total{margin-top:6px;padding-top:6px;border-top:1px solid rgba(199,154,85,.34);color:var(--wine);font-weight:700;}
.card-price-caja{display:inline-flex;align-items:baseline;gap:6px;background:rgba(199,154,85,.13);border:1px solid rgba(199,154,85,.38);color:var(--wine);border-radius:7px;padding:4px 9px;font-size:12.5px;font-weight:600;width:fit-content;font-variant-numeric:tabular-nums;line-height:1.3;}
.card-price-caja .cpc-lbl{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-d);font-weight:600;}
.qty-row{display:flex;align-items:stretch;gap:8px;}
.qty-stepper{display:flex;align-items:center;border:1px solid var(--bs);border-radius:9px;overflow:hidden;background:var(--cream);}
.qty-m,.qty-p{width:30px;height:34px;background:none;border:none;color:var(--wine);font-size:16px;cursor:pointer;transition:background .12s;line-height:1;}
.qty-m:hover,.qty-p:hover{background:rgba(199,154,85,.18);}
.qty-m:active,.qty-p:active{background:rgba(199,154,85,.3);}
.qty-m:disabled,.qty-p:disabled{color:var(--text-l);cursor:not-allowed;}
.qty-d{min-width:24px;text-align:center;font-size:13.5px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;}
.add-btn{flex:1;background:var(--wine);color:#F8ECD8;border:none;border-radius:9px;min-height:34px;font-weight:600;font-size:12.5px;letter-spacing:.02em;cursor:pointer;transition:background .16s,transform .1s;padding:0 10px;}
.add-btn:hover{background:var(--wine-m);}
.add-btn:active{transform:scale(.98);}
.add-btn.in-cart{background:#F3E8D2;color:var(--wine);border:1px solid var(--bs);}
.add-btn.in-cart:hover{background:#EEDFC2;}
.add-btn:disabled{background:var(--cream-m);color:var(--text-l);cursor:not-allowed;border:1px solid var(--b);}

/* badges */
.card-flags{display:flex;gap:6px;margin-bottom:6px;flex-wrap:wrap;}
.product-badge{display:inline-block;background:var(--deep);color:var(--gold-l);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:5px;}
.product-badge.offer-badge{background:var(--offer);color:#FDEFE2;}
.curated-card .product-badge{position:absolute;top:14px;right:16px;z-index:5;}
.stock-badge{display:inline-block;font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:5px;}
.stock-badge.low{background:#F5E3C2;color:#8A5B12;border:1px solid #E0C48C;}
.stock-badge.out{background:#E9E1D4;color:#6F6459;border:1px solid #D4C9B8;}
.product-card.stock-out{opacity:.72;filter:grayscale(.5);}
.product-card.stock-out:hover{transform:none;box-shadow:none;}
.mix-in-card{font-size:11px;color:var(--gold-d);font-weight:600;min-height:14px;}
.mix-in-card.empty{visibility:hidden;}

/* ── OFFER BANNER / INTROS ── */
.offer-section-banner,.curated-intro,.mix-intro{display:flex;gap:16px;align-items:center;background:linear-gradient(115deg,var(--deep),var(--wine-d) 60%,var(--wine));border-radius:16px;padding:22px 24px;margin:6px 0 20px;color:var(--gold-l);}
.offer-section-banner .ob-icon,.curated-intro .ci-icon,.mix-intro .mi-icon{width:44px;height:44px;border-radius:50%;background:rgba(199,154,85,.16);border:1px solid rgba(233,213,168,.4);display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-size:19px;color:var(--gold);flex-shrink:0;}
.offer-section-banner h2,.curated-intro h2,.mix-intro h2{font-family:var(--font-d);font-size:21px;font-weight:500;color:#F6EBD3;margin-bottom:3px;}
.offer-section-banner p,.curated-intro p,.mix-intro p{font-size:13px;color:rgba(233,213,168,.85);line-height:1.5;text-wrap:pretty;}

/* ── CURATED BOXES ── */
.curated-empty{background:var(--white);border:1px dashed var(--bs);border-radius:var(--radius);padding:30px 22px;text-align:center;font-size:13.5px;color:var(--text-m);}
.curated-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px;}
.curated-card{position:relative;background:var(--white);border:1px solid var(--b);border-radius:14px;padding:20px;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;}
.curated-card:hover{box-shadow:0 14px 30px -16px var(--sh);transform:translateY(-2px);}
.curated-card .product-badge{border-radius:0 6px 6px 0;}
.curated-header{display:flex;gap:12px;align-items:center;margin-bottom:10px;}
.curated-icon{width:40px;height:40px;border-radius:10px;background:rgba(199,154,85,.14);border:1px solid var(--b);display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-size:17px;color:var(--gold-d);flex-shrink:0;}
.curated-title{font-family:var(--font-d);font-size:18px;font-weight:600;color:var(--text);line-height:1.15;}
.curated-meta{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-l);font-weight:500;margin-top:2px;}
.curated-desc{font-size:12.5px;color:var(--text-m);line-height:1.55;margin-bottom:10px;}
.curated-items{list-style:none;margin:0 0 14px;padding:12px 14px;background:var(--cream);border-radius:10px;font-size:12px;color:var(--text-m);line-height:1.7;}
.curated-items li{display:flex;gap:8px;}
.curated-items li::before{content:"✦";color:var(--gold);font-size:9px;line-height:2.2;}
.curated-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.curated-price-block{display:flex;flex-direction:column;}
.curated-price{font-size:18px;font-weight:600;color:var(--wine);font-variant-numeric:tabular-nums;}
.curated-price-old{font-size:11.5px;color:var(--text-l);text-decoration:line-through;font-variant-numeric:tabular-nums;}
.curated-add{background:var(--wine);color:#F8ECD8;border:none;border-radius:9px;padding:10px 16px;font-weight:600;font-size:12.5px;cursor:pointer;transition:background .16s,transform .1s;}
.curated-add:hover{background:var(--wine-m);}
.curated-add:active{transform:scale(.98);}
.curated-add.in-cart{background:#F3E8D2;color:var(--wine);border:1px solid var(--bs);}

/* ── MIX (armá tu caja) ── */
/* top: --sticky-top lo mantiene JS (header + fila de pestañas, medido en runtime). Con las
   pestañas en 2 filas en móvil el número mágico dejaba de servir. El fallback es el valor
   histórico por si el JS todavía no corrió. */
.mix-progress{position:sticky;top:var(--sticky-top,104px);z-index:100;background:var(--white);border:1px solid var(--bs);border-radius:14px;padding:14px 18px;margin-bottom:18px;box-shadow:0 10px 24px -14px var(--sh);}
.mix-progress-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.mix-progress-info{flex:1;min-width:200px;}
.mix-count{font-size:14px;color:var(--text);}
.mix-count strong{font-family:var(--font-d);font-size:19px;color:var(--wine);}
.mix-meta{font-size:12px;color:var(--text-m);margin-top:2px;}
.mix-meta strong{color:var(--wine);font-variant-numeric:tabular-nums;}
.mix-bar{height:5px;background:var(--cream-m);border-radius:3px;margin-top:9px;overflow:hidden;}
.mix-bar-fill{height:100%;background:linear-gradient(90deg,var(--gold-d),var(--gold));border-radius:3px;transition:width .25s;}
.mix-clear{background:none;border:1px solid var(--b);color:var(--text-m);font-size:11.5px;padding:9px 14px;border-radius:9px;cursor:pointer;transition:all .15s;}
.mix-clear:hover{border-color:var(--offer);color:var(--offer);}
.mix-confirm{background:var(--wine);color:#F8ECD8;border:none;border-radius:9px;padding:11px 18px;font-weight:600;font-size:12.5px;cursor:pointer;transition:background .16s;}
.mix-confirm:hover{background:var(--wine-m);}
.mix-confirm:disabled{background:var(--cream-m);color:var(--text-l);cursor:not-allowed;}

/* ── FAQ ── */
.faq-section{background:var(--white);border-top:1px solid var(--b);border-bottom:1px solid var(--b);padding:56px 20px;}
.faq-inner{max-width:1080px;margin:0 auto;}
.faq-head{margin-bottom:26px;}
.faq-eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-d);font-weight:600;margin-bottom:8px;}
.faq-title{font-family:var(--font-d);font-size:clamp(24px,3.4vw,32px);font-weight:500;color:var(--wine);}
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;}
.faq-item{background:var(--cream);border:1px solid var(--b);border-radius:var(--radius);overflow:hidden;}
.faq-item[open]{border-color:var(--bs);background:var(--white);box-shadow:0 10px 24px -18px var(--sh);}
.faq-q{list-style:none;cursor:pointer;padding:16px 44px 16px 18px;font-size:14px;font-weight:600;color:var(--text);position:relative;line-height:1.4;}
.faq-q::-webkit-details-marker{display:none;}
.faq-q::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-family:var(--font-d);font-size:20px;color:var(--gold-d);transition:transform .2s;}
.faq-item[open] .faq-q::after{content:"−";}
.faq-a{padding:0 18px 16px;font-size:13px;color:var(--text-m);line-height:1.65;}

/* ── QUIÉNES SOMOS ── */
.qs-section{padding:60px 20px 54px;text-align:center;}
.qs-inner{max-width:760px;margin:0 auto;}
.qs-ornament{color:var(--gold);font-size:14px;letter-spacing:.3em;margin-bottom:12px;}
.qs-title{font-family:var(--font-d);font-size:clamp(26px,3.6vw,34px);font-weight:500;color:var(--wine);margin-bottom:10px;}
.qs-divider{display:flex;align-items:center;gap:10px;justify-content:center;margin:0 auto 22px;max-width:220px;}
.qs-divider-line{flex:1;height:1px;background:var(--bs);}
.qs-divider-gem{width:6px;height:6px;background:var(--gold);transform:rotate(45deg);}
.qs-text p{font-size:15px;color:var(--text-m);line-height:1.8;margin-bottom:14px;text-wrap:pretty;}
.qs-photos{display:flex;gap:12px;justify-content:center;margin:26px 0 8px;flex-wrap:wrap;}
.qs-photo{width:200px;height:150px;border-radius:12px;overflow:hidden;border:1px solid var(--b);}
.qs-photo img{width:100%;height:100%;object-fit:cover;}
.qs-cta{margin-top:22px;}
.qs-cta-btn{display:inline-flex;align-items:center;gap:9px;background:var(--wa);color:#fff;font-weight:600;font-size:13px;padding:12px 22px;border-radius:999px;text-decoration:none;transition:filter .15s,transform .1s;}
.qs-cta-btn:hover{filter:brightness(1.08);}
.qs-cta-btn:active{transform:scale(.98);}

/* ── AMBAR CLUB ── */
.club-section{background:radial-gradient(120% 150% at 15% -20%,var(--wine-m) 0%,var(--wine-d) 45%,var(--deep) 100%);padding:60px 20px;text-align:center;position:relative;overflow:hidden;}
.club-section::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(199,154,85,.06) 1px,transparent 0);background-size:26px 26px;pointer-events:none;}
.club-inner{position:relative;max-width:640px;margin:0 auto;}
.club-eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:10px;}
.club-title{font-family:var(--font-d);font-size:clamp(28px,4vw,38px);font-weight:500;color:#F6EBD3;margin-bottom:8px;}
.club-divider{display:flex;align-items:center;gap:10px;justify-content:center;margin:14px auto 18px;max-width:200px;}
.club-divider-line{flex:1;height:1px;background:rgba(233,213,168,.4);}
.club-divider-gem{width:6px;height:6px;background:var(--gold);transform:rotate(45deg);}
.club-text{font-size:14.5px;color:rgba(233,213,168,.88);line-height:1.7;margin-bottom:22px;text-wrap:pretty;}
.club-benefits{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-bottom:26px;}
.club-benefit{background:rgba(199,154,85,.12);border:1px solid rgba(233,213,168,.35);color:var(--gold-l);font-size:12.5px;padding:9px 15px;border-radius:999px;}
.club-cta{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:var(--deep);font-weight:600;font-size:13.5px;padding:13px 24px;border-radius:999px;text-decoration:none;transition:background .16s,transform .1s;}
.club-cta:hover{background:var(--gold-l);}
.club-cta:active{transform:scale(.98);}
.club-fineprint{font-size:11px;color:rgba(233,213,168,.6);margin-top:14px;}

/* ── FOOTER ── */
footer{background:var(--deep);padding:52px 20px 30px;text-align:center;border-top:1px solid rgba(233,213,168,.14);}
.footer-wordmark{font-family:var(--font-d);font-size:26px;font-weight:500;color:var(--gold);letter-spacing:.14em;text-transform:uppercase;}
.footer-tag{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-l);opacity:.75;margin-top:6px;}
.footer-divider{display:flex;align-items:center;gap:10px;justify-content:center;margin:20px auto;max-width:220px;}
.footer-divider-line{flex:1;height:1px;background:rgba(233,213,168,.3);}
.footer-divider-gem{width:6px;height:6px;background:var(--gold);transform:rotate(45deg);}
.footer-contact{font-size:13px;color:var(--gold-l);}
.footer-contact a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(199,154,85,.4);transition:border-color .15s;}
.footer-contact a:hover{border-color:var(--gold);}
.footer-info{max-width:720px;margin:24px auto 6px;font-size:12px;line-height:1.75;color:rgba(233,213,168,.82);}
.footer-info p{margin:0 0 10px;}
.footer-info strong{color:var(--gold-l);font-weight:600;}
.footer-info a{color:var(--gold);font-weight:500;text-decoration:none;}
.footer-info .legal{font-size:10.5px;opacity:.75;}
.footer-nos{margin-top:12px;}
.footer-nos a{color:var(--gold-l);text-decoration:none;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;display:none;align-items:center;gap:6px;border:1px solid rgba(233,213,168,.35);padding:8px 16px;border-radius:999px;transition:all .2s;}
.footer-nos a:hover{border-color:var(--gold);color:var(--gold);}
.footer-copy{font-size:11px;color:rgba(233,213,168,.55);margin-top:22px;user-select:none;}

/* ── FLOATS ── */
.totop-float{position:fixed;left:18px;bottom:18px;width:42px;height:42px;border-radius:50%;background:var(--deep);border:1px solid rgba(233,213,168,.35);color:var(--gold-l);cursor:pointer;z-index:300;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s;}
.totop-float svg{width:17px;height:17px;}
.totop-float.visible{opacity:1;pointer-events:auto;transform:none;}
.totop-float:hover{border-color:var(--gold);color:var(--gold);}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:300;display:flex;align-items:center;gap:9px;background:var(--wa);color:#fff;border-radius:999px;padding:12px 18px 12px 14px;text-decoration:none;font-size:13px;font-weight:600;box-shadow:0 14px 30px -12px rgba(31,175,84,.55);transition:filter .15s,transform .12s;}
.wa-float svg{width:22px;height:22px;flex-shrink:0;}
.wa-float:hover{filter:brightness(1.07);}
.wa-float:active{transform:scale(.97);}
body.has-float-bar .wa-float,body.has-float-bar .totop-float{bottom:92px;}

/* ── FLOAT BAR (resumen pedido) ── */
#floatBar{position:fixed;left:0;right:0;bottom:0;z-index:290;padding:10px 14px calc(10px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .25s;pointer-events:none;}
#floatBar.visible{transform:none;pointer-events:auto;}
.float-inner{max-width:680px;margin:0 auto;background:var(--deep);border:1px solid rgba(233,213,168,.28);border-radius:16px;padding:12px 14px 12px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 20px 44px -16px rgba(43,15,27,.55);}
.float-summary{display:flex;flex-direction:column;line-height:1.25;min-width:0;}
.float-summary span{font-size:11px;color:var(--gold-l);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.float-summary strong{font-family:var(--font-d);font-size:19px;color:var(--gold);font-variant-numeric:tabular-nums;}
.float-btn{background:var(--gold);color:var(--deep);border:none;border-radius:999px;padding:12px 20px;font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap;transition:background .16s,transform .1s;}
.float-btn:hover{background:var(--gold-l);}
.float-btn:active{transform:scale(.97);}

/* ── CART SIDEBAR ── */
.cart-overlay{position:fixed;inset:0;background:rgba(43,15,27,.55);backdrop-filter:blur(2px);z-index:400;opacity:0;pointer-events:none;transition:opacity .22s;}
.cart-overlay.open{opacity:1;pointer-events:auto;}
.cart-sidebar{position:fixed;top:0;right:0;bottom:0;width:min(430px,100%);background:var(--cream);z-index:410;transform:translateX(103%);transition:transform .28s cubic-bezier(.32,.72,.34,1);display:flex;flex-direction:column;box-shadow:-24px 0 60px -30px rgba(43,15,27,.5);}
.cart-sidebar.open{transform:none;}
.cart-hdr{background:var(--deep);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.cart-hdr h2{font-family:var(--font-d);font-size:20px;font-weight:500;color:var(--gold);letter-spacing:.04em;}
.close-btn{background:none;border:1px solid rgba(233,213,168,.35);color:var(--gold-l);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:13px;transition:all .15s;}
.close-btn:hover{border-color:var(--gold);color:var(--gold);}
.cart-body{flex:1;overflow-y:auto;padding:18px 18px 28px;overscroll-behavior:contain;}
.cart-item{display:flex;gap:12px;background:var(--white);border:1px solid var(--b);border-radius:12px;padding:13px 14px;margin-bottom:10px;align-items:flex-start;}
.ci-info{flex:1;min-width:0;}
.ci-name{font-family:var(--font-d);font-size:15px;font-weight:600;color:var(--text);line-height:1.2;}
.ci-sub{font-size:11.5px;color:var(--text-m);margin-top:3px;}
.ci-ctrl{display:inline-flex;align-items:center;gap:2px;margin-top:9px;border:1px solid var(--bs);border-radius:8px;background:var(--cream);overflow:hidden;}
.cqb{width:28px;height:28px;background:none;border:none;color:var(--wine);font-size:15px;cursor:pointer;transition:background .12s;}
.cqb:hover{background:rgba(199,154,85,.18);}
.cqn{min-width:24px;text-align:center;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;}
.ci-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;}
.rm-btn{background:none;border:none;color:var(--text-l);font-size:12px;cursor:pointer;padding:2px 4px;border-radius:4px;transition:color .15s;}
.rm-btn:hover{color:var(--offer);}
.ci-price{font-size:15px;font-weight:600;color:var(--wine);font-variant-numeric:tabular-nums;}
.ci-unit{font-size:10.5px;color:var(--text-l);font-variant-numeric:tabular-nums;text-align:right;}
.cart-empty{text-align:center;padding:48px 18px;}
.cart-empty .icon{font-family:var(--font-d);font-size:30px;color:var(--gold);margin-bottom:10px;}
.cart-empty p{font-size:14px;color:var(--text-m);margin-bottom:16px;}
.cart-empty .cart-empty-btn{background:var(--wine);color:#F8ECD8;border:none;border-radius:999px;padding:11px 20px;font-weight:600;font-size:12.5px;cursor:pointer;}
.cart-sum{background:var(--white);border:1px solid var(--b);border-radius:12px;padding:16px;margin-top:6px;}
.sum-row{display:flex;justify-content:space-between;font-size:13px;color:var(--text-m);margin-bottom:8px;font-variant-numeric:tabular-nums;}
.sum-total{display:flex;justify-content:space-between;font-size:16px;font-weight:600;color:var(--text);border-top:1px dashed var(--bs);padding-top:12px;margin-top:4px;font-variant-numeric:tabular-nums;}
.sum-total span:last-child{font-family:var(--font-d);font-size:19px;color:var(--wine);}
.checkout-btn{width:100%;background:var(--gold);color:var(--deep);border:none;border-radius:10px;padding:14px;font-weight:600;font-size:13.5px;cursor:pointer;margin-top:14px;transition:background .16s,transform .1s;}
.checkout-btn:hover{background:var(--gold-l);}
.checkout-btn:active{transform:scale(.99);}

/* ── CHECKOUT ── */
.checkout-form{display:none;}
.checkout-form.visible{display:block;}
.back-btn{background:none;border:none;color:var(--text-m);font-size:12.5px;cursor:pointer;padding:4px 0;margin-bottom:12px;transition:color .15s;}
.back-btn:hover{color:var(--wine);}
.form-title{font-family:var(--font-d);font-size:19px;font-weight:600;color:var(--wine);margin-bottom:14px;}
.fg{margin-bottom:12px;}
.fg label{display:block;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-m);margin-bottom:5px;}
.fg input,.fg textarea{width:100%;padding:11px 13px;border:1px solid var(--bs);background:var(--white);border-radius:9px;font-size:14px;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s;}
.fg input:focus,.fg textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(199,154,85,.16);}
.fg textarea{min-height:70px;resize:vertical;}
.frow{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;}
.ship-block{background:var(--white);border:1px solid var(--b);border-radius:12px;padding:14px;margin-bottom:12px;}
.ship-head{margin-bottom:10px;}
.ship-head-label{font-size:12.5px;font-weight:600;color:var(--text);}
.ship-pickup-row{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--text-m);padding:10px 11px;background:var(--cream);border:1px solid var(--b);border-radius:9px;cursor:pointer;margin-bottom:12px;line-height:1.45;transition:border-color .15s;}
.ship-pickup-row:hover{border-color:var(--bs);}
.ship-pickup-row input{accent-color:var(--wine);margin-top:2px;flex-shrink:0;}
.ship-pickup-row strong{color:var(--text);}
.ship-block.ship-pickup-active #shipCpFields{display:none;}
.ship-block.ship-pickup-active .ship-pickup-row{border-color:var(--gold);background:rgba(199,154,85,.12);}
.ship-result{font-size:12px;line-height:1.55;border-radius:9px;}
.ship-result.found{background:rgba(199,154,85,.13);border:1px solid var(--bs);color:var(--text-m);padding:10px 12px;margin-top:4px;}
.ship-result.gratis{background:rgba(46,125,70,.1);border:1px solid rgba(46,125,70,.35);color:#22593A;padding:10px 12px;margin-top:4px;}
.ship-result.notfound{background:rgba(176,74,18,.08);border:1px solid rgba(176,74,18,.35);color:#8A3A0E;padding:10px 12px;margin-top:4px;}
.pay-lbl{display:block;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-m);margin:16px 0 8px;}
.pay-opt{display:flex;gap:11px;align-items:flex-start;background:var(--white);border:1px solid var(--b);border-radius:11px;padding:13px 14px;cursor:pointer;margin-bottom:8px;transition:border-color .15s,background .15s;}
.pay-opt:hover{border-color:var(--bs);}
.pay-opt.selected{border-color:var(--gold);background:rgba(199,154,85,.1);box-shadow:0 0 0 1px var(--gold);}
.pay-opt input{accent-color:var(--wine);margin-top:3px;}
.pay-name{font-size:13.5px;font-weight:600;color:var(--text);}
.pay-desc{font-size:11.5px;color:var(--text-m);margin-top:2px;line-height:1.45;}
/* Mención del descuento por método de pago (≥13px, legible — no fine print) */
.pay-tier-note{font-size:13px;color:var(--wine);font-weight:600;}
.pay-tier-note.lista{color:var(--text-m);font-weight:500;}
/* Transición breve al cambiar el total (no salto silencioso — spec R4.5/R7) */
.price-flash{animation:priceFlash .9s ease;}
@keyframes priceFlash{0%{background:rgba(199,154,85,.5);border-radius:4px;}100%{background:transparent;}}
.transfer-box{display:none;background:rgba(199,154,85,.1);border:1px solid var(--bs);border-radius:11px;padding:14px 15px;margin:10px 0 4px;}
.transfer-box.visible{display:block;}
.transfer-box h4{font-family:var(--font-d);font-size:14px;font-weight:600;color:var(--wine);margin-bottom:8px;}
.transfer-box p{font-size:12px;color:var(--text-m);margin-bottom:4px;line-height:1.5;}
.transfer-box strong{color:var(--text);}
.hint-box{background:var(--cream-m);border-radius:10px;padding:12px 14px;margin:14px 0;}
.hint-box p{font-size:12px;color:var(--text-m);line-height:1.55;}
.hint-box strong{color:var(--text);}
.wa-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:var(--wa);color:#fff;border:none;border-radius:11px;padding:15px;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;transition:filter .15s,transform .1s;}
.wa-btn:hover{filter:brightness(1.07);}
.wa-btn:active{transform:scale(.99);}
/* 5 s tras el toque: el WhatsApp ya se abrio y el pedido ya viajo (C6). */
.wa-btn.is-sending{opacity:.6;pointer-events:none;}

/* ── MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(43,15,27,.6);backdrop-filter:blur(3px);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s;}
.modal-overlay.open{opacity:1;pointer-events:auto;}
.modal{background:var(--white);border-radius:18px;max-width:820px;width:100%;max-height:88dvh;overflow-y:auto;position:relative;transform:translateY(14px) scale(.985);transition:transform .22s;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;}
.modal-overlay.open .modal{transform:none;}
.modal-close{position:absolute;top:14px;right:14px;z-index:10;background:var(--white);border:1px solid var(--bs);color:var(--text-m);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:14px;transition:all .15s;box-shadow:0 4px 14px -6px var(--sh);}
.modal-close:hover{color:var(--wine);border-color:var(--gold);}
#modalInner{display:grid;grid-template-columns:300px 1fr;}
.modal-img{background:linear-gradient(175deg,#FBF5E9,var(--cream-m));display:flex;align-items:center;justify-content:center;min-height:340px;padding:28px;border-radius:18px 0 0 18px;border-right:1px solid var(--b);}
.modal-img img{max-height:340px;max-width:100%;object-fit:contain;mix-blend-mode:multiply;}
.modal-bottle{align-items:center;justify-content:center;}
.modal-bottle svg{width:96px;height:200px;}
.modal-body{padding:30px 30px 26px;}
.modal-varietal{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);font-weight:600;margin-bottom:6px;}
.modal-name{font-family:var(--font-d);font-size:27px;font-weight:600;color:var(--text);line-height:1.1;margin-bottom:5px;text-wrap:balance;}
a.modal-name-link{display:block;color:inherit;text-decoration:none;}
.modal-bodega{font-size:13px;color:var(--text-m);margin-bottom:14px;}
.modal-desc{font-size:13.5px;color:var(--text-m);line-height:1.7;margin-bottom:16px;max-width:58ch;text-wrap:pretty;}
.modal-ficha{margin-bottom:18px;}
.modal-ficha h4,.modal-ficha summary{font-family:var(--font-d);font-size:15px;font-weight:600;color:var(--wine);margin-bottom:9px;}
.modal-ficha summary{cursor:pointer;user-select:none;list-style:none;}
.modal-ficha summary::-webkit-details-marker{display:none;}
.modal-ficha summary::after{content:'▸';margin-left:6px;font-size:11px;color:var(--gold-d);}
.modal-ficha[open] summary::after{content:'▾';}
.modal-ficha-content{border:1px solid var(--b);border-radius:10px;overflow:hidden;}
.mf-row{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:8px 13px;font-size:12px;border-bottom:1px solid var(--b);background:var(--white);}
.mf-row:nth-child(odd){background:var(--cream);}
.mf-row:last-child{border-bottom:none;}
.mf-key{color:var(--gold-d);font-weight:600;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding-top:1px;}
.mf-val{color:var(--text-m);line-height:1.5;}
.modal-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-top:1px dashed var(--bs);padding-top:16px;flex-wrap:wrap;}
.modal-price-block .modal-price{font-size:21px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;}
.modal-price-block .modal-price .mp-unit{font-size:12px;color:var(--text-l);font-weight:400;}
.modal-price-block .modal-price .mp-old{font-size:13px;color:var(--text-l);text-decoration:line-through;margin-left:7px;font-weight:400;}
.modal-price-block .modal-price-caja{display:inline-flex;align-items:baseline;gap:6px;background:rgba(199,154,85,.13);border:1px solid rgba(199,154,85,.38);color:var(--wine);border-radius:7px;padding:5px 10px;font-size:13px;font-weight:600;margin-top:8px;font-variant-numeric:tabular-nums;}
.modal-price-block .modal-price-caja .off-tag{color:var(--offer);}
.modal-add-btn{background:var(--wine);color:#F8ECD8;border:none;border-radius:10px;padding:13px 22px;font-weight:600;font-size:13.5px;cursor:pointer;transition:background .16s,transform .1s;}
.modal-add-btn:hover{background:var(--wine-m);}
.modal-add-btn:active{transform:scale(.98);}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .hero-inner{grid-template-columns:1fr;gap:0;}
  .hero-medallion{display:none;}
  .trust-inner{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .hero{padding:34px 18px 56px;}
  .hero-subtitle{font-size:14px;}
  .hero-actions{gap:9px;}
  .hero-cta,.hero-cta-ghost{font-size:12.5px;padding:11px 18px;}
  .search-wrap{padding:0 14px;}
  .search-box{height:50px;padding:0 16px;}
  .trust-strip{padding:0 14px;margin-top:20px;}
  .trust-item{padding:11px 12px;gap:9px;}
  .trust-item strong{font-size:11.5px;}
  .trust-item span{font-size:10px;}
  main{padding:6px 14px 48px;}
  /* Móvil: TODO a la vista — las pestañas hacen wrap como pills, sin scroll horizontal
     oculto (lo que hay se ve; no hay nada escondido a la derecha). */
  .cat-tabs{flex-wrap:wrap;overflow:visible;gap:6px;padding:8px 14px;margin:10px -14px 12px;top:57px;}
  .cat-tab{font-size:12.5px;font-weight:600;padding:9px 14px;border:1px solid var(--bs);background:var(--white);border-radius:999px;border-bottom-width:1px;}
  .cat-tab.active{background:var(--wine);border-color:var(--wine);color:#F6EBD3;}
  .cat-tab.offer-tab{border-color:rgba(184,70,10,.35);}
  .cat-tab.offer-tab.active{background:var(--offer);border-color:var(--offer);color:#FDEFE2;}
  .cat-links{justify-content:flex-start;}
  .product-grid{grid-template-columns:1fr;gap:9px;}
  .card-img{width:86px;}
  /* Bodegas: hereda el wrap de desktop — nada escondido a la derecha */
  .bodega-bar{padding:2px 0 10px;margin-bottom:0;}
  .bb-btn,.tipo-btn{padding:10px 15px;font-size:12.5px;}
  /* Con 15+ bodegas la barra desplegada son ~7 filas (≈260px) antes del primer producto:
     se ven "Todas" + las primeras y un botón "Ver más"; desplegada muestra todo. */
  .bodega-bar:not(.expanded) .bb-more{display:none;}
  .bb-toggle{display:inline-block;padding:10px 15px;font-size:12.5px;}
  .cat-links{margin:0 0 12px;}
  .cat-link{display:inline-block;padding:9px 2px;}
  .active-scope-clear{padding:9px 14px;font-size:12.5px;}
  .bodega-heading h3{font-size:19px;}
  .offer-section-banner,.curated-intro,.mix-intro{padding:16px;gap:12px;border-radius:14px;}
  .mix-progress{top:var(--sticky-top,98px);padding:12px 14px;}
  .faq-list{grid-template-columns:1fr;}
  .qs-photo{width:calc(50% - 6px);height:120px;}
  .wa-float .wa-label{display:none;}
  .wa-float{padding:13px;border-radius:50%;}
  .modal-overlay{padding:0;align-items:flex-end;}
  .modal{border-radius:20px 20px 0 0;max-height:92dvh;}
  #modalInner{grid-template-columns:1fr;}
  /* Modal compacto: la card entera tiene que entrar en un teléfono SIN scrollear
     (la ficha técnica nace colapsada en móvil — ver openModal). */
  .modal-img{min-height:0;height:132px;border-radius:20px 20px 0 0;padding:10px;border-right:none;border-bottom:1px solid var(--b);}
  .modal-img img{max-height:112px;}
  .modal-bottle svg{width:52px;height:108px;}
  .modal-body{padding:16px 18px 18px;}
  .modal-varietal{margin-bottom:4px;}
  .modal-name{font-size:20px;margin-bottom:3px;}
  .modal-bodega{margin-bottom:8px;}
  .modal-desc{font-size:13px;line-height:1.55;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
  .modal-ficha{margin-bottom:10px;}
  .modal-footer{padding-top:12px;}
  .float-inner{border-radius:14px;}
}
@media(max-width:560px){
  .hdr-link{display:none;}
  .hdr{padding:0 14px;}
}
@media(max-width:380px){
  .logo-main{font-size:16px;}
  .cart-btn{padding:8px 12px;}
}

/* ══════════ ADMIN (estilos heredados de producción) ══════════ */
.hint-box{background:var(--cream-m);border:1px solid var(--b);padding:9px 12px;border-radius:2px;margin-bottom:10px;}
.hint-box p{font-size:10px;color:var(--text-l);font-weight:300;line-height:1.6;}
.hint-box strong{color:var(--text-m);font-weight:500;}

#adminLogin,#adminPanel{display:none}
/* iOS Safari: un campo enfocado con font-size <16px dispara auto-zoom de página (por eso
   la pantalla zoomeaba al tocar los datos de entrega, y el admin quedaba zoomeado tras
   tipear el login). En pantallas táctiles todos los campos van a 16px; NO se toca
   user-scalable para no romper accesibilidad. */
@media (max-width:720px),(pointer:coarse){
  input,select,textarea{font-size:16px !important;}
}
