/*
 * DateCle — pages piliers premium
 * Remplacement complet de /assets/css/pillar-rich.css
 * Scopé pour résister aux styles historiques de main.css.
 */

/* ========================================================================== */
/* 1. SOCLE / ISOLATION                                                       */
/* ========================================================================== */

body #main .dc-pillar-rich,
body #main .dc-pillar-wow-stack,
body #main .dc-pillar-wow,
body #main .dc-pillar-visual,
body #main .dc-month-brief,
body #main .dc-month-nav {
    box-sizing: border-box !important;
    clear: both;
    width: 100%;
    max-width: 100%;
    font-family: inherit;
    color: #202631;
    text-align: left;
}

body #main .dc-pillar-rich *,
body #main .dc-pillar-wow-stack *,
body #main .dc-pillar-wow *,
body #main .dc-pillar-visual *,
body #main .dc-month-brief *,
body #main .dc-month-nav * {
    box-sizing: border-box !important;
}

body #main .dc-pillar-rich,
body #main .dc-pillar-wow-stack {
    font-size: clamp(1rem, .97rem + .12vw, 1.075rem) !important;
    line-height: 1.72 !important;
}

/* Neutralise les décorations Hn héritées du thème : barres roses, fonds,
   centrage forcé, largeur 100 %, ombres et pseudo-éléments. */
body #main .dc-pillar-rich h3,
body #main .dc-pillar-rich h4,
body #main .dc-pillar-wow h3,
body #main .dc-pillar-wow h4,
body #main .dc-month-brief h2 {
    position: static !important;
    float: none !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #182236 !important;
    text-align: left !important;
    text-indent: 0 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1.22 !important;
}

body #main .dc-pillar-rich h3::before,
body #main .dc-pillar-rich h3::after,
body #main .dc-pillar-rich h4::before,
body #main .dc-pillar-rich h4::after,
body #main .dc-pillar-wow h3::before,
body #main .dc-pillar-wow h3::after,
body #main .dc-pillar-wow h4::before,
body #main .dc-pillar-wow h4::after,
body #main .dc-month-brief h2::before,
body #main .dc-month-brief h2::after {
    content: none !important;
    display: none !important;
}

/* Réinitialise les paragraphes/listes que le thème historique peut modifier. */
body #main .dc-pillar-rich p,
body #main .dc-pillar-wow p,
body #main .dc-pillar-rich li,
body #main .dc-pillar-wow li,
body #main .dc-pillar-wow dt,
body #main .dc-pillar-wow dd {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    background: transparent;
    color: inherit;
    font-size: 1em !important;
    line-height: 1.68 !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

body #main .dc-pillar-rich ul,
body #main .dc-pillar-rich ol {
    display: block !important;
    width: auto !important;
    margin: .9rem 0 1.3rem 1.35rem !important;
    padding: 0 !important;
    background: transparent !important;
}

body #main .dc-pillar-rich ul {
    list-style: disc outside !important;
}

body #main .dc-pillar-rich ol {
    list-style: decimal outside !important;
}

body #main .dc-pillar-rich li {
    display: list-item !important;
    margin: .48rem 0 !important;
    padding: 0 0 0 .2rem !important;
}

body #main .dc-pillar-rich li::before,
body #main .dc-pillar-rich li::after {
    content: none !important;
    display: none !important;
}

/* ========================================================================== */
/* 2. TITRAGE DE PAGE / INTRO                                                 */
/* ========================================================================== */

body #main .dc-pillar-main-heading {
    margin: 0 auto 1.35rem !important;
    padding: 0 !important;
    text-align: center !important;
}

body #main .dc-pillar-main-heading h1 {
    margin: 0 0 .55rem !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #172238 !important;
    font-size: clamp(1.85rem, 4vw, 3rem) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
    text-align: center !important;
    text-transform: none !important;
}

body #main .dc-pillar-main-heading h2 {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #596579 !important;
    font-size: clamp(1.05rem, 2vw, 1.4rem) !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    text-transform: none !important;
}

body #main .dc-pillar-rich {
    margin: clamp(1.15rem, 2.5vw, 2rem) 0 !important;
}

