.booking{padding-block:var(--s-6) var(--s-9)}.booking__head{gap:var(--s-4);margin-bottom:var(--s-6);display:grid}.booking__title{font-size:clamp(3.5rem,2rem + 6vw,7rem)}.booking__grid{gap:var(--s-7);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=1000px){.booking__grid{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:start}}.step{padding-block:var(--s-5);border-top:1px solid var(--line);scroll-margin-top:72px}.step:last-child{border-bottom:1px solid var(--line)}.step__head{align-items:center;gap:var(--s-2) var(--s-4);flex-wrap:wrap;min-height:40px;display:flex}.step__title{align-items:baseline;gap:var(--s-3);font-size:var(--t-xl);margin-right:auto;font-weight:650;line-height:1.2;display:flex}.step__n{font-family:var(--font-display);min-width:1ch;color:var(--gold-ink);font-size:1.75rem;font-weight:800}.step__summary{padding-left:calc(1ch + var(--s-3) + 6px);color:var(--ink-muted);flex-basis:100%;order:3}.step__body{margin-top:var(--s-5)}.step.is-locked .step__title{color:var(--ink-muted)}.step.is-locked .step__n{color:var(--chrome)}.step:not(.is-current) .step__body,.step:not(.is-done) .step__summary,.step:not(.is-done) .step__edit{display:none}.opts{gap:var(--s-2);border:0;min-width:0;margin:0;padding:0;display:grid}.opts+.opts{margin-top:var(--s-6)}.opts__label{margin-bottom:var(--s-2);font-size:var(--t-s);color:var(--ink-muted);padding:0;font-weight:650}.opt{align-items:center;gap:var(--s-1) var(--s-4);padding:var(--s-4) var(--s-4);border:1px solid var(--line-strong);border-radius:var(--radius-m);background:var(--paper);cursor:pointer;transition:border-color var(--t-fast), box-shadow var(--t-fast);grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative}.opt:hover{border-color:var(--ink)}.opt input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.opt:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.opt:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--glow)}.opt__name{font-weight:650;line-height:1.25}.opt__desc{font-size:var(--t-s);color:var(--ink-muted);grid-column:1;line-height:1.4}.opt__side{text-align:right;white-space:nowrap;grid-area:1/2/span 2}.opt__price{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.625rem;font-weight:750;line-height:1}.opt__time{font-size:var(--t-xs);color:var(--ink-muted)}.masters-opts{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.opt--master{align-items:start;gap:var(--s-1) var(--s-4);grid-template-columns:64px minmax(0,1fr)}.opt--master .opt__thumb{aspect-ratio:4/5;border-radius:var(--radius-s);background:linear-gradient(180deg, #24211b, var(--ink) 70%);grid-row:1/span 3;width:64px;position:relative;overflow:hidden}.opt__thumb img{object-fit:cover;width:100%;height:100%}.opt__thumb b{background:var(--ink);width:42px;height:42px;font-family:var(--font-display);color:var(--gold);border-radius:50%;place-items:center;margin:auto;font-size:1.5rem;font-weight:850;line-height:1;display:grid;position:absolute;inset:0;box-shadow:0 0 0 1px #f6cf79b3,0 0 10px 2px #f6cf7980}.opt__thumb--any{position:relative;box-shadow:inset 0 0 0 2px #fadc95e6,inset 0 0 14px 2px #f6cf798c;background:var(--ink)!important}.opt--master .opt__desc,.opt--master .opt__price{grid-column:2}.opt--master .opt__price{margin-top:var(--s-1);font-size:1.375rem}.opt[hidden]{display:none}.slot-groups{gap:var(--s-5);margin-top:var(--s-5);display:grid}.slot-group__title{margin-bottom:var(--s-2);font-size:var(--t-s);color:var(--ink-muted);font-weight:650}.slot-list{gap:var(--s-2);flex-wrap:wrap;display:flex}.slot-opt{position:relative}.slot-opt input{opacity:0;width:1px;height:1px;position:absolute}.slot-opt span{cursor:pointer}.slot-opt input:checked+span{background:var(--gold);border-color:var(--gold-deep);color:var(--ink)}.slot-opt input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}.hint{font-size:var(--t-s);color:var(--ink-muted)}.notice{padding:var(--s-4);border-radius:var(--radius-m);background:var(--wall-deep)}.notice--error{background:var(--bad-bg);color:var(--bad)}.loading{border-radius:var(--radius-m);background:linear-gradient(90deg, var(--wall-deep) 0%, var(--paper) 50%, var(--wall-deep) 100%) 0 0 / 200% 100%;min-height:120px;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.trap{position:absolute;left:-9999px}.phone-row{gap:var(--s-2);grid-template-columns:minmax(0,10.5rem) minmax(0,1fr);display:grid}@media (width<=379px){.phone-row{grid-template-columns:minmax(0,1fr)}}.phone-row select{padding-right:var(--s-6);appearance:none;text-overflow:ellipsis;background-image:linear-gradient(45deg, transparent 50%, var(--ink-muted) 50%), linear-gradient(135deg, var(--ink-muted) 50%, transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-repeat:no-repeat;background-size:5px 5px}.submit-row{gap:var(--s-3);margin-top:var(--s-3);justify-items:start;display:grid}.summary{display:none}@media (width>=1000px){.summary{gap:var(--s-4);padding:var(--s-5);border-radius:var(--radius-m);display:grid;position:sticky;top:96px}}.summary__title{font-family:var(--font-display);font-size:2rem;font-weight:800;line-height:1}.summary__list{gap:var(--s-3);display:grid}.summary__list div{gap:2px;display:grid}.summary__list dt{font-size:var(--t-xs);color:var(--ink-muted)}.summary__list dd{font-weight:600}.summary__list dd:empty:before{content:"not chosen yet";color:var(--ink-muted);font-weight:400}:lang(ru) .summary__list dd:empty:before{content:"ещё не выбрано"}.summary__total{padding-top:var(--s-4);border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;display:flex}.summary__price{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--gold);font-size:2rem;font-weight:800}.done{gap:var(--s-6);max-width:720px;display:grid}.done__when{font-size:clamp(2.5rem,1.6rem + 3.6vw,4.5rem)}.done__details{gap:var(--s-2);font-size:var(--t-l);display:grid}.done__actions{gap:var(--s-3);flex-wrap:wrap;display:flex}.status{align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);font-size:var(--t-s);background:var(--glow);border-radius:999px;justify-self:start;font-weight:650;display:inline-flex}.status--cancelled{background:var(--bad-bg);color:var(--bad)}
