/* Russian mobile/tablet controls: explicit brand color, consistent native rendering. */
html[lang="ru"] button{ -webkit-appearance:none;appearance:none;touch-action:manipulation }
html[lang="ru"] .archive-paging button,
html[lang="ru"] .archive-dialog-bar button,
html[lang="ru"] .gallery-controls button{color:var(--gala-text-red,#c7001d);-webkit-text-fill-color:currentColor}
html[lang="ru"] .archive-paging button:disabled{color:var(--gala-text-red,#c7001d);opacity:.38;cursor:default}
html[lang="ru"] :is(.photo-controls,.profile-photo-arrows,.hotel-gallery-controls,.guest-controls) button{ -webkit-text-fill-color:currentColor }
html[lang="ru"] .button>span:last-child{ -webkit-text-fill-color:currentColor }
@media (max-width:1180px) and (pointer:coarse), (max-width:760px){
 html[lang="ru"] .snow-toggle{width:44px;height:44px;min-width:44px;min-height:44px}
 html[lang="ru"] .archive-years button{min-width:44px;min-height:44px}
 html[lang="ru"] .archive-paging button,
 html[lang="ru"] .archive-dialog-bar button,
 html[lang="ru"] .hotel-gallery-controls button,
 html[lang="ru"] [data-review-step],
 html[lang="ru"] .guest-autoplay{width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0}
 html[lang="ru"] .archive-bottom{flex-wrap:wrap;gap:14px}
 html[lang="ru"] .archive-paging{gap:8px}
 html[lang="ru"] .hotel-gallery-controls{gap:8px}
 html[lang="ru"] .journal-read.journal-arrow{width:44px;height:44px}
 html[lang="ru"] .footer-legal :is(a,button){min-height:44px;display:inline-flex;align-items:center}
 html[lang="ru"] :is(.dialog-close,.archive-close,[data-ticket-dialog-close]){min-width:44px;min-height:44px;touch-action:manipulation}
 html[lang="ru"] :is(input,textarea,select){font-size:16px}
}
@media(max-width:1100px){
 html[lang="ru"] .header nav.open{padding:16px 20px;gap:0 16px;max-height:calc(100dvh - 106px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto}
 html[lang="ru"] .header nav.open a{display:flex;align-items:center;min-height:48px;font-size:16px;line-height:1.3;text-shadow:none;white-space:normal}
 html[lang="ru"] .header nav.open .nav-more{grid-column:1/-1;width:100%;margin-top:8px;border-top:1px solid #d7b78d;padding-top:8px}
 html[lang="ru"] .header nav.open .more-links{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;position:static;min-width:0;padding:0;box-shadow:none}
 html[lang="ru"] .header nav.open .more-links a{font-size:15px;min-height:48px}
}
@media(max-width:1180px) and (pointer:coarse), (max-width:760px){
 html[lang="ru"] .profile-photo-arrows button{width:44px;height:44px;min-width:44px;min-height:44px;color:var(--gala-text-red,#c7001d);-webkit-text-fill-color:currentColor}
}
@media(max-width:760px){
 /* The full-width counter row must not cover the arrows beneath the review. */
 html[lang="ru"] .guest-carousel>[data-review-step]{z-index:4}
 html[lang="ru"] :is(button,a,input,textarea,summary){scroll-margin-bottom:calc(100px + env(safe-area-inset-bottom))}
}
@media(max-width:760px){
 html[lang="ru"] body:has(#contact-form :focus) .mobile-book{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(110%)}
}
@media(max-width:1100px){
 /* The tablet breakpoint hid navigation but the hero override hid its toggle too. */
 html[lang="ru"] .header .mobile-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:44px}
}
@media(max-width:1100px){
 html[lang="ru"] .header nav.open .more-links[hidden]{display:grid!important}
}
