/* =========================
   HERO — BASE  (ref. Figma width 1512px)
   Alturas por proporción (aspect-ratio), no fijas. Velo sólido por variante.
========================= */

.hero {
    position: relative;

    /* Ancho fijo al 100%: evita que un aspect-ratio + cap de altura
       encoja el ancho del hero (dejando hueco en blanco a la derecha). */
    width: 100%;

    display: flex;
    align-items: center;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    /* Sin overflow:hidden: permite que el contenido más alto que la
       proporción (p. ej. en móvil) expanda el hero en lugar de recortarse. */
    box-sizing: border-box;
}

/* Velo por defecto (Figma: negro sólido; se ajusta por variante) */
.hero__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.60);
}

.hero__container {
    position: relative;
    z-index: 2;

    width: min(1180px, 92%);
    margin: auto;
}

/* =========================
   HERO — HOME
   Figma: 1512 x 1008 · aspect 3/2 · velo 0.65
   (el contenido interno se ajusta aparte)
========================= */

/* Hero "full": ocupa el alto del viewport y crece con el contenido
   (el alto lo define .hero--home { min-height:100vh } en home.css).
   No usa aspect-ratio para no crecer de más ni encimar contenido. */
.hero--home .hero__overlay {
    background: rgba(0, 0, 0, 0.65);
}

/* =========================
   HERO — COMPANY (empresas)
   Figma: 1512 x 718 · aspect 179/85
   (el velo propio y el contenido se ajustan en company.css)
========================= */

/* Hero "full" empresas: alto por viewport (company.css min-height:100vh). */

/* =========================
   HERO — BANNER (compartido)
   nosotros · ayuda · contacto · privacidad · reclamaciones · terminos
   Figma: 1512 x 453 · aspect 247/74 · velo 0.60
========================= */

.hero--banner,
.hero--help {
    aspect-ratio: 247 / 74;
    /* Cap para que en pantallas muy anchas la banda no crezca demasiado
       (a 1512px la proporción ya da ~453px). */
    max-height: 520px;

    align-items: center;
    justify-content: center;

    /* holgura superior para no cruzar el navbar (posición absoluta) */
    padding: 120px 20px 48px;
}

/* Bloque de texto: 800px, columna, gap 29px (texto centrado) */
.hero--banner .hero__content,
.hero--help .hero__content {
    display: flex;
    width: 800px;
    max-width: 100%;

    flex-direction: column;
    align-items: flex-start;
    gap: 29px;

    margin: auto;
    text-align: center;
}

/* Título: #F9B410 · Poppins 48/700 · line-height 42 (0.875) */
.hero--banner .hero__title,
.hero--help .hero__title {
    align-self: stretch;
    margin: 0;

    color: #F9B410;
    text-align: center;

    font-family: "Poppins", sans-serif;
    font-size: clamp(24px, 3.2vw, 48px);
    font-weight: 700;
    line-height: 0.875;               /* 42 / 48 */
}

/* Subtítulo: #FFF · Poppins 20/600 · line-height 23 (1.15) */
.hero--banner .hero__description,
.hero--help .hero__description {
    align-self: stretch;
    margin: 0;

    color: #FFF;
    text-align: center;

    font-family: "Poppins", sans-serif;
    font-size: clamp(15px, 1.35vw, 20px);
    font-weight: 600;
    line-height: 1.15;                /* 23 / 20 */
}

/* En móvil/tablet el alto lo manda el contenido (evita recortes con
   aspect-ratio); se mantiene una banda mínima cómoda. */
@media (max-width: 991px) {

    .hero--banner,
    .hero--help {
        aspect-ratio: auto;
        max-height: none;            /* alto por contenido, sin cap */
        min-height: 360px;
        padding: 110px 20px 44px;
    }
}

@media (max-width: 576px) {

    .hero--banner,
    .hero--help {
        min-height: 300px;
        padding: 96px 18px 40px;
    }
}
