.booking-page{background:var(--ink);min-height:75vh;padding:38px 22px 72px}.booking-shell{max-width:1160px}.booking-heading{margin-bottom:26px}.booking-heading h1{margin:4px 0 0;font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.04}.booking-eyebrow{font:9px/1.4 var(--font-label);letter-spacing:.2em;margin:0 0 8px}.booking-script{font:italic 1.28rem/1.2 var(--font-script);margin:4px 0 0}.booking-progress{align-items:center;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 28px}.booking-progress-item{align-items:center;border-top:2px solid var(--line);display:flex;gap:9px;padding-top:10px}.booking-progress-item>span{align-items:center;border:1px solid;display:inline-flex;flex:0 0 25px;font:9px var(--font-label);height:25px;justify-content:center}.booking-progress-item b{font-size:12px;font-weight:500}.booking-progress-item.is-current{border-color:var(--pink);color:var(--paper)}.booking-progress-item.is-current>span,.booking-progress-item.is-done>span{background:var(--pink);border-color:var(--pink);color:var(--accent-ink)}.booking-progress-item.is-done{border-color:var(--rose);color:var(--rose)}.booking-layout{align-items:start;display:grid;gap:28px;grid-template-columns:minmax(0,1.85fr) minmax(270px,1fr)}.booking-main,.booking-section,.booking-summary{min-width:0}.booking-section{background:var(--ink-raised);border:1px solid var(--line);border-radius:12px;padding:25px}.booking-section-head{align-items:start;display:flex;gap:14px;margin-bottom:23px}.booking-step{color:var(--rose);font:11px var(--font-label);padding-top:5px}.booking-section-head h2{font-size:1.45rem;line-height:1.15;margin:0}.booking-section-head p{color:var(--muted);font-size:13px;margin:6px 0 0}.booking-tabs{border-bottom:1px solid var(--line);display:flex;gap:5px;margin-bottom:15px;overflow-x:auto}.booking-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;flex:0 0 auto;font:10px var(--font-label);min-height:44px;padding:0 14px}.booking-tabs button[aria-selected=true]{border-color:var(--pink);color:var(--paper)}.booking-service-list{display:grid}.booking-service-card{align-items:center;background:var(--surface-field);border:1px solid var(--line);border-radius:9px;color:var(--paper);cursor:pointer;display:grid;gap:12px;grid-template-columns:20px minmax(0,1fr) auto;min-height:76px;padding:13px;text-align:left;transition:border-color .16s,background .16s;width:100%}.booking-service-card.selected,.booking-service-card:hover{background:var(--surface-booking-selected);border-color:var(--rose)}.booking-service-check{align-items:center;border:1px solid var(--surface-booking-check);border-radius:50%;color:var(--pink);display:inline-flex;height:19px;justify-content:center;width:19px}.booking-service-copy{display:grid;gap:4px;min-width:0}.booking-service-copy b{font-size:14px}.booking-service-copy small{align-items:center;color:var(--muted);display:flex;font-size:11px;gap:5px}.booking-service-card>strong{font-size:13px;white-space:nowrap}.booking-selected-note{align-items:center;border-top:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;margin-top:18px;padding-top:18px}.booking-selected-note>span{color:var(--muted);font-size:12px}.booking-selected-note b{color:var(--paper)}.booking-button{align-items:center;border:1px solid transparent;border-radius:6px;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:9px;justify-content:center;min-height:46px;padding:0 17px;text-decoration:none;transition:background .16s,border-color .16s,transform .16s}.booking-button:active{transform:translateY(1px)}.booking-button:disabled{cursor:not-allowed;opacity:.45}.booking-button-primary{background:var(--pink);color:var(--accent-booking-ink)}.booking-button-primary:hover:not(:disabled){background:var(--accent-booking-hover)}.booking-button-ghost{background:transparent}.booking-button-ghost:hover:not(:disabled){border-color:var(--rose)}.booking-summary{background:var(--ink-raised);border:1px solid var(--line);border-radius:12px;overflow:hidden;padding:0 19px 18px;position:sticky;top:20px}.booking-summary-image{height:148px;margin:0 -19px 18px;overflow:hidden;position:relative}.booking-summary-image img{object-fit:cover;object-position:center 40%}.booking-summary h2{font-size:1.05rem;margin:2px 0 15px}.booking-summary-line{align-items:baseline;border-top:1px solid var(--surface-summary-line);color:var(--muted);display:flex;font-size:12px;gap:12px;justify-content:space-between;padding:10px 0}.booking-summary-line b{color:var(--paper);font-weight:500;text-align:right}.booking-summary-total{color:var(--paper);font-size:14px}.booking-summary-total b{font-size:16px}.booking-summary-time{align-items:center;color:var(--rose);display:flex;font-size:11px;gap:7px;margin:12px 0 0}.booking-inline-note{color:var(--muted);font-size:12px;line-height:1.55}.booking-calendar{background:var(--surface-field);border:1px solid var(--line);border-radius:10px;padding:16px}.booking-month{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.booking-month h3{font:17px var(--font-script);margin:0}.booking-icon-button{align-items:center;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--paper);cursor:pointer;display:inline-flex;font-size:22px;height:38px;justify-content:center;line-height:1;width:38px}.booking-icon-button:disabled{cursor:default;opacity:.3}.booking-date-grid,.booking-days{display:grid;gap:5px;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.booking-days{color:var(--muted);font:9px var(--font-label);margin-bottom:6px}.booking-days span{padding:6px 0}.booking-date-grid button{background:transparent;border:1px solid transparent;border-radius:50%;color:var(--paper);cursor:pointer;height:38px;justify-self:center;width:38px}.booking-date-grid button:hover:not(:disabled){border-color:var(--rose)}.booking-date-grid button[aria-pressed=true]{background:var(--pink);color:var(--accent-ink)}.booking-date-grid button:disabled{color:var(--surface-disabled-text);cursor:default}.booking-calendar-caption{align-items:center;color:var(--muted);display:flex;gap:6px;margin:13px 0 0}.booking-slots{margin-top:20px}.booking-slots h3{margin:0 0 12px}.booking-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr))}.booking-slot-grid button{background:var(--surface-field);border:1px solid var(--line);border-radius:6px;color:var(--paper);cursor:pointer;min-height:44px}.booking-slot-grid button:hover,.booking-slot-grid button[aria-pressed=true]{background:var(--surface-booking-active);border-color:var(--rose);color:var(--paper)}.booking-actions{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-top:22px}.booking-form{display:grid;gap:15px 13px;grid-template-columns:repeat(2,minmax(0,1fr))}.booking-form label,.booking-portal-upload label,.booking-receipt-form label{color:var(--paper);display:grid;gap:7px}.booking-form input,.booking-form textarea,.booking-portal-upload input,.booking-receipt-form input{background:var(--surface-field);border:1px solid var(--line);border-radius:6px;color:var(--paper);font:inherit;min-height:45px;min-width:0;padding:10px 11px;width:100%}.booking-form textarea{resize:vertical}.booking-form input[type=file],.booking-portal-upload input[type=file],.booking-receipt-form input[type=file]{font-size:11px}.booking-full{grid-column:1/-1}.booking-optional{color:var(--muted);font-size:10px}.booking-policy{color:var(--muted);font-size:11px;line-height:1.5;margin:0}.booking-contact-card a,.booking-policy a{color:var(--rose)}.booking-hold-note{background:var(--surface-hold);border:1px solid var(--surface-booking-hold-border);border-radius:6px;color:var(--accent-hold-text);padding:10px 12px}.booking-hold-note,.booking-notice{align-items:center;display:flex;font-size:12px;gap:8px}.booking-notice{border:1px solid;border-radius:7px;line-height:1.5;margin:0 0 15px;padding:11px 13px}.booking-error{background:var(--surface-booking-error);border-color:var(--surface-receipt-error);color:var(--danger)}.booking-success{background:var(--surface-success);border-color:var(--surface-success-border);color:var(--success)}.booking-bank{background:var(--surface-field);border:1px solid var(--line);border-radius:8px;padding:16px}.booking-bank h3{font:1.3rem var(--font-script);margin:0 0 12px}.booking-bank>div{align-items:center;border-top:1px solid var(--surface-summary-line);display:grid;gap:8px;grid-template-columns:72px minmax(0,1fr) auto;padding:10px 0}.booking-bank span{color:var(--muted);font-size:11px}.booking-bank b{font-size:11px;font-weight:500;overflow-wrap:anywhere}.booking-bank button{background:transparent;border:0;color:var(--rose);cursor:pointer;font-size:10px;min-height:35px}.booking-bank-empty{color:var(--muted);font-size:12px;margin:0;padding:8px 0}.booking-bank>.booking-copy-all{border-top:1px solid var(--line);display:block;font-size:11px;margin:4px 0 0 auto;padding:0 4px}.booking-receipt-form{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;margin-top:18px}.booking-receipt-form small{color:var(--muted);font-size:10px}.booking-later{background:transparent;border:0;color:var(--muted);cursor:pointer;display:block;font-size:11px;margin:12px auto 0;min-height:42px;text-decoration:underline;text-underline-offset:3px}.booking-modal-backdrop{align-items:center;background:var(--overlay-modal);display:flex;inset:0;justify-content:center;overflow-y:auto;padding:18px;position:fixed;z-index:1000}.booking-modal{background:var(--ink-raised);border:1px solid var(--surface-modal-booking-border);border-radius:12px;box-shadow:0 24px 90px var(--overlay-shadow);max-height:min(88dvh,850px);max-width:640px;overflow-y:auto;padding:22px;width:100%}.booking-modal-head{align-items:start;display:flex;justify-content:space-between}.booking-modal-head h2{font-size:1.5rem;margin:0}.booking-modal .booking-inline-note{margin:8px 0 13px}.booking-extras{display:grid}.booking-extra-row{align-items:center;border-top:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding:10px 0}.booking-extra-row>span{display:grid;gap:4px}.booking-extra-row b{font-size:12px}.booking-extra-row small{color:var(--muted);font-size:10px}.booking-counter{align-items:center;display:flex;gap:9px}.booking-counter button{align-items:center;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--paper);cursor:pointer;display:inline-flex;height:36px;justify-content:center;width:36px}.booking-counter button:disabled{opacity:.4}.booking-counter output{font-size:12px;min-width:15px;text-align:center}.booking-removal{border:0;border-top:1px solid var(--line);display:grid;gap:10px;margin:10px 0 0;padding:14px 0 0}.booking-removal legend{font-size:13px;font-weight:600;padding:0 0 8px}.booking-removal label{align-items:start;color:var(--muted);display:flex;gap:9px;line-height:1.4}.booking-removal input{accent-color:var(--pink);flex:0 0 auto;margin:1px 0 0}.booking-modal-footer{align-items:center;background:var(--ink-raised);border-top:1px solid var(--line);bottom:0;display:flex;gap:12px;justify-content:space-between;margin:18px -22px -22px;padding:14px 22px;position:sticky}.booking-modal-actions{align-items:center;display:flex;flex-wrap:wrap;justify-content:end}.booking-modal-footer>span{color:var(--muted);font-size:11px}.booking-modal-footer b{color:var(--paper);display:block;font-size:14px;margin-top:3px}.booking-loading{color:var(--muted);font-size:13px;padding:35px 8px}.booking-portal-shell{max-width:900px}.booking-portal-grid{align-items:start;gap:18px;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr)}.booking-portal-card{background:var(--ink-raised);border:1px solid var(--line);border-radius:11px;min-width:0;padding:22px}.booking-status{align-items:center;color:var(--rose);display:flex;font:10px var(--font-label);gap:8px;letter-spacing:.04em;text-transform:uppercase}.booking-status-dot{background:var(--rose);border-radius:50%;height:8px;width:8px}.booking-status-dot.status-confirmed{background:var(--state-confirmed-soft)}.booking-status-dot.status-cancelled{background:var(--state-cancelled)}.booking-portal-card h2{font-size:1.45rem;margin:12px 0 18px}.booking-portal-facts{display:grid;gap:0}.booking-portal-facts p{align-items:center;border-top:1px solid var(--line);color:var(--muted);display:flex;font-size:12px;gap:10px;margin:0;padding:12px 0}.booking-portal-facts svg{color:var(--rose)}.booking-portal-balance{align-items:center;background:var(--surface-field);border-radius:7px;display:flex;justify-content:space-between;margin:8px 0 14px;padding:13px}.booking-portal-balance span{color:var(--muted);font-size:11px}.booking-portal-balance b{font-size:15px}.booking-file-links{margin:8px 0}.booking-calendar-download,.booking-file-links a{align-items:center;color:var(--rose);display:inline-flex;font-size:11px;gap:8px;min-height:38px}.booking-receipt-status{border:1px solid var(--line);border-radius:20px;color:var(--muted);display:inline-block;font-size:9px;margin-left:8px;padding:4px 8px}.booking-receipt-status.receipt-approved{border-color:var(--surface-success-border);color:var(--success)}.booking-receipt-status.receipt-rejected{border-color:var(--surface-receipt-error);color:var(--danger)}.booking-portal-upload{align-items:end;border-top:1px solid var(--line);display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;margin-top:13px;padding-top:15px}.booking-portal-side>p:not(.booking-eyebrow){color:var(--muted);font-size:12px;line-height:1.55}.booking-portal-actions{display:grid;gap:9px;margin:16px 0 20px}.booking-portal-actions .booking-button{width:100%}.booking-contact-card{border-top:1px solid var(--line);margin-top:19px;padding-top:16px}.booking-contact-card h3{font:italic 1.2rem var(--font-script);margin:0 0 10px}.booking-contact-card a{align-items:center;display:inline-flex;font-size:11px;gap:6px;min-height:38px}.booking-calendar-download{border-top:1px solid var(--line);display:flex;margin-top:10px;padding-top:10px}.booking-page :focus-visible{outline:2px solid var(--accent-focus);outline-offset:3px}@media (max-width:760px){.booking-page{padding:27px 16px calc(46px + env(safe-area-inset-bottom))}.booking-heading{margin-bottom:22px}.booking-heading h1{font-size:clamp(2.25rem,11vw,3.1rem)}.booking-progress{gap:5px;margin-bottom:20px}.booking-progress-item{display:block;padding-top:7px}.booking-progress-item>span{height:23px;margin-bottom:5px;width:23px}.booking-progress-item b{display:block;font-size:9px;white-space:nowrap}.booking-layout,.booking-portal-grid{grid-template-columns:minmax(0,1fr)}.booking-main{display:contents}.booking-section{grid-row:1;padding:19px 15px}.booking-summary{grid-row:2;position:static}.booking-summary-image{height:115px}.booking-section-head h2{font-size:1.28rem}.booking-service-card{gap:9px;grid-template-columns:20px minmax(0,1fr);padding:11px}.booking-service-card>strong{grid-column:2}.booking-service-copy small{font-size:10px}.booking-selected-note{align-items:stretch;flex-direction:column}.booking-selected-note .booking-button{width:100%}.booking-actions{background:linear-gradient(180deg,var(--overlay-sticky),var(--ink-raised) 24%);bottom:0;margin:18px -15px -19px;padding:12px 15px calc(10px + env(safe-area-inset-bottom));position:sticky;z-index:4}.booking-actions .booking-button{flex:1}.booking-date-grid{gap:3px}.booking-date-grid button{height:min(10vw,40px);width:min(10vw,40px)}.booking-form{grid-template-columns:minmax(0,1fr)}.booking-full{grid-column:auto}.booking-portal-upload,.booking-receipt-form{grid-template-columns:minmax(0,1fr)}.booking-portal-upload .booking-button,.booking-receipt-form .booking-button{width:100%}.booking-bank>div{grid-template-columns:64px minmax(0,1fr) auto}.booking-modal-backdrop{align-items:end;padding:0}.booking-modal{border-bottom:0;border-radius:13px 13px 0 0;max-height:92dvh;padding:19px 16px calc(16px + env(safe-area-inset-bottom))}.booking-modal-footer{margin:16px -16px -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.booking-modal-footer .booking-button{min-width:150px}.booking-modal-actions{display:grid;grid-template-columns:1fr}.booking-modal-actions .booking-button{width:100%}.booking-portal-card{padding:18px 15px}}@media (prefers-reduced-motion:reduce){.booking-page *,.booking-page :after,.booking-page :before{scroll-behavior:auto!important;transition-duration:.01ms!important}}.booking-page{min-height:100vh;padding:0 0 calc(92px + env(safe-area-inset-bottom));background:oklch(98% .018 350);color:var(--paper)}.booking-shell{width:min(100%,560px);max-width:560px;margin:0 auto}.booking-topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:42px 1fr 72px;align-items:center;gap:10px;min-height:60px;padding:6px 14px;color:white;background:var(--rose);box-shadow:0 2px 8px oklch(40% .05 350/.16)}.booking-topbar>a{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;color:white}.booking-topbar>div{display:grid;justify-items:center;line-height:1.25}.booking-topbar strong{font-size:15px}.booking-topbar span{font-size:11px;opacity:.9}.booking-topbar button{justify-self:end;border:0;color:white;background:transparent;font-size:11px;cursor:pointer}.booking-progress{gap:0;margin:0;padding:12px 12px 10px;background:white}.booking-progress-item{position:relative;display:grid;justify-items:center;gap:5px;min-width:0;padding:0;border:0;color:var(--muted);text-align:center}.booking-progress-item:before{content:"";position:absolute;top:16px;left:0;width:100%;height:1px;background:var(--line)}.booking-progress-item:first-child:before{left:50%;width:50%}.booking-progress-item:last-child:before{width:50%}.booking-progress-item>span{position:relative;z-index:1;width:32px;height:32px;border:2px solid var(--line);border-radius:50%;color:var(--muted);background:white;font-size:12px;font-weight:700}.booking-progress-item b{max-width:84px;overflow:hidden;font-size:9px;font-weight:600;line-height:1.15;text-overflow:ellipsis}.booking-progress-item.is-current{color:var(--rose)}.booking-progress-item.is-current>span{border-color:var(--rose);color:white;background:var(--rose)}.booking-progress-item.is-done{color:var(--success)}.booking-progress-item.is-done:before{background:var(--success)}.booking-progress-item.is-done>span{border-color:var(--success);color:white;background:var(--success)}.booking-layout,.booking-main{display:block}.booking-section{padding:20px 16px 24px;border:0;border-radius:0;background:transparent}.booking-section-head{align-items:center;gap:12px;margin-bottom:20px}.booking-title-icon{flex:none;color:var(--rose)}.booking-section-head h2{font-size:21px;letter-spacing:-.03em}.booking-section-head p{margin-top:4px;font-size:12px}.booking-step{display:none}.booking-tabs{gap:6px;border:0}.booking-tabs button{min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:white;font:600 11px var(--font-body)}.booking-tabs button[aria-selected=true]{border-color:var(--rose);color:white;background:var(--rose)}.booking-service-list{gap:9px}.booking-service-card{grid-template-columns:22px minmax(0,1fr) auto;gap:10px;min-height:74px;padding:12px;border-radius:14px;background:white;box-shadow:0 2px 10px oklch(40% .04 350/.05);grid-template-columns:56px 20px minmax(0,1fr) auto}.booking-service-image{width:56px;height:56px;border-radius:10px;object-fit:cover;background:var(--surface-field)}.booking-service-copy b{font-size:13px}.booking-service-copy small{font-size:10px}.booking-service-card>strong{color:var(--rose);font-size:12px}.booking-service-check{width:20px;height:20px;border-color:var(--line)}.booking-service-card.selected{border-color:var(--rose);background:white}.booking-service-line-image{width:62px;height:62px;border-radius:8px;object-fit:cover}.booking-service-card>img{flex:none}@media (max-width:600px){.booking-service-card{grid-template-columns:48px 18px minmax(0,1fr)}.booking-service-image{grid-row:span 2;width:48px;height:48px}.booking-service-card>strong{grid-column:3}}.booking-selected-note{display:none}.booking-selected-summary{display:flex;align-items:center;gap:11px;margin-bottom:16px;padding:12px;border:1px solid oklch(82% .08 150);border-radius:13px;background:oklch(96% .035 150)}.booking-selected-summary>span{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;color:white;background:var(--success)}.booking-selected-summary>div{display:grid;gap:2px;min-width:0}.booking-selected-summary b{font-size:12px}.booking-selected-summary small{color:var(--muted);font-size:10px}.booking-calendar{padding:15px 13px;border-radius:15px;background:white;box-shadow:0 2px 12px oklch(40% .04 350/.05)}.booking-month{margin-bottom:10px}.booking-month h3{font:700 15px var(--font-body);text-transform:capitalize}.booking-icon-button{width:36px;height:36px;border-color:transparent;color:var(--rose)}.booking-days{font:500 10px var(--font-body)}.booking-date-grid{gap:3px}.booking-date-grid button{position:relative;width:min(10vw,40px);height:min(10vw,40px);font-size:12px}.booking-date-grid button.is-open{background:oklch(97% .025 350)}.booking-date-grid button.is-today{border-color:var(--rose)}.booking-date-grid button[aria-pressed=true]{border-color:var(--rose);color:white;background:var(--rose)}.booking-calendar-caption{font-size:10px}.booking-slots{margin-top:17px}.booking-slots h3{margin-bottom:10px;font-size:14px}.booking-slot-grid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}.booking-slot-grid button{min-height:42px;border-radius:999px;background:white;font-size:12px}.booking-slot-grid button[aria-pressed=true]{color:white;background:var(--rose)}.booking-actions,.booking-summary{display:none}.booking-fixed-actions{position:fixed;z-index:35;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:oklch(99% .006 330/.97);backdrop-filter:blur(10px)}.booking-previous{gap:6px;min-height:42px;color:var(--muted);background:transparent;font-size:12px;font-weight:600;text-decoration:none}.booking-next,.booking-previous{display:inline-flex;align-items:center;border:0;cursor:pointer}.booking-next{justify-content:center;gap:8px;min-width:120px;min-height:44px;padding:0 18px;border-radius:999px;color:white;background:var(--rose);font-size:13px;font-weight:700}.booking-next:disabled{color:oklch(68% .02 330);background:oklch(91% .02 350);cursor:not-allowed}.booking-form{gap:13px;grid-template-columns:minmax(0,1fr)}.booking-form label,.booking-portal-upload label,.booking-receipt-form label{font-size:12px;font-weight:600}.booking-form input,.booking-form textarea,.booking-portal-upload input,.booking-receipt-form input{min-height:47px;border-radius:11px;background:white}.booking-full{grid-column:auto}.booking-policy{font-size:10px}.booking-hold-note{border-radius:12px;color:var(--rose)}.booking-notice{border-radius:12px}.booking-bank,.booking-portal-card{border-color:var(--line);border-radius:14px;background:white}.booking-bank h3{font:700 19px var(--font-body)}.booking-button{min-height:44px;border-radius:999px;font-family:var(--font-body)}.booking-button-primary{color:white;background:var(--rose)}.booking-button-ghost{border-color:var(--line);color:var(--paper);background:white}.booking-modal-backdrop{align-items:end;padding:0}.booking-modal{width:min(100%,560px);max-width:560px;max-height:92dvh;padding:20px 16px calc(16px + env(safe-area-inset-bottom));border:0;border-radius:22px 22px 0 0;background:white}.booking-modal-head h2{font-size:20px}.booking-modal .booking-eyebrow{color:var(--rose)}.booking-extra-row{padding:12px 0;border:1px solid var(--line);border-radius:13px;margin-bottom:7px;padding-inline:11px}.booking-counter button{width:34px;height:34px;border-color:var(--line);color:var(--rose);background:white}.booking-modal-footer{display:grid;gap:9px;margin:14px -16px -16px;padding:13px 16px calc(13px + env(safe-area-inset-bottom))}.booking-modal-actions{grid-template-columns:1fr}.booking-modal-footer>span{font-size:12px}.booking-removal{border-top:0}.booking-removal label{font-size:11px}.booking-portal-shell{padding-top:22px}.booking-portal-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.booking-portal-card{padding:18px;box-shadow:0 3px 15px oklch(40% .04 350/.05)}.booking-heading{margin-bottom:18px}.booking-heading h1{font-size:27px}.booking-eyebrow{color:var(--rose);font:700 10px/1.4 var(--font-body);letter-spacing:.06em}.booking-script{color:var(--muted);font:12px/1.4 var(--font-body)}.booking-portal-facts{border-color:var(--line)}.booking-contact-card{border-radius:14px;background:oklch(98% .018 350)}.booking-portal-actions{display:flex;flex-wrap:wrap;gap:8px}.booking-file-links a{color:var(--rose)}@media (min-width:760px){.booking-page{padding-bottom:30px}.booking-shell{width:min(calc(100% - 32px),560px)}.booking-fixed-actions{right:max(calc((100vw - 560px) / 2),0px);bottom:0;left:max(calc((100vw - 560px) / 2),0px);margin-inline:auto}}.booking-modal{padding-bottom:0}.booking-modal-footer{margin:16px -16px 0;padding:12px 16px calc(14px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;background:white;box-shadow:0 -8px 20px oklch(30% .03 350/.06)}.booking-modal-footer>span{display:flex;justify-content:space-between;align-items:baseline}.booking-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.booking-modal-actions .booking-button{width:100%;min-width:0;justify-content:center;white-space:nowrap;font-size:13px}