/* Estilos extraídos para la página de inscripciones */

/* Hero Section V2 */
/* ==========================================
   About Banner
   ========================================== */

.ahc-about-banner {
    width: 100%;
    background-color: #ffffff;
    padding: 52px 0 40px;
}

.ahc-about-banner__card {
    position: relative;
    width: 100%;
    height: 344px;
    border-radius: 24px;
    overflow: hidden;
    background-color: #17243D;
}

.ahc-about-banner__image {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* Capa azul general, muy ligera */
.ahc-about-banner__card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: rgba(61, 97, 163, 0.16);
    pointer-events: none;
}

/* Degradado principal igual al Figma */
.ahc-about-banner__card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    background: linear-gradient(90deg, rgb(205, 48, 58, .9) -2%, rgb(205, 48, 58, .8) 27%, rgb(205, 48, 58, .7) 41%, rgba(205, 48, 58, 0.38) 54%, rgba(205, 48, 58, 0.10) 76%, rgba(61, 97, 163, 0.00) 100%);
    pointer-events: none;
}

.ahc-about-banner__content {
    position: relative;
    z-index: 4;
    width: 100%;
    max-width: 593px;
    padding: 55px 0 0 110px;
    color: #ffffff;
}

.ahc-about-banner__eyebrow {
    margin: 0 0 8px;
    color: #ffffff;
    font-family: var(--font-text);
    font-weight: 400;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: -0.02em;
    text-transform: uppercase;
}

.ahc-about-banner__content h2 {
    margin: 0 0 14px;
    color: #DFEEF8;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 32px;
    line-height: 40px;
    letter-spacing: -0.02em;
}

.ahc-about-banner__text {
    margin: 0;
    max-width: 583px;
    color: #ffffff;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.02em;
}

/* Responsive */
@media (max-width: 1024px) {
    .ahc-about-banner__card {
        height: 310px;
    }

    .ahc-about-banner__content {
        max-width: 540px;
        padding: 42px 0 0 70px;
    }

    .ahc-about-banner__content h2 {
        font-size: 34px;
        line-height: 40px;
    }

    .ahc-about-banner__text {
        font-size: 17px;
        line-height: 25px;
    }
}

@media (max-width: 768px) {
    .ahc-about-banner {
        padding: 36px 0 56px;
    }

    .ahc-about-banner__card {
        height: auto;
        min-height: 420px;
        display: flex;
        align-items: flex-end;
    }

    .ahc-about-banner__image {
        object-position: center center;
    }

    .ahc-about-banner__card::before {
        background: rgba(61, 97, 163, 0.12);
    }

    .ahc-about-banner__card::after {
        background: linear-gradient(
            180deg,
            rgba(23, 36, 61, 0.04) 0%,
            rgba(23, 36, 61, 0.56) 48%,
            rgba(23, 36, 61, 0.96) 100%
        );
    }

    .ahc-about-banner__content {
        max-width: 100%;
        padding: 32px 24px;
    }

    .ahc-about-banner__eyebrow {
        font-size: 15px;
        line-height: 22px;
    }

    .ahc-about-banner__content h2 {
        font-size: 30px;
        line-height: 36px;
    }

    .ahc-about-banner__text {
        font-size: 16px;
        line-height: 24px;
    }
}

@media (max-width: 480px) {
    .ahc-about-banner__card {
        min-height: 450px;
        border-radius: 20px;
    }

    .ahc-about-banner__content {
        padding: 28px 20px;
    }

    .ahc-about-banner__content h2 {
        font-size: 27px;
        line-height: 33px;
    }
}

