/* Loading Bar Animation */
@keyframes wooaeroafp-bar-slide {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

#wooaeroafp-loading-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    z-index: 99999;
    background: linear-gradient(90deg, #E1C900 0%, #383838 50%, #C3C3C3 100%);
    background-size: 200% 100%;
    animation: wooaeroafp-bar-slide 3.2s ease-in-out infinite;
    display: none;
    pointer-events: none;
}

#wooaeroafp-loading-bar.is-visible {
    display: block;
}

.wooaeroafp-filter {
    position: relative;
}

/* Dropdown Overlay */
.wooaeroafp-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.64);
    z-index: 1040;
    display: none;
    pointer-events: none;
    backdrop-filter: blur(0px);
}

.wooaeroafp-filter.overlay-active .wooaeroafp-overlay {
    display: block;
    pointer-events: auto;
}

/* Active Dropdown isolation logic */
.wooaeroafp-filter.overlay-active .wooaeroafp-controls-row {
    position: relative;
    z-index: 1050;
    /* Bring row above overlay */
}

/* Dim all elements in the row by default when overlay is active */
.wooaeroafp-filter.overlay-active .wooaeroafp-controls-row .wooaeroafp-btn-dropdown,
.wooaeroafp-filter.overlay-active .wooaeroafp-controls-row .wooaeroafp-dropdowns>span,
.wooaeroafp-filter.overlay-active .wooaeroafp-controls-row .wooaeroafp-total-count {
    opacity: 0.2;
    pointer-events: none;
}

/* Highlight the specific active button and its menu */
.wooaeroafp-filter.overlay-active .wooaeroafp-controls-row .wooaeroafp-btn-dropdown.show {
    opacity: 1;
    pointer-events: auto;
    position: relative;
    z-index: 1051;
    background-color: #fff;
}

.wooaeroafp-filter .dropdown-menu.show {
    z-index: 1052;
    opacity: 1 !important;
}

.wooaeroafp-filter .dropdown.show .dropdown-toggle {
    background-color: var(--bs-white);
    border-color: var(--bs-primary) !important;
}

.wooaeroafp-filter .dropdown-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 8px 16px;
}

.wooaeroafp-filter .dropdown-item::before {
    content: "";
    width: 18px;
    margin-right: 10px;
    display: flex;
    justify-content: center;
    font-weight: bold;
    font-size: 1.1rem;
}

.wooaeroafp-filter .dropdown-item.active {
    background-color: rgba(var(--bs-primary-rgb), 0.05);
    color: var(--bs-primary);
    font-weight: 500;
}

.wooaeroafp-filter .dropdown-item.active::before {
    content: "✓";
}

/* Active Filters Row */
.wooaeroafp-active-filters-row {
    margin-top: 10px;
}

.wooaeroafp-active-filters-row:empty {
    display: none !important;
    margin-top: 0;
}

.wooaeroafp-active-filter-tag {
    background: var(--bs-light);
    border: 1px solid var(--bs-border-color);
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 0.875rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.wooaeroafp-active-filter-tag .remove-filter {
    cursor: pointer;
    opacity: 0.5;
    transition: opacity 0.2s;
}

.wooaeroafp-active-filter-tag .remove-filter:hover {
    opacity: 1;
}

.wooaeroafp-reset-all {
    font-size: 0.875rem;
    color: var(--bs-dark);
    text-decoration: underline;
    cursor: pointer;
    margin-left: 10px;
}

/* Price Slider (Double Range) */
.range-slider-wrapper {
    width: 100%;
    position: relative;
}

.range-slider-wrapper::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 4px;
    background: #e9ecef;
    transform: translateY(-50%);
    border-radius: 2px;
    z-index: 0;
}

.range-slider-progress {
    position: absolute;
    top: 50%;
    height: 4px;
    background: #0d214d;
    transform: translateY(-50%);
    border-radius: 2px;
    z-index: 1;
}

.range-slider-wrapper input[type="range"] {
    appearance: none;
    background: transparent !important;
    pointer-events: none;
    width: 100%;
    margin: 0;
    position: absolute;
    top: 50% !important;
    transform: translateY(-50%);
    left: 0;
}

.range-slider-wrapper input[type="range"]::-webkit-slider-runnable-track {
    background: transparent;
}

.range-slider-wrapper input[type="range"]::-moz-range-track {
    background: transparent;
}

.range-slider-wrapper .min-range,
.range-slider-wrapper .max-range {
    z-index: 1;
}

