.perfection-booking-button{position:fixed;z-index:9998;transition:all 0.3s ease}.perfection-booking-button.right{right:20px}.perfection-booking-button.left{left:20px}.booking-floating-btn{background:#25D366;color:#fff;border:none;border-radius:50px;padding:12px 24px;font-size:14px;cursor:pointer;box-shadow:0 4px 15px rgb(0 0 0 / .2);display:flex;align-items:center;gap:8px;transition:all 0.3s ease;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif}.booking-floating-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgb(0 0 0 / .3)}.booking-icon{font-size:18px}.perfection-booking-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif}.booking-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgb(0 0 0 / .7);backdrop-filter:blur(5px)}.booking-modal-container{position:relative;background:#fff;width:95%;max-width:500px;max-height:90vh;margin:5vh auto;border-radius:15px;box-shadow:0 10px 40px rgb(0 0 0 / .3);display:flex;flex-direction:column;overflow:hidden}.modal-header{background:linear-gradient(135deg,#25D366,#128C7E);color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:18px;font-weight:600}.modal-close{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:opacity 0.3s}.modal-close:hover{opacity:.8}.modal-body{padding:20px;overflow-y:auto;flex-grow:1}.modal-footer{background:#f8f9fa;padding:20px;border-top:1px solid #eee}.form-section{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #eee}.form-section:last-child{border-bottom:none;margin-bottom:0}.form-section h3{color:#128C7E;margin-top:0;margin-bottom:15px;font-size:16px;display:flex;align-items:center;gap:8px}.form-row{display:flex;gap:15px;margin-bottom:15px}.form-row .form-group{flex:1}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border 0.3s;box-sizing:border-box;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#25D366;outline:none;box-shadow:0 0 0 3px rgb(37 211 102 / .1)}.form-group small{display:block;margin-top:5px;color:#666;font-size:12px}#serviceSearch{background:#f8f9fa;border-color:#25D366}.suggestions-box{position:absolute;background:#fff;border:1px solid #ddd;border-radius:8px;max-height:250px;overflow-y:auto;z-index:1000;width:100%;box-shadow:0 5px 15px rgb(0 0 0 / .1);margin-top:5px;display:none}.suggestion-item{padding:12px 15px;border-bottom:1px solid #eee;cursor:pointer;transition:background 0.3s}.suggestion-item:hover{background:#f0f7f0}.suggestion-item:last-child{border-bottom:none}.suggestion-item strong{color:#333;display:block;margin-bottom:5px}.suggestion-price{color:#25D366;font-weight:700;float:right}.suggestion-category{font-size:12px;color:#666;background:#f0f0f0;padding:2px 8px;border-radius:4px;display:inline-block;margin-top:5px}.selected-services h4{color:#333;margin:20px 0 10px;font-size:15px}.services-list{max-height:200px;overflow-y:auto;border:1px solid #eee;border-radius:8px;padding:10px;background:#f9f9f9;margin-bottom:15px}.empty-state{text-align:center;color:#666;padding:20px;font-size:14px}.service-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#fff;margin-bottom:8px;border-radius:6px;border:1px solid #eee}.service-item:last-child{margin-bottom:0}.service-info{flex-grow:1}.service-name{font-weight:500;color:#333;margin-bottom:5px}.service-price{color:#25D366;font-weight:700;font-size:14px}.service-actions{display:flex;align-items:center;gap:5px}.service-actions button{width:30px;height:30px;border:none;border-radius:4px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all 0.2s}.btn-decrease{background:#f44;color:#fff}.btn-increase{background:#25D366;color:#fff}.btn-remove{background:#f90;color:#fff;margin-left:5px}.service-quantity{min-width:30px;text-align:center;font-weight:700}.services-total{text-align:left;font-size:18px;padding:12px;background:#f0f7f0;border-radius:8px;border:2px solid #25D366}.services-total strong{color:#333}.location-actions{margin:15px 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all 0.3s;font-family:inherit}.button-secondary{background:#f8f9fa;color:#333;border:1px solid #ddd}.button-secondary:hover{background:#e9ecef}.button-primary{background:linear-gradient(135deg,#25D366,#128C7E);color:#fff}.button-primary:hover{background:linear-gradient(135deg,#128C7E,#0d6e5a);transform:translateY(-2px);box-shadow:0 5px 15px rgb(37 211 102 / .3)}.location-status{font-size:14px;padding:8px 12px;border-radius:6px;background:#f8f9fa;flex-grow:1}.mini-map{height:200px;width:100%;border-radius:8px;border:2px solid #25D366;margin-top:10px}.booking-summary{display:flex;justify-content:space-between;margin-bottom:15px;padding:15px;background:#fff;border-radius:8px;border:1px solid #eee}.summary-item{text-align:center}.summary-item span:first-child{display:block;color:#666;font-size:14px;margin-bottom:5px}.summary-item span:last-child{font-weight:700;color:#25D366;font-size:18px}.booking-actions{display:flex;gap:10px}@media (max-width:768px){.booking-modal-container{width:100%;height:100vh;max-height:100vh;margin:0;border-radius:0}.form-row{flex-direction:column;gap:0}.modal-body{padding:15px}.booking-actions{flex-direction:column}.button{width:100%}.booking-floating-btn{padding:10px 20px;font-size:13px}.booking-text{display:none}.perfection-booking-button{bottom:70px!important}}.message{padding:8px 15px;border-radius:6px;font-size:14px;display:none}.message.success{background:#d4edda;color:#155724;display:inline-block}.message.error{background:#f8d7da;color:#721c24;display:inline-block}.booking-modal-container{direction:rtl;text-align:right}.form-group input,.form-group select,.form-group textarea{text-align:right}.suggestion-item{text-align:right}