/* Styles de la page : diagnostics_solutions */

.ds-section { padding: 90px 0; }
.ds-container { padding-left: 50px; padding-right: 50px; }

.ds-h2 {
    font-weight: 500;
    color: #002c4c;
    text-transform: uppercase;
    font-family: 'Bebas Neue', cursive;
    letter-spacing: 3px;
    font-size: 2em;
    margin-bottom: 20px;
}

.ds-lead { font-size: 17px; line-height: 1.7; color: #33475b; max-width: 900px; }

.ds-btn {
    display: inline-block;
    padding: 14px 30px;
    border-radius: 6.25rem;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none !important;
    transition: .3s;
    margin: 0 10px 10px 0;
}
.ds-btn-primary { background: #3C8FCB; color: #fff !important; border: 2px solid #3C8FCB; }
.ds-btn-primary:hover { background: #2a76ad; border-color: #2a76ad; }
.ds-btn-outline { background: transparent; color: #fff !important; border: 2px solid #fff; }
.ds-btn-outline:hover { background: #fff; color: #002c4c !important; }
.ds-btn-outline-dark { background: transparent; color: #002c4c !important; border: 2px solid #002c4c; }
.ds-btn-outline-dark:hover { background: #002c4c; color: #fff !important; }

.ds-link { color: #3C8FCB; font-weight: 600; text-decoration: none !important; }
.ds-link:hover { color: #002c4c; }

/* 1. Hero */
.ds-hero {
    background: linear-gradient(120deg, #002c4c 0%, #0b4a78 100%);
    padding: 110px 0 100px;
    color: #fff;
}
.ds-hero .kicker {
    display: inline-block;
    font-family: 'Bebas Neue', cursive;
    letter-spacing: 3px;
    font-size: 1.2em;
    color: #9fcbea;
    margin-bottom: 15px;
}
.ds-hero h1 { color: #fff; font-size: 2.4em; line-height: 1.25; font-weight: 600; margin-bottom: 20px; }
.ds-hero p { color: #dbe8f3; font-size: 17px; line-height: 1.7; margin-bottom: 30px; }

.ds-hero-framework {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.ds-hero-step {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 10px;
    padding: 22px 18px;
    text-align: center;
}
.ds-hero-step i { font-size: 34px; color: #9fcbea; }
.ds-hero-step span {
    display: block;
    font-family: 'Bebas Neue', cursive;
    letter-spacing: 3px;
    font-size: 1.4em;
    margin-top: 8px;
    color: #fff;
}

/* Cartes génériques */
.ds-card {
    background: #fff;
    border-radius: 10px;
    padding: 30px 26px;
    height: 100%;
    box-shadow: 0 4px 18px rgba(0, 44, 76, .07);
    display: flex;
    flex-direction: column;
}
.ds-card i.ds-icon { font-size: 38px; color: #3C8FCB; margin-bottom: 12px; }
.ds-card h3 { font-size: 1.2em; color: #002c4c; margin-bottom: 12px; font-weight: 600; }
.ds-card p { font-size: 15px; line-height: 1.6; }
.ds-card .ds-card-cta { margin-top: auto; padding-top: 15px; }

/* 3. Framework */
.ds-step-label {
    display: block;
    color: #3C8FCB;
    font-family: 'Bebas Neue', cursive;
    letter-spacing: 3px;
    font-size: 1.6em;
    text-transform: uppercase;
}

/* 4. Diagnostics */
.ds-meta { list-style: none; padding: 0; margin: 10px 0 0; font-size: 14px; }
.ds-meta li { padding: 6px 0; border-top: 1px solid #eef2f6; }
.ds-meta strong { color: #002c4c; }

/* 6. Conversion */
.ds-conversion {
    background: #f7f0e6;
    border-radius: 14px;
    padding: 50px;
    text-align: center;
}

/* 7. Garanties */
.ds-guarantee {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    height: 100%;
    box-shadow: 0 4px 18px rgba(0, 44, 76, .06);
}
.ds-guarantee i { font-size: 28px; color: #3C8FCB; }
.ds-guarantee h3 { font-size: 1em; color: #002c4c; margin: 4px 0 0; font-weight: 600; line-height: 1.5; }

/* 8. CTA final */
.ds-final { background: #002c4c; color: #fff; text-align: center; }
.ds-final .ds-h2 { color: #fff; }
.ds-final p { color: #dbe8f3; max-width: 750px; margin: 0 auto 30px; font-size: 17px; }

@media (max-width: 991px) {
    .ds-hero { padding: 70px 0; }
    .ds-hero h1 { font-size: 1.8em; }
    .ds-hero-framework { margin-top: 40px; }
}
@media (max-width: 767px) {
    .ds-container { padding-left: 20px; padding-right: 20px; }
    .ds-section { padding: 60px 0; }
    .ds-conversion { padding: 30px 20px; }
}

/* ======================================================================
   Styles d'éléments (anciennement en attribut style="" dans le HTML)
   ====================================================================== */

.diagnostics_solutions-ds-hero-step {
    text-decoration: none !important;
}

.diagnostics_solutions-row {
    margin-top: 30px !important;
}

.diagnostics_solutions-ds-lead {
    margin: 0 auto 25px !important;
}

/* Solutions regroupées par pilier (Assister / Piloter / Transformer) */
.ds-sol-pillar { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; background: #002c4c; color: #fff; font-family: 'Bebas Neue', cursive; letter-spacing: 2px; font-size: 1.3em; padding: 4px 14px; border-radius: 6px; margin-bottom: 18px; }
.ds-sol-pillar i { font-size: 20px; }
.ds-diag-pillar { margin-bottom: 20px; }
.ds-sol-item { scroll-margin-top: 90px; }
.ds-sol-item + .ds-sol-item { margin-top: 20px; padding-top: 20px; border-top: 1px solid #e3ebf2; }
