/* =========================================================
   Thème Kohi pour Azuriom (Bootstrap 5)
   ========================================================= */
:root,
[data-bs-theme="light"] {
    --kohi-red: #de3a5c;
    --kohi-red-dark: #b8243f;
    --kohi-soft: #fde6ea;
    --kohi-line: #f5dde2;

    --bs-primary: #de3a5c;
    --bs-primary-rgb: 222, 58, 92;
    --bs-primary-text-emphasis: #8f1c33;
    --bs-primary-bg-subtle: #fde6ea;
    --bs-primary-border-subtle: #f6b8c4;
    --bs-link-color: #de3a5c;
    --bs-link-color-rgb: 222, 58, 92;
    --bs-link-hover-color: #b8243f;
    --bs-link-hover-color-rgb: 184, 36, 63;

    --bs-body-font-family: Poppins, system-ui, -apple-system, "Segoe UI", sans-serif;
    --bs-body-bg: #fffafb;
    --bs-body-color: #2a1b20;
    --bs-secondary-color: #7d6670;
    --bs-secondary-bg: #fdf0f2;
    --bs-tertiary-bg: #fdf0f2;
    --bs-border-color: #f5dde2;
    --bs-border-radius: .75rem;
    --bs-border-radius-lg: 1rem;
    --bs-focus-ring-color: rgba(222, 58, 92, .25);
}

[data-bs-theme="dark"] {
    --kohi-red: #f0607d;
    --kohi-red-dark: #de3a5c;
    --kohi-soft: #3a1a23;
    --kohi-line: #35242b;

    --bs-primary: #f0607d;
    --bs-primary-rgb: 240, 96, 125;
    --bs-primary-text-emphasis: #f7a3b4;
    --bs-primary-bg-subtle: #3a1a23;
    --bs-primary-border-subtle: #6b2b3b;
    --bs-link-color: #f0607d;
    --bs-link-color-rgb: 240, 96, 125;
    --bs-link-hover-color: #f7a3b4;
    --bs-link-hover-color-rgb: 247, 163, 180;

    --bs-body-bg: #140d10;
    --bs-body-color: #f8eef1;
    --bs-secondary-color: #b49ea7;
    --bs-secondary-bg: #1b1216;
    --bs-tertiary-bg: #21161b;
    --bs-border-color: #35242b;
}

body {
    background: var(--bs-body-bg);
    font-family: var(--bs-body-font-family);
}

a { text-decoration: none; }
img { max-width: 100%; height: auto; }
html, body { height: 100%; }

h1, h2, h3, .h1, .h2, .h3 { font-weight: 800; letter-spacing: -.02em; }

/* ---------- Boutons ---------- */
.btn { font-weight: 600; border-radius: .75rem; }
.btn-primary {
    --bs-btn-bg: var(--kohi-red);
    --bs-btn-border-color: var(--kohi-red);
    --bs-btn-hover-bg: var(--kohi-red-dark);
    --bs-btn-hover-border-color: var(--kohi-red-dark);
    --bs-btn-active-bg: var(--kohi-red-dark);
    --bs-btn-active-border-color: var(--kohi-red-dark);
    --bs-btn-disabled-bg: var(--kohi-red);
    --bs-btn-disabled-border-color: var(--kohi-red);
    --bs-btn-focus-shadow-rgb: 222, 58, 92;
    box-shadow: 0 6px 18px rgba(222, 58, 92, .25);
}
.btn-outline-primary {
    --bs-btn-color: var(--kohi-red);
    --bs-btn-border-color: var(--kohi-red);
    --bs-btn-hover-bg: var(--kohi-red);
    --bs-btn-hover-border-color: var(--kohi-red);
    --bs-btn-active-bg: var(--kohi-red-dark);
    --bs-btn-active-border-color: var(--kohi-red-dark);
}
.btn-secondary {
    --bs-btn-bg: var(--bs-body-bg);
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-border-color: var(--bs-border-color);
    --bs-btn-hover-bg: var(--kohi-soft);
    --bs-btn-hover-color: var(--kohi-red);
    --bs-btn-hover-border-color: var(--kohi-red);
}

