/* =========================================================
   Hacienda Picarquín 2026 — hoja de estilos base
   Diseño XD 1920px  →  código a escala 0.75 (menú = 15px)
   Ancho de referencia: 1440px
   ========================================================= */

/* ---------- Tokens ---------- */
:root{
  --verde-oscuro:#405037;
  --verde-medio:#3F4F36;
  --verde-lima:#9DB900;
  --verde-hero:#224531;
  --naranjo:#F29600;
  --amarillo:#FFBE0B;
  --amarillo-2:#FCAE00;
  --gris-texto:#707070;
  --gris-medio:#727272;
  --gris-f2:#F2F2F2;
  --gris-f0:#F0F0F0;
  --tierra:#5F5252;
  --footer:#5F5B58;
  --blanco:#fff;

  --ff-title:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --ff-text:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --ff-alt:'Open Sans','Montserrat',sans-serif;

  --wrap:1440px;
  --pad:64px;
  --torn-h:61px;--edge-h:67.5px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--ff-title);
  color:var(--gris-texto);
  background:#fff;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,p{margin:0}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}

/* ---------- Utilidades ---------- */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}

.h2{
  font-size:32px;line-height:40px;font-weight:700;color:var(--verde-oscuro);text-align:center;
}
.h2--orange{color:var(--naranjo)}
.h2-sub{
  font-size:25px;line-height:32px;font-weight:600;color:var(--gris-medio);text-align:center;
  margin-top:-5px;
}
.h2-sub--sm{font-size:20px;line-height:26px;margin-top:-5.9px}
.h2-over{
  font-size:20px;line-height:26px;font-weight:600;color:var(--gris-medio);text-align:center;margin-bottom:2px;
}
.section__sub{
  font-size:20px;line-height:26px;font-weight:600;color:var(--gris-medio);text-align:center;
  max-width:847px;margin:10px auto 0;
}
.section__sub--white{color:#fff;margin-top:4.1px}
.section__head{text-align:center}

/* ---------- Botones ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-size:15px;line-height:1;font-weight:600;color:#fff;
  height:36px;padding:0 16.5px;border-radius:5.25px;
  transition:filter .2s ease, transform .2s ease;
  white-space:nowrap;
}
.btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
/* Signo "+" que aparece al pasar el cursor por cualquier botón del sitio. */
.btn::after{
  content:"";flex:0 0 auto;
  width:0;height:.9em;margin-left:0;opacity:0;
  background:currentColor;
  -webkit-mask:url('../svg/plus-mask.svg') no-repeat center/contain;
          mask:url('../svg/plus-mask.svg') no-repeat center/contain;
  transform:translateX(-4px);
  transition:width .3s cubic-bezier(.22,.61,.36,1),
             margin-left .3s cubic-bezier(.22,.61,.36,1),
             opacity .25s ease,
             transform .3s cubic-bezier(.22,.61,.36,1);
}
.btn:hover::after,
.btn:focus-visible::after{width:.9em;margin-left:.6em;opacity:1;transform:translateX(0)}
@media (prefers-reduced-motion:reduce){
  .btn::after{transition:none}
}
.btn--orange{background:var(--naranjo)}
.btn--green{background:var(--verde-lima)}
.btn--lg{height:50px;padding:0 26px;font-size:17px;border-radius:5.25px}
.btn--cta{height:48px;padding:0 22px;font-size:16px;border-radius:7.5px}
.btn--header{height:36px;min-width:181.5px}

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  /* Fija: acompaña al usuario al bajar y se encoge (ver «cabecera al bajar»). */
  position:fixed;inset:0 0 auto 0;z-index:40;
  transition:background-color .28s ease, box-shadow .28s ease;
}
.header-inner{
  width:100%;max-width:var(--wrap);margin-inline:auto;
  padding:0 61.5px 0 65.25px;height:144px;
  display:flex;align-items:center;
  transition:height .28s ease, padding .28s ease;
}
.logo{flex:0 0 auto;margin-top:-15px;transition:margin-top .28s ease}
.logo img{width:171px;height:auto;transition:width .28s ease}
.site-header:not(.site-header--solid) .logo__img--oscuro{display:none}

/* La barra de administración de WordPress empuja los elementos fijos. */
body.admin-bar .site-header{top:32px}

.nav{flex:1 1 auto;min-width:0;display:flex;align-items:center;margin-left:45px}
.nav-list{display:flex;flex-wrap:nowrap;align-items:center;gap:34.35px}
.btn--header{margin-left:auto;white-space:nowrap}
.nav-list > li > a{
  font-size:15px;font-weight:600;color:#fff;line-height:18px;
  position:relative;padding-bottom:3px;white-space:nowrap;
}
.nav-list > li > a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--amarillo);
  transition:right .25s ease;
}
.nav-list > li > a:hover::after,.nav-list > li > a.is-active::after{right:0}

