.navbar-solid{background:rgba(0,0,0,.95);box-shadow:0 4px 30px rgba(0,0,0,.3);backdrop-filter:blur(20px)}.navbar-solid .logo,.navbar-solid .nav-menu a{color:#d4af37}.navbar-solid .burger-menu span{background:#d4af37}.booking-section{padding:100px 0 80px;background:linear-gradient(180deg,var(--bg-light) 0,#fff 50%,var(--bg-light) 100%);min-height:100vh}.booking-header{text-align:center;margin-bottom:40px}.booking-title{font-family:'Outfit',serif;font-size:48px;font-weight:700;color:var(--primary-color);margin-bottom:15px}.booking-subtitle{font-size:18px;color:var(--text-light);font-weight:300}.booking-stepper{display:flex;align-items:center;justify-content:center;margin-bottom:60px;max-width:800px;margin-left:auto;margin-right:auto}.step{display:flex;flex-direction:column;align-items:center;gap:10px;position:relative}.step-number{width:50px;height:50px;border-radius:50%;background:var(--bg-white);border:2px solid #e0e0e0;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;color:var(--text-light);transition:.3s}.step.active .step-number,.step.completed .step-number{background:linear-gradient(135deg,rgba(184,137,59,.1) 0,rgba(244,228,193,.1) 100%);border-color:#d4af37;color:#b8941f;box-shadow:0 4px 12px rgba(184,137,59,.2)}.step-label{font-size:14px;color:var(--text-light);font-weight:500;transition:.3s}.step.active .step-label,.step.completed .step-label{color:var(--text-dark);font-weight:600}.step.clickable{cursor:pointer}.step.clickable:hover .step-number{transform:scale(1.05);box-shadow:0 2px 10px rgba(184,137,59,.3)}.step.clickable:hover .step-label{color:#b8941f}.step-line{flex:1;height:2px;background:#e0e0e0;margin:0 15px;position:relative;top:-15px}.step.completed~.step-line{background:var(--primary-color)}.booking-form{max-width:900px;margin:0 auto;background:var(--bg-white);border-radius:24px;padding:50px;box-shadow:var(--shadow-lg)}.booking-step{display:none}.booking-step.active{display:block;animation:.5s fadeIn}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.step-title{font-family:'Outfit',serif;font-size:32px;font-weight:700;color:var(--primary-color);margin-bottom:40px;text-align:center}.prestation-type-selector{display:flex;justify-content:center;gap:20px;margin-bottom:40px}.type-btn{padding:15px 40px;border:2px solid #e0e0e0;background:var(--bg-white);color:var(--text-dark);font-family:Inter,sans-serif;font-size:16px;font-weight:500;cursor:pointer;border-radius:50px;transition:.3s}.type-btn:hover{border-color:var(--primary-color);transform:translateY(-2px)}.type-btn.active{background:linear-gradient(135deg,rgba(184,137,59,.1) 0,rgba(244,228,193,.1) 100%);border-color:#d4af37;color:#b8941f;box-shadow:0 4px 12px rgba(184,137,59,.2)}.prestation-section-title{font-family:'Outfit',serif;font-size:24px;font-weight:600;color:var(--text-dark);margin-bottom:20px;margin-top:40px}.prestation-section-title:first-of-type{margin-top:0}.prestations-list{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.prestation-card{background:var(--bg-white);border:2px solid #e0e0e0;border-radius:16px;padding:20px;cursor:pointer;transition:.3s;display:flex;justify-content:space-between;align-items:center}.prestation-card:hover{border-color:var(--primary-color);transform:translateX(5px);box-shadow:var(--shadow-md)}.prestation-card.selected{border-color:var(--primary-color);background:rgba(184,137,59,.04)}.prestation-info{flex:1}.prestation-name{font-size:18px;font-weight:600;color:var(--text-dark);margin-bottom:5px}.prestation-description{font-size:14px;color:var(--text-light);margin-bottom:5px}.prestation-duration{font-size:13px;color:var(--text-lighter)}.prestation-price{font-size:24px;font-weight:700;color:var(--primary-color);margin-right:20px}.prestation-quantity{display:flex;align-items:center;gap:15px}.quantity-btn{width:35px;height:35px;border:2px solid var(--primary-color);background:var(--bg-white);color:var(--primary-color);border-radius:50%;cursor:pointer;transition:.3s;font-size:20px;display:flex;align-items:center;justify-content:center}.quantity-btn:hover{background:var(--primary-color);color:var(--bg-white)}.quantity-value{font-weight:600;font-size:18px;color:var(--text-dark);min-width:30px;text-align:center}.date-time-container{display:flex;flex-direction:column;gap:40px;margin-bottom:40px}.calendar-container{background:var(--bg-light);border-radius:16px;padding:25px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.calendar-month{font-family:'Outfit',serif;font-size:24px;font-weight:700;color:var(--primary-color);text-transform:capitalize;margin:0}.calendar-nav-btn{width:40px;height:40px;border-radius:50%;border:2px solid var(--primary-color);background:var(--bg-white);color:var(--primary-color);font-size:24px;cursor:pointer;transition:.3s;display:flex;align-items:center;justify-content:center;padding:0}.calendar-nav-btn:hover{background:var(--gradient-primary);color:#1a1a1a;transform:scale(1.1)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px}.calendar-weekday{text-align:center;font-size:13px;font-weight:600;color:var(--text-light);padding:8px;text-transform:uppercase}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:12px;border:2px solid transparent;background:var(--bg-white);color:var(--text-dark);font-size:15px;font-weight:500;cursor:pointer;transition:.3s}.calendar-day:not(.empty):not(.past):hover{border-color:var(--primary-color);background:linear-gradient(135deg,rgba(184,137,59,.1) 0,transparent 100%);transform:scale(1.05)}.calendar-day.empty{background:0 0;cursor:default}.calendar-day.past{color:#ccc;cursor:not-allowed;opacity:.5}.calendar-day.today{border-color:var(--secondary-color);font-weight:700}.calendar-day.selected{background:linear-gradient(135deg,rgba(184,137,59,.1) 0,rgba(244,228,193,.1) 100%);border-color:#d4af37;color:#b8941f;font-weight:700}.time-slots-title{font-family:'Outfit',serif;font-size:22px;font-weight:700;color:var(--primary-color);margin-bottom:8px}.time-slots-subtitle{font-size:14px;color:#666;margin-bottom:20px;font-style:italic}.time-slots-hint{font-size:14px;color:var(--text-light);margin-bottom:20px}.time-slots-grid{display:flex;flex-direction:column;gap:25px}.date-timeslots-block{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.date-timeslots-title{font-family:'Outfit',serif;font-size:18px;font-weight:600;color:var(--primary-color);margin-bottom:15px;text-transform:capitalize}.time-slots-grid-date{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px}.time-slot{padding:12px 16px;border:1.5px solid #e5e7eb;border-radius:10px;background:var(--bg-white);color:var(--text-dark);font-size:14px;font-weight:500;cursor:pointer;transition:.2s;text-align:center}.time-slot:hover:not(.past):not(.selected){border-color:#d4af37;background:rgba(184,137,59,.05)}.time-slot.selected{background:linear-gradient(135deg,rgba(184,137,59,.1) 0,rgba(244,228,193,.1) 100%);border-color:#d4af37;color:#b8941f;font-weight:600}.time-slot.past{opacity:.4;cursor:not-allowed;background:#f9fafb;border-color:#e5e7eb;color:#9ca3af}.contact-form{margin-bottom:40px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.form-group label{font-size:14px;font-weight:500;color:var(--text-dark)}.form-control{padding:14px 18px;border:2px solid #e0e0e0;border-radius:12px;font-size:15px;font-family:Inter,sans-serif;transition:.3s;background:var(--bg-white)}.form-control:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(184,137,59,.1)}.form-control::placeholder{color:var(--text-lighter)}textarea.form-control{resize:vertical;min-height:100px}.address-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--bg-white);border:2px solid var(--primary-color);border-radius:12px;margin-top:5px;max-height:200px;overflow-y:auto;box-shadow:var(--shadow-lg);z-index:100;display:none}.address-suggestions.active{display:block}.address-suggestion{padding:12px 16px;cursor:pointer;transition:background .2s;border-bottom:1px solid #f0f0f0}.address-suggestion:last-child{border-bottom:none}.address-suggestion:hover{background:linear-gradient(135deg,rgba(184,137,59,.05) 0,rgba(244,228,193,.05) 100%)}.booking-summary{margin-bottom:40px}.summary-section{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.summary-section:last-of-type{border-bottom:none}.summary-section h3{font-family:'Outfit',serif;font-size:20px;font-weight:600;color:var(--primary-color);margin-bottom:15px}.summary-item{display:flex;justify-content:space-between;align-items:start;padding:10px 0;color:var(--text-dark)}.summary-item div{line-height:1.6}.summary-total{background:rgba(184,137,59,.04);border-radius:16px;padding:30px;text-align:center}.summary-total h3{font-family:'Outfit',serif;font-size:20px;font-weight:600;color:var(--text-dark);margin-bottom:15px}.total-amount{font-family:'Outfit',serif;font-size:48px;font-weight:700;color:#b8941f;margin-bottom:10px}.total-hint{font-size:13px;color:var(--text-light);font-style:italic}.error-message{background:#fee;border:1px solid #fcc;color:#c00;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;font-weight:500}.field-error{color:#dc2626;font-size:11px;margin-top:-4px;display:block;font-weight:500}.form-control.has-error{border-color:#dc2626}.form-control.has-error:focus{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.1)}.form-group{position:relative}.input-loader{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;border:2px solid rgba(184,137,59,.2);border-radius:50%;border-top-color:#d4af37;animation:.8s linear infinite spin;display:none}.input-loader.active{display:block}.button-loader{display:inline-block;width:24px;height:24px;border:3px solid rgba(184,137,59,.2);border-radius:50%;border-top-color:#d4af37;animation:.8s linear infinite spin;vertical-align:middle}.btn-primary:disabled{opacity:.7;cursor:not-allowed}@keyframes spin{to{transform:rotate(360deg)}}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;align-items:center;justify-content:center}.modal.active{display:flex}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.2);backdrop-filter:blur(2px)}.success-modal{position:relative;background:#fff;border-radius:24px;padding:50px 40px;max-width:500px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,.3);text-align:center;animation:.4s modalSlideIn}@keyframes modalSlideIn{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.success-icon{width:80px;height:80px;margin:0 auto 30px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:48px;color:#1a1a1a;font-weight:700}.success-title{font-family:'Outfit',serif;font-size:28px;font-weight:700;color:var(--text-dark);margin-bottom:20px}.success-message{font-size:16px;color:var(--text-dark);line-height:1.6;margin-bottom:15px}.success-submessage{font-size:14px;color:var(--text-light);line-height:1.6;margin-bottom:30px}.btn-modal-close{padding:16px 40px;font-size:16px}.form-actions{display:flex;justify-content:space-between;gap:20px;margin-top:40px}.form-actions .btn{min-width:300px;padding:18px 40px}.form-actions .btn-prev{margin-right:auto}.form-actions .btn-next,.form-actions .btn-submit{margin-left:auto}#step1 .form-actions{justify-content:flex-end}.btn-outline{background:#fff;color:#b8941f;border:1.5px solid #d4af37}.btn-outline:hover{background:rgba(184,137,59,.05);border-color:#b8941f;color:#9a7c1a}@media (max-width:968px){.booking-section{padding:80px 0 60px}.booking-header{margin-bottom:30px}.booking-form{padding:30px 20px}.booking-title{font-size:36px}.booking-stepper{overflow-x:auto;padding-bottom:10px;margin-bottom:40px}.step-label{font-size:12px}.form-row{grid-template-columns:1fr}.prestations-grid{max-height:400px}.prestation-card{flex-direction:column;align-items:flex-start;gap:15px}.prestation-quantity{width:100%;justify-content:center}.prestation-price{margin-right:0}.calendar-month{font-size:20px}.calendar-nav-btn{width:36px;height:36px;font-size:20px}.calendar-weekday{font-size:11px;padding:6px}.calendar-day{font-size:14px}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:10px}.time-slots-grid-date{grid-template-columns:repeat(4,1fr);gap:10px}.time-slot{padding:10px 12px;font-size:13px}.form-actions{flex-direction:row;gap:10px}.form-actions .btn{min-width:auto;padding:14px 20px;font-size:14px;flex:1}#step1 .form-actions{flex-direction:column}#step1 .form-actions .btn{width:100%;flex:none}}@media (max-width:480px){.booking-title{font-size:28px}.step-title{font-size:24px}.step-number{width:40px;height:40px;font-size:16px;min-width:40px}.type-btn{padding:12px 24px;font-size:14px}.prestation-name{font-size:16px}.prestation-price{font-size:20px}.calendar-container{padding:15px}.date-timeslots-block{padding:12px}.calendar-month{font-size:18px}.calendar-nav-btn{width:32px;height:32px;font-size:18px}.calendar-weekday{font-size:10px;padding:4px}.calendar-day{font-size:13px;border-radius:8px}.time-slots-title{font-size:18px}.time-slots-subtitle{font-size:13px}.time-slots-hint{font-size:12px}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:12px}.time-slots-grid-date{grid-template-columns:repeat(4,1fr);gap:6px}.time-slot{padding:6px 4px;font-size:11px;border-radius:6px}.total-amount{font-size:36px}}