/* ==========================================================
   WEB.CB06.FR — PAGES DÉPARTEMENTS V38
   ========================================================== */

body.cb06-dept-v38 {
    --dv38-blue: #1264f4;
    --dv38-ink: #0b1b31;
    --dv38-text: #52657d;
    --dv38-muted: #74869c;
    --dv38-line: #dce5ef;
    --dv38-soft: #f5f8fc;
}

body.cb06-dept-v38
.cb06-dept-v38-section,
body.cb06-dept-v38
.cb06-dept-v38-section * {
    box-sizing: border-box;
    min-width: 0;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
    text-indent: 0 !important;
    text-shadow: none !important;
}

body.cb06-dept-v38
.cb06-dept-v38-section {
    padding-top: 88px !important;
    padding-bottom: 92px !important;
    background:
        radial-gradient(
            circle at 96% 2%,
            rgba(18, 100, 244, .065),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #ffffff,
            #fbfdff
        ) !important;
    color: var(--dv38-ink) !important;
}

body.cb06-dept-v38
.cb06-dept-v38-section ::selection {
    background: var(--dv38-blue);
    color: #ffffff;
}

/* Titre principal */

body.cb06-dept-v38
.cb06-dept-v38-title,
body.cb06-dept-v38
.cb06-dept-v38-title *,
body.cb06-dept-v38
.cb06-dept-v38-title-reset {
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--dv38-ink) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

body.cb06-dept-v38
.cb06-dept-v38-title {
    max-width: 650px !important;
    margin: 16px 0 0 !important;
    color: var(--dv38-ink) !important;
    font-size: clamp(38px, 4.2vw, 59px) !important;
    font-weight: 690 !important;
    letter-spacing: -.048em !important;
    line-height: 1.04 !important;
    text-wrap: balance;
}

/* Surtitre */

body.cb06-dept-v38
.cb06-dept-v38-eyebrow {
    display: inline-flex !important;
    gap: 9px !important;
    align-items: center !important;
    color: var(--dv38-blue) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .13em !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

body.cb06-dept-v38
.cb06-dept-v38-eyebrow::before {
    width: 25px;
    height: 2px;
    content: "";
    border-radius: 99px;
    background: currentColor;
}

/* Paragraphe sous le titre */

body.cb06-dept-v38
.cb06-dept-v38-intro {
    max-width: 680px !important;
    margin: 21px 0 0 !important;
    color: var(--dv38-text) !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
}

/*
 * Sécurité contre le blanc sur blanc dans toute la section.
 */

body.cb06-dept-v38
.cb06-dept-v38-section
:where(
    h1,
    h2,
    h3,
    h4,
    strong,
    b
):not(
    .cb06-dept-v38-eyebrow
) {
    color: var(--dv38-ink) !important;
}

body.cb06-dept-v38
.cb06-dept-v38-section
:where(
    p,
    span,
    small
):not(
    .cb06-dept-v38-eyebrow
):not(
    .cb06-dept-v38-card__label
) {
    color: var(--dv38-text) !important;
}

/* Cartes Stratégie / Production / Visibilité */

body.cb06-dept-v38
.cb06-dept-v38-card {
    position: relative !important;
    display: flex !important;
    min-width: 0 !important;
    min-height: 230px !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 26px 23px 24px !important;
    overflow: hidden !important;
    border: 1px solid var(--dv38-line) !important;
    border-radius: 20px !important;
    background:
        radial-gradient(
            circle at 110% -10%,
            rgba(18, 100, 244, .10),
            transparent 39%
        ),
        #ffffff !important;
    color: var(--dv38-ink) !important;
    box-shadow:
        0 15px 42px
        rgba(18, 45, 80, .055) !important;
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

body.cb06-dept-v38
.cb06-dept-v38-card::before {
    display: block;
    margin-bottom: 17px;
    content: attr(data-dept-card-number);
    color: #a9b8c9;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .13em;
}

body.cb06-dept-v38
.cb06-dept-v38-card::after {
    position: absolute;
    right: -55px;
    bottom: -75px;
    width: 145px;
    height: 145px;
    content: "";
    border: 1px solid rgba(18, 100, 244, .07);
    border-radius: 50%;
    pointer-events: none;
}

body.cb06-dept-v38
.cb06-dept-v38-card:hover {
    border-color:
        rgba(18, 100, 244, .40) !important;
    box-shadow:
        0 24px 58px
        rgba(18, 45, 80, .11) !important;
    transform: translateY(-4px);
}

body.cb06-dept-v38
.cb06-dept-v38-card__label {
    position: relative;
    z-index: 2;
    display: block !important;
    margin: 0 0 19px !important;
    color: var(--dv38-blue) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .12em !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

body.cb06-dept-v38
.cb06-dept-v38-card__title {
    position: relative;
    z-index: 2;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--dv38-ink) !important;
    font-size: 20px !important;
    font-weight: 720 !important;
    letter-spacing: -.025em !important;
    line-height: 1.25 !important;
}

body.cb06-dept-v38
.cb06-dept-v38-card__text {
    position: relative;
    z-index: 2;
    display: block !important;
    margin: 14px 0 0 !important;
    color: var(--dv38-text) !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
}

/* Bouton du bloc */

body.cb06-dept-v38
.cb06-dept-v38-section
a[href*="/contact"],
body.cb06-dept-v38
.cb06-dept-v38-section
a[href*="/audit"] {
    color: #ffffff !important;
}

/* Mobile */

@media (max-width: 900px) {
    body.cb06-dept-v38
    .cb06-dept-v38-section {
        padding-top: 68px !important;
        padding-bottom: 72px !important;
    }

    body.cb06-dept-v38
    .cb06-dept-v38-title {
        max-width: 760px !important;
    }
}

@media (max-width: 650px) {
    body.cb06-dept-v38
    .cb06-dept-v38-title {
        font-size: 37px !important;
    }

    body.cb06-dept-v38
    .cb06-dept-v38-card {
        min-height: 0 !important;
        padding: 22px !important;
        border-radius: 17px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.cb06-dept-v38
    .cb06-dept-v38-card {
        transition: none;
    }
}
