.villa-availability-filter{background:#000;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px rgb(0 0 0 / .1);position:relative}.villa-filter-title{margin:0 0 15px 0;font-size:18px;font-weight:600;color:#fff;text-align:center}.villa-filter-form{display:flex;flex-wrap:wrap;gap:15px;align-items:flex-end}.villa-filter-field{flex:1;min-width:200px}.villa-filter-label{font-size:14px;font-weight:500;color:#e0e0e0;margin-bottom:5px}.villa-filter-input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff;color:#000;transition:border-color 0.3s ease,box-shadow 0.3s ease}.villa-filter-input:focus{outline:none;border-color:#007cba;box-shadow:0 0 0 2px rgb(0 124 186 / .3);background-color:#333}.villa-filter-input::placeholder{color:#888}.villa-filter-buttons{display:flex;gap:10px;flex-wrap:wrap}.villa-filter-button{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all 0.3s ease;min-width:80px}.villa-filter-apply{background-color:#007cba;color:#fff}.villa-filter-apply:hover{background-color:#005a87;transform:translateY(-1px)}.villa-filter-clear{background-color:#6c757d;color:#fff}.villa-filter-clear:hover{background-color:#545b62;transform:translateY(-1px)}.villa-filter-loading{position:relative;opacity:.7;pointer-events:none}.villa-filter-loading::after{content:'';position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #f3f3f3;border-top:2px solid #007cba;border-radius:50%;animation:villa-filter-spin 1s linear infinite;z-index:1000}@keyframes villa-filter-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.villa-filter-status{position:absolute;top:-40px;left:0;right:0;background:#28a745;color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;text-align:center;box-shadow:0 2px 4px rgb(0 0 0 / .2);z-index:1000;display:none}.villa-filter-status::after{content:'';position:absolute;top:100%;left:20px;border:5px solid #fff0;border-top-color:#28a745}.villa-filter-hidden{display:none!important}.villa-filter-visible{display:block!important}.jet-filter-row .villa-availability-filter{margin-bottom:0}@media (max-width:768px){.villa-filter-form{flex-direction:column}.villa-filter-field{min-width:100%}.villa-filter-buttons{justify-content:stretch}.villa-filter-button{flex:1}.villa-filter-status{position:relative;top:0;margin-top:10px}.villa-filter-status::after{display:none}}.elementor-loop-item,.jet-listing-grid__item,.jet-listing-dynamic-item{transition:opacity 0.3s ease,transform 0.3s ease}.elementor-loop-item.villa-filter-hidden,.jet-listing-grid__item.villa-filter-hidden,.jet-listing-dynamic-item.villa-filter-hidden{opacity:0;transform:scale(.95)}.villa-filter-no-results{text-align:center;padding:40px 20px;color:#666;font-style:italic}.villa-filter-no-results::before{content:'🏖️';font-size:48px;display:block;margin-bottom:15px}.villa-filter-error{color:#dc3545;font-size:12px;margin-top:5px;display:none}.villa-filter-field.has-error .villa-filter-input{border-color:#dc3545}.villa-filter-field.has-error .villa-filter-error{display:block}.villa-filter-input.invalid{border-color:#dc3545;background-color:#fff5f5}.villa-filter-success{color:#28a745;font-size:12px;margin-top:5px;display:none}.villa-filter-field.has-success .villa-filter-success{display:block}