/* Единая типографика и мягкие состояния навигации во всех раскладках. */
.service-site .header .nav__link,
.service-site.reference-layout .header .header__actions .btn,
.service-site .header .language-switch button {
  font-family:var(--font); font-size:14px; font-weight:600; line-height:1.35;
  letter-spacing:0; text-transform:none;
}
.service-site.reference-layout .header .nav { gap:12px; }
.service-site.reference-layout .header .nav__link {
  padding:11px 16px; border-radius:999px; box-shadow:none;
  transition:background .18s ease,color .18s ease;
}
.service-site.reference-layout .header .nav__link:hover,
.service-site.reference-layout .header .nav__link.is-active {
  background:color-mix(in srgb,var(--accent) 12%,transparent); color:var(--text); box-shadow:none;
}
.service-site.reference-layout .header__actions { background:transparent; border-radius:999px; }
.service-site.reference-layout .header__actions .btn { border-radius:999px; padding:10px 16px; }
.service-site .header a:focus-visible,.service-site .header button:focus-visible {
  outline:2px solid var(--accent); outline-offset:3px;
}
.service-site.reference-layout .scene-controls {
  border:1px solid #ffffff35; border-radius:999px; padding:5px 7px; gap:3px;
  background:#191919b8; backdrop-filter:blur(14px); box-shadow:0 4px 16px #0002;
}
.service-site.reference-layout .scene-controls button {
  display:inline-flex; align-items:center; justify-content:center; border-radius:50%;
  min-width:30px; height:30px; font-family:var(--font); line-height:1;
}
.service-site .scene-controls [data-scene-pause] { font-size:0!important; }
.service-site .scene-controls [data-scene-pause]::before {
  content:''; width:10px; height:12px; border-left:3px solid currentColor; border-right:3px solid currentColor; box-sizing:border-box;
}
.service-site .scene-controls [data-scene-pause][aria-pressed=true]::before {
  width:0; height:0; border:6px solid transparent; border-left:10px solid currentColor; border-right:0;
}
@media(max-width:767px) {
  .service-site .header__actions .btn { padding:8px 10px; }
}

/* Shared controls must stay legible over the photographic headers. */
.service-site .header__actions form[action="/vyhod"] .btn {
  background:var(--surface); color:var(--text); border:1px solid var(--border);
  border-radius:999px; padding:10px 16px;
}
.service-site .filters .btn--reset {
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; margin-top:20px; padding:14px 18px; border-radius:999px;
  background:var(--surface); color:var(--text); border:1px solid var(--border);
  box-shadow:0 4px 16px #0000000d; font:600 14px/1.4 var(--font);
}
.service-site .filters .btn--reset::before { content:'↺'; font-size:22px; color:var(--accent); }
.service-site .filters .btn--reset:hover { background:var(--accent-soft); }
/* Expand settings in normal flow: no overlay over headings or form fields. */
.service-site .business-alerts,
.service-site.reference-layout.business-page .business-alerts { align-items:start; }
.service-site .business-alerts .notification-settings>div,
.service-site.reference-layout.business-page .notification-settings>div {
  position:static; display:flex; flex-direction:column; align-items:stretch;
  width:min(340px,100%); min-width:0; max-width:100%; padding:16px;
  margin-top:12px; gap:16px; background:var(--surface); box-shadow:none;
  border:1px solid var(--border); border-radius:16px;
}
.service-site .business-alerts .notification-settings label {
  display:flex; flex-wrap:wrap; gap:12px; width:100%; line-height:1.5;
}
.service-site .business-alerts input[type=range] {
  width:100%; min-width:0; cursor:pointer; accent-color:var(--accent);
}
.service-site .business-alerts .notification-settings summary {
  padding:10px 14px; border:1px solid var(--border); border-radius:999px;
  line-height:1.5; color:var(--text);
}
@media(min-width:1100px) {
  .service-site .tolik-voice-room {
    padding:16px; justify-content:flex-start; overflow:auto; gap:18px;
  }
  .service-site .tolik-voice-room::before,
  .service-site .tolik-voice-room::after { display:none; }
  .service-site .tolik-voice-room .tolik-scene {
    position:relative; inset:auto; order:-3; flex:0 0 160px;
    height:160px; width:100%; clip-path:none; border-radius:18px; overflow:hidden;
  }
  .service-site .tolik-voice-room h3,
  .service-site .tolik-voice-room>p { flex-shrink:0; }
  .service-site .tolik-voice-room .tolik-voice-sphere { flex-shrink:0; }
}
.service-site .business-alerts__controls { align-items:flex-start; }

