@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');:root{--primary-color:#3a7bd5;--primary-gradient:linear-gradient(135deg,#3a7bd5 0%,#00d2ff 100%);--primary-color-hover:#2d62aa;--secondary-color:#6c757d;--light-gray:#f8f9fa;--medium-gray:#dee2e6;--dark-gray:#343a40;--text-color:#212529;--border-color:#e0e0e0;--background-color:#fff;--success-color:#28a745;--error-color:#dc3545;--disabled-bg:#e9ecef;--disabled-text:#6c757d;--card-shadow:0 4px 6px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.1);--modal-shadow:0 10px 25px rgba(0,0,0,.1);--transition-base:all .3s ease;--font-family-sans-serif:'Poppins',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--border-radius:8px;--border-radius-sm:4px}body{font-family:var(--font-family-sans-serif);color:var(--text-color);line-height:1.6;margin:0;background-color:var(--light-gray)}.cleaning-booking-container{font-family:var(--font-family-sans-serif);max-width:1140px;margin:20px auto;padding:20px;background-color:var(--background-color);border-radius:var(--border-radius);box-shadow:var(--card-shadow)}.calendar-header-navbar{margin-bottom:30px}.calendar-step-nav{display:flex;flex-wrap:wrap;justify-content:space-between;position:relative;padding:0 10px}.calendar-step-nav:before{content:'';position:absolute;top:25px;left:0;right:0;height:2px;background-color:var(--medium-gray);z-index:1}.calendar-step-item{text-align:center;padding:0 5px;position:relative;flex-basis:20%;z-index:2;margin-bottom:15px;color:var(--secondary-color)}.calendar-step-item .step{display:flex;flex-direction:column;align-items:center}.step-num{display:flex;justify-content:center;align-items:center;width:50px;height:50px;border-radius:50%;background-color:var(--light-gray);color:var(--secondary-color);margin-bottom:8px;font-weight:600;transition:var(--transition-base);font-size:1rem;border:2px solid var(--medium-gray);box-shadow:0 2px 4px rgba(0,0,0,.1)}.step-title{display:block;font-size:13px;font-weight:500;transition:var(--transition-base)}.calendar-step-item.active .step-num{background:var(--primary-gradient);color:#fff;border-color:transparent;transform:scale(1.05)}.calendar-step-item.active .step-title{color:var(--primary-color);font-weight:600}.calendar-step-item.disabled{opacity:.7;cursor:not-allowed}.step-service{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:15px}.step-service li{border:1px solid var(--border-color);border-radius:var(--border-radius);padding:20px;cursor:pointer;position:relative;transition:var(--transition-base);background-color:var(--background-color);box-shadow:var(--card-shadow);overflow:hidden}.step-service li:hover{transform:translateY(-3px);box-shadow:0 6px 12px rgba(0,0,0,.1)}.step-service li.active{border-color:var(--primary-color);background-color:rgba(58,123,213,.05)}.step-service li.active:before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary-gradient)}.step-service li .info{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.step-service li .title{font-weight:600;font-size:1.1rem;color:var(--dark-gray)}.step-service li .price{font-size:.95rem;color:var(--secondary-color);padding:0;display:flex;align-items:center;gap:5px}.step-service li .price span:first-child{font-size:.85rem;opacity:.8}.step-service li .price.quote-price,.step-service li .price.free-price{font-weight:500;color:var(--primary-color)}.step-service li .price.quote-price span,.step-service li .price.free-price span{display:inline-block;background-color:rgba(58,123,213,.1);padding:6px 12px;border-radius:20px;font-size:.85rem}.step-service li .selected-icon{position:absolute;right:15px;top:15px;width:24px;height:24px;background:var(--primary-gradient);border-radius:50%;display:flex;justify-content:center;align-items:center;opacity:0;transition:var(--transition-base);transform:scale(0)}.step-service li.active .selected-icon{opacity:1;transform:scale(1)}.step-service li .selected-icon:after{content:'\2713';color:#fff;font-size:14px;font-weight:700}.booking-button-container{text-align:center;margin-top:30px}.book-now-button,#submit-booking,#close-confirmation{background:var(--primary-gradient);color:#fff;border:none;padding:12px 25px;font-size:.95rem;font-weight:500;cursor:pointer;border-radius:30px;transition:var(--transition-base);text-transform:uppercase;letter-spacing:.5px;display:inline-block;box-shadow:0 4px 6px rgba(58,123,213,.2)}.book-now-button:hover,#submit-booking:hover,#close-confirmation:hover{box-shadow:0 6px 10px rgba(58,123,213,.3);transform:translateY(-2px)}#submit-booking:disabled{background:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed;box-shadow:none;transform:none}.modal{display:none;position:fixed;z-index:1050;left:0;top:0;width:100%;height:100%;overflow-y:auto;background-color:rgba(0,0,0,.5);backdrop-filter:blur(3px)}.modal-content{background-color:var(--background-color);margin:5% auto;padding:30px;border-radius:var(--border-radius);width:90%;max-width:600px;position:relative;box-shadow:var(--modal-shadow);animation:modalFadeIn .4s ease-out}@keyframes modalFadeIn{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.modal-content h2,.modal-content h3{color:var(--dark-gray);margin-top:0;margin-bottom:20px;text-align:center;font-weight:600}.modal-content h2{font-size:1.5rem}.modal-content h3{font-size:1.2rem;color:var(--primary-color)}.close{position:absolute;right:15px;top:15px;width:30px;height:30px;background-color:var(--light-gray);border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:20px;font-weight:700;color:var(--secondary-color);cursor:pointer;transition:var(--transition-base)}.close:hover{background-color:var(--medium-gray);color:var(--dark-gray);transform:rotate(90deg)}#booking-calendar{margin:20px 0;border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--card-shadow)}.ui-datepicker{width:100% !important;padding:0;border:none;background:var(--background-color)}.ui-datepicker-header{background:var(--primary-gradient);color:#fff;border:none;border-radius:0;padding:12px 0;position:relative}.ui-datepicker-title{text-align:center;font-weight:600;font-size:1.1rem}.ui-datepicker-prev,.ui-datepicker-next{cursor:pointer;position:absolute;top:50%;transform:translateY(-50%);color:#fff;width:30px;height:30px;display:flex;justify-content:center;align-items:center;border-radius:50%;transition:var(--transition-base)}.ui-datepicker-prev{left:10px}.ui-datepicker-next{right:10px}.ui-datepicker-prev span,.ui-datepicker-next span{display:none}.ui-datepicker-prev:before{content:'←';font-size:1.1rem}.ui-datepicker-next:before{content:'→';font-size:1.1rem}.ui-datepicker-prev:hover,.ui-datepicker-next:hover{background-color:rgba(255,255,255,.2)}.ui-datepicker-calendar{width:100%;border-collapse:collapse}.ui-datepicker-calendar th{padding:10px 5px;text-align:center;font-weight:500;color:var(--primary-color);font-size:.9rem;border-bottom:1px solid var(--border-color)}.ui-datepicker-calendar td{padding:2px;text-align:center}.ui-datepicker-calendar .ui-state-default{background:var(--light-gray);border:1px solid transparent;color:var(--text-color);text-align:center;padding:10px 0;width:100%;display:block;border-radius:var(--border-radius-sm);transition:var(--transition-base);font-weight:500;font-size:.9rem}.ui-datepicker-calendar .ui-state-default:hover{background-color:rgba(58,123,213,.1);border-color:var(--primary-color)}.ui-datepicker-calendar .ui-state-active,.ui-datepicker-calendar .ui-state-highlight{background:var(--primary-gradient);color:#fff;border-color:transparent;box-shadow:0 2px 4px rgba(58,123,213,.3)}.ui-datepicker-calendar .ui-state-disabled .ui-state-default{background-color:var(--disabled-bg);color:var(--disabled-text);opacity:.7;cursor:not-allowed;border-color:transparent}#booking-time-slots{margin-top:30px;padding-top:20px;border-top:1px solid var(--border-color)}.time-slots-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin:15px 0}.time-slots-container.loading p,.time-slots-container p.error-message{grid-column:1/-1;text-align:center;color:var(--secondary-color);padding:15px;font-size:.9rem;background-color:var(--light-gray);border-radius:var(--border-radius)}.time-slots-container p.error-message{color:var(--error-color);background-color:rgba(220,53,69,.1)}.time-slot-button{padding:12px 8px;border:1px solid var(--border-color);background-color:var(--background-color);color:var(--text-color);cursor:pointer;border-radius:var(--border-radius);transition:var(--transition-base);font-weight:500;text-align:center;font-size:.9rem;box-shadow:0 2px 4px rgba(0,0,0,.05)}.time-slot-button.available:hover{background-color:rgba(58,123,213,.1);border-color:var(--primary-color);transform:translateY(-2px)}.time-slot-button.unavailable{background-color:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed;border-color:var(--medium-gray);opacity:.7;box-shadow:none}.time-slot-button.selected{background:var(--primary-gradient);color:#fff;border-color:transparent;font-weight:600;box-shadow:0 3px 6px rgba(58,123,213,.3)}#booking-details-form{margin-top:30px;border-top:1px solid var(--border-color);padding-top:25px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--dark-gray);font-size:.95rem}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel]{width:100%;padding:12px 15px;border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition-base);font-size:.95rem;box-sizing:border-box;background-color:var(--light-gray)}.form-group input:focus{border-color:var(--primary-color);outline:0;box-shadow:0 0 0 3px rgba(58,123,213,.2);background-color:#fff}.modal-content h2+p{font-size:1.1rem;text-align:center;margin-bottom:15px;color:var(--success-color);font-weight:500}.modal-content p{margin-bottom:10px;text-align:center;font-size:1rem}.confirmation-details{background-color:rgba(58,123,213,.1);border-radius:var(--border-radius);padding:20px;margin:20px 0;border-left:4px solid var(--primary-color)}.confirmation-details p{text-align:left;margin-bottom:8px;font-size:1rem}.confirmation-details strong{color:var(--primary-color);font-weight:600}@media (min-width:768px){.cleaning-booking-container{padding:30px}.calendar-step-nav:before{top:25px}.calendar-step-item{flex-basis:auto;flex-grow:1;margin-bottom:0}.step-service{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.step-service li{padding:25px}.step-service li .title{font-size:1.2rem}.time-slots-container{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.modal-content{padding:40px;max-width:700px}.modal-content h2{font-size:1.8rem}.modal-content h3{font-size:1.3rem}}@media (min-width:992px){.step-service{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.time-slots-container{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}.confirmation-details{color:#000}