.booking-wizard-page-container{background:#f6f2e9;justify-content:center;align-items:flex-start;min-height:calc(100vh - 70px);padding:100px 2rem 4rem;display:flex}.booking-wizard-page-content{width:100%;max-width:900px;box-shadow:none;background:#fbf9f3;border:1px solid #ddd6c6;border-radius:0;padding:0}.booking-wizard-overlay{z-index:9999;background:#14211f99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.booking-wizard-modal{background:#fbf9f3;border:1px solid #ddd6c6;border-radius:0;width:100%;max-width:700px;max-height:90vh;animation:.3s ease-out slideUp;position:relative;overflow-y:auto;box-shadow:0 8px 32px #14211f33}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.booking-wizard-close{cursor:pointer;color:#5f6b65;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.booking-wizard-close:hover{color:#14211f;background:#efeadc}.booking-wizard-header{border-bottom:1px solid #ddd6c6;padding:2rem 2rem 1.5rem}.booking-wizard-header h2{color:#14211f;text-align:center;margin:0 0 1.5rem;font-family:Lora,Georgia,serif;font-size:1.75rem;font-weight:500}.booking-wizard-progress{justify-content:center;align-items:center;gap:.5rem;display:flex}.progress-step{color:#9aa39d;background:#efeadc;border:2px solid #ddd6c6;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:600;transition:all .3s;display:flex}.progress-step.active{color:#f4f0e6;background:#0a4d4d;border-color:#0a4d4d}.progress-line{background:#ddd6c6;width:40px;height:2px;transition:all .3s}.progress-line.active{background:#0a4d4d}.booking-wizard-content{min-height:300px;padding:2rem}.booking-wizard-step h3{color:#14211f;margin:0 0 1.5rem;font-family:Lora,Georgia,serif;font-size:1.25rem;font-weight:500}.month-navigation{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.month-navigation h3{text-align:center;flex:1;margin:0}.month-nav-btn{cursor:pointer;background:#efeadc;border:1px solid #ddd6c6;border-radius:0;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.month-nav-btn:hover:not(:disabled){color:#fff;background:#0a4d4d;border-color:#0a4d4d}.month-nav-btn:hover:not(:disabled) svg{stroke:#fff}.month-nav-btn:disabled{opacity:.3;cursor:not-allowed}.helper-text{color:#5f6b65;background:#efeadc;border-left:3px solid #f93;border-radius:0;margin:.5rem 0;padding:.75rem;font-size:.9rem;line-height:1.5}.field-error{color:#b3261e;background:#f8e3e1;border-radius:0;margin-top:.5rem;padding:.5rem;font-size:.875rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#14211f;margin-bottom:.5rem;font-size:.95rem;font-weight:500;display:block}.form-group input,.form-group textarea{background:#fff;border:1px solid #ddd6c6;border-radius:0;width:100%;padding:.875rem;font-family:inherit;font-size:1rem;transition:all .2s}.form-group input:focus,.form-group textarea:focus{border-color:#0a4d4d;outline:none;box-shadow:0 0 0 3px #0a4d4d14}.date-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.75rem;display:grid}.date-option{cursor:pointer;text-align:center;background:#fff;border:1px solid #ddd6c6;border-radius:0;padding:1rem .5rem;transition:all .2s}.date-option:hover{background:#f4f0e6;border-color:#0a4d4d}.date-option.selected{color:#fff;background:#0a4d4d;border-color:#0a4d4d}.date-day{text-transform:uppercase;opacity:.7;margin-bottom:.25rem;font-size:.75rem}.date-number{margin-bottom:.25rem;font-size:1.5rem;font-weight:600}.date-month{opacity:.8;font-size:.85rem}.time-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.75rem;display:grid}.time-option{cursor:pointer;background:#fff;border:1px solid #ddd6c6;border-radius:0;padding:.875rem;font-size:.95rem;font-weight:500;transition:all .2s}.time-option:hover{background:#f4f0e6;border-color:#0a4d4d}.time-option.selected{color:#fff;background:#0a4d4d;border-color:#0a4d4d}.booking-summary{background:#efeadc;border-radius:0;margin-top:1.5rem;padding:1.5rem}.booking-summary h4{color:#14211f;margin:0 0 1rem;font-size:1.1rem}.summary-item{border-bottom:1px solid #ddd6c6;padding:.5rem 0;font-size:.95rem}.summary-item:last-child{border-bottom:none}.summary-item strong{color:#5f6b65;margin-right:.5rem}.status-message{text-align:center;border-radius:0;margin-top:1rem;padding:1rem;font-weight:500}.status-message.success{color:#0a4d4d;background:#e3ede8;border:1px solid #bfd6cd}.status-message.error{color:#8a241c;background:#f8e3e1;border:1px solid #e9c4c0}.booking-wizard-footer{border-top:1px solid #ddd6c6;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;display:flex}.booking-wizard-footer .btn-primary,.booking-wizard-footer .btn-secondary{cursor:pointer;border:1px solid;border-radius:0;padding:.875rem 2rem;font-size:1rem;font-weight:600;transition:all .3s}.booking-wizard-footer .btn-primary{color:#f4f0e6;background:#0a4d4d;border-color:#0a4d4d}.booking-wizard-footer .btn-primary:hover:not(:disabled){box-shadow:none;background:#073a3a;border-color:#073a3a;transform:translateY(-1px)}.booking-wizard-footer .btn-primary:disabled{cursor:not-allowed;opacity:.6;background:#c9c1ae;border-color:#c9c1ae}.booking-wizard-footer .btn-secondary{color:#0a4d4d;background:0 0;border-color:#0a4d4d}.booking-wizard-footer .btn-secondary:hover{color:#f4f0e6;background:#0a4d4d;border-color:#0a4d4d}@media (max-width:768px){.booking-wizard-page-container{padding:100px 1rem 4rem}.booking-wizard-modal{border-radius:0;max-width:100%;margin-top:auto}.booking-wizard-header,.booking-wizard-content,.booking-wizard-footer{padding:1.5rem}.booking-wizard-header h2{font-size:1.5rem}.progress-step{width:32px;height:32px;font-size:.875rem}.progress-line{width:20px}.date-grid{grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:.5rem}.time-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.5rem}.booking-wizard-footer{flex-direction:column-reverse}.booking-wizard-footer .btn-primary,.booking-wizard-footer .btn-secondary{width:100%}}