body #main .dc-pillar-rich__inner {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: clamp(1.25rem, 3vw, 2.35rem) !important;
    border: 1px solid rgba(23, 34, 56, .10) !important;
    border-radius: 24px !important;
    background: linear-gradient(145deg, #fff 0%, #f7f9fc 100%) !important;
    box-shadow: 0 18px 48px rgba(22, 34, 56, .08) !important;
}

body #main .dc-pillar-rich--intro {
    margin: .8rem 0 1.25rem !important;
}

body #main .dc-pillar-rich--intro .dc-pillar-rich__inner {
    padding: 1rem 1.2rem !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(22, 34, 56, .055) !important;
}

body #main .dc-pillar-rich--middle .dc-pillar-rich__inner {
    border-left: 5px solid #5076a7 !important;
    background:
        radial-gradient(circle at 100% 0, rgba(80, 118, 167, .08), transparent 32%),
        linear-gradient(145deg, #f8fbff 0%, #fffaf3 100%) !important;
}

body #main .dc-pillar-rich--outro .dc-pillar-rich__inner {
    background:
        radial-gradient(circle at 0 100%, rgba(128, 103, 180, .08), transparent 32%),
        linear-gradient(145deg, #fff 0%, #f8f5ff 100%) !important;
}

body #main .dc-pillar-rich p {
    margin: 0 0 1.05rem !important;
    color: #30394a !important;
}

body #main .dc-pillar-rich p:last-child {
    margin-bottom: 0 !important;
}

body #main .dc-pillar-rich h3 {
    margin: 2.15rem 0 .85rem !important;
    padding: 1.15rem 0 0 !important;
    border-top: 1px solid rgba(23, 34, 56, .10) !important;
    font-size: clamp(1.35rem, 2.6vw, 1.9rem) !important;
    font-weight: 800 !important;
    letter-spacing: -.018em !important;
}

body #main .dc-pillar-rich__inner > h3:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
}

body #main .dc-pillar-rich h4 {
    margin: 1.45rem 0 .65rem !important;
    padding: 0 !important;
    font-size: clamp(1.08rem, 1.8vw, 1.25rem) !important;
    font-weight: 800 !important;
}

body #main .dc-pillar-rich blockquote {
    position: relative;
    margin: 1.5rem 0 !important;
    padding: 1.1rem 1.2rem 1.1rem 1.35rem !important;
    border: 0 !important;
    border-left: 5px solid #8067b4 !important;
    border-radius: 0 16px 16px 0 !important;
    background: rgba(128, 103, 180, .08) !important;
    box-shadow: none !important;
    color: #30394a !important;
    font-style: normal !important;
}

body #main .dc-pillar-rich blockquote p {
    color: #30394a !important;
}

body #main .dc-pillar-rich a {
    color: #315f9d !important;
    font-weight: 750 !important;
    text-decoration: underline !important;
    text-decoration-thickness: .08em !important;
    text-underline-offset: .18em !important;
}

body #main .dc-pillar-rich a:hover {
    color: #1e477d !important;
}

/* ========================================================================== */
/* 3. IMAGE PRINCIPALE                                                        */
/* ========================================================================== */

body #main .dc-pillar-visual {
    position: relative;
    overflow: hidden !important;
    margin: clamp(1.6rem, 3vw, 2.4rem) 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(23, 34, 56, .10) !important;
    border-radius: 24px !important;
    background: #eef2f7 !important;
    box-shadow: 0 22px 55px rgba(22, 34, 56, .16) !important;
}

body #main .dc-pillar-visual img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    aspect-ratio: 3 / 2;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: cover;
    box-shadow: none !important;
    transition: transform .75s cubic-bezier(.2, .7, .2, 1);
}

@media (hover: hover) {
    body #main .dc-pillar-visual:hover img {
        transform: scale(1.025);
    }
}

/* ========================================================================== */
/* 4. MODULES WOW                                                             */
/* ========================================================================== */

body #main .dc-pillar-wow-stack {
    --dc-wow-accent: #4568a8;
    --dc-wow-accent-2: #8067b4;
    --dc-wow-soft: #eef4ff;
    --dc-wow-ink: #172238;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: clamp(1rem, 2vw, 1.45rem) !important;
    margin: clamp(1.45rem, 3vw, 2.3rem) 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

