/**
 * Styles pour les filtres compacts
 * Réduction de l'espace vertical et horizontale avec filigrane
 */

/* Conteneur principal des filtres */
#filters-card {
    transition: all 0.3s ease;
}

#filters-card.filters-visible {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Réduction du padding */
#filters-card .card-body {
    padding: 1rem 1.5rem !important;
}

/* Inputs compacts */
#filters-card .form-control,
#filters-card .form-select {
    font-size: 0.875rem;
    padding: 0.375rem 0.75rem;
    height: 2.25rem;
}

/* Spacing des lignes */
#filters-card .row {
    row-gap: 0.75rem;
    column-gap: 0.5rem;
}

/* Checkbox alignement */
#filters-card .form-check {
    margin-bottom: 0;
}

#filters-card .form-check-input {
    margin-top: 0.25rem;
}

/* Placeholder styling */
#filters-card input::placeholder,
#filters-card select {
    color: #999;
    font-style: italic;
}

/* Input group compact */
#filters-card .input-group {
    font-size: 0.875rem;
}

#filters-card .input-group .form-control,
#filters-card .input-group .btn {
    font-size: 0.875rem;
    padding: 0.375rem 0.75rem;
    height: 2.25rem;
}

#filters-card .input-group .input-group-text {
    font-size: 0.875rem;
    padding: 0.375rem 0.75rem;
}

/* Bouton clearDate */
#filters-card .btn-outline-secondary {
    font-size: 0.875rem;
    padding: 0.375rem 0.5rem;
}

/* Mobile responsif */
@media (max-width: 768px) {
    #filters-card {
        display: none !important;
    }
}

/* Responsive tablet */
@media (min-width: 769px) and (max-width: 1023px) {
    #filters-card .card-body {
        padding: 0.75rem 1rem !important;
    }

    #filters-card .form-control,
    #filters-card .form-select {
        font-size: 0.8125rem;
        padding: 0.3125rem 0.625rem;
        height: 2.125rem;
    }

    #filters-card .row {
        row-gap: 0.625rem;
        column-gap: 0.375rem;
    }
}

/* Responsive desktop optimisé */
@media (min-width: 1024px) {
    #filters-card .card-body {
        padding: 1rem 1.5rem !important;
    }

    /* Ajustement du filigrane en fonction de la taille */
    #filters-card .card-body > div:first-child {
        font-size: 2.5rem;
    }
}

/* Animations pour les inputs */
#filters-card .form-control:focus,
#filters-card .form-select:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/* Autocomplete styling */
#filters-card .search-suggestions {
    background: white;
    border: 1px solid #dee2e6;
    border-top: none;
    border-radius: 0 0 0.375rem 0.375rem;
    max-height: 300px;
    overflow-y: auto;
    z-index: 1000;
}

#filters-card .search-suggestions .suggestion-item {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
    font-size: 0.875rem;
    transition: background-color 0.15s ease;
}

#filters-card .search-suggestions .suggestion-item:last-child {
    border-bottom: none;
}

#filters-card .search-suggestions .suggestion-item:hover,
#filters-card .search-suggestions .suggestion-item.selected {
    background-color: #f8f9fa;
}

#filters-card .search-suggestions .suggestion-item.selected {
    background-color: #e7f1ff;
    color: #0d6efd;
}

/* Tooltip Effacer */
#filters-card .clear-date-tooltip:hover .position-absolute {
    display: block !important;
}
