/* ============================================================
   EL DESPEÑADERO — Home
   Tokens extraídos de Figma (file CoipQ2xsACebC9NTAH5FX7)
   ============================================================ */
:root{
  --gold:#b6905b;
  --green:#1a3e1d;
  --green-2:#1a3d1c;
  --cream:#f4eee6;              /* rgba(182,144,91,.15) sobre blanco */
  --olive:#a2a273;
  --ink:#0e0e0e;
  --white:#ffffff;
  --card-tan:#d6c0a1;           /* gold 50% sobre cream */
  --max:1440px;
  --gutter:80px;
  --radius:0px;                 /* diseño plano, sin radios */
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Urbanist',-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--green);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p{margin:0}

/* ---- Layout shell: fondo full-bleed, contenido centrado ---- */
.shell{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}

/* ---- Tipografía de secciones ---- */
.eyebrow{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:500}
.dash-label{display:flex;align-items:center;gap:16px;font-size:11px;letter-spacing:1.76px;text-transform:uppercase;color:var(--green);font-weight:500}
.dash-label::before{content:"";width:40px;height:1px;background:var(--green)}

.h-section{
  font-weight:300;font-size:52px;line-height:1.12;letter-spacing:-1px;color:var(--green);
}
.h-section em{font-style:italic;font-weight:500;color:var(--gold)}

/* ---- Botones ---- */
.btn{
  --arrow:var(--white);
  display:inline-flex;align-items:center;gap:11px;
  padding:13px 20px;font-size:16px;font-weight:500;line-height:1;
  border:1px solid transparent;cursor:pointer;
  transition:background .35s var(--ease),color .35s var(--ease),
             border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);
}
.btn .bar{width:20px;height:13px;flex:none;display:block}
.btn .bar path{fill:currentColor}
.bar--down{transform:rotate(90deg)}
.btn--gold{background:var(--gold);color:#fff;--arrow:#fff}
.btn--gold:hover{background:#a07e49;transform:translateY(-2px);box-shadow:0 10px 24px rgba(182,144,91,.35)}
.btn--ghost-light{border-color:rgba(255,255,255,.85);color:#fff;--arrow:#fff}
.btn--ghost-light:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.btn--ghost-dark{border-color:var(--green);color:var(--green);--arrow:var(--green)}
.btn--ghost-dark:hover{background:var(--green);color:#fff;--arrow:#fff;transform:translateY(-2px)}
.btn--green{background:var(--green);color:#fff;--arrow:#fff}
.btn--green:hover{background:#11290f;transform:translateY(-2px);box-shadow:0 10px 24px rgba(26,62,29,.3)}

:root{--arrow-img:url("../img/arrow.svg")}

/* ============================================================
   HEADER / NAVBAR  (reutilizable)
   ============================================================ */
.site-header{position:absolute;top:0;left:0;width:100%;z-index:40}
.topbar{background:rgba(0,0,0,.5)}
.topbar .shell{height:50px;display:flex;align-items:center;justify-content:flex-end;gap:24px}
.topbar .btn{padding:6px 18px;height:32px}
.lang{font-size:16px;font-weight:500;color:#fff}
.navrow{padding-top:14px}
.navrow .shell{height:60px;display:flex;align-items:center;gap:28px}
.nav-logo{height:74px;width:auto;flex:none}
.nav-logo img{height:74px;width:auto;transition:height .35s var(--ease)}
.nav-list{display:flex;align-items:center;gap:20px;margin-left:auto}
.nav-list a{font-size:16px;font-weight:500;color:#fff;position:relative;padding:4px 0;transition:color .25s}
.nav-list a.active{color:var(--gold);font-weight:800}
.nav-list a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--gold);transition:width .3s var(--ease)}
.nav-list a:hover{color:var(--gold)}
.nav-list a:hover::after{width:100%}
.nav-dd{position:relative;display:inline-flex;align-items:center}
.nav-more{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:16px;font-weight:500;color:#fff;transition:color .25s}
.nav-more .chev{width:13px;height:8px;flex:none;transition:transform .3s var(--ease)}
.nav-dd:hover .nav-more,.nav-more:hover{color:var(--gold)}
.nav-dd:hover .chev{transform:rotate(180deg)}
.nav-submenu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);
  min-width:200px;background:rgba(13,22,12,.97);backdrop-filter:blur(8px);padding:8px 0;
  box-shadow:0 18px 44px rgba(0,0,0,.32);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s}
.nav-dd:hover .nav-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.nav-submenu a{display:block;padding:11px 24px;font-size:15px;font-weight:500;color:#fff;width:auto}
.nav-submenu a::after{display:none}
.nav-submenu a:hover{background:rgba(182,144,91,.16);color:var(--gold)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:6px;margin-left:auto}
.nav-toggle span{width:26px;height:2px;background:#fff;transition:.3s}

/* header sólido al hacer scroll (microinteracción senior) */
.site-header.scrolled{position:fixed;background:rgba(13,22,12,.92);backdrop-filter:blur(8px);box-shadow:0 6px 24px rgba(0,0,0,.25);animation:slideDown .4s var(--ease)}
.site-header.scrolled .topbar{display:none}
.site-header.scrolled .navrow{padding-top:0}
.site-header.scrolled .navrow .shell{height:68px}
.site-header.scrolled .nav-logo,.site-header.scrolled .nav-logo img{height:50px}
@keyframes slideDown{from{transform:translateY(-100%)}to{transform:translateY(0)}}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;min-height:900px;display:flex;align-items:flex-start;color:#fff;overflow:hidden}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center bottom}
.hero__bg video.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;display:block}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.2) 35%,rgba(0,0,0,.35) 100%)}
.hero .shell{position:relative;z-index:2;width:100%}
.hero__inner{padding-top:clamp(150px,24vh,240px);max-width:1140px}
.hero h1{font-weight:700;text-transform:uppercase;letter-spacing:2.68px;margin:0}
.hero h1 .l1{display:block;font-size:80px;line-height:1.02}
.hero h1 .l2{display:block;font-size:64px;line-height:1.05}
.hero__sub{margin-top:30px;font-size:18px;line-height:27px;font-weight:400;max-width:560px}
.hero__btns{display:flex;gap:25px;margin-top:48px}
.scrolldown{position:absolute;z-index:3;right:74px;top:353px;display:flex;align-items:center;justify-content:center;height:168px}
.scrolldown span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:16px;letter-spacing:1.6px;text-transform:uppercase;color:#fff}
.scrolldown .sdi{width:18px;height:18px;margin-top:14px;background:#fff;-webkit-mask:url("../img/icon-scroll.svg") no-repeat center/contain;mask:url("../img/icon-scroll.svg") no-repeat center/contain;animation:bob 1.8s var(--ease) infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* ============================================================
   PILARES (3 filas alternas imagen / texto)
   ============================================================ */
.pillar{display:grid;grid-template-columns:1fr 1fr}
.pillar__img{min-height:543px}
.pillar__img img{width:100%;height:100%;object-fit:cover}
.pillar__txt{display:flex;flex-direction:column;justify-content:center;text-align:center;padding:0 55px}
.pillar__txt .laurel{width:74px;margin:0 auto 24px}
.pillar__txt h2{margin:0 0 26px}
.pillar__txt p{font-size:15px;line-height:1.6;color:rgba(26,62,29,.78);max-width:520px;margin:0 auto 18px}
.pillar__txt .kicker{font-weight:700;color:var(--green);font-size:16px}
.pillar--rev .pillar__img{order:2}
.pillar--rev .pillar__txt{order:1}

/* ============================================================
   NÚMEROS
   ============================================================ */
.numbers{background:var(--cream);position:relative;overflow:hidden;text-align:center}
.numbers .shell{position:relative;z-index:2;padding-block:100px}
.numbers__watermark{position:absolute;left:0;top:50%;transform:translateY(-50%);width:420px;opacity:1;z-index:1;pointer-events:none}
.numbers h2{font-weight:300;font-size:40px;color:var(--green);margin:0 0 60px}
.numbers h2 em{font-style:italic;color:var(--gold);font-weight:500}
.stats{display:flex;justify-content:center;align-items:center;gap:0}
.stat{flex:1;max-width:360px;padding:0 30px;border-left:1px solid rgba(26,62,29,.25)}
.stat:first-child{border-left:0}
.stat__num{font-weight:300;font-size:84px;line-height:1;color:var(--green)}
.stat__lab{margin-top:10px;font-size:18px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold)}

/* ============================================================
   CACERÍAS
   ============================================================ */
.caceria{padding-block:88px 80px}
.caceria .grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
.caceria__col{padding:0;display:flex;flex-direction:column}
.caceria__col--media{padding:0}
.caceria__col--media img{width:100%;height:100%;object-fit:cover;min-height:754px}
.caceria .dash-label{margin-bottom:30px}
.caceria h2{margin:0 0 26px;font-size:48px}
.caceria p{font-size:18px;line-height:27px;color:rgba(14,14,14,.6);margin-bottom:34px;max-width:630px}
.caceria__btn{margin-bottom:36px;align-self:flex-start}
.caceria__photo{margin-top:auto;width:100%;max-width:625px;height:346px;object-fit:cover}

/* ============================================================
   ALOJAMIENTO (banda imagen full-bleed)
   ============================================================ */
.aloja{text-align:center;padding-top:0}
.aloja h2{margin:0 0 0}
.aloja__head{padding-block:60px 44px}
.aloja__band{position:relative;height:417px;overflow:visible}
.aloja__band>img{position:relative;z-index:1}
.aloja__band::after{z-index:2}
.aloja__band img{width:100%;height:100%;object-fit:cover}
.aloja__band::after{content:"";position:absolute;inset:0;background:rgba(26,61,28,.25)}
.aloja__btn-wrap{position:absolute;top:0;left:0;right:0;display:flex;justify-content:center;z-index:3}
.aloja__btn-wrap .btn{transform:translateY(-50%)}

/* ============================================================
   CHECKLIST 360
   ============================================================ */
.checklist{padding-block:90px 60px;text-align:center}
.checklist h2{margin:0 0 64px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;max-width:1330px;margin-inline:auto}
.cards--row2{grid-template-columns:repeat(3,1fr);max-width:998px;margin-top:26px}
.card-svc{background:rgba(182,144,91,.5);border:1px solid rgba(0,0,0,.08);padding:28px;text-align:left;min-height:205px;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease)}
.card-svc:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(26,62,29,.16);background:rgba(182,144,91,.62)}
.card-svc .ico{width:48px;height:48px;margin-bottom:14px}
.card-svc h3{margin:0 0 12px;font-size:22px;font-weight:500;color:var(--green)}
.card-svc p{font-size:15px;line-height:1.55;color:rgba(26,62,29,.82)}

/* ============================================================
   ITINERARIOS
   ============================================================ */
.itin{padding-block:70px 80px;text-align:center}
.itin h2{margin:0 0 50px}
/* fila a sangre por la izquierda (container fluid) */
.itin__row{display:grid;grid-template-columns:479px 1fr;gap:91px;align-items:start;max-width:1290px;margin-right:auto;text-align:left}
.itin__img{align-self:stretch;min-height:824px}
.itin__img img{width:100%;height:100%;object-fit:cover}
.itin__panel{position:relative;padding-top:9px}
.itin__clock{width:61px;height:60px;display:block;margin:0 0 4px 54px}
.timeline{position:relative}
/* línea vertical: nace del borde inferior del reloj y atraviesa todos los puntos */
.timeline::before{content:"";position:absolute;left:84px;top:-4px;bottom:31px;width:1px;background:rgba(26,62,29,.7)}
.tl-row{display:grid;grid-template-columns:64px 40px 1fr;align-items:center;column-gap:0;height:63px}
.tl-time{font-size:24px;font-weight:600;letter-spacing:.96px;color:var(--green);text-align:right}
.tl-dot{position:relative;z-index:1;justify-self:center;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.tl-ev{font-size:24px;color:rgba(31,31,31,.88);padding-left:11px}
.itin__panel .btn{margin-top:34px;margin-left:0}

/* ============================================================
   RESEÑAS
   ============================================================ */
.reviews{background:var(--cream);text-align:center;padding-block:60px 80px}
.reviews .eyebrow{display:block;margin-bottom:18px}
.reviews h2{font-weight:300;font-size:62px;line-height:1;color:var(--green);margin:0}
.reviews h2 em{font-style:italic;color:var(--gold);font-weight:500}
.reviews__sub{margin-top:18px;font-size:18px;color:rgba(26,62,29,.7)}
.rev-slider{position:relative;max-width:1264px;margin:52px auto 0;padding-inline:78px}
.rev-grid{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:6px 2px 12px;-ms-overflow-style:none;scrollbar-width:none;cursor:grab}
.rev-grid::-webkit-scrollbar{display:none}
.rev-grid.dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}
.rev-grid.dragging .rev-card{pointer-events:none}
.rev-card{flex:0 0 380px;scroll-snap-align:start;background:#fff;padding:30px 24px 24px;text-align:left;
  display:flex;flex-direction:column;min-height:310px;
  border:1px solid rgba(0,0,0,.04);box-shadow:0 8px 24px rgba(26,62,29,.05);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.rev-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(26,62,29,.12)}
.rev-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:50px;height:50px;border-radius:50%;
  border:1px solid var(--gold);background:#fff;color:var(--gold);font-size:26px;line-height:1;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 6px 18px rgba(26,62,29,.12);transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}
.rev-nav:hover{background:var(--gold);color:#fff}
.rev-nav:active{transform:translateY(-50%) scale(.92)}
.rev-nav[disabled]{opacity:.35;cursor:default;pointer-events:none}
.rev-prev{left:8px}
.rev-next{right:8px}
.rev-card .quote{font-family:Georgia,serif;font-size:58px;line-height:.6;color:var(--gold);height:30px}
.rev-card .stars{color:var(--gold);font-size:18px;letter-spacing:2px;margin:14px 0 16px}
.rev-card .body{font-size:15px;line-height:1.6;color:rgba(26,62,29,.8);flex:1}
.rev-card hr{border:0;border-top:1px solid rgba(26,62,29,.12);margin:14px 0 12px}
.rev-card .who{font-weight:600;color:var(--green);font-size:16px}
.rev-card .place{font-size:14px;color:rgba(26,62,29,.6);margin-top:2px}
.reviews__cta{margin:40px auto 0}
.reviews__countries{margin-top:24px;font-size:16px;color:rgba(26,62,29,.75)}
.gop{max-width:860px;margin:34px auto 0;background:#fff;border:1px solid var(--gold);display:grid;
  grid-template-columns:auto 1px 1fr 1px auto;align-items:center;gap:30px;padding:18px 22px;text-align:left}
.gop .sep{width:1px;height:70px;background:rgba(26,62,29,.15)}
.gop__brand small{display:block;font-size:11px;letter-spacing:1px;color:var(--gold);text-transform:uppercase}
.gop__brand b{display:block;font-size:24px;color:var(--green);letter-spacing:1px;margin:4px 0}
.gop__brand i{font-style:normal;font-size:11px;letter-spacing:1px;color:rgba(26,62,29,.6);text-transform:uppercase}
.gop__desc{font-size:14px;line-height:1.5;color:rgba(26,62,29,.8)}
.gop__rate .stars{color:var(--gold);font-size:18px;letter-spacing:2px}
.gop__rate b{display:block;font-size:16px;margin:6px 0 8px;color:var(--green)}
.gop__rate .btn{font-size:12px;padding:8px 12px}

/* ============================================================
   INSTAGRAM
   ============================================================ */
.insta{padding-block:60px;background:var(--white)}
.insta__top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:24px}
.insta__top h2{font-weight:300;font-size:40px;color:var(--green);margin:8px 0 0}
.insta__top h2 em{font-style:italic;color:var(--gold);font-weight:500}
.insta__meta{text-align:right}
.insta__handle{display:flex;align-items:center;gap:10px;justify-content:flex-end;font-weight:600;color:var(--green);font-size:18px}
.insta__handle .ig{width:24px;height:24px}
.insta__sub{font-size:13px;color:rgba(26,62,29,.6);margin-top:8px}
.insta__follow{margin-top:12px;display:inline-flex;align-items:center;gap:10px;background:var(--gold);
  padding:14px 24px;font-size:12px;font-weight:500;letter-spacing:.96px;color:#fff;transition:background .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.insta__follow .ar-up{font-size:14px;font-weight:300}
.insta__follow:hover{background:#a07e49;transform:translateY(-2px);box-shadow:0 10px 24px rgba(182,144,91,.35)}
.insta__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.insta__grid a{position:relative;overflow:hidden;aspect-ratio:207/252}
.insta__grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.insta__grid a::after{content:"";position:absolute;inset:0;background:rgba(26,62,29,0);transition:.4s}
.insta__grid a:hover img{transform:scale(1.06)}
.insta__grid a:hover::after{background:rgba(26,62,29,.18)}
.insta__tags{margin-top:22px;font-size:15px;color:var(--gold)}

/* ============================================================
   CONTACTO + FOOTER  (reutilizable)
   ============================================================ */
.contact{position:relative;background:rgba(182,144,91,.15)}
.contact__media{position:relative;height:477px}
.contact__media img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.contact__media::after{content:"";position:absolute;inset:0;background:rgba(26,61,28,.5)}
.contact__panel{position:absolute;top:63px;right:0;width:52%;background:#fff;padding:62px 70px;min-height:330px}
.contact__panel h2{font-weight:300;font-size:48px;letter-spacing:-.96px;color:var(--green);margin:0 0 28px}
.contact__panel h2 em{font-style:italic;font-weight:500;color:var(--gold)}
.contact__row{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.contact__row .ic{width:22px;height:22px;flex:none}
.contact__row span{font-size:20px;color:var(--green)}

.footer{background:var(--green);color:#fff;padding:85px 0 55px}
.footer .shell{display:grid;grid-template-columns:1.3fr 1.2fr 1fr 1.1fr;gap:30px;align-items:start}
.footer__brand .logos{display:flex;align-items:center;gap:30px;margin-bottom:18px}
.footer__brand .logos img:first-child{height:84px}
.footer__brand .ademac{height:84px;width:auto;background:none;padding:0}
.footer__brand p{font-size:14px;line-height:27px;color:rgba(255,255,255,.6);max-width:343px}
.footer__col{position:relative}
.footer__contact .frow{display:flex;align-items:center;gap:16px;margin-bottom:16px;font-size:15px;color:#fff;background:transparent;border:0;max-width:none;width:auto}
.footer__contact .frow .ic{width:22px;height:22px;flex:none}
.footer__nav h4,.footer__legal h4{display:none}
.footer__nav a,.footer__legal a{display:block;font-size:16px;line-height:24px;color:#fff;margin-bottom:16px;width:max-content;transition:color .25s}
.footer__nav a:hover,.footer__legal a:hover{color:var(--gold)}
.footer__legal .siguenos{font-size:18px;font-weight:500;letter-spacing:1.44px;text-transform:uppercase;color:var(--olive);margin:26px 0 16px}
.footer__social{display:flex;gap:20px}
.footer__social a{font-size:22px;color:#fff;transition:color .25s,transform .25s}
.footer__social a:hover{color:var(--gold);transform:translateY(-3px)}
.subfooter{background:var(--ink);padding:0}
.subfooter .shell{border-top:1px solid rgba(255,255,255,.1);height:105px;display:flex;align-items:center}
.subfooter p{font-size:16px;color:rgba(255,255,255,.6)}

/* divisores verticales del footer (escritorio) */
.footer__contact::after,.footer__nav::before{content:"";position:absolute;top:4px;width:1px;height:206px;background:rgba(255,255,255,.18)}
.footer__contact::after{right:-15px}
.footer__nav::before{left:-15px}

/* ============================================================
   WHATSAPP flotante
   ============================================================ */
.wa-float{position:fixed;right:32px;bottom:32px;width:64px;height:64px;z-index:60;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.25));transition:transform .3s var(--ease)}
.wa-float:hover{transform:scale(1.08)}

/* ============================================================
   Animaciones de entrada
   ============================================================ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .scrolldown .sdi{animation:none}
  html{scroll-behavior:auto}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1200px){
  :root{--gutter:48px}
  .hero h1 .l1{font-size:64px}.hero h1 .l2{font-size:50px}
  .h-section{font-size:44px}.reviews h2{font-size:48px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .cards--row2{grid-template-columns:repeat(3,1fr);max-width:none}
  .itin__row{grid-template-columns:400px 1fr;gap:50px}
  .gop{grid-template-columns:1fr;gap:16px;text-align:center}.gop .sep{display:none}
}
@media(max-width:992px){
  .nav-list{display:none}
  .nav-toggle{display:flex}
  .navrow .shell{justify-content:space-between}
  .site-header .topbar{display:none}
  .site-header{position:absolute}
  .nav-list.open{display:flex;position:absolute;top:60px;left:0;right:0;flex-direction:column;align-items:flex-start;
    background:rgba(13,22,12,.97);padding:20px var(--gutter);gap:18px}
  .nav-list.open a{color:#fff}
  .hero__inner{padding-top:200px}
  .pillar{grid-template-columns:1fr}
  .pillar__img{min-height:340px;order:0!important}
  .pillar__txt{order:0!important;padding:54px 40px}
  .pillar--rev .pillar__img{order:0}
  .stats{flex-direction:row}
  .stat__num{font-size:60px}
  .caceria{padding-block:64px 56px}
  .caceria .grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .caceria__col{min-height:0;min-width:0}
  .caceria p{max-width:100%}
  .caceria__photo{max-width:100%}
  .caceria__col--media img{min-height:420px}
  .card-svc{min-width:0}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards--row2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .checklist{padding-block:70px 50px}
  .checklist h2{margin-bottom:48px}
  .itin__row{grid-template-columns:1fr;gap:0}
  .itin__img{min-height:380px}
  .itin__panel{padding:40px var(--gutter) 0}
  .itin__clock{margin-left:0}
  .rev-slider{margin-inline:8px;padding-inline:0}
  .rev-card{flex-basis:min(380px,84vw)}
  .rev-prev{left:-6px}.rev-next{right:-6px}
  .insta__grid{grid-template-columns:repeat(3,1fr)}
  .contact__media{height:auto;min-height:360px}
  .contact__panel{position:static;width:100%;padding:40px var(--gutter)}
  .footer .shell{grid-template-columns:1fr 1fr;gap:40px}
  .footer__contact::after,.footer__nav::before{display:none}
  .scrolldown{display:none}
}
@media(max-width:640px){
  :root{--gutter:22px}
  .hero h1{letter-spacing:1px}
  .hero h1 .l1{font-size:37px;line-height:1.05}.hero h1 .l2{font-size:27px;letter-spacing:.5px;line-height:1.1}
  .hero{min-height:600px}
  .hero__inner{padding-top:150px;max-width:none}
  .hero__sub{font-size:16px;line-height:24px;margin-top:22px}
  .hero__btns{flex-direction:column;gap:14px;margin-top:34px}.hero__btns .btn{justify-content:center}
  .h-section{font-size:32px}.numbers h2,.insta__top h2{font-size:30px}
  .reviews h2{font-size:34px}
  /* pilares más compactos */
  .pillar__txt{padding:44px 24px}
  .pillar__img{min-height:280px}
  /* números: reducir espaciado vertical excesivo */
  .numbers .shell{padding-block:56px}
  .numbers h2{margin-bottom:34px}
  .numbers__watermark{width:300px;opacity:.7}
  .stats{flex-direction:column;gap:0}
  .stat{max-width:none;border-left:0;border-top:1px solid rgba(26,62,29,.18);padding:22px 0}
  .stat:first-child{border-top:0;padding-top:0}
  .stat__num{font-size:52px}
  /* checklist y caceria una columna */
  .cards,.cards--row2{grid-template-columns:minmax(0,1fr);max-width:none}
  .caceria{padding-block:48px 40px}
  .caceria h2{font-size:34px}
  /* itinerario: tipografía y carril ajustados a móvil */
  .itin{padding-block:50px 56px}
  .itin__panel{padding-top:28px}
  .tl-row{grid-template-columns:52px 28px 1fr;height:auto;min-height:58px;padding:8px 0}
  .tl-time{font-size:18px}
  .tl-ev{font-size:16px;padding-left:8px;line-height:1.3}
  .timeline::before{left:66px}
  .itin__clock{margin-left:38px}
  /* reseñas */
  .reviews{padding-block:48px 60px}
  .gop{padding:22px 18px}
  .contact__panel h2{font-size:34px}
  .insta__top{flex-direction:column;align-items:flex-start;gap:18px}
  .insta__meta{text-align:left}.insta__handle{justify-content:flex-start}
  .insta__grid{grid-template-columns:repeat(2,1fr)}
  .insta__tags{font-size:14px}
  .footer{padding:60px 0 48px}
  .footer .shell{grid-template-columns:1fr;gap:34px}
  .footer__brand .logos{gap:24px}
  .contact__panel{padding:32px var(--gutter)}
  .contact__panel h2{font-size:30px}
  .contact__row span{font-size:18px}
  .wa-float{width:56px;height:56px;right:18px;bottom:18px}
}

/* ============================================================
   PÁGINAS INTERIORES — componentes compartidos
   ============================================================ */
/* Hero interior (título único en mayúsculas) */
.hero--inner{min-height:900px}
.hero--inner .hero__inner{padding-top:clamp(140px,22vh,220px);max-width:780px}
.hero__title{font-weight:700;font-size:58px;line-height:1.08;letter-spacing:1.5px;text-transform:uppercase;color:#fff;margin:0}
.btn .play{width:20px;height:20px;flex:none;display:block}

/* Cabecera de sección centrada ("Así se vive El Despeñadero") */
.media-head{text-align:center;font-weight:300;font-size:48px;line-height:1.1;letter-spacing:-.96px;color:var(--green);margin:0 0 40px}
.media-head em{font-style:italic;font-weight:500;color:var(--gold)}

/* Flechas tipo chevron (carruseles imagen/galería) */
.chev-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:36px;height:44px;display:flex;
  align-items:center;justify-content:center;background:none;border:0;cursor:pointer;color:var(--green);
  transition:color .25s var(--ease),transform .25s var(--ease)}
.chev-nav svg{width:22px;height:38px}
.chev-nav:hover{color:var(--gold)}
.chev-nav:active{transform:translateY(-50%) scale(.9)}
.chev-prev{left:0}.chev-next{right:0}
.chev-next svg{transform:scaleX(-1)}

/* Galería 3-up con scroll-snap + chevrons */
.gal{padding:64px 0}
.gal__wrap{position:relative;max-width:1320px;margin:0 auto;padding:0 60px}
.gal__track{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;cursor:grab}
.gal__track::-webkit-scrollbar{display:none}
.gal__track.dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}
.gal__track img{flex:0 0 calc((100% - 12px)/3);height:212px;object-fit:cover;scroll-snap-align:start;
  transition:filter .4s var(--ease)}
.gal__track img:hover{filter:brightness(1.06)}

/* Filas alternas texto/imagen */
.crow{display:flex;align-items:stretch;justify-content:space-between;max-width:1318px;margin:0 auto;gap:0}
.crow__txt{flex:0 0 653px;max-width:653px;min-width:0;padding:0 38px;display:flex;flex-direction:column;justify-content:center;gap:32px}
.crow__txt h2{font-weight:300;font-size:48px;line-height:1.1;letter-spacing:-.96px;color:var(--green);margin:0}
.crow__txt h2 em{font-style:italic;font-weight:500;color:var(--gold)}
.crow__sub{font-weight:700;font-size:20px;line-height:24px;color:var(--green);margin:0 0 19px}
.crow__body p{font-size:18px;line-height:24px;color:rgba(14,14,14,.6);margin:0 0 19px}
.crow__body p:last-child{margin-bottom:0}
.crow__img{flex:0 0 665px;max-width:665px;height:422px}
.crow__img img{width:100%;height:100%;object-fit:cover}
.crow--rev{flex-direction:row-reverse}
.crows{display:flex;flex-direction:column;gap:82px;padding:30px 0 70px}

/* Carrusel de vídeos (centro grande + laterales asomando) */
.vids{padding:60px 0 80px;overflow:hidden}
.vids__stage{position:relative;width:100%;max-width:1320px;margin:0 auto;height:552px}
.vids__viewport{position:relative;height:552px}
.vid-slide{position:absolute;top:50%;left:50%;border-radius:2px;overflow:hidden;cursor:pointer;
  transition:transform .5s var(--ease),opacity .5s var(--ease),filter .5s var(--ease)}
.vid-slide img{width:100%;height:100%;object-fit:cover}
.vid-slide::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.4);transition:background .5s var(--ease)}
.vid-slide.is-active{width:982px;height:552px;transform:translate(-50%,-50%);z-index:3;filter:none}
.vid-slide.is-active::after{background:rgba(0,0,0,0)}
.vid-slide.is-prev{width:564px;height:317px;transform:translate(calc(-50% - 660px),-50%);z-index:1;opacity:.85}
.vid-slide.is-next{width:564px;height:317px;transform:translate(calc(-50% + 660px),-50%);z-index:1;opacity:.85}
.vid-slide.is-hidden{opacity:0;pointer-events:none;width:564px;height:317px;transform:translate(-50%,-50%)}
.vid-slide__meta{position:absolute;top:22px;left:24px;z-index:4;color:#fff;opacity:0;transition:opacity .5s}
.vid-slide.is-active .vid-slide__meta{opacity:1}
.vid-slide__meta .av{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:18px}
.vid-slide__meta .av i{width:34px;height:34px;border-radius:50%;background:var(--gold);display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-weight:700;color:#fff;font-size:15px}
.vid-slide__meta small{display:block;margin-left:44px;font-size:13px;opacity:.85;font-weight:400}
.vid-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.6);z-index:4;width:84px;height:84px;
  color:#fff;opacity:0;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.vid-slide.is-active .vid-play{opacity:1;transform:translate(-50%,-50%) scale(1)}
.vid-slide.is-active:hover .vid-play{transform:translate(-50%,-50%) scale(1.08)}
.vid-play svg{width:84px;height:84px}
.vids__yt{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:30px;font-size:16px;color:var(--green);font-weight:500}
.vids__yt .ytico{color:#ff0000}
.vids .chev-nav{color:#fff}
.vids .chev-prev{left:max(20px,calc(50% - 640px))}
.vids .chev-next{right:max(20px,calc(50% - 640px))}

/* Responsive páginas interiores */
@media(max-width:1200px){
  .vid-slide.is-active{width:760px;height:428px}
  .vid-slide.is-prev{transform:translate(calc(-50% - 540px),-50%)}
  .vid-slide.is-next{transform:translate(calc(-50% + 540px),-50%)}
}
@media(max-width:992px){
  .hero__title{font-size:46px}
  .hero--inner .hero__inner{padding-top:210px;max-width:none}
  .crow,.crow--rev{flex-direction:column}
  .crow__txt{flex-basis:auto;max-width:100%;width:100%;padding:48px var(--gutter)}
  .crow__img{flex-basis:auto;max-width:100%;width:100%;height:360px}
  .crows{gap:0}
  .media-head{font-size:38px}
  .gal__wrap{padding:0 44px}
  .gal__track img{flex-basis:calc((100% - 6px)/2)}
  .vids__stage,.vids__viewport{height:auto;min-height:0}
  .vid-slide{position:relative;top:auto;left:auto;transform:none!important;width:100%!important;height:auto!important;aspect-ratio:16/9}
  .vid-slide.is-prev,.vid-slide.is-next,.vid-slide.is-hidden{display:none}
  .vid-slide.is-active{width:100%!important}
  .vids .chev-prev{left:8px}.vids .chev-next{right:8px}
  .vids__stage{padding:0 var(--gutter)}
}
@media(max-width:640px){
  .hero__title{font-size:34px;letter-spacing:1px}
  .media-head{font-size:30px}
  .crow__txt{padding:36px var(--gutter)}
  .crow__txt h2{font-size:32px}
  .crow__img{height:260px}
  .gal__wrap{padding:0 30px}
  .gal__track img{flex-basis:calc((100% - 6px)/2);height:170px}
  .vids__yt{font-size:14px}
}

/* ============================================================
   ALOJAMIENTO — lodge editorial, galería 2x2, estancia
   ============================================================ */
.lodge{max-width:1330px;margin:0 auto;padding:70px var(--gutter) 0;display:grid;grid-template-columns:1fr 1fr;column-gap:80px;align-items:start}
.lodge__left{display:flex;flex-direction:column;min-width:0}
.lodge__left>img{width:100%;height:801px;object-fit:cover}
.lodge__txt{margin-top:42px}
.lodge__txt p{font-size:18px;line-height:27px;color:rgba(14,14,14,.6);margin:0 0 27px}
.lodge__txt p:last-child{margin-bottom:0}
.lodge__txt strong{font-weight:700;color:inherit}
.lodge__right{min-width:0}
.lodge__right h2{font-weight:300;font-size:48px;line-height:1.1;letter-spacing:-.96px;color:var(--green);margin:0 0 30px}
.lodge__right h2 em{font-style:italic;font-weight:500;color:var(--gold)}
.lodge__right p{font-size:18px;line-height:27px;color:rgba(14,14,14,.6);margin:0}
.lodge__right strong{font-weight:700;color:inherit}
.lodge__right .bed{width:100%;height:430px;object-fit:cover;margin-top:42px}

/* Estancia en Toledo (imagen pequeña + texto) */
.estancia{max-width:1330px;margin:0 auto;padding:46px var(--gutter) 0;display:flex;align-items:center;gap:39px}
.estancia__img{flex:0 0 540px;max-width:540px;height:326px}
.estancia__img img{width:100%;height:100%;object-fit:cover}
.estancia__txt{min-width:0}
.estancia__txt h2{font-weight:300;font-size:48px;line-height:1.1;letter-spacing:-.96px;color:var(--green);margin:0 0 30px}
.estancia__txt h2 em{font-style:italic;font-weight:500;color:var(--gold)}
.estancia__txt p{font-size:18px;line-height:27px;color:rgba(14,14,14,.6);margin:0;max-width:720px}

/* Galería 2x2 */
.agal{max-width:1331px;margin:0 auto;padding:60px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:2px}
.agal img{width:100%;aspect-ratio:665/300;object-fit:cover;display:block;transition:filter .4s var(--ease)}
.agal a{overflow:hidden;display:block}
.agal a:hover img{filter:brightness(1.06)}

@media(max-width:992px){
  .lodge{grid-template-columns:1fr;row-gap:36px;padding-top:48px}
  .lodge__left>img{height:auto;aspect-ratio:625/600}
  .lodge__txt{margin-top:30px}
  .lodge__right h2{font-size:40px}
  .lodge__right .bed{height:auto;aspect-ratio:625/430}
  .estancia{flex-direction:column;align-items:flex-start;gap:28px}
  .estancia__img{flex-basis:auto;max-width:100%;width:100%;height:auto;aspect-ratio:540/326}
  .estancia__txt h2{font-size:38px}
}
@media(max-width:640px){
  .agal{grid-template-columns:1fr}
  .lodge__right h2,.estancia__txt h2{font-size:32px}
}

/* ============================================================
   LA FINCA — filas con borde dorado, icono y escalonadas
   ============================================================ */
.frows{max-width:1440px;margin:0 auto;padding:74px 0;display:flex;flex-direction:column;gap:36px}
.frow{display:flex;align-items:stretch;border:1px solid var(--gold);max-width:1336px;width:100%;background:#fff}
.frow--imgL{flex-direction:row-reverse;margin-right:auto}
.frow--imgR{margin-left:auto}
.frow__txt{flex:1 1 0;min-width:0;padding:60px 68px;display:flex;flex-direction:column;gap:32px}
.frow__txt .ico{width:84px;height:84px}
.frow__txt h2{font-weight:300;font-size:48px;line-height:1.1;letter-spacing:-.96px;color:var(--green);margin:0}
.frow__txt h2 em{font-style:italic;font-weight:500;color:var(--gold)}
.frow__body .lead{font-weight:700;font-size:20px;line-height:24px;color:var(--green);margin:0 0 19px}
.frow__body p{font-size:18px;line-height:24px;color:rgba(14,14,14,.6);margin:0 0 19px}
.frow__body p:last-child{margin-bottom:0}
.frow__img{flex:0 0 558px;max-width:558px;align-self:stretch}
.frow__img img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}

@media(max-width:1100px){
  .frows{padding:50px var(--gutter);gap:28px}
  .frow{max-width:none}
}
@media(max-width:992px){
  .frow,.frow--imgL,.frow--imgR{flex-direction:column;margin:0}
  .frow__img{flex-basis:auto;max-width:100%;width:100%}
  .frow__img img{min-height:0;height:auto;aspect-ratio:558/441}
  .frow__txt{padding:44px var(--gutter)}
  .frow__txt h2{font-size:38px}
}
@media(max-width:640px){
  .frow__txt h2{font-size:30px}
  .frow__txt{padding:34px 24px;gap:24px}
}

/* ============================================================
   SERVICIOS 360 — "Todo incluido" timeline + cards adicionales
   ============================================================ */
.tincl{padding:10px var(--gutter) 70px}
.tincl__items{position:relative;max-width:1165px;margin:0 auto}
.tincl__items::before{content:"";position:absolute;left:58px;top:58px;bottom:58px;width:1px;background:rgba(26,62,29,.22)}
.tincl__item{display:grid;grid-template-columns:117px 1fr;gap:42px;align-items:start}
.tincl__item+.tincl__item{margin-top:32px}
.tincl__circle{width:117px;height:117px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.tincl__circle img{width:62px;height:62px}
.tincl__body{padding-top:16px}
.tincl__body h3{font-size:24px;font-weight:700;color:var(--green);margin:0 0 8px;letter-spacing:.2px}
.tincl__body p{font-size:18px;line-height:1.45;color:rgba(14,14,14,.6);margin:0}
.tincl__body ul{margin:0;padding-left:20px;list-style:none}
.tincl__body li{font-size:18px;line-height:1.55;color:rgba(14,14,14,.6);position:relative}
.tincl__body li::before{content:"·";position:absolute;left:-16px;color:var(--gold);font-weight:700}

.sadd{max-width:1164px;margin:0 auto;padding:0 var(--gutter) 80px;display:grid;grid-template-columns:1fr 1fr;gap:50px}
.sadd__card{display:flex;flex-direction:column;transition:transform .35s var(--ease)}
.sadd__card:hover{transform:translateY(-5px)}
.sadd__card img{width:100%;aspect-ratio:557/270;object-fit:cover;display:block}
.sadd__card .body{padding:26px 28px 0}
.sadd__card h3{font-size:24px;font-weight:700;color:var(--green);margin:0 0 12px}
.sadd__card p{font-size:18px;line-height:1.45;color:rgba(14,14,14,.6);margin:0}

@media(max-width:992px){
  .tincl__item{grid-template-columns:88px 1fr;gap:28px}
  .tincl__circle{width:88px;height:88px}.tincl__circle img{width:46px;height:46px}
  .tincl__items::before{left:44px}
  .sadd{grid-template-columns:1fr;gap:36px}
}
@media(max-width:640px){
  .tincl__body h3,.sadd__card h3{font-size:21px}
  .tincl__body p,.tincl__body li,.sadd__card p{font-size:16px}
  .sadd__card .body{padding:20px 4px 0}
}

/* ============================================================
   SOBRE NOSOTROS — historia + equipo
   ============================================================ */
.history{position:relative;padding:64px 0 0}
.history__inner{position:relative;max-width:1440px;margin:0 auto}
.history__band{position:relative;z-index:0;width:100%;height:520px;margin:-140px 0}
.history__band img{width:100%;height:100%;object-fit:cover;display:block}
.history__card{position:relative;z-index:2;background:#fff;width:min(1165px,calc(100% - 80px));margin-inline:auto;padding:38px 55px;text-align:left}
.history__card h2{font-weight:300;font-size:48px;line-height:1.1;letter-spacing:-.96px;color:var(--green);margin:0 0 24px}
.history__card h2 em{font-style:italic;font-weight:500;color:var(--gold)}
.history__card p{font-size:18px;line-height:27px;color:rgba(14,14,14,.6);margin:0 0 18px}
.history__card p:last-child{margin-bottom:0}
.history__card p.lead{font-weight:700;font-size:24px;color:var(--green);margin:6px 0 18px}

/* Nuestros pilares (banda verde) */
.pilares{position:relative;background:var(--green);padding:48px 0 54px;text-align:center;overflow:hidden}
.pilares__tex{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;mix-blend-mode:multiply;z-index:0;pointer-events:none}
.pilares__h{position:relative;z-index:1;font-weight:300;font-size:48px;line-height:1.1;letter-spacing:-.96px;color:#fff;margin:0 0 28px}
.pilares__h em{font-style:italic;font-weight:500;color:var(--gold)}
.pilares__cols{position:relative;z-index:1;display:flex;justify-content:center;align-items:stretch;gap:0;max-width:1294px;margin:0 auto;padding:14px var(--gutter)}
.pilar{flex:0 0 400px;max-width:400px;padding:6px 40px;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.pilar:not(:last-child){border-right:1px solid rgba(255,255,255,.2)}
.pilar img{height:80px;width:auto}
.pilar h3{font-size:23px;font-weight:500;letter-spacing:3px;color:#fff;margin:4px 0 2px;line-height:1.2}
.pilar p{font-size:18px;line-height:27px;color:rgba(255,255,255,.6);margin:0}

.team-sec{padding:80px 0;position:relative;overflow:hidden}
.team-sec__wm{position:absolute;right:6%;top:48%;width:560px;opacity:.5;z-index:0;pointer-events:none}
.team-head{position:relative;z-index:1}
.team{max-width:1174px;margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(3,1fr);gap:45px 45px;position:relative;z-index:1;align-items:start}
.tm{display:flex;flex-direction:column;align-items:center}
.tm__media{position:relative;width:100%;aspect-ratio:361/267;overflow:hidden}
.tm__media img{width:100%;height:100%;object-fit:cover;display:block}
.tm__name{position:absolute;left:21px;right:21px;bottom:-16px;height:49px;background:var(--green);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:600;letter-spacing:.3px}
.tm__toggle{margin-top:46px;width:45px;height:45px;border:0;border-radius:6px;background:var(--gold);color:#fff;
  font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .25s var(--ease),transform .25s var(--ease)}
.tm__toggle:hover{background:#a07e49;transform:translateY(-2px)}
.tm__detail{width:100%;max-height:0;overflow:hidden;opacity:0;transition:max-height .45s var(--ease),opacity .35s var(--ease),margin .45s var(--ease)}
.tm.open .tm__detail{max-height:420px;opacity:1;margin-top:18px}
.tm__detail .role{font-weight:700;font-size:18px;color:var(--green);margin:0 0 8px;text-align:center}
.tm__detail .desc{font-size:16px;line-height:1.55;color:rgba(14,14,14,.6);margin:0;text-align:left}

@media(max-width:992px){
  .history{padding-top:40px}
  .history__card h2{font-size:36px}
  .history__card{width:calc(100% - 36px);padding:30px 26px}
  .history__band{height:auto;margin:0}
  .history__band img{aspect-ratio:1440/645}
  .pilares__cols{flex-direction:column;align-items:center;gap:0}
  .pilar{flex-basis:auto;max-width:520px;width:100%;padding:30px 20px}
  .pilar:not(:last-child){border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}
  .pilares__h{font-size:38px}
  .team{grid-template-columns:repeat(2,1fr)}
  .team-sec__wm{display:none}
}
@media(max-width:640px){
  .history__card h2,.pilares__h{font-size:28px}
  .pilar h3{font-size:21px;letter-spacing:2px}
  .team{grid-template-columns:1fr;max-width:380px}
  .tm__name{font-size:19px}
}

/* ============================================================
   CABECERA SÓLIDA (páginas sin hero: Galería, Media, FAQs, Contacto)
   ============================================================ */
.site-header--solid{position:sticky;top:0;background:#fff;box-shadow:0 1px 0 rgba(26,62,29,.08)}
.site-header--solid .topbar{background:#8c857a}
.site-header--solid .nav-list a,.site-header--solid .nav-more{color:var(--green)}
.site-header--solid .nav-list a.active,.site-header--solid .nav-list a:hover,.site-header--solid .nav-dd:hover .nav-more{color:var(--gold)}
.site-header--solid .lang{color:#fff}
.site-header--solid .nav-toggle span{background:var(--green)}
.site-header--solid.scrolled{position:sticky;background:#fff;box-shadow:0 6px 20px rgba(26,62,29,.10);animation:none}
.site-header--solid.scrolled .topbar{display:flex}
.site-header--solid.scrolled .navrow{padding-top:14px}
.site-header--solid.scrolled .navrow .shell{height:60px}
.site-header--solid.scrolled .nav-logo,.site-header--solid.scrolled .nav-logo img{height:74px}
.site-header--solid .nav-submenu a{color:#fff}

/* Título de página simple */
.page-title{max-width:1440px;margin:0 auto;padding:54px var(--gutter) 0;font-weight:300;font-size:54px;
  line-height:1.05;letter-spacing:-.96px;color:var(--green)}
.page-title em{font-style:italic;font-weight:500;color:var(--gold)}

/* Galería masonry 3 columnas */
/* Mosaico masonry: columnas CSS, cada foto conserva su proporción natural. */
.mgal{max-width:1360px;margin:0 auto;padding:40px var(--gutter) 80px;column-count:3;column-gap:22px}
.mgal__item{display:block;position:relative;overflow:hidden;margin:0 0 22px;break-inside:avoid;border-radius:3px}
.mgal__item img{width:100%;height:auto;display:block;transition:transform .55s var(--ease)}
.mgal__item::after{content:"";position:absolute;inset:0;background:rgba(26,62,29,0);transition:background .4s var(--ease)}
.mgal__item:hover img{transform:scale(1.04)}
.mgal__item:hover::after{background:rgba(26,62,29,.16)}

@media(max-width:992px){
  .page-title{font-size:42px}
  .mgal{column-count:2;column-gap:16px;padding-bottom:60px}
  .mgal__item{margin-bottom:16px}
}
@media(max-width:640px){
  .page-title{font-size:32px;padding-top:36px}
  .mgal{column-count:1;column-gap:12px}
  .mgal__item{margin-bottom:12px}
}

/* ============================================================
   MEDIA — grid 2 columnas de vídeos
   ============================================================ */
.mediav{max-width:1314px;margin:0 auto;padding:40px var(--gutter) 80px;display:grid;grid-template-columns:1fr 1fr;gap:42px 79px}
.mediav__card{position:relative;aspect-ratio:617/347;overflow:hidden;display:block;cursor:pointer}
.mediav__card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s var(--ease)}
.mediav__card::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.32);transition:background .4s var(--ease)}
.mediav__card:hover img{transform:scale(1.05)}
.mediav__card:hover::after{background:rgba(0,0,0,.18)}
.mediav__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:64px;height:64px;color:#fff;transition:transform .3s var(--ease)}
.mediav__card:hover .mediav__play{transform:translate(-50%,-50%) scale(1.1)}
.mediav__play svg{width:64px;height:64px;display:block}

@media(max-width:992px){.mediav{gap:24px 30px}}
@media(max-width:640px){.mediav{grid-template-columns:1fr;gap:16px}.mediav__play{width:54px;height:54px}.mediav__play svg{width:54px;height:54px}}

/* ============================================================
   FAQs — acordeón
   ============================================================ */
.faqpage{max-width:1440px;margin:0 auto;padding:60px var(--gutter) 80px;display:grid;grid-template-columns:1fr 847px;gap:60px;align-items:start}
.faqpage__title{font-weight:500;font-size:52px;line-height:1.2;letter-spacing:1.5px;text-transform:uppercase;color:rgba(14,14,14,.55);position:sticky;top:140px}
.faq-list{display:flex;flex-direction:column;gap:18px}
.faq{background:rgba(182,144,91,.18);transition:background .3s var(--ease)}
.faq.open{background:rgba(26,62,29,.13)}
.faq__q{width:100%;text-align:left;border:0;background:none;cursor:pointer;display:flex;align-items:center;
  justify-content:space-between;gap:20px;padding:26px 40px;font-family:inherit;font-weight:500;font-size:26px;
  line-height:1.25;letter-spacing:-.4px;color:rgba(14,14,14,.72)}
.faq__q .fchev{width:26px;height:14px;flex:none;color:var(--gold);transition:transform .35s var(--ease)}
.faq.open .faq__q .fchev{transform:rotate(180deg)}
.faq__a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease),padding .4s var(--ease)}
.faq.open .faq__a{max-height:300px;padding:0 40px 26px}
.faq__a p{margin:0;font-size:17px;line-height:26px;color:rgba(14,14,14,.6)}

@media(max-width:1100px){
  .faqpage{grid-template-columns:1fr;gap:30px}
  .faqpage__title{position:static;font-size:42px}
}
@media(max-width:640px){
  .faqpage__title{font-size:30px}
  .faq__q{font-size:19px;padding:20px 22px}
  .faq.open .faq__a{padding:0 22px 22px}
}

/* ============================================================
   CONTACTO — formulario + panel info + mapa
   ============================================================ */
.cform{max-width:1336px;margin:0 auto;padding:36px var(--gutter) 56px}
.cform__row{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:25px}
.cfield{display:flex;flex-direction:column;gap:8px;min-width:0}
.cfield label{font-size:15px;font-weight:500;color:var(--green);letter-spacing:.3px}
.cfield label .req{color:var(--gold)}
.cfield input,.cfield textarea{width:100%;border:1px solid #d8d4cb;background:#fff;border-radius:2px;
  padding:14px 17px;font-family:inherit;font-size:16px;color:var(--green);transition:border-color .25s var(--ease)}
.cfield input::placeholder,.cfield textarea::placeholder{color:#b3aea3}
.cfield input:focus,.cfield textarea:focus{outline:none;border-color:var(--gold)}
.cfield textarea{resize:vertical;min-height:120px}
.cform__foot{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:6px;flex-wrap:wrap}
.cform__opts{display:flex;flex-direction:column;gap:12px;font-size:15px;color:rgba(14,14,14,.6)}
.cfile{display:inline-flex;align-items:center;gap:12px}
.cfile .btn-file{border:1px solid var(--gold);color:var(--gold);background:none;border-radius:2px;padding:6px 14px;font-size:13px;cursor:pointer;font-family:inherit;transition:.25s}
.cfile .btn-file:hover{background:var(--gold);color:#fff}
.ccheck{display:flex;align-items:center;gap:10px}
.ccheck input{width:18px;height:18px;accent-color:var(--gold)}
.cform__send{background:var(--gold);color:#fff;border:0;border-radius:2px;padding:15px 54px;font-family:inherit;
  font-size:16px;font-weight:500;cursor:pointer;transition:background .3s var(--ease),transform .3s var(--ease)}
.cform__send:hover{background:#a07e49;transform:translateY(-2px)}

.cinfo{width:100%;max-width:1440px;margin:0 auto;display:grid;grid-template-columns:438px 1fr 610px;align-items:stretch}
.cinfo__panel{background:var(--gold);color:#fff;padding:54px 45px;display:flex;flex-direction:column;gap:32px;justify-content:center}
.cinfo__panel .row{display:flex;align-items:flex-start;gap:16px;font-size:16px;line-height:1.5}
.cinfo__panel .row .ic{width:22px;height:22px;flex:none;margin-top:2px;filter:brightness(0) invert(1)}
.cinfo__dir{padding:40px 46px;font-size:15px;line-height:23px;color:rgba(14,14,14,.62)}
.cinfo__dir p{margin:0 0 15px}
.cinfo__dir strong{color:var(--green);font-weight:700}
.cinfo__dir .dlmap{margin-top:8px}
.cinfo__map{position:relative;min-height:517px}
.cinfo__map img{width:100%;height:100%;object-fit:cover;display:block}

@media(max-width:1100px){
  .cinfo{grid-template-columns:1fr 1fr}
  .cinfo__map{grid-column:1/-1;min-height:380px}
}
@media(max-width:760px){
  .cform__row{grid-template-columns:1fr;gap:18px}
  .cinfo{grid-template-columns:1fr}
  .cform__foot{align-items:flex-start}
  .cform__send{width:100%}
}

/* ============================================================
   OPINIONES — página de reseñas (listado completo)
   ============================================================ */
.op-hero{padding:150px 0 20px;text-align:center}
.op-hero .eyebrow{display:inline-block;margin-bottom:14px}
.op-hero__title{font-weight:300;font-size:52px;line-height:1.12;letter-spacing:-1px;color:var(--green);margin:0}
.op-hero__title em{font-style:italic;font-weight:500;color:var(--gold)}
.op-hero__sub{max-width:680px;margin:18px auto 0;font-size:18px;line-height:1.5;color:rgba(14,14,14,.6)}
.op-list{padding:44px 0 70px}
.op-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:start}
.op-grid .rev-card{flex:none;width:auto;min-width:0}
.op-countries{margin-top:44px}
.op-empty{text-align:center;font-size:18px;color:rgba(14,14,14,.55);padding:40px 0}
.op-gop-sec{padding:0 0 80px}

/* ── Páginas genéricas / legales (page.php .dsp-generic .entry) ───────── */
.dsp-generic .h-section{margin:0 0 26px;color:var(--green)}
.dsp-generic .entry{font-size:16px;line-height:1.7;color:#333}
.dsp-generic .entry p{margin:0 0 16px}
.dsp-generic .entry h2{font-size:24px;font-weight:600;color:var(--green);margin:32px 0 12px}
.dsp-generic .entry h3{font-size:19px;font-weight:600;color:var(--ink);margin:24px 0 10px}
.dsp-generic .entry b,.dsp-generic .entry strong{color:var(--green);font-weight:700}
.dsp-generic .entry ul,.dsp-generic .entry ol{margin:0 0 16px;padding-left:22px}
.dsp-generic .entry li{margin:6px 0}
.dsp-generic .entry a{color:var(--gold);text-decoration:underline}
/* tablas (p.ej. lista de cookies) */
.dsp-generic .entry table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14.5px;line-height:1.5}
.dsp-generic .entry th,.dsp-generic .entry td{border:1px solid rgba(26,62,29,.18);padding:10px 14px;text-align:left;vertical-align:top}
.dsp-generic .entry thead th,.dsp-generic .entry thead td,.dsp-generic .entry tr:first-child th{background:var(--green);color:#fff;font-weight:600;border-color:var(--green)}
.dsp-generic .entry table tr:first-child td{background:var(--green);color:#fff;font-weight:600;border-color:var(--green)}
.dsp-generic .entry tbody tr:nth-child(even) td{background:rgba(182,144,91,.06)}
.dsp-generic .entry table + p{margin-top:20px}
@media (max-width:640px){
  .dsp-generic .entry{font-size:15px}
  .dsp-generic .entry table{display:block;overflow-x:auto;white-space:nowrap}
}

/* ── Pop-up de descarga con captura de lead ──────────────────────────── */
.dlgate{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.dlgate[hidden]{display:none}
.dlgate__backdrop{position:absolute;inset:0;background:rgba(14,14,14,.6);backdrop-filter:blur(2px)}
.dlgate__box{position:relative;z-index:1;background:#fff;border-radius:4px;width:100%;max-width:460px;padding:36px 34px 30px;box-shadow:0 24px 60px rgba(0,0,0,.28);max-height:90vh;overflow:auto}
.dlgate__x{position:absolute;top:10px;right:14px;border:0;background:none;font-size:28px;line-height:1;color:#9a9a9a;cursor:pointer}
.dlgate__x:hover{color:var(--green)}
.dlgate__title{margin:0 0 6px;font-size:26px;font-weight:500;color:var(--green)}
.dlgate__sub{margin:0 0 20px;font-size:15px;color:#666}
.dlgate__f{display:block;margin-bottom:14px}
.dlgate__f span{display:block;font-size:13px;font-weight:600;color:var(--green);margin-bottom:6px;letter-spacing:.3px}
.dlgate__f input{width:100%;border:1px solid #d8d4cb;border-radius:2px;padding:11px 14px;font-size:15px;font-family:inherit;color:#333}
.dlgate__f input:focus{outline:none;border-color:var(--gold)}
.dlgate__check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:#555;margin:6px 0 16px;line-height:1.45}
.dlgate__check input{margin-top:3px;accent-color:var(--gold);flex:none}
.dlgate__check a{color:var(--gold);text-decoration:underline}
.dlgate__msg{margin:0 0 12px;font-size:13.5px;color:#b32d2e}
.dlgate__msg.is-ok{color:#1a7f37}
.dlgate__send{width:100%;border:0;border-radius:2px;background:var(--gold);color:#fff;font-family:inherit;font-weight:700;font-size:16px;padding:14px 20px;cursor:pointer;transition:background .2s ease}
.dlgate__send:hover{background:#a07e49}
.dlgate__send[disabled]{opacity:.6;cursor:default}
@media (max-width:480px){.dlgate__box{padding:30px 22px 24px}.dlgate__title{font-size:22px}}

/* ── Ajustes solicitados por el cliente (jul-2026) ───────────────────── */
/* Equipo: los nombres largos se cortaban (alto fijo 49px) */
.tm__name{height:auto;min-height:49px;padding:10px 12px;line-height:1.2;display:flex;align-items:center;justify-content:center;text-align:center;word-break:break-word}
@media (max-width:900px){.tm__name{font-size:17px}}
/* Servicios: separar el bloque "Todo lo que necesitas…" del vídeo superior */
.tincl{padding-block:64px}  /* Servicios: mismo aire arriba y abajo (ver responsive-fixes para tablet/movil) */
/* Opiniones: centrar verticalmente el banner de Guns on Pegs dentro de su caja crema.
   La sección tenía padding-top:0 y 80px abajo -> la tarjeta quedaba pegada arriba. */
.gop{align-items:center}
.op-gop-sec{padding-block:80px}
.op-gop-sec .gop{margin-top:0}
@media (max-width:900px){.op-gop-sec{padding-block:56px}}

/* ---- Lightbox de galería: las fotos se abren en la propia página ---- */
.dsplb{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(10,14,10,.94);opacity:0;transition:opacity .22s ease}
.dsplb.is-open{display:flex}
.dsplb.is-vis{opacity:1}
.dsplb__fig{margin:0;max-width:min(92vw,1400px);max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:14px}
.dsplb__img{max-width:92vw;max-height:78vh;object-fit:contain;border-radius:4px;box-shadow:0 24px 70px rgba(0,0,0,.5);user-select:none;-webkit-user-drag:none;opacity:0;transition:opacity .18s ease}
.dsplb__img.is-ready{opacity:1}
.dsplb__cap{color:rgba(255,255,255,.82);font-size:15px;line-height:1.4;text-align:center;max-width:70ch;margin:0}
.dsplb__count{position:absolute;top:22px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:14px;letter-spacing:.08em}
.dsplb__btn{position:absolute;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);color:#fff;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,border-color .18s ease;padding:0}
.dsplb__btn:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.55)}
.dsplb__btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.dsplb__close{top:18px;right:20px}
.dsplb__prev{left:24px;top:50%;transform:translateY(-50%)}
.dsplb__next{right:24px;top:50%;transform:translateY(-50%)}
.dsplb.is-single .dsplb__prev,.dsplb.is-single .dsplb__next,.dsplb.is-single .dsplb__count{display:none}
body.dsplb-lock{overflow:hidden}
a[data-dsp-lb]{cursor:zoom-in}
@media (max-width:640px){
  .dsplb__btn{width:44px;height:44px}
  .dsplb__prev{left:10px}.dsplb__next{right:10px}
  .dsplb__close{top:12px;right:12px}
  .dsplb__img{max-height:70vh}
  .dsplb__cap{font-size:14px;padding:0 16px}
}

/* ---- Itinerario: filas sin hora y nota al pie (usadas en la home inglesa) ---- */
.tl-row--nohora{height:46px}
.tl-row--nohora .tl-dot{opacity:0}
.itin__note{margin:26px 0 0;font-size:17px;line-height:1.5;color:rgba(31,31,31,.6);max-width:52ch}
@media (max-width:900px){.itin__note{font-size:16px}}

/* ---- Reproductor de vídeo en la propia página ---- */
.dspvid{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;background:rgba(8,12,8,.95);opacity:0;transition:opacity .22s ease}
.dspvid.is-open{display:flex}
.dspvid.is-vis{opacity:1}
.dspvid__inner{width:min(92vw,1180px);display:flex;flex-direction:column;align-items:center;gap:14px}
.dspvid__slot{width:100%;aspect-ratio:16/9;background:#000;border-radius:4px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.dspvid__slot iframe,.dspvid__slot video{width:100%;height:100%;border:0;display:block;object-fit:contain;background:#000}
.dspvid__title{margin:0;color:rgba(255,255,255,.85);font-size:16px;text-align:center}
.dspvid__close{position:absolute;top:18px;right:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);color:#fff;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .18s ease}
.dspvid__close:hover{background:rgba(255,255,255,.2)}
.dspvid__close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
a[data-dsp-video]{cursor:pointer}
@media (max-width:640px){
  .dspvid__close{width:44px;height:44px;top:12px;right:12px}
  .dspvid__inner{width:94vw}
}

/* ---- Fotos del equipo: evitar cortar caras ----
   La tarjeta es apaisada (361/267). Con fotos verticales el recorte por
   defecto se lleva la cabeza, así que se ancla el encuadre a la parte alta.
   Cada ficha puede forzar el suyo desde el admin. */
.tm__media img{object-position:center 22%}
.tm__media--arriba img{object-position:center top}
.tm__media--centro img{object-position:center center}
.tm__media--abajo img{object-position:center bottom}

/* La banda con el nombre sobresale 16px bajo la foto (diseño Figma), pero
   .tm__media recortaba con overflow:hidden y se comía un tercio del rótulo.
   La imagen no desborda (object-fit: cover), así que se puede liberar. */
.tm__media{overflow:visible}
.tm__name{padding:12px 14px;line-height:1.25}

/* ============ Media & Prensa: rejilla de artículos ============ */
.prensa{padding-block:clamp(40px,5vw,66px) clamp(60px,7vw,100px)}
.prensa__wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.prensa__title-page{margin:0 0 8px;font-weight:300;font-size:54px;line-height:1.05;letter-spacing:-1px;color:var(--green)}
.prensa__title-page em{font-style:italic;font-weight:500;color:var(--gold)}
.prensa__intro{max-width:64ch;margin:0 0 40px;font-size:18px;line-height:1.55;color:rgba(31,31,31,.6)}
@media(max-width:900px){.prensa__title-page{font-size:42px}}
@media(max-width:560px){.prensa__title-page{font-size:34px}}
.prensa__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 34px}
.prensa__card{min-width:0}
.prensa__link{display:flex;flex-direction:column;gap:16px;text-decoration:none;color:inherit}
.prensa__media{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;border-radius:4px;background:var(--cream,#f3efe7);box-shadow:0 12px 34px rgba(20,30,20,.14);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.prensa__media img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.prensa__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:30px;letter-spacing:.1em;color:rgba(26,62,29,.4)}
.prensa__hover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(20,40,22,.55);opacity:0;transition:opacity .3s var(--ease)}
.prensa__cta{border:1.5px solid #fff;color:#fff;font-size:15px;letter-spacing:.12em;text-transform:uppercase;padding:11px 26px;border-radius:2px;background:rgba(0,0,0,.05)}
.prensa__link:hover .prensa__media{transform:translateY(-4px);box-shadow:0 20px 48px rgba(20,30,20,.22)}
.prensa__link:hover .prensa__hover,.prensa__link:focus-visible .prensa__hover{opacity:1}
.prensa__title{font-size:18px;line-height:1.35;color:var(--green);font-weight:600;text-align:center}
.prensa__empty{text-align:center;color:rgba(31,31,31,.5);padding:40px 0}
@media (max-width:900px){.prensa__grid{grid-template-columns:repeat(2,1fr);gap:30px 24px}}
@media (max-width:560px){.prensa__grid{grid-template-columns:1fr;max-width:360px;margin:0 auto}.prensa__title{font-size:17px}}

/* Visor de PDF a pantalla completa */
.dsppdf{position:fixed;inset:0;z-index:10000;display:none;flex-direction:column;background:rgba(8,12,8,.96);opacity:0;transition:opacity .22s ease}
.dsppdf.is-open{display:flex}
.dsppdf.is-vis{opacity:1}
.dsppdf__bar{display:flex;align-items:center;gap:16px;padding:12px 18px;color:#fff;flex:0 0 auto}
.dsppdf__name{font-size:15px;line-height:1.3;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dsppdf__dl{display:inline-flex;align-items:center;gap:8px;background:var(--gold,#b6905b);color:#fff;text-decoration:none;font-size:14px;letter-spacing:.03em;padding:9px 16px;border-radius:3px;white-space:nowrap;transition:background .18s ease}
.dsppdf__dl:hover{background:#a07e49}
.dsppdf__dl svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.dsppdf__close{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex:0 0 auto;transition:background .18s ease}
.dsppdf__close:hover{background:rgba(255,255,255,.2)}
.dsppdf__close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.dsppdf__frame{flex:1 1 auto;width:100%;border:0;background:#525659}
@media (max-width:560px){.dsppdf__name{display:none}}

/* ============ Media & Prensa: galería de imágenes y vídeos ============ */
.media-gal{padding-block:clamp(20px,4vw,50px) clamp(60px,8vw,110px)}
.media-gal .media-head{margin-bottom:clamp(30px,4vw,52px)}
.media-gal__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.media-gal__item{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:var(--cream,#f3efe7);cursor:zoom-in}
.media-gal__item.is-video{cursor:pointer}
.media-gal__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease)}
.media-gal__item:hover img{transform:scale(1.04)}
.media-gal__item::after{content:"";position:absolute;inset:0;background:rgba(20,40,22,0);transition:background .3s var(--ease)}
.media-gal__item:hover::after{background:rgba(20,40,22,.18)}
.media-gal__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;z-index:1;pointer-events:none;filter:drop-shadow(0 2px 10px rgba(0,0,0,.4))}
.media-gal__play svg{width:60px;height:60px;transition:transform .3s var(--ease)}
.media-gal__item:hover .media-gal__play svg{transform:scale(1.08)}
@media (max-width:900px){.media-gal__grid{grid-template-columns:repeat(2,1fr);gap:12px}.media-gal__play svg{width:48px;height:48px}}
@media (max-width:520px){.media-gal__grid{grid-template-columns:1fr 1fr;gap:10px}}

/* ============ Reels verticales (Instagram / vídeo / imagen) ============ */
.reels{padding-block:clamp(50px,6vw,86px)}
.reels .media-head{margin-bottom:clamp(28px,4vw,48px)}
.reels__row{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;justify-content:safe center}
.reels__row::-webkit-scrollbar{height:6px}
.reels__row::-webkit-scrollbar-thumb{background:rgba(26,62,29,.25);border-radius:3px}
.reels__card{flex:0 0 auto;width:clamp(260px,26vw,340px);scroll-snap-align:center}
/* Instagram: el embed trae su propia proporción; le damos altura cómoda */
.reels__ig{position:relative;width:100%;background:#000;border-radius:10px;overflow:hidden;box-shadow:0 14px 40px rgba(20,30,20,.16)}
.reels__ig iframe{width:100%;height:min(78vh,640px);border:0;display:block}
/* Vídeo / imagen: tarjeta vertical 9:16 */
.reels__media{position:relative;display:block;width:100%;aspect-ratio:9/16;overflow:hidden;border-radius:10px;background:var(--cream,#f3efe7);box-shadow:0 14px 40px rgba(20,30,20,.16);cursor:zoom-in}
.reels__media.is-video{cursor:pointer}
.reels__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease)}
.reels__media:hover img{transform:scale(1.04)}
.reels__media::after{content:"";position:absolute;inset:0;background:rgba(20,40,22,0);transition:background .3s var(--ease)}
.reels__media:hover::after{background:rgba(20,40,22,.18)}
.reels__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;z-index:1;pointer-events:none;filter:drop-shadow(0 2px 10px rgba(0,0,0,.45))}
.reels__play svg{width:58px;height:58px}
@media (max-width:640px){
  .reels__card{width:78vw}
  .reels__ig iframe{height:70vh}
  .reels__play svg{width:48px;height:48px}
}

/* ---- Contacto vía Contact Form 7: mismo aspecto que el formulario propio ---- */
.cform--cf7 .wpcf7{margin:0}
.cform--cf7 .cfield .wpcf7-form-control-wrap{display:block;width:100%}
.cform--cf7 .cfield input,.cform--cf7 .cfield textarea{width:100%;border:1px solid #d8d4cb;background:#fff;border-radius:2px;padding:14px 16px;font-family:inherit;font-size:16px;color:var(--green)}
.cform--cf7 .cfield input::placeholder,.cform--cf7 .cfield textarea::placeholder{color:#b3aea3}
.cform--cf7 .cfield input:focus,.cform--cf7 .cfield textarea:focus{outline:none;border-color:var(--gold)}
.cform--cf7 .cfield textarea{resize:vertical;min-height:120px}
/* botón enviar */
.cform--cf7 .cform__send,.cform--cf7 input.wpcf7-submit{background:var(--gold);color:#fff;border:0;border-radius:2px;padding:15px 54px;font-family:inherit;font-size:16px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:.25s}
.cform--cf7 .cform__send:hover,.cform--cf7 input.wpcf7-submit:hover{background:#a07e49;transform:translateY(-2px)}
/* checkbox de aceptación */
.cform--cf7 .ccheck .wpcf7-list-item{margin:0}
.cform--cf7 .ccheck .wpcf7-list-item-label,.cform--cf7 .ccheck a{font-size:15px;color:rgba(14,14,14,.6)}
.cform--cf7 .ccheck a{color:var(--gold)}
.cform--cf7 .ccheck input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold);margin-right:8px}
.cform--cf7 .ccheck label{display:flex;align-items:center;gap:6px}
/* botón de archivo estilo "Subir archivo" */
.cform--cf7 .cfile input[type=file]{font-size:13px;color:rgba(14,14,14,.5)}
.cform--cf7 .cfile input[type=file]::file-selector-button{border:1px solid var(--gold);color:var(--gold);background:none;border-radius:2px;padding:6px 14px;font-size:13px;cursor:pointer;font-family:inherit;margin-right:12px;transition:.25s}
.cform--cf7 .cfile input[type=file]::file-selector-button:hover{background:var(--gold);color:#fff}
/* avisos de validación / envío de CF7 */
.cform--cf7 .wpcf7-not-valid-tip{color:#c0392b;font-size:13px;margin-top:4px;display:block}
.cform--cf7 .wpcf7-response-output{margin:18px 0 0;border-radius:2px;padding:12px 16px;font-size:14px}
.cform--cf7 .wpcf7 form.invalid .wpcf7-response-output{border:1px solid #e0b4b4;background:#fdf3f3;color:#a94442}
.cform--cf7 .wpcf7 form.sent .wpcf7-response-output{border:1px solid #b7d8b7;background:#f2faf2;color:#2e7d32}

/* ---- Pop-up del programa vía CF7: mismo aspecto que el formulario propio ---- */
.dlgate__cf7 .wpcf7{margin:0}
.dlgate__cf7 .dlgate__f{margin-bottom:14px}
.dlgate__cf7 .wpcf7-form-control-wrap{display:block}
.dlgate__cf7 input[type=text],.dlgate__cf7 input[type=email],.dlgate__cf7 input[type=tel]{width:100%;border:1px solid #d8d4cb;border-radius:2px;padding:11px 14px;font-size:15px;font-family:inherit;color:#333}
.dlgate__cf7 input:focus{outline:none;border-color:var(--gold)}
.dlgate__cf7 .dlgate__check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:#555;margin:6px 0 16px;line-height:1.45}
.dlgate__cf7 .dlgate__check .wpcf7-list-item{margin:0}
.dlgate__cf7 .dlgate__check input[type=checkbox]{margin-top:3px;accent-color:var(--gold);flex:none;width:16px;height:16px}
.dlgate__cf7 .dlgate__check a{color:var(--gold);text-decoration:underline}
.dlgate__cf7 .dlgate__send,.dlgate__cf7 input.wpcf7-submit{width:100%;border:0;border-radius:2px;background:var(--gold);color:#fff;font-family:inherit;font-weight:700;font-size:16px;padding:14px 20px;cursor:pointer;transition:background .2s ease}
.dlgate__cf7 .dlgate__send:hover,.dlgate__cf7 input.wpcf7-submit:hover{background:#a07e49}
.dlgate__cf7 .wpcf7-not-valid-tip{color:#b32d2e;font-size:12.5px;margin-top:3px}
.dlgate__cf7 .wpcf7-response-output{margin:12px 0 0;font-size:13px;border-radius:2px;padding:9px 12px}
.dlgate__cf7 .wpcf7 form.sent .wpcf7-response-output{border:1px solid #b7d8b7;background:#f2faf2;color:#1a7f37}
.dlgate__cf7 .wpcf7 form.invalid .wpcf7-response-output{border:1px solid #e0b4b4;background:#fdf3f3;color:#b32d2e}
