/* La Quintana - extracted & adapted from maquette */

/* Paleta beige de la maqueta (default claro) */
:root{
  --ivory:#F7F5F1;
  --ivory-2:#EFEBE3;
  --ink:#15130F;
  --ink-soft:#4A4740;
  --line:rgba(21,19,15,.12);
  --card-bg:#FFFFFF;
  --accent:#B98A3E;
  color-scheme:light;
}
/* Variante oscura opcional */
:root[data-theme="dark"]{
  --ivory:#121110;
  --ivory-2:#1A1815;
  --ink:#F3F1EC;
  --ink-soft:#C9C4BA;
  --line:rgba(255,255,255,.14);
  --card-bg:#1E1C19;
  color-scheme:dark;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
html, body{max-width:100%; overflow-x:hidden;}
body{background:var(--ivory); color:var(--ink); font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
  transition:background .5s ease;}
body.lq-menu-open{overflow:hidden;}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',Georgia,serif; font-weight:600;}
a{color:inherit;} img{max-width:100%; display:block;}
button{font-family:inherit;}
.wrap{max-width:1220px; margin:0 auto; padding:0 28px;}

#agegate{position:fixed; inset:0; background:#0c0b0a; color:#fff; z-index:999; display:flex; align-items:center; justify-content:center; text-align:center; padding:24px;}
#agegate.hidden,
html.lq-age-ok #agegate{display:none!important;}
.gate-box{max-width:420px;}
.gate-box .serif{font-size:1.7rem; margin-bottom:14px;}
.gate-box .gate-text,
.gate-box p{font-size:.9rem; color:#cfcac0; line-height:1.55; margin-bottom:26px;}
.gate-box .gate-text p{margin:0 0 .75em;}
.gate-box .gate-text p:last-child{margin-bottom:0;}
.btn{border:1px solid #fff; background:#fff; color:#0c0b0a; font-family:'Inter',sans-serif; font-size:.75rem;
  letter-spacing:.14em; text-transform:uppercase; padding:14px 28px; cursor:pointer; transition:all .25s ease; display:inline-block; text-decoration:none;}
.btn:hover{background:var(--accent); border-color:var(--accent); color:#fff;}
.btn.outline{background:transparent; color:var(--ink); border-color:var(--ink);}
.btn.outline:hover{background:var(--ink); color:var(--ivory);}

header{position:fixed; top:0; left:0; right:0; z-index:200; padding-top:env(safe-area-inset-top,0px); transition:background .4s ease,border-color .4s ease;}
header.solid{background:rgba(247,245,241,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
:root[data-theme="dark"] header.solid{background:rgba(18,17,16,.92);}
header.menu-open,
header.menu-open.solid{background:rgba(247,245,241,.98);}
:root[data-theme="dark"] header.menu-open,
:root[data-theme="dark"] header.menu-open.solid{background:rgba(18,17,16,.98);}
.navbar{max-width:1220px; margin:0 auto; padding:14px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px;}
.brandmark{display:flex; align-items:center; gap:10px; cursor:pointer; text-decoration:none;}
.brandmark img.crest{height:32px; width:auto;}
.brandmark .wtxt{
  font-family:'Cormorant Garamond',serif;
  font-weight:700;
  font-size:1.1rem;
  letter-spacing:.04em;
  color:#fff;
  text-transform:uppercase;
}
header.solid .brandmark .wtxt{color:var(--ink);}
.backlink{font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:#efece5; text-decoration:none; display:flex; align-items:center; gap:6px;}
header.solid .backlink{color:var(--ink-soft);}
nav.mainnav{display:flex; gap:28px; align-items:center;}
nav.mainnav a{font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; color:#efece5; cursor:pointer;}
header.solid nav.mainnav a{color:#15130F;}
/* Páginas sin foto full-bleed: menú negro desde el inicio */
body:not(.lq-photo-hero) header#siteHeader nav.mainnav a{color:#15130F;}
body:not(.lq-photo-hero) header#siteHeader #menutoggle{color:#15130F;}
body:not(.lq-photo-hero) header#siteHeader .brandmark .wtxt{color:#15130F;}
nav.mainnav a:hover{color:var(--accent);}
#menutoggle{display:none; background:none; border:none; font-size:1.6rem; color:#fff; cursor:pointer;}
header.solid #menutoggle{color:#15130F;}
@media(max-width:860px){
  nav.mainnav{
    position:fixed;
    top:calc(60px + env(safe-area-inset-top,0px));
    left:0; right:0;
    background:var(--ivory);
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    border-bottom:1px solid var(--line);
    max-height:0;
    overflow:hidden;
    transition:max-height .35s ease;
    z-index:210;
  }
  nav.mainnav.open{max-height:320px; box-shadow:0 12px 28px rgba(0,0,0,.12);}
  nav.mainnav a{
    padding:16px 28px;
    width:100%;
    border-top:1px solid var(--line);
    color:var(--ink-soft) !important;
    min-height:48px;
    display:flex;
    align-items:center;
  }
  #menutoggle{
    display:block;
    min-width:44px;
    min-height:44px;
    line-height:1;
    padding:8px;
    z-index:220;
  }
  header.menu-open #menutoggle{color:var(--ink);}
  header.menu-open .brandmark .wtxt{color:var(--ink);}
  body.admin-bar nav.mainnav{top:calc(60px + 46px + env(safe-area-inset-top,0px));}
}

section{padding:100px 0;}
.section-head{text-align:center; max-width:640px; margin:0 auto 50px;}
.section-head .eyebrow{font-size:.75rem; letter-spacing:.24em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; display:block;}
.section-head h2{font-size:clamp(1.9rem,4vw,2.9rem);}
.section-head p{color:var(--ink-soft); margin-top:14px; line-height:1.6;}

/* HOME HERO */
.hhero{
  position:relative;
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
  background:#1a1612; /* fallback si la foto tarda / no cubre */
}
/* Elementor fuerza height:auto en img; hay que anularlo para cover full-bleed */
.hhero-img,
.elementor-widget-lq_hero .hhero-img,
.elementor img.hhero-img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}
.hhero-scrim{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg, rgba(10,9,7,.55) 0%, rgba(10,9,7,.22) 40%, rgba(10,9,7,.68) 100%);
  pointer-events:none;
}
.hhero-content{position:relative; z-index:2; color:#fff; padding:150px 24px 100px; max-width:900px;}
.hhero-content .crest-big{height:84px; margin:0 auto 22px; width:auto; max-height:84px;}
.hhero-content h1{font-size:clamp(2.2rem,5.2vw,4rem); line-height:1.12; letter-spacing:.01em; text-transform:uppercase; font-weight:500;}
.hhero-content h1 em{display:block; font-style:normal; color:#c9a25b;}
.hhero-content p{margin-top:18px; color:#eee9df; font-size:1rem; max-width:520px; margin-left:auto; margin-right:auto; line-height:1.6;}
.hhero-content .btn{margin-top:0;}
.hhero-btns{margin-top:36px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.btn.gold{background:#c9a25b; border-color:#c9a25b; color:#15130F; font-weight:600;}
.btn.gold:hover{background:#fff; border-color:#fff; color:#15130F;}
.hhero-foot{position:absolute; bottom:20px; left:0; right:0; text-align:center; z-index:2; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:#e7e2d8; opacity:.85;}
/* Contenedores Elementor del hero a altura completa */
.elementor-widget-lq_hero,
.elementor-widget-lq_hero > .elementor-widget-container,
.elementor-section:has(.elementor-widget-lq_hero),
.elementor-section:has(.elementor-widget-lq_hero) > .elementor-container,
.elementor-section:has(.elementor-widget-lq_hero) .elementor-column,
.elementor-section:has(.elementor-widget-lq_hero) .elementor-widget-wrap{
  min-height:100vh;
  min-height:100dvh;
}

/* MARCAS GRID (home) — igual maqueta */
.marcas-group{margin-bottom:60px;}
.marcas-group h3{font-size:.76rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft); text-align:center; margin-bottom:24px; font-weight:600;}
.mgrid{
  display:flex;
  flex-wrap:wrap;
  border:1px solid var(--line);
  background:transparent;
}
.mtile{
  /* Bloques blancos + logos oscuros (maqueta clara) */
  background:var(--card-bg);
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:26px;
  cursor:pointer;
  transition:background .25s ease;
  border:none;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  text-decoration:none;
  color:inherit;
  flex:0 0 25%;
  max-width:25%;
  box-sizing:border-box;
}
.mgrid .mtile:nth-child(4n){border-right:none;}
.mtile:hover{background:var(--ivory-2);}
.mtile img,
.mtile .mtile-logo{
  max-height:88px;
  max-width:88%;
  width:auto !important;
  height:auto !important;
  object-fit:contain;
}
/* Marcas con logo más vertical (montañas / stacked wordmark) */
.mtile[href*="des-cordeliers"] .mtile-logo,
.mtile[href*="la-quintana"] .mtile-logo{
  max-height:96px;
}
.mtile .mtile-name{font-size:1.1rem; color:var(--ink);}
@media(max-width:820px){
  .mtile{flex:0 0 50%; max-width:50%;}
  .mgrid .mtile:nth-child(4n){border-right:1px solid var(--line);}
  .mgrid .mtile:nth-child(2n){border-right:none;}
}

/* SOBRE NOSOTROS */
.historia-split{display:grid; grid-template-columns:.95fr 1.05fr; gap:70px; align-items:center; background:var(--ivory-2); padding:100px 28px; border-radius:0;}
@media(max-width:900px){ .historia-split{grid-template-columns:1fr; gap:40px;} }
.historia-split .tag{font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:16px;}
.historia-split h2{font-size:clamp(1.8rem,3.4vw,2.6rem); margin-bottom:20px;}
.historia-split p{color:var(--ink-soft); line-height:1.7; margin-bottom:16px; font-size:.98rem;}
.historia-frame{border:1px solid var(--line); background:var(--card-bg); aspect-ratio:4/5; display:flex; align-items:center; justify-content:center;}
.historia-frame img{max-height:78%; filter:drop-shadow(0 24px 34px rgba(0,0,0,.18));}

/* FACTORY BAND */
.factory-band{position:relative; color:#fff; text-align:center; overflow:hidden;}
.factory-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.5) saturate(0) contrast(1.05);}
.factory-scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,9,7,.35), rgba(10,9,7,.78));}
.factory-inner{position:relative; z-index:2; padding:110px 24px 56px;}
.factory-inner img.mark{height:50px; margin:0 auto 16px;}
.factory-inner h2{font-size:clamp(1.4rem,3vw,1.9rem); letter-spacing:.02em; max-width:640px; margin:0 auto;}
.factory-nav{margin-top:30px; display:flex; gap:32px; justify-content:center; flex-wrap:wrap;}
.factory-nav a{font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; color:#f1ede4; cursor:pointer;}
.factory-nav a:hover{color:var(--accent);}
.factory-contact{margin-top:44px; padding-top:34px; border-top:1px solid rgba(255,255,255,.18);
  display:flex; gap:50px; justify-content:center; flex-wrap:wrap;}
.factory-contact .fc-k{display:block; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:#c9a25b; margin-bottom:6px;}
.factory-contact .fc-v{display:block; font-size:.92rem; color:#f1ede4;}
.factory-legal{margin-top:40px; font-size:.7rem; color:#c9c4b8;}

/* BRAND HERO (photo + text over it) */
.bhero2{position:relative; min-height:100vh; background:#100e0b; overflow:hidden; display:flex; align-items:center; color:#fff;}
.bhero2-photo{position:absolute; top:0; right:0; bottom:0; width:70%; -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 36%); mask-image:linear-gradient(90deg, transparent 0, #000 36%);}
.bhero2-photo img{width:100%; height:100%; object-fit:cover; object-position:60% center;}
.bhero2-scrim{position:absolute; inset:0; background:linear-gradient(90deg, rgba(16,14,11,.94) 0%, rgba(16,14,11,.86) 26%, rgba(16,14,11,.35) 48%, rgba(16,14,11,0) 62%), linear-gradient(180deg, rgba(16,14,11,.45) 0%, rgba(16,14,11,0) 22%, rgba(16,14,11,0) 80%, rgba(16,14,11,.5) 100%);}
.bhero2-text{position:relative; z-index:2; width:100%; max-width:1220px; margin:0 auto; padding:150px 28px 90px;}
.bhero2-text > *{max-width:470px;}
.bhero2 .bhero-kind{color:#d3ad63;}
/* .bhero2-logo sizing shared with .bhero-logo rules below */
.bhero2-text p{color:#ece8de; line-height:1.7; font-size:1.02rem; margin-bottom:12px; text-shadow:0 1px 14px rgba(0,0,0,.55);}
.bhero2-text p.lead{font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:1.85rem; line-height:1.25; color:#fff; margin-bottom:18px;}
.btn.ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.85); margin-top:20px;}
.btn.ghost:hover{background:#fff; color:#100e0b; border-color:#fff;}
.btn.dark{background:#15130F; color:#F7F5F1; border-color:#15130F;}
.btn.dark:hover{background:var(--accent); border-color:var(--accent); color:#fff;}
@media(max-width:900px){
  .bhero2{flex-direction:column; align-items:stretch; min-height:0;}
  .bhero2-photo{position:relative; width:100%; height:64vw; min-height:260px; -webkit-mask-image:linear-gradient(180deg,#000 62%, transparent 100%); mask-image:linear-gradient(180deg,#000 62%, transparent 100%);}
  .bhero2-scrim{display:none;}
  .bhero2-text{padding:8px 28px 56px;}
  .bhero2-text > *{max-width:none;}
}

/* HOME ABOUT SCENE: drawing with the text over it (maquette) */
section.about-scene,
.about-scene{
  position:relative;
  background:#F7EAD8 !important;
  padding:0 !important;
  overflow:hidden;
  color:#15130F;
  min-height:calc(31vw + 250px);
}
.about-eng{
  position:absolute;
  left:0; right:0; bottom:0;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  display:block;
  object-fit:contain;
  -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 30%);
  mask-image:linear-gradient(180deg, transparent 0, #000 30%);
}
.about-veil{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, #F7EAD8 0%, rgba(247,234,216,.94) 24%, rgba(247,234,216,.6) 40%, rgba(247,234,216,0) 56%);
  pointer-events:none;
}
.about-text{
  position:relative;
  z-index:2;
  max-width:1220px;
  margin:0 auto;
  padding:110px 28px 130px;
}
.about-text > *{max-width:470px;}
.about-text .tag{
  font-size:.75rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#8a6a2f;
  display:block;
  margin-bottom:16px;
  font-family:'Inter',sans-serif;
}
.about-text h2{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(1.9rem,3.6vw,2.8rem);
  font-weight:600;
  margin-bottom:20px;
  color:#15130F !important;
  line-height:1.15;
}
.about-text p{
  color:#3d3a33;
  line-height:1.7;
  margin-bottom:16px;
  font-size:.98rem;
  font-family:'Inter',sans-serif;
}
.about-text .about-quote{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-size:1.3rem;
  color:#15130F;
  margin-top:6px;
}
.link-arrow{
  display:inline-block;
  margin-top:14px;
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#15130F !important;
  text-decoration:none !important;
  padding-bottom:8px;
  border-bottom:1.5px solid #15130F;
  font-weight:600;
  font-family:'Inter',sans-serif;
  transition:color .2s, border-color .2s;
  background:none !important;
}
.link-arrow:hover{color:#8a6a2f !important; border-color:#8a6a2f;}
.section-head .hint{font-size:.8rem; color:var(--ink-soft); opacity:.75; margin-top:10px; letter-spacing:.02em;}

/* DUO: bodega + planta (maquette) */
section.duo,
.duo{
  background:var(--ivory-2) !important;
  padding:100px 0 !important;
}
.duo-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
}
@media(max-width:820px){ .duo-grid{grid-template-columns:1fr;} }
.duo-col{padding:10px 56px 10px 0;}
.duo-col + .duo-col{padding:10px 0 10px 56px; border-left:1px solid var(--line);}
@media(max-width:820px){
  .duo-col, .duo-col + .duo-col{padding:0; border:none;}
  .duo-col + .duo-col{margin-top:48px; padding-top:48px; border-top:1px solid var(--line);}
}
.duo-eyebrow{
  display:block;
  font-size:.76rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#7a5a2e;
  margin-bottom:18px;
  font-weight:500;
  font-family:'Inter',sans-serif;
}
.duo-col h2{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(1.8rem,3vw,2.5rem);
  line-height:1.15;
  margin-bottom:20px;
  font-weight:500;
  color:var(--ink) !important;
}
.duo-col p{
  color:var(--ink-soft);
  line-height:1.75;
  font-size:1.02rem;
  max-width:480px;
  font-family:'Inter',sans-serif;
  margin:0;
}
@media(max-width:900px){
  .about-scene{min-height:0; display:flex; flex-direction:column;}
  .about-eng{position:relative; order:2; margin-top:-10px;}
  .about-veil{display:none;}
  .about-text{padding:80px 28px 30px;}
  .about-text > *{max-width:none;}
}

/* FOOTER CONTACT */
footer#contacto{
  background:#15130F !important;
  color:#C9C4BA !important;
  padding:72px 0 28px !important;
  margin:0 !important;
}
footer#contacto .wrap{max-width:1220px; margin:0 auto; padding:0 28px;}
footer#contacto .fcols{
  display:grid !important;
  grid-template-columns:1.35fr 1fr 1fr 1fr;
  gap:36px;
  padding-bottom:34px;
  margin-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
@media(max-width:760px){
  footer#contacto .fcols{grid-template-columns:1fr 1fr;}
}
footer#contacto .fk{
  display:block;
  font-size:.66rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#c9a25b !important;
  margin-bottom:12px;
  font-family:'Inter',sans-serif;
}
footer#contacto .fv,
footer#contacto a.fv{
  display:block !important;
  font-size:.88rem;
  color:#e8e4db !important;
  line-height:1.7;
  text-decoration:none !important;
  margin-bottom:4px;
  font-family:'Inter',sans-serif;
  font-weight:400;
}
footer#contacto a.fv:hover{color:#fff !important;}
footer#contacto .flogo{
  height:48px !important;
  width:auto !important;
  margin-bottom:14px;
  filter:none;
}
footer#contacto .fdesc{
  font-size:.84rem;
  line-height:1.6;
  max-width:260px;
  color:#C9C4BA !important;
  margin:0;
}
footer#contacto .foot-bottom{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  font-size:.72rem;
  color:#8b877e !important;
  padding-top:20px;
  border-top:none;
}

/* BRAND PAGE HERO */
.bhero-photo{position:relative; height:78vh; min-height:460px; margin-top:0; overflow:hidden;}
.bhero-photo-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center;}
.bhero-photo-scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,9,7,.06) 0%, rgba(10,9,7,.12) 70%, rgba(10,9,7,.35) 100%);}
.bhero{position:relative; padding:150px 0 90px; overflow:hidden;}
.bhero-bg{position:absolute; inset:0; opacity:.14;}
.bhero-inner{position:relative; z-index:2; text-align:center; max-width:640px; margin:0 auto; padding:0 24px;}
.bhero-inner img,
.bhero-inner .bhero-logo,
.bhero2-logo{
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:min(100%, 420px) !important;
  max-height:120px !important;
  object-fit:contain !important;
  object-position:center;
  margin:0 auto 24px;
}
.bhero2-logo{margin:0 0 30px; max-width:min(100%,360px) !important;}
.bhero-inner p{color:var(--ink-soft); line-height:1.6; font-size:1.02rem;}
.bhero-kind{font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:18px;}

/* PRODUCT GRID (brand page) */
.pgrid2{display:grid; grid-template-columns:repeat(4,1fr); gap:0; background:var(--card-bg); border:1px solid var(--line);}
@media(max-width:760px){ .pgrid2{grid-template-columns:repeat(2,1fr);} }
.pcard2{background:var(--card-bg); padding:28px 14px 24px; text-align:center; cursor:pointer; transition:background .25s ease; border:none; border-right:1px solid var(--line); border-bottom:1px solid var(--line); overflow:visible;}
.pgrid2 .pcard2:nth-child(4n),
.woocommerce ul.products li.product:nth-child(4n){border-right:none;}
.pcard2:hover{background:var(--ivory);}
.pcard2-fill{min-height:280px; pointer-events:none; background:var(--card-bg); border-right:1px solid var(--line); border-bottom:1px solid var(--line); list-style:none;}
@media(max-width:760px){
  .pgrid2 .pcard2:nth-child(4n),
  .woocommerce ul.products li.product:nth-child(4n){border-right:1px solid var(--line);}
  .pgrid2 .pcard2:nth-child(2n),
  .woocommerce ul.products li.product:nth-child(2n),
  .pcard2-fill:nth-child(2n){border-right:none;}
}
.pcard2-imgwrap{
  min-height:320px;
  height:340px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  overflow:visible;
}
.pcard2-imgwrap img,
.woocommerce ul.products li.product.pcard2 a .pcard2-imgwrap img,
.woocommerce-page ul.products li.product.pcard2 a .pcard2-imgwrap img{
  max-height:100% !important;
  width:auto !important;
  height:auto !important;
  max-width:88% !important;
  object-fit:contain !important;
  object-position:center center !important;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.16));
}
.pcard2 h3{font-size:1.02rem; font-weight:600; font-family:'Inter',sans-serif;}
.empty-slot{background:var(--card-bg); min-height:210px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; border:1px dashed var(--line); margin:2px;}
.empty-slot span{font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); text-align:center; max-width:140px;}
.empty-note{text-align:center; color:var(--ink-soft); font-size:.9rem; margin-top:28px; max-width:520px; margin-left:auto; margin-right:auto; line-height:1.6;}

/* TRAGOS placeholder */
.tragos-row{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media(max-width:760px){ .tragos-row{grid-template-columns:repeat(2,1fr);} }
.tragos-slot{aspect-ratio:3/4; background:var(--ivory-2); border:1px dashed var(--line); display:flex; align-items:center; justify-content:center; text-align:center; padding:16px;}
.tragos-slot span{font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-soft);}

/* PRODUCT PAGE */
.phero{position:relative; padding:150px 0 70px; overflow:hidden; transition:background 0.6s ease;}
.phero-inner{max-width:1220px; margin:0 auto; padding:0 28px; display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center;}
@media(max-width:900px){ .phero-inner{grid-template-columns:1fr;} }
.phero-img{display:flex; justify-content:center; align-items:center;}
.phero-img img,
.phero-img .wp-post-image{
  width:auto !important;
  height:auto !important;
  max-width:100%;
  max-height:min(72vh, 640px);
  object-fit:contain;
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.28));
}
.phero-text .eyebrow{font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:14px;}
.phero-text h1{font-size:clamp(2rem,4vw,3rem); margin-bottom:18px;}
.phero-text p{color:var(--ink-soft); line-height:1.7; max-width:460px; margin-bottom:10px;}
.spec-table{margin-top:34px; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr;}
@media(max-width:560px){ .spec-table{grid-template-columns:1fr;} }
.spec-cell{padding:18px 20px 18px 0; border-bottom:1px solid var(--line);}
.spec-cell .k{font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:6px; display:block;}
.spec-cell .v{font-size:1.02rem;}
.disponible{background:var(--ivory-2);}
.disp-inner{max-width:680px; margin:0 auto; text-align:center; padding:0 24px;}
.disp-inner h2{font-size:clamp(1.6rem,3.4vw,2.2rem); margin-bottom:16px;}
.disp-inner p{color:var(--ink-soft); line-height:1.7; margin-bottom:28px;}

/* UBICACION + FOOTER (shared bottom) */
.ubic-layout{display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line);}
@media(max-width:860px){ .ubic-layout{grid-template-columns:1fr;} }
.ubic-info{padding:50px; background:var(--card-bg);}
.ubic-info .tag{font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:16px;}
.ubic-info h2{font-size:1.8rem; margin-bottom:16px;}
.ubic-info p{color:var(--ink-soft); line-height:1.7; margin-bottom:8px;}
.ubic-map iframe{width:100%; height:100%; min-height:320px; border:0; filter:grayscale(.35) contrast(1.05);}

footer{background:var(--ink); color:#C9C4BA; padding:60px 0 26px;}
.foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.72rem; color:#8b877e; padding-top:20px; border-top:1px solid rgba(255,255,255,.12);}
footer .foot-top{display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px; margin-bottom:20px;}
footer .foot-top a{font-size:.78rem; text-decoration:none; color:#C9C4BA; margin-right:20px; text-transform:uppercase; letter-spacing:.08em; cursor:pointer;}
footer .foot-top a:hover{color:#fff;}

.reveal{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease;}
.reveal.show{opacity:1; transform:none;}
.hidden{display:none !important;}

#app{}

/* WordPress / Elementor adaptations */
body.admin-bar header#siteHeader{ top:32px; }
@media(max-width:782px){ body.admin-bar header#siteHeader{ top:46px; } }
.site-content{ min-height:50vh; }
.elementor-page .site-content .elementor-section{ padding:0; }
.elementor-page .site-content .lq-marcas,
.elementor-page .site-content .hhero,
.elementor-page .site-content .duo,
.elementor-page .site-content .about-scene{ /* theme sections keep their own padding */ }

/* Elementor: full-bleed LQ widgets without extra chrome */
.elementor-section.lq-el-flush,
.elementor-section.lq-el-flush > .elementor-container,
.elementor-section.lq-el-flush > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-section.lq-el-flush .elementor-element-populated{
  padding:0 !important;
  margin:0 !important;
  max-width:none !important;
}
.elementor-widget-lq_header,
.elementor-widget-lq_footer,
.elementor-widget-lq_hero,
.elementor-widget-lq_marcas,
.elementor-widget-lq_duo,
.elementor-widget-lq_historia,
.elementor-widget-lq_consultar{
  width:100%;
}
.elementor-widget-lq_header > .elementor-widget-container,
.elementor-widget-lq_footer > .elementor-widget-container,
.elementor-widget-lq_hero > .elementor-widget-container,
.elementor-widget-lq_marcas > .elementor-widget-container,
.elementor-widget-lq_duo > .elementor-widget-container,
.elementor-widget-lq_historia > .elementor-widget-container,
.elementor-widget-lq_consultar > .elementor-widget-container{
  padding:0 !important;
}
/* Chrome templates: no Elementor section chrome around fixed header/footer */
.elementor:has(.elementor-widget-lq_header),
.elementor:has(.elementor-widget-lq_footer){
  position:relative;
  z-index:auto;
}
.elementor:has(.elementor-widget-lq_header) > .elementor-section{
  position:static;
}
/* Keep editor outline usable */
.elementor-editor-active .elementor-widget-lq_hero,
.elementor-editor-active .elementor-widget-lq_marcas,
.elementor-editor-active .elementor-widget-lq_duo,
.elementor-editor-active .elementor-widget-lq_historia{
  min-height:40px;
}
.woocommerce-page .site-content{ padding-top:0; }
.lq-marcas{ padding:100px 0; }
.lq-marcas .mgrid{ margin:0; }
a.mtile{ text-decoration:none; color:inherit; display:flex; }
.lq-consult-btn{ text-decoration:none; }
.fcols a.fv{ display:block; }
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  background:var(--card-bg);
  border:1px solid var(--line);
  margin:0 !important;
  padding:0 !important;
  list-style:none;
  clear:none !important;
}
/* WooCommerce injects ::before/::after clearfix that steal the first grid cell */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{
  content:none !important;
  display:none !important;
}
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last,
.woocommerce-page ul.products li.product.first,
.woocommerce-page ul.products li.product.last{
  clear:none !important;
  float:none !important;
}
@media(max-width:760px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{ grid-template-columns:repeat(2,1fr) !important; }
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  width:auto !important;
  margin:0 !important;
  padding:20px 14px 22px;
  background:var(--card-bg);
  text-align:center;
  float:none !important;
  clear:none !important;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.woocommerce ul.products li.product a img,
.woocommerce div.product div.images img,
.woocommerce-page div.product div.images img,
.single-product .phero-img img{
  margin:0 auto;
  width:auto !important;
  height:auto !important;
  max-width:100%;
  object-fit:contain;
}
.woocommerce ul.products li.product a img{
  max-height:340px;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.16));
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:1.02rem !important; font-weight:600; font-family:'Inter',sans-serif; padding:0; }
.woocommerce .price, .woocommerce div.product p.price, .woocommerce div.product span.price{ display:none !important; }
.woocommerce div.product form.cart{ display:none !important; }
.woocommerce span.onsale{ display:none !important; }
.woocommerce-result-count, .woocommerce-ordering{ display:none; }
.woocommerce nav.woocommerce-breadcrumb{ display:none; }
.related.products, .upsells.products{ display:none; }
.single-product .product_meta{ display:none; }

/* ========== MOBILE POLISH ========== */
@media (max-width: 860px){
  .wrap{padding:0 20px;}
  section{padding:72px 0;}
  .lq-marcas{padding:72px 0;}
  .section-head{margin-bottom:36px;}
  .section-head h2{font-size:clamp(1.7rem,7vw,2.4rem);}

  .hhero{min-height:100svh; min-height:100dvh;}
  .hhero-content{padding:120px 20px 100px;}
  .hhero-content .crest-big{height:64px; margin-bottom:18px;}
  .hhero-content h1{font-size:clamp(1.85rem,8vw,2.6rem);}
  .hhero-content p{font-size:.95rem;}
  .hhero-btns{margin-top:28px; flex-direction:column; align-items:stretch; width:min(100%,320px); margin-left:auto; margin-right:auto;}
  .hhero-btns .btn{width:100%; text-align:center; padding:14px 18px;}
  .hhero-foot{font-size:.58rem; letter-spacing:.1em; padding:0 16px; bottom:14px; line-height:1.4;}

  .mtile{min-height:120px; padding:18px 14px;}
  .mtile img, .mtile .mtile-logo{max-height:44px;}

  section.duo, .duo{padding:64px 0 !important;}
  .duo-col h2{font-size:clamp(1.55rem,6.5vw,2.1rem);}
  .duo-col p{font-size:.95rem;}

  .about-text{padding:72px 20px 40px;}
  .about-text h2{font-size:clamp(1.7rem,7vw,2.4rem);}
  .about-eng{width:100%;}

  .bhero{padding:120px 0 56px;}
  .bhero2-text{padding:24px 20px 56px;}
  .bhero2-logo,
  .bhero-logo{max-height:88px !important; max-width:min(100%,260px) !important; width:auto !important; height:auto !important;}

  .phero{padding:120px 0 48px;}
  .phero-inner{padding:0 20px; gap:28px;}
  .phero-img{order:-1;}
  .phero-img img,
  .phero-img .wp-post-image,
  .single-product .phero-img img{
    max-height:min(48vh, 360px) !important;
  }
  .phero-text h1{font-size:clamp(1.8rem,8vw,2.6rem);}
  .spec-table{margin-top:24px;}
  .spec-cell{padding:14px 12px 14px 0;}

  .disponible{padding:64px 0;}
  .disp-inner{padding:0 20px;}
  .disp-inner h2{font-size:clamp(1.45rem,6.5vw,2rem);}
  .lq-consult-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    width:min(100%,340px);
    padding:14px 22px;
  }

  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product{padding:14px 10px 16px;}
  .woocommerce ul.products li.product a img{max-height:280px;}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.92rem !important;}
  .pcard2-imgwrap{min-height:260px; height:280px;}
  .pcard2-imgwrap img{max-height:100% !important;}

  footer#contacto{padding:48px 0 24px !important;}
  footer#contacto .wrap{padding:0 20px;}
  footer#contacto .foot-bottom{flex-direction:column; gap:8px;}

  #agegate{padding:24px 18px; padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));}
  .gate-box .btn{min-height:48px; width:min(100%,280px);}

  .btn{min-height:44px;}
  .reveal{transform:translateY(10px);}
}

@media (max-width: 560px){
  .wrap{padding:0 16px;}
  footer#contacto .fcols{grid-template-columns:1fr !important; gap:28px;}
  .tragos-row{grid-template-columns:1fr 1fr;}
  /* Mantener el legal sobre la foto, no debajo (evita bloque gris) */
  .hhero-foot{position:absolute; bottom:14px; margin-top:0; padding:0 16px; line-height:1.4;}
  .hhero-content{padding-bottom:88px;}
}

@media (max-width: 380px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{grid-template-columns:1fr 1fr !important;}
  .mtile{min-height:100px; padding:14px 10px;}
}

/* Touch: avoid sticky hover states trapping mobile taps */
@media (hover:none){
  .mtile:hover{background:var(--card-bg);}
  .btn.gold:hover{background:#c9a25b; border-color:#c9a25b; color:#15130F;}
  .btn:hover{background:#fff; border-color:#fff; color:#0c0b0a;}
  .lq-consult-btn:active,
  .btn:active{opacity:.9;}
}
