.booking-shell{background:radial-gradient(120% 60% at 50% 0%, #24d8ff1a, transparent 60%), var(--bg-strong);min-height:100svh;color:var(--text-primary);flex-direction:column;display:flex}.booking-header{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-subtle);background:#050713eb;position:sticky;top:0}.booking-header-row{justify-content:space-between;align-items:center;gap:16px;width:min(720px,100% - 32px);min-height:60px;margin:0 auto;display:flex}.booking-header-row .brand-logo{width:auto;height:26px}.booking-header-row>span{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:700}.booking-progress{background:var(--bg-muted);height:3px}.booking-progress span{background:linear-gradient(90deg, var(--brand-primary), var(--brand-secondary));height:100%;transition:width .42s var(--ease-out);display:block;box-shadow:0 0 12px #24d8ff99}.booking-main{flex:1;width:min(720px,100% - 32px);margin:0 auto;padding:40px 0 32px}.booking-main.is-forward .booking-step>h1,.booking-main.is-forward .booking-step>.booking-hint,.booking-main.is-forward .booking-count{animation:booking-in-forward .42s var(--ease-out) both}.booking-main.is-back .booking-step>h1,.booking-main.is-back .booking-step>.booking-hint,.booking-main.is-back .booking-count{animation:booking-in-back .42s var(--ease-out) both}.booking-main .booking-step>.booking-hint{animation-delay:60ms}.booking-main .booking-step>:not(h1):not(.booking-hint):not(.booking-options){animation:booking-fade-up .42s var(--ease-out) .14s both}@keyframes booking-in-forward{0%{opacity:0;transform:translate(28px)}}@keyframes booking-in-back{0%{opacity:0;transform:translate(-28px)}}@keyframes booking-fade-up{0%{opacity:0;transform:translateY(14px)}}.booking-count{color:var(--brand-primary);align-items:center;gap:6px;margin:0 0 14px;font-size:14px;font-weight:800;display:flex}.booking-count span{color:var(--text-secondary);font-weight:600}.booking-timer{background:#24d8ff1a;border:1px solid #24d8ff40;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex;color:var(--brand-primary)!important}.booking-timer>span{animation:booking-fade-up .3s var(--ease-out)}.booking-step h1{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(26px,5vw,36px);font-weight:800;line-height:1.15}.booking-hint{color:var(--text-secondary);margin:12px 0 28px;font-size:16px;line-height:1.5}.booking-options{gap:12px;display:grid}.booking-options-media{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-option{animation:booking-fade-up .38s var(--ease-out) both;animation-delay:calc(90ms + var(--i,0) * 45ms);text-align:left;width:100%;color:inherit;background:var(--bg-card-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .18s ease, background-color .18s ease, transform .16s var(--ease-out);align-items:center;gap:16px;padding:18px 20px;display:flex;position:relative}.booking-option:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.booking-option:hover{border-color:#24d8ff73;transform:translateY(-2px)}.booking-option:hover .booking-option-icon{transform:scale(1.06)}}.booking-option.is-selected{border-color:var(--brand-primary);box-shadow:0 0 0 1px var(--brand-primary), var(--shadow-glow);background:#24d8ff1f}.booking-option-text{flex:1;gap:4px;display:grid}.booking-option-icon{width:46px;height:46px;color:var(--brand-primary);transition:transform .26s var(--ease-out), background-color .2s ease, color .2s ease;background:#24d8ff1a;border:1px solid #24d8ff33;border-radius:14px;flex-shrink:0;place-items:center;display:grid}.booking-option.is-selected .booking-option-icon{color:#03101d;background:linear-gradient(135deg, var(--brand-primary), #3b7cff 60%, var(--brand-secondary));transform:rotate(-6deg)scale(1.08)}.booking-option-key{border:1px solid var(--border-light);width:28px;height:28px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;place-items:center;font-size:13px;font-weight:800;display:grid;position:relative}.booking-key-letter,.booking-key-check{transition:opacity .16s ease, transform .26s var(--ease-out);grid-area:1/1;place-items:center;display:grid}.booking-key-check{opacity:0;transform:scale(.4)}.booking-option.is-selected .booking-option-key{border-color:var(--brand-primary);background:var(--brand-primary);color:#03101d}.booking-option.is-selected .booking-key-letter{opacity:0;transform:scale(.4)}.booking-option.is-selected .booking-key-check{opacity:1;transform:scale(1)}.booking-option.is-selected{animation:booking-pop .32s var(--ease-out)}@keyframes booking-pop{40%{transform:scale(1.02)}}.booking-option-text strong{font-size:17px;line-height:1.3}.booking-option-text span{color:var(--text-secondary);font-size:14px;line-height:1.45}.booking-options-media .booking-option{flex-direction:column;align-items:stretch;gap:12px;padding:0 0 16px;overflow:hidden}.booking-options-media .booking-option-key{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050713b3;position:absolute;top:10px;right:10px}.booking-option-media img{transition:transform .5s var(--ease-out)}.booking-option.is-selected .booking-option-media img{transform:scale(1.05)}.booking-options-media .booking-option-text{padding:0 16px}.booking-option-media{aspect-ratio:4/3;background:var(--bg-muted);color:var(--text-secondary);justify-content:center;align-items:center;font-size:40px;display:flex}.booking-option-media img{object-fit:cover;width:100%;height:100%}.booking-field{color:var(--text-secondary);gap:8px;margin-top:16px;font-size:14px;font-weight:700;display:grid}.booking-field input,.booking-field textarea,.booking-date input{width:100%;color:var(--text-primary);background:var(--bg-muted);border:1px solid var(--border-light);border-radius:var(--radius-lg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:14px 16px;font-size:17px;font-weight:500}.booking-field textarea{resize:vertical;min-height:140px}.booking-field input:focus,.booking-field textarea:focus,.booking-date input:focus{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 3px #24d8ff33}.booking-dates{gap:12px;margin-bottom:16px;display:grid}.booking-date{background:var(--bg-card-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:16px}.booking-date.is-main{border-color:#24d8ff73}.booking-date label{gap:8px;display:grid}.booking-date label>span{align-items:center;gap:8px;font-weight:700;display:flex}.booking-date em{color:var(--brand-primary);letter-spacing:.06em;text-transform:uppercase;background:#24d8ff24;border-radius:999px;padding:2px 8px;font-size:11px;font-style:normal}.booking-date p{color:var(--text-secondary);text-transform:capitalize;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:10px 0 0;font-size:14px;display:flex}.booking-date p strong{color:var(--text-primary)}.booking-link{color:var(--brand-primary);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:12px;padding:0;font-size:14px;font-weight:700;text-decoration:underline}.booking-note{color:var(--text-secondary);margin:16px 0 0;font-size:14px;line-height:1.5}.booking-estimate{border-radius:var(--radius-xl);background:#24d8ff14;border:1px solid #24d8ff4d;gap:4px;margin-top:24px;padding:18px 20px;display:grid}.booking-estimate span,.booking-estimate small{color:var(--text-secondary);font-size:14px}.booking-estimate strong{font-size:28px;line-height:1.2}.booking-footer{z-index:30;padding:14px max(16px, calc((100% - 720px) / 2)) calc(14px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border-subtle);background:#050713eb;justify-content:space-between;gap:12px;display:flex;position:sticky;bottom:0}.booking-footer .button:disabled{opacity:.4;cursor:not-allowed;filter:none}.booking-footer .button-primary{flex:1;gap:8px;max-width:340px}.booking-next svg{transition:transform .2s var(--ease-out)}.booking-next.is-ready{animation:2.4s ease-in-out infinite booking-ready}.booking-next.is-ready svg{transform:translate(3px)}@keyframes booking-ready{0%,to{box-shadow:0 18px 44px #24d8ff38}50%{box-shadow:0 0 0 6px #24d8ff26,0 18px 44px #24d8ff59}}.booking-shortcut{display:none}@media (hover:hover) and (pointer:fine){.booking-shortcut{z-index:20;color:var(--text-secondary);opacity:.7;margin:0;font-size:12px;display:block;position:fixed;bottom:86px;right:20px}}.booking-shortcut kbd{border:1px solid var(--border-light);font:inherit;border-radius:4px;padding:1px 6px;font-weight:700}.booking-done{place-items:center;padding:24px;display:grid}.booking-done-card{text-align:center;max-width:440px;animation:booking-fade-up .42s var(--ease-out)}.booking-done-card h1{margin:24px 0 8px;font-size:clamp(28px,6vw,38px);font-weight:800}.booking-done-card p{color:var(--text-secondary);margin:0;font-size:17px;line-height:1.5}.booking-done-check{color:#03101d;background:linear-gradient(135deg, var(--brand-primary), #3b7cff 60%, var(--brand-secondary));width:88px;height:88px;box-shadow:var(--shadow-glow);border-radius:50%;place-items:center;animation:.6s cubic-bezier(.34,1.56,.64,1) both booking-check-pop;display:inline-grid}.booking-done-check svg{stroke-dasharray:30;stroke-dashoffset:30px;animation:booking-draw .42s var(--ease-out) .26s forwards}@keyframes booking-check-pop{0%{opacity:0;transform:scale(.3)}}@keyframes booking-draw{to{stroke-dashoffset:0}}@media (max-width:560px){.booking-options-media{grid-template-columns:1fr}.booking-main{padding-top:28px}}@media (prefers-reduced-motion:reduce){.booking-shell *,.booking-shell :before{transition:none!important;animation:none!important}}
