.booking-premium{padding:46px 0 55px}.booking-premium-inner{width:min(100% - 32px,1400px);margin:auto}.booking-premium .section-title{text-align:left!important;margin-bottom:28px}.booking-premium h1,.booking-review-premium h1{font-size:clamp(2.6rem,4.8vw,5rem);line-height:1.04;letter-spacing:-.035em}.booking-premium .section-title p{color:var(--home-muted)}.booking-progress{display:flex;list-style:none;flex-wrap:wrap;gap:16px 32px;padding:20px 0;margin:0 0 28px;border-bottom:1px solid var(--home-border);color:var(--home-gold-soft)}
.booking-premium .booking-shell{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:28px;padding:0;background:none;border:0;box-shadow:none}.booking-workspace,.booking-recap{padding:26px;background:linear-gradient(180deg,#ffffff06,#ffffff02);border:1px solid #caa06a35;min-width:0}.booking-recap{align-self:start;position:sticky;top:100px}.booking-recap>h2{font-size:1.85rem;margin-bottom:20px}.booking-premium .booking-step{gap:14px}.booking-premium .booking-step>span{background:#caa06a20;color:var(--home-gold-soft);border:1px solid var(--home-gold)}.booking-premium .booking-step h2{font-size:1.7rem}.booking-premium .booking-step p{color:var(--home-muted)}
.booking-premium .form-select,.booking-review-premium .form-control{background-color:#10100f;color:var(--home-text);border:1px solid #ffffff30;border-radius:2px;min-height:50px}.booking-premium .form-select{font-size:.95rem}.booking-premium #stylingChoice label{background:#ffffff04;border:1px solid #caa06a30!important;border-radius:2px!important;line-height:1.7;font-size:.9rem}.booking-premium #stylingOption{flex-shrink:0;width:21px;height:21px;accent-color:var(--home-gold)}
.booking-recap .selected-service-preview{display:block;border:0;padding:0;background:none}.booking-recap .service-preview-image{width:100%;height:190px;min-height:0;margin-bottom:20px;overflow:hidden;background:#10100f;color:var(--home-gold-soft);font-family:'Playfair Display',serif}.booking-recap .service-preview-image img{width:100%;height:100%;object-fit:cover}.booking-recap #servicePreviewDescription{font-size:.85rem;line-height:1.7}.booking-recap .service-preview-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--home-muted)}.booking-recap #servicePreviewPrice{font-size:1.5rem;color:var(--home-gold-soft);width:100%}.booking-recap #servicePreviewBreak{font-size:.75rem}.booking-recap-date{margin:22px 0;padding:18px 0;border-top:1px solid var(--home-border);border-bottom:1px solid var(--home-border)}.booking-recap .booking-summary{display:flex;flex-direction:column;align-items:stretch;gap:20px;padding:0;border:0;background:none}.booking-recap .booking-summary small{display:block;color:var(--home-muted)}.booking-recap .booking-summary strong{font-size:.9rem}.booking-recap button{width:100%;white-space:normal}.booking-recap-help{font-size:.8rem;color:var(--home-muted);margin-top:18px}.booking-premium button:disabled{opacity:.45;cursor:not-allowed}
.booking-premium .month-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.booking-premium .month-controls button{min-height:44px;font-size:.8rem;border-color:#caa06a50}.booking-premium .cal-day{background:#ffffff04;border:1px solid #ffffff15;color:var(--home-text);min-width:0;min-height:62px;padding:8px 2px;border-radius:2px}.booking-premium .cal-day small{font-size:.6rem;white-space:normal}.booking-premium .cal-day.selected,.booking-premium .slot-btn.selected{background:linear-gradient(180deg,#e2bb87,#c8965c);color:#17110b;border-color:var(--home-gold)}.booking-premium .cal-day.selected:after,.booking-premium .slot-btn.selected:after{content:' ✓'}.booking-premium .slot-btn{min-height:48px;background:#10100f;color:var(--home-text);border:1px solid #caa06a55;border-radius:2px}.booking-premium .availability-legend{font-size:.75rem;color:var(--home-muted)}.booking-premium :focus-visible,.booking-review-premium :focus-visible{outline:2px solid var(--home-gold-soft);outline-offset:3px}
.booking-review-premium{width:min(100% - 32px,900px);margin:0 auto;padding:48px 0}.booking-review-premium .dark-card{background:linear-gradient(180deg,#ffffff06,#ffffff02);border:1px solid #caa06a35;border-radius:2px}.booking-review-premium a{color:var(--home-gold-soft)}.booking-review-premium p{color:var(--home-muted);line-height:1.7}
@media(max-width:1000px){.booking-premium .booking-shell{grid-template-columns:1fr}.booking-recap{position:static}.booking-recap .service-preview-image{display:none}.booking-recap #servicePreviewDescription{display:none}}
@media(max-width:640px){.booking-premium-inner{width:min(100% - 24px,1400px)}.booking-premium{padding:30px 0}.booking-workspace,.booking-recap{padding:18px}.booking-progress{gap:12px 18px;font-size:.8rem}.booking-premium .cal-day{min-height:54px}.booking-premium .cal-day small{font-size:.55rem}.booking-premium .month-controls strong{order:-1;flex-basis:100%;text-align:center;margin-bottom:8px}.booking-premium .booking-step h2{font-size:1.4rem}.booking-review-premium button{width:100%}}
.booking-mobile-bar{display:none}#booking-recap{scroll-margin-top:100px}
@media(max-width:1000px){.booking-premium{padding-bottom:100px}.booking-mobile-bar{position:fixed;z-index:1020;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#080808f5;border-top:1px solid var(--home-border);font-size:.85rem}.booking-mobile-bar a{color:var(--home-gold-soft);min-height:44px;display:flex;align-items:center}}
