/*
 * Шухляда фільтрів мапи, редизайн 2026-09.
 *
 * Перекриває мінімізовані правила з map-v20260901b.css, тому майже все тут з
 * !important і з префіксом #offcanvasWithBackdrop. Розмітка та id не змінені:
 * main-map.js і далі знаходить #filters, лічильники, .evb-planner-filter-submit,
 * .is-dirty / .is-applying, bulk-кнопки й картки конекторів.
 *
 * Ідея: одна біла колонка замість «пігулок» у сірій оболонці. Секції відділені
 * тонкими лініями, лічильник сірий, поки в секції нічого не обрано, і зелений,
 * коли є вибір. Обраний стан карток читається з рамки і фону, не з галочки.
 */

:root {
    --evbf-green: #16854B;
    --evbf-green-soft: #EEF7F1;
    --evbf-green-line: rgba(22, 133, 75, .45);
    --evbf-text: #111827;
    --evbf-muted: #6B7280;
    --evbf-line: #ECEFF3;
    --evbf-line-strong: #DDE1E7;
    --evbf-surface: #F6F7F9;
}

/* ---------- Оболонка ---------- */

#offcanvasWithBackdrop.evb-planner-filter-drawer {
    background: #fff !important;
    border-right: 0 !important;
    box-shadow: 18px 0 48px rgba(15, 23, 42, .14) !important;
}

@media (min-width: 769px) {
    #offcanvasWithBackdrop.evb-planner-filter-drawer,
    .evb-filter-drawer.evb-planner-filter-drawer {
        width: 420px !important;
        max-width: 420px !important;
    }
}

#offcanvasWithBackdrop .evb-planner-filter-body {
    background: #fff !important;
}

/* ---------- Шапка ---------- */

#offcanvasWithBackdrop .evb-planner-filter-header {
    min-height: 64px !important;
    padding: 14px 16px 12px !important;
    background: #fff !important;
    border-bottom: 1px solid var(--evbf-line) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

#offcanvasWithBackdrop .evb-planner-filter-title-row {
    align-items: baseline !important;
    gap: 14px !important;
}

#offcanvasWithBackdrop .evb-planner-filter-title {
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
    color: var(--evbf-text) !important;
}

#offcanvasWithBackdrop .evb-planner-filter-reset-top {
    height: auto !important;
    padding: 0 !important;
    color: var(--evbf-muted) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(107, 114, 128, .4) !important;
    text-underline-offset: 3px !important;
}

#offcanvasWithBackdrop .evb-planner-filter-reset-top:hover {
    color: var(--evbf-text) !important;
}

#offcanvasWithBackdrop .evb-planner-filter-close {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 999px !important;
    background: var(--evbf-surface) !important;
    color: var(--evbf-text) !important;
    font-size: 24px !important;
    box-shadow: none !important;
}

#offcanvasWithBackdrop .evb-planner-filter-close:hover {
    background: var(--evbf-line) !important;
}

/* ---------- Прокрутка та секції ---------- */

#offcanvasWithBackdrop .evb-planner-filter-scroll {
    padding: 0 0 calc(92px + env(safe-area-inset-bottom)) !important;
    scrollbar-color: rgba(17, 24, 39, .18) transparent !important;
}

#offcanvasWithBackdrop .evb-planner-filter-scroll::-webkit-scrollbar-thumb {
    background: rgba(17, 24, 39, .16) !important;
}

#offcanvasWithBackdrop .evb-planner-accordion {
    gap: 0 !important;
}

#offcanvasWithBackdrop .evb-planner-section,
#offcanvasWithBackdrop .evb-planner-accordion-item {
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--evbf-line) !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

#offcanvasWithBackdrop .evb-planner-accordion-item:last-child {
    border-bottom: 0 !important;
}

/* Заголовок секції: назва ліворуч, лічильник поруч, шеврон праворуч. */

#offcanvasWithBackdrop .evb-planner-accordion-button {
    min-height: 56px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: var(--evbf-text) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
}

#offcanvasWithBackdrop .evb-planner-accordion-button:hover {
    background: #FAFBFC !important;
}

