:root{--ms-black: var(--void);--ms-ivory: var(--cream);--ms-gold: var(--gold);--ms-gold-soft: var(--gold-pale);--ms-muted: var(--muted);--ms-border: var(--line);--ms-glow: rgba(243, 193, 93, .15);--ms-red: #e74c3c;--ms-booking-surface: var(--option-bg);--ms-booking-muted: var(--muted-bg);--ms-booking-border: var(--soft-line);--ms-booking-border-2: var(--line);--ms-booking-border-3: rgba(243, 193, 93, .24);--ms-booking-row-border: var(--soft-line);--ms-booking-control-bg: var(--input-bg);--ms-booking-input-bg: var(--input-bg);--ms-booking-faint: rgba(243, 193, 93, .35);--ms-booking-faint-2: rgba(243, 193, 93, .18);--ms-gold-tint-5: rgba(243, 193, 93, .05);--ms-gold-tint-10: rgba(243, 193, 93, .1);--ms-gold-tint-15: rgba(243, 193, 93, .15);--ms-gold-tint-20: rgba(243, 193, 93, .2);--ms-green-bg: rgba(34, 197, 94, .1);--ms-green-bg-hover: rgba(34, 197, 94, .2);--ms-green-border: rgba(34, 197, 94, .2);--ms-green-border-hover: rgba(34, 197, 94, .4);--ms-green-label: rgba(34, 197, 94, .7);--ms-purple: #a855f7;--ms-purple-tint: rgba(168, 85, 247, .1);--ms-purple-border: rgba(168, 85, 247, .2);--ms-purple-label: rgba(168, 85, 247, .7);--ms-error: #e74c3c;--ms-error-bg: rgba(231, 76, 60, .1);--ms-error-border: rgba(231, 76, 60, .2);--ms-success: #22c55e;--ms-success-bg: rgba(34, 197, 94, .1);--ms-success-border: rgba(34, 197, 94, .2);--ms-info: #3b82f6;--ms-info-bg: rgba(59, 130, 246, .1);--ms-info-border: rgba(59, 130, 246, .2)}.ritual-booking .booking-container{max-width:900px;margin:0 auto;padding:2rem 1rem}.ritual-booking .booking-steps{display:flex;justify-content:center;gap:.5rem;margin-bottom:3rem}.ritual-booking .booking-step{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:9999px;font-size:.8rem;font-weight:500;color:var(--ms-muted);background:var(--ms-booking-surface);border:1px solid var(--ms-booking-border);transition:all .3s ease}.ritual-booking .booking-step.active{color:var(--ms-gold);background:var(--ms-gold-tint-10);border-color:var(--ms-border)}.ritual-booking .booking-step.completed{color:var(--ms-ivory);background:var(--ms-gold-tint-15);border-color:var(--ms-gold)}.ritual-booking .booking-step-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.75rem;font-weight:700;background:var(--ms-booking-border-3);color:var(--ms-muted);flex-shrink:0}.ritual-booking .booking-step.active .booking-step-number,.ritual-booking .booking-step.completed .booking-step-number{background:var(--ms-gold);color:var(--ms-black)}.ritual-booking .booking-step-content{display:none}.ritual-booking .booking-step-content.active{display:block;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ritual-booking .booking-section-title{font-family:Cinzel,Georgia,serif;font-size:1.5rem;color:var(--ms-gold);text-align:center;margin-bottom:.5rem}.ritual-booking .booking-section-subtitle{text-align:center;color:var(--ms-muted);font-size:.9rem;margin-bottom:2rem}.ritual-booking .booking-products{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:768px){.ritual-booking .booking-products{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.ritual-booking .booking-products{grid-template-columns:1fr}}.ritual-booking .booking-product-card{background:var(--ms-booking-surface);border:1px solid var(--ms-booking-border-2);border-radius:1rem;padding:1.5rem;text-align:center;cursor:pointer;transition:all .3s ease;position:relative}.ritual-booking .booking-product-card:hover{background:var(--ms-gold-tint-5);border-color:var(--ms-border);transform:translateY(-2px)}.ritual-booking .booking-product-card.selected{border-color:var(--ms-gold);background:var(--ms-gold-tint-10);box-shadow:0 0 20px var(--ms-glow)}.ritual-booking .booking-product-card.featured{border-color:var(--ms-gold);background:var(--ms-gold-tint-5)}.ritual-booking .booking-product-icon{width:64px;height:64px;margin:0 auto 1rem;object-fit:contain}.ritual-booking .booking-product-name{font-family:Cinzel,Georgia,serif;font-size:1rem;color:var(--ms-ivory);margin-bottom:.5rem;line-height:1.3}.ritual-booking .booking-product-desc{font-size:.8rem;color:var(--ms-muted);margin-bottom:1rem;line-height:1.5}.ritual-booking .booking-product-price{font-family:Cinzel,Georgia,serif;font-size:1.25rem;color:var(--ms-gold);font-weight:600}.ritual-booking .booking-product-badge{position:absolute;top:-.5rem;right:-.5rem;background:var(--ms-gold);color:var(--ms-black);font-size:.65rem;font-weight:700;padding:.2rem .6rem;border-radius:9999px;text-transform:uppercase}.ritual-booking .booking-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.ritual-booking .booking-calendar-title{font-family:Cinzel,Georgia,serif;font-size:1.1rem;color:var(--ms-gold)}.ritual-booking .booking-calendar-nav{display:flex;gap:.5rem}.ritual-booking .booking-calendar-nav button{background:var(--ms-booking-control-bg);border:1px solid var(--ms-booking-border-3);color:var(--ms-muted);padding:.4rem .8rem;border-radius:.5rem;cursor:pointer;font-size:.8rem;transition:all .2s}.ritual-booking .booking-calendar-nav button:hover{background:var(--ms-gold-tint-10);border-color:var(--ms-border);color:var(--ms-gold)}.ritual-booking .booking-calendar-nav button:disabled{opacity:.3;cursor:not-allowed}.ritual-booking .booking-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:1rem}.ritual-booking .booking-calendar-day-header{text-align:center;font-size:.75rem;color:var(--ms-muted);padding:.5rem 0;font-weight:600;text-transform:uppercase}.ritual-booking .booking-calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:.5rem;font-size:.85rem;color:var(--ms-ivory);background:var(--ms-booking-surface);cursor:default;transition:all .2s;position:relative;min-height:60px}.ritual-booking .booking-calendar-day.available{cursor:pointer;background:var(--ms-green-bg);border:1px solid var(--ms-green-border)}.ritual-booking .booking-calendar-day.available:hover{background:var(--ms-green-bg-hover);border-color:var(--ms-green-border-hover);transform:scale(1.05)}.ritual-booking .booking-calendar-day.selected{background:var(--ms-gold-tint-20);border:2px solid var(--ms-gold);transform:scale(1.05)}.ritual-booking .booking-calendar-day.booked{background:var(--ms-booking-muted);color:var(--ms-booking-faint);text-decoration:line-through}.ritual-booking .booking-calendar-day.cleansing{background:var(--ms-purple-tint);border:1px solid var(--ms-purple-border);color:var(--ms-purple);cursor:help}.ritual-booking .booking-calendar-day.other-month{color:var(--ms-booking-faint-2)}.ritual-booking .booking-calendar-day .day-number{font-weight:600;font-size:.9rem}.ritual-booking .booking-calendar-day .day-label{font-size:.6rem;margin-top:2px;text-align:center;line-height:1.1}.ritual-booking .booking-calendar-day.available .day-label{color:var(--ms-green-label)}.ritual-booking .booking-calendar-day.cleansing .day-label{color:var(--ms-purple-label)}.ritual-booking .booking-form{max-width:600px;margin:0 auto}.ritual-booking .booking-form-group{margin-bottom:1.5rem}.ritual-booking .booking-form-label{display:block;font-size:.85rem;color:var(--ms-ivory);margin-bottom:.5rem;font-weight:500}.ritual-booking .booking-form-label .required{color:var(--ms-red);margin-left:2px}.ritual-booking .booking-form-input,.ritual-booking .booking-form-textarea{width:100%;background:var(--ms-booking-input-bg);border:1px solid var(--ms-booking-border-3);border-radius:.75rem;padding:.75rem 1rem;color:var(--ms-ivory);font-size:.9rem;font-family:Inter,system-ui,sans-serif;transition:all .2s;outline:none}.ritual-booking .booking-form-input:focus,.ritual-booking .booking-form-textarea:focus{border-color:var(--ms-gold);background:var(--ms-gold-tint-5);box-shadow:0 0 15px var(--ms-glow)}.ritual-booking .booking-form-input.error,.ritual-booking .booking-form-textarea.error{border-color:var(--ms-red)}.ritual-booking .booking-form-textarea{min-height:100px;resize:vertical}.ritual-booking .booking-form-error{font-size:.75rem;color:var(--ms-error);margin-top:.3rem}.ritual-booking .booking-form-checkbox{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;cursor:pointer}.ritual-booking .booking-form-checkbox input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--ms-gold);flex-shrink:0}.ritual-booking .booking-form-checkbox label{font-size:.85rem;color:var(--ms-muted);cursor:pointer;line-height:1.5}.ritual-booking .booking-form-checkbox label a{color:var(--ms-gold);text-decoration:underline}.ritual-booking .booking-buttons{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.ritual-booking .booking-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;border-radius:.75rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;border:none;font-family:Inter,system-ui,sans-serif}.ritual-booking .booking-btn-primary{background:linear-gradient(135deg,var(--ms-gold),var(--ms-gold-soft));color:var(--ms-black)}.ritual-booking .booking-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 20px var(--ms-glow)}.ritual-booking .booking-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.ritual-booking .booking-btn-secondary{background:var(--ms-booking-control-bg);color:var(--ms-muted);border:1px solid var(--ms-booking-border-3)}.ritual-booking .booking-btn-secondary:hover{background:var(--ms-booking-border-3);color:var(--ms-ivory)}.ritual-booking .booking-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--ms-booking-faint);border-top-color:var(--ms-gold);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ritual-booking .booking-message{padding:1rem 1.5rem;border-radius:.75rem;margin-bottom:1.5rem;font-size:.9rem;text-align:center}.ritual-booking .booking-message.error{background:var(--ms-error-bg);border:1px solid var(--ms-error-border);color:var(--ms-error)}.ritual-booking .booking-message.success{background:var(--ms-success-bg);border:1px solid var(--ms-success-border);color:var(--ms-success)}.ritual-booking .booking-message.info{background:var(--ms-info-bg);border:1px solid var(--ms-info-border);color:var(--ms-info)}.ritual-booking .booking-summary{background:var(--ms-booking-surface);border:1px solid var(--ms-booking-border-2);border-radius:1rem;padding:1.5rem;margin-bottom:2rem}.ritual-booking .booking-summary-title{font-family:Cinzel,Georgia,serif;font-size:1.1rem;color:var(--ms-gold);margin-bottom:1rem}.ritual-booking .booking-summary-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--ms-booking-row-border);font-size:.9rem}.ritual-booking .booking-summary-row:last-child{border-bottom:none}.ritual-booking .booking-summary-label{color:var(--ms-muted)}.ritual-booking .booking-summary-value{color:var(--ms-ivory);font-weight:500}.ritual-booking .booking-summary-total{font-family:Cinzel,Georgia,serif;font-size:1.3rem;color:var(--ms-gold);font-weight:700;padding-top:.75rem;border-top:2px solid var(--ms-border);margin-top:.5rem}.ritual-booking .booking-result{text-align:center;padding:3rem 1rem;max-width:600px;margin:0 auto}.ritual-booking .booking-result-icon{font-size:4rem;margin-bottom:1.5rem}.ritual-booking .booking-result-title{font-family:Cinzel,Georgia,serif;font-size:2rem;color:var(--ms-gold);margin-bottom:1rem}.ritual-booking .booking-result-text{color:var(--ms-muted);font-size:1rem;line-height:1.8;margin-bottom:2rem}.ritual-booking .booking-result-details{background:var(--ms-booking-surface);border:1px solid var(--ms-booking-border-2);border-radius:1rem;padding:1.5rem;margin-bottom:2rem;text-align:left}.ritual-booking .booking-result-details .detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--ms-booking-row-border);font-size:.9rem}.ritual-booking .booking-result-details .detail-row:last-child{border-bottom:none}.ritual-booking .booking-result-details .detail-label{color:var(--ms-muted)}.ritual-booking .booking-result-details .detail-value{color:var(--ms-ivory);font-weight:500}@media(max-width:768px){.ritual-booking .booking-container{padding:1rem .75rem}.ritual-booking .booking-steps{gap:.25rem}.ritual-booking .booking-step{padding:.4rem .6rem;font-size:.7rem}.ritual-booking .booking-step-text{display:none}.ritual-booking .booking-section-title{font-size:1.25rem}.ritual-booking .booking-buttons{flex-direction:column}.ritual-booking .booking-btn{width:100%;justify-content:center}.ritual-booking .booking-calendar-day{min-height:45px;font-size:.75rem}.ritual-booking .booking-calendar-day .day-label{font-size:.5rem}}