/* Pricing Section Inscripciones Fixes */
.ahc-pricing {
    background-color: transparent;

    & .ahc-pricing-header-inscripciones {
        & .ahc-pretitle {
            text-align: left;
            margin-bottom: 10px;
            color: var(--light-blue);
        }

        & .ahc-section-title {
            color: var(--primary-blue, #1a365d);
            margin-bottom: 15px;
        }

        & .ahc-pricing-subtitle-wrapper {
            max-width: 100%;
        }

        & .ahc-pricing-subtitle {
            text-align: left;
            max-width: 900px;
        }
    }

    & .ahc-pricing-footer-text {
        text-align: center;
        color: var(--primary-blue, #1a365d);
        font-weight: 600;
        font-size: 18px;
        margin-top: 40px;
        max-width: 800px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Nuestro proposito */
.ahc-purpose {
    padding: 50px 0;

    & .ahc-container {
        max-width: 1440px;

        & .ahc-purpose-content {
            text-align: center;
            margin-bottom: 40px;

            & h2 {
                font-size: 40px;
                line-height: 45px;
                color: var(--primary-blue);
                margin-bottom: 23px;
            }

            & p {
                font-size: 20px;
                line-height: 28px;
                text-align: center;
                max-width: 1000px;
                margin: 0 auto;
            }
        }

        & .ahc-purpose-cards {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 24px;
            padding: 0 60px;

            @media (max-width: 600px) {
                padding: 0;
            }

            & .ahc-purpose-card {
                width: calc(25% - 18px);
                padding: 24px;

                @media (max-width: 600px) {
                    width: 100%;
                }

                &:nth-last-of-type(odd) {
                    border-color: var(--accent-red);
                }

                &:nth-last-of-type(even) {
                    border-color: var(--primary-blue);
                }

                & .ahc-icon-img {
                    width: 74px;
                    height: 74px;
                    margin-bottom: 12px;
                }

                & h3 {
                    font-size: 24px;
                    line-height: 32px;
                    margin-bottom: 12px;
                }

                & p {
                    font-size: 20px;
                    line-height: 28px;
                    margin-bottom: 25px;
                }
            }
        }
    }
}

/* CTA Banner */
.ahc-cta-banner {
    & .ahc-cta-container {
        background-color: var(--primary-blue);
        border-radius: 32px 32px 0 0;
        padding: 80px 40px;
        text-align: center;
        color: var(--white);
        max-width: 100%;
        margin-bottom: -30px;

        & h2 {
            font-size: 40px;
            line-height: 48px;
            margin-bottom: 20px;
            font-weight: 700;
            color: var(--white);
        }

        & p {
            font-family: var(--font-heading);
            font-size: 18px;
            line-height: 26px;
            margin-bottom: 40px;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
            font-weight: 600;
        }

        & .ahc-cta-buttons {
            display: flex;
            justify-content: center;
            gap: 20px;

            @media (max-width: 600px) {
                flex-direction: column;
            }
        }
    }
}

/* FAQs Section */
.ahc-faqs {
    padding: 50px 0 100px;

    & .ahc-faqs-container {
        display: flex;
        gap: 60px;
        align-items: center;
        max-width: 1100px;

        @media (max-width: 991px) {
            flex-direction: column;
        }
    }

    & .ahc-faqs-content {
        flex: 1;

        & h2.ahc-title-red {
            font-size: 32px;
            line-height: 40px;
            font-weight: 700;
            color: var(--accent-red, #F12C36);
            margin-bottom: 20px;
        }

        & .ahc-faqs-desc {
            font-size: 16px;
            line-height: 24px;
            color: #434445;
            margin-bottom: 30px;
        }

        & .ahc-accordion {
            display: flex;
            flex-direction: column;
            gap: 16px;

            & .ahc-accordion-item {
                border: 1px solid #C9D8E7;
                border-radius: 12px;
                overflow: hidden;
                background-color: var(--white, #FFFFFF);
                box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);

                & .ahc-accordion-button {
                    width: 100%;
                    text-align: left;
                    background: transparent;
                    border: none;
                    padding: 18px 24px;
                    font-size: 16px;
                    font-weight: 700;
                    color: var(--secondary-blue);
                    cursor: pointer;
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    transition: background-color 0.3s;

                    &:hover {
                        background-color: #f8fafc;
                    }

                    &[aria-expanded="true"] .ahc-accordion-icon::after {
                        transform: rotate(90deg);
                        opacity: 0;
                    }

                    & .ahc-accordion-icon {
                        position: relative;
                        width: 20px;
                        height: 20px;
                        display: flex;
                        align-items: center;
                        justify-content: center;

                        &::before,
                        &::after {
                            content: '';
                            position: absolute;
                            background-color: var(--accent-red, #F12C36);
                            transition: transform 0.3s;
                        }

                        &::before {
                            width: 16px;
                            height: 2px;
                        }

                        &::after {
                            width: 2px;
                            height: 16px;
                        }
                    }
                }

                & .ahc-accordion-content {
                    max-height: 0;
                    overflow: hidden;
                    transition: max-height 0.3s ease-out;

                    & .ahc-accordion-body {
                        padding: 0 24px 18px 24px;
                        font-size: 14px;
                        line-height: 22px;
                        color: #4a5568;
                    }
                }
            }
        }
    }

    & .ahc-faqs-image {
        flex: 1;

        & .ahc-section-img {
            width: 100%;
            border-radius: 16px;
            object-fit: cover;
        }
    }
}

/* Proceso de inscripción */
.ahc-process {
    padding: 80px 0 50px;

    & .ahc-process-header {
        margin-bottom: 40px;
        max-width: 800px;

        & .ahc-pretitle {
            color: var(--light-blue);
        }

        & .ahc-title-red {
            font-size: 40px;
            margin-bottom: 20px;
            color: var(--accent-red);
        }

        & .ahc-process-desc {
            font-size: 20px;
            line-height: 24px;
            color: #434445;
        }
    }

    & .ahc-process-cards {
        display: flex;
        gap: 20px;
        list-style: none;
        padding: 0;
        margin: 0;

        @media (max-width: 991px) {
            flex-wrap: wrap;
        }

        & .ahc-process-card {
            flex: 1;
            background: #fff;
            border-radius: 12px;
            padding: 30px 20px;
            text-align: left;
            border: 1px solid #C9D8E7;

            @media (max-width: 991px) {
                min-width: calc(50% - 10px);
            }

            @media (max-width: 600px) {
                min-width: 100%;
            }

            & h3 {
                font-size: 24px;
                line-height: 32px;
                margin-bottom: 12px;
                color: #182741;
            }

            & p {
                font-size: 20px;
                line-height: 28px;
                margin-bottom: 25px;
            }

            & .ahc-process-number {
                width: 60px;
                height: 60px;
                border-radius: 50%;
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 24px;
                font-weight: 700;
                margin-bottom: 20px;

                &.ahc-bg-blue-light {
                    background-color: #E2EBF5;
                    color: #1a365d;
                }

                &.ahc-bg-red-light {
                    background-color: #FCE8E9;
                    color: #F12C36;
                }
            }
        }
    }
}

/* ==========================================
   Process Cards - Border & Shadow
   ========================================== */

.ahc-process-card {
    background-color: #ffffff;
    border: 1px solid var(--accent-red);
    border-radius: 16px;
    box-shadow: 0 6px 14px rgba(61, 97, 163, 0.48);
    box-sizing: border-box;
}

/* Alternar borde azul en cards pares */
.ahc-process-card:nth-child(even) {
    border-color: var(--primary-blue);
}

/* Mantener borde rojo en cards impares */
.ahc-process-card:nth-child(odd) {
    border-color: var(--accent-red);
}

/* CTA Ayuda */
.ahc-cta-help {
    background-color: var(--primary-blue);
    padding: 80px 40px;
    text-align: center;
    color: white;
    border-radius: 24px 24px 0 0;
    max-width: 100%;
    margin-bottom: -30px;
    /* Para que quede atrás del footer */

    & h2 {
        font-size: 40px;
        line-height: 48px;
        margin-bottom: 20px;
        font-weight: 700;
        color: var(--white, #fff);
    }

    & p {
        font-family: var(--font-heading);
        font-size: 18px;
        line-height: 26px;
        margin-bottom: 40px;
        max-width: 800px;
        margin-left: auto;
        margin-right: auto;
        font-weight: 600;
    }

    & .ahc-cta-help-buttons {
        display: flex;
        justify-content: center;
        gap: 20px;

        & svg {
            margin-right: 8px;
            vertical-align: middle;
        }

        @media (max-width: 600px) {
            flex-direction: column;
        }
    }
}