/* ==========================================================================
   SECCIÓN HERO · Home — Slider a pantalla con texto + CTAs
   Enfoque Mobile-First. Valores fieles al CSS de Figma.
   ========================================================================== */

.hero {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 600px;
    height: 88vh;
    max-height: 898px;
    display: flex;
    align-items: flex-end;
    box-sizing: border-box;
    background-color: #0F2943;   /* respaldo si aún no hay imagen en ACF */
    font-family: 'Be Vietnam Pro', system-ui, sans-serif;
}

/* ---- Slider de imágenes de fondo ---- */
.hero-slides {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hero-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 1.2s ease;
}

.hero-slide.is-active {
    opacity: 1;
    z-index: 1;
}

/* ---- Degradado de legibilidad ---- */
.hero-gradient {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(0deg, rgba(15, 41, 67, 0.75) 0%, rgba(15, 41, 67, 0.25) 50%, rgba(15, 41, 67, 0.4) 100%);
}

/* ---- Contenedor de contenido en primer plano ---- */
/* max-width/centrado vienen del contenedor global (.sec-custom-container).
   Aquí solo el padding vertical propio y el layout. */
.hero-inner {
    position: relative;
    z-index: 3;
    width: 100%;
    box-sizing: border-box;
    padding: 33px 24px 48px;
    display: flex;
    flex-direction: column;
    gap: 32px;                   /* 82px en escritorio */
}

/* Pila de bloques de contenido (uno por slide en modo "por slide") */
.hero-content-stack {
    width: 100%;
}

/* En modo "por slide" los bloques se superponen y solo se ve el activo */
.hero-content-stack.is-switching {
    display: grid;
}

.hero-content-stack.is-switching > .hero-content {
    grid-area: 1 / 1;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.8s ease;
}

.hero-content-stack.is-switching > .hero-content.is-active {
    opacity: 1;
    pointer-events: auto;
}

/* ---- Bloque de texto y acciones ---- */
.hero-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 36px;                   /* texto → botones (Figma) */
    max-width: 576px;
}

.hero-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;                   /* header → descripción */
    width: 100%;
}

.hero-header-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;                   /* tagline → título */
}

.hero-tagline {
    font-weight: 500;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 2.16px;
    text-transform: uppercase;
    color: #F2F2F3;
}

.hero-heading {
    margin: 0;
    font-weight: 700;
    font-size: 32px;             /* móvil; 48px en escritorio */
    line-height: 110%;
    letter-spacing: -1.08px;
    color: #FFFFFF;
}

.hero-description {
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: -0.45px;
    color: #F2F2F3;
    text-wrap: balance;
}

/* ---- Acciones (botones) ---- */
.hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}

.hero-btn-primary,
.hero-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;          /* Figma: 12px 20px (antes 12px 24px) */
    height: 39px;
    box-sizing: border-box;
    border-radius: 24px;
    font-weight: 500;
    font-size: 14px;
    line-height: 110%;
    letter-spacing: -0.154px;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}

.hero-btn-primary {
    background: #0E2C45;
    color: #FFFFFF;
}

.hero-btn-primary:hover {
    background: #006491;
    transform: translateY(-1px);
}

.hero-btn-secondary {
    background: #F8F6F1;
    border: 1px solid #D7D9DB;
    color: #000000;
}

.hero-btn-secondary:hover {
    background: #FFFFFF;
    border-color: #000000;
    transform: translateY(-1px);
}

.hero-btn-arrow {
    margin-left: 8px;
}

/* ---- Indicadores del slider ---- */
.hero-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.hero-dot {
    width: 16.6px;
    height: 4px;
    padding: 0;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.45);
    border: 1px solid #F2F2F3;
    border-radius: 99px;
    cursor: pointer;
    transition: all 0.25s ease;
}

.hero-dot.is-active {
    width: 33px;
    background: #FFFFFF;
}

/* ==========================================================================
   Breakpoints (Mobile-First → min-width)
   ========================================================================== */
@media (min-width: 600px) {
    .hero-heading {
        font-size: 40px;
    }
}

@media (min-width: 992px) {
    .hero {
        height: 90vh;
    }

    .hero-inner {
        padding: 33px 40px 48px;
        gap: 82px;               /* contenido → dots (Figma) */
    }

    .hero-heading {
        font-size: 48px;
    }
}

/* Móvil pequeño: botones a ancho completo */
@media (max-width: 480px) {
    .hero-actions {
        width: 100%;
    }
    .hero-btn-primary,
    .hero-btn-secondary {
        flex: 1 1 auto;
        text-align: center;
    }
}
