/* =========================== CARD DOS FILTROS =========================== */

.gm-filter-card {
    position: relative;
    background: var(--gm-surface);
    border: 1px solid var(--gm-border);
    border-radius: var(--gm-radius);
    box-shadow: var(--gm-shadow);
    padding: 26px 28px 28px;
    overflow: visible;
}

    /* Fita laranja no topo do card */
    .gm-filter-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        border-radius: var(--gm-radius) var(--gm-radius) 0 0;
        background: linear-gradient(90deg, var(--gm-orange) 0%, var(--gm-teal) 100%);
    }

.gm-filter-card__head {
    margin-bottom: 22px;
}

    .gm-filter-card__head p {
        margin: 12px 0 0;
        color: var(--gm-muted);
        font-size: .94rem;
    }

/* =========================== INPUTS PADRÃO =========================== */

#filtros-container .form-control,
#filtros-container .form-select {
    border: 2px solid var(--gm-border);
    border-radius: var(--gm-radius-sm);
    padding: .7rem .9rem;
    transition: border-color .2s ease, box-shadow .2s ease;
    font-size: .95rem;
    background: #fff;
    color: var(--gm-ink);
}

    #filtros-container .form-control:hover,
    #filtros-container .form-select:hover {
        border-color: rgba(242, 105, 28, .45);
    }

    #filtros-container .form-control:focus,
    #filtros-container .form-select:focus {
        border-color: var(--gm-orange);
        box-shadow: 0 0 0 4px rgba(242, 105, 28, .14);
    }

#filtros-container label {
    font-weight: 700;
    color: var(--gm-navy);
    font-size: .84rem;
    margin-bottom: .45rem;
}

/* =========================== CHOICES.JS (SELECT MULTIPLO) =========================== */

.choices {
    width: 100%;
    margin-bottom: 0;
}

.choices__inner {
    border-radius: var(--gm-radius-sm) !important;
    border: 2px solid var(--gm-border) !important;
    background-color: #fff !important;
    min-height: 46px;
    padding: 5px 8px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

    .choices__inner:hover {
        border-color: rgba(242, 105, 28, .45) !important;
    }

.choices.is-focused .choices__inner,
.choices.is-open .choices__inner {
    border-color: var(--gm-orange) !important;
    box-shadow: 0 0 0 4px rgba(242, 105, 28, .14);
}

.choices__placeholder {
    color: var(--gm-muted) !important;
    opacity: 1;
}

.choices__input {
    color: var(--gm-ink) !important;
    background-color: transparent !important;
}

/* Itens já selecionados */
.choices__list--multiple .choices__item {
    background: var(--gm-teal) !important;
    border: 1px solid var(--gm-teal) !important;
    color: #fff !important;
    border-radius: 8px;
    padding: 5px 9px;
    font-size: .85rem;
    font-weight: 600;
}

    .choices__list--multiple .choices__item.is-highlighted {
        background: var(--gm-teal-dark) !important;
        border-color: var(--gm-teal-dark) !important;
    }

/* Dropdown aberto */
.choices__list--dropdown,
.choices__list[aria-expanded] {
    z-index: 9999;
    border-radius: var(--gm-radius-sm);
    border: 1px solid var(--gm-border);
    margin-top: 6px;
    box-shadow: var(--gm-shadow-lg);
    background: #fff;
}

    .choices__list--dropdown .choices__item {
        color: var(--gm-ink) !important;
        padding: 10px 12px;
        font-size: .93rem;
    }

    .choices__list--dropdown .choices__item--selectable.is-highlighted {
        background: var(--gm-orange-soft) !important;
        color: var(--gm-orange-dark) !important;
    }

.choices[data-type*="select-multiple"] .choices__button {
    border-left: 1px solid rgba(255, 255, 255, .5);
    opacity: .85;
}

    .choices[data-type*="select-multiple"] .choices__button:hover {
        opacity: 1;
    }

/* =========================== BOTÃO APLICAR =========================== */

#btn-aplicar:disabled {
    opacity: .7;
}

/* =========================== RESUMO DA BUSCA =========================== */

.gm-filter-summary {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 18px;
    margin-bottom: 16px;
    background: var(--gm-teal-soft);
    border: 1px solid rgba(35, 175, 196, .25);
    border-radius: var(--gm-radius-sm);
}

.gm-filter-summary__total {
    font-weight: 800;
    color: var(--gm-navy);
    font-size: 1.02rem;
}

.gm-filter-summary__nota {
    color: var(--gm-muted);
    font-size: .87rem;
}

    .gm-filter-summary__nota strong {
        color: var(--gm-orange-dark);
    }

/* =========================== MOBILE =========================== */

@media (max-width: 768px) {
    .gm-filter-card {
        padding: 20px 18px 22px;
    }

    #btn-aplicar {
        width: 100%;
    }
}