#offcanvasWithBackdrop .evb-planner-accordion-button:not(.collapsed) {
    border-bottom: 0 !important;
    background: #fff !important;
}

#offcanvasWithBackdrop .evb-planner-accordion-button:focus-visible {
    outline: 2px solid var(--evbf-green) !important;
    outline-offset: -2px !important;
}

#offcanvasWithBackdrop .evb-planner-accordion-button::after {
    width: 18px !important;
    height: 18px !important;
    background-size: 18px !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236B7280'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
    opacity: 1 !important;
}

#offcanvasWithBackdrop .evb-planner-accordion-title {
    gap: 10px !important;
}

/* Лічильник: сірий, поки пусто. Зелений, коли в секції є вибір. */

#offcanvasWithBackdrop .evb-planner-count-badge,
#offcanvasWithBackdrop .evb-planner-accordion-button .badge,
#offcanvasWithBackdrop .evb-planner-accordion-button .bg-primary {
    min-width: 0 !important;
    height: 22px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: var(--evbf-surface) !important;
    color: var(--evbf-muted) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    font-variant-numeric: tabular-nums !important;
}

#offcanvasWithBackdrop .evb-planner-accordion-item:has(.accordion-body input[type="checkbox"]:checked) .evb-planner-count-badge {
    background: var(--evbf-green-soft) !important;
    color: var(--evbf-green) !important;
}

#offcanvasWithBackdrop .evb-planner-accordion-body {
    padding: 4px 16px 18px !important;
    background: #fff !important;
}

/* ---------- Кнопки «Вибрати всі / Очистити» ---------- */

#offcanvasWithBackdrop .evb-planner-mini-actions,
#offcanvasWithBackdrop .evb-planner-accordion-body .evb-planner-mini-actions {
    gap: 14px !important;
    margin: 0 0 12px !important;
}

#offcanvasWithBackdrop .evb-planner-mini-btn,
#offcanvasWithBackdrop .evb-planner-accordion-body .evb-planner-mini-btn {
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--evbf-green) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

#offcanvasWithBackdrop .evb-planner-mini-btn-muted {
    color: var(--evbf-muted) !important;
}

#offcanvasWithBackdrop .evb-planner-mini-btn:hover {
    color: var(--evbf-text) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* ---------- Конектори ---------- */

#offcanvasWithBackdrop .evb-planner-connectors-grid-unified {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

#offcanvasWithBackdrop .evb-planner-connectors-grid-unified .evb-planner-connector-card {
    min-height: 84px !important;
    padding: 12px 6px 10px !important;
    gap: 6px !important;
    border: 1px solid var(--evbf-line-strong) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--evbf-text) !important;
    box-shadow: none !important;
}

#offcanvasWithBackdrop .evb-planner-connectors-grid-unified .evb-planner-connector-card:hover {
    border-color: var(--evbf-green-line) !important;
    background: #FAFBFC !important;
    box-shadow: none !important;
}

#offcanvasWithBackdrop .evb-planner-connectors-grid-unified .evb-real-connector-icon {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
    color: var(--evbf-text) !important;
    background: var(--evbf-text) !important;
}

#offcanvasWithBackdrop .evb-planner-connectors-grid-unified .evb-connector-name {
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* DC/AC як тихий підпис, а не кольоровий бейдж. */
#offcanvasWithBackdrop .evb-planner-connectors-grid-unified .evb-connector-type-badge {
    top: 7px !important;
    right: 8px !important;
    height: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--evbf-muted) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
}

#offcanvasWithBackdrop .evb-planner-connectors-grid-unified .btn-check:checked + .evb-planner-connector-card {
    border-color: var(--evbf-green) !important;
    background: var(--evbf-green-soft) !important;
    color: var(--evbf-text) !important;
    box-shadow: inset 0 0 0 1px var(--evbf-green) !important;
}

#offcanvasWithBackdrop .evb-planner-connectors-grid-unified .btn-check:checked + .evb-planner-connector-card::after {
    content: none !important;
    display: none !important;
}

#offcanvasWithBackdrop .btn-check:checked + .evb-planner-connector-card .evb-connector-type-dc,
#offcanvasWithBackdrop .btn-check:checked + .evb-planner-connector-card .evb-connector-type-ac {
    background: transparent !important;
    color: var(--evbf-green) !important;
}