body #main .dc-pillar-wow {
    position: relative !important;
    isolation: isolate;
    overflow: hidden !important;
    margin: 0 !important;
    padding: clamp(1.25rem, 3vw, 2.25rem) !important;
    border: 1px solid rgba(23, 34, 56, .11) !important;
    border-radius: 24px !important;
    background: linear-gradient(145deg, #fff 0%, var(--dc-wow-soft) 100%) !important;
    box-shadow: 0 20px 52px rgba(22, 34, 56, .105) !important;
    color: var(--dc-wow-ink) !important;
}

body #main .dc-pillar-wow::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    top: -95px !important;
    right: -85px !important;
    display: block !important;
    width: 210px !important;
    height: 210px !important;
    border-radius: 50% !important;
    background: var(--dc-wow-accent-2) !important;
    opacity: .09 !important;
}

body #main .dc-pillar-wow--contrast {
    border-color: transparent !important;
    background: linear-gradient(135deg, var(--dc-wow-ink), var(--dc-wow-accent)) !important;
    color: #fff !important;
}

body #main .dc-pillar-wow--editorial {
    border-left: 6px solid var(--dc-wow-accent) !important;
    background: linear-gradient(145deg, #fff 0%, var(--dc-wow-soft) 100%) !important;
}

body #main .dc-pillar-wow--expert {
    border-color: var(--dc-wow-accent) !important;
    background: linear-gradient(145deg, #fff 0%, var(--dc-wow-soft) 100%) !important;
}

body #main .dc-pillar-wow--warning {
    border-color: #e2b44f !important;
    background: linear-gradient(145deg, #fff9e9 0%, #fff 100%) !important;
}

body #main .dc-pillar-wow__head {
    display: grid !important;
    grid-template-columns: 3rem minmax(0, 1fr) !important;
    align-items: start !important;
    gap: .95rem !important;
    width: 100% !important;
    margin: 0 0 1.2rem !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body #main .dc-pillar-wow__head > div {
    min-width: 0 !important;
}

body #main .dc-pillar-wow__head-mark {
    display: grid !important;
    place-items: center !important;
    width: 3rem !important;
    height: 3rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: linear-gradient(135deg, var(--dc-wow-accent), var(--dc-wow-accent-2)) !important;
    box-shadow: 0 10px 24px rgba(22, 34, 56, .18) !important;
    color: #fff !important;
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

body #main .dc-pillar-wow h3 {
    margin: 0 0 .38rem !important;
    padding: 0 !important;
    font-size: clamp(1.35rem, 2.5vw, 1.9rem) !important;
    font-weight: 850 !important;
    letter-spacing: -.018em !important;
    color: var(--dc-wow-ink) !important;
}

body #main .dc-pillar-wow h4 {
    margin: 0 0 .5rem !important;
    padding: 0 !important;
    font-size: clamp(1.03rem, 1.5vw, 1.17rem) !important;
    font-weight: 800 !important;
    color: var(--dc-wow-ink) !important;
}

body #main .dc-pillar-wow p {
    margin: 0 !important;
    color: #354054 !important;
}

body #main .dc-pillar-wow__intro {
    max-width: 80ch !important;
    margin: .1rem 0 0 !important;
    color: #4b576b !important;
}

body #main .dc-pillar-wow--contrast h3,
body #main .dc-pillar-wow--contrast h4,
body #main .dc-pillar-wow--contrast p,
body #main .dc-pillar-wow--contrast dt,
body #main .dc-pillar-wow--contrast dd {
    color: #fff !important;
}

/* Cartes et faits */
body #main .dc-pillar-wow__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body #main .dc-pillar-wow__card {
    position: relative !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 1.15rem !important;
    border: 1px solid rgba(23, 34, 56, .10) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .90) !important;
    box-shadow: 0 10px 28px rgba(22, 34, 56, .07) !important;
    color: var(--dc-wow-ink) !important;
    text-align: left !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

body #main .dc-pillar-wow--contrast .dc-pillar-wow__card {
    border-color: rgba(255, 255, 255, .18) !important;
    background: rgba(255, 255, 255, .10) !important;
}

body #main .dc-pillar-wow--contrast .dc-pillar-wow__card h4,
body #main .dc-pillar-wow--contrast .dc-pillar-wow__card p {
    color: #fff !important;
}

body #main .dc-pillar-wow--key_facts .dc-pillar-wow__card {
    border-top: 4px solid var(--dc-wow-accent) !important;
}

