/*
 * Thème IMMOTRAJECTOIRE 360 - source unique : docs/charte-graphique.md.
 * Surcharge des variables CSS natives de Bootstrap 5.3+ : pas de recompilation Sass nécessaire.
 * Palette pétrole / encre / vert trajectoire (hors bleu primaire Bootstrap #0d6efd).
 *
 * Important : .btn-primary / .btn-outline-* définissent leurs propres --bs-btn-* en dur
 * dans bootstrap.min.css. Il ne suffit PAS de surcharger --bs-primary sur :root.
 */

:root {
    --immo-navy: #0b1e2a;
    --immo-petrol: #165a63;
    --immo-teal: #0a6b58;
    --immo-teal-hover: #085a4a;
    --immo-teal-active: #074f42;
    --immo-sky: #dcefe9;

    --immo-score-success: #2e9e6b;
    --immo-score-warning: #f0a202;
    --immo-score-danger: #e63946;

    --immo-text: #1f2933;
    --immo-text-muted: #52606d;
    --immo-border: #d9dfe4;
    --immo-bg: #f5f7fa;

    /* Surcharge Bootstrap (jetons globaux) */
    --bs-primary: var(--immo-teal);
    --bs-primary-rgb: 10, 107, 88;
    --bs-secondary: var(--immo-petrol);
    --bs-secondary-rgb: 22, 90, 99;
    --bs-dark: var(--immo-navy);
    --bs-dark-rgb: 11, 30, 42;
    --bs-success: var(--immo-score-success);
    --bs-success-rgb: 46, 158, 107;
    --bs-warning: var(--immo-score-warning);
    --bs-warning-rgb: 240, 162, 2;
    --bs-danger: var(--immo-score-danger);
    --bs-danger-rgb: 230, 57, 70;
    --bs-body-color: var(--immo-text);
    --bs-body-bg: var(--immo-bg);
    --bs-border-color: var(--immo-border);
    --bs-border-radius: 0.5rem;
    --bs-border-radius-sm: 0.375rem;
    --bs-border-radius-lg: 0.75rem;
    --bs-font-sans-serif: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    --bs-link-color: var(--immo-teal);
    --bs-link-hover-color: var(--immo-navy);
}

/* Boutons : écraser le bleu Bootstrap #0d6efd embarqué dans .btn-primary */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--immo-teal);
    --bs-btn-border-color: var(--immo-teal);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--immo-teal-hover);
    --bs-btn-hover-border-color: var(--immo-teal-hover);
    --bs-btn-focus-shadow-rgb: 10, 107, 88;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--immo-teal-active);
    --bs-btn-active-border-color: var(--immo-teal-active);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--immo-teal);
    --bs-btn-disabled-border-color: var(--immo-teal);
}

.btn-outline-primary {
    --bs-btn-color: var(--immo-teal);
    --bs-btn-border-color: var(--immo-teal);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--immo-teal);
    --bs-btn-hover-border-color: var(--immo-teal);
    --bs-btn-focus-shadow-rgb: 10, 107, 88;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--immo-teal);
    --bs-btn-active-border-color: var(--immo-teal);
    --bs-btn-disabled-color: var(--immo-teal);
    --bs-btn-disabled-border-color: var(--immo-teal);
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--immo-petrol);
    --bs-btn-border-color: var(--immo-petrol);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #124c54;
    --bs-btn-hover-border-color: #124c54;
    --bs-btn-focus-shadow-rgb: 22, 90, 99;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0f4249;
    --bs-btn-active-border-color: #0f4249;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--immo-petrol);
    --bs-btn-disabled-border-color: var(--immo-petrol);
}

.btn-outline-secondary {
    --bs-btn-color: var(--immo-petrol);
    --bs-btn-border-color: var(--immo-petrol);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--immo-petrol);
    --bs-btn-hover-border-color: var(--immo-petrol);
    --bs-btn-focus-shadow-rgb: 22, 90, 99;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--immo-petrol);
    --bs-btn-active-border-color: var(--immo-petrol);
    --bs-btn-disabled-color: var(--immo-petrol);
    --bs-btn-disabled-border-color: var(--immo-petrol);
}

.bg-primary {
    background-color: var(--immo-teal) !important;
}

.text-bg-primary {
    color: #fff !important;
    background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-primary {
    color: var(--immo-teal) !important;
}

.border-primary {
    border-color: var(--immo-teal) !important;
}

.link-primary {
    color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
}

.link-primary:hover,
.link-primary:focus {
    color: var(--immo-navy) !important;
}

h1, h2, h3, h4, h5, h6,
.fs-headings {
    font-family: "Sora", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-weight: 700;
    color: var(--immo-navy);
}

.text-muted {
    color: var(--immo-text-muted) !important;
}

.card {
    box-shadow: 0 1px 3px rgba(11, 30, 42, 0.08);
}

/* Badges de niveau de score (réservés à la restitution du diagnostic, cf. charte section 3) */
.badge-niveau-satisfaisant {
    background-color: var(--immo-score-success);
    color: #fff;
}

.badge-niveau-vigilance {
    background-color: var(--immo-score-warning);
    color: #1f2933;
}

.badge-niveau-besoin {
    background-color: var(--immo-score-danger);
    color: #fff;
}

.score-chiffre {
    font-family: "Sora", system-ui, sans-serif;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