.range-slider-wrapper input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    pointer-events: auto;
    width: 18px;
    height: 18px;
    background: #0d214d;
    /* Dark blue from image */
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.range-slider-wrapper input[type="range"]::-moz-range-thumb {
    pointer-events: auto;
    width: 18px;
    height: 18px;
    background: #0d214d;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.range-slider-container .wooaeroafp-input-group {
    background: #fff;
}

.range-slider-container .form-control {
    text-align: center;
    font-size: 0.9rem;
    color: #0d214d;
    border: 1px solid var(--bs-border-color);
    border-radius: 4px !important;
}

.range-slider-container .wooaeroafp-input-group-text {
    background: transparent;
    border-left: none;
    font-size: 0.8rem;
    color: #6c757d;
    padding-left: 0;
}

/* Modal Customization */
@media (min-width: 992px) {
    #wooaeroafp-modal .modal-dialog {
        max-width: 540px;
    }
}

#wooaeroafp-modal .modal-content {
    min-height: 100vh;
}

/* Product Count Labels */
.count-label {
    font-size: 0.75rem;
}

.dropdown-menu {
    min-width: 320px;
    font-size: 15px;
}

/* Hide results area during loading */
.wooaeroafp-loading {
    opacity: 0.5;
    pointer-events: none;
}

/* Custom Styles moved from inline styles */
.wooaeroafp-filter .dropdown-menu {
    min-width: 370px;
    font-size: 15px;
    padding: 1.5rem;
}

.wooaeroafp-filter .range-slider-wrapper {
    height: 40px;
    margin-top: 10px;
}

.wooaeroafp-filter .wooaeroafp-attr-dropdown .dropdown-menu {
    max-height: 300px;
    overflow-y: auto;
    padding: 1rem;
}

.wooaeroafp-filter button svg {
    vertical-align: middle;
    margin-left: 5px;
}

#wooaeroafp-modal .modal-dialog {
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 0;
    height: 100%;
}

#wooaeroafp-modal .modal-content {
    height: 100%;
    width: 540px;
    margin-left: auto;
}

/* Controls row and dropdown container layouts */
.wooaeroafp-controls-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.wooaeroafp-dropdowns {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.wooaeroafp-dropdowns>span {
    font-weight: bold;
    margin-right: 8px;
}

.wooaeroafp-right-side {
    display: flex;
    align-items: center;
    gap: 16px;
}

.wooaeroafp-total-count {
    color: #6c757d;
    font-size: 0.875rem;
}

/* Range Inputs Row */
.wooaeroafp-range-inputs {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
}

.wooaeroafp-range-inputs>span {
    color: #6c757d;
}

/* Custom Input Group */
.wooaeroafp-input-group {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
}

.wooaeroafp-input-group .form-control {
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}

.wooaeroafp-input-group-text {
    display: flex;
    align-items: center;
    padding: 0.25rem 0.5rem;
    font-size: 0.8rem;
    color: #6c757d;
    background-color: transparent;
    border: 1px solid var(--bs-border-color);
    border-left: none;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

/* Form Checkbox and Labels */
.wooaeroafp-form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: 0.125rem;
}

.wooaeroafp-form-check.mt-4 {
    margin-top: 1.5rem;
}

.wooaeroafp-form-check-input {
    float: left;
    margin-left: -1.5em;
    width: 1em;
    height: 1em;
    margin-top: 0.25em;
    vertical-align: top;
    border: 1px solid rgba(0, 0, 0, 0.25);
    border-radius: 0.25em;
    background-color: #fff;
    cursor: pointer;
}

.wooaeroafp-form-check-label {
    display: flex;
    align-items: center;
    width: 100%;
    cursor: pointer;
}

.wooaeroafp-count-label {
    color: #6c757d;
    margin-left: 8px;
    font-size: 0.75rem;
}

/* Header Row Layout */
.wooaeroafp-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.wooaeroafp-title {
    font-weight: 500;
    font-size: 1.15rem;
    color: #38114a;
}

/* Dim header row when overlay active */
.wooaeroafp-filter.overlay-active .wooaeroafp-header-row {
    opacity: 0.2;
    pointer-events: none;
}

/* Filter Badge */
.wooaeroafp-all-filters-btn {
    position: relative;
}

.wooaeroafp-filter-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -8px;
    right: -8px;
    width: 24px;
    height: 24px;
    background-color: #e74c3c;
    color: #fff;
    border-radius: 50%;
    font-size: 0.75rem;
    font-weight: bold;
    line-height: 1;
}