body #main .dc-pillar-wow__emoji {
    display: grid !important;
    place-items: center !important;
    width: 2.65rem !important;
    height: 2.65rem !important;
    margin: 0 0 .8rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: var(--dc-wow-soft) !important;
    box-shadow: none !important;
    font-size: 1.45rem !important;
    line-height: 1 !important;
}

@media (hover: hover) {
    body #main .dc-pillar-wow__card:hover {
        transform: translateY(-4px);
        border-color: var(--dc-wow-accent) !important;
        box-shadow: 0 17px 36px rgba(22, 34, 56, .12) !important;
    }
}

/* Tableau comparatif */
body #main .dc-pillar-wow-table-wrap {
    display: block !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(23, 34, 56, .11) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(22, 34, 56, .065) !important;
    -webkit-overflow-scrolling: touch;
}

body #main table.dc-pillar-wow-table {
    display: table !important;
    width: 100% !important;
    min-width: 640px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    table-layout: auto !important;
}

body #main .dc-pillar-wow-table thead,
body #main .dc-pillar-wow-table tbody,
body #main .dc-pillar-wow-table tr {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body #main .dc-pillar-wow-table th,
body #main .dc-pillar-wow-table td {
    position: static !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: .9rem 1rem !important;
    border: 0 !important;
    border-right: 1px solid rgba(23, 34, 56, .08) !important;
    border-bottom: 1px solid rgba(23, 34, 56, .09) !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #30394a !important;
    font-size: .96em !important;
    font-weight: 500 !important;
    line-height: 1.48 !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    vertical-align: top !important;
}

body #main .dc-pillar-wow-table thead th {
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
    background: linear-gradient(135deg, var(--dc-wow-accent), var(--dc-wow-accent-2)) !important;
    color: #fff !important;
    font-weight: 800 !important;
}

body #main .dc-pillar-wow-table tbody th {
    background: var(--dc-wow-soft) !important;
    color: var(--dc-wow-ink) !important;
    font-weight: 800 !important;
}

body #main .dc-pillar-wow-table tr:last-child th,
body #main .dc-pillar-wow-table tr:last-child td {
    border-bottom: 0 !important;
}

body #main .dc-pillar-wow-table th:last-child,
body #main .dc-pillar-wow-table td:last-child {
    border-right: 0 !important;
}

/* Timeline */
body #main .dc-pillar-wow-timeline {
    position: relative !important;
    display: grid !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
}

body #main .dc-pillar-wow-timeline::before {
    content: "" !important;
    position: absolute !important;
    top: .7rem !important;
    bottom: .7rem !important;
    left: 1.25rem !important;
    display: block !important;
    width: 3px !important;
    border-radius: 3px !important;
    background: linear-gradient(var(--dc-wow-accent), var(--dc-wow-accent-2)) !important;
}

body #main .dc-pillar-wow-timeline__item {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    padding: .15rem 0 1.35rem 3.55rem !important;
    list-style: none !important;
    background: transparent !important;
}

body #main .dc-pillar-wow-timeline__item::before,
body #main .dc-pillar-wow-timeline__item::after {
    content: none !important;
    display: none !important;
}

body #main .dc-pillar-wow-timeline__item:last-child {
    padding-bottom: 0 !important;
}

body #main .dc-pillar-wow-timeline__mark {
    position: absolute !important;
    top: 0 !important;
    left: .03rem !important;
    display: grid !important;
    place-items: center !important;
    width: 2.5rem !important;
    height: 2.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 4px solid #fff !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, var(--dc-wow-accent), var(--dc-wow-accent-2)) !important;
    box-shadow: 0 7px 18px rgba(22, 34, 56, .20) !important;
    color: #fff !important;
    font-size: 1.05rem !important;
    line-height: 1 !important;
}

/* Étapes */
body #main .dc-pillar-wow-steps {
    counter-reset: dc-wow-step;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
}

body #main .dc-pillar-wow-steps__item {
    counter-increment: dc-wow-step;
    position: relative !important;
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 1.1rem 1.1rem 1.1rem 4rem !important;
    border: 1px solid rgba(23, 34, 56, .10) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .90) !important;
    box-shadow: 0 9px 25px rgba(22, 34, 56, .055) !important;
    list-style: none !important;
}