#offcanvasWithBackdrop .btn-check:checked + .evb-planner-connector-card .evb-real-connector-icon {
    color: var(--evbf-green) !important;
    background: var(--evbf-green) !important;
}

/* ---------- Слайдери ---------- */

#offcanvasWithBackdrop .evb-planner-price-range {
    height: 24px !important;
    margin: 8px 0 4px !important;
}

#offcanvasWithBackdrop .evb-planner-price-range::-webkit-slider-runnable-track {
    height: 4px !important;
    background: var(--evbf-line-strong) !important;
}

#offcanvasWithBackdrop .evb-planner-price-range::-moz-range-track {
    height: 4px !important;
    background: var(--evbf-line-strong) !important;
}

#offcanvasWithBackdrop .evb-planner-price-range::-webkit-slider-thumb {
    width: 22px !important;
    height: 22px !important;
    margin-top: -9px !important;
    border: 2px solid #fff !important;
    background: var(--evbf-green) !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, .25) !important;
}

#offcanvasWithBackdrop .evb-planner-price-range::-moz-range-thumb {
    width: 22px !important;
    height: 22px !important;
    border: 2px solid #fff !important;
    background: var(--evbf-green) !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, .25) !important;
}

#offcanvasWithBackdrop .evb-planner-index-scale {
    margin-top: 6px !important;
    color: var(--evbf-muted) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    font-variant-numeric: tabular-nums !important;
}

/* ---------- Оператори та виробники ---------- */

#offcanvasWithBackdrop .evb-filter-chip-grid-operators,
#offcanvasWithBackdrop .evb-filter-chip-grid-makers {
    gap: 8px !important;
}

#offcanvasWithBackdrop .evb-filter-chip {
    border: 1px solid var(--evbf-line-strong) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--evbf-text) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

#offcanvasWithBackdrop .evb-filter-chip:hover {
    border-color: var(--evbf-green-line) !important;
    background: #FAFBFC !important;
}

#offcanvasWithBackdrop .btn-check:checked + .evb-filter-chip {
    border-color: var(--evbf-green) !important;
    background: var(--evbf-green-soft) !important;
    color: var(--evbf-text) !important;
    box-shadow: inset 0 0 0 1px var(--evbf-green) !important;
}

#offcanvasWithBackdrop .evb-filter-chip-operator {
    min-height: 58px !important;
    padding: 8px 12px !important;
}

#offcanvasWithBackdrop .btn-check:checked + .evb-filter-chip-operator,
#offcanvasWithBackdrop .btn-check:checked + .evb-filter-chip-maker {
    padding-right: 12px !important;
}

#offcanvasWithBackdrop .btn-check:checked + .evb-filter-chip-operator::after,
#offcanvasWithBackdrop .btn-check:checked + .evb-filter-chip-maker::after {
    content: none !important;
    display: none !important;
}

#offcanvasWithBackdrop .evb-filter-chip-operator-main {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 10px !important;
}

#offcanvasWithBackdrop .evb-filter-operator-logo-wrap {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    flex-basis: 34px !important;
    border: 1px solid var(--evbf-line) !important;
    border-radius: 9px !important;
    background: #fff !important;
}

#offcanvasWithBackdrop .evb-filter-operator-logo-fallback {
    background: var(--evbf-surface) !important;
    color: var(--evbf-muted) !important;
    font-size: 13px !important;
}

#offcanvasWithBackdrop .evb-filter-chip-operator-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--evbf-text) !important;
}

#offcanvasWithBackdrop .evb-filter-chip-maker {
    min-height: 44px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
}

/* Бейджі «запуск з EVBOOST» і «new» лишаються, але не кричать. */
#offcanvasWithBackdrop .evb-mini-badge {
    height: 18px !important;
    padding: 0 7px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
}

#offcanvasWithBackdrop .evb-mini-badge-yellow {
    background: #FEF3C7 !important;
    color: #92400E !important;
}

#offcanvasWithBackdrop .evb-mini-badge-green {
    background: var(--evbf-green-soft) !important;
    color: var(--evbf-green) !important;
}

