/* ---- rating-desktop-only: рейтинг в шапке возвращён, но только там, где есть место:
       на телефоне он вытеснял бургер ---- */
@media (min-width: 1100px){
  .site-header .hdr-rating{ display: flex !important; }
}
@media (max-width: 1099px){
  .site-header .hdr-rating{ display: none !important; }
}

/* ---- Первый экран: фото не должно резать лица ---- */
html body .hero .hero-media__frame img{ object-position: center 22% !important; }

/* ---- Плашки контактов: текст в одну строку ---- */
html body .hero .hero-contact{ min-width: 0 !important; }
html body .hero .hero-contact__body{ min-width: 0 !important; }
html body .hero .hero-contact__body b{
  white-space: nowrap !important; font-size: 15px !important; line-height: 1.25 !important;
}
html body .hero .hero-contact__body em{
  white-space: nowrap !important; font-size: 13px !important; font-style: normal !important;
}
html body .hero .hero-contacts{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

/* ---- Листание ценового блока ---- */
.hero-price__dots{ display: flex; gap: 7px; margin: 14px 0 4px; }
.hero-price__dots button{
  width: 24px; height: 4px; padding: 0; border: 0; border-radius: 999px;
  background: rgba(255,255,255,.30); cursor: pointer; transition: .2s ease;
}
.hero-price__dots button.is-active{ background: var(--p-gold); width: 34px; }
.hero-price__value.is-pop{ animation: heroPricePop .5s ease; }
@keyframes heroPricePop{ 0%{transform:scale(.94);opacity:.6} 60%{transform:scale(1.04)} 100%{transform:scale(1);opacity:1} }

/* ---- Три шага: подписи в одну строку, иконка не ломается ---- */
.steps3__tag{
  white-space: nowrap !important;
  font-size: 12px !important;
  padding: 8px 12px !important;
}
.steps3__tag svg{ width: 15px !important; height: 15px !important; }

@media (max-width: 991px){
  html body .hero .hero-contacts{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 767px){
  html body .hero .hero-contacts{ grid-template-columns: 1fr !important; }
  .steps3__tag{ white-space: normal !important; }
}


/* Телефон: кнопки в два столбца — иначе ценовой блок уезжает за экран */
@media (max-width: 767px){
  html body .hero .actions{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 8px !important;
  }
  html body .hero .actions .btn{
    width: 100% !important; padding: 12px 10px !important; font-size: 13.5px !important;
    justify-content: center !important;
  }
  html body .hero .actions .btn.btn-max{ grid-column: 1 / -1 !important; }
  html body .hero .actions .btn svg{ width: 17px !important; height: 17px !important; }
}


/* adaptive-final */
/* Нижняя панель нужна и на планшетах в портрете, не только на телефоне */
@media (max-width: 900px){
  .mobile-bar{
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1300;
    background: #FFFFFF; border-top: 1px solid var(--p-border);
    box-shadow: 0 -4px 16px rgba(19,22,20,.10);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  body{ padding-bottom: 62px !important; }
  .max-widget, .max-widget__btn, .max-widget__wrap{ bottom: 74px !important; }
}

/* Карта Яндекса рисует canvas шире контейнера — на 1024px это давало 4px прокрутки */
.offices-hero__map, #offices-hero-ymap, [id*="ymap"]{ overflow: hidden !important; max-width: 100% !important; }
.offices-hero__map canvas, [id*="ymap"] canvas, .ymaps-2-1-79-map canvas{ max-width: 100% !important; }
