/* ============================================================
   VINOTECA CAMPOS — vinoteca-child · MasVisual · 2026
   Base: demo v3 (presentación 14/8) · Referencia: wine.com
   Clave blanca · Display: Fraunces · Body: DM Sans

   Especificidad: el kit de Elementor escribe reglas por elemento
   (.elementor-kit-N a / button, 0,1,1). Por eso los componentes que son
   links o botones se escriben con el tag delante (a.btn, button.add):
   empatan y ganan por orden de carga. Los encabezados sobre fondo oscuro
   llevan la clase duplicada (.club-copy.club-copy h2).
   ============================================================ */
:root{
  /* Fondos (0 = base clara) */
  --bg-0:#FFFFFF;
  --bg-1:#F8F5EE;   /* crema — secciones alternas */
  --bg-2:#F1EDE3;
  --bg-4:#EEE6DE;   /* arena — cuerpo de las cards, banda editorial */
  --bg-3:#221712;   /* oscuro cálido — club / footer */
  /* Textos */
  --tx-1:#231A12; --tx-2:#5F5749; --tx-3:#9A9184;
  /* Acento */
  --accent:#881A1A; --accent-2:#6B1414; --accent-3:#B08A3E;
  /* Líneas */
  --line:#EBE5DA; --line-2:#DDD5C6;
  /* Radios / sombras */
  --r-sm:6px; --r-md:12px; --r-lg:20px;
  --sh-1:0 1px 4px rgba(35,26,18,.06);
  --sh-2:0 10px 30px rgba(35,26,18,.10);
  /* Tipografías */
  --f-display:'Fraunces',serif;
  --f-body:'DM Sans',sans-serif;
  /* Colores de vino — elemento firma */
  --v-tinto:#6E1423; --v-blanco:#D4AF4E; --v-rosado:#E08E9B; --v-espumante:#4F5D3F;
  --ok:#5E7C4A;
  /* Ancho de contenedor — un solo lugar para todo el sitio */
  --container:1440px;
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg-0);color:var(--tx-1);font-family:var(--f-body);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
ul,ol{list-style:none}
.wrap{max-width:var(--container);margin:0 auto;padding:0 24px}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--bg-0);color:var(--tx-1);padding:8px 14px;border-radius:var(--r-sm)}
.skip-link:focus{left:8px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ---------- Topbar ---------- */
.topbar{background:var(--bg-3);color:#E8E1D4;font-size:12.5px;text-align:center;padding:7px 16px}
.topbar b,.topbar strong{color:#fff}
.topbar a{color:var(--accent-3)}

/* ---------- Header sticky ---------- */
.header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.admin-bar .header{top:32px}
.header-in{max-width:var(--container);margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:22px}
a.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;color:var(--tx-1)}
.brand img{height:50px;width:auto}
.brand small{font-family:var(--f-body);font-weight:700;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-top:2px}

/* Buscador (nativo) */
.header .search{flex:1;max-width:460px;position:relative}
.header .search input[type=search]{width:100%;border:1px solid var(--line-2);border-radius:40px;background:var(--bg-1);padding:9px 42px 9px 18px;font-family:var(--f-body);font-size:13.5px;color:var(--tx-1);outline:none;transition:border-color .15s ease-out}
.header .search input[type=search]:focus{border-color:var(--accent)}
.header .search button[type=submit]{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;padding:0;color:var(--tx-3);cursor:pointer}
.header .search button[type=submit] svg{width:16px;height:16px}
/* Buscador (FiboSearch): se viste igual que el nativo */
.search--fibo .dgwt-wcas-search-wrapp{max-width:none;min-width:0}
.search--fibo .dgwt-wcas-sf-wrapp{background:transparent!important;padding:0!important}
.search--fibo input.dgwt-wcas-search-input{height:auto!important;border:1px solid var(--line-2)!important;border-radius:40px!important;background:var(--bg-1)!important;padding:9px 42px 9px 18px!important;font-family:var(--f-body)!important;font-size:13.5px!important;color:var(--tx-1)!important;box-shadow:none!important}
.search--fibo input.dgwt-wcas-search-input:focus{border-color:var(--accent)!important}
.search--fibo .dgwt-wcas-ico-magnifier,.search--fibo .dgwt-wcas-search-submit{right:12px!important;left:auto!important;fill:var(--tx-3)!important;background:transparent!important}
.search--fibo button.dgwt-wcas-search-submit{border-radius:50%!important;min-width:0!important;width:32px!important;height:32px!important;top:50%!important;transform:translateY(-50%)!important;padding:0!important}
.search--fibo button.dgwt-wcas-search-submit::before{display:none!important}
.search--fibo .dgwt-wcas-search-submit path{fill:var(--tx-3)!important}

.header-links{margin-left:auto;display:flex;align-items:center;gap:14px}
a.header-account{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--tx-2);transition:color .15s ease-out,background .15s ease-out}
a.header-account:hover{color:var(--accent);background:var(--bg-1)}
a.header-account svg{width:20px;height:20px}

/* Carrito siempre visible */
button.cart-chip{display:flex;align-items:center;gap:9px;background:var(--accent);color:#fff;border:none;border-radius:40px;padding:8px 16px;cursor:pointer;font-family:var(--f-body);font-size:13px;font-weight:700;line-height:1.2;transition:background .15s ease-out}
button.cart-chip:hover,button.cart-chip:focus{background:var(--accent-2);color:#fff}
button.cart-chip:focus-visible{outline:2px solid var(--accent-3);outline-offset:2px}
.cart-chip svg{width:17px;height:17px;flex-shrink:0}
.cart-count{background:#fff;color:var(--accent);border-radius:50%;min-width:19px;height:19px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}

/* Nav (menú de WordPress "Menú principal") */
.nav{border-top:1px solid var(--line)}
.nav-in{max-width:var(--container);margin:0 auto;padding:0 24px}
.nav-menu{display:flex;gap:26px}
.nav-menu > li{position:relative}
.nav-menu a{display:block;font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--tx-2);padding:11px 0;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s ease-out,border-color .15s ease-out}
.nav-menu > li > a:hover,.nav-menu > li:focus-within > a,.nav-menu > .current-menu-item > a,.nav-menu > .current-menu-ancestor > a{color:var(--accent);border-bottom-color:var(--accent)}
.nav-menu > li.menu-deli > a{color:var(--accent-3)}
/* Submenú (desktop) */
.nav-menu .sub-menu{position:absolute;top:100%;left:-18px;min-width:220px;background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-2);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease-out,transform .18s ease-out,visibility .18s;z-index:70}
.nav-menu > li:hover > .sub-menu,.nav-menu > li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:none}
.nav-menu .sub-menu a{padding:8px 18px;border:none;text-transform:none;letter-spacing:0;font-size:14px;color:var(--tx-1)}
.nav-menu .sub-menu a:hover{color:var(--accent);background:var(--bg-1)}
.nav-menu .sub-menu .current-menu-item > a{color:var(--accent);font-weight:700}

/* ---------- Tipografía de secciones ---------- */
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-3);margin-bottom:10px}
.h-display.h-display{font-family:var(--f-display);font-weight:600;letter-spacing:-.01em;line-height:1.12;color:inherit}
.h-display em{font-style:italic;color:var(--accent)}
.section{padding:64px 0}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.section-head h2{font-size:30px}
a.section-link{font-size:13px;font-weight:700;color:var(--accent);border-bottom:1px solid currentColor;padding-bottom:1px;white-space:nowrap}

