.language-switcher{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.10);backdrop-filter:blur(10px);margin-left:10px}
.language-switcher a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:34px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.04em;text-decoration:none;color:inherit;opacity:.78}
.language-switcher a.active{background:#fff;color:#0b4f42;opacity:1}
.about-header .language-switcher,.topbar.scrolled .language-switcher{border-color:rgba(5,73,61,.18);background:rgba(5,73,61,.06);color:#083f35}
.language-choice{position:fixed;right:18px;bottom:82px;z-index:1200;max-width:340px;padding:16px;border-radius:22px;background:#fff;color:#09241f;box-shadow:0 24px 70px rgba(0,0,0,.18);border:1px solid rgba(8,63,53,.12);display:none}
.language-choice.show{display:block}
.language-choice b{display:block;font-size:16px;margin-bottom:5px}.language-choice p{margin:0 0 12px;color:#60746f;font-size:13px;line-height:1.45}
.language-choice-actions{display:flex;gap:8px}.language-choice-actions button,.language-choice-actions a{flex:1;border:0;border-radius:14px;padding:11px 12px;font-weight:900;text-align:center;text-decoration:none;cursor:pointer}
.language-choice-actions button{background:#0b4f42;color:#fff}.language-choice-actions a{background:#eef6f2;color:#0b4f42}
.ru-seo-intro{max-width:1180px;margin:32px auto 22px;padding:34px;border-radius:30px;background:#fff;border:1px solid rgba(8,63,53,.12);box-shadow:0 20px 60px rgba(8,63,53,.08)}
.ru-seo-intro .language-label{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#16806b;font-weight:900}.ru-seo-intro h1{font-size:clamp(32px,5vw,64px);line-height:.98;margin:14px 0 18px}.ru-seo-intro p{max-width:850px;color:#536b66;font-size:17px;line-height:1.75}.ru-seo-intro .ru-note{font-size:13px;color:#7b8f8a}
@media(max-width:850px){.language-switcher{margin-left:auto;margin-right:8px}.desktop-nav+.language-switcher{display:inline-flex}.language-choice{left:14px;right:14px;bottom:82px;max-width:none}.ru-seo-intro{margin:18px 14px;padding:22px;border-radius:24px}.ru-seo-intro p{font-size:15px}}

body .language-switcher{font-family:Manrope,Arial,sans-serif}
.mobile-language{display:none}
@media(max-width:850px){
  .topbar .language-switcher,.about-header .language-switcher,.business-header .language-switcher{order:3;margin-left:auto}
  .topbar .brand,.about-header .brand,.business-header .brand{min-width:0}
  .language-switcher a{min-width:40px;height:40px;font-size:12px}
  .language-switcher{display:inline-flex!important;position:relative;z-index:50;order:2!important;margin-left:auto;margin-right:8px}
  .menu-button,.mobile-menu-button,[data-menu-open]{order:3}
  .mobile-language{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(8,63,53,.14)}
  .mobile-language span{grid-column:1/-1;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#6b7f79}
  .mobile-language a{padding:11px 8px;border:1px solid rgba(8,63,53,.14);border-radius:12px;text-align:center;text-decoration:none;font-size:13px;font-weight:800;color:#0b4f42}
  .mobile-language a.active{background:#0b4f42;color:#fff}
}

/* Shared responsive safety rules for every public template. */
html,body{max-width:100%}
img,svg,video,canvas,iframe{max-width:100%}
.topbar,.about-header,.business-header,.favorites-header,.hotel-header{min-width:0}
.topbar>*,.about-header>*,.business-header>*,.favorites-header>*,.hotel-header>*{min-width:0}
@media(max-width:850px){
  .topbar,.about-header,.business-header,.favorites-header,.hotel-header{gap:8px}
  .language-switcher{padding:2px;gap:2px;margin-left:auto!important;margin-right:2px!important;flex:0 0 auto}
  .shared-menu-button,.menu-button,[data-menu-open]{width:44px;min-width:44px;height:44px}
  .mobile-nav a{min-width:44px;min-height:52px;justify-content:center;padding:4px 8px}
  .stay-image button,[data-save-hotel],.favorite-button{min-width:44px!important;min-height:44px!important}
  .visit-filters button,.catalog-city-filter button,.catalog-type-filter select,.seo-filter button{min-height:44px}
  .seo-wrap,.visit-catalog,.legal-page,.about-footer,.site-footer,.business-footer{max-width:100%;min-width:0}
  .seo-panel,.visit-grid>*,.spring-source-grid>*,.footer-live-stats,.footer-live-stats>*{min-width:0}
  .legal-page h1,.seo-hero h1,.visit-hero h1,.business-hero h1,.hotel-hero h1{overflow-wrap:anywhere;hyphens:auto}
}
.mobile-language{display:none}
@media(max-width:850px){
  .language-switcher{display:inline-flex!important;position:relative;z-index:40;flex:0 0 auto;margin-left:auto;margin-right:8px}
  .topbar .language-switcher,.about-header .language-switcher,.business-header .language-switcher{order:2}
  .menu-button,.mobile-menu-button,[data-menu-open]{order:3}
  .mobile-language{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(8,63,53,.13)}
  .mobile-language span{grid-column:1/-1;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#6b7f79}
  .mobile-language a{padding:11px 8px;border:1px solid rgba(8,63,53,.14);border-radius:12px;text-align:center;text-decoration:none;font-size:13px;font-weight:800;color:#0b4f42}
  .mobile-language a.active{background:#0b4f42;color:#fff}
}
