/* ============================================ */
/* Page Contact Template                        */
/* ============================================ */

html {
    scroll-behavior: smooth;
}

/* Invert alternating section backgrounds on contact page */
.main-content > section:nth-child(even) {
    background-color: transparent;
}
.main-content > section:nth-child(odd) {
    background-color: #F5F7FF;
}
.section {
    position: relative;
}

.top-hero {
    padding-bottom: 0 !important;
}

.section_bg {
    bottom: 600px;
}

.video-player {
    margin-bottom: 0;
}

.video-player__embed iframe {
    border-color: white;
}

.section-avantages-clients {
    background-color: white !important;
}

/* ============================================ */
/* Shared utilities                             */
/* ============================================ */

.section-cta-center {
    display: flex;
    justify-content: center;
    margin-top: 48px;
}

/* ============================================ */
/* SECTION 1: Pain Points                       */
/* ============================================ */

.section-pain-points {
    padding: 96px 0;
}

.section-pain-points__subtitle {
    font-family: "Moderat-Bold";
    font-size: 22px;
    color: #2A2243;
    text-align: center;
    margin: 32px 0 16px;
}

.section-pain-points__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    max-width: 1100px;
    margin: 0 auto;
}

.section-pain-points__card {
    background-color: #EBEFFF;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    flex: 1 1 calc(33.333% - 12px);
    min-width: 296px;
}

.section-pain-points__card--wide {
    flex: 1 1 calc(50% - 8px);
}

.section-pain-points__icon {
    flex: 0 0 auto;
    margin-top: 2px;
}

.section-pain-points__icon svg {
    width: 22px;
    height: 22px;
}
.section-pain-points__card p {
    font-family: "Moderat-Regular";
    font-size: 16px;
    line-height: 1.5;
    color: #2A2243;
}

.section-pain-points__card strong {
    color: #00247D;
    font-family: "Moderat-Bold";
}

/* ============================================ */
/* SECTION 2: Benefits                          */
/* ============================================ */

.section-benefits {
    padding: 96px 0;
}

.section-benefits__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    max-width: 1100px;
    margin: 48px auto;
}

.section-benefits__card {
    background-color: white;
    border-radius: 12px;
    padding: 32px;
    flex: 1 1 calc(33.333% - 16px);
    min-width: 296px;
    box-shadow: 0 2px 8px rgba(28, 69, 245, 0.06);
}

.section-benefits__card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.section-benefits__icon {
    flex: 0 0 auto;
}

.section-benefits__icon img {
    width: 56px;
    height: 56px;
}

.section-benefits__card h3 {
    font-family: "Moderat-Bold";
    font-size: 20px;
    color: #2A2243;
    margin-bottom: 0;
    line-height: 1.3;
}

.section-benefits__card p {
    font-family: "Moderat-Regular";
    font-size: 15px;
    line-height: 1.6;
    color: #2A2243;
    margin-bottom: 8px;
}

.section-benefits__card p:last-child {
    margin-bottom: 0;
}

/* ============================================ */
/* SECTION 3: Process (4 steps)                 */
/* ============================================ */

.section-process {
    padding: 96px 0;
    border-radius: 16px;
    margin: 0 16px;
}

.section-process__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    max-width: 1000px;
    margin: 48px auto 0 auto;
}

.section-process__step {
    flex: 1 1 calc(50% - 16px);
    min-width: 300px;
}

.section-process__step-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.section-process__step-number {
    position: relative;
    flex: 0 0 auto;
}

.section-process__number-circle {
    background-color: #EA4335;
    width: 32px;
    height: 32px;
    display: block;
    border-radius: 50%;
}

.section-process__number-text {
    position: absolute;
    right: -4px;
    top: -6px;
    font-family: "EightiesComeback-Bold";
    color: rgba(28, 69, 245, 0.75);
    filter: blur(1px);
    font-size: 42px;
}

.section-process__step h3 {
    font-family: "EightiesComeback-Bold";
    font-size: 22px;
    color: #061AAF;
    line-height: 1.3;
}

.section-process__step p {
    font-family: "Moderat-Regular";
    font-size: 16px;
    line-height: 1.6;
    color: #2A2243;
    margin-bottom: 8px;
}

.section-process__note {
    font-family: "Moderat-Light" !important;
    font-style: italic;
}

.section-process__step ul {
    padding-left: 20px;
    margin: 4px 0;
}

.section-process__step ul li {
    font-family: "Moderat-Regular";
    font-size: 16px;
    line-height: 1.6;
    color: #2A2243;
    list-style: disc;
    margin-bottom: 4px;
}

/* ============================================ */
/* SECTION 4 & 5: Offers (shared styles)        */
/* ============================================ */

.section-offers,
.section-formulas {
    padding: 96px 0;
}

.section-offers__grid,
.section-formulas__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    max-width: 1100px;
    margin: 48px auto 0 auto;
}

.section-offers__offer,
.section-formulas__formula {
    flex: 1 1 calc(50% - 16px);
    min-width: 300px;
    border-radius: 16px;
    position: relative;
}

.section-formulas__formula {
    background-color: #F5F7FF;
}

