.booking{--booking-primary:var(--color-primary);--booking-primary-hover:var(--color-primary-hover);--booking-text:var(--color-text);--booking-text-muted:var(--color-text-muted);--booking-bg-soft:var(--color-bg-soft);--booking-border:color-mix(in srgb,var(--color-text) 12%,transparent)}.booking.express-section{border-bottom:none}.booking__container{max-width:var(--space-container-max,1200px);margin:0 auto;min-width:0}.booking__header{margin-bottom:var(--space-block,2.5rem);max-width:var(--type-measure,65ch)}.booking__title{margin:0 0 .75rem;font-size:var(--type-h2);font-weight:700;line-height:1.05;letter-spacing:-.02em;color:var(--booking-text)}.booking__subtitle{margin:0;font-size:var(--type-lead,1.125rem);line-height:var(--type-line-body,1.45);color:var(--booking-text-muted)}.booking__wizard{min-width:0;padding:clamp(1.25rem,3vw,2rem);border-radius:2rem;background:var(--booking-bg-soft);box-shadow:0 16px 40px color-mix(in srgb,var(--booking-text) 6%,transparent)}.booking__wizard--editorial{border:none}.booking__progress{margin:0 0 1.25rem}.booking__progress,.booking__step-lead{font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--booking-text-muted)}.booking__step-lead{margin:0;line-height:1.3}.booking__dates{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;max-width:100%}.booking__date-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:4.5rem;min-height:48px;padding:.625rem .875rem;border:1px solid var(--booking-border);border-radius:999px;background:#fff;text-align:center;cursor:pointer;touch-action:manipulation;transition:border-color var(--motion-fast,.2s ease),background-color var(--motion-fast,.2s ease),color var(--motion-fast,.2s ease)}.booking__date-card--selected,.booking__date-card:hover{border-color:var(--booking-primary)}.booking__date-card--selected{background:var(--booking-primary);color:#fff}.booking__date-card--selected .booking__date-day,.booking__date-card--selected .booking__date-month,.booking__date-card--selected .booking__date-num{color:inherit}.booking__date-day{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--booking-text-muted)}.booking__date-num{font-size:1.125rem;font-weight:700;line-height:1.2;color:var(--booking-text)}.booking__date-month{font-size:.6875rem;color:var(--booking-text-muted)}.booking__time-section{margin-top:.5rem}.booking__time-section[hidden]{display:none}.booking__selected-date{margin:0 0 .75rem;font-size:.9375rem;font-weight:600;color:var(--booking-text)}.booking__time-grid{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.booking__time-slot{display:inline-flex;flex-direction:row;align-items:center;gap:.375rem;min-height:44px;padding:.5rem 1rem;border:1px solid var(--booking-border);border-radius:999px;background:#fff;font:inherit;cursor:pointer;touch-action:manipulation;transition:border-color var(--motion-fast,.2s ease),background-color var(--motion-fast,.2s ease)}.booking__time-slot--selected,.booking__time-slot:hover:not(:disabled){border-color:var(--booking-primary)}.booking__time-slot--selected{background:var(--color-bg-accent,#fcfaff);box-shadow:inset 0 0 0 1px var(--booking-primary)}.booking__time-slot:disabled{opacity:.4;cursor:not-allowed}.booking__time-slot-time{font-weight:600;color:var(--booking-text)}.booking__time-slot-status{font-size:.6875rem;color:var(--booking-text-muted)}.booking__form{gap:.75rem}.booking__form,.booking__label{display:flex;flex-direction:column}.booking__label{gap:.35rem;min-width:0;font-size:.9375rem;font-weight:600;color:var(--booking-text)}.booking__input,.booking__textarea{min-height:48px;padding:.75rem 1rem;border:1px solid var(--booking-border);border-radius:.75rem;background:#fff;font:inherit;color:var(--booking-text);transition:border-color var(--motion-fast,.2s ease)}.booking__input:focus,.booking__textarea:focus{border-color:color-mix(in srgb,var(--booking-primary) 40%,var(--booking-border));outline:none}.booking__textarea{min-height:96px;resize:vertical}.booking__summary{margin:0 0 1.25rem;padding:0 0 1.25rem;border-bottom:1px solid var(--booking-border)}.booking__summary-label{margin:0 0 .5rem;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1.3;color:var(--booking-text-muted)}.booking__summary-product{margin:0 0 .25rem;font-size:1rem;font-weight:700;line-height:1.3;color:var(--booking-text)}.booking__summary-slot{margin:0;font-size:.9375rem;line-height:1.45;color:var(--booking-text-muted)}.booking__consent{display:flex;align-items:flex-start;gap:.65rem;margin:.25rem 0 0;font-size:.875rem;line-height:1.4;color:var(--booking-text)}.booking__consent input{width:1.15rem;height:1.15rem;margin-top:.15rem;flex:0 0 auto}.booking__note{margin:0;font-size:.875rem;line-height:1.45;color:var(--booking-text-muted)}.booking__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.booking__actions--confirm{align-items:center;justify-content:space-between}.booking__btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.5rem;border-radius:999px;font-size:var(--type-body,1rem);font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;border:none;touch-action:manipulation}.booking__btn--primary{min-width:0;max-width:100%;box-sizing:border-box}.booking__actions:not(.booking__actions--confirm) .booking__btn--primary{flex:1 1 100%;width:100%;max-width:100%}.booking__btn--ghost{min-height:48px;background:#fff;color:var(--booking-text-muted);border:1px solid var(--booking-border);transition:border-color var(--motion-fast,.2s ease),color var(--motion-fast,.2s ease)}.booking__btn--ghost:hover:not(:disabled){border-color:color-mix(in srgb,var(--booking-primary) 35%,var(--booking-border));color:var(--booking-text)}.booking__btn:focus-visible,.booking__date-card:focus-visible,.booking__input:focus-visible,.booking__secondary-toggle:focus-visible,.booking__textarea:focus-visible,.booking__time-slot:focus-visible{outline:2px solid var(--booking-primary);outline-offset:2px}.booking__error{margin:0;font-size:.875rem;color:#c0392b}.booking__error-block{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.booking__retry{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:.625rem 1.25rem;border:1px solid var(--booking-border);border-radius:var(--radius-sm,10px);background:#fff;font:inherit;font-size:.9375rem;font-weight:600;color:var(--booking-primary);cursor:pointer;touch-action:manipulation}.booking__retry:disabled{opacity:.6;cursor:not-allowed}.booking__retry:focus-visible{outline:2px solid var(--booking-primary);outline-offset:2px}.booking__success{padding:clamp(1.5rem,4vw,2.5rem);border-radius:2rem;background:var(--booking-bg-soft);box-shadow:0 16px 40px color-mix(in srgb,var(--booking-text) 6%,transparent);text-align:center}.booking__success h3{margin:0 0 .5rem;font-size:clamp(1.25rem,2.5vw,1.5rem);color:var(--booking-text)}.booking__success p{margin:0;color:var(--booking-text-muted)}.booking__success p+p{margin-top:.75rem}.booking__success-pay{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:1.25rem}.booking__success-pay .booking__btn{min-width:min(100%,20rem)}.booking-return{padding:clamp(2.5rem,8vw,5rem) 1.25rem 4rem}.booking__secondary{margin-top:var(--space-block,2.5rem);padding-top:1.5rem;border-top:1px solid var(--booking-border)}.booking__secondary-toggle{display:inline-block;margin-bottom:1rem;padding:0;border:0;background:none;font:inherit;font-size:.9375rem;font-weight:600;color:var(--booking-primary);cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color var(--motion-fast,.2s ease)}.booking__secondary-toggle:hover{color:var(--booking-primary-hover)}.booking__secondary-toggle:focus-visible{outline:2px solid var(--booking-primary);outline-offset:2px;border-radius:4px}.booking__secondary-panel[hidden]{display:none}.booking__secondary-panel:not([hidden]){margin-top:.25rem;padding:clamp(1.25rem,3vw,1.75rem);border-radius:1.5rem;background:var(--booking-bg-soft)}.booking__question-layout{display:grid;grid-template-columns:1fr;grid-gap:1.5rem;gap:1.5rem;align-items:start}.booking__question-form-col{min-width:0;display:flex;flex-direction:column;gap:.75rem}.booking__question-lead{margin:0;font-size:.9375rem;line-height:1.45;color:var(--booking-text-muted)}.booking__form--question .booking__btn--primary{width:100%;max-width:100%;margin-top:.25rem}.booking__success--inline{padding:1.25rem;border-radius:1rem;box-shadow:none;text-align:left}.booking__map{min-width:0;display:flex;flex-direction:column;gap:.75rem}.booking__map-label{margin:0;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1.3;color:var(--booking-text-muted)}.booking__map-frame{position:relative;width:100%;height:280px;overflow:hidden;border-radius:1.25rem;background:#fff;border:1px solid var(--booking-border)}.booking__map-frame iframe{display:block;width:100%;height:100%;border:0}.booking__map-address{margin:0;font-size:.9375rem;line-height:1.45;color:var(--booking-text)}.booking__map-link{font-size:.9375rem;font-weight:600;color:var(--booking-primary);text-decoration:none;width:-moz-fit-content;width:fit-content}.booking__map-link:hover{color:var(--booking-primary-hover)}.booking__map-link:focus-visible{outline:2px solid var(--booking-primary);outline-offset:2px;border-radius:4px}.booking__contacts{margin:1.5rem 0 0;font-size:.875rem;line-height:1.45;color:var(--booking-text-muted)}@media (min-width:768px){.booking__question-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.25rem,2.5vw,2rem);align-items:stretch}.booking__map{height:100%}.booking__map-frame{flex:1 1;min-height:360px}.booking__form--question{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem 1rem;gap:.75rem 1rem}.booking__form--question .booking__btn--primary,.booking__form--question .booking__label--full{grid-column:1/-1}}.booking__empty{margin:0;font-size:.9375rem;color:var(--booking-text-muted)}.booking__empty p{margin:0 0 1rem}.booking__empty-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.booking__empty-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;text-decoration:none;border-radius:var(--radius-sm,10px)}.booking__empty-link--secondary{color:var(--color-primary);background:var(--color-bg-soft,#f5f2fa)}.booking__loading{margin:0;font-size:.9375rem;color:var(--booking-text-muted)}.booking__layout{display:grid;grid-template-columns:1fr;grid-gap:1.5rem;gap:1.5rem}.booking__main{display:flex;flex-direction:column;gap:1rem;min-width:0}@media (max-width:390px){.booking__date-card{min-width:4rem;padding:.5rem .625rem}.booking__actions--confirm .booking__btn{width:100%;min-width:0}.booking__actions--confirm{flex-direction:column-reverse}}@media (min-width:768px){.booking__layout{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:clamp(1.25rem,2.5vw,2rem)}.booking__aside{position:-webkit-sticky;position:sticky;top:calc(var(--capsule-header-height, 4.25rem) + 1rem)}.booking__form--confirm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem 1rem;gap:.75rem 1rem}.booking__wizard[data-booking-step="2"] .booking__main{gap:1.25rem}}.booking__aside{margin:0;padding:clamp(1rem,2vw,1.5rem);border-radius:1.25rem;background:#fff;height:-moz-fit-content;height:fit-content}.booking__next-steps-title{margin:0 0 .875rem;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1.3;color:var(--booking-text-muted)}.booking__next-steps-list{display:flex;flex-direction:column;gap:.875rem;margin:0;padding:0;list-style:none;counter-reset:booking-next-step}.booking__next-steps-marker{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;font-size:.75rem;font-weight:600;line-height:1;color:#fff;background:var(--booking-primary)}.booking__next-steps-item{display:grid;grid-template-columns:1.5rem 1fr;grid-gap:.625rem;gap:.625rem;align-items:start;counter-increment:booking-next-step}.booking__next-steps-marker:before{content:counter(booking-next-step)}.booking__next-steps-content{min-width:0}.booking__next-steps-item-title{margin:0 0 .25rem;font-size:.875rem;font-weight:600;line-height:1.35;color:var(--booking-text)}.booking__next-steps-item-body{margin:0;font-size:.8125rem;line-height:1.45;color:var(--booking-text-muted)}@media (prefers-reduced-motion:reduce){.booking__btn--ghost,.booking__date-card,.booking__input,.booking__secondary-toggle,.booking__textarea,.booking__time-slot{transition:none}}