.book-container{min-height:100vh;background:linear-gradient(180deg,#fdfcf9,#faf8f5 50%,#f5f0ea)}.book-header-section{background:transparent;margin-bottom:0;padding:clamp(3.5rem,10vw,6rem) 1.5rem clamp(2.5rem,6vw,4rem);position:relative;overflow:hidden}.book-page__kicker{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.8125rem;letter-spacing:.22em;text-transform:uppercase;color:#78716c;margin:0 0 .5rem;font-weight:400}.book-page__title{font-family:Rozha One,serif;font-weight:400;font-size:clamp(2.8rem,8vw,4.5rem);color:#1c1917;letter-spacing:-.02em;line-height:1.05;margin:0;text-transform:lowercase}.book-page__title em{font-style:italic;color:#b8943a;font-family:Dancing Script,cursive;font-weight:500;font-size:clamp(2.5rem,7vw,4rem);letter-spacing:.01em}.book-page__subtitle{font-family:ui-sans-serif,system-ui,sans-serif;font-size:clamp(.95rem,2vw,1.0625rem);line-height:1.65;color:#57534e;max-width:32rem;margin:1.25rem auto 0;font-weight:300}.book-page__hero-line{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(80%,500px);height:1px;background:linear-gradient(90deg,transparent,rgba(181,147,37,.2),transparent)}.booking-section{position:relative;z-index:2}.booking-box{background:#ffffff;border-radius:var(--radius-lg,20px);box-shadow:0 10px 40px rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.05);padding:clamp(1.5rem,3vw,2.5rem);margin-bottom:20px}.custom-stepper{justify-content:space-between;max-width:420px;margin:0 auto}.custom-stepper,.stepper-item{display:flex;align-items:center;position:relative}.stepper-item{flex-direction:column;z-index:2;cursor:pointer;flex:1}.stepper-circle{width:42px;height:42px;border-radius:50%;background-color:#f8f9fa;border:2px solid #e9ecef;display:flex;align-items:center;justify-content:center;font-weight:600;color:#adb5bd;transition:all .3s ease;margin-bottom:8px;background:#fff;font-size:1rem}.stepper-item.active .stepper-circle{border-color:#1c1917;color:#1c1917;background:#fff}.stepper-item.completed .stepper-circle{background-color:#1c1917;border-color:#1c1917;color:#fff}.stepper-label{font-size:.75rem;font-weight:600;color:#adb5bd;transition:color .3s ease;text-transform:uppercase;letter-spacing:1px;font-family:ui-sans-serif,system-ui,sans-serif}.stepper-item.active .stepper-label,.stepper-item.completed .stepper-label{color:#1c1917}.stepper-line{position:absolute;top:22px;left:50%;width:100%;height:2px;background-color:#e9ecef;z-index:-1;transform:translateY(-50%)}.stepper-item:last-child .stepper-line{display:none}.stepper-item.completed .stepper-line{background-color:#1c1917}.booking-categories-list{display:flex;flex-direction:column;gap:2rem;max-width:100%}.booking-category-group{display:flex;flex-direction:column;gap:10px}.booking-category-header{display:flex;align-items:center;gap:clamp(.6rem,2vw,1rem);margin-bottom:.25rem}.booking-category-name{font-family:Rozha One,serif;font-weight:400;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;color:#78716c;white-space:nowrap}.booking-category-divider{flex:1;height:1px;background:linear-gradient(90deg,rgba(184,148,58,.25),rgba(184,148,58,.05))}.booking-services-grid{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width:640px){.booking-services-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media (min-width:1024px){.booking-services-grid{grid-template-columns:repeat(3,1fr);gap:14px}}.premium-service-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.15rem;background:#faf9f7;border:1px solid #ececec;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.premium-service-item:hover{border-color:#c0bcb5;transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.04);background:#fff}.premium-service-item.selected{border-color:#1c1917;background:#fefdfb;box-shadow:0 4px 18px rgba(0,0,0,.07)}.service-main-info{flex:1;min-width:0}.service-name{font-family:Rozha One,serif;font-size:1rem;margin:0;color:#1c1917;line-height:1.3}.service-category{font-size:.72rem;color:#78716c;text-transform:uppercase;letter-spacing:.08em;font-weight:500;display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-family:ui-sans-serif,system-ui,sans-serif}.service-category svg{display:inline!important;vertical-align:middle}.service-meta{gap:12px;margin-left:.75rem}.meta-badge,.service-meta{display:flex;align-items:center}.meta-badge{font-size:.8rem;color:#57534e;background:#fff;padding:4px 10px;border-radius:20px;border:1px solid #eee;white-space:nowrap;font-family:ui-sans-serif,system-ui,sans-serif}.selection-dot{width:18px;height:18px;border:2px solid #ddd;border-radius:50%;margin-left:14px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.premium-service-item.selected .selection-dot{border-color:#1c1917}.premium-service-item.selected .selection-dot:after{content:"";width:8px;height:8px;background:#1c1917;border-radius:50%}.premium-next-btn{padding:14px 40px!important;border-radius:8px!important;font-weight:500!important;letter-spacing:.5px!important;transition:all .3s ease!important;font-size:1rem!important;font-family:ui-sans-serif,system-ui,sans-serif!important}.premium-next-btn:not(:disabled):hover{background-color:#1c1917!important;border-color:#1c1917!important;transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.15)}.custom-calendar{max-width:100%;margin:0 auto;background:#fff;border:1px solid #eaeaea;border-radius:14px;padding:1.5rem}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.cal-nav{color:#000!important;font-size:1rem;text-decoration:none!important;padding:8px 14px;background:#f8f9fa;border-radius:50%;transition:background .3s}.cal-nav:hover{background:#e9ecef}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-day-name{text-align:center;font-size:.7rem;font-weight:700;color:#a8a29e;padding:6px 0;text-transform:uppercase;letter-spacing:.06em}.calendar-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;border:1px solid transparent;font-family:ui-sans-serif,system-ui,sans-serif}.calendar-cell:hover:not(.disabled):not(.empty){background:#fff;border-color:#1c1917;color:#1c1917;box-shadow:0 2px 8px rgba(0,0,0,.06)}.calendar-cell.selected{background:#1c1917;color:#fff;font-weight:600;transform:scale(1.06);box-shadow:0 4px 12px rgba(0,0,0,.14)}.calendar-cell.disabled{color:#ddd;cursor:not-allowed;background:#fafafa}.calendar-cell.empty{cursor:default}.time-slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (min-width:576px){.time-slots-grid{grid-template-columns:repeat(4,1fr)}}.time-slot-btn{border-radius:8px!important;padding:12px 10px!important;font-size:.875rem!important;font-weight:500!important;transition:all .2s!important;border-width:1px!important;font-family:ui-sans-serif,system-ui,sans-serif!important}.time-slot-btn:hover:not(:disabled){background-color:#f8f9fa!important;border-color:#1c1917!important;color:#1c1917!important;transform:translateY(-1px)}.time-slot-btn.active,.time-slot-btn:active{background-color:#1c1917!important;color:#fff!important;transform:none}.time-slot-btn.unavailable{text-decoration:line-through;opacity:.4;background:#fafafa!important;border-color:#eee!important;color:#999!important}.glass-card{background:rgba(245,240,234,.6);border:1px dashed #d5cfc7;border-radius:14px}.call-btn-fixed{border-radius:8px!important;padding:10px 22px!important;transition:all .3s!important;font-family:ui-sans-serif,system-ui,sans-serif!important;font-weight:500!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}.call-btn-fixed svg{display:inline!important;vertical-align:middle;flex-shrink:0}.call-btn-fixed:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.07);background:#1c1917!important;border-color:#1c1917!important;color:#fff!important}.selected-services-summary{padding:.75rem 1rem;background:rgba(181,147,37,.06);border:1px solid rgba(181,147,37,.15);border-radius:10px}.selected-service-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .7rem .35rem .85rem;background:#fff;border:1px solid #e5e5e5;border-radius:20px;font-size:.8rem;font-family:ui-sans-serif,system-ui,sans-serif;color:#1c1917;font-weight:500;transition:all .2s ease}.selected-service-badge:hover{border-color:#c0bcb5;background:#fefdfb}.remove-service-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:#e5e5e5;color:#78716c;border-radius:50%;cursor:pointer;font-size:11px;line-height:1;transition:all .2s ease}.remove-service-btn:hover{background:#1c1917;color:#fff}@media (max-width:768px){.booking-box{padding:1.25rem 1rem}.calendar-cell{font-size:.82rem}.selected-services-summary{padding:.6rem .75rem}.selected-service-badge{font-size:.75rem;padding:.3rem .6rem .3rem .75rem}}