/* =========================================================================
   CORRECCIONES
   Se carga DESPUÉS del CSS propio de cada página, para que estas reglas
   ganen siempre. Son arreglos de fallos reales, no cambios de diseño.
   ========================================================================= */

/* --- Scroll horizontal ---
   .cz-page traía width:100vw con margen negativo para romper el contenedor de
   Elementor. Sirviendo la página suelta ya no hace falta, y 100vw incluye la
   barra de scroll: sobraban ~8px y aparecía scroll lateral en todas las
   páginas interiores. Sirviéndolas dentro de Elementor, el truco vuelve solo. */
.cz-page{width:auto;max-width:none;margin-left:0;margin-right:0;overflow-x:clip}
body.elementor-page .cz-page{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}

/* --- Marquesina: el bucle se cortaba ---
   La pista llevaba un `gap` de flex entre los 12 items, así que el 50% que
   desplaza la animación no coincidía con un ciclo de contenido y saltaba en
   cada vuelta; además medía menos que la pantalla y dejaba un hueco naranja
   vacío a la derecha. Ahora el espaciado va dentro del <span> y la pista son
   dos grupos idénticos que siempre cubren, como mínimo, el ancho de la ventana. */
.home-marquee__track{gap:0;min-width:200vw;will-change:transform;animation-duration:74s}
.home-marquee__group{display:flex;flex:1 0 auto;justify-content:space-around;min-width:100vw}
.home-marquee__track span{padding-right:36px;white-space:nowrap}

/* --- Titular del hero recortado en móvil ---
   A 22vw la palabra "CURRAN." medía ~393px con solo ~350 disponibles: estiraba
   la columna del grid y el hero (overflow:hidden) recortaba titular, eyebrow y
   columna lateral. 18.5vw es el mayor valor que entra completo desde 320px.
   De 530px hacia arriba sigue topando en los mismos 98px, así que no cambia. */
@media(max-width:620px){
  .home-hero h1{font-size:clamp(56px,18.5vw,98px)}
}

/* --- FAQ: no tenía media query ---
   .faq-grid se quedaba en dos columnas con 76px de separación hasta 320px. */
@media(max-width:900px){
  .faq-grid{grid-template-columns:1fr;gap:34px}
}

/* --- Formularios ---
   Honeypot antispam: invisible para las personas, no para los bots. Se oculta
   sin display:none, que algunos bots detectan. */
.cz-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cz-form-status{margin-top:14px;font-size:13px}
.cz-form-status:not(.is-visible){display:none}

/* --- Cabecera y pie --- */
/* Enlace de salto: invisible hasta que se llega con el tabulador. */
.cz-skip{position:absolute;left:-9999px;z-index:200;padding:12px 18px;background:var(--orange);color:#fff;
  font-family:"Arial Black",Arial,sans-serif;font-size:12px;text-transform:uppercase}
.cz-skip:focus{left:12px;top:12px}
#contenido:focus{outline:none}
/* La página actual, marcada. */
.nav__links a[aria-current="page"]{color:var(--orange)}
.mobile-nav__panel a[aria-current="page"]{color:var(--orange)}
/* El menú desplegable tapaba contenido al abrirse por debajo del borde. */
.site-header{position:sticky;top:0;z-index:50}

/* --- Aviso de cookies ---
   Barra inferior, no modal: no bloquea la lectura. Rechazar y Aceptar tienen
   el mismo peso visual, como exige la AEPD. */
.cz-cookies{position:fixed;left:0;right:0;bottom:0;z-index:300;background:#2b2b2b;
  color:#ddd6cf;border-top:3px solid var(--orange);
  padding-bottom:env(safe-area-inset-bottom,0px);animation:cz-cookies-entra 320ms var(--cz-ease) both}
.cz-cookies.is-fuera{animation:cz-cookies-sale 240ms var(--cz-ease) both}
@keyframes cz-cookies-entra{from{transform:translateY(100%)}to{transform:none}}
@keyframes cz-cookies-sale{from{transform:none}to{transform:translateY(100%)}}
.cz-cookies__inner{display:flex;align-items:center;gap:28px;
  width:min(calc(100% - 40px),1180px);margin-inline:auto;padding:20px 0}
.cz-cookies__texto strong{display:block;margin-bottom:4px;color:#fff;
  font-family:"Arial Black",Arial,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.cz-cookies__texto p{margin:0;font-size:13px;line-height:1.5}
.cz-cookies__texto a{color:var(--orange);text-decoration:underline}
.cz-cookies__botones{display:flex;gap:10px;flex:none}
.cz-cookies__btn{min-height:44px;padding:0 22px;border:1px solid rgba(255,255,255,.35);
  background:transparent;color:#fff;font-family:"Arial Black",Arial,sans-serif;font-size:11px;
  letter-spacing:.05em;text-transform:uppercase;cursor:pointer;
  transition:background-color 180ms var(--cz-ease),border-color 180ms var(--cz-ease)}
.cz-cookies__btn--si{background:var(--orange);border-color:var(--orange)}
@media(hover:hover){
  .cz-cookies__btn:hover{background:rgba(255,255,255,.12)}
  .cz-cookies__btn--si:hover{background:var(--orange-dark);border-color:var(--orange-dark)}
}
@media(max-width:760px){
  .cz-cookies__inner{flex-direction:column;align-items:stretch;gap:16px;padding:18px 0}
  .cz-cookies__botones{flex-direction:row}
  .cz-cookies__btn{flex:1}
}
@media(prefers-reduced-motion:reduce){.cz-cookies,.cz-cookies.is-fuera{animation:none}}

/* --- Botones ---
   Esquina ligeramente redondeada, como en la web actual. */
.btn,.cz-cookies__btn,.filter-btn{border-radius:4px}

/* --- CTA fija de móvil ---
   Retirada a petición. El elemento ya no se genera; esta regla la mantiene
   oculta y devuelve el hueco inferior que se le reservaba al body. */
.mobile-cta{display:none!important}
@media(max-width:620px){body{padding-bottom:0}}