.section-offers__offer {
    background-color: white;
    padding: 16px;
    display: flex;
    flex-direction: column;
}
.section-offers__card-blue {
    background-color: #061AAF;
        padding: 16px;
    color: white;
    border-radius: 12px;
}

.section-offers__card-blue h3 {
    font-family: "Moderat-Bold";
    font-size: 16px;
    color: white;
    margin-bottom: 12px;
}

.section-offers__pour-qui {
    font-family: "Moderat-Bold";
    color: #F0756B !important;
    font-size: 16px;
    margin-bottom: 8px;
}

.section-offers__card-blue p {
    font-family: "Moderat-Regular";
    font-size: 15px;
    line-height: 1.6;
    color: white;
}

.section-offers__card-blue ul {
    padding-left: 16px;
    margin-top: 8px;
}

.section-offers__card-blue ul li {
    font-family: "Moderat-Regular";
    font-size: 15px;
    line-height: 1.6;
    color: white;
    list-style: disc;
    margin-bottom: 4px;
}

.section-offers__note-tech {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 12px;
    margin-top: 12px;
    font-style: italic;
}

.section-offers__details {
    padding-top: 16px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        flex: 1;
}

.section-offers__details-label {
    font-family: "Moderat-Bold";
    color: #EA4335;
    font-size: 16px;
    margin-bottom: 16px;
}

.section-offers__checklist {
    list-style: none;
    padding: 0;
    margin: 0 0 32px 0;
}

.section-offers__checklist > li {
    display: grid;
    grid-template-columns: 26px 1fr;
    gap: 0 12px;
    margin-bottom: 16px;
    font-family: "Moderat-Regular";
    font-size: 15px;
    line-height: 1.6;
    color: #2A2243;
}

.section-offers__checklist > li > svg {
    grid-row: 1 / -1;
    margin-top: 2px;
}

.section-offers__checklist > li > span {
    grid-column: 2;
}

.section-offers__checklist > li ul {
    grid-column: 2;
    padding-left: 20px;
    margin-top: 8px;
}

.section-offers__checklist > li ul li {
    list-style: disc;
    margin-bottom: 4px;
    font-family: "Moderat-Regular";
    font-size: 15px;
    line-height: 1.5;
}

.section-offers__price {
    font-family: "EightiesComeback-Bold";
    font-size: 20px;
    color: #1C45F5;
    margin-top: auto;
}

/* Recommended badge */
.section-formulas__formula {
    position: relative;
    padding: 16px;
        display: flex;
        flex-direction: column;
}

.section-formulas__badge {
    position: absolute;
    top: -18px;
    right: 16px;
    background-color: #EA4335;
    color: white;
    font-family: "Moderat-Bold";
    font-size: 14px;
    padding: 8px 16px;
    border-radius: 20px;
    z-index: 1;
}

/* ============================================ */
/* SECTION 6: No RDV explanation                */
/* ============================================ */

.section-no-rdv {
    padding: 96px 0;
}

.section-no-rdv__content {
    max-width: 800px;
    margin: 16px auto;
    text-align: center;
}

.section-no-rdv__content p {
    font-family: "Moderat-Regular";
    font-size: 17px;
    line-height: 1.7;
    color: #2A2243;
    margin-bottom: 16px;
}

.section-no-rdv__highlight {
    font-family: "Moderat-Bold" !important;
    color: #061AAF !important;
    font-size: 18px !important;
}

.texte_sous_le_carousel {
    text-align: center;
    max-width: 800px;
    margin: 32px auto 0 auto;
    padding: 0 16px;
}

.texte_sous_le_carousel p {
    font-family: "Moderat-Bold";
    font-size: 16px;
    color: #2A2243;
    line-height: 1.6;
}

/* ============================================ */
/* SECTION 7: Questionnaire (form)              */
/* ============================================ */

.section-questionnaire {
    padding: 96px 0;
}

/* ============================================ */
/* Responsive                                   */
/* ============================================ */

@media all and (max-width: 850px) {
    .section-pain-points__card,
    .section-pain-points__card--wide {
        flex: 1 1 calc(50% - 8px);
    }

    .section-benefits__card {
        flex: 1 1 calc(50% - 12px);
    }

    .section-process__step {
        flex: 1 1 100%;
    }

    .section-offers__offer,
    .section-formulas__formula {
        flex: 1 1 100%;
    }
}

@media all and (max-width: 600px) {
    .section-pain-points,
    .section-benefits,
    .section-offers,
    .section-formulas,
    .section-no-rdv,
    .section-questionnaire {
        padding: 48px 0;
    }

    .section-process {
        padding: 48px 8px;
        margin: 0 8px;
        border-radius: 12px;
    }

    .section-pain-points__card,
    .section-pain-points__card--wide,
    .section-benefits__card {
        flex: 1 1 100%;
        min-width: inherit;
    }

    .section-process__step {
        min-width: inherit;
    }

    .section-offers__offer,
    .section-formulas__formula {
        min-width: inherit;
    }

    .section-pain-points__subtitle {
        font-size: 18px;
    }

    .section-offers__price {
        font-size: 16px;
    }

    .container {
        padding: 0 8px !important;
    }
}

@media all and (max-width: 791px) {
    .avantage-card {
        width: 100% !important;
    }
}
