/* Phone-first refinements loaded after the shared desktop design. */
.mobile-booking-link {display:none}
.filters-toggle {cursor:pointer;font-weight:700;list-style:none;min-height:48px;align-items:center;gap:12px}
.filters-toggle::-webkit-details-marker {display:none}
.filters-toggle span {font-size:13px;font-weight:400;color:var(--muted);margin-left:auto}
.filters-toggle::after {content:'+';font-size:24px}
.filters[open]>.filters-toggle::after {content:'−'}
.map-filters[open]>.filters-toggle::after {content:'−'}
.map-filter-options {display:flex;align-items:center;gap:12px;flex-wrap:wrap}
@media(min-width:761px) {.filters-toggle {display:none}}
/* A 768px tablet cannot fit a 165px workspace sidebar and the service cards
   without pushing the document wider than the viewport. Switch workspace
   navigation to the same horizontal row used on phones, while keeping the
   roomier tablet spacing and controls. */
@media (min-width:761px) and (max-width:900px) {
  .service-site .header__actions>.btn,
  .service-site .header__actions>.inline-form {display:none}
  .service-site .header__actions {margin-left:auto;gap:6px;min-width:0}
  .service-site .header .nav {display:none}
  .service-site.workspace-page .layout {grid-template-columns:minmax(0,1fr);gap:20px}
  .service-site.workspace-page .side {position:static;display:flex;flex-direction:row;overflow-x:auto;max-width:100%;white-space:nowrap;gap:6px;border:0;border-bottom:1px solid var(--border);padding:0 0 12px}
  .service-site.workspace-page .side__title {display:none}
  .service-site.workspace-page .side__link {flex:0 0 auto;margin:0;padding:10px 12px}
  .service-site.workspace-page .reference-stats {grid-template-columns:repeat(3,minmax(0,1fr))}
  .service-site.workspace-page .business-service-grid {grid-template-columns:minmax(0,1fr)}
}
@media(pointer:coarse) {
  .service-site :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {font-size:16px!important}
  .service-site :is(button,.btn) {min-height:44px;touch-action:manipulation}
}
@media(max-width:760px) {
  html {scroll-padding-top:88px}
  .service-site {overflow-wrap:break-word}
  .service-site .container {width:100%;padding-inline:16px;box-sizing:border-box}
  .service-site :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {font-size:16px!important;max-width:100%;min-width:0;box-sizing:border-box}
  .service-site :is(button,.btn,.side__link,.pagination a,.slot) {min-height:44px;touch-action:manipulation}
  .service-site :is(input[type=checkbox],input[type=radio]) {width:20px;height:20px;flex-shrink:0}
  .service-site :is(.layout,.layout__main,.catalog-main,.field,.panel,.venue__about,.venue__booking) {min-width:0}
  .service-site .header .header__inner {gap:8px;min-height:72px;padding-block:10px}
  .service-site .header .header__actions {gap:6px;flex-shrink:0}
  .service-site .header :is(.burger,.theme-toggle,.notification-bell) {width:44px;min-width:44px;height:44px;padding:10px}
  .service-site .header .stolik-wordmark {font-size:30px;letter-spacing:-1.5px}
  .service-site .header .mobile-menu {top:calc(100% + 4px)!important;right:12px!important;max-height:calc(100dvh - 96px);overscroll-behavior:contain}
  .service-site .mobile-menu a {display:flex;align-items:center;min-height:44px}
  .service-site .language-switch button {min-width:44px;min-height:44px}
  .service-site .catalog-heading {font-size:30px;margin:12px 0 18px;padding-top:10px}
  .service-site.reference-layout .catalog-layout {display:flex;flex-direction:column;gap:16px}
  .service-site.reference-layout .filters {width:100%;margin:0;padding:0;border:1px solid var(--border);border-radius:16px;background:var(--surface,var(--bg));}
  .filters-toggle {display:flex;padding:10px 14px}
  .filters-content {padding:4px 14px 16px}
  .service-site .filters .filters__group {margin-bottom:12px}
  .service-site .filters select {display:block!important;width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text)}
  .service-site .filters .choice {display:none}
  .service-site.reference-layout .catalog-bar {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:18px;align-items:center}
  .service-site .catalog-bar__count {grid-column:1/-1;margin:0;order:1}
  .service-site .catalog-bar__sort {min-width:0;order:2;display:block}
  .service-site .catalog-bar__sort>label {display:none}
  .service-site .catalog-bar__sort .choice__button {font-size:14px;min-height:44px;max-width:100%;white-space:normal}
  .service-site .catalog-bar>.btn {order:3;min-height:44px;padding:10px 14px}
  .service-site .catalog-search-toggle {order:0;grid-column:1/-1;position:static;margin:0;width:100%}
  .service-site .catalog-search-toggle>summary {display:none}
  .service-site.catalog-page .catalog-search-toggle .catalog-search {position:static;inset:auto;display:flex;width:100%;min-width:0;margin:0;padding:0;box-shadow:none;border:0;background:transparent;gap:8px}
  .service-site .catalog-search .suggest-wrap {flex:1;min-width:0}
  .service-site .catalog-search input {min-height:48px;width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface,var(--bg));color:var(--text)}
  .service-site .catalog-search .btn {padding:10px 14px;min-width:0}
  .service-site .grid--places {grid-template-columns:minmax(0,1fr);gap:20px}
  .service-site .pcard {min-width:0}
  .service-site .pcard__title {font-size:22px;overflow-wrap:anywhere}
  .service-site .pager {flex-wrap:wrap;gap:8px}
  .service-site .pager :is(a,span) {min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .service-site .crumbs {flex-wrap:wrap;font-size:13px;gap:6px}
  .service-site.venue-page .venue__name {overflow-wrap:anywhere}
  .service-site.venue-page .venue__booking {scroll-margin-top:90px;position:static}
  .service-site.venue-page .bookpanel {padding:20px 16px}
  .service-site .venue-tabs {display:flex;overflow-x:auto;gap:16px}
  .service-site .venue-tabs a {white-space:nowrap;min-height:44px;display:flex;align-items:center}
  .service-site .slots {display:flex;flex-wrap:wrap;gap:8px}
  .service-site .slot {min-width:64px}
  .service-site .mobile-booking-link {display:flex;position:fixed;bottom:calc(12px + env(safe-area-inset-bottom));left:16px;right:80px;z-index:90;justify-content:center;min-height:48px;border-radius:16px;font-size:15px;box-shadow:0 4px 18px #0002}
  .service-site .mobile-booking-link.is-hidden {display:none}
  .service-site.venue-page {padding-bottom:calc(80px + env(safe-area-inset-bottom))}
  .service-site .booking-assistant__launcher {bottom:calc(14px + env(safe-area-inset-bottom));right:14px}
  .service-site .booking-review {padding:20px;max-height:calc(100dvh - 32px);overflow-wrap:anywhere}
  .service-site .booking-review .btn {display:flex;width:100%;margin:12px 0 0;justify-content:center}
  .service-site .guest-screen>.layout,.service-site .layout {grid-template-columns:minmax(0,1fr)}
  .service-site .side {position:static;display:flex;overflow-x:auto;max-width:100%;gap:8px;padding:4px 0 12px;overscroll-behavior-inline:contain}
  .service-site .side__title {display:none}
  .service-site .side__link {flex-shrink:0;white-space:nowrap;margin:0;padding:10px 14px}
  .service-site .guest-booking,.service-site .bcard {min-width:0;max-width:100%}
  .service-site .bcard__head,.service-site .bcard__actions {flex-wrap:wrap;gap:10px}
  .service-site .table-wrap {overflow-x:auto;max-width:100%}
  .service-site .map-page {height:auto;min-height:calc(100dvh - 72px)}
  .service-site .map-container {height:60svh;min-height:360px;flex:auto}
  .service-site .map-filters {display:block;border:1px solid var(--border);border-radius:12px;width:100%}
  .service-site .map-filter-options {padding:10px 12px;gap:12px}
  .service-site .map-filter-options select {width:100%;min-height:44px}
  .service-site .map-filter {min-height:44px}
  .service-site .footer__grid {grid-template-columns:minmax(0,1fr);gap:24px}
  .service-site .footer__col a {min-height:44px;display:flex;align-items:center}
  .service-site .footer__bottom {flex-wrap:wrap;overflow-wrap:anywhere}
  .service-site .booking-assistant__panel:not([hidden]) {display:flex!important;flex-direction:column;gap:8px;position:fixed;inset:var(--mobile-viewport-top,0px) 0 auto;width:100%;height:var(--mobile-viewport-height,100dvh);max-height:none;padding:16px 16px calc(12px + env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;border-radius:0;box-sizing:border-box}
  .service-site .booking-assistant__panel :is(.tolik-brand,.tolik-context-menu,.tolik-voice-room,.tolik-intro) {display:none!important}
  .service-site .booking-assistant__head {position:static;padding:0 44px 0 0;flex-shrink:0}
  .service-site .booking-assistant__head h2 {font-size:24px;line-height:1.15;margin:0}
  .service-site .booking-assistant__close {position:absolute;top:10px;right:10px;width:44px;height:44px;z-index:2}
  .service-site .booking-assistant__panel>.booking-assistant__messages {flex:1 1 160px;min-height:90px;padding:12px;overflow-y:auto}
  .service-site .booking-assistant__form {flex-shrink:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px}
  .service-site .booking-assistant__form textarea {font-size:16px!important;min-height:52px;height:52px}
  .service-site .booking-assistant__form #assistantSend {width:48px;min-width:48px;height:52px;padding:12px;align-self:start}
  .service-site .booking-assistant__form .assistant-send-label {display:none}
  .service-site .booking-assistant__form .assistant-send-icon {display:block;width:24px;height:24px}
  .service-site .booking-assistant__note {position:static;font-size:11px;line-height:1.4;max-height:50px;overflow:auto;flex-shrink:0}
  .service-site .assistant-voice {flex-wrap:wrap;gap:8px}
}
@media(max-width:650px) {
  .intro {display:flex;flex-direction:column}
  .intro .intro-header {position:relative;inset:auto;order:-1;padding:16px;gap:12px;align-items:center;flex-wrap:wrap}
  .intro .intro-logo {font-size:32px!important}
  .intro .intro-tools {gap:6px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end;font-size:12px}
  .intro .intro-tools>a {min-height:44px;display:flex;align-items:center;padding:8px 12px;opacity:1}
  .intro .intro-film {margin:0;height:150px;aspect-ratio:auto}
  .intro .intro-film video {object-fit:cover;object-position:center}
  .intro .intro-shade {top:80px;height:230px}
  .intro .intro-copy {margin:18px 20px 28px}
  .intro h1 {font-size:clamp(30px,8.5vw,42px)!important;line-height:1.1!important}
  .intro .intro-eyebrow {margin-bottom:14px}
  .intro .intro-description {font-size:16px;line-height:1.5;margin:16px 0 20px}
  .intro .intro-actions {gap:10px}
  .intro .intro-actions>* {min-height:52px;font-size:17px}
  .intro #installAppButton {width:100%;min-height:48px}
  .intro .intro-categories {flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-top:20px}
  .intro .intro-categories a {display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #ffffff30;border-radius:12px;font-size:14px}
  .intro .public-contacts {font-size:13px;max-width:100%}
  .intro .intro-footer {position:relative;font-size:12px;padding:20px;gap:12px}
  .intro .intro-footer a {min-height:44px;display:flex;align-items:center}
}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto!important}}