/* ---------- Botones ---------- */
a.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--f-body);font-weight:700;font-size:14px;line-height:1.2;border-radius:40px;padding:13px 30px;cursor:pointer;border:none;transition:background .15s ease-out,color .15s ease-out,border-color .15s ease-out}
a.btn-primary,button.btn-primary{background:var(--accent);color:#fff}
a.btn-primary:hover,button.btn-primary:hover{background:var(--accent-2);color:#fff}
a.btn-ghost,button.btn-ghost{background:transparent;color:var(--tx-1);border:1px solid var(--line-2)}
a.btn-ghost:hover,button.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
a.btn:focus-visible,button.btn:focus-visible{outline:2px solid var(--accent-3);outline-offset:2px}

/* ---------- Punto de color de vino (firma) ---------- */
.vdot{width:11px;height:11px;border-radius:50%;display:inline-block;flex-shrink:0;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.vdot.tinto{background:var(--v-tinto)}
.vdot.blanco{background:var(--v-blanco)}
.vdot.rosado{background:var(--v-rosado)}
.vdot.espumante{background:var(--v-espumante)}

/* ---------- Botella CSS (producto sin foto) ---------- */
.bottle{position:relative;width:34px;height:118px;margin-top:26px;border-radius:7px 7px 9px 9px;background:var(--v-tinto);opacity:.9}
.bottle::before{content:'';position:absolute;top:-26px;left:50%;transform:translateX(-50%);width:11px;height:30px;background:inherit;border-radius:4px 4px 0 0}
.bottle::after{content:'';position:absolute;left:4px;right:4px;top:44px;height:38px;background:#F6F1E6;border-radius:2px}
.bottle.blanco{background:#7A6A33}
.bottle.rosado{background:#B76870}
.bottle.espumante{background:#3E4A31}
.bottle:not(.tinto):not(.blanco):not(.rosado):not(.espumante){background:#5F5749}

/* ---------- Fotos de producto ---------- */
.prod-photo{height:215px;width:auto;max-width:82%;object-fit:contain;mix-blend-mode:multiply}
/* Zoom leve en las grillas: las fotos traen mucho aire alrededor de la botella */
.prod-photo{transform:scale(1.12);transform-origin:center center}
a.prod-img{overflow:hidden}
a.prod-img .off{z-index:2}
.pdp-photo{height:380px;width:auto;max-width:84%;object-fit:contain;mix-blend-mode:multiply}

/* ---------- Foto en intro / bandas con imagen ---------- */
.hero-photo{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-2);min-height:100%}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banda{background:var(--bg-3);color:#EFE9DC;border-radius:var(--r-lg);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.banda-txt{padding:44px 46px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.banda-txt .eyebrow{color:var(--accent-3)}
.banda-txt.banda-txt h3{font-family:var(--f-display);font-weight:600;font-size:32px;line-height:1.15;color:#fff;margin-bottom:12px}
.banda-txt h3 em{font-style:italic;color:var(--accent-3)}
.banda-txt p{font-size:14px;color:#BDB4A4;margin-bottom:22px;max-width:48ch}
.banda-img{position:relative;min-height:0;overflow:hidden}
.banda-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.banda.clara{background:var(--bg-1);color:var(--tx-1);border:1px solid var(--line)}
.banda.clara .banda-txt h3{color:var(--tx-1)}
.banda.clara p{color:var(--tx-2)}
.club-photo{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:100%}
.club-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:1000px){
  .banda{grid-template-columns:1fr}
  .banda-img{min-height:220px;order:-1}
  .hero-photo{max-width:100%;height:300px;min-height:0}
}

/* ---------- Slider (hero comercial) ---------- */
.slider{position:relative;overflow:hidden;background:var(--bg-3);height:400px}
.slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .55s ease-out}
.slide.on{opacity:1;pointer-events:auto}
.slide-bg{position:absolute;inset:0}
.slide-bg img{width:100%;height:100%;object-fit:cover}
.slide-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,11,7,.82) 0%,rgba(20,11,7,.55) 45%,rgba(20,11,7,.12) 100%)}
.slide-in{position:relative;z-index:2;max-width:var(--container);margin:0 auto;padding:0 24px;color:#fff;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.slide-in .eyebrow{color:var(--accent-3)}
.slide-title.slide-title{font-family:var(--f-display);font-weight:600;font-size:46px;line-height:1.1;letter-spacing:-.01em;margin-bottom:12px;max-width:14ch;color:#fff}
.slide-title em{font-style:italic;color:var(--accent-3)}
.slide-ctas{display:flex;gap:12px;flex-wrap:wrap}
a.btn-ghost--claro{color:#fff;border-color:rgba(255,255,255,.45)}
a.btn-ghost--claro:hover{color:#fff;border-color:var(--accent-3);background:rgba(255,255,255,.08)}
.slide-in p{font-size:16px;color:#E4DCCE;max-width:44ch;margin-bottom:24px}
.slider-nav{position:absolute;z-index:3;left:0;right:0;bottom:22px;display:flex;align-items:center;justify-content:center;gap:10px}
button.sdot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.4);border:none;cursor:pointer;padding:0;transition:background .15s ease-out,transform .15s ease-out}
button.sdot.on{background:var(--accent-3);transform:scale(1.25)}
button.sarrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(20,11,7,.35);color:#fff;font-size:18px;line-height:1;padding:0;cursor:pointer;transition:background .15s ease-out}
button.sarrow:hover{background:var(--accent)}
/* Flechas abajo a la derecha: no pisan el texto del slide */
button.sarrow{top:auto;bottom:18px;transform:none}
.sarrow.prev{right:74px}.sarrow.next{right:24px}
.sarrow:focus-visible,.sdot:focus-visible{outline:2px solid var(--accent-3);outline-offset:2px}
@media(max-width:620px){
  .slider{height:340px}
  .slide-title.slide-title{font-size:32px}
  .slide-in p{font-size:14.5px}
  button.sarrow{display:none}
}

/* ---------- Intro editorial ---------- */
.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:stretch}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-note{font-size:12px;color:var(--tx-3);margin-top:16px}
@media(max-width:1000px){.intro{grid-template-columns:1fr}}

/* Variantes de sección */
.section--pegada{padding-top:0}
.section--arena{background:var(--bg-4);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.intro-title.intro-title{font-size:40px;margin-bottom:16px}
.intro-text{color:var(--tx-2);max-width:48ch;margin-bottom:26px}

/* Bloques de la home hechos con Elementor: el contenedor raíz no agrega aire ni ancho propio */
.vc-bloque .vc-bloque-raiz{--padding-block-start:0px;--padding-block-end:0px;--padding-inline-start:0px;--padding-inline-end:0px;--container-max-width:none;--content-width:100%;--gap:0px;--row-gap:0px;--column-gap:0px}
.vc-bloque .vc-bloque-raiz > .elementor-widget-html{width:100%;max-width:100%;flex-shrink:0}
.vc-bloque .elementor-widget-html:not(:last-child){margin-block-end:0}

/* ---------- Tipos de vino ---------- */
.tipos{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
a.tipo{display:flex;align-items:center;gap:13px;background:var(--bg-1);border:1px solid var(--line-2);border-radius:var(--r-md);padding:18px 20px;color:var(--tx-1);transition:border-color .15s ease-out,transform .18s ease-out}
a.tipo:hover{border-color:var(--accent);transform:translateY(-2px)}
.tipo .vdot{width:45px;height:45px}
.tipo b{font-family:var(--f-display);font-weight:600;font-size:19px;display:block;line-height:1.2}
.tipo small{font-size:12px;color:var(--tx-3)}

/* ---------- Cards de producto ---------- */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.prod{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s ease-out,transform .18s ease-out}
.prod:hover{box-shadow:var(--sh-2);transform:translateY(-3px)}
a.prod-img{background:var(--bg-0);display:flex;align-items:flex-end;justify-content:center;padding:34px 0 22px;position:relative;min-height:190px}
.off{position:absolute;top:12px;left:12px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;border-radius:20px;padding:3px 10px}
.prod-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1;background:var(--bg-4);border-top:1px solid var(--line)}
.prod-bodega{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-3);margin-bottom:3px}
.prod-name.prod-name{font-family:var(--f-display);font-weight:600;font-size:17px;line-height:1.25;margin-bottom:6px;color:var(--tx-1)}
.prod-name a{color:inherit}
.prod-name a:hover{color:var(--accent)}
.prod-meta{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--tx-3);margin-bottom:12px}
.prod-buy{margin-top:auto;display:flex;align-items:center;gap:10px}
.price{font-family:var(--f-display);font-weight:600;font-size:19px}
.price s,.price del{font-family:var(--f-body);font-weight:400;font-size:12.5px;color:var(--tx-3);display:block;line-height:1}
.price ins{text-decoration:none}
button.add,a.add{margin-left:auto;background:var(--bg-3);color:#fff;border:none;border-radius:40px;font-family:var(--f-body);font-weight:700;font-size:12px;line-height:1.2;padding:9px 16px;cursor:pointer;transition:background .15s ease-out}
button.add:hover,a.add:hover{background:var(--accent);color:#fff}
button.add:focus-visible,a.add:focus-visible{outline:2px solid var(--accent-3);outline-offset:2px}

.off--gris{background:var(--tx-3)}
.prod--sin-stock .prod-photo{opacity:.55}
.prod-buy a.added_to_cart.added_to_cart{display:none}
a.add.loading{opacity:.6;pointer-events:none}
a.add.added{background:var(--ok)}
.price .woocommerce-Price-amount{white-space:nowrap}

/* Card editorial dentro de grillas (patrón wine.com / pedido de Romi) */
.prod.ed-card{background:var(--bg-3);color:#EFE9DC;border:none;justify-content:center;padding:28px 24px}
.prod.ed-card:hover{transform:none;box-shadow:var(--sh-2)}
.prod.ed-card .ed-tag{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-3);margin-bottom:8px}
.prod.ed-card.ed-card h3{font-family:var(--f-display);font-weight:600;font-size:21px;line-height:1.25;margin-bottom:10px;color:#fff}
.prod.ed-card p{font-size:13px;color:#BDB4A4;margin-bottom:16px}
.prod.ed-card a{font-size:13px;font-weight:700;color:var(--accent-3);border-bottom:1px solid currentColor;align-self:flex-start}

/* ---------- Club de Cata ---------- */
.club{background:var(--bg-3);color:#EFE9DC}
.club-in{max-width:var(--container);margin:0 auto;padding:40px 24px;display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:stretch}
.club-copy{display:flex;flex-direction:column;justify-content:center}
.club-logo{height:64px;width:auto;align-self:flex-start;margin-bottom:18px}
.club-copy.club-copy h2{font-size:34px;color:#fff;margin-bottom:12px}
.club-copy h2 em{color:var(--accent-3)}
.club p{color:#BDB4A4;max-width:50ch;margin-bottom:20px}
.club-perks{margin-bottom:20px}
.club-perks li{padding:6px 0 6px 26px;position:relative;font-size:14px;border-bottom:1px solid #37291F}
.club-perks li::before{content:'';position:absolute;left:2px;top:13px;width:8px;height:8px;border-radius:50%;background:var(--accent-3)}
.club-box{background:#2C1F17;border:1px solid #3D2D21;border-radius:var(--r-lg);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.club-price{display:flex;flex-direction:column}
.club-box .desde{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#BDB4A4}
.club-box .monto{font-family:var(--f-display);font-weight:600;font-size:32px;color:#fff;line-height:1.1;margin:2px 0}
.club-box .per{font-size:12px;color:#BDB4A4}
.club-box .btn{flex-shrink:0}

/* ---------- Bodegas ---------- */
.bodegas{display:flex;flex-wrap:wrap;gap:12px 34px;align-items:center;justify-content:center}
.bodegas span,.bodegas a{font-family:var(--f-display);font-weight:600;font-size:20px;color:var(--tx-3);transition:color .15s ease-out}
.bodegas a:hover{color:var(--accent)}
.bodegas img{height:48px;width:auto;filter:grayscale(1);opacity:.7;transition:filter .15s ease-out,opacity .15s ease-out}
.bodegas a:hover img{filter:none;opacity:1}

/* ---------- Sucursales ---------- */
.sucs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.suc{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column}
.suc-photo{height:120px}
.suc-photo img{width:100%;height:100%;object-fit:cover;display:block}
.suc-info{padding:18px 20px}
.suc-info.suc-info h3{font-family:var(--f-display);font-weight:600;font-size:19px;margin-bottom:6px;color:var(--tx-1)}
.suc p{font-size:12.5px;color:var(--tx-2);line-height:1.55}
.suc a{color:var(--accent);font-weight:700;font-size:12.5px}

/* Variantes de encabezado y sección */
.section--crema{background:var(--bg-1);border-top:1px solid var(--line)}
.section-head--centro{justify-content:center;text-align:center}
.section-head--centro > div{margin:0 auto}
.suc--pronto{opacity:.8}
.suc-pronto{color:var(--accent);font-size:12px;font-weight:700;font-family:var(--f-body)}
.suc-photo{background:var(--bg-2)}
.bodegas a{display:inline-flex;align-items:center}
.bodegas img{max-width:140px;object-fit:contain}

/* ---------- Newsletter ---------- */
.news{background:var(--bg-1);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:54px 24px}
.news h2{font-size:30px;margin-bottom:8px}
.news p{color:var(--tx-2);margin-bottom:20px}
.news-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.news-form input{border:1px solid var(--line-2);border-radius:40px;padding:12px 20px;font-family:var(--f-body);font-size:14px;min-width:280px;outline:none;background:var(--bg-0)}
.news-form input:focus{border-color:var(--accent)}
.news .news-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.news-msg{font-weight:700;margin-bottom:14px}
.news-msg--ok{color:var(--ok)}
.news-msg--error{color:var(--accent)}
.news-legal{font-size:12px;color:var(--tx-3);margin:12px 0 0}
@media(max-width:620px){.news-form input{min-width:0;width:100%}.news-form .btn{width:100%}}

/* ---------- Footer ---------- */
.footer{background:var(--bg-3);color:#BDB4A4;font-size:13px}
.footer-in{max-width:var(--container);margin:0 auto;padding:54px 24px 24px;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:34px}
.footer-brand img{height:20px;width:auto;margin-bottom:14px}
.footer-brand p{max-width:36ch}
.footer.footer h4{font-family:var(--f-body);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#EFE9DC;margin-bottom:12px}
.footer a{display:block;padding:3px 0;color:#BDB4A4;transition:color .15s ease-out}
.footer a:hover{color:var(--accent-3)}
.footer-social{display:flex;gap:10px;margin-top:14px}
.footer .footer-social a{width:34px;height:34px;border:1px solid #3D2D21;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0}
.footer-social svg{width:16px;height:16px}
.footer-base{border-top:1px solid #37291F;margin-top:20px;padding:18px 24px;text-align:center;font-size:11.5px;color:#847A6B}
.footer .footer-base a{display:inline;color:inherit;text-decoration:underline}

/* ---------- Drawer de carrito ---------- */
.drawer-back{position:fixed;inset:0;background:rgba(20,12,8,.45);z-index:90;opacity:0;pointer-events:none;transition:opacity .25s ease-out}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,92vw);background:var(--bg-0);z-index:95;box-shadow:var(--sh-2);transform:translateX(105%);transition:transform .3s ease-out;display:flex;flex-direction:column}
body.cart-open{overflow:hidden}
body.cart-open .drawer{transform:none}
body.cart-open .drawer-back{opacity:1;pointer-events:auto}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}
.drawer-head.drawer-head h3{font-family:var(--f-display);font-weight:600;font-size:22px;color:var(--tx-1)}
button.drawer-close{background:none;border:none;width:36px;height:36px;padding:6px;border-radius:50%;color:var(--tx-3);cursor:pointer;line-height:1}
button.drawer-close:hover{background:var(--bg-1);color:var(--tx-1)}
.drawer-body{flex:1;min-height:0;display:flex;flex-direction:column}
.drawer .widget_shopping_cart_content{flex:1;min-height:0;display:flex;flex-direction:column}
/* Mini carrito de WooCommerce dentro del drawer */
#vc-drawer .woocommerce-mini-cart{flex:1;overflow-y:auto;padding:6px 22px;margin:0}
#vc-drawer .woocommerce-mini-cart-item{position:relative;display:grid;grid-template-columns:56px 1fr;gap:4px 12px;padding:14px 26px 14px 0;border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.35}
#vc-drawer .woocommerce-mini-cart-item > a:not(.remove){display:contents;font-weight:500;color:var(--tx-1)}
/* En páginas de tienda el <body> lleva .woocommerce y woocommerce.css mete clearfix (::before) y float en la imagen: se anulan */
#vc-drawer .woocommerce-mini-cart-item::before,#vc-drawer .woocommerce-mini-cart-item::after{content:none;display:none}
#vc-drawer .woocommerce-mini-cart-item img{float:none;margin:0;box-shadow:none}
#vc-drawer .woocommerce-mini-cart-item img{grid-row:span 2;width:56px;height:56px;object-fit:contain;background:var(--bg-1);border-radius:var(--r-sm);mix-blend-mode:multiply}
#vc-drawer .woocommerce-mini-cart-item .quantity{grid-column:2;color:var(--tx-3);font-size:12.5px}
#vc-drawer .woocommerce-mini-cart-item .quantity .amount{color:var(--tx-1);font-weight:700}
#vc-drawer a.remove{position:absolute;right:0;top:12px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--tx-3)!important;font-size:18px;line-height:1}
#vc-drawer a.remove:hover{background:var(--bg-1);color:var(--accent)!important}
#vc-drawer .woocommerce-mini-cart__empty-message{color:var(--tx-3);text-align:center;padding:48px 22px;font-size:13.5px}
#vc-drawer .woocommerce-mini-cart__total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding:18px 22px 12px;margin:0;font-family:var(--f-display);font-weight:600;font-size:20px}
#vc-drawer .woocommerce-mini-cart__total strong{font-weight:600}
#vc-drawer .woocommerce-mini-cart__buttons{display:flex;flex-direction:column-reverse;gap:8px;padding:0 22px 22px;margin:0}
#vc-drawer .woocommerce-mini-cart__buttons a.button{display:flex;align-items:center;justify-content:center;border-radius:40px;padding:12px 20px;font-family:var(--f-body);font-weight:700;font-size:14px;background:transparent;color:var(--tx-1);border:1px solid var(--line-2);transition:background .15s ease-out,color .15s ease-out,border-color .15s ease-out}
#vc-drawer .woocommerce-mini-cart__buttons a.button:hover{border-color:var(--accent);color:var(--accent)}
#vc-drawer .woocommerce-mini-cart__buttons a.button.checkout{background:var(--accent);border-color:var(--accent);color:#fff}
#vc-drawer .woocommerce-mini-cart__buttons a.button.checkout:hover{background:var(--accent-2);border-color:var(--accent-2);color:#fff}

/* Drawer: por si Elementor Pro sigue entregando su mini carrito (o quedó guardado en el navegador) */
.drawer-body img{width:56px;height:56px;max-width:56px;object-fit:contain;mix-blend-mode:multiply}
.drawer .elementor-menu-cart__products{flex:1;min-height:0;overflow-y:auto;padding:6px 22px}
.drawer .elementor-menu-cart__product{position:relative;display:grid;grid-template-columns:56px 1fr;gap:2px 12px;align-items:center;padding:14px 28px 14px 0;border-bottom:1px solid var(--line)}
.drawer .elementor-menu-cart__product-image{grid-row:span 2;background:var(--bg-1);border-radius:var(--r-sm)}
.drawer .elementor-menu-cart__product-name a{font-size:13.5px;font-weight:500;line-height:1.35;color:var(--tx-1)}
.drawer .elementor-menu-cart__product-price{grid-column:2;font-size:12.5px;color:var(--tx-3)}
.drawer .elementor-menu-cart__product-price .amount{color:var(--tx-1);font-weight:700}
.drawer .elementor-menu-cart__product-remove{position:absolute;right:0;top:14px;width:22px;height:22px}
.drawer .elementor-menu-cart__product-remove a{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--tx-3);font-size:0}
.drawer .elementor-menu-cart__product-remove a.elementor_remove_from_cart_button{display:none}
.drawer .elementor-menu-cart__product-remove a::before{content:"×";font-size:18px;line-height:1}
.drawer .elementor-menu-cart__product-remove a:hover{background:var(--bg-1);color:var(--accent)}
.drawer .elementor-menu-cart__subtotal{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding:18px 22px 12px;font-family:var(--f-display);font-weight:600;font-size:20px}
.drawer .elementor-menu-cart__subtotal strong{font-weight:600}
.drawer .elementor-menu-cart__footer-buttons{display:flex;flex-direction:column-reverse;gap:8px;padding:0 22px 22px}
.drawer .elementor-menu-cart__footer-buttons a.elementor-button{display:flex;align-items:center;justify-content:center;width:100%;border-radius:40px;padding:12px 20px;font-family:var(--f-body);font-weight:700;font-size:14px;background:transparent;color:var(--tx-1);border:1px solid var(--line-2)}
.drawer .elementor-menu-cart__footer-buttons a.elementor-button:hover{border-color:var(--accent);color:var(--accent)}
.drawer .elementor-menu-cart__footer-buttons a.elementor-button--checkout{background:var(--accent);border-color:var(--accent);color:#fff}
.drawer .elementor-menu-cart__footer-buttons a.elementor-button--checkout:hover{background:var(--accent-2);color:#fff}

/* ---------- Barra mobile con carrito ---------- */
.mobile-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--bg-0);border-top:1px solid var(--line-2);padding:10px 16px;box-shadow:0 -6px 20px rgba(35,26,18,.08)}

/* ---------- WhatsApp flotante ---------- */
a.wa{position:fixed;right:20px;bottom:20px;z-index:65;width:52px;height:52px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-2)}
a.wa:hover{color:#fff}
.wa svg{width:26px;height:26px}

/* ---------- Catálogo ---------- */
.breadcrumb{font-size:12.5px;color:var(--tx-3);padding:0 0 18px}
.breadcrumb a{color:var(--tx-3)}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb .sep{margin:0 7px;opacity:.6}
.cat-layout{display:grid;grid-template-columns:250px 1fr;gap:36px;align-items:start}
.filters-box > summary{display:none}
.filters h3{font-family:var(--f-body);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-1);margin:26px 0 10px;padding-top:18px;border-top:1px solid var(--line)}
.filters h3:first-child{margin-top:0;padding-top:0;border-top:none}
/* Rubros */
.rubros > li{border-bottom:1px solid var(--line)}
.rubros a{display:block;padding:8px 26px 8px 0;font-size:14px;line-height:1.35;color:var(--tx-1);transition:color .15s ease-out,background-color .15s ease-out}
.rubros > li > a{font-weight:700}
.rubros a:hover{color:var(--accent)}
.rubros > li.tiene-hijos > a{position:relative}
.rubros > li.tiene-hijos > a::after{content:"";position:absolute;right:8px;top:50%;width:6px;height:6px;margin-top:-5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);opacity:.5;transition:transform .2s ease-out}
.rubros > li.is-activa.tiene-hijos > a::after,.rubros > li.is-abierta > a::after{transform:rotate(45deg);opacity:1}
.rubros ul{margin:-2px 0 10px 2px;border-left:1px solid var(--line)}
.rubros ul a{padding:5px 8px 5px 14px;margin-left:-1px;border-left:2px solid transparent;font-size:13.5px;color:var(--tx-2)}
.rubros ul ul{margin-left:12px}
.rubros li.is-abierta > a{color:var(--accent)}
.rubros li.is-activa > a{color:var(--accent);font-weight:700;background:var(--bg-1)}
.rubros > li.is-activa > a{padding-left:10px;box-shadow:inset 3px 0 0 var(--accent)}
.rubros ul li.is-activa > a{border-left-color:var(--accent)}
/* Otros filtros */
a.f-opt{display:flex;align-items:center;gap:9px;padding:7px 0;font-size:13.5px;color:var(--tx-2)}
a.f-opt:hover{color:var(--accent)}
.f-check{width:16px;height:16px;border:1.5px solid var(--line-2);border-radius:4px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
a.f-opt.on{color:var(--tx-1);font-weight:700}
a.f-opt.on .f-check{background:var(--accent);border-color:var(--accent)}
a.f-opt.on .f-check::after{content:"";width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
/* Filtro de precio (slider de WooCommerce) */
.vc-filtro-precio .price_slider{position:relative;height:4px;margin:14px 8px 22px;background:var(--line);border-radius:2px}
.vc-filtro-precio .ui-slider-range{position:absolute;top:0;height:100%;display:block;background:var(--accent);border-radius:2px}
.vc-filtro-precio .ui-slider-handle{position:absolute;z-index:2;display:block;box-sizing:border-box;width:16px;height:16px;top:-6px;margin-left:-8px;border-radius:50%;background:#fff;border:2px solid var(--accent);cursor:grab;outline:none}
.vc-filtro-precio .ui-slider-handle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.vc-filtro-precio .price_slider_amount{display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:10px}
.vc-filtro-precio .price_slider_amount input[type=text]{display:none}
.vc-filtro-precio .price_label{font-size:13.5px;color:var(--tx-1)}
.vc-filtro-precio button.button{background:var(--bg-3);color:#fff;border:none;border-radius:40px;padding:7px 16px;font-family:var(--f-body);font-size:12px;font-weight:700;cursor:pointer}
.vc-filtro-precio button.button:hover{background:var(--accent)}
.vc-filtro-precio .clear{display:none}
/* Listado */
.cat-head{margin-bottom:8px}
.cat-title.cat-title{font-size:36px}
.cat-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.cat-toolbar .n{font-size:13.5px;color:var(--tx-3)}
.cat-toolbar .woocommerce-ordering{margin-left:auto}
.cat-toolbar select{border:1px solid var(--line-2);border-radius:40px;background:var(--bg-0);font-family:var(--f-body);font-size:13px;padding:8px 32px 8px 14px;color:var(--tx-1);outline:none}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cat-vacio{padding:40px;background:var(--bg-1);border-radius:var(--r-lg);text-align:center}
.cat-vacio p{margin-bottom:16px;color:var(--tx-2)}
.woocommerce-pagination{margin-top:36px}
.woocommerce-pagination ul.page-numbers{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.woocommerce-pagination .page-numbers a,.woocommerce-pagination .page-numbers span{min-width:38px;height:38px;padding:0 8px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:40px;font-size:13.5px;color:var(--tx-2)}
.woocommerce-pagination .page-numbers span.current,.woocommerce-pagination .page-numbers a:hover{background:var(--accent);border-color:var(--accent);color:#fff}
/* woocommerce.css le pone marco, separadores y el "actual" violeta: se anulan */
.woocommerce nav.woocommerce-pagination ul{border:0;margin:0;white-space:normal}
.woocommerce nav.woocommerce-pagination ul li{border:0;float:none;overflow:visible}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:flex;padding:0 8px;min-width:38px;line-height:1}
@media(max-width:620px){.woocommerce nav.woocommerce-pagination ul{gap:5px}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:34px;height:34px;padding:0 6px}}
.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover,.woocommerce nav.woocommerce-pagination ul li a:focus{background:var(--accent);border-color:var(--accent);color:#fff}
.guia{background:var(--bg-1);border-radius:var(--r-lg);padding:36px 40px;margin-top:46px}
.guia .entry{font-size:14px;color:var(--tx-2);max-width:80ch}
.guia .entry h2,.guia .entry h3{font-family:var(--f-display);font-weight:600;color:var(--tx-1)}
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;background:var(--bg-1);border:1px solid var(--line);border-left:3px solid var(--accent-3);border-radius:var(--r-sm);padding:12px 16px;margin-bottom:18px;font-size:14px}
.woocommerce-error{border-left-color:var(--accent)}
.woocommerce-message a.button,.woocommerce-info a.button{float:right;font-weight:700;color:var(--accent)}

/* ---------- Ficha de producto ---------- */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:6px 0 56px;align-items:start}
.pdp-img{position:relative;background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r-lg);padding:40px;display:flex;align-items:center;justify-content:center;min-height:420px;position:sticky;top:140px}
.pdp-img .off{top:16px;left:16px;z-index:3}
.pdp-img .woocommerce-product-gallery{width:100%;opacity:1!important}
.pdp-img .woocommerce-product-gallery__image img:not(.zoomImg){max-height:460px;width:auto;margin:0 auto;object-fit:contain;mix-blend-mode:multiply}
.pdp-img .woocommerce-product-gallery__image .zoomImg{max-width:none!important;max-height:none!important;mix-blend-mode:normal;background:var(--bg-0)}
.pdp-img .flex-control-thumbs{display:flex;gap:8px;justify-content:center;margin-top:16px}
.pdp-img .flex-control-thumbs li{width:64px}
.pdp-img .flex-control-thumbs img{border:1px solid var(--line);border-radius:var(--r-sm);opacity:.6;cursor:pointer}
.pdp-img .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--accent)}
.pdp-img .woocommerce-product-gallery__trigger{position:absolute;top:0;right:0;z-index:3;font-size:0}
.bottle--grande{width:58px;height:220px}
.pdp-bodega{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-3)}
.pdp-info h1.h-display{font-size:38px;margin:6px 0 10px}
.pdp-meta{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--tx-2);margin-bottom:16px}
.pdp-price{font-family:var(--f-display);font-weight:600;font-size:36px;line-height:1.1;margin:6px 0 4px}
.pdp-price del{display:inline;font-family:var(--f-body);font-size:16px;margin-right:10px}
.pdp-corta{font-size:14px;color:var(--tx-2);margin-top:12px}
.pdp-buy{margin:20px 0 8px}
.pdp-buy form.cart{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.pdp-buy form.variations_form{display:block}
.pdp-buy .woocommerce-variation-add-to-cart{display:flex;gap:12px;margin-top:12px}
.pdp-buy table.variations{margin-bottom:8px;font-size:14px}
.pdp-buy table.variations select{border:1px solid var(--line-2);border-radius:var(--r-sm);padding:8px 12px;background:var(--bg-0)}
.pdp-buy .quantity{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:40px;padding:0 4px}
.pdp-buy .quantity input.qty{width:40px;border:none;text-align:center;font-weight:700;background:transparent;-moz-appearance:textfield;appearance:textfield;padding:10px 0}
.pdp-buy .quantity input.qty::-webkit-inner-spin-button,.pdp-buy .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
button.qty-btn{background:none;border:none;width:34px;height:34px;border-radius:50%;font-size:18px;line-height:1;color:var(--tx-2);cursor:pointer}
button.qty-btn:hover{background:var(--bg-1);color:var(--accent)}
.pdp-buy button.single_add_to_cart_button{flex:1;min-width:200px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border:none;border-radius:40px;padding:14px 30px;font-family:var(--f-body);font-weight:700;font-size:15px;cursor:pointer;transition:background .15s ease-out}
.pdp-buy button.single_add_to_cart_button:hover{background:var(--accent-2)}
.pdp-buy button.single_add_to_cart_button.disabled{opacity:.5;cursor:not-allowed}
.pdp-buy .stock{font-size:13px;color:var(--tx-3);width:100%}
.pdp-buy .stock.out-of-stock{color:var(--accent);font-weight:700}
.envios{margin:22px 0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.envios li{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;font-size:13px;color:var(--tx-2);border-bottom:1px solid var(--line)}
.envios li:last-child{border-bottom:none}
.envios b{color:var(--tx-1)}
.envios a{color:var(--accent);font-weight:700}
.envios .vdot{margin-top:5px}
.acc{border-top:1px solid var(--line)}
.acc summary{font-family:var(--f-display);font-weight:600;font-size:19px;padding:16px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:'+';font-size:20px;color:var(--accent-3)}
.acc[open] summary::after{content:'–'}
.acc-body{padding:0 0 18px;font-size:14px;color:var(--tx-2)}
.acc-body table{width:100%;border-collapse:collapse;font-size:13.5px}
.acc-body th,.acc-body td{padding:8px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400}
.acc-body th{color:var(--tx-3);width:40%}
.acc-body td p{margin:0}
.pdp-sku{font-size:12px;color:var(--tx-3);border-top:1px solid var(--line);padding-top:14px}
.pdp-rel{border-top:1px solid var(--line);padding-top:48px}
.pdp-rel .section-head h2{font-size:28px}

/* Ficha: se anulan los anchos/flotados y colores de woocommerce.css (selectores más específicos que los suyos) */
.woocommerce div.product.pdp div.pdp-info.summary,.woocommerce-page div.product.pdp div.pdp-info.summary{float:none;width:auto;margin:0}
.woocommerce div.product.pdp .pdp-img div.images,.woocommerce-page div.product.pdp .pdp-img div.images{float:none;width:100%;margin:0}
.woocommerce div.product.pdp .pdp-buy form.cart{margin:0}
.woocommerce div.product.pdp .pdp-buy form.cart div.quantity{float:none;margin:0}
.woocommerce div.product.pdp .pdp-buy form.cart button.single_add_to_cart_button.button{float:none;background:var(--accent);color:#fff;border-radius:40px;padding:14px 30px;font-family:var(--f-body);font-weight:700;font-size:15px;line-height:1.2}
.woocommerce div.product.pdp .pdp-buy form.cart button.single_add_to_cart_button.button:hover{background:var(--accent-2);color:#fff}
.woocommerce div.product.pdp .pdp-buy p.stock{color:var(--ok);font-size:13px;margin:0 0 10px}
.woocommerce div.product.pdp .pdp-buy p.stock.out-of-stock{color:var(--accent);font-weight:700}
.woocommerce div.product.pdp p.price,.woocommerce div.product.pdp span.price,.woocommerce div.product.pdp .pdp-price{color:var(--tx-1)}
.woocommerce div.product.pdp .pdp-price del{opacity:1;color:var(--tx-3)}
.woocommerce div.product.pdp .pdp-price ins{text-decoration:none;font-weight:600}
/* Joinchat (plugin de WhatsApp del sitio): arriba de la barra del carrito en celular */
@media(max-width:620px){body .joinchat{--bottom:76px}} /* el plugin pone 6px en celular */
body.cart-open .joinchat,body.cart-open a.wa{visibility:hidden} /* no tapa el total ni los botones del carrito */

/* ---------- Carrito, checkout y Mi cuenta (WooCommerce nativo) ----------
   Todo va con .woo-page delante: le gana a woocommerce.css sin !important. */
.woo-page{padding-top:40px}
.woo-page-title.woo-page-title{font-size:36px;margin-bottom:26px}
.woo-page .woocommerce{font-size:14.5px}
.woo-page .woocommerce a:not(.button):not(.remove){color:var(--accent)}
/* Botones */
.woo-page .woocommerce a.button,.woo-page .woocommerce button.button,.woo-page .woocommerce input.button,.woo-page .woocommerce #respond input#submit{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--tx-1);border:1px solid var(--line-2);border-radius:40px;padding:11px 22px;font-family:var(--f-body);font-weight:700;font-size:14px;line-height:1.2;transition:background .15s ease-out,color .15s ease-out,border-color .15s ease-out}
.woo-page .woocommerce a.button:hover,.woo-page .woocommerce button.button:hover,.woo-page .woocommerce input.button:hover{background:transparent;border-color:var(--accent);color:var(--accent)}
.woo-page .woocommerce a.button.alt,.woo-page .woocommerce button.button.alt,.woo-page .woocommerce input.button.alt,.woo-page .woocommerce #payment #place_order,.woo-page .woocommerce .wc-proceed-to-checkout a.checkout-button{background:var(--accent);border-color:var(--accent);color:#fff}
.woo-page .woocommerce a.button.alt:hover,.woo-page .woocommerce button.button.alt:hover,.woo-page .woocommerce #payment #place_order:hover,.woo-page .woocommerce .wc-proceed-to-checkout a.checkout-button:hover{background:var(--accent-2);border-color:var(--accent-2);color:#fff}
.woo-page .woocommerce button.button:disabled,.woo-page .woocommerce button.button:disabled[disabled]{opacity:.5;padding:11px 22px}
.woo-page .woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;padding:15px 24px;font-size:15px}
.woo-page .woocommerce #payment #place_order{width:100%;padding:15px 24px;font-size:15px;float:none}
/* Campos */
.woo-page .woocommerce form .form-row label{font-size:13px;font-weight:700;color:var(--tx-2);margin-bottom:4px;line-height:1.4}
.woo-page .woocommerce form .form-row .input-text,.woo-page .woocommerce form .form-row select,.woo-page .woocommerce form .form-row textarea,.woo-page .woocommerce .coupon .input-text,.woo-page .woocommerce .quantity .qty{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--bg-0);padding:10px 12px;font-family:var(--f-body);font-size:14px;color:var(--tx-1);line-height:1.4;box-shadow:none;outline:none}
.woo-page .woocommerce form .form-row .input-text:focus,.woo-page .woocommerce form .form-row select:focus,.woo-page .woocommerce .coupon .input-text:focus{border-color:var(--accent)}
.woo-page .woocommerce form .form-row.woocommerce-invalid .input-text{border-color:var(--accent)}
.woo-page .woocommerce form .form-row .required{color:var(--accent);text-decoration:none}
.woo-page .select2-container--default .select2-selection--single{height:42px;border:1px solid var(--line-2);border-radius:var(--r-sm)}
.woo-page .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:40px;padding-left:12px;color:var(--tx-1)}
.woo-page .select2-container--default .select2-selection--single .select2-selection__arrow{height:40px}
/* Tablas (carrito, resumen del pedido, Mi cuenta) */
.woo-page .woocommerce table.shop_table{border:1px solid var(--line);border-radius:var(--r-md);border-collapse:separate;overflow:hidden;background:var(--bg-0)}
.woo-page .woocommerce table.shop_table th{font-family:var(--f-body);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-2);background:var(--bg-1);padding:12px 14px}
.woo-page .woocommerce table.shop_table td{padding:14px;border-top:1px solid var(--line)}
.woo-page .woocommerce table.shop_table td.product-name a{font-family:var(--f-display);font-weight:600;font-size:16px;color:var(--tx-1)}
.woo-page .woocommerce table.cart img{width:64px;height:64px;object-fit:contain;mix-blend-mode:multiply}
.woo-page .woocommerce table.cart td.actions{background:var(--bg-1)}
.woo-page .woocommerce a.remove{color:var(--tx-3)!important;font-size:20px;font-weight:400}
.woo-page .woocommerce a.remove:hover{background:var(--bg-1);color:var(--accent)!important}
.woo-page .woocommerce .quantity .qty{width:64px;text-align:center;padding:8px 6px}
.woo-page .woocommerce .cart-collaterals .cart_totals h2,.woo-page .woocommerce h3#order_review_heading,.woo-page .woocommerce .woocommerce-billing-fields h3,.woo-page .woocommerce .woocommerce-shipping-fields h3,.woo-page .woocommerce .woocommerce-additional-fields h3,.woo-page .woocommerce h2{font-family:var(--f-display);font-weight:600;font-size:24px;color:var(--tx-1);margin:0 0 14px}
.woo-page .woocommerce .cart-collaterals .cart_totals{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.woo-page .woocommerce .cart-collaterals .cart_totals table.shop_table{border:none;background:transparent}
.woo-page .woocommerce .cart-collaterals .cart_totals table.shop_table th{background:transparent;text-transform:none;letter-spacing:0;font-size:14px}
.woo-page .woocommerce .order-total .amount{font-family:var(--f-display);font-weight:600;font-size:22px;color:var(--tx-1)}
.woo-page .woocommerce ul#shipping_method li{margin-bottom:6px}
.woo-page .woocommerce ul#shipping_method li label{font-size:13.5px}
/* Checkout */
.woo-page .woocommerce form.checkout #order_review{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.woo-page .woocommerce #payment{background:transparent;border-radius:0}
.woo-page .woocommerce #payment ul.payment_methods{border-bottom:1px solid var(--line);padding:0 0 14px}
.woo-page .woocommerce #payment ul.payment_methods li{padding:10px 0;font-size:14px}
.woo-page .woocommerce #payment div.payment_box{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r-md);color:var(--tx-2);font-size:13.5px}
.woo-page .woocommerce #payment div.payment_box::before{border-bottom-color:var(--bg-0)}
.woo-page .woocommerce #payment div.form-row{padding:16px 0 0}
.woo-page .woocommerce .woocommerce-privacy-policy-text{font-size:12px;color:var(--tx-3)}
.woo-page .woocommerce-form-coupon-toggle .woocommerce-info,.woo-page .woocommerce-form-login-toggle .woocommerce-info{background:var(--bg-1)}
/* Checkout en dos columnas: datos a la izquierda, resumen del pedido fijo a la derecha */
@media(min-width:1001px){
  .woo-page .woocommerce form.checkout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:40px;align-items:start}
  .woo-page .woocommerce form.checkout::before,.woo-page .woocommerce form.checkout::after{display:none}
  .woo-page .woocommerce form.checkout > *{grid-column:1}
  .woo-page .woocommerce form.checkout #customer_details{grid-column:1;grid-row:1 / span 3}
  .woo-page .woocommerce form.checkout #order_review_heading{grid-column:2;grid-row:1}
  .woo-page .woocommerce form.checkout #order_review{grid-column:2;grid-row:2;position:sticky;top:140px}
  .woo-page .woocommerce form.checkout .col2-set .col-1,.woo-page .woocommerce form.checkout .col2-set .col-2{float:none;width:100%}
}
/* Pedido recibido */
.woo-page .woocommerce ul.order_details{background:var(--bg-1);border-radius:var(--r-md);padding:18px 20px;margin-bottom:26px}
.woo-page .woocommerce ul.order_details li{font-size:12px;color:var(--tx-3);border-right-color:var(--line-2)}
.woo-page .woocommerce ul.order_details li strong{font-size:15px;color:var(--tx-1)}
/* Mi cuenta */
.woo-page .woocommerce-MyAccount-navigation ul{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.woo-page .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line)}
.woo-page .woocommerce-MyAccount-navigation li:last-child{border-bottom:none}
.woo-page .woocommerce-MyAccount-navigation li a{display:block;padding:11px 16px;font-size:14px;color:var(--tx-1)!important}
.woo-page .woocommerce-MyAccount-navigation li.is-active a,.woo-page .woocommerce-MyAccount-navigation li a:hover{background:var(--bg-1);color:var(--accent)!important;font-weight:700}
.woo-page .woocommerce form.login,.woo-page .woocommerce form.register{border:1px solid var(--line);border-radius:var(--r-lg);padding:26px}
@media(max-width:768px){
  .woo-page-title.woo-page-title{font-size:28px}
  .woo-page .woocommerce table.shop_table_responsive tr td{padding:10px 14px}
  .woo-page .woocommerce form.checkout #order_review,.woo-page .woocommerce .cart-collaterals .cart_totals{padding:18px}
}

/* ---------- Páginas simples (sin Elementor) ---------- */
.page-simple{max-width:860px}
.page-title{font-size:38px;margin-bottom:22px}
.entry > * + *{margin-top:1em}
.entry a{color:var(--accent);text-decoration:underline}
.entry ul{list-style:disc;padding-left:1.3em}
.entry ol{list-style:decimal;padding-left:1.3em}
.post-list{display:grid;gap:18px}
.post-item h2{font-family:var(--f-display);font-weight:600;font-size:22px}
.woo-wrap{padding-top:34px;padding-bottom:64px}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .tipos{grid-template-columns:repeat(2,1fr)}
  .prod-grid{grid-template-columns:repeat(2,1fr)}
  .club-in{grid-template-columns:1fr}
  .club-photo{min-height:260px;order:-1}
  .sucs{grid-template-columns:repeat(2,1fr)}
  .footer-in{grid-template-columns:1fr 1fr}
  /* Nav: fila con scroll horizontal; los submenús se abren desde el catálogo */
  .nav-in{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .nav-menu .sub-menu{display:none}
  .cat-layout{grid-template-columns:1fr;gap:18px}
  .filters-box{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--bg-0)}
  .filters-box > summary{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-weight:700;font-size:14px;cursor:pointer;list-style:none}
  .filters-box > summary::-webkit-details-marker{display:none}
  .filters-box > summary::after{content:'+';font-size:18px;color:var(--accent-3)}
  .filters-box[open] > summary::after{content:'–'}
  .filters-box .filters{padding:4px 16px 16px}
  .cat-grid{grid-template-columns:repeat(3,1fr)}
  .pdp{grid-template-columns:1fr;gap:26px}
  .pdp-img{position:relative;top:auto;min-height:300px}
}
@media(max-width:1200px) and (min-width:1001px){
  .cat-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:782px){
  .admin-bar .header{top:46px}
}
@media(max-width:620px){
  /* Header en dos filas: logo + carrito arriba, buscador abajo (en una tienda grande, buscar es navegar) */
  .header-in{flex-wrap:wrap;gap:10px 14px;padding:10px 16px}
  .brand img{height:40px}
  .header .search{order:3;flex:1 0 100%;max-width:none}
  .header-links .cart-total{display:none}
  .tipos,.sucs{grid-template-columns:1fr}
  /* Productos: dos por fila en mobile (pedido del cliente) */
  .prod-grid,.cat-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .cat-title.cat-title{font-size:28px}
  .cat-toolbar{flex-wrap:wrap;gap:10px}
  .pdp-info h1.h-display{font-size:28px}
  .pdp-price{font-size:30px}
  .pdp-img{padding:24px;min-height:260px}
  .guia{padding:26px 22px}
  a.prod-img{min-height:150px;padding:20px 0 14px}
  .prod-photo{height:140px}
  .prod-body{padding:10px 11px 12px}
  .prod-name.prod-name{font-size:14.5px}
  .prod-meta{font-size:11px;margin-bottom:8px}
  .prod-buy{flex-direction:column;align-items:stretch;gap:8px}
  .price{font-size:16.5px}
  button.add,a.add{margin-left:0;text-align:center;padding:9px 10px}
  .off{top:8px;left:8px;font-size:10px;padding:2px 8px}
  .section{padding:44px 0}
  .section-head h2{font-size:25px}
  .section-head{flex-wrap:wrap}
  .banda-txt{padding:30px 26px}
  .banda-txt.banda-txt h3{font-size:26px}
  .intro-title.intro-title{font-size:30px}
  .club-copy.club-copy h2{font-size:28px}
  .footer-in{grid-template-columns:1fr}
  .mobile-bar{display:block}
  .mobile-bar button.cart-chip{width:100%;justify-content:center}
  body{padding-bottom:64px}
  a.wa{bottom:76px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
}