.filters__option[aria-disabled=true] { opacity:.45; cursor:not-allowed; }
.filters__option small { margin-left:auto; color:var(--text-muted); }
/* Единый колокольчик: один и тот же центр событий у гостя, заведения и админа. */
.user-notifications{position:relative;flex:0 0 auto}.notification-bell{width:44px;height:44px;border:1px solid rgba(38,34,30,.14);border-radius:50%;background:rgba(255,255,255,.82);color:#211f1b;display:grid;place-items:center;position:relative;cursor:pointer;transition:background .18s,border-color .18s,transform .18s;box-shadow:0 5px 18px rgba(31,25,20,.05)}.notification-bell:hover{background:#fff;border-color:rgba(255,91,15,.42);transform:translateY(-1px)}.notification-bell svg{width:21px;height:21px}.notification-bell__count{position:absolute;right:-3px;top:-4px;min-width:19px;height:19px;padding:0 5px;border:2px solid #fff;border-radius:99px;background:#ff5b0f;color:#fff;font-size:10px;font-weight:800;line-height:15px;text-align:center;box-shadow:0 2px 8px rgba(255,91,15,.34)}.notification-bell__count.is-empty{display:none}.notification-panel{position:absolute;z-index:120;right:0;top:calc(100% + 12px);width:min(390px,calc(100vw - 28px));overflow:hidden;border:1px solid rgba(38,34,30,.12);border-radius:24px;background:rgba(255,253,250,.98);color:#24211d;box-shadow:0 24px 70px rgba(24,20,16,.2);backdrop-filter:blur(18px)}.notification-panel[hidden]{display:none}.notification-panel__head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 21px 15px;border-bottom:1px solid rgba(38,34,30,.09)}.notification-panel__head>div{display:grid;gap:3px}.notification-panel__head span{font-size:18px;font-weight:800;letter-spacing:-.02em}.notification-panel__head small{font-size:11px;color:#77716a}.notification-panel__head button{border:0;background:transparent;color:#e94b00;font-size:12px;font-weight:750;cursor:pointer;padding:7px}.notification-panel__list{max-height:min(480px,68vh);overflow:auto;padding:8px}.notification-item{display:grid!important;grid-template-columns:10px 1fr;gap:11px;padding:13px 12px!important;border-radius:16px;color:#292622!important;text-decoration:none!important;opacity:1!important}.notification-item:hover{background:#f6f1eb!important;color:#292622!important}.notification-item>i{width:7px;height:7px;margin-top:7px;border-radius:50%;background:#d8d1c9}.notification-item.is-unread>i{background:#ff5b0f;box-shadow:0 0 0 4px rgba(255,91,15,.12)}.notification-item>span{display:grid;gap:4px;min-width:0}.notification-item strong{font-size:14px;line-height:1.25}.notification-item span span{font-size:13px;line-height:1.42;color:#635d56}.notification-item time{font-size:10px;color:#999087;text-transform:uppercase;letter-spacing:.04em}.notification-panel__empty,.notification-panel__loading{margin:0;padding:34px 24px;text-align:center;color:#77716a;font-size:13px;line-height:1.5}.intro .notification-bell{background:#ffffff0d;border-color:#ffffff2b;color:#fffaf3;box-shadow:none}.intro .notification-bell:hover{background:#ffffff1c;border-color:#ff9a5e}.intro .notification-bell__count{border-color:#171916}.intro .notification-panel{background:rgba(25,25,22,.98);border-color:#ffffff1d;color:#fffaf3}.intro .notification-panel__head{border-color:#ffffff17}.intro .notification-panel__head small,.intro .notification-item span span,.intro .notification-item time,.intro .notification-panel__empty,.intro .notification-panel__loading{color:#aaa99f}.intro .notification-item{color:#fffaf3!important}.intro .notification-item:hover{background:#ffffff0c!important;color:#fffaf3!important}.intro .notification-item>i{background:#706f68}.intro .notification-item.is-unread>i{background:#ff782e}.theme-dark .notification-bell{background:#26241f;border-color:#ffffff20;color:#f9f5ef}.theme-dark .notification-bell__count{border-color:#24221e}.theme-dark .notification-panel{background:rgba(31,29,26,.98);color:#f9f5ef;border-color:#ffffff18}.theme-dark .notification-panel__head{border-color:#ffffff14}.theme-dark .notification-item{color:#f9f5ef!important}.theme-dark .notification-item:hover{background:#ffffff0b!important;color:#f9f5ef!important}.theme-dark .notification-item span span,.theme-dark .notification-item time,.theme-dark .notification-panel__empty{color:#aaa49c}@media(max-width:720px){.notification-panel{position:fixed;right:14px;top:78px;width:calc(100vw - 28px)}.notification-panel__list{max-height:62vh}.header__actions .notification-bell{width:40px;height:40px}.intro .notification-panel{top:76px}.intro-tools{gap:9px!important}}
