.booking-modal{z-index:200;padding:24px var(--page-gutter);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.booking-modal--sheet{align-items:flex-end;padding:0}.booking-modal--sheet .booking-modal__panel{width:100%;max-width:var(--max-width);border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:min(88vh,640px)}.booking-modal--sticky-footer .booking-modal__panel{flex-direction:column;display:flex;overflow:hidden}.booking-modal--sticky-footer .booking-modal__head{flex-shrink:0}.booking-modal--sticky-footer .booking-modal__body{flex-direction:column;flex:1;min-height:0;padding-bottom:16px;display:flex;overflow:hidden}.booking-modal__backdrop{cursor:pointer;background:#00000059;border:none;position:absolute;inset:0}.booking-modal__panel{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:360px;max-height:min(80vh,520px);box-shadow:var(--shadow-card);position:relative;overflow:auto}.booking-modal__head{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 12px;display:flex}.booking-modal__title{color:var(--color-text);margin:0;font-size:18px;font-weight:700}.booking-modal__subtitle{color:var(--color-text-secondary);margin:4px 0 0;font-size:13px}.booking-modal__close{width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:24px;line-height:1}.booking-modal__body{padding:0 20px 20px}.booking-modal__confirm{border-radius:var(--radius-lg);background:var(--color-primary);color:#fff;cursor:pointer;border:none;width:100%;margin-top:4px;padding:15px 16px;font-family:inherit;font-size:16px;font-weight:600;display:block}.booking-modal__confirm:disabled{background:var(--color-border);color:var(--color-text-secondary);cursor:not-allowed}.city-picker{flex-direction:column;gap:8px;display:flex}.city-picker__item{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);text-align:left;cursor:pointer;width:100%;min-height:52px;color:var(--color-text);align-items:center;gap:12px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.city-picker__item--selected{border-color:var(--color-primary);background:var(--color-primary-subtle)}.city-picker__icon{background:var(--color-bg-muted);width:36px;height:36px;color:var(--color-text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.city-picker__item--selected .city-picker__icon{background:var(--color-primary);color:#fff}.city-picker__label{flex:1;font-size:16px;font-weight:500;line-height:1.3}.city-picker__check{color:var(--color-primary);flex-shrink:0}.header{padding:10px var(--page-gutter) var(--spacing-12);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;display:grid}.header__logo{align-items:center;min-width:0;text-decoration:none;display:flex}.header__logo-img{object-fit:contain;width:auto;height:42px;display:block}.header__city{align-items:center;gap:var(--spacing-4);color:var(--color-text);font-size:13px;font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:6px 0;display:inline-flex}.header__city svg{color:var(--color-text-secondary)}.header__city--pickable{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);cursor:pointer;max-width:100%;padding:6px 8px 6px 6px}.header__city span{text-overflow:ellipsis;min-width:0;overflow:hidden}.header__city:disabled{cursor:default;opacity:1}.header__city-chevron{color:var(--color-text-muted);transform:rotate(90deg)}.header__lang{border-radius:var(--radius-md);background:var(--color-bg-muted);align-items:center;gap:0;min-width:0;padding:2px;display:flex}.header__lang-btn{font-size:12px;font-weight:var(--font-weight-medium);color:var(--color-lang-inactive);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:5px 8px;line-height:1}.header__lang-btn--active{background:var(--color-lang-active-bg);color:var(--color-lang-active-text)}@media (width<=420px){.header{gap:4px}.header__logo-img{height:38px}.header__city{font-size:12px}.header__lang-btn{padding:5px 7px;font-size:11px}}
