/* Финальная полировка. Исходные компоненты Bnovo и логика сайта не изменяются. */
:root { --arzy-accent: #09a1d4; --arzy-accent-hover: #087eae; }
html { scroll-padding-top: 115px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
/* Собственная кнопка вызывает имеющееся модальное окно с Bnovo. */
.header__link { display: flex; flex: 0 0 auto; align-items: center; min-width: 0; }
.header__book { min-height: 44px; padding: 11px 20px; border: 1px solid rgba(255,255,255,.85); border-radius: 11px; box-shadow: 0 4px 12px rgba(0,95,130,.16); white-space: nowrap; font: 600 14px/1.2 Arial,Helvetica,sans-serif; }
.header__book:hover { background: var(--arzy-accent-hover); box-shadow: 0 5px 14px rgba(0,95,130,.22); }
.header__book:focus-visible, .button:focus-visible, .external-widget__button:focus-visible, .burger:focus-visible, a:focus-visible { outline: 3px solid #e1a819; outline-offset: 3px; }
.header__wrap-right { gap: 12px; }
.main-nav__list { column-gap: 14px; }
.header__content { grid-template-columns: auto minmax(0,1fr) auto; gap: 14px; }
@media (min-width: 1301px) and (max-width: 1600px) {
  .header .container { padding-left: 22px; padding-right: 22px; }
  .main-nav__list { column-gap: 10px; }
  .header__wrap-right { gap: 9px; }
  .header__book { padding-inline: 14px; }
}
/* Собираем рейтинг и отзывы в одну композицию без пустой широкой колонки. */
.review__content--official { display: grid; grid-template-columns: 180px minmax(0,760px); gap: 24px; justify-content: center; align-items: start; margin: 28px auto 0; max-width: 1040px; }
.review__content--official .review__rating-box { height: auto; padding: 14px 0 0; gap: 14px; align-items: center; }
.review__content--official .review__source { margin: 0; text-align: center; }
.review__content--official .review__link { margin: 6px 0 0; width: 100%; max-width: 180px; }
.review__official-wrap { width: 100%; align-items: stretch; }
.review__official-widget { max-width: 760px; margin-inline: auto; }
.review__official-note { width: 100%; max-width: 760px; margin: 12px auto 0; text-align: center; }
.review__official-widget > iframe { max-width: 100%; }
.review__official-attribution { z-index: 1; }
.external-widget__button { min-height: 44px; max-width: 100%; transition: background-color .2s ease, box-shadow .2s ease; }
.external-widget__button:hover { box-shadow: 0 4px 12px rgba(0,69,91,.13); }
/* Ровное чтение текстов и кнопок на смартфонах. */
.legal-nav, .legal-disclosure, .booking-legal-note { overflow-wrap: anywhere; }
.faq__answer { overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .review__content--official { display: flex; flex-direction: column; gap: 18px; max-width: 760px; }
  .review__content--official .review__rating-box { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; width: 100%; padding: 0; }
  .review__content--official .review__link { margin: 0; }
  .review__content--official .review__source { margin: 0; }
  .review__official-wrap { width: 100%; }
}
@media (max-width: 600px) {
  html { scroll-padding-top: 82px; }
  .review__content--official { margin-top: 20px; }
  .review__official-widget { height: 580px; border-radius: 12px; }
  .review__official-note { font-size: 12px; line-height: 1.55; }
  .external-widget__overlay { padding: 18px; }
  .external-widget__overlay strong { font-size: 18px; }
  .analytics-banner { max-height: min(60vh,430px); overflow-y: auto; }
  .analytics-banner__actions button { flex: 1 1 140px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
/* На планшетах и телефонах кнопку заменяет пункт бронирования в меню. */
@media (max-width: 860px) { .header__link { display: none; } }