/* ---------- Перемикачі ---------- */

#offcanvasWithBackdrop .evb-planner-toggle-list {
    padding: 0 8px 8px !important;
}

#offcanvasWithBackdrop .evb-planner-toggle-row {
    min-height: 52px !important;
    padding: 10px 8px !important;
    border-bottom: 1px solid var(--evbf-line) !important;
    border-radius: 0 !important;
}

#offcanvasWithBackdrop .evb-planner-toggle-row:last-child {
    border-bottom: 0 !important;
}

#offcanvasWithBackdrop .evb-planner-toggle-label {
    color: var(--evbf-text) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

#offcanvasWithBackdrop .evb-planner-toggle-icon {
    color: var(--evbf-muted) !important;
}

#offcanvasWithBackdrop .evb-planner-toggle-ui {
    width: 44px !important;
    height: 26px !important;
    min-width: 44px !important;
    background: var(--evbf-line-strong) !important;
}

#offcanvasWithBackdrop .evb-planner-toggle-ui::after {
    top: 3px !important;
    left: 3px !important;
    width: 20px !important;
    height: 20px !important;
}

#offcanvasWithBackdrop .evb-planner-toggle-row input:checked + .evb-planner-toggle-ui {
    background: var(--evbf-green) !important;
}

#offcanvasWithBackdrop .evb-planner-toggle-row input:checked + .evb-planner-toggle-ui::after {
    transform: translateX(18px) !important;
}

#offcanvasWithBackdrop .evb-planner-toggle-row:has(input:focus-visible) .evb-planner-toggle-ui {
    outline: 2px solid var(--evbf-green) !important;
    outline-offset: 2px !important;
}

/* «Моє авто» стоїть над секціями як перший рядок списку. */
#offcanvasWithBackdrop .evb-planner-car-section {
    padding: 8px 8px 0 !important;
    border-bottom: 1px solid var(--evbf-line) !important;
}

#offcanvasWithBackdrop .evb-planner-car-row {
    padding: 10px 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
}

#offcanvasWithBackdrop .evb-planner-car-title {
    color: var(--evbf-muted) !important;
}

/* ---------- Країна ---------- */

#offcanvasWithBackdrop .evb-planner-select {
    height: 46px !important;
    padding: 0 40px 0 14px !important;
    border: 1px solid var(--evbf-line-strong) !important;
    border-radius: 12px !important;
    color: var(--evbf-text) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

#offcanvasWithBackdrop .evb-planner-select:focus {
    border-color: var(--evbf-green) !important;
    box-shadow: 0 0 0 3px rgba(22, 133, 75, .15) !important;
}

/* ---------- Футер ---------- */

#offcanvasWithBackdrop .evb-planner-filter-footer {
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
    background: rgba(255, 255, 255, .94) !important;
    border-top: 1px solid var(--evbf-line) !important;
    box-shadow: none !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

#offcanvasWithBackdrop .evb-planner-filter-submit {
    height: 50px !important;
    border-radius: 14px !important;
    background: var(--evbf-green) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
    transition: background .15s ease, transform .15s ease !important;
}

#offcanvasWithBackdrop .evb-planner-filter-submit:hover {
    background: #13723F !important;
}

#offcanvasWithBackdrop .evb-planner-filter-submit:active {
    transform: translateY(1px) !important;
}

/* Стан «є незастосовані зміни» і «застосовується» з main-map.js. */
#offcanvasWithBackdrop .evb-planner-filter-submit.is-dirty {
    background: var(--evbf-text) !important;
}

#offcanvasWithBackdrop .evb-planner-filter-submit.is-applying {
    background: var(--evbf-muted) !important;
}

/* ---------- Вужчі екрани ---------- */

@media (max-width: 390px) {
    #offcanvasWithBackdrop .evb-planner-accordion-button,
    #offcanvasWithBackdrop .evb-planner-filter-header {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    #offcanvasWithBackdrop .evb-planner-accordion-body {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    #offcanvasWithBackdrop .evb-planner-connectors-grid-unified .evb-planner-connector-card {
        min-height: 78px !important;
    }
}
