/* ================= HERO (OVERRIDES FINALES) ================= */
html,body{overflow-x:hidden!important;max-width:100vw!important}

/* Contenedor principal */
.hero{position:relative!important;height:100vh!important;background:#000!important;overflow:hidden!important;z-index:5!important}

/* Galería / Slides */
.hero-gallery{position:relative!important;width:100%!important;height:100%!important;top:0!important;left:0!important;z-index:1!important}

/* Slide: define el gutter para todo el contenido interno */
.hero-slide{position:absolute!important;width:100%!important;height:100%!important;opacity:0!important;z-index:1!important;transition:opacity 1.2s ease-in-out!important;overflow:hidden!important;backface-visibility:hidden!important;transform-style:preserve-3d!important;will-change:transform,opacity!important;perspective:1000px!important;padding-left:max(clamp(16px,4vw,48px),env(safe-area-inset-left))!important;padding-right:max(clamp(16px,4vw,48px),env(safe-area-inset-right))!important;box-sizing:border-box!important}
.hero-slide.active{opacity:1!important;z-index:2!important}

/* Imágenes */
.hero-image,.hero-image-mobile{display:none!important;position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;transform:scale(1.03)!important;transition:none!important}
.hero-image.active,.hero-image-mobile.active{display:block!important}

/* Zoom leve sin interferir con GSAP */
@keyframes heroZoom{from{transform:scale(1.03)}to{transform:scale(1.06)}}

/* Texto flotante: ANCLADO ENTRE PADDINGS. Nunca se sale. */
.hero-text-float{position:absolute!important;left:0!important;right:0!important;bottom:clamp(16px,6vh,96px)!important;max-width:min(560px,100%)!important;width:100%!important;z-index:120!important;color:#fff!important;min-height:200px!important;font-family:'Gibson',sans-serif!important;text-shadow:0 3px 10px rgba(0,0,0,.5)!important;pointer-events:auto!important;box-sizing:border-box!important;transform:none!important}
.hero-text-float *{transform:none!important;translate:none!important;rotate:none!important;scale:none!important}

/* Título y subtítulo (respetan tu escala) */
.hero-title{font-size:3rem!important;font-weight:700!important;text-transform:uppercase!important;margin:0 0 1rem 0!important;line-height:1.2!important;color:#fff!important;text-wrap:balance!important;overflow-wrap:anywhere!important;hyphens:auto!important}
@media (max-width:1280px){.hero-title{font-size:2.3rem!important}}
@media (min-width:768px) and (max-width:1024px){.hero-title{font-size:2.4rem!important;margin-bottom:1rem!important}}
@media (min-width:769px) and (max-width:1024px){.hero-title{font-size:2.6rem!important}}
.hero-subtitle{font-family:'Inter',sans-serif!important;font-size:1.3125rem!important;font-weight:500!important;color:#fff!important;margin:0 0 2rem 0!important;max-width:90%!important;line-height:1.6!important;letter-spacing:.2px!important;text-wrap:pretty!important;overflow-wrap:anywhere!important}

/* Botones */
.hero-buttons{display:flex!important;gap:1rem!important;flex-wrap:wrap!important;max-width:100%!important}
.hero .hero-prev,.hero .hero-next,.hero .hero-arrow{pointer-events:auto!important;z-index:100!important;position:absolute!important;top:50%!important;transform:translateY(-50%)!important;background:rgba(255,255,255,.6)!important;border:none!important;font-size:1.2rem!important;color:#111!important;width:40px!important;height:40px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;backdrop-filter:blur(4px)!important;box-shadow:0 4px 12px rgba(0,0,0,.1)!important;transition:all .3s ease-in-out!important}
.hero .hero-arrow:hover{background:#111!important;color:#fff!important}
.hero-arrow-prev{left:1rem!important}
.hero-arrow-next{right:1rem!important}

/* Oculta flechas 3D fuera de su zona */
.hero .carousel3d__btn{display:none!important;pointer-events:none!important;visibility:hidden!important;opacity:0!important}

/* Blur de carga */
.hero-slide .hero-image.lazyloaded~.hero-image-blur,
.hero-slide .hero-image-mobile.lazyloaded~.hero-image-blur{opacity:0!important}

/* Transiciones de aparición del hero */
body:not(.loaded) .hero{opacity:0!important;transform:translateY(40px)!important;pointer-events:none!important;transition:none!important}
body.loaded .hero{opacity:1!important;transform:translateY(0)!important;pointer-events:auto!important;transition:all 1s ease-out!important}

/* Seguridad extra contra reglas viejas que centraban con left:50% */
@media (min-width:768px) and (max-width:1024px){
  .hero-text-float{left:0!important;right:0!important;transform:none!important;text-align:left!important;padding:0!important;max-width:min(560px,100%)!important}
}

/* Resuelve conflictos de UA/otras hojas */
h1,h2,h3{font-family:'Gibson',sans-serif!important}