body #main .dc-pillar-wow-steps__item::before {
    content: counter(dc-wow-step) !important;
    position: absolute !important;
    top: 1rem !important;
    left: 1rem !important;
    display: grid !important;
    place-items: center !important;
    width: 2.15rem !important;
    height: 2.15rem !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, var(--dc-wow-accent), var(--dc-wow-accent-2)) !important;
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}

body #main .dc-pillar-wow-steps__item::after {
    content: none !important;
    display: none !important;
}

/* Glossaire */
body #main .dc-pillar-wow-glossary {
    display: grid !important;
    grid-template-columns: minmax(150px, .42fr) minmax(0, 1.58fr) !important;
    gap: .7rem 1.1rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

body #main .dc-pillar-wow-glossary dt,
body #main .dc-pillar-wow-glossary dd {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body #main .dc-pillar-wow-glossary dt {
    padding: .75rem .85rem !important;
    border-radius: 12px !important;
    background: var(--dc-wow-soft) !important;
    color: var(--dc-wow-ink) !important;
    font-weight: 850 !important;
}

body #main .dc-pillar-wow-glossary dd {
    padding: .7rem 0 !important;
    color: #3a4558 !important;
}

/* Callout */
body #main .dc-pillar-wow--callout {
    border-width: 2px !important;
}

body #main .dc-pillar-wow-callout__body {
    display: grid !important;
    grid-template-columns: 4.25rem minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 1.1rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body #main .dc-pillar-wow-callout__icon {
    display: grid !important;
    place-items: center !important;
    width: 4.25rem !important;
    height: 4.25rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: linear-gradient(135deg, var(--dc-wow-accent), var(--dc-wow-accent-2)) !important;
    box-shadow: 0 13px 30px rgba(22, 34, 56, .20) !important;
    color: #fff !important;
    font-size: 2rem !important;
    line-height: 1 !important;
}

/* ========================================================================== */
/* 5. FAQ                                                                     */
/* ========================================================================== */

body #main .dc-pillar-rich--faq .dc-pillar-rich__inner {
    background: #fff !important;
}

body #main .dc-pillar-faq {
    margin-top: 0 !important;
}

body #main .dc-pillar-faq details {
    display: block !important;
    overflow: hidden !important;
    width: 100% !important;
    margin: .72rem 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(23, 34, 56, .11) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: none !important;
}

body #main .dc-pillar-faq summary {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 1rem 3rem 1rem 1.05rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #20293b !important;
    cursor: pointer !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    list-style: none !important;
}

body #main .dc-pillar-faq summary::-webkit-details-marker {
    display: none !important;
}

body #main .dc-pillar-faq summary::after {
    content: "+" !important;
    position: absolute !important;
    top: 50% !important;
    right: 1rem !important;
    display: grid !important;
    place-items: center !important;
    width: 1.7rem !important;
    height: 1.7rem !important;
    border-radius: 50% !important;
    background: #eef3fa !important;
    color: #315f9d !important;
    font-size: 1.2rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    transform: translateY(-50%) !important;
}

body #main .dc-pillar-faq details[open] summary {
    border-bottom: 1px solid rgba(23, 34, 56, .09) !important;
    background: #f8fafc !important;
}

body #main .dc-pillar-faq details[open] summary::after {
    content: "−" !important;
}

body #main .dc-pillar-faq details > p {
    margin: 0 !important;
    padding: 1rem 1.05rem 1.1rem !important;
    color: #3b4658 !important;
}

/* ========================================================================== */
/* 6. BLOCS MOIS                                                              */
/* ========================================================================== */

body #main .dc-month-brief {
    margin: 1.2rem 0 1.6rem !important;
    padding: 1.15rem 1.25rem !important;
    border: 1px solid rgba(23, 34, 56, .11) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 12px 32px rgba(22, 34, 56, .07) !important;
}

body #main .dc-month-brief h2 {
    margin: 0 0 .8rem !important;
    padding: 0 !important;
    font-size: 1.3rem !important;
    font-weight: 850 !important;
}

body #main .dc-month-brief__facts {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .6rem !important;
    margin: 0 0 .95rem !important;
    padding: 0 !important;
    list-style: none !important;
}

