/* ==========================================================================
   Build 146 · loaded last. Light theme only; mobile first.
   ========================================================================== */

/* ---------- Performance: no translucent surface stacked on another ----------
   Every button, date and chip inside the page carried its own backdrop blur on top of a blurred panel
   (85 blur layers on a tour page, 33 in the calendar alone). On phones each one is a separate GPU pass,
   repeated on every tap. In-page surfaces now sit on plain fills; floating chrome keeps its material. */
html body #app :is(.btn,.cal-date,.time,.chip,.ibtn,.day,.tab,.tabs button,.cal-head button,.cal-shortcuts button,.price-values>label,.v4-arrow,.fact,.meet,.booking,.comfort-panel,.panel,.card,.glass,.mini,.guide,.review,.story,.map-side,.orders-empty,.adm-card,.request-review,.summary,.field .input,.input,select,textarea,label.check,.switch,.tourist-stats>div,.service-card,.theatre-event){-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html body #app .booking .cal-date{transition:background-color .12s ease,color .12s ease,box-shadow .12s ease}
html body #app .booking :is(.cal-date,.time):active:not(:disabled){transform:scale(.96);transition-duration:60ms}

/* ---------- Pull to refresh: the spring is driven per frame, no CSS easing on top of it ---------- */
html.pull-refresh-active :is(body>.header,#app,#contacts),html.pull-refresh-return :is(body>.header,#app,#contacts){transition:none!important;will-change:translate}
.pull-refresh-indicator{height:0}

/* ---------- Header: menu button replaces the theme switch ---------- */
html body .header-actions .menu-toggle{display:none;min-width:40px;min-height:40px;padding:0;border-radius:999px;justify-content:center;align-items:center;background:var(--apple-fill)!important}
html body .header-actions .menu-toggle .icon{width:21px;height:21px}
html body .header-actions .menu-toggle[aria-expanded=true]{background:var(--apple-fill-strong)!important}
@media (max-width:900px){html body .header-actions .menu-toggle{display:inline-flex}}
@media (max-width:380px){html body .header-actions{gap:2px}html body .header-actions #accBtn [data-acc-label]{max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* ---------- Mobile menu: bottom sheet ---------- */
.site-menu{position:fixed;inset:0;z-index:1200}
.site-menu[hidden]{display:none}
.site-menu-scrim{position:absolute;inset:0;background:rgba(0,0,0,.32);opacity:0;touch-action:none}
.site-menu-sheet{position:absolute;left:0;right:0;bottom:0;max-height:min(88dvh,760px);display:flex;flex-direction:column;background:rgba(251,251,253,.97);-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);border-radius:24px 24px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.16);padding:0 0 env(safe-area-inset-bottom,0px);transform:translate3d(0,100%,0);will-change:transform;overscroll-behavior:contain}
.site-menu-grab{display:flex;justify-content:center;padding:8px 0 2px;touch-action:none;cursor:grab}
.site-menu-grab i{width:38px;height:5px;border-radius:999px;background:rgba(60,60,67,.3)}
.site-menu-head{display:flex;align-items:center;justify-content:space-between;padding:4px 16px 8px 20px;touch-action:none}
.site-menu-head h2{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0}
.site-menu-close{width:36px;height:36px;border-radius:999px;border:0;background:var(--apple-fill);color:var(--apple-ink);display:grid;place-items:center;cursor:pointer}
.site-menu-close svg{width:18px;height:18px}
.site-menu-body{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:4px 12px 14px;display:grid;gap:12px}
.site-menu-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.site-menu-tile{display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:84px;padding:14px;border-radius:18px;background:#fff;color:var(--apple-ink);text-decoration:none;box-shadow:0 1px 2px rgba(0,0,0,.05),inset 0 0 0 .5px rgba(0,0,0,.06);transition:transform .12s ease,background-color .12s ease}
.site-menu-tile svg{width:26px;height:26px;color:var(--apple-blue)}
.site-menu-tile b{font-size:16px;font-weight:600;letter-spacing:-.01em}
.site-menu-tile.accent{background:var(--apple-blue);color:#fff}
.site-menu-tile.accent svg{color:#fff}
.site-menu-tile:active,.site-menu-row:active{transform:scale(.97)}
.site-menu-list{display:grid;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05),inset 0 0 0 .5px rgba(0,0,0,.06)}
.site-menu-row{display:flex;align-items:center;justify-content:flex-start;gap:14px;min-height:52px;padding:8px 16px;color:var(--apple-ink);text-decoration:none;border:0;background:none;font:inherit;text-align:left;width:100%;cursor:pointer;transition:background-color .12s ease,transform .12s ease}
.site-menu-row+.site-menu-row{box-shadow:inset 0 .5px 0 rgba(60,60,67,.18)}
.site-menu-row svg{width:22px;height:22px;flex:none;color:var(--apple-ink-2)}
.site-menu-row span{display:grid;min-width:0}
.site-menu-row b{font-size:16px;font-weight:500}
.site-menu-row small{font-size:13px;color:#6e6e73;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-menu-row[aria-current=page],.site-menu-row:hover{background:rgba(120,120,128,.08)}
.site-menu :focus-visible{outline:3px solid var(--apple-blue);outline-offset:-3px;border-radius:14px}
html.menu-open{overflow:hidden}
html.menu-open body{overscroll-behavior:none}
@media (min-width:620px){.site-menu-sheet{left:50%;right:auto;width:min(560px,100%);margin-left:max(-280px,-50%)}}
@media (prefers-reduced-transparency:reduce){.site-menu-sheet{background:#f5f5f7;-webkit-backdrop-filter:none;backdrop-filter:none}}

/* ---------- Order panel (#mbar): floating card, collapsible pill, draggable ---------- */
html body .mbar.order-dock{left:10px;right:10px;bottom:calc(64px + env(safe-area-inset-bottom,0px) + 8px);padding:8px 10px 8px 6px;border-radius:22px;border:0;background:rgba(251,251,253,.94);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 10px 30px rgba(0,0,0,.14),0 0 0 .5px rgba(0,0,0,.08);will-change:transform;transition:opacity .18s ease}
html body .mbar.order-dock::after{display:none}
html body .mbar.order-dock .v4-bar{display:flex;align-items:center;gap:8px;width:100%;min-width:0}
html body .mbar.order-dock .v4-bar .v4-bar-copy{flex:1;min-width:0}
html body .mbar.order-dock .v4-bar .v4-bar-copy b{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .mbar.order-dock .v4-bar .v4-bar-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .mbar.order-dock .v4-bar .btn{min-height:44px;padding:0 16px;border-radius:999px;flex:none}
html body .mbar.order-dock .v4-dots{display:none}
.dock-grip{flex:none;align-self:stretch;width:22px;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:grab;margin-left:-2px}
.dock-grip i{width:4px;height:26px;border-radius:999px;background:rgba(60,60,67,.22)}
.dock-collapse{flex:none;width:36px;height:36px;border-radius:999px;border:0;background:var(--apple-fill);color:var(--apple-ink);display:grid;place-items:center;cursor:pointer}
.dock-collapse svg{width:18px;height:18px}
html body .mbar .dock-pill,html body .mbar.order-dock:not(.is-collapsed) .dock-pill{display:none!important}
html body .mbar.order-dock.is-collapsed{left:auto;right:12px;width:auto;padding:0;border-radius:999px;background:var(--apple-ink);color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.24)}
html body .mbar.order-dock.is-collapsed .v4-bar{display:none}
html body .mbar.order-dock.is-collapsed .dock-pill{display:flex!important;align-items:center;gap:10px;min-height:52px;padding:0 14px 0 16px;border:0;border-radius:999px;background:none;color:inherit;font:inherit;cursor:grab;touch-action:none;white-space:nowrap}
.dock-pill-count{display:inline-flex;align-items:center;gap:5px;font-weight:600}
.dock-pill-count svg{width:20px;height:20px}
.dock-pill-total{font-weight:700;font-size:16px;letter-spacing:-.01em}
.dock-pill>svg{width:18px;height:18px;opacity:.7}
html body .mbar.order-dock.is-dragging{transition:none;cursor:grabbing;box-shadow:0 18px 40px rgba(0,0,0,.22),0 0 0 .5px rgba(0,0,0,.08)}
html body .mbar.order-dock.is-dragging .dock-pill,html body .mbar.order-dock.is-dragging .dock-grip{cursor:grabbing}
body.dock-keyboard .mbar.order-dock{opacity:0;pointer-events:none}
/* One floating panel at a time on phones: while ordering, «Мои заказы» stay in the tab bar and the header. */
@media (max-width:760px){body.has-mbar .orders-banner{display:none!important}}
@media (min-width:761px){html body .mbar.order-dock{bottom:calc(16px + env(safe-area-inset-bottom,0px))}}
@media (prefers-reduced-transparency:reduce){html body .mbar.order-dock:not(.is-collapsed){background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media (prefers-contrast:more){html body .mbar.order-dock{box-shadow:0 0 0 1.5px #1d1d1f}}

/* ---------- Booking terms ---------- */
.terms-link{display:inline;padding:0;margin:0;border:0;background:none;font:inherit;color:var(--apple-link,#0066cc);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.terms-link:focus-visible{outline:2px solid var(--apple-blue);outline-offset:2px;border-radius:4px}
.terms-dialog{width:min(560px,calc(100vw - 24px));max-height:min(84dvh,720px);padding:0;border:0;border-radius:24px;background:#fff;color:var(--apple-ink);box-shadow:0 24px 60px rgba(0,0,0,.24);overflow:hidden;display:flex;flex-direction:column}
.terms-dialog:not([open]){display:none}
.terms-dialog::backdrop{background:rgba(0,0,0,.36)}
.terms-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 6px 22px}
.terms-dialog>header h2{margin:0;font-size:21px;letter-spacing:-.02em}
.terms-dialog>header .circle{width:36px;height:36px;min-height:36px;padding:0;border-radius:999px;border:0;background:var(--apple-fill)!important;color:var(--apple-ink)!important;box-shadow:none!important;display:grid;place-items:center;cursor:pointer;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.terms-dialog>header .circle svg{width:18px;height:18px}
.terms-demo{margin:0 22px 4px;align-self:flex-start;padding:3px 10px;border-radius:999px;background:#fff4e5;color:#a05a00;font-size:12.5px;font-weight:600}
.terms-body{padding:6px 22px 8px;overflow-y:auto;overscroll-behavior:contain;font-size:15px;line-height:1.55}
.terms-body h3{font-size:16px;margin:16px 0 4px}
.terms-body p{margin:0 0 8px;color:#3a3a3c}
.terms-dialog>footer{padding:10px 18px calc(16px + env(safe-area-inset-bottom,0px))}
@media (max-width:620px){.terms-dialog{width:100vw;max-width:100vw;max-height:88dvh;margin:auto 0 0;border-radius:24px 24px 0 0}}

/* ---------- FAQ ---------- */
.v17-faq .faq-list{display:grid;border-radius:22px;background:#fff;box-shadow:var(--apple-card-shadow,0 2px 12px rgba(0,0,0,.06));overflow:hidden}
.faq-item+.faq-item{box-shadow:inset 0 .5px 0 rgba(60,60,67,.18)}
.faq-item>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:56px;padding:14px 18px;list-style:none;cursor:pointer;font-size:16.5px;font-weight:600;letter-spacing:-.01em;line-height:1.35}
.faq-item>summary::-webkit-details-marker{display:none}
.faq-item>summary i{flex:none;width:28px;height:28px;border-radius:999px;background:var(--apple-fill);display:grid;place-items:center;transition:transform .28s cubic-bezier(.22,1,.36,1)}
.faq-item>summary i svg{width:16px;height:16px}
.faq-item[open]:not(.is-closing)>summary i{transform:rotate(180deg)}
.faq-item>summary:focus-visible{outline:3px solid var(--apple-blue);outline-offset:-3px;border-radius:16px}
.faq-answer{overflow:hidden}
.faq-answer p{margin:0;padding:0 18px 16px;color:#3a3a3c;font-size:15.5px;line-height:1.6;max-width:68ch}
@media (min-width:900px){.v17-faq .faq-item>summary{padding:18px 24px}.faq-answer p{padding:0 24px 20px}}
@media (prefers-reduced-motion:reduce){.faq-item>summary i{transition:none}}

/* ---------- Footer social links ---------- */
.footer-social{display:flex;gap:10px;margin-top:14px}
.social-link{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;background:var(--apple-fill);color:var(--apple-ink);text-decoration:none;transition:background-color .18s ease,color .18s ease,transform .12s ease}
.social-link svg{width:22px;height:22px}
a.social-vk:hover{background:#0077ff;color:#fff}
a.social-instagram:hover{background:linear-gradient(45deg,#f9a825,#e1306c 55%,#833ab4);color:#fff}
a.social-link:active{transform:scale(.94)}
a.social-link:focus-visible{outline:3px solid var(--apple-blue);outline-offset:2px}
.social-link.is-pending{opacity:.45;cursor:default}

/* ---------- Install offer ---------- */
.install-offer{position:fixed;z-index:1100;left:10px;right:10px;bottom:calc(64px + env(safe-area-inset-bottom,0px) + 10px);max-width:520px;margin:0 auto;padding:14px 14px 12px;border-radius:24px;background:rgba(251,251,253,.96);-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);box-shadow:0 16px 44px rgba(0,0,0,.2),0 0 0 .5px rgba(0,0,0,.08);color:var(--apple-ink)}
.install-offer-main{display:grid;grid-template-columns:52px 1fr 32px;gap:12px;align-items:start}
.install-offer-main img{width:52px;height:52px;border-radius:13px;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.install-offer h2{margin:2px 0 4px;font-size:16.5px;letter-spacing:-.01em;line-height:1.25}
.install-offer p{margin:0;font-size:14px;line-height:1.45;color:#3a3a3c}
.install-offer-x{width:32px;height:32px;border-radius:999px;border:0;background:var(--apple-fill);display:grid;place-items:center;cursor:pointer;color:var(--apple-ink)}
.install-offer-x svg{width:16px;height:16px}
.install-offer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.install-offer-actions .btn{min-height:46px;border-radius:999px;justify-content:center}
.install-offer-actions .btn-accent{background:var(--apple-blue);color:#fff;border:0;box-shadow:none}
.install-steps{margin:12px 0 0;padding:12px 14px 12px 34px;border-radius:16px;background:#fff;font-size:14.5px;line-height:1.5;display:grid;gap:6px}
.install-steps svg{width:18px;height:18px;vertical-align:-3px;margin:0 3px;color:var(--apple-blue)}
@media (min-width:761px){.install-offer{bottom:20px;right:20px;left:auto;width:420px}}
@media (prefers-reduced-transparency:reduce){.install-offer{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}

/* ---------- Notifications ---------- */
.push-explain{margin:4px 0 6px;font-size:14px;line-height:1.5;color:#3a3a3c;max-width:60ch}
.push-news{margin-top:12px;font-size:14px}
.push-device.is-highlighted{box-shadow:0 0 0 3px var(--apple-blue)!important;transition:box-shadow .3s ease}

/* ---------- Mobile polish ---------- */
@media (max-width:760px){
 html,body{overflow-x:clip}
 html body #app :is(.btn,.time,.cal-date,.chip){min-height:40px}
 html body #app .booking .cal-date{min-height:40px}
 html body #app .cal-head button{min-width:40px;min-height:40px}
 html body #app .cal-shortcuts button{min-height:36px}
 html body #app .category-arrow{min-width:32px;min-height:36px}
 html body #app .terms-link{padding:6px 0;margin:-6px 0}
 html body .footer-compact{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
 body.has-mbar #contacts{padding-bottom:calc(150px + env(safe-area-inset-bottom,0px))}
 html body #app input.input,html body #app select.input,html body #app textarea.input{font-size:16px} /* no zoom-on-focus on iOS */
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
