.booking-shell{min-width:0;padding:clamp(2.5rem, 6vw, 5rem) var(--gutter) 9rem;background:radial-gradient(circle at 92% 4%, #f4bb9757, transparent 25rem), linear-gradient(180deg, var(--surface-soft), var(--surface-paper) 28rem)}.booking-shell>*{width:min(100%, var(--container));margin-inline:auto}.booking-shell--loading,.booking-shell--error{align-content:center;justify-items:start;gap:1rem;min-height:60dvh;display:grid}.booking-shell--error h1{margin-block:0}.booking-skeleton{border-radius:var(--radius-card);background:linear-gradient(100deg, #fff0 35%, #ffffffb3 50%, #fff0 65%), var(--surface-peach);background-size:200% 100%;width:min(100%,48rem);height:14rem;animation:1.4s linear infinite booking-shimmer}.booking-hero{grid-template-columns:minmax(0,1.35fr) minmax(17rem,.65fr);align-items:end;gap:2rem;display:grid}.booking-hero h1{max-width:10ch;font-size:clamp(2.4rem,5.6vw,5.2rem);line-height:var(--line-height-display);margin-block:.65rem 0}.booking-hero>p{max-width:30rem;color:var(--ink-muted);margin:0 0 .5rem;font-size:clamp(1rem,1.4vw,1.2rem)}.booking-data-note,.booking-storage-warning{border:1px solid var(--semantic-warning);color:#6c4300;background:#fff5db;margin-top:1.5rem;padding:.75rem 1rem;font-size:.8rem;font-weight:700}.booking-progress{border-block:1px solid var(--line);background:#fffaf7d6;margin-top:clamp(2rem,5vw,4rem)}.booking-progress ol{grid-template-columns:repeat(6,minmax(0,1fr));margin:0;padding:1rem 0;list-style:none;display:grid}.booking-progress li{min-width:0;position:relative}.booking-progress li:before{background:var(--line);content:"";height:1px;position:absolute;top:1.25rem;left:-50%;right:50%}.booking-progress li:first-child:before{display:none}.booking-progress button{z-index:1;cursor:pointer;background:0 0;border:0;justify-items:center;gap:.4rem;width:100%;min-height:4.25rem;display:grid;position:relative}.booking-progress button:disabled{cursor:default}.booking-progress button>span{border:1px solid var(--line);background:var(--surface-raised);width:2.5rem;height:2.5rem;color:var(--ink-muted);border-radius:50%;place-items:center;font-size:.78rem;font-weight:700;display:grid}.booking-progress small{max-width:100%;color:var(--ink-muted);text-align:center;text-wrap:balance;white-space:normal;font-size:.6875rem;font-weight:600;line-height:1.25}.booking-progress .is-active button>span,.booking-progress .is-done button>span{border-color:var(--action);background:var(--action);color:#fff}.booking-progress .is-active small,.booking-progress .is-done small{color:var(--ink-strong)}.booking-layout{grid-template-columns:minmax(0,1fr) minmax(17rem,20rem);align-items:start;gap:clamp(2rem,5vw,4rem);margin-top:clamp(2.5rem,6vw,5rem);display:grid}.booking-main{min-width:0}.booking-step-anchor{scroll-margin-top:6rem}.booking-step-anchor:focus{outline:none}.booking-side{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-raised);box-shadow:var(--shadow-soft);padding:1.5rem;position:sticky;top:2rem}.booking-side dl{margin-block:1.25rem}.booking-side dl>div{border-bottom:1px solid var(--line);gap:.25rem;padding-block:.75rem;display:grid}.booking-side dt{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:700}.booking-side dd{color:var(--ink-strong);margin:0;font-weight:700}.booking-side>p:last-child{color:var(--ink-muted);margin:0;font-size:.78rem}.booking-back{min-height:2.75rem;color:var(--action);cursor:pointer;background:0 0;border:0;margin-bottom:1.5rem;padding:0;font-weight:700}.booking-step{min-width:0}.booking-step__heading{margin-bottom:2.5rem}.booking-step__heading h2{max-width:18ch;color:var(--ink-strong);letter-spacing:-.045em;font-size:clamp(1.6rem,3.68vw,3.2rem);font-weight:700;line-height:var(--line-height-section);text-transform:uppercase;text-wrap:balance;margin-block:.65rem .9rem}.booking-step__heading>p:last-child{max-width:42rem;color:var(--ink-muted);margin:0}.booking-fieldset{border:0;min-width:0;margin:0 0 2.5rem;padding:0}.booking-fieldset>legend{width:100%;color:var(--ink-strong);padding:0 0 .85rem;font-size:.9rem;font-weight:700}.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.choice-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid--tiers{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.choice-card,.style-card{border:1px solid var(--line);background:var(--surface-raised);cursor:pointer;min-width:0;transition:border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);position:relative}.choice-card{border-radius:var(--radius-card);align-content:center;gap:.4rem;min-height:7.5rem;padding:1.25rem;display:grid}.choice-card:hover,.style-card:hover{border-color:var(--action);transform:translateY(-.125rem)}.choice-card.is-selected,.style-card.is-selected{border-color:var(--action);box-shadow:0 0 0 2px var(--action)}.choice-card input,.style-card input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.choice-card:after,.style-card:after{border:1px solid var(--line);background:var(--surface-raised);color:#fff;content:"";border-radius:50%;place-items:center;width:1.4rem;height:1.4rem;font-size:.7rem;display:grid;position:absolute;top:.9rem;right:.9rem}.choice-card.is-selected:after,.style-card.is-selected:after{border-color:var(--action);background:var(--action);content:"✓"}.choice-card strong,.style-card strong{color:var(--ink-strong);font-size:.98rem}.choice-card small,.style-card small{color:var(--ink-muted);font-size:.74rem}.style-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.style-card{border-radius:var(--radius-card);align-content:start;gap:.45rem;min-height:13rem;padding:.75rem;display:grid;overflow:hidden}.style-card img,.style-card__placeholder{width:100%;aspect-ratio:var(--ratio-portrait);border-radius:var(--radius-card);object-fit:cover}.style-card__placeholder{background:var(--brand-gradient);color:var(--ink-on-brand);letter-spacing:.12em;place-items:center;font-size:.67rem;font-weight:700;display:grid}.addon-list{border-top:1px solid var(--line)}.addon-row{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:4.5rem;padding:.8rem 0;display:grid}.addon-row input,.toggle-row input{width:1.25rem;height:1.25rem;accent-color:var(--action)}.addon-row>span:nth-child(2){gap:.2rem;display:grid}.addon-row small{color:var(--ink-muted);font-size:.72rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem;display:grid}.field{gap:.45rem;min-width:0;display:grid}.field--wide{grid-column:1/-1}.field>span,.studio-address>span{color:var(--ink-strong);font-size:.78rem;font-weight:700}.field input,.field select,.field textarea,.slot-sheet input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);width:100%;min-height:3.25rem;padding:.75rem .9rem;font-size:1rem}.field textarea{resize:vertical;min-height:7rem}.field input:focus,.field select:focus,.field textarea:focus,.slot-sheet input:focus{border-color:var(--action);outline:2px solid #9d28562e}.studio-address{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-peach);align-content:center;gap:.35rem;min-height:4.9rem;padding:.75rem .9rem;display:grid}.date-actions{align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.date-actions .field{flex:1}.peak-day{background:var(--brand-soft-peach);min-height:2.25rem;color:var(--ink-strong);border-radius:999px;align-items:center;margin-bottom:1.25rem;padding:.4rem .8rem;font-size:.72rem;font-weight:700;display:inline-flex}.artist-slot-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-raised);margin-bottom:.9rem;padding:1.25rem}.artist-slot-card.is-selected{border-color:var(--action);box-shadow:0 0 0 2px #9d285629}.artist-slot-card--help{background:linear-gradient(135deg, #e45b781a, #f4bb972e), var(--surface-raised)}.artist-slot-card__profile{align-items:center;gap:.9rem;display:flex}.artist-slot-card__profile h3{color:var(--ink-strong);margin-block:0 .2rem;font-size:1rem}.artist-slot-card__profile p{color:var(--ink-muted);margin:0;font-size:.74rem}.artist-avatar,.slot-alternative__avatar{background:var(--brand-gradient);width:3.5rem;height:3.5rem;color:var(--ink-on-brand);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid;overflow:hidden}.artist-avatar img,.slot-alternative__avatar img{object-fit:cover;width:100%;height:100%}.slot-list,.slot-chip-list{flex-wrap:wrap;gap:.55rem;min-width:0;margin-top:1rem;display:flex}.slot-list button,.slot-chip{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-paper);cursor:pointer;place-items:center;gap:.1rem;min-width:5.4rem;min-height:3.6rem;padding:.45rem .7rem;display:grid}.slot-list button:hover,.slot-list button.is-selected,.slot-chip:hover{border-color:var(--action);background:var(--action);color:#fff}.slot-list button.is-selected .money,.slot-list button:hover .money,.slot-chip:hover .money{color:#fff}.slot-list small,.slot-chip .money{font-size:.63rem}.booking-note,.booking-alert,.booking-empty,.booking-success,.price-assurance,.booking-privacy{border-radius:var(--radius-sm);padding:1rem 1.15rem}.booking-note{background:var(--semantic-teal-soft);color:var(--semantic-teal);font-weight:700}.booking-alert{color:var(--semantic-danger);background:#fff0f2;border:1px solid #a12a3c42}.booking-alert p{margin-bottom:.8rem}.booking-empty{border:1px dashed var(--line);background:var(--surface-raised);text-align:center}.booking-empty strong{color:var(--ink-strong)}.booking-empty p{color:var(--ink-muted)}.price-breakdown{border-top:1px solid var(--line)}.price-breakdown>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:3.6rem;display:flex}.price-breakdown>div span{color:var(--ink-muted)}.price-breakdown__total{color:var(--ink-strong);font-size:1.25rem;min-height:5rem!important}.price-breakdown__total .money{color:var(--action);font-size:clamp(1.6rem,4vw,2.4rem)}.price-assurance{background:var(--semantic-teal-soft);margin-top:1.5rem}.price-assurance strong{color:var(--semantic-teal)}.price-assurance p{color:var(--ink);margin:.35rem 0 0}.toggle-row{min-height:3.5rem;color:var(--ink-strong);cursor:pointer;align-items:center;gap:.7rem;margin-block:1.3rem;font-weight:700;display:flex}.booking-privacy{background:var(--surface-peach);color:var(--ink-muted);margin-top:1.25rem;font-size:.75rem}.booking-error,.field-error{color:var(--semantic-danger);font-size:.8rem;font-weight:700}.booking-error{border-left:.25rem solid var(--semantic-danger);background:#fff0f2;margin-top:1.5rem;padding:.85rem 1rem}.booking-total{z-index:var(--z-sticky);right:var(--gutter);bottom:1rem;left:var(--gutter);width:min(calc(100% - (2 * var(--gutter))), 54rem);border-radius:var(--radius-card);color:#fff;background:#2d111cf5;border:1px solid #ffffffb3;justify-content:space-between;align-items:center;gap:1.25rem;min-height:5.6rem;margin-inline:auto;padding:.85rem .9rem .85rem 1.25rem;display:flex;position:fixed;box-shadow:0 1.4rem 4rem #2d111c59}.booking-total__summary{gap:.1rem;min-width:0;display:grid}.booking-total__summary>span{color:#ffffffb8;letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:700}.booking-total__summary .money{color:#fff;font-size:clamp(1.25rem,3vw,1.75rem)}.booking-total__summary small{color:#ffffffb3;font-size:.68rem}.booking-total__button{flex:none;min-width:11rem}.payment-grid{grid-template-columns:minmax(15rem,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(1.5rem,5vw,3.5rem);display:grid}.qr-card{border:1px solid var(--line);border-radius:var(--radius-card);text-align:center;background:#fff;padding:1rem}.qr-card img{width:100%;max-width:22rem;margin-inline:auto}.qr-card p{color:var(--ink);margin:.8rem 0 0;font-size:.8rem}.payment-summary{gap:.9rem;display:grid}.payment-summary>div{border-bottom:1px solid var(--line);gap:.2rem;padding-bottom:.8rem;display:grid}.payment-summary span{color:var(--ink-muted);font-size:.75rem;font-weight:700}.payment-summary .money,.payment-countdown{color:var(--ink-strong);font-size:clamp(1.5rem,4vw,2.3rem);font-weight:700}.payment-countdown{color:var(--action);font-variant-numeric:tabular-nums}.payment-policies,.trust-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-raised);margin-top:1.5rem;padding:1.4rem}.payment-policies h3{color:var(--ink-strong);letter-spacing:.05em;font-size:.92rem}.payment-policies ul{margin-bottom:0;padding-left:1.2rem}.trust-card strong{color:var(--ink-strong);margin-top:.45rem;display:block}.trust-card blockquote{border-left:2px solid var(--brand-coral);color:var(--ink-muted);margin:1rem 0 0;padding-left:1rem}.payment-confirmed{border-radius:var(--radius-card);background:var(--semantic-teal-soft);align-items:center;gap:1rem;padding:clamp(1.5rem,5vw,3rem);display:flex}.payment-confirmed>span{background:var(--semantic-success);color:#fff;border-radius:50%;flex:none;place-items:center;width:4rem;height:4rem;font-size:1.7rem;font-weight:700;display:grid}.payment-confirmed strong{color:var(--semantic-success);font-size:1.2rem}.payment-confirmed p{margin:.3rem 0 0}.slot-sheet{z-index:var(--z-modal);align-items:end;display:grid;position:fixed;inset:0}.slot-sheet__backdrop{cursor:pointer;background:#2d111ca6;border:0;position:absolute;inset:0}.slot-sheet__dialog{border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface-paper);width:min(100%,48rem);max-height:90dvh;margin-inline:auto;position:relative;overflow:hidden;box-shadow:0 -1.5rem 5rem #2d111c47}.slot-sheet__header{border-bottom:1px solid var(--line);background:var(--surface-soft);justify-content:space-between;align-items:start;gap:1rem;padding:1.4rem;display:flex}.slot-sheet__header h2{color:var(--ink-strong);letter-spacing:-.04em;font-size:clamp(1.28rem,4vw,2rem);line-height:var(--line-height-section);text-transform:uppercase;margin-block:.35rem .4rem}.slot-sheet__header p:last-child{color:var(--ink-muted);margin:0;font-size:.8rem}.slot-sheet__close{border:1px solid var(--line);background:var(--surface-raised);cursor:pointer;border-radius:50%;flex:none;place-items:center;width:2.75rem;height:2.75rem;font-size:1.6rem;display:grid}.slot-sheet__body{overscroll-behavior:contain;max-height:calc(90dvh - 9.5rem);padding:1.4rem;overflow-y:auto}.slot-sheet__section{border-bottom:1px solid var(--line);padding-block:1.25rem}.slot-sheet__section:first-child{padding-top:0}.slot-sheet__section h3{color:var(--ink-strong);margin-bottom:.8rem;font-size:.95rem}.slot-alternatives{gap:.65rem;display:grid}.slot-alternative{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);cursor:pointer;text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:4.8rem;padding:.65rem;display:grid}.slot-alternative__avatar{width:3rem;height:3rem}.slot-alternative>span:nth-child(2){display:grid}.slot-alternative small{color:var(--ink-muted)}.slot-alternative__action{color:var(--action);font-weight:700}.slot-sheet__help{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.slot-sheet__help p{color:var(--ink-muted);margin:0;font-size:.8rem}.slot-sheet__waitlist{grid-template-columns:minmax(0,1fr) auto;gap:.8rem;display:grid}.slot-sheet__waitlist label{color:var(--ink-strong);gap:.35rem;font-size:.75rem;font-weight:700;display:grid}.slot-sheet__waitlist .field-error{grid-column:1/-1;margin:0}.booking-success{background:var(--semantic-teal-soft);color:var(--semantic-success)}@keyframes booking-shimmer{to{background-position:-200% 0}}@media (width<=64rem){.booking-layout{grid-template-columns:minmax(0,1fr)}.booking-side{display:none;position:static}.style-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=48rem){.booking-shell{padding:2rem 1rem calc(8.5rem + env(safe-area-inset-bottom))}.booking-hero{grid-template-columns:1fr;gap:1rem}.booking-progress{margin-top:1.6rem}.booking-progress ol{padding:.75rem 0}.booking-progress li:before{top:1.05rem}.booking-progress button{min-height:3.6rem;padding-inline:0}.booking-progress button>span{width:2.1rem;height:2.1rem}.booking-layout{margin-top:2.2rem}.booking-step__heading{margin-bottom:2rem}.choice-grid,.choice-grid--two,.choice-grid--tiers{grid-template-columns:1fr}.choice-card{min-height:6.5rem}.style-grid{scroll-snap-type:x mandatory;grid-template-columns:none;grid-auto-columns:minmax(9.5rem,48%);grid-auto-flow:column;overflow-x:auto}.style-card{scroll-snap-align:start}.form-grid{grid-template-columns:1fr}.field--wide{grid-column:auto}.date-actions{flex-direction:column;align-items:stretch}.artist-slot-card{padding:1rem}.slot-list{flex-wrap:nowrap;padding-bottom:.4rem;overflow-x:auto}.slot-list button{flex:none}.booking-total{right:.65rem;bottom:calc(.65rem + env(safe-area-inset-bottom));border-radius:var(--radius-card);width:auto;min-height:5.3rem;padding:.7rem .7rem .7rem 1rem;left:.65rem}.booking-total__summary small{display:none}.booking-total__button{min-width:0;max-width:48%;padding-inline:1rem}.payment-grid{grid-template-columns:1fr}.slot-sheet__dialog{border-radius:var(--radius-md) var(--radius-md) 0 0}.slot-sheet__header,.slot-sheet__body{padding:1rem}.slot-sheet__help,.slot-sheet__waitlist{grid-template-columns:1fr}.slot-sheet__waitlist .field-error{grid-column:auto}}@media (prefers-reduced-motion:reduce){.booking-skeleton{animation:none}.choice-card,.style-card{transition:none}}