/* ---------- Cartes, formulaires, listes ---------- */
.card {
    --bs-card-border-color: var(--bs-border-color);
    --bs-card-border-radius: 1rem;
    --bs-card-cap-bg: transparent;
    background: var(--bs-body-bg);
    box-shadow: 0 4px 24px rgba(180, 40, 70, .06);
    transition: transform .18s, border-color .18s;
}
.card:hover { border-color: rgba(222, 58, 92, .35); }

.form-control:focus, .form-select:focus {
    border-color: var(--kohi-red);
    box-shadow: 0 0 0 .25rem var(--bs-focus-ring-color);
}
.form-check-input:checked { background-color: var(--kohi-red); border-color: var(--kohi-red); }

.list-group {
    --bs-list-group-active-bg: var(--kohi-red);
    --bs-list-group-active-border-color: var(--kohi-red);
    --bs-list-group-border-color: var(--bs-border-color);
}
.nav-pills { --bs-nav-pills-link-active-bg: var(--kohi-red); }
.pagination {
    --bs-pagination-active-bg: var(--kohi-red);
    --bs-pagination-active-border-color: var(--kohi-red);
    --bs-pagination-color: var(--kohi-red);
}
.progress { --bs-progress-bar-bg: var(--kohi-red); }
.badge.bg-primary, .bg-primary { background-color: var(--kohi-red) !important; }
.text-primary { color: var(--kohi-red) !important; }
.dropdown-menu {
    --bs-dropdown-link-active-bg: var(--kohi-red);
    --bs-dropdown-border-color: var(--bs-border-color);
    border-radius: .9rem;
}

/* ---------- Barre de navigation ---------- */
.kohi-navbar {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: color-mix(in srgb, var(--bs-body-bg) 88%, transparent);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--bs-border-color);
}
.kohi-navbar .nav-link { font-weight: 500; color: var(--bs-secondary-color); }
.kohi-navbar .nav-link:hover,
.kohi-navbar .nav-link.active { color: var(--kohi-red); }
.kohi-logo { height: 44px; width: auto; border-radius: 10px; }

/* ---------- Accueil ---------- */
.kohi-hero {
    padding: 48px 0 24px;
    background: radial-gradient(ellipse 70% 60% at 50% 10%, var(--kohi-soft), transparent 70%);
}
.kohi-banner {
    display: block;
    width: 100%;
    max-width: 860px;
    margin: 0 auto 28px;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(222, 58, 92, .25);
}
.kohi-hero-title { font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: .5rem; }
.kohi-hero-text { color: var(--bs-secondary-color); font-size: 1.1rem; max-width: 620px; margin: 0 auto 1.5rem; }
.kohi-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border: 1px solid var(--bs-border-color);
    border-radius: 99px;
    background: var(--bs-body-bg);
    font-size: .9rem;
    font-weight: 500;
    color: var(--bs-secondary-color);
}
.kohi-dot { width: 9px; height: 9px; border-radius: 50%; background: #bbb; }
.kohi-dot.on { background: #16a34a; box-shadow: 0 0 0 4px rgba(22, 163, 74, .18); }
.kohi-dot.off { background: var(--kohi-red); }

.kohi-step-num {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: var(--kohi-soft);
    color: var(--kohi-red);
    font-weight: 800;
    margin-bottom: 12px;
}
.kohi-section-title { text-align: center; margin-bottom: 1.5rem; }

/* ---------- Pied de page ---------- */
.kohi-footer {
    background: var(--bs-secondary-bg);
    border-top: 1px solid var(--bs-border-color);
}
.kohi-footer h6 { margin-bottom: .75rem; }
.kohi-footer a:not(.kohi-social) { display: block; color: var(--bs-secondary-color); padding: 3px 0; font-size: .92rem; }
.kohi-footer a:not(.kohi-social):hover { color: var(--kohi-red); }
.kohi-footer .kohi-logo { height: 52px; }
.kohi-footer-bottom { border-top: 1px solid var(--bs-border-color); }
.kohi-social { width: 36px; height: 36px; }
