/* ==========================================================
 * CITORA — REPORT WARM THEME
 * Scoped to body.report-warm-theme — opt-in, zero impact on other pages.
 * Modern admin-style palette: cream background, soft pastel accents,
 * modern blue primary, generous whitespace, warm borders.
 * ==========================================================
 */

body.report-warm-theme {
    /* Palette overrides */
    --rwt-bg:           #FAF8F4;  /* warm cream page background */
    --rwt-surface:      #FFFFFF;  /* card surfaces */
    --rwt-border:       #EAE4D8;  /* warm subtle border */
    --rwt-border-soft:  #F1ECE0;  /* lighter divider */

    --rwt-text:         #1F2937;  /* primary text */
    --rwt-text-muted:   #6B7280;  /* secondary text */
    --rwt-text-soft:    #9CA3AF;  /* meta / labels */

    --rwt-blue:         #3B82F6;  /* primary accent */
    --rwt-blue-deep:    #2563EB;
    --rwt-blue-soft:    #EFF6FF;
    --rwt-blue-edge:    #DBEAFE;
    --rwt-blue-dark:    #1E40AF;

    --rwt-green:        #10B981;
    --rwt-green-soft:   #ECFDF5;
    --rwt-green-edge:   #D1FAE5;
    --rwt-green-dark:   #047857;

    --rwt-amber:        #F59E0B;
    --rwt-amber-soft:   #FFF7ED;
    --rwt-amber-edge:   #FED7AA;
    --rwt-amber-dark:   #9A3412;

    --rwt-red:          #EF4444;
    --rwt-red-soft:     #FEF2F2;
    --rwt-red-edge:     #FECACA;
    --rwt-red-dark:     #B91C1C;

    background: var(--rwt-bg);
    color: var(--rwt-text);
}

/* ---------- NAV: lighter, flat, warm border ---------- */
body.report-warm-theme .site-nav {
    background: var(--rwt-surface);
    border-bottom: 1px solid var(--rwt-border);
    box-shadow: none;
}
body.report-warm-theme .site-nav .nav-link {
    color: var(--rwt-text-muted);
    font-weight: 500;
    transition: color .15s ease;
}
body.report-warm-theme .site-nav .nav-link:hover,
body.report-warm-theme .site-nav .nav-link.active {
    color: var(--rwt-text);
}
body.report-warm-theme .site-nav .btn-brand {
    background: var(--rwt-blue);
    border-color: var(--rwt-blue);
    color: #fff;
    font-weight: 500;
    border-radius: 8px;
    padding: .5rem 1rem;
}
body.report-warm-theme .site-nav .btn-brand:hover {
    background: var(--rwt-blue-deep);
    border-color: var(--rwt-blue-deep);
}

/* ---------- BLOCK CARDS: soft warm border, no harsh shadow ---------- */
body.report-warm-theme .block-card,
body.report-warm-theme .report-block > .block-card {
    background: var(--rwt-surface);
    border: 1px solid var(--rwt-border);
    border-radius: 12px;
    box-shadow: none;
}

/* Section titles: gentle accent stripe instead of heavy iconography */
body.report-warm-theme .block-title {
    color: var(--rwt-text);
    font-weight: 600;
}
body.report-warm-theme .block-icon {
    color: var(--rwt-blue);
}

/* ---------- EMAIL CAPTURE: soft blue pastel ---------- */
body.report-warm-theme .email-capture {
    background: var(--rwt-blue-soft);
    border: 1px solid var(--rwt-blue-edge);
    border-radius: 12px;
}
body.report-warm-theme .email-capture-icon {
    background: var(--rwt-blue);
    color: #fff;
}
body.report-warm-theme .email-capture h2 {
    color: var(--rwt-blue-dark);
}
body.report-warm-theme .email-capture .btn-brand {
    background: var(--rwt-blue);
    border-color: var(--rwt-blue);
}
body.report-warm-theme .email-capture .btn-brand:hover {
    background: var(--rwt-blue-deep);
    border-color: var(--rwt-blue-deep);
}

/* ---------- BUTTONS: rounded, flat, modern ---------- */
body.report-warm-theme .btn {
    border-radius: 8px;
    font-weight: 500;
}
body.report-warm-theme .btn-brand,
body.report-warm-theme .btn-primary {
    background: var(--rwt-blue);
    border-color: var(--rwt-blue);
    color: #fff;
}
body.report-warm-theme .btn-brand:hover,
body.report-warm-theme .btn-primary:hover {
    background: var(--rwt-blue-deep);
    border-color: var(--rwt-blue-deep);
}
body.report-warm-theme .btn-outline-brand {
    border-color: var(--rwt-blue-edge);
    color: var(--rwt-blue-dark);
    background: var(--rwt-surface);
}
body.report-warm-theme .btn-outline-brand:hover {
    background: var(--rwt-blue-soft);
    border-color: var(--rwt-blue);
    color: var(--rwt-blue-dark);
}

