.ba-search-container{max-width:1200px;margin:40px auto;padding:0 20px}.ba-search-form-wrapper{background:#fff;padding:40px;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);margin-bottom:40px}.ba-search-title{text-align:center;color:#333;margin:0 0 10px;font-size:32px}.ba-search-subtitle{text-align:center;color:#666;margin:0 0 30px;font-size:16px}.ba-search-form{width:100%}.ba-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.ba-form-group{display:flex;flex-direction:column}.ba-form-group label{font-weight:700;margin-bottom:8px;color:#333;display:flex;align-items:center;gap:5px}.ba-form-group label .dashicons{color:#0073aa;font-size:18px;padding-left:10px !important}.ba-form-group select,.ba-form-group input[type=number],.ba-form-group input[type=text],.ba-form-group input[type=email]{padding:12px;border:2px solid #ddd;border-radius:6px;font-size:15px;transition:border-color .3s}.ba-form-group select:focus,.ba-form-group input:focus{outline:none;border-color:#0073aa}.ba-form-group select:disabled{background:#f5f5f5;cursor:not-allowed}.ba-form-actions{text-align:center}.ba-btn{padding:15px 40px;font-size:18px;font-weight:700;border:none;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:all .3s}.ba-btn-primary{background:#0073aa;color:#fff}.ba-btn-primary:hover{background:#005a87;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,115,170,.3)}.ba-btn .dashicons{font-size:20px}.ba-btn-book{padding:12px 30px;background:#0073aa;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s}.ba-btn-book:hover{background:#005a87;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,115,170,.3)}.ba-btn-large{padding:18px 50px;font-size:18px}.ba-loading{text-align:center;padding:40px;color:#666}.ba-spinner{border:4px solid #f3f3f3;border-top:4px solid #0073aa;border-radius:50%;width:50px;height:50px;animation:ba-spin 1s linear infinite;margin:0 auto 20px}@keyframes ba-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.ba-search-results{margin-top:40px}.ba-results-container{margin-top:40px}.ba-results-header{background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.1);margin-bottom:30px}.ba-results-header h2{margin:0 0 15px;color:#333}.ba-search-info{background:#f0f8ff;padding:15px;border-radius:8px;border-left:4px solid #0073aa}.ba-search-info p{margin:0;line-height:1.8}.ba-results-list{display:flex;flex-direction:column;gap:30px}.ba-villa-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.1);overflow:hidden;transition:transform .3s,box-shadow .3s}.ba-villa-card:hover{transform:translateY(-5px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.ba-villa-header{display:grid;grid-template-columns:300px 1fr;gap:30px;padding:30px;border-bottom:1px solid #f0f0f0}.ba-villa-image{width:100%;height:200px;background-size:cover;background-position:center;border-radius:8px}.ba-villa-image.ba-no-image{background:#f0f0f0;display:flex;align-items:center;justify-content:center}.ba-villa-image.ba-no-image .dashicons{font-size:80px;color:#ddd}.ba-villa-info h3{margin:0 0 10px;color:#0073aa;font-size:24px}.ba-villa-excerpt{color:#666;line-height:1.6;margin:0 0 10px}.ba-gallery-info{color:#999;font-size:14px;margin-top:10px}.ba-gallery-info .dashicons{vertical-align:middle}.ba-accommodations-list{padding:20px 30px 30px}.ba-accommodation-item{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#f9f9f9;border-radius:8px;margin-bottom:15px;transition:all .3s}.ba-accommodation-item:hover{background:#f0f8ff;transform:translateX(5px)}.ba-accommodation-item:last-child{margin-bottom:0}.ba-accommodation-info h4{margin:0 0 10px;color:#333;font-size:18px}.ba-accommodation-details{display:flex;gap:20px;color:#666;font-size:14px}.ba-accommodation-details span{display:flex;align-items:center;gap:5px}.ba-accommodation-details .dashicons{color:#0073aa}.ba-accommodation-price{display:flex;align-items:center;gap:20px}.ba-price-amount{text-align:right}.ba-price-value{display:block;font-size:28px;font-weight:700;color:#0073aa}.ba-price-label{display:block;font-size:12px;color:#999}.ba-no-results,.ba-error{background:#fff;padding:60px 40px;border-radius:12px;text-align:center;color:#666;box-shadow:0 2px 10px rgba(0,0,0,.1)}.ba-no-results .dashicons{font-size:80px;color:#f0ad4e;opacity:.5}.ba-no-results h3{margin:20px 0 10px;color:#333;font-size:24px}.ba-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.ba-modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.6);overflow-y:auto}.ba-modal-content{background:#fff;margin:50px auto;padding:0;width:90%;max-width:800px;border-radius:12px;position:relative;animation:ba-modal-slide-in .3s}@keyframes ba-modal-slide-in{from{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.ba-modal-close{position:absolute;top:15px;right:20px;font-size:32px;font-weight:700;color:#999;cursor:pointer;z-index:10;line-height:1}.ba-modal-close:hover{color:#333}.ba-booking-form{padding:40px}.ba-booking-form h2{margin:0 0 25px;color:#333;font-size:28px;border-bottom:2px solid #0073aa;padding-bottom:15px}.ba-booking-summary{background:#f0f8ff;padding:20px;border-radius:8px;margin-bottom:30px;border-left:4px solid #0073aa}.ba-booking-summary h3{margin:0 0 15px;color:#0073aa;font-size:18px}.ba-summary-table{width:100%;border-collapse:collapse}.ba-summary-table td{padding:8px 0;border-bottom:1px solid #ddd}.ba-summary-table td:first-child{width:150px;padding-left:15px !important}.ba-summary-table td:last-child{padding-left:15px !important}.ba-summary-table tr:last-child td{border-bottom:none}.ba-summary-highlight{background:#e8f4f8}.ba-summary-highlight td{padding:12px 25px !important;font-size:18px}.ba-form-section{margin-bottom:30px;padding-bottom:30px;border-bottom:1px solid #f0f0f0}.ba-form-section:last-of-type{border-bottom:none}.ba-form-section h3{margin:0 0 20px;color:#333;font-size:20px}.ba-booking-form .ba-form-group input[type=text],.ba-booking-form .ba-form-group input[type=email],.ba-booking-form .ba-form-group input[type=tel]{padding:12px 15px !important}.ba-transport-options,.ba-payment-options{display:flex;flex-direction:column;gap:15px}.ba-radio-option{display:block;padding:15px;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .3s}.ba-radio-option:hover{border-color:#0073aa;background:#f9f9f9}.ba-radio-option input[type=radio]{margin-right:10px}.ba-radio-option input[type=radio]:checked+.ba-radio-label{color:#0073aa}.ba-radio-label{display:flex;align-items:flex-start;gap:10px;flex:1}.ba-radio-label .dashicons{font-size:24px;margin-top:2px}.ba-radio-label strong{display:block;margin-bottom:5px}.ba-option-desc{display:block;font-size:13px;color:#666;font-weight:400}.ba-total-price{background:#f9f9f9;padding:25px;border-radius:8px;margin:30px 0}.ba-price-breakdown{display:flex;flex-direction:column;gap:12px}.ba-price-row{display:flex;justify-content:space-between;padding:10px 20px;border-bottom:1px solid #ddd}.ba-price-row:last-child{border-bottom:none}.ba-total-row{font-size:20px;padding-top:15px;border-top:2px solid #0073aa;color:#0073aa}#ba-form-message{margin-top:20px;padding:15px;border-radius:6px}.ba-message-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.ba-message-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@media (max-width:768px){.ba-search-form-wrapper{padding:20px}.ba-search-title{font-size:24px}.ba-form-row{grid-template-columns:1fr}.ba-villa-header{grid-template-columns:1fr}.ba-accommodation-item{flex-direction:column;text-align:center;gap:20px}.ba-accommodation-price{flex-direction:column;width:100%}.ba-btn-book{width:100%}.ba-booking-form{padding:20px}.ba-summary-table td:first-child{width:120px;font-size:14px;padding-left:10px}.ba-modal-content{width:95%;margin:20px auto}}@media (max-width:480px){.ba-search-title{font-size:20px}.ba-search-subtitle{font-size:14px}.ba-btn{padding:12px 30px;font-size:16px}.ba-accommodation-details{flex-direction:column;gap:10px}.ba-price-value{font-size:24px}}