.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gym-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.gym-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

/* Custom scrollbar for select */
select::-ms-expand {
    display: none;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

 /* Custom Checkbox Styles */
 .amenity-checkbox, .rating-checkbox, .audience-checkbox {
     transition: all 0.2s ease-in-out;
     background-color: #ffffff;
     border-color: #d1d5db;
     cursor: pointer;
     user-select: none;
 }
 
 /* Checked state - multiple selectors for better coverage */
 .amenity-filter:checked + .amenity-checkbox,
 .rating-filter:checked + .rating-checkbox,
 .audience-filter:checked + .audience-checkbox,
 input[type="checkbox"]:checked + .amenity-checkbox,
 input[type="checkbox"]:checked + .rating-checkbox,
 input[type="checkbox"]:checked + .audience-checkbox {
     background-color: #1f2937 !important;
     border-color: #1f2937 !important;
 }
 
 .amenity-filter:checked + .amenity-checkbox .amenity-checkmark,
 .rating-filter:checked + .rating-checkbox .rating-checkmark,
 .audience-filter:checked + .audience-checkbox .audience-checkmark,
 input[type="checkbox"]:checked + .amenity-checkbox .amenity-checkmark,
 input[type="checkbox"]:checked + .rating-checkbox .rating-checkmark,
 input[type="checkbox"]:checked + .audience-checkbox .audience-checkmark {
     opacity: 1 !important;
 }
 
 /* Unchecked state */
 .amenity-filter:not(:checked) + .amenity-checkbox,
 .rating-filter:not(:checked) + .rating-checkbox,
 .audience-filter:not(:checked) + .audience-checkbox,
 input[type="checkbox"]:not(:checked) + .amenity-checkbox,
 input[type="checkbox"]:not(:checked) + .rating-checkbox,
 input[type="checkbox"]:not(:checked) + .audience-checkbox {
     background-color: #ffffff !important;
     border-color: #d1d5db !important;
 }
 
 .amenity-filter:not(:checked) + .amenity-checkbox .amenity-checkmark,
 .rating-filter:not(:checked) + .rating-checkbox .rating-checkmark,
 .audience-filter:not(:checked) + .audience-checkbox .audience-checkmark,
 input[type="checkbox"]:not(:checked) + .amenity-checkbox .amenity-checkmark,
 input[type="checkbox"]:not(:checked) + .rating-checkbox .rating-checkmark,
 input[type="checkbox"]:not(:checked) + .audience-checkbox .audience-checkmark {
     opacity: 0 !important;
 }
 
 /* Additional checked state using class */
 .amenity-checkbox.checked,
 .rating-checkbox.checked,
 .audience-checkbox.checked {
     background-color: #1f2937 !important;
     border-color: #1f2937 !important;
 }
 
 .amenity-checkbox.checked .amenity-checkmark,
 .rating-checkbox.checked .rating-checkmark,
 .audience-checkbox.checked .audience-checkmark {
     opacity: 1 !important;
 }
 
 /* Fix any Bootstrap conflicts */
 .form-check-input {
     display: none !important;
 }
 
 .form-check-label {
     margin-bottom: 0 !important;
 }
 
 /* Ensure checkboxes are properly hidden but still functional */
 .amenity-filter, .rating-filter, .audience-filter {
     position: absolute !important;
     opacity: 0 !important;
     pointer-events: none !important;
 }

/* Filter sidebar modern styling */
#filterSidebar {
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.95);
}

/* Smooth transitions for filter toggles */
.filter-transition {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}