.has-sub{position:relative}
.sub{
  position:absolute;top:100%;left:-16px;min-width:250px;padding:10px 0;margin-top:10px;
  background:rgba(64,80,55,.96);border-radius:6px;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s ease;
}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none}
.sub a{display:block;padding:7px 18px;font-size:14px;font-weight:600;color:#fff}
.sub a:hover{background:rgba(255,255,255,.12)}

.nav-toggle{display:none;width:34px;height:26px;flex-direction:column;justify-content:space-between;margin-left:auto}
.nav-toggle span{display:block;height:3px;background:#fff;border-radius:2px}

/* En escritorio el logo, cada ítem y el botón se reparten el mismo espacio:
   «display:contents» saca las cajas intermedias y deja a los <li> como hijos
   directos de la cabecera, así «space-between» los separa por igual. */
@media (min-width:1025px){
  .header-inner{justify-content:space-between;column-gap:0}
  .nav,.nav-list{display:contents}
  .btn--header{margin-left:0}
}

/* =========================================================
   HERO
   ========================================================= */
.hero{position:relative;height:703.5px;overflow:hidden;isolation:isolate}
.hero__media{
  position:absolute;inset:0;
  background:url('../img/hero.webp') center/cover no-repeat;
}
.hero__video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
}
.hero__embed{position:absolute;inset:0;overflow:hidden}
.hero__embed iframe{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:100vw;height:56.25vw;min-width:177.78vh;min-height:100%;border:0;pointer-events:none;
}
@media (prefers-reduced-motion:reduce){
  .hero__video,.hero__embed{display:none}
}
.hero__overlay{position:absolute;inset:0;background:var(--verde-hero);opacity:.299;mix-blend-mode:multiply}
.hero__inner{
  position:relative;z-index:2;height:100%;
  width:100%;max-width:var(--wrap);margin-inline:auto;padding:0 var(--pad);
}
.hero__content{position:absolute;left:calc(var(--pad) + 85.25px);top:206.6px}
.hero__hacienda{width:182px;height:auto}
.hero__picarquin{width:407px;height:auto;margin-top:5.6px}
.hero__claim{
  font-size:34px;line-height:42px;font-weight:400;color:#fff;margin-top:-1px;
}
.hero__lead{
  font-family:var(--ff-text);font-size:20px;line-height:26px;color:#fff;
  max-width:457px;margin-top:25.3px;
}
.hero__actions{display:flex;gap:12.75px;margin-top:36.5px}
.hero__actions .btn{min-width:181.5px}
.hero__actions .btn--green{min-width:147px}

/* ---------- Anclas: el salto es suave y deja aire bajo la cabecera ---------- */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
section[id],div[id].section,article[id]{scroll-margin-top:104px}

/* ---------- Borde rasgado ---------- */
.torn{
  position:absolute;left:-1px;right:-1px;bottom:-1px;height:var(--torn-h);z-index:3;
  background-repeat:no-repeat;background-size:100% 100%;background-position:bottom center;
  pointer-events:none;
}
.torn--white{background-image:url('../svg/torn-white.svg')}
.torn--gray{background-image:url('../svg/torn-gray.svg')}

/* =========================================================
   TIPOS DE EVENTOS
   ========================================================= */
.section{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.section--organizacion{padding-top:40px;padding-bottom:34px}

.cats{
  display:grid;grid-template-columns:repeat(6,1fr);gap:6.75px;
  max-width:1284.75px;margin:70px auto 0;
}
.cat{
  /* Cerrada: la foto se ve limpia, con un degradado verde en la parte inferior,
     el título sobre él y un "+" amarillo abajo a la derecha.
     Al pasar el cursor: velo verde sobre toda la foto, el título sube y entran
     la bajada y la flecha de izquierda a derecha.
     Los tamaños van en cqw (ancho de la propia tarjeta) para que la composición
     se mantenga igual en cualquier ancho de pantalla. */
  position:relative;display:block;aspect-ratio:278/469;container-type:inline-size;
  border-radius:8px;overflow:hidden;isolation:isolate;background:#3d4a34;
}
.cat__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cat__veil{
  position:absolute;inset:0;background:var(--verde-oscuro);
  opacity:0;transition:opacity .35s ease;
}
.cat:hover .cat__veil,
.cat:focus-visible .cat__veil{opacity:.58}
.cat--light:hover .cat__veil,
.cat--light:focus-visible .cat__veil{opacity:.5}
.cat__fade{
  position:absolute;left:0;right:0;bottom:0;height:60%;pointer-events:none;
  background:linear-gradient(to top,
    rgba(64,80,55,.90) 0%,
    rgba(64,80,55,.78) 22%,
    rgba(64,80,55,.40) 58%,
    rgba(64,80,55,0) 100%);
}
.cat__body{
  position:absolute;left:11.15%;right:7.7%;bottom:min(12px,5.75cqw);z-index:2;display:block;
}
.cat__title{
  display:block;color:#fff;font-weight:700;
  font-size:min(18px,8.63cqw);line-height:min(21px,10.07cqw);
  text-shadow:0 1px 6px rgba(0,0,0,.28);
}
.cat__title small,
.cat__title b{display:block;font-size:inherit;line-height:inherit;font-weight:700}
.cat__reveal{
  display:block;overflow:hidden;max-height:0;
  transition:max-height .35s cubic-bezier(.22,.61,.36,1);
}
.cat:hover .cat__reveal,
.cat:focus-visible .cat__reveal{max-height:min(150px,72cqw)}
.cat__text{
  display:block;margin-top:min(10px,4.8cqw);
  font-family:var(--ff-alt);font-weight:600;color:#fff;
  font-size:min(13px,6.24cqw);line-height:min(16px,7.67cqw);
  opacity:0;transform:translateX(-26px);
  transition:opacity .3s ease,transform .35s cubic-bezier(.22,.61,.36,1);
}
.cat:hover .cat__text,
.cat:focus-visible .cat__text{opacity:1;transform:none;transition-delay:.08s}

/* Zona inferior: un "+" amarillo que se convierte en la flecha al hacer hover.
   El trazo horizontal del + se estira hacia la izquierda y las dos mitades del
   trazo vertical giran 45° para formar la punta. En hover el espacio superior
   crece: el bloque de texto sube y la flecha queda abajo. */
.cat__foot{
  --g:min(5.7px,2.73cqw);   /* grosor del trazo */
  --p:min(11px,5.27cqw);    /* medio brazo del "+" */
  --h:min(17px,8.15cqw);    /* brazo de la punta de la flecha */
  position:relative;display:block;
  height:min(26px,12.47cqw);margin-top:min(10px,4.8cqw);
  transition:margin-top .35s cubic-bezier(.22,.61,.36,1);
}
.cat:hover .cat__foot,
.cat:focus-visible .cat__foot{margin-top:min(64px,30.7cqw)}
.cat__shaft,
.cat__up,
.cat__down{
  position:absolute;background:var(--amarillo);border-radius:999px;
  transition:width .45s cubic-bezier(.22,.61,.36,1),
             height .45s cubic-bezier(.22,.61,.36,1),
             transform .45s cubic-bezier(.22,.61,.36,1);
}
.cat__shaft{
  right:0;top:50%;height:var(--g);width:calc(var(--p) * 2);
  transform:translateY(-50%);
}
/* Los dos brazos se cruzan media pestaña sobre el centro y giran alrededor del
   centro de su cabeza redondeada: así las dos puntas coinciden en un solo punto
   y la flecha termina redondeada en vez de cortada. */
.cat__up,
.cat__down{
  right:calc(var(--g) / -2);width:var(--g);
  height:calc(var(--p) + var(--g) / 2);
  transform:translateX(calc(var(--p) * -1)) rotate(0deg);
}
.cat__up{
  bottom:calc(50% - var(--g) / 2);
  transform-origin:50% calc(100% - var(--g) / 2);
}
.cat__down{
  top:calc(50% - var(--g) / 2);
  transform-origin:50% calc(var(--g) / 2);
}

.cat:hover .cat__shaft,
.cat:focus-visible .cat__shaft{width:100%}
.cat:hover .cat__up,
.cat:focus-visible .cat__up{
  height:calc(var(--h) + var(--g) / 2);transform:translateX(0) rotate(-45deg);
}
.cat:hover .cat__down,
.cat:focus-visible .cat__down{
  height:calc(var(--h) + var(--g) / 2);transform:translateX(0) rotate(45deg);
}

@media (prefers-reduced-motion:reduce){
  .cat__veil,.cat__reveal,.cat__text,.cat__foot,
  .cat__shaft,.cat__up,.cat__down{transition:none}
}

/* =========================================================
   POR QUÉ ELEGIR
   ========================================================= */
.section--porque{padding-top:60.2px;padding-bottom:39.1px}
.stats{
  display:grid;grid-template-columns:repeat(5,1fr);gap:40px 8.25px;
  max-width:1020px;margin:44px auto 0;
}
.stat{display:flex;flex-direction:column;align-items:center;text-align:center}
.stat__icon{height:62px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:9px}
.stat__icon img{width:auto;height:auto}
.stat p{font-size:15px;line-height:20px;font-weight:700;color:var(--gris-texto);max-width:180px}

/* =========================================================
   NUESTROS ESPACIOS  (sección tierra)
   ========================================================= */
.espacios{
  position:relative;margin-top:-1px;
  background-color:var(--tierra);isolation:isolate;
  /* El borde superior dispareja recorta TODA la franja, de modo que la textura
     de tierra es continua entre el borde y el cuerpo de la sección. */
  -webkit-mask-image:url('../svg/brown-edge.svg'),linear-gradient(#000,#000);
          mask-image:url('../svg/brown-edge.svg'),linear-gradient(#000,#000);
  -webkit-mask-repeat:no-repeat,no-repeat;
          mask-repeat:no-repeat,no-repeat;
  -webkit-mask-position:center top,center bottom;
          mask-position:center top,center bottom;
  -webkit-mask-size:100% var(--edge-h),100% calc(100% - var(--edge-h) + 1px);
          mask-size:100% var(--edge-h),100% calc(100% - var(--edge-h) + 1px);
  -webkit-mask-composite:source-over;
          mask-composite:add;
}
.espacios::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:url('../img/soil.webp') no-repeat center/cover;opacity:.519;mix-blend-mode:multiply;pointer-events:none;
}
.espacios__edge{height:var(--edge-h)}
.espacios__bg{
  position:relative;z-index:1;padding:20.2px 0 127.5px;
}
.espacios__bg > *{position:relative;z-index:2}
.espacios__torn{bottom:0;left:0;right:0}

.spaces{
  display:grid;grid-template-columns:repeat(4,1fr);gap:27px;
  width:calc(100% - 2*var(--pad));max-width:1068px;margin:44px auto 0;
}
.space{
  position:relative;display:flex;flex-direction:column;
  background:#fff;border-radius:4.5px;overflow:hidden;min-height:330px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.space:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.25)}
.space__img{display:block;height:222px;overflow:hidden}
.space__img img{width:100%;height:100%;object-fit:cover}
.space__title{
  display:block;padding:19px 46px 0 23.25px;font-size:18px;line-height:24px;font-weight:700;color:var(--gris-texto);
}
.space__go{
  /* Círculo naranjo con un "+" que se convierte en flecha al pasar el cursor,
     con la misma mecánica que las tarjetas de tipo de evento. */
  --g:3.6px;                                     /* grosor del trazo */
  --p:7.25px;                                    /* medio brazo del "+" */
  --h:8.9px;                                     /* brazo de la punta */
  --w:19px;                                      /* largo de la flecha abierta */
  --d:calc((var(--w) - var(--p) * 2) / 2);       /* recentrado al abrirse */
  position:absolute;right:15.75px;bottom:16.5px;width:31.5px;height:31.5px;border-radius:50%;
  background:var(--naranjo);
  transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease;
}
.go__shaft,
.go__up,
.go__down{
  position:absolute;background:#fff;border-radius:999px;
  transition:width .45s cubic-bezier(.22,.61,.36,1),
             height .45s cubic-bezier(.22,.61,.36,1),
             transform .45s cubic-bezier(.22,.61,.36,1);
}
.go__shaft{
  top:50%;right:calc(50% - var(--p));
  height:var(--g);width:calc(var(--p) * 2);
  transform:translate(0,-50%);
}
.go__up,
.go__down{
  right:calc(50% - var(--p) - var(--g) / 2);
  width:var(--g);height:calc(var(--p) + var(--g) / 2);
  transform:translateX(calc(var(--p) * -1)) rotate(0deg);
}
.go__up{
  bottom:calc(50% - var(--g) / 2);
  transform-origin:50% calc(100% - var(--g) / 2);
}
.go__down{
  top:calc(50% - var(--g) / 2);
  transform-origin:50% calc(var(--g) / 2);
}
.space:hover .space__go,
.space:focus-visible .space__go{
  transform:scale(1.08);box-shadow:0 4px 12px rgba(242,150,0,.5);
}
.space:hover .go__shaft,
.space:focus-visible .go__shaft{width:var(--w);transform:translate(var(--d),-50%)}
.space:hover .go__up,
.space:focus-visible .go__up{
  height:calc(var(--h) + var(--g) / 2);transform:translateX(var(--d)) rotate(-45deg);
}
.space:hover .go__down,
.space:focus-visible .go__down{
  height:calc(var(--h) + var(--g) / 2);transform:translateX(var(--d)) rotate(45deg);
}
@media (prefers-reduced-motion:reduce){
  .space__go,.go__shaft,.go__up,.go__down{transition:none}
  .space:hover .space__go{transform:none;box-shadow:none}
}

.espacios__cta{text-align:center;margin-top:59.2px}

/* =========================================================
   PARALLAX  (el JS añade .is-parallax y actualiza --par)
   ========================================================= */
.espacios.is-parallax::before,
.galeria.is-parallax::before,
.infra.is-parallax::before,
.cta.is-parallax .cta__media{
  top:calc(var(--par-alto,70px) * -1);bottom:calc(var(--par-alto,70px) * -1);
  transform:translate3d(0,var(--par,0px),0);
  will-change:transform;
}

/* =========================================================
   REDES SOCIALES
   ========================================================= */
.section--redes{padding-top:20.35px;padding-bottom:68.2px}
.redes__grid{max-width:988.5px;margin:53px auto 0}
.redes__grid img{width:100%;height:auto;border-radius:2px}

/* =========================================================
   RESEÑAS
   ========================================================= */
.resenas{position:relative;margin-top:-1px}
.resenas .torn--gray{position:relative;bottom:auto;height:var(--torn-h)}
.resenas__bg{background:var(--gris-f0);padding:20.2px 0 97.5px;margin-top:-1px}
.score{text-align:center;margin-top:28.7px}
.score__label{font-size:25px;line-height:32px;font-weight:700;color:var(--verde-lima);letter-spacing:.5px}
.score__stars{position:relative;display:inline-block;margin-top:6px;line-height:0;vertical-align:top}
.score__stars-track,.score__stars-fill{display:flex;gap:3px}
.score__stars-fill{position:absolute;top:0;left:0;overflow:hidden}
.score__stars svg{width:27px;height:27px;flex:0 0 auto}
.score__stars-track svg{fill:#DADCE0}
.score__stars-fill svg{fill:#FBBC04}
.score__stars--sm{margin-top:12px}
.score__stars--sm svg{width:14px;height:14px}
.review .score__stars{align-self:flex-start}
.score__count{font-size:14px;line-height:20px;color:#3c4043;margin-top:6px;font-family:var(--ff-text)}
.score__count b{font-weight:700}
.score__brand{font-size:25px;line-height:32px;font-weight:600;margin-top:6px;font-family:'Product Sans',var(--ff-text)}
.g-b{color:#4285F4}.g-r{color:#EA4335}.g-y{color:#FBBC04}.g-g{color:#34A853}

.reviews{position:relative;max-width:1169.5px;margin:35.3px auto 0;padding-inline:26px}
.reviews__track{
  display:flex;gap:21px;max-width:1117.5px;margin-inline:auto;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;
}
.reviews__track::-webkit-scrollbar{display:none}
.reviews[hidden]{display:none}
.review{
  flex:0 0 calc((100% - 42px) / 3);scroll-snap-align:start;
  background:#fff;border-radius:12px;padding:19.5px 21px;min-height:236px;
  display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.06);
}
.review__head{display:flex;align-items:center;gap:10.5px}
.review__avatar{width:30px;height:30px;border-radius:50%;background:#c9cdd1 no-repeat center/cover;flex:0 0 auto}
.review__who{display:flex;flex-direction:column;font-family:var(--ff-text);flex:1 1 auto}
.review__who b{font-size:14px;color:#202124;font-weight:600}
.review__who b a{color:inherit}
.review__who b a:hover{text-decoration:underline}
.review__who time{font-size:12px;color:#70757a}
.review__g{
  width:18px;height:18px;flex:0 0 auto;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><path fill='%234285F4' d='M45 24c0-1.6-.1-2.7-.4-3.9H24v7.1h12c-.2 1.9-1.5 4.7-4.4 6.6l6.7 5.2C42.2 35.6 45 30.4 45 24z'/><path fill='%2334A853' d='M24 46c5.9 0 10.9-1.9 14.5-5.3l-6.9-5.4c-1.9 1.3-4.4 2.2-7.6 2.2-5.8 0-10.7-3.8-12.5-9.1l-7.1 5.5C8 41.1 15.4 46 24 46z'/><path fill='%23FBBC04' d='M11.5 28.4c-.5-1.4-.8-2.9-.8-4.4s.3-3 .7-4.4l-7.1-5.5C2.9 17 2 20.4 2 24s.9 7 2.4 9.9l7.1-5.5z'/><path fill='%23EA4335' d='M24 10.6c4.1 0 6.9 1.8 8.5 3.3l6.2-6C34.9 4.4 29.9 2 24 2 15.4 2 8 6.9 4.4 14.1l7.1 5.5C13.3 14.4 18.2 10.6 24 10.6z'/></svg>") no-repeat center/contain;
}

.review__text{
  font-family:var(--ff-text);font-size:14px;line-height:20px;color:#3c4043;margin-top:9px;
  display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden;
}
.review__more{
  font-family:var(--ff-text);font-size:14px;line-height:20px;color:#70757a;margin-top:6px;align-self:flex-start;
}
.review__more:hover{text-decoration:underline}
.reviews__nav{
  position:absolute;top:50%;transform:translateY(-50%);width:27px;height:27px;border-radius:50%;
  background:#fff;color:#5f6368;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;
  box-shadow:0 1px 4px rgba(0,0,0,.2);z-index:3;
}
.reviews__nav--prev{left:0}
.reviews__nav--next{right:0}
.reviews__nav{cursor:pointer;transition:opacity .2s ease}
.reviews__nav[disabled]{opacity:0;pointer-events:none}

/* =========================================================
   CTA FINAL
   ========================================================= */
.cta{position:relative;background:var(--verde-lima);height:303.75px;display:flex;align-items:center;overflow:hidden;isolation:isolate}
.cta__media{
  position:absolute;inset:0;background:url('../img/cta-band.webp') center/cover no-repeat;opacity:.299;mix-blend-mode:multiply;
}
.cta__inner{position:relative;z-index:2;width:100%;text-align:center;padding-inline:var(--pad)}
.cta__title{font-size:32px;line-height:40px;font-weight:700;color:#fff}
.cta__sub{font-family:var(--ff-text);font-size:20px;line-height:26px;font-weight:600;color:#fff;margin-top:8.4px}
.cta__inner .btn{margin-top:29px}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{background:var(--footer);color:#fff;padding:44px 0 38px;min-height:285px}
.footer-inner{
  width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:128.25px;
  display:grid;grid-template-columns:342px 344.25px 251.25px 1fr;gap:0;
}
.footer__brand img{width:185px;height:auto}
.footer__claim{font-family:var(--ff-text);font-size:18px;line-height:24px;margin-top:14px}
.footer__desc{font-family:var(--ff-text);font-size:14px;line-height:20px;margin-top:9px;max-width:205.5px}
.footer__col h3{font-family:var(--ff-text);font-size:18px;line-height:24px;font-weight:700;margin:20px 0 15px}
.footer__col li{font-family:var(--ff-text);font-size:16px;line-height:22px}
.footer__col a:hover{text-decoration:underline}
.footer__contact li{margin-bottom:0}

/* ---------- WhatsApp flotante ---------- */
.wa{
  position:fixed;right:28px;bottom:28px;z-index:60;width:54px;height:54px;border-radius:50%;
  background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.22);
  display:flex;align-items:center;justify-content:center;transition:transform .2s ease;
}
.wa:hover{transform:scale(1.06)}
.wa img{width:54px;height:54px}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1400px){
  :root{--pad:40px}
  .nav-list{gap:24px}
  .nav{gap:24px}
}
@media (max-width:1320px){
  .header-inner{padding:0 34px}
  .nav{margin-left:28px}
  .nav-list{gap:19px}
}
@media (max-width:1024px){
  .review{flex-basis:calc((100% - 21px) / 2)}
}
@media (max-width:1200px){
  .nav-list{gap:13px}
  .nav-list > li > a{font-size:13.5px}
  .btn--header{font-size:13.5px;height:38px;padding:0 15px}
  .logo img{width:150px}
  .cats{grid-template-columns:repeat(3,1fr);gap:12px}
  .stats{grid-template-columns:repeat(3,1fr);gap:36px 20px;max-width:820px}
  .spaces{grid-template-columns:repeat(2,1fr)}
  .redes__grid{max-width:100%}
}
@media (max-width:1100px){
  .nav{margin-left:20px}
  .nav-list{gap:10px}
  .nav-list > li > a{font-size:13px}
  .btn--header{font-size:13px;padding:0 12px}
}
@media (max-width:1024px){
  .nav-toggle{display:flex}
  .nav{
    position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:rgba(64,80,55,.98);padding:16px 24px 24px;display:none;
  }
  .nav.is-open{display:flex}
  /* Con la cabecera fija el menú móvil no acompaña el scroll: le damos
     su propio desplazamiento por si no cabe en pantalla. */
  .nav{max-height:calc(100vh - 104px);overflow-y:auto;overscroll-behavior:contain}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-list > li > a{display:block;padding:12px 0;font-size:16px}
  .nav-list > li > a::after{display:none}
  .sub{position:static;opacity:1;visibility:visible;transform:none;background:none;padding:0 0 8px 14px;margin:0}
  .btn--header{margin-top:14px;align-self:flex-start}
  .header-inner{height:104px}
  .logo img{width:150px}
  .site-header.is-stuck .header-inner{height:62px;padding-inline:var(--pad)}
  .site-header.is-stuck .logo img{width:100px}
  section[id],div[id].section,article[id]{scroll-margin-top:90px}

  .hero{height:auto;min-height:560px;padding:150px 0 90px}
  .hero__inner{position:relative;height:auto}
  .hero__content{position:static;transform:none;padding-inline:var(--pad);max-width:720px}
  .hero__claim,.hero__lead,.hero__actions{margin-left:0}
  .cta{height:auto;padding:60px 0}
  .footer-inner{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:760px){
  :root{--pad:22px;--torn-h:34px}
  .h2{font-size:26px;line-height:32px}
  .h2-sub{font-size:21px;line-height:27px}
  .h2-over,.section__sub,.h2-sub--sm{font-size:17px;line-height:23px}
  .hero__hacienda{width:128px}
  .hero__picarquin{width:286px}
  .hero__claim{font-size:26px;line-height:33px}
  .hero__lead{font-size:17px;line-height:23px}
  /* En móvil las tarjetas pasan a un carrusel de dos columnas que se desliza. */
  .cats{
    display:flex;grid-template-columns:none;gap:10px;
    overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
    margin-inline:calc(var(--pad) * -1);padding:0 var(--pad) 6px;
    scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;
  }
  .cats::-webkit-scrollbar{display:none}
  .cats > li,.cats .cat{scroll-snap-align:start}
  .cats > *{flex:0 0 calc((100% - 10px) / 2)}
  /* En móvil no hay hover: la tarjeta muestra siempre toda la información. */
  .cat{aspect-ratio:auto;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;padding:0 16px 20px}
  .cat__veil{opacity:.45}
  .cat__body{position:static;left:auto;right:auto;bottom:auto}
  .cat__reveal{max-height:none;overflow:visible;transition:none}
  .cat__title{font-size:16px;line-height:20px}
  .cat__text{margin-top:12px;font-size:12px;line-height:16px;opacity:1;transform:none;transition:none}
  /* Sin hover la flecha ya está formada. */
  .cat__foot{height:25px;margin-top:12px;transition:none}
  .cat__shaft,.cat__up,.cat__down{transition:none}
  .cat__shaft{width:100%}
  .cat__up{height:calc(var(--h) + var(--g) / 2);transform:translateX(0) rotate(-45deg)}
  .cat__down{height:calc(var(--h) + var(--g) / 2);transform:translateX(0) rotate(45deg)}
  .stats{grid-template-columns:repeat(2,1fr);gap:28px 16px}
  .stat__icon{height:52px}
  .stat p{font-size:14px;line-height:19px}
  .spaces{grid-template-columns:1fr;max-width:420px;padding-inline:0}
  .space{min-height:0}
  .review{flex-basis:100%}
  .cta__title{font-size:26px;line-height:32px}
  .cta__sub{font-size:17px;line-height:23px}
  .footer-inner{grid-template-columns:1fr;gap:28px}
  .wa{right:16px;bottom:16px;width:46px;height:46px}
  .wa img{width:46px;height:46px}
}

/* =========================================================
   WORDPRESS — páginas interiores y utilidades del panel
   ========================================================= */
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.skip-link:focus{
  position:fixed;top:12px;left:12px;z-index:100;width:auto;height:auto;clip:auto;
  padding:10px 16px;background:#fff;color:var(--verde-oscuro);border-radius:6px;font-weight:600;
}

.section--interior{padding-top:200px;padding-bottom:80px;min-height:50vh}
.h2--left{text-align:left}
.entry{max-width:900px;margin-inline:auto;font-family:var(--ff-text);font-size:16px;line-height:26px;color:var(--gris-texto)}
.entry--centro{text-align:center}
.entry h1,.entry h2,.entry h3{font-family:var(--ff-title);color:var(--verde-oscuro);margin:32px 0 14px}
.entry h1:first-child,.entry h2:first-child{margin-top:0}
.entry p{margin:0 0 18px}
.entry a{color:var(--naranjo);text-decoration:underline}
.entry img{border-radius:6px;height:auto}
.entry ul,.entry ol{margin:0 0 18px 22px;list-style:disc}
.entry ol{list-style:decimal}
.entry__item + .entry__item{margin-top:48px;padding-top:48px;border-top:1px solid #e6e6e6}
.entry__title{font-family:var(--ff-title);font-size:25px;line-height:32px;font-weight:700;color:var(--verde-oscuro);margin-bottom:10px}
.pagination{margin-top:40px;font-family:var(--ff-title);font-weight:700}
.pagination .page-numbers{display:inline-block;padding:6px 12px;color:var(--gris-texto)}
.pagination .current{background:var(--naranjo);color:#fff;border-radius:5px}

/* Galería de redes cuando se usan imágenes sueltas */
.redes__grid--galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.redes__grid--galeria img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;border-radius:0}
@media (max-width:760px){.redes__grid--galeria{grid-template-columns:repeat(2,1fr)}}

/* ---------- Publicaciones de Instagram ---------- */
/* ---------- Carrusel de publicaciones de Instagram ---------- */
.ig-car{position:relative;margin-top:30px;padding-inline:34px}
.ig-car__track{
  display:flex;gap:18px;align-items:stretch;
  /* «proximity» y no «mandatory»: con el anclaje obligatorio Chrome cancela
     el desplazamiento suave de las flechas y devuelve el carrusel al inicio. */
  overflow-x:auto;scroll-snap-type:x proximity;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;
  padding-bottom:4px;
}
.ig-car__track::-webkit-scrollbar{display:none}
.ig-car__track > *{flex:0 0 calc((100% - 54px) / 4);scroll-snap-align:start}
.ig-car__nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:36px;height:36px;border:0;border-radius:50%;padding:0;cursor:pointer;
  background:#fff;box-shadow:0 2px 8px rgba(31,41,25,.22);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease;
}
.ig-car__nav::before{
  content:"";width:11px;height:11px;
  border-top:2.5px solid var(--verde-oscuro);border-right:2.5px solid var(--verde-oscuro);border-radius:1px;
}
.ig-car__nav--prev{left:0}
.ig-car__nav--prev::before{transform:rotate(-135deg);margin-left:3px}
.ig-car__nav--next{right:0}
.ig-car__nav--next::before{transform:rotate(45deg);margin-right:3px}
.ig-car__nav:hover{transform:translateY(-50%) scale(1.08);box-shadow:0 4px 14px rgba(31,41,25,.28)}
.ig-car__nav[disabled]{opacity:0;pointer-events:none}
.ig-car__nav:focus-visible{outline:2px solid var(--verde-lima);outline-offset:2px}

/* Cajita tipo publicación de Instagram: foto arriba, copy abajo */
.ig{
  position:relative;display:flex;flex-direction:column;
  background:#fff;border:1px solid #e6e8e1;border-radius:10px;overflow:hidden;
  isolation:isolate;text-decoration:none;color:inherit;align-self:stretch;
  box-shadow:0 1px 3px rgba(31,41,25,.06);
  transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s ease,border-color .35s ease;
}
.ig:hover,.ig:focus-visible{
  transform:translateY(-4px);border-color:#d8ddd0;
  box-shadow:0 10px 24px rgba(31,41,25,.14);
}

/* Foto */
.ig__media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#e9ece4}
.ig .ig__img{
  width:100%;height:100%;object-fit:cover;display:block;border-radius:0;
  transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
.ig:hover .ig__img,
.ig:focus-visible .ig__img{transform:scale(1.06)}
.ig__veil{
  position:absolute;inset:0;background:var(--verde-oscuro);
  opacity:0;transition:opacity .3s ease;
}
.ig:hover .ig__veil,
.ig:focus-visible .ig__veil{opacity:.42}
.ig__icono{
  position:absolute;left:50%;top:50%;width:30px;height:30px;
  background:url('../svg/ig.svg') no-repeat center/contain;
  opacity:0;transform:translate(-50%,-50%) scale(.7);
  transition:opacity .3s ease,transform .35s cubic-bezier(.22,.61,.36,1);
}
.ig:hover .ig__icono,
.ig:focus-visible .ig__icono{opacity:1;transform:translate(-50%,-50%) scale(1)}
/* Marca de reproducción en reels y videos */
.ig--video .ig__media::after{
  content:"";position:absolute;right:9px;top:9px;width:15px;height:15px;
  background:url('../svg/play.svg') no-repeat center/contain;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.45));
}

/* Copy abajo */
.ig__body{
  display:flex;flex-direction:column;gap:6px;flex:1 1 auto;
  padding:11px 12px 13px;
}
.ig__texto{
  margin:0;font-family:var(--ff-text);font-size:14px;line-height:20px;
  color:var(--gris-texto);
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;
  overflow:hidden;
}
.ig__fecha{
  margin:0;margin-top:auto;font-family:var(--ff-text);
  font-size:12px;line-height:16px;letter-spacing:.02em;
  color:#8e948a;text-transform:uppercase;
}

/* Última tarjeta: "Ver más en Instagram" */
.ig--mas{
  align-items:center;justify-content:center;gap:14px;text-align:center;
  padding:26px 18px;background:var(--verde-oscuro);border-color:var(--verde-oscuro);
}
.ig--mas .ig__mas-ico{
  width:46px;height:46px;background:#fff;
  -webkit-mask:url('../svg/ig.svg') no-repeat center/contain;
          mask:url('../svg/ig.svg') no-repeat center/contain;
  transition:transform .35s cubic-bezier(.22,.61,.36,1);
}
.ig--mas:hover .ig__mas-ico{transform:scale(1.1)}
.ig--mas .ig__mas-txt{
  font-family:var(--ff-title);font-size:16px;line-height:22px;font-weight:700;color:#fff;
}
.ig--mas .ig__mas-cuenta{
  font-family:var(--ff-text);font-size:13px;line-height:18px;color:var(--amarillo);
}

.redes__cuenta{
  margin:22px 0 0;text-align:center;
  font-size:16px;line-height:22px;font-weight:600;
}
.redes__cuenta a{color:var(--verde-oscuro);transition:color .2s ease}
.redes__cuenta a:hover{color:var(--naranjo)}
@media (prefers-reduced-motion:reduce){
  .ig,.ig__img,.ig__veil,.ig__icono,.ig-car__track{transition:none;scroll-behavior:auto}
  .ig:hover{transform:none}
  .ig:hover .ig__img{transform:none}
}
@media (max-width:980px){
  .ig-car__track{gap:14px}
  .ig-car__track > *{flex:0 0 calc((100% - 42px) / 4)}
  .ig__texto{font-size:13px;line-height:19px}
}
@media (max-width:760px){
  .ig-car{padding-inline:0}
  .ig-car__track{
    gap:12px;margin-inline:calc(var(--pad) * -1);padding:0 var(--pad) 6px;
  }
  .ig-car__track > *{flex:0 0 calc((100% - 12px) / 2)}
  .ig-car__nav{display:none}
  .ig--mas{padding:20px 14px}
  .ig--mas .ig__mas-ico{width:36px;height:36px}
  .ig--mas .ig__mas-txt{font-size:15px;line-height:20px}
}

/* Widget externo de reseñas */
.resenas__widget{max-width:1117.5px;margin:34px auto 0;padding-inline:var(--pad)}

/* Contact Form 7 con los estilos del diseño */
.wpcf7 form .wpcf7-response-output{
  margin:18px 0 0;border-radius:6px;border-width:1px;padding:12px 16px;font-family:var(--ff-text);font-size:14px;
}
.pic-form{max-width:760px;margin-inline:auto;font-family:var(--ff-text)}
.pic-form p{margin:0 0 16px}
.pic-form label{display:block;font-family:var(--ff-title);font-weight:600;font-size:15px;color:var(--verde-oscuro);margin-bottom:6px}
.pic-form input[type=text],.pic-form input[type=email],.pic-form input[type=tel],
.pic-form input[type=date],.pic-form input[type=number],.pic-form select,.pic-form textarea{
  width:100%;padding:12px 14px;font:inherit;font-size:16px;color:var(--gris-texto);
  background:#fff;border:1px solid #d5d5d5;border-radius:6px;
}
.pic-form input:focus,.pic-form select:focus,.pic-form textarea:focus{
  outline:2px solid var(--verde-lima);outline-offset:1px;border-color:var(--verde-lima);
}
.pic-form textarea{min-height:140px;resize:vertical}
.pic-form .wpcf7-submit{
  display:inline-flex;align-items:center;justify-content:center;width:auto;
  background:var(--naranjo);color:#fff;border:0;border-radius:7.5px;
  font-family:var(--ff-title);font-weight:600;font-size:16px;height:48px;padding:0 22px;cursor:pointer;
}
.pic-form .wpcf7-submit:hover{filter:brightness(1.07)}

/* =========================================================
   PÁGINAS DE TIPO DE EVENTO (y demás interiores)
   ========================================================= */

/* ---------- Cabecera sólida ---------- */
.site-header--solid{position:sticky;top:0;background:#fff}
body.admin-bar .site-header--solid{top:32px}
@media screen and (max-width:782px){
  body.admin-bar .site-header,body.admin-bar .site-header--solid{top:46px}
}
.site-header--solid .header-inner{height:108px}
.site-header--solid .logo{margin-top:0}
.site-header--solid .logo img{width:153.9px}
.site-header--solid .nav-list > li > a{color:var(--gris-texto)}
.site-header--solid .nav-list > li > a:hover{color:var(--verde-oscuro)}
.site-header--solid .nav-toggle span{background:var(--verde-oscuro)}
.site-header--solid .sub a{color:#fff}

/* ---------- Cabecera al bajar (fija + logo reducido) ---------- */
.site-header.is-stuck{background:#fff;box-shadow:0 2px 18px rgba(0,0,0,.12)}
.site-header.is-stuck .header-inner{height:68px;padding-inline:44px}
.site-header.is-stuck .logo{margin-top:0}
.site-header.is-stuck .logo img{width:100px}

/* La cabecera transparente del inicio se vuelve blanca y cambia de logo. */
.site-header:not(.site-header--solid).is-stuck .logo__img--color{display:none}
.site-header:not(.site-header--solid).is-stuck .logo__img--oscuro{display:block}
.site-header:not(.site-header--solid).is-stuck .nav-list > li > a{color:var(--gris-texto)}
.site-header:not(.site-header--solid).is-stuck .nav-list > li > a:hover{color:var(--verde-oscuro)}
.site-header:not(.site-header--solid).is-stuck .nav-toggle span{background:var(--verde-oscuro)}

@media (prefers-reduced-motion:reduce){
  .site-header,.header-inner,.logo,.logo img{transition:none}
}

/* ---------- Hero de interior ---------- */
.hero-int{
  /* Alto flexible: así caben la miga de pan y los títulos largos sin
     que el borde rasgado se coma el texto. */
  position:relative;min-height:226.5px;overflow:hidden;isolation:isolate;
  background:var(--verde-oscuro);padding-bottom:38px;
}
.hero-int__media{
  position:absolute;inset:0;opacity:.299;mix-blend-mode:multiply;
  background:url('../img/hero-interior.webp') center/cover no-repeat;
}
.hero-int__inner{
  position:relative;z-index:2;
  width:100%;max-width:var(--wrap);margin-inline:auto;padding:34px 72.75px 0;
}
.hero-int__over{font-size:18px;line-height:24px;font-weight:600;color:var(--amarillo);letter-spacing:.02em}
.hero-int__title{font-size:34px;line-height:42px;font-weight:700;color:#fff;margin-top:5px}
.hero-int__lead{font-size:20px;line-height:26px;font-weight:400;color:#fff;margin-top:4.6px}
.hero-int__torn{top:auto;bottom:calc(11.3px - var(--torn-h))}

/* ---------- Bloques interiores ---------- */
.int{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:72.75px}
.h2--left{text-align:left}
.int__sub{font-size:20px;line-height:26px;font-weight:600;color:var(--gris-medio);margin-top:-0.6px}
.int__over{font-size:25px;line-height:32px;font-weight:600;color:var(--gris-medio)}

/* Chips de "Algunos Eventos" */
.int--eventos{padding-top:40.4px}
.chips{display:flex;flex-wrap:wrap;gap:7.5px 11.25px;margin-top:25.45px;max-width:800px}
.chips li{display:block}
.chips a,.chips span{
  display:inline-flex;align-items:center;height:36px;padding:0 16.5px;border-radius:6px;
  background:var(--naranjo);color:#fff;font-size:14px;font-weight:600;line-height:1;
  transition:filter .2s ease;
}
.chips a:hover{filter:brightness(1.08)}

/* Tarjetas de espacios recomendados */
.int--rec{padding-top:44.15px}
.recs{display:grid;grid-template-columns:repeat(5,1fr);gap:17.25px;margin-top:31.45px;max-width:1179px}
.rec{
  display:flex;flex-direction:column;min-height:282px;border-radius:4.5px;overflow:hidden;
  background:var(--verde-oscuro);transition:transform .25s ease,box-shadow .25s ease;
}
.rec:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.rec__img{display:block;height:222px;overflow:hidden}
.rec__img img{width:100%;height:100%;object-fit:cover;display:block}
.rec__title{
  display:flex;align-items:center;flex:1 1 auto;
  padding:16px 17.6px;font-family:var(--ff-text);
  font-size:18px;line-height:22px;font-weight:700;color:#fff;
}

/* Servicios */
.int--serv{padding-top:55.5px;padding-bottom:37.5px}
.int--serv .h2{margin-top:-15.05px}
.servs{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;gap:12.75px 12px;margin-top:37.55px;max-width:900px}
.serv{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  min-width:0;min-height:113.25px;padding:6px 10px 10px;border-radius:5.25px;
  background:var(--verde-lima);color:var(--verde-oscuro);text-align:center;
}
.serv__icon{display:flex;flex:1 1 auto;align-items:center;justify-content:center;padding-top:6px}
.serv__icon img{display:block}
.serv__label{
  display:block;font-size:13px;line-height:16px;font-weight:600;color:#fff;
}

/* ---------- Galería (franja de tierra) ---------- */
.galeria{
  position:relative;margin-top:-1px;
  background-color:var(--tierra);isolation:isolate;
  -webkit-mask-image:url('../svg/brown-edge.svg'),linear-gradient(#000,#000);
          mask-image:url('../svg/brown-edge.svg'),linear-gradient(#000,#000);
  -webkit-mask-repeat:no-repeat,no-repeat;
          mask-repeat:no-repeat,no-repeat;
  -webkit-mask-position:center top,center bottom;
          mask-position:center top,center bottom;
  -webkit-mask-size:100% var(--edge-h),100% calc(100% - var(--edge-h) + 1px);
          mask-size:100% var(--edge-h),100% calc(100% - var(--edge-h) + 1px);
  -webkit-mask-composite:source-over;
          mask-composite:add;
}
.galeria::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url('../img/soil.webp') no-repeat center/cover;opacity:.519;mix-blend-mode:multiply;
}
.galeria__edge{height:var(--edge-h)}
.galeria__bg{
  position:relative;z-index:1;
  padding:40.5px 0 48.75px;
}
.galeria__grid{
  position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:15px;
  width:calc(100% - 2*var(--pad));max-width:1170px;margin-inline:auto;
}
.galeria__grid img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:10.5px;display:block}

/* ---------- Franja verde en interiores ---------- */
.cta--int{height:288.75px}
.cta--int .cta__inner{padding-top:6px}
.cta__sub--int{
  font-family:var(--ff-title);font-size:20px;line-height:26px;font-weight:600;margin-top:6.1px;
}
.cta--int .btn{margin-top:29.95px}

/* ---------- Responsive interiores ---------- */
@media (max-width:1200px){
  .servs{grid-template-columns:repeat(6,1fr)}
  .recs{grid-template-columns:repeat(3,1fr)}
  .galeria__grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:1024px){
  .servs{grid-template-columns:repeat(4,1fr)}
  .site-header--solid .header-inner{height:96px}
  .site-header--solid.is-stuck .header-inner{height:62px}
  .hero-int{min-height:200px;padding-bottom:46px}
  .hero-int__inner{padding:28px var(--pad) 0}
  .recs{grid-template-columns:repeat(2,1fr)}
  .galeria__grid{grid-template-columns:repeat(3,1fr)}
  .cta--int{height:auto;padding:56px 0}
}
@media (max-width:760px){
  .int{padding-inline:var(--pad)}
  .hero-int__over{font-size:15px;line-height:20px}
  .hero-int__title{font-size:26px;line-height:33px}
  .hero-int__lead{font-size:17px;line-height:23px}
  .int--eventos{padding-top:30px}
  .int--rec,.int--serv{padding-top:40px}
  .recs{grid-template-columns:1fr;max-width:360px}
  .galeria__grid{grid-template-columns:repeat(2,1fr)}
  .chips,.servs{max-width:100%}
  .servs{grid-template-columns:repeat(3,1fr);gap:10px}
  .serv{min-height:104px;padding:6px 6px 8px}
  .serv__label{font-size:12px;line-height:15px}
}

/* =========================================================
   PÁGINA DE CONTACTO
   ========================================================= */
:root{ --verde-palido:#E4ECBA; }

.torn--pale{background-image:url('../svg/torn-pale.svg')}

/* La cabecera verde de contacto es un poco más alta */
.hero-int--contacto{min-height:240px}
.hero-int--contacto .hero-int__inner{padding-top:34px}
.hero-int--contacto .hero-int__over{font-family:var(--ff-text)}
.hero-int--contacto .hero-int__title{margin-top:5.25px}
.hero-int--contacto .hero-int__lead{font-size:20px;line-height:26px;margin-top:9.2px}


/* ---------- Bloque del formulario ---------- */
.contacto{background:var(--verde-palido);padding:86.25px 0 65.25px;margin-top:-1px}
.contacto__inner{
  width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:91.5px;
  display:grid;grid-template-columns:697.5px 1fr;gap:121.5px;align-items:start;
}

/* Formulario */
.pic-form{max-width:697.5px;margin:0;font-family:var(--ff-title)}
.pic-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:6.75px 12px}
.pic-form .pic-form__field{display:block;margin:0}
.pic-form__field--full{grid-column:1 / -1;margin-top:-0.75px}
.pic-form label,
.pic-form .pic-form__label{
  display:block;font-size:16px;line-height:22px;font-weight:600;color:var(--gris-texto);
  margin-bottom:12px;
}
.pic-form input[type=text],.pic-form input[type=email],.pic-form input[type=tel],
.pic-form input[type=date],.pic-form input[type=number],.pic-form select,.pic-form textarea{
  display:block;width:100%;height:48.75px;padding:0 14px;border:0;border-radius:3.75px;background:#fff;
  font-family:var(--ff-title);font-size:16px;color:var(--gris-texto);
}
.pic-form textarea{height:189px;padding:12px 14px;resize:vertical;line-height:24px}
.pic-form input:focus,.pic-form select:focus,.pic-form textarea:focus{
  outline:2px solid var(--verde-lima);outline-offset:1px;
}
.pic-form .pic-form__submit{margin:49.5px 0 0;text-align:center}
.pic-form input[type=submit],
.pic-form .wpcf7-submit,
.pic-form button[type=submit]{
  width:auto;height:39.75px;min-width:267px;padding:0 20px;border:0;border-radius:7.5px;
  color:#fff;cursor:pointer;
  /* El "+" es una capa de fondo porque un <input> no admite pseudoelementos. */
  background:url('../svg/plus-white.svg') no-repeat right 22px center,var(--naranjo);
  background-size:0 0,auto;
  font-family:var(--ff-title);font-size:16px;font-weight:600;line-height:1;
  transition:filter .2s ease,background-size .3s cubic-bezier(.22,.61,.36,1);
}
.pic-form input[type=submit]:hover,
.pic-form .wpcf7-submit:hover,
.pic-form button[type=submit]:hover{filter:brightness(1.08);background-size:15px 15px,auto}
@media (prefers-reduced-motion:reduce){
  .pic-form input[type=submit],
  .pic-form .wpcf7-submit,
  .pic-form button[type=submit]{transition:none}
}
.pic-form .wpcf7-not-valid-tip{font-size:12px;color:#c0392b;margin-top:4px}
.pic-form .wpcf7-response-output{margin:20px 0 0;border-radius:6px;font-size:14px}

/* Datos de contacto */
.datos{list-style:none;margin:51.75px 0 0;padding:0}
.datos li{display:flex;gap:7.5px;margin-bottom:9px}
.datos li:last-child{margin-bottom:0}
.datos__ico{
  flex:0 0 auto;width:43.5px;height:43.5px;border-radius:50%;background:#fff;
  display:flex;align-items:center;justify-content:center;color:var(--verde-oscuro);
}
.datos__ico img{display:block}
.datos__txt{font-size:16px;line-height:22px;padding-top:3.2px}
.datos__txt b{display:block;font-weight:700;color:var(--verde-oscuro)}
.datos__txt span{display:block;color:var(--gris-texto)}
.datos a{color:inherit}
.datos a:hover{text-decoration:underline}

/* ---------- Mapa ---------- */
.mapa{position:relative;height:462.75px;background:#dfe3e6;overflow:hidden}
.mapa iframe,.mapa img{display:block;width:100%;height:100%;border:0;object-fit:cover}

/* ---------- Responsive ---------- */
@media (max-width:1200px){
  .contacto__inner{grid-template-columns:1fr 320px;gap:60px;padding-inline:var(--pad)}
  .pic-form{max-width:none}
}
@media (max-width:900px){
  .contacto{padding:56px 0}
  .contacto__inner{grid-template-columns:1fr;gap:44px}
  .datos{margin-top:0}
}
@media (max-width:760px){
  .pic-form__grid{grid-template-columns:1fr;gap:24px}
  .pic-form textarea{height:150px}
  .pic-form input[type=submit],.pic-form .wpcf7-submit{width:100%;min-width:0}
  .pic-form__submit{margin-top:30px}
  .mapa{height:320px}
}

/* ---------- Contact Form 7 dentro del formulario del diseño ---------- */
.pic-form .wpcf7{margin:0}
.pic-form .wpcf7-form-control-wrap{display:block;position:static}
.pic-form .pic-form__submit{position:relative}
.pic-form .wpcf7-spinner{position:absolute;top:50%;right:0;margin:0;transform:translateY(-50%)}
.pic-form .wpcf7-not-valid{outline:2px solid #c0392b;outline-offset:1px}
.pic-form .wpcf7-response-output{
  background:#fff;border:1px solid var(--naranjo);border-radius:6px;color:var(--tierra);
  font-family:var(--ff-text);font-size:14px;line-height:20px;padding:12px 16px;margin:20px 0 0;
}
.pic-form .wpcf7-response-output:empty{display:none}
.pic-form .screen-reader-response{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- Contenido libre en páginas interiores ---------- */
.int--texto{padding-top:56px;padding-bottom:56px}
.int--texto .entry{max-width:930px;margin-inline:0}

/* =========================================================
   PÁGINAS INTERIORES NUEVAS
   (Infraestructura · Eventos destacados · Nosotros · Descargas)
   ========================================================= */

/* ---------- Variantes de alto de la cabecera verde ---------- */
.hero-int--corto{min-height:213px}
.hero-int--alto{min-height:276px}
.hero-int--alto .hero-int__lead{max-width:780px}

/* =========================================================
   INFRAESTRUCTURA
   ========================================================= */

/* ---------- Mapa del recinto ---------- */
.infra-mapa{background:#fff;padding:18px 0 4px;text-align:center}
.infra-mapa__titulo{margin-bottom:18px}
.infra-mapa__img{display:block;width:100%;max-width:var(--wrap);height:auto;margin-inline:auto}
.infra-mapa__pie{
  margin:10px auto 0;max-width:840px;padding-inline:var(--pad);
  font-size:14px;line-height:20px;color:var(--gris-medio);
}

/* ---------- Franja de tierra con las tarjetas ---------- */
.infra{
  position:relative;margin-top:-1px;
  background-color:var(--tierra);isolation:isolate;
  -webkit-mask-image:url('../svg/brown-edge.svg'),linear-gradient(#000,#000);
          mask-image:url('../svg/brown-edge.svg'),linear-gradient(#000,#000);
  -webkit-mask-repeat:no-repeat,no-repeat;
          mask-repeat:no-repeat,no-repeat;
  -webkit-mask-position:center top,center bottom;
          mask-position:center top,center bottom;
  -webkit-mask-size:100% var(--edge-h),100% calc(100% - var(--edge-h) + 1px);
          mask-size:100% var(--edge-h),100% calc(100% - var(--edge-h) + 1px);
  -webkit-mask-composite:source-over;
          mask-composite:add;
}
.infra::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url('../img/soil.webp') no-repeat center/cover;opacity:.519;mix-blend-mode:multiply;
}
.infra__edge{height:var(--edge-h)}
.infra__bg{position:relative;z-index:1;padding:26px 0 72px}
.infra__lista{
  position:relative;z-index:2;display:grid;gap:60px;
  width:calc(100% - 2*var(--pad));max-width:1125px;margin-inline:auto;
}

/* ---------- Tarjeta de espacio ---------- */
.bloque{
  display:grid;grid-template-columns:507px 1fr;align-items:stretch;
  background:#fff;border-radius:6px;overflow:hidden;
  box-shadow:0 12px 30px rgba(20,14,14,.22);
}
.bloque__media{position:relative;overflow:hidden;background:#e9ece4;min-height:340px}
.bloque__track{
  position:absolute;inset:0;display:flex;
  transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
.bloque__slide{flex:0 0 100%;height:100%}
.bloque__slide img{width:100%;height:100%;object-fit:cover;display:block}

/* Flechas amarillas */
.bloque__nav{
  position:absolute;top:50%;width:30px;height:46px;margin-top:-23px;
  border:0;background:none;cursor:pointer;padding:0;
  display:flex;align-items:center;justify-content:center;
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.35));
  transition:transform .25s ease,opacity .25s ease;
}
.bloque__nav::before{
  content:"";width:17px;height:17px;border-top:5px solid var(--amarillo);border-right:5px solid var(--amarillo);
  border-radius:2px;
}
.bloque__nav--prev{left:8px}
.bloque__nav--prev::before{transform:rotate(-135deg);margin-left:5px}
.bloque__nav--next{right:8px}
.bloque__nav--next::before{transform:rotate(45deg);margin-right:5px}
.bloque__nav:hover{transform:scale(1.14)}
.bloque__nav--prev:hover{transform:scale(1.14) translateX(-3px)}
.bloque__nav--next:hover{transform:scale(1.14) translateX(3px)}
.bloque__nav:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* Puntos */
.bloque__dots{
  position:absolute;left:0;right:0;bottom:12px;z-index:2;
  display:flex;justify-content:center;gap:9px;
}
.bloque__dot{
  width:9px;height:9px;padding:0;border:1.5px solid rgba(255,255,255,.85);border-radius:50%;
  background:transparent;cursor:pointer;transition:background .25s ease,transform .25s ease;
}
.bloque__dot.is-on{background:#2b2b2b;border-color:#2b2b2b;transform:scale(1.1)}
.bloque__dot:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* Texto */
.bloque__body{padding:31px 36px 34px;align-self:center}
.bloque__titulo{
  font-size:25px;line-height:32px;font-weight:700;color:var(--verde-oscuro);
  margin:0 0 12px;
}
.bloque__texto{margin:0;font-size:16px;line-height:22px;color:var(--gris-texto)}
.bloque__texto p{margin:0 0 14px}
.bloque__texto p:last-child{margin-bottom:0}
.bloque__texto b{font-weight:700;color:var(--verde-oscuro)}
.bloque__texto ul{margin:0;padding-left:18px;list-style:disc}
.bloque__texto li{margin-bottom:2px}

/* =========================================================
   EVENTOS DESTACADOS
   ========================================================= */
.int--casos{padding-top:58px;padding-bottom:74px}
.int--casos .h2{margin-bottom:8px}
.casos{
  display:grid;grid-template-columns:repeat(5,1fr);gap:20.25px 17.25px;
  max-width:1179px;margin:34px auto 0;list-style:none;padding:0;
}
.int--casos .section__head + .casos{margin-top:34px}
.caso{
  display:flex;flex-direction:column;min-height:302px;
  background:var(--verde-oscuro);border-radius:4.5px;overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;
}
a.caso:hover,a.caso:focus-visible{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.2)}
.caso__img{display:block;aspect-ratio:1/1;overflow:hidden;background:#e9ece4}
.caso__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
a.caso:hover .caso__img img{transform:scale(1.06)}
.caso__title{
  display:block;padding:22.4px 17.6px 18px;
  font-family:var(--ff-text);font-size:18px;line-height:22px;font-weight:700;color:#fff;
}

/* =========================================================
   NOSOTROS
   ========================================================= */
.historia{background:#fff;padding:62px 0 70px}
.historia__inner{
  display:grid;grid-template-columns:1fr 604px;gap:66px;align-items:center;
  width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:72.75px;
}
.historia__over{
  margin:0;font-size:25px;line-height:32px;font-weight:500;color:var(--verde-oscuro);
}
.historia__titulo{
  margin:4px 0 0;font-size:32px;line-height:40px;font-weight:700;color:var(--verde-oscuro);
}
.historia__texto{margin:18px 0 0;font-size:16px;line-height:22px;color:var(--gris-texto)}
.historia__texto p{margin:0 0 16px}
.historia__texto p:last-child{margin-bottom:0}
.historia__media{margin:0}
.historia__media img{
  display:block;width:100%;height:auto;border-radius:6px;
  box-shadow:0 14px 34px rgba(0,0,0,.2);
}

/* =========================================================
   DESCARGAS
   ========================================================= */
.descargas{background:#fff;padding:60px 0 78px}
.descargas__lista{
  width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:72.75px;
  display:grid;gap:19px;list-style:none;
}
.descarga{
  display:flex;align-items:center;gap:22.5px;
  color:var(--verde-oscuro);text-decoration:none;
  transition:color .2s ease,transform .2s ease;
}
.descarga__ico{
  flex:none;width:43.5px;height:54px;background:currentColor;
  -webkit-mask:url('../svg/descarga.svg') no-repeat center/contain;
          mask:url('../svg/descarga.svg') no-repeat center/contain;
  transition:transform .25s cubic-bezier(.22,.61,.36,1);
}
.descarga__txt{font-size:20px;line-height:26px;font-weight:700}
.descarga__meta{
  margin-left:9px;font-size:13px;line-height:18px;font-weight:400;
  color:var(--gris-medio);text-transform:uppercase;letter-spacing:.03em;
}
a.descarga:hover,a.descarga:focus-visible{color:var(--naranjo)}
a.descarga:hover .descarga__ico{transform:translateY(3px)}
.descarga--vacia{opacity:.45}
.descargas__vacio{
  max-width:var(--wrap);margin-inline:auto;padding-inline:72.75px;
  font-size:16px;line-height:22px;color:var(--gris-medio);
}

/* =========================================================
   RESPONSIVE DE LAS PÁGINAS NUEVAS
   ========================================================= */
@media (max-width:1200px){
  .casos{grid-template-columns:repeat(4,1fr)}
  .bloque{grid-template-columns:44% 1fr}
  .historia__inner{grid-template-columns:1fr 46%;gap:44px}
}
@media (max-width:1024px){
  .casos{grid-template-columns:repeat(3,1fr)}
  .bloque{grid-template-columns:1fr}
  .bloque__media{min-height:0;aspect-ratio:676/524}
  .bloque__body{padding:26px 28px 30px}
  .historia__inner{grid-template-columns:1fr;gap:30px;padding-inline:var(--pad)}
  .historia__media{order:-1}
  .descargas__lista,.descargas__vacio{padding-inline:var(--pad)}
  .infra__bg{padding:20px 0 56px}
  .infra__lista{gap:40px}
}
@media (max-width:760px){
  .casos{grid-template-columns:repeat(2,1fr);gap:14px}
  .caso{min-height:0}
  .caso__title{padding:16px 14px 15px;font-size:16px;line-height:20px}
  .historia__titulo{font-size:26px;line-height:32px}
  .historia__over{font-size:20px;line-height:26px}
  .descarga{gap:16px}
  .descarga__ico{width:34px;height:42px}
  .descarga__txt{font-size:17px;line-height:23px}
  .descarga__meta{display:block;margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  .bloque__track,.caso,.caso__img img,.descarga__ico,.bloque__nav{transition:none}
  a.caso:hover{transform:none}
  a.caso:hover .caso__img img{transform:none}
}

/* =========================================================
   FICHA DE ESPACIO  (single de "Espacios")
   ========================================================= */
.ficha{background:#fff;padding:52px 0 60px}
.ficha__inner{
  display:grid;grid-template-columns:620px 1fr;gap:48px;align-items:start;
  width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:72.75px;
}

/* El carrusel reutiliza la mecánica de las fichas de infraestructura. */
.ficha .bloque__media{
  min-height:0;aspect-ratio:676/524;border-radius:8px;
  box-shadow:0 12px 30px rgba(20,14,14,.16);
}
.ficha .bloque__nav::before{border-width:5px}

.ficha__cuerpo{padding-top:2px}
.ficha__over{
  margin:0;font-size:18px;line-height:24px;font-weight:600;color:var(--naranjo);
  letter-spacing:.02em;
}
.ficha__titulo{
  margin:4px 0 0;font-size:32px;line-height:40px;font-weight:700;color:var(--verde-oscuro);
}
.ficha__texto{margin:18px 0 0;font-size:16px;line-height:22px;color:var(--gris-texto)}
.ficha__texto p{margin:0 0 14px}
.ficha__texto p:last-child{margin-bottom:0}
.ficha__texto b{font-weight:700;color:var(--verde-oscuro)}
.ficha__texto ul{margin:0;padding-left:18px;list-style:disc}
.ficha__texto li{margin-bottom:2px}
.ficha__acciones{display:flex;flex-wrap:wrap;gap:12.75px;margin-top:28px}

/* ---------- «Otros espacios» sobre la franja de tierra ---------- */
.espacios--otros .espacios__bg{padding-top:14px;padding-bottom:96px}
.espacios--otros .spaces{margin-top:34px}

@media (max-width:1200px){
  .ficha__inner{grid-template-columns:52% 1fr;gap:36px}
}
@media (max-width:1024px){
  .ficha{padding:38px 0 46px}
  .ficha__inner{grid-template-columns:1fr;gap:28px;padding-inline:var(--pad)}
}
@media (max-width:760px){
  .ficha__titulo{font-size:26px;line-height:32px}
  .ficha__over{font-size:16px;line-height:22px}
  .ficha__acciones .btn{flex:1 1 100%}
}

/* =========================================================
   MIGA DE PAN  (breadcrumb)
   ========================================================= */
.miga{
  font-family:var(--ff-title);font-size:13px;line-height:18px;font-weight:600;
  letter-spacing:.02em;
}
.miga__lista{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px 7px;
  list-style:none;margin:0;padding:0;
}
.miga__item{display:inline-flex;align-items:center;gap:7px}
.miga a{text-decoration:none;transition:color .2s ease}
.miga__sep{
  width:5px;height:5px;flex:none;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor;
  transform:rotate(45deg);opacity:.75;
}
.miga__actual{opacity:.85}

/* Dentro de la cabecera verde */
.hero-int .miga{margin-bottom:12px;color:rgba(255,255,255,.72)}
.hero-int .miga a{color:rgba(255,255,255,.88)}
.hero-int .miga a:hover,.hero-int .miga a:focus-visible{color:var(--amarillo)}
.hero-int .miga__actual{color:rgba(255,255,255,.72)}

/* Barra clara para las páginas que no llevan cabecera verde */
.miga--barra{
  background:#f4f5f0;border-bottom:1px solid #e6e8e1;color:var(--gris-medio);
}
.miga--barra .miga__lista{
  width:100%;max-width:var(--wrap);margin-inline:auto;padding:13px 72.75px;
}
.miga--barra a{color:var(--verde-oscuro)}
.miga--barra a:hover,.miga--barra a:focus-visible{color:var(--naranjo)}

@media (max-width:1024px){
  .miga--barra .miga__lista{padding:11px var(--pad)}
}
@media (max-width:760px){
  .miga{font-size:12px;line-height:17px}
  .hero-int .miga{margin-bottom:9px}
}
