body {
    --curseur-blue: #1670ff;
    --curseur-blue-dark: #0f4fb8;
    --curseur-cyan: #22b8cf;
    --curseur-green: #1f9d68;
    --curseur-amber: #e9a23b;
    --curseur-red: #d9485f;
    --curseur-ink: #172033;
    --curseur-muted: #667085;
    background:
        radial-gradient(circle at 8% 0%, rgba(22, 112, 255, 0.09), transparent 30rem),
        linear-gradient(180deg, #f7faff 0%, #f4f7fb 100%);
    color: var(--curseur-ink);
}

.btn-primary {
    --bs-btn-bg: var(--curseur-blue);
    --bs-btn-border-color: var(--curseur-blue);
    --bs-btn-hover-bg: var(--curseur-blue-dark);
    --bs-btn-hover-border-color: var(--curseur-blue-dark);
}

.text-primary {
    color: var(--curseur-blue) !important;
}

.diagnostic-card,
.card {
    border-radius: 18px;
}

.diagnostic-card {
    overflow: hidden;
    border: 1px solid #dce6f4 !important;
    box-shadow: 0 22px 55px rgba(24, 63, 112, 0.11) !important;
}

.diagnostic-card > .card-body > .mb-4:first-child {
    position: relative;
    margin: -1.5rem -1.5rem 1.75rem !important;
    padding: 1.65rem 1.5rem 1.55rem;
    background:
        linear-gradient(135deg, rgba(22, 112, 255, 0.10) 0%, rgba(34, 184, 207, 0.08) 46%, #ffffff 100%);
    border-bottom: 1px solid #cfddf0;
}

.diagnostic-card > .card-body > .mb-4:first-child::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--curseur-blue), var(--curseur-cyan));
}

.diagnostic-card > .card-body > .mb-4:first-child > .small.text-uppercase.fw-semibold.text-secondary {
    font-size: 0;
    line-height: 0;
    height: 46px;
    margin-bottom: 1rem !important;
}

.diagnostic-card > .card-body > .mb-4:first-child > .small.text-uppercase.fw-semibold.text-secondary::before {
    content: "";
    display: block;
    width: 132px;
    height: 46px;
    background: url("https://static.wixstatic.com/media/674a29_a2816ba2a35047588dbfd5df77018742~mv2.png") left center / contain no-repeat;
}

.diagnostic-card > .card-body > .mb-4:first-child h1 {
    color: #102a56;
    letter-spacing: -0.025em;
    margin-bottom: 0.45rem !important;
}

.diagnostic-card > .card-body > .mb-4:first-child p {
    max-width: 620px;
    color: #53657e !important;
    font-size: 1.02rem;
}

@media (min-width: 768px) {
    .diagnostic-card > .card-body > .mb-4:first-child {
        margin: -3rem -3rem 2rem !important;
        padding: 2.15rem 3rem 1.9rem;
    }
}

.alert-primary-subtle {
    background: linear-gradient(135deg, #eef5ff, #f0fbfd) !important;
    border-color: #c8dcfa !important;
    color: #20446f !important;
}

.alert-light.border {
    background: #f7faff;
    border-color: #dce7f5 !important;
}

.progress {
    height: 10px;
    border-radius: 999px;
    background: #e8eef7;
}

.progress-bar {
    background: linear-gradient(90deg, var(--curseur-blue), var(--curseur-cyan));
    transition: width 0.25s ease;
}

[data-answer] {
    border-radius: 12px;
    padding: 0.9rem 1rem;
    border-width: 1px;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

[data-answer]:hover {
    transform: translateY(-1px);
    border-color: #8ebcff;
    box-shadow: 0 8px 18px rgba(22, 112, 255, .08);
}

.result-score {
    color: #102a56;
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    font-weight: 700;
    line-height: 1;
}

.email-score-panel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    background: linear-gradient(135deg, #f1f7ff, #f3fcfb);
    border: 1px solid #cfe0f4;
    border-radius: 16px;
    padding: 1.25rem;
}

.email-score {
    color: var(--curseur-blue-dark);
    font-size: clamp(2rem, 6vw, 3rem);
    font-weight: 700;
    line-height: 1;
}

.email-control-card {
    border: 1px solid #e3e8f0;
    border-left-width: 4px;
    border-radius: 14px;
    padding: 1rem;
    background: #fff;
}

.email-control-card.status-ok {
    border-left-color: var(--curseur-green);
    background: #f0fbf6;
}

.email-control-card.status-warning {
    border-left-color: var(--curseur-amber);
    background: #fff8e9;
}

.email-control-card.status-danger {
    border-left-color: var(--curseur-red);
    background: #fff0f3;
}

.email-control-name {
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--curseur-muted);
    margin-bottom: 0.35rem;
}

.risk-badge {
    display: inline-block;
    border-radius: 999px;
    padding: 0.45rem 0.85rem;
    font-weight: 700;
    font-size: 0.95rem;
}

.risk-low {
    background: #dff6ea;
    color: #12613c;
}

.risk-moderate {
    background: #fff0c9;
    color: #795600;
}

.risk-high {
    background: #ffe7d3;
    color: #914000;
}

.risk-critical {
    background: #ffe0e6;
    color: #92243a;
}

.category-score-row {
    border: 1px solid #dce6f2;
    border-radius: 12px;
    padding: 0.9rem 1rem;
    background: linear-gradient(90deg, #ffffff, #f8fbff);
}

.category-progress {
    height: 7px;
}

.priority-card {
    border: 1px solid #d8e4f4;
    border-left: 4px solid var(--curseur-blue);
    border-radius: 14px;
    padding: 1rem;
    background: linear-gradient(135deg, #ffffff, #f7faff);
}

#result-recommendation {
    background: linear-gradient(135deg, #eef5ff, #f5fbff);
    border-color: #9ec3ff !important;
}

#result-followup-success {
    background: #e8f7ef;
    border-color: #b7e3ca;
    color: #155c39;
}