/* ---------- SCORE / DISCLAIMER / DEFAULT CARDS ---------- */
body.report-warm-theme .score-summary-text {
    color: var(--rwt-text-muted);
}

/* Disclaimer card (À propos de cette analyse) — soft amber */
body.report-warm-theme [style*="background: #FFFBEB"],
body.report-warm-theme [style*="background:#FFFBEB"] {
    background: var(--rwt-amber-soft) !important;
    border-color: var(--rwt-amber-edge) !important;
    color: var(--rwt-amber-dark) !important;
}

/* ---------- FOOTER: lighter, warmer ---------- */
body.report-warm-theme .site-footer {
    background: var(--rwt-surface);
    border-top: 1px solid var(--rwt-border);
    color: var(--rwt-text-muted);
}
body.report-warm-theme .site-footer .footer-title {
    color: var(--rwt-text);
    font-weight: 600;
}
body.report-warm-theme .site-footer .footer-links a {
    color: var(--rwt-text-muted);
}
body.report-warm-theme .site-footer .footer-links a:hover {
    color: var(--rwt-text);
}
body.report-warm-theme .site-footer .footer-bottom {
    color: var(--rwt-text-soft);
    border-top: 1px solid var(--rwt-border-soft);
}

/* ---------- PROMO BAR (top): keep but soften ---------- */
body.report-warm-theme .promo-bar {
    background: var(--rwt-blue-dark);
}

/* ---------- TOPBAR-NAV (used on rapport-complet.php): warm white instead of dark ---------- */
body.report-warm-theme .topbar-nav {
    background: var(--rwt-surface);
    border-bottom: 1px solid var(--rwt-border);
    box-shadow: none;
    padding: 0.85rem 1.5rem;
}
body.report-warm-theme .topbar-brand img {
    /* dark logo on white bg — no filter needed */
}
body.report-warm-theme .topbar-links a {
    color: var(--rwt-text-muted);
    font-weight: 500;
}
body.report-warm-theme .topbar-links a:hover {
    color: var(--rwt-text);
}
body.report-warm-theme .topbar-sep {
    color: var(--rwt-border);
}
body.report-warm-theme .topbar-back {
    background: var(--rwt-blue);
    color: #fff !important;
    border-radius: 8px;
    font-weight: 500 !important;
    padding: .4rem .9rem;
}
body.report-warm-theme .topbar-back:hover {
    background: var(--rwt-blue-deep);
}

/* ---------- REPORT TOC (sticky right-side anchor nav) ---------- */
.anchor-target {
    /* Offset so anchors land below the sticky topbar */
    scroll-margin-top: 80px;
    height: 0;
    overflow: hidden;
}

body.report-warm-theme .report-toc {
    position: fixed;
    top: 90px;
    right: 1.25rem;
    width: 200px;
    z-index: 900;
    background: var(--rwt-surface);
    border: 1px solid var(--rwt-border);
    border-radius: 12px;
    padding: .85rem .9rem;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
    display: none; /* hidden by default, shown on wide screens */
}
@media (min-width: 1280px) {
    body.report-warm-theme .report-toc {
        display: block;
    }
}
body.report-warm-theme .report-toc-label {
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--rwt-text-soft);
    margin-bottom: .5rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid var(--rwt-border-soft);
}
body.report-warm-theme .report-toc-nav {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}
body.report-warm-theme .report-toc-link {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .45rem .55rem;
    border-radius: 6px;
    color: var(--rwt-text-muted);
    font-size: .82rem;
    font-weight: 500;
    text-decoration: none;
    transition: all .15s ease;
    border-left: 2px solid transparent;
}
body.report-warm-theme .report-toc-link i {
    font-size: .9rem;
    color: var(--rwt-text-soft);
    flex-shrink: 0;
}
body.report-warm-theme .report-toc-link:hover {
    background: var(--rwt-blue-soft);
    color: var(--rwt-blue-dark);
}
body.report-warm-theme .report-toc-link:hover i {
    color: var(--rwt-blue);
}
body.report-warm-theme .report-toc-link.active {
    background: var(--rwt-blue-soft);
    color: var(--rwt-blue-dark);
    border-left-color: var(--rwt-blue);
    font-weight: 600;
}
body.report-warm-theme .report-toc-link.active i {
    color: var(--rwt-blue);
}
