/* === Couleur de marque (change la valeur ci-dessous si ton bleu diffère) === */
:root {
    --brand-primary: #1e3a8a;
}

.shadw-sesur-md {
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.btn-primary,
.pill-btn.active,
.pill-btn .badge {
    background-color: #1e3a8a !important;
}

.btn-primary {
    border-color: #1e3a8a !important;
}

.pill-btn.active {
    border-color: rgba(13, 110, 253, .35) !important;
    color: #fff !important;
}

.pill-btn.active:hover {
    filter: brightness(0.98);
}

/* Search */
.pill-search .form-control {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

/* Pills */
.pill-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 999px;
    padding: .55rem .9rem;
    box-shadow: 0 1px 0 rgba(16, 24, 40, .02);
    transition: all .15s ease-in-out;
}

.pill-btn:hover {
    background: #f8f9fb;
}

.pill-btn .badge {
    background: #1e3a8a;
    border: none;
}

.dropdown-menu {
    max-height: min(400px, 70vh) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
}

@media (max-width: 768px) {
    .dropdown-menu {
    max-height: min(300px, 60vh) !important;
    }
}

/* Dropdowns */
.dropdown-menu-md {
    min-width: 360px;
}

.dropdown-menu-lg {
    min-width: 420px;
}

.dropdown-menu .scroll-area {
    max-height: 260px;
    overflow: auto;
    border: 1px solid #f1f1f4;
    border-radius: 10px;
    padding: .25rem .5rem;
}

.dropdown-menu label.form-check {
    cursor: pointer;
}

.dropdown-menu .form-control {
    border-radius: 10px;
}

/* === Thème (bleu de marque) === */
:root {
    --brand-primary: #0d6efd;
    /* change si besoin */
    --brand-primary-rgb: 13, 110, 253;
    /* <= version rgb pour les ombres */
    --input-border: #E9EAF1;
    /* bordure douce */
    --input-border-hover: #D9DDEA;
    --input-bg: #FFFFFF;
    --placeholder: #9AA3AF;
}

/* Card */
.filters-card {
    position: relative;
    overflow: visible;
}

/* Bordures propres pour TOUTES les entrées de la zone filtres */
.filters-card .form-control,
.filters-card .form-select {
    background: var(--input-bg);
    border: 1.5px solid var(--input-border);
    border-radius: 12px;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.filters-card .form-control:hover,
.filters-card .form-select:hover {
    border-color: var(--input-border-hover);
}

.filters-card .form-control:focus,
.filters-card .form-select:focus {
    border-color: rgba(var(--brand-primary-rgb), .55) !important;
    box-shadow: 0 0 0 .25rem rgba(var(--brand-primary-rgb), .12) !important;
}

/* Placeholders plus subtils */
.filters-card .form-control::placeholder {
    color: var(--placeholder);
}

/* Barre de recherche : bordure continue avec le bouton */
.filters-card .pill-search .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: 0;
}

.filters-card .pill-search .btn {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border: 1.5px solid #1e3a8a;
}

/* Boutons-pills */
.filters-card .pill-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: #fff;
    border: 1.5px solid var(--input-border);
    border-radius: 999px;
    padding: .55rem .9rem;
    box-shadow: 0 1px 0 rgba(16, 24, 40, .02);
    transition: all .15s ease-in-out;
}

.filters-card .pill-btn:hover {
    background: #f8f9fb;
    border-color: var(--input-border-hover);
}

.filters-card .pill-btn.active {
    background: #1e3a8a;
    color: #fff;
    border-color: #1e3a8a;
}

.filters-card .pill-btn .badge {
    background: #fff;
    color: #1e3a8a;
}

/* Dropdowns élégants, larges et au-dessus de tout */
.filters-card .dropdown-menu {
    border: 1px solid var(--input-border);
    border-radius: 14px;
    box-shadow: 0 12px 30px rgba(16, 24, 40, .08), 0 2px 6px rgba(16, 24, 40, .04);
}

.dropdown-menu-md {
    min-width: 520px;
}

/* élargi */
.dropdown-menu-lg {
    min-width: 680px;
}

.dropdown-menu-xl {
    min-width: 820px;
}

@media (max-width:576px) {
    .dropdown-menu-md,
    .dropdown-menu-lg,
    .dropdown-menu-xl {
        width: calc(100vw - 2rem);
        min-width: auto;
        left: 1rem !important;
        right: 1rem !important;
    }
}

/* Zone scroll interne des listes */
.filters-card .dropdown-menu .scroll-area {
    max-height: 260px;
    overflow: auto;
    border: 1px solid var(--input-border);
    border-radius: 10px;
    padding: .25rem .5rem;
    z-index: 9999 !important;
}

/* Champ de recherche interne des dropdowns */
.filters-card .dropdown-menu .input-group .form-control {
    border-radius: 10px !important;
}

/* Cases à cocher harmonisées au bleu de marque */
.filters-card .form-check-input {
    width: 1rem;
    height: 1rem;
    border: 1.5px solid var(--input-border);
    border-radius: .35rem;
    box-shadow: none !important;
}

.filters-card .form-check-input:checked {
    background-color: #1e3a8a;
    border-color: #1e3a8a;
}

/* Icônes dans les pills : léger accent (hors état actif où tout est blanc) */
.filters-card .pill-btn i {
    color: #1e3a8a;
}

.filters-card .pill-btn.active i {
    color: #fff;
}

.filters-card .pill-btn {
    border: none !important;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 50px;
}
