.booking{max-width:var(--wrap);margin:0 auto;padding:48px var(--gutter) 96px;box-sizing:content-box;display:flex;flex-direction:column;gap:32px}.booking__head{display:flex;flex-direction:column;gap:14px}.booking__title{margin:0;font:600 56px/1.05 var(--font-sans);letter-spacing:var(--tracking-display);color:#111}.booking__modes{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.booking__mode{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;height:52px;border-radius:var(--radius-pill);padding:0 24px 0 20px;font:500 17px var(--font-sans);color:#111;background:#fff;box-shadow:inset 0 0 0 1.5px #e3e3e3;transition:background .2s,box-shadow .2s}.booking__mode[aria-pressed=true]{background:#eddd86;box-shadow:none}.booking__mode:focus-visible,.booking__type:focus-visible,.class-tile:focus-visible,.app-step:focus-visible,.app-edit:focus-visible,.app-plus:focus-visible{box-shadow:var(--focus-ring)}.booking__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr);gap:32px;align-items:start}.booking__flow{display:flex;flex-direction:column;gap:22px;min-width:0}.booking__side{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}.app-card{border-radius:28px;background:#fff;box-shadow:0 10px 40px #0000000f,0 1px 3px #00000008;padding:26px 24px;display:flex;flex-direction:column;gap:22px}.app-card__head{display:flex;align-items:center;gap:18px}.app-card__icon{display:flex;color:#1a1a1a}.app-card__titles{display:flex;flex-direction:column;gap:2px;flex-grow:1;min-width:0}.app-card__title{margin:0;font:600 26px/1.15 var(--font-sans);letter-spacing:-.02em;color:#111}.app-card__sub{font:400 15px var(--font-sans);color:#6a6a6a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-card__body{display:block}.app-edit{all:unset;box-sizing:border-box;cursor:pointer;width:44px;height:44px;border-radius:var(--radius-pill);background:#f3f3f3;display:flex;align-items:center;justify-content:center;color:#1a1a1a;flex-shrink:0;transition:background .2s}.app-edit:hover{background:#e9e9e9}.booking__fields{display:flex;flex-direction:column;gap:12px;flex-grow:1;min-width:0;padding-right:60px}.booking__route-inputs{display:flex;gap:16px;align-items:flex-end}.app-x{all:unset;cursor:pointer;position:absolute;right:18px;top:26px;transform:translateY(-50%);display:flex;color:#7a7a7a}.app-x--static{position:static;transform:none}.app-x:focus-visible{box-shadow:var(--focus-ring);border-radius:50%}.app-plus{all:unset;box-sizing:border-box;cursor:pointer;width:44px;height:44px;border-radius:var(--radius-pill);background:#111;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s;position:absolute;right:-60px;top:-28px}.app-plus:disabled{background:#9b9b9b;cursor:default}.app-suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;margin:0;padding:8px;list-style:none;background:#fff;border-radius:20px;box-shadow:var(--shadow-overlay);border:1px solid var(--gray-200)}.app-suggest button{all:unset;box-sizing:border-box;width:100%;display:flex;gap:12px;align-items:center;padding:11px 14px;border-radius:14px;cursor:pointer;font:400 15px var(--font-sans);color:#111}.app-suggest button:hover,.app-suggest button:focus-visible{background:#f3f3f3}.app-suggest svg{color:#9c9c9c;flex:none}.app-field{position:relative}.booking__form-error{margin:0;font-size:14.5px}.booking__note{margin:4px 0 0;font:400 14px/1.4 var(--font-sans);color:#6a6a6a}.bk-marker{width:20px;height:20px;border:2px solid #A9A9A9;box-sizing:border-box;background:#fff;flex:none;display:flex;align-items:center;justify-content:center;font:600 10px var(--font-sans);color:#a9a9a9}.bk-marker--dot{border-radius:var(--radius-pill)}.bk-marker--square{border-radius:6px}.booking__how{display:flex;flex-direction:column;gap:26px}.booking__classes-wrap{display:flex;flex-direction:column;gap:14px}.booking__subtitle{font:600 16px var(--font-sans);color:#111}.booking__classes{display:flex;gap:14px;overflow-x:auto;padding:4px 4px 12px;margin:-4px;scroll-snap-type:x proximity}.class-tile{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;width:100px;flex:0 0 100px;scroll-snap-align:start;border-radius:18px}.class-tile__img{width:100%;aspect-ratio:1.1;border-radius:18px;background:#f7f7f7;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#6b6b6b;transition:box-shadow .2s}.class-tile__img picture{display:contents}.class-tile__img img{width:78%;height:auto;display:block}.class-tile[aria-pressed=true] .class-tile__img{box-shadow:inset 0 0 0 2px #eddd86}.class-tile__name{font:400 15px var(--font-sans);color:#8a8a8a}.class-tile[aria-pressed=true] .class-tile__name{color:#111}.class-tile__price{font:400 14px var(--font-sans);color:#8a8a8a;font-variant-numeric:tabular-nums;margin-top:-4px;text-align:center}.stepper{display:flex;align-items:center;gap:16px}.stepper__icon{display:flex;color:#6b6b6b}.stepper__label{font:500 17px var(--font-sans);color:#111;flex-grow:1}.stepper__value{width:40px;text-align:center;font:500 24px var(--font-sans);color:#111;font-variant-numeric:tabular-nums}.app-step{all:unset;box-sizing:border-box;cursor:pointer;width:44px;height:44px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;border:1.5px solid #D6D6D6;color:#111}.app-step:disabled{border-color:#ededed;color:#c9c8c6;cursor:default}.booking__who{display:flex;flex-direction:column;gap:18px}.booking__types{display:flex;gap:10px}.booking__type{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;height:44px;border-radius:var(--radius-pill);padding:0 22px;font:500 16px var(--font-sans);color:#111;background:#fff;box-shadow:inset 0 0 0 1.5px #e3e3e3;transition:background .2s,box-shadow .2s}.booking__type[aria-pressed=true]{background:#eddd86;box-shadow:none}.booking__two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.booking__two>.is-wide{grid-column:1 / -1}.booking__extra{display:flex;flex-direction:column;gap:10px;border-top:1px solid #EFEFEF;padding-top:16px}.booking__extra-head{display:flex;align-items:center;justify-content:space-between}.booking__add{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;align-self:flex-start;font:500 16px var(--font-sans);color:#111}.booking__add:focus-visible{box-shadow:var(--focus-ring);border-radius:999px}.booking__add-icon{width:44px;height:44px;border-radius:var(--radius-pill);background:#111;color:#fff;display:flex;align-items:center;justify-content:center}.booking__summary{border-radius:var(--radius-l);padding:32px;display:flex;flex-direction:column;gap:22px;box-shadow:var(--shadow-glass)}.booking__summary-title{margin:0;display:flex;align-items:center;gap:18px;font:600 26px/1.15 var(--font-sans);letter-spacing:-.02em;color:#111}.booking__chips-wrap{display:flex;flex-direction:column;gap:10px}.booking__label{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase}.booking__chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.booking__chips li{display:inline-flex;align-items:center;gap:8px;border-radius:var(--radius-pill);background:#fff;box-shadow:inset 0 0 0 1.5px #e6e6e6;padding:8px 14px 8px 12px;font:500 14px var(--font-sans);color:#111;white-space:nowrap;font-variant-numeric:tabular-nums}.booking__chips svg{color:#6b6b6b}.booking__route{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;row-gap:14px;align-items:start}.booking__stops{position:relative;display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}.booking__stops li:not(:last-child):after{content:"";position:absolute;left:9px;top:25px;bottom:-13px;width:2px;background:#a9a9a9;border-radius:1px}.booking__stops li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:14px;align-items:start;position:relative}.booking__stops .bk-marker{margin-top:1px;position:relative;z-index:1}.booking__stops li div{display:flex;flex-direction:column;min-width:0}.booking__stops strong{font:500 15px var(--font-sans);color:var(--text-primary)}.booking__stops span:not(.bk-marker){font:400 16px/1.5 var(--font-sans);color:var(--text-secondary);overflow-wrap:anywhere}.booking__when{display:flex;flex-direction:column;gap:14px;min-width:120px}.booking__when>div{display:flex;flex-direction:column}.booking__when-date,.booking__when-time{font-variant-numeric:tabular-nums;white-space:nowrap}.booking__when-date{font:500 15px var(--font-sans);color:var(--text-primary)}.booking__when-time{font:400 16px var(--font-sans);color:var(--text-secondary)}.booking__price{gap:4px}.booking__price-value{font:500 16px var(--font-sans);color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:1024px){.booking__grid{grid-template-columns:minmax(0,1fr)}.booking__side{position:static}}@media(max-width:768px){.booking{padding-block:28px 64px;gap:24px}.booking__title{font-size:40px}.booking__modes{flex-wrap:nowrap;overflow-x:auto;margin:6px calc(var(--gutter) * -1) 0;padding:0 var(--gutter) 4px;scrollbar-width:none}.booking__modes::-webkit-scrollbar{display:none}.booking__mode{flex:0 0 auto;height:46px;font-size:15px;padding:0 18px 0 16px;gap:10px}.app-card{padding:20px 18px;border-radius:24px}.app-card__title{font-size:22px}.booking__summary{padding:24px 20px}}@media(max-width:560px){.booking__title{font-size:34px}.booking__two,.booking__route{grid-template-columns:minmax(0,1fr)}.booking__route .bk-o1{order:1}.booking__route .bk-o2{order:2}.booking__route .bk-o3{order:3;margin-top:8px}.booking__route .bk-o4{order:4}.stepper{gap:10px}.stepper__label{font-size:16px}}.confirm{max-width:640px;margin:0 auto;padding:64px var(--gutter) 120px;box-sizing:content-box;display:flex;flex-direction:column;gap:24px;align-items:center;text-align:center}.confirm__check{width:88px;height:88px;border-radius:var(--radius-pill);background:var(--accent-500);color:#fff;display:flex;align-items:center;justify-content:center;font:600 40px var(--font-sans);animation:confirm-pop .6s var(--ease-spring) both}@keyframes confirm-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.confirm__title{margin:0;font:600 52px/1.05 var(--font-sans);letter-spacing:var(--tracking-display);color:var(--text-primary)}.confirm__text{margin:0;color:var(--text-secondary);max-width:460px}.confirm__card{border-radius:20px;padding:28px 32px;display:flex;flex-direction:column;gap:12px;width:100%;box-sizing:border-box;text-align:left;margin-top:8px}.confirm__row{display:flex;justify-content:space-between;gap:16px}.confirm__row dt{color:var(--text-secondary)}.confirm__row dd{margin:0;text-align:right;overflow-wrap:anywhere}.confirm__actions{display:flex;gap:16px;margin-top:8px;flex-wrap:wrap;justify-content:center}@media(max-width:768px){.confirm{padding-block:40px 80px}.confirm__title{font-size:38px}}@media(prefers-reduced-motion:reduce){.confirm__check{animation:none}}.booking__consents{display:flex;flex-direction:column;gap:14px}.booking__consent{display:flex;flex-direction:column;gap:6px}.booking__check{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;cursor:pointer;font:400 14.5px/1.5 var(--font-sans);color:var(--text-primary)}.booking__check input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:1px 0 0;border-radius:6px;border:1.5px solid var(--gray-300);background:#fff;display:grid;place-content:center;cursor:pointer;transition:background var(--motion-base),border-color var(--motion-base)}.booking__check input:after{content:"";width:11px;height:6px;border:solid var(--text-on-brand);border-width:0 0 2px 2px;transform:rotate(-45deg) translate(1px,-1px);opacity:0}.booking__check input:checked{background:var(--brand-300);border-color:var(--brand-500)}.booking__check input:checked:after{opacity:1}.booking__check input:focus-visible{box-shadow:var(--focus-ring);outline:none}.booking__check input[aria-invalid=true]{border-color:#c0392b}.booking__check a{color:inherit;text-decoration:underline;text-underline-offset:2px}.booking__info{border-radius:var(--radius-l);padding:26px 32px;display:flex;flex-direction:column;gap:14px}.booking__info-title{margin:0;display:flex;align-items:center;gap:12px;font:600 20px/1.2 var(--font-sans);letter-spacing:-.01em;color:#111}.booking__info-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px;color:var(--text-secondary)}.booking__info .booking__info-list{font:400 15.5px/1.5 var(--font-sans);gap:12px}.booking__info-list li{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start}.booking__info-list li>svg{color:var(--text-primary);margin-top:2px}.booking__info-list strong{color:var(--text-primary);font-weight:600}.booking__info-list a{color:var(--text-primary);text-decoration:underline;text-underline-offset:2px}@media(max-width:560px){.booking__info{padding:22px 20px}}.booking__info{scroll-margin-top:110px}.booking__info:target,.booking__info:focus{outline:2px solid var(--brand-300);outline-offset:3px}@media(prefers-reduced-motion:no-preference){html:has(.booking__info:target){scroll-behavior:smooth}}.booking__pay{display:flex;flex-direction:column;gap:10px}.booking__pay .booking__type{display:inline-flex;align-items:center;gap:8px}.app-suggest button.is-street{color:var(--text-secondary)}.app-suggest__label{flex:1;min-width:0}.app-suggest__hint{flex-shrink:0;font:500 12.5px var(--font-sans);color:var(--text-primary);background:var(--primary-100, #F9F1C9);border-radius:999px;padding:3px 10px}.booking__earliest{margin:10px 4px 0;color:var(--text-secondary)}.booking__note--route{margin:0;padding:14px 18px;border-radius:16px;background:#fbedeb;color:var(--destructive-500)}