body #main .dc-month-brief__facts li {
    display: block !important;
    margin: 0 !important;
    padding: .48rem .72rem !important;
    border-radius: 999px !important;
    background: #f0f4f9 !important;
    color: #273246 !important;
    font-size: .93rem !important;
    line-height: 1.3 !important;
    list-style: none !important;
}

body #main .dc-month-brief__facts li::before,
body #main .dc-month-brief__facts li::after {
    content: none !important;
    display: none !important;
}

body #main .dc-month-brief__links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .6rem !important;
}

body #main .dc-month-brief__links a {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    margin: 0 !important;
    padding: .55rem .78rem !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: #edf4ff !important;
    color: #315f9d !important;
    box-shadow: none !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
}

body #main .dc-month-nav {
    display: flex !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    margin: 1.6rem 0 0 !important;
    padding: 1.1rem 0 0 !important;
    border-top: 1px solid rgba(23, 34, 56, .11) !important;
}

body #main .dc-month-nav a {
    color: #315f9d !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body #main .dc-month-past {
    margin: 1.3rem 0 !important;
}

body #main .dc-month-past summary {
    cursor: pointer !important;
    font-weight: 800 !important;
}

/* ========================================================================== */
/* 7. ANIMATIONS / ACCESSIBILITÉ                                              */
/* ========================================================================== */

body #main .dc-wow-reveal {
    opacity: 1;
    transform: none;
}

html.dc-wow-js body #main .dc-wow-reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .65s ease, transform .65s cubic-bezier(.2, .7, .2, 1);
}

html.dc-wow-js body #main .dc-wow-reveal.is-visible {
    opacity: 1;
    transform: none;
}

/* ========================================================================== */
/* 8. RESPONSIVE                                                              */
/* ========================================================================== */

@media (min-width: 1100px) {
    body #main .dc-pillar-wow--key_facts .dc-pillar-wow__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    body #main .dc-pillar-wow--cards .dc-pillar-wow__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body #main .dc-pillar-rich,
    body #main .dc-pillar-wow-stack {
        font-size: 1rem !important;
    }

    body #main .dc-pillar-rich,
    body #main .dc-pillar-wow-stack,
    body #main .dc-pillar-visual {
        margin-top: 1.2rem !important;
        margin-bottom: 1.2rem !important;
    }

    body #main .dc-pillar-rich__inner,
    body #main .dc-pillar-wow {
        padding: 1.1rem !important;
        border-radius: 18px !important;
    }

    body #main .dc-pillar-rich--middle .dc-pillar-rich__inner {
        border-left-width: 4px !important;
    }

    body #main .dc-pillar-wow__head {
        grid-template-columns: 2.65rem minmax(0, 1fr) !important;
        gap: .75rem !important;
    }

    body #main .dc-pillar-wow__head-mark {
        width: 2.65rem !important;
        height: 2.65rem !important;
        border-radius: 13px !important;
        font-size: 1.18rem !important;
    }

    body #main .dc-pillar-wow__grid,
    body #main .dc-pillar-wow-steps {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body #main .dc-pillar-wow-glossary {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: .25rem !important;
    }

    body #main .dc-pillar-wow-glossary dd {
        padding: .25rem .2rem .9rem !important;
    }

    body #main .dc-pillar-wow-callout__body {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body #main .dc-pillar-wow-callout__icon {
        width: 3.3rem !important;
        height: 3.3rem !important;
        border-radius: 15px !important;
        font-size: 1.55rem !important;
    }

    body #main table.dc-pillar-wow-table {
        min-width: 560px !important;
    }

    body #main .dc-month-brief__facts {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body #main .dc-month-nav {
        flex-direction: column !important;
    }
}

@media (max-width: 420px) {
    body #main .dc-pillar-rich__inner,
    body #main .dc-pillar-wow {
        padding: 1rem !important;
        border-radius: 16px !important;
    }

    body #main .dc-pillar-wow__card {
        padding: 1rem !important;
    }

    body #main .dc-pillar-wow-timeline__item {
        padding-left: 3.25rem !important;
    }

    body #main .dc-pillar-faq summary {
        padding-left: .9rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body #main .dc-pillar-visual img,
    body #main .dc-pillar-wow__card,
    html.dc-wow-js body #main .dc-wow-reveal {
        transition: none !important;
        transform: none !important;
    }

    html.dc-wow-js body #main .dc-wow-reveal {
        opacity: 1 !important;
    }
}
