*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden}body{color:rgb(var(--foreground-rgb));background:#fff}@keyframes bookingFadeIn{0%{opacity:0}to{opacity:1}}.booking-overlay{position:fixed;inset:0;background:rgba(44,62,80,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:bookingFadeIn .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.booking-modal{--bk-surface:#fff;--bk-card:#f5f8fb;--bk-ink:#2c3e50;--bk-subtle:#7f8c8d;--bk-border:#ecf0f1;--bk-primary:#4a90e2;--bk-on-primary:#fff;--bk-accent:#6fcf97;--bk-on-accent:#fff;--bk-tint:#eff6ff;background:var(--bk-surface);color:var(--bk-ink);border-radius:20px;width:100%;max-width:640px;max-height:92vh;overflow-y:auto;box-shadow:0 24px 80px rgba(44,62,80,.3);position:relative;scrollbar-width:none}.booking-modal::-webkit-scrollbar{width:0}.booking-modal-top-bar{height:5px;background:linear-gradient(90deg,var(--bk-primary),var(--bk-accent));border-radius:20px 20px 0 0}.booking-modal-header{padding:1.5rem 2rem 1rem;background:var(--bk-primary);display:flex;align-items:flex-start;justify-content:space-between}.booking-modal-brand{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--bk-on-primary);opacity:.85;margin-bottom:.3rem}.booking-modal-title{font-size:1.5rem;font-weight:800;color:var(--bk-on-primary);letter-spacing:-.02em}.booking-modal-close{background:color-mix(in srgb,var(--bk-on-primary) 16%,transparent);border:none;width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--bk-on-primary);font-size:1rem;transition:background .2s ease,color .2s ease;flex-shrink:0}.booking-modal-close:hover{background:color-mix(in srgb,var(--bk-on-primary) 30%,transparent);color:var(--bk-on-primary)}.booking-modal-body{padding:1.75rem 2rem 2rem}.booking-stepper{gap:.5rem;margin-bottom:1.75rem}.booking-step-dot,.booking-stepper{display:flex;justify-content:center}.booking-step-dot{width:32px;height:32px;border-radius:50%;align-items:center;font-size:.875rem;font-weight:600;background:var(--bk-card);color:var(--bk-subtle);border:2px solid var(--bk-border);transition:all .3s ease}.booking-step-dot.active{background:var(--bk-primary);color:var(--bk-on-primary);border-color:var(--bk-on-primary)}.booking-step-dot.completed{background:var(--bk-accent);color:var(--bk-on-accent);border-color:var(--bk-accent)}.booking-step-title{font-size:1.15rem;font-weight:700;color:var(--bk-ink);margin:0 0 .35rem}.booking-step-sub{font-size:.85rem;color:var(--bk-subtle);margin:0 0 1.25rem}.booking-service-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.booking-service-card{padding:14px 16px;border-radius:12px;cursor:pointer;text-align:left;border:1px solid var(--bk-border);background:var(--bk-card);transition:border-color .15s ease,background .15s ease;font-family:inherit}.booking-service-card:hover{border-color:var(--bk-primary)}.booking-service-card.selected{border:2px solid var(--bk-primary);background:var(--bk-tint)}.booking-service-icon{font-size:20px;margin-bottom:4px}.booking-service-label{font-weight:600;font-size:14px;color:var(--bk-ink)}.booking-service-meta{font-size:12px;color:var(--bk-subtle);margin-top:2px}.booking-field{margin-bottom:14px}.booking-field-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.booking-label{display:block;font-size:13px;font-weight:600;color:var(--bk-ink);margin-bottom:6px}.booking-input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--bk-border);font-size:15px;font-family:inherit;color:var(--bk-ink);outline:none;background:var(--bk-card)}.booking-input:focus{border-color:var(--bk-primary)}.booking-chip-row{display:flex;gap:8px}.booking-chip{padding:10px 20px;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;border:1px solid var(--bk-border);background:var(--bk-card);color:var(--bk-ink);font-family:inherit;transition:border-color .15s ease,background .15s ease}.booking-chip.selected{border:2px solid var(--bk-primary);background:var(--bk-tint)}.booking-days{display:flex;gap:8px;margin-bottom:18px;overflow-x:auto;padding-bottom:4px}.booking-day{min-width:74px;padding:10px 8px;border-radius:12px;cursor:pointer;border:1px solid var(--bk-border);background:var(--bk-card);font-family:inherit;transition:border-color .15s ease,background .15s ease}.booking-day.selected{border:2px solid var(--bk-primary);background:var(--bk-tint)}.booking-day-name{font-size:11px;color:var(--bk-subtle);font-weight:600}.booking-day-date{font-size:14px;color:var(--bk-ink);font-weight:700}.booking-slots{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.booking-slot{padding:10px 0;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;border:1px solid var(--bk-border);background:var(--bk-card);color:var(--bk-ink);font-family:inherit;transition:border-color .15s ease,background .15s ease}.booking-slot.selected{border:2px solid var(--bk-primary);background:var(--bk-tint)}.booking-slot.full{background:var(--bk-card);color:var(--bk-subtle);cursor:not-allowed;text-decoration:line-through}.booking-note{background:var(--bk-tint);border-radius:10px;padding:14px;margin-top:16px;font-size:13px;color:var(--bk-ink);display:flex;gap:8px;align-items:center}.booking-error{color:#ff6b6b;font-size:13px;margin-top:12px;font-weight:600}.booking-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.booking-btn-primary{padding:11px 26px;border-radius:10px;border:none;background:var(--bk-primary);color:var(--bk-on-primary);font-weight:700;font-size:14px;cursor:pointer;font-family:inherit}.booking-btn-primary:disabled{background:var(--bk-border);color:var(--bk-subtle);cursor:default}.booking-btn-confirm{padding:11px 26px;border-radius:10px;border:none;background:var(--bk-primary);color:var(--bk-on-primary);font-weight:700;font-size:14px;cursor:pointer;font-family:inherit}.booking-btn-confirm:disabled{background:var(--bk-border);color:var(--bk-subtle);cursor:default}.booking-btn-ghost{padding:11px 22px;border-radius:10px;border:1px solid var(--bk-border);background:var(--bk-card);color:var(--bk-subtle);font-weight:600;font-size:14px;cursor:pointer;font-family:inherit}.booking-btn-ghost:hover{border-color:var(--bk-primary);color:var(--bk-primary)}.booking-thankyou{text-align:center}.booking-check{width:72px;height:72px;border-radius:50%;background:var(--bk-accent);display:flex;align-items:center;justify-content:center;font-size:34px;color:var(--bk-on-accent);margin:0 auto 20px}.booking-next-steps{background:var(--bk-tint);border-radius:12px;padding:20px;text-align:left;margin:20px 0 24px}.booking-next-steps-title{font-weight:700;color:var(--bk-ink);margin-bottom:12px;font-size:14px}.booking-next-steps-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;font-size:14px;color:var(--bk-ink)}.booking-theme-bar{display:flex;align-items:center;gap:10px;padding:.9rem 2rem 1.1rem;border-top:1px solid var(--bk-border)}.booking-theme-label{font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--bk-subtle)}.booking-theme-swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .15s ease,border-color .15s ease}.booking-theme-swatch:hover{transform:scale(1.12)}.booking-theme-swatch.selected{border-color:var(--bk-ink)}.booking-theme-custom{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:.74rem;font-weight:600;color:var(--bk-subtle);cursor:pointer}.booking-theme-custom input[type=color]{width:26px;height:26px;border:none;border-radius:50%;padding:0;background:none;cursor:pointer}@media (max-width:600px){.booking-overlay{padding:0}.booking-modal{max-width:100%;min-height:100vh;min-height:100dvh;max-height:none}.booking-modal,.booking-modal-top-bar{border-radius:0}.booking-modal-header{padding:1.1rem 1.25rem .9rem}.booking-modal-title{font-size:1.25rem}.booking-modal-body{padding:1.25rem 1.25rem 2rem}.booking-field-grid{grid-template-columns:1fr}.booking-slots{grid-template-columns:repeat(3,1fr)}.booking-step-dot{width:28px;height:28px;font-size:.8rem}.booking-btn-confirm,.booking-btn-ghost,.booking-btn-primary{padding:11px 18px}}@media print{body :not(:has(.invoice-doc)):not(.invoice-doc):not(.invoice-doc *){display:none!important}:has(.invoice-doc){position:static!important;padding:0!important;margin:0!important;background:none!important;display:block!important;overflow:visible!important}.invoice-doc{position:static!important;width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;border-radius:0!important;box-shadow:none!important;padding:0!important}}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_d8ebd1;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_d8ebd1{font-family:__Inter_d8ebd1,__Inter_Fallback_d8ebd1;font-style:normal}