.booking-trigger{color:inherit;cursor:pointer;text-align:left}
.booking-trigger:focus-visible{outline:3px solid var(--salmon);outline-offset:4px}
.service{grid-template-columns:minmax(0,1fr) 120px 145px 78px}
.service-book{min-height:44px;padding:10px 15px;border:1px solid currentColor;border-radius:100px;background:transparent;color:inherit;font-size:14px;font-weight:700;line-height:1.5;text-align:center}
.service-book:hover{background:var(--acid);border-color:var(--acid);color:var(--ink)}
.service-book:focus-visible{outline-color:var(--acid)}
.packages .service-book:focus-visible{outline-color:var(--ink)}
body.booking-selector-open{overflow:hidden}
.booking-selector{inset:0;margin:0 0 0 auto;width:min(100%,480px);height:100%;height:100dvh;max-width:100%;max-height:100%;max-height:100dvh;border:0;border-left:1px solid var(--ink);padding:0;background:var(--cream);color:var(--ink);overflow-y:auto;overscroll-behavior:contain}
.booking-selector::backdrop{background:rgba(53,31,39,.65)}
.selector-content{padding:32px 28px max(32px,env(safe-area-inset-bottom));min-height:100%}
.selector-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.selector-header h2{font:700 42px/.98 'Space Grotesk',sans-serif;letter-spacing:-.065em;margin:14px 0 0}
.selector-close{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;padding:0;background:transparent;color:var(--ink);font-size:30px;line-height:1;cursor:pointer}
.selector-close:hover{background:var(--ink);color:var(--cream)}
.selector-intro{margin:24px 0 28px;font-size:16px;line-height:1.5}
.selector-form{display:grid;gap:24px}
.selector-form>div{min-width:0}
.selector-group{border:0;padding:0;margin:0;min-width:0}
.selector-group legend,.selector-label{display:block;margin:0 0 10px;padding:0;font-size:14px;line-height:1.5;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.selector-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.selector-choice{position:relative;cursor:pointer;min-width:0}
.selector-choice input{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.selector-choice span{display:flex;justify-content:center;align-items:center;min-height:50px;padding:11px 8px;border:1px solid var(--ink);border-radius:100px;font-size:16px;font-weight:600;line-height:1.5;text-align:center}
.selector-choice input:checked+span{background:var(--cobalt);border-color:var(--cobalt);color:#fff}
.selector-choice input:focus-visible+span,.selector-close:focus-visible,.selector-control:focus-visible,.selector-continue:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}
.selector-control{display:block;width:100%;min-width:0;min-height:52px;padding:13px 12px;border:1px solid var(--line);border-radius:0;background:var(--cream);color:var(--ink);font:400 16px/1.5 'DM Sans',sans-serif}
.selector-control::placeholder{color:#715960;opacity:1}
select.selector-control{padding-right:28px;text-overflow:ellipsis}
.pill.selector-continue{width:100%;margin-top:4px;border-color:var(--ink);gap:12px}
.selector-continue:hover{background:var(--ink);color:var(--cream);transform:none}
@media(max-width:480px){.selector-content{padding:24px 20px max(24px,env(safe-area-inset-bottom))}.selector-header h2{font-size:38px}.selector-form{gap:22px}}
@media(max-width:800px){.service{grid-template-columns:minmax(0,1fr) auto auto;gap:10px 12px}.service .name{grid-column:1/-1;grid-row:1}.service .time{grid-column:1;grid-row:2}.service .price{grid-column:2;grid-row:2}.service-book{grid-column:3;grid-row:2}}
