/* ============================================================
   А-Медия · шапка, подвал, попап и плавающие элементы
   Подключается ПОСЛЕ app.css — перекрывает старые правила.
   Классы-хуки (js-*, data-popup, id коллтрекинга) не менялись.

   База (проверено вживую на a-mediya.ru через браузер):

   1. ЛИПКОЕ МЕНЮ. Шапка обычная и уезжает при прокрутке, полоса
      меню — position: sticky; top: 0 — остаётся сверху одна.
      Для sticky снят overflow: hidden с .out (он ломает липкость
      у потомков), защита от горизонтального переполнения — на html.

   2. МЕГАМЕНЮ НЕ СХЛОПЫВАЕТСЯ. В app.css меню открывает чистый
      CSS (.nav__item:hover .nav__drop {display:block}); паддинги
      полосы 24/18px создавали «мёртвый» пояс, на котором :hover
      слетал. Паддинги обнулены, пункт заполняет полосу целиком.

   3. Z-INDEX шкалой: шапка 70 (карточка адреса поверх меню) >
      меню 60 > контент; «наверх» 75, мессенджеры 80, попап 90.

   4. КАРТОЧКИ АКЦИЙ В МЕНЮ (переписаны в этой версии).
      Замеры показали две причины «кривого» вида:
      · у картинок в меню loading="lazy", а меню при загрузке
        страницы скрыто — браузер их не грузит, natural size 0,
        .action__preview схлопывается в высоту 0 и картинка потом
        наезжает на текст. Лечится только фиксированной высотой
        фото-бокса: 168px + object-fit: cover. От момента загрузки
        раскладка больше не зависит вообще;
      · тема даёт .action_nav { padding: 0 10px } как гаттер
        карусели. Фон и скругления, повешенные на .action,
        закрашивали этот гаттер — отсюда тёмные полосы по бокам.
        Поэтому «чрома» карточки (фон, радиусы, тень) перенесена
        с .action на .action__preview + .action__info, а гаттер
        оставлен прозрачным.
      Бейдж скидки возвращён в поток (был absolute и налезал на
      заголовок), заголовку снята фикс. высота 46px и центровка.

   Прочее из предыдущих версий: шапка без фиксации, часы и адрес
   придвинуты к контактам, панель мегаменю 1420px, кнопка «наверх»
   над кнопкой контактов по одной оси, пульс на кнопке контактов.

   Всё визуальное в меню — через .nav.am-nav и, где спорно, с
   !important: app-enhance.css подключён ПОСЛЕ этого файла.
   display / visibility / height / overflow у блоков, которыми
   управляет app.js (.nav__drop, .nav__group, .nav__box,
   .nav__search, .nav__types), НЕ задаются.
   ============================================================ */

:root {
  /* Фирменный цвет #12899E — только для плашек, иконок и акцентов
     (--am-l-brand). Текст остаётся тёмным: на белом #12899E даёт
     контраст 4.1:1 и мелкие подписи читаются плохо.
     900 и 800 — текстовые тона, их не осветляем. */
  --am-l-brand: #12899E;
  --am-l-brand-dark: #0E6E80;
  --am-l-teal-900: #0D3B41;
  --am-l-teal-800: #124A51;
  --am-l-teal-500: #12899E;
  --am-l-teal-100: #CFE9EF;
  --am-l-teal-050: #E9F5F8;
  --am-l-card: #FFFFFF;
  --am-l-line: #E4E8E5;
  --am-l-ink: #123A3F;
  --am-l-ink-soft: #54696B;
  --am-l-flame: #D14E24;
  --am-l-flame-dark: #B4401B;
  --am-l-flame-050: #FBEDE7;
  --am-l-font-d: 'Montserrat', system-ui, sans-serif;
  --am-l-font-b: 'Montserrat', system-ui, sans-serif;
  --am-l-hdr-h: 78px;
}

/* ══════════════ УСЛОВИЯ ДЛЯ STICKY ══════════════ */

html { overflow-x: hidden; }
.out { overflow: visible !important; }

/* ══════════════ ШАПКА ══════════════ */

/* Обычная, не липкая: при прокрутке уезжает вместе со страницей,
   сверху остаётся только полоса меню. */
.am-hdr {
  position: relative;
  z-index: 70;
  background: var(--am-l-card);
  border-bottom: 1px solid var(--am-l-line);
  font-family: var(--am-l-font-b);
}

/* Верхняя полоса */

.am-hdr__top { background: var(--am-l-brand); color: rgba(255, 255, 255, .78); }

.am-hdr__top-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; min-height: 40px;
}

.am-hdr__topnav { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }

.am-hdr__toplink {
  font-size: 13px; line-height: 1.4; color: rgba(255, 255, 255, .78);
  text-decoration: none; white-space: nowrap;
  transition: color .16s ease;
}
.am-hdr__toplink:hover { color: #fff; }

.am-hdr__lk {
  display: inline-flex; align-items: center; gap: 7px; flex: none;
  font-size: 13px; font-weight: 600; color: var(--am-l-teal-100);
  text-decoration: none; white-space: nowrap;
  transition: color .16s ease;
}
.am-hdr__lk svg { width: 15px; height: 15px; }
.am-hdr__lk:hover { color: #fff; }

/* Основная полоса: логотип слева, часы + адрес + телефон + кнопка
   единым блоком справа */

.am-hdr__main { background: var(--am-l-card); }

.am-hdr__row {
  display: flex; align-items: center; gap: 24px;
  min-height: var(--am-l-hdr-h);
}

.am-hdr__logo { flex: none; display: block; }
.am-hdr__logo .logo__pic { display: block; height: 44px; width: auto; }

.am-hdr__ic {
  flex: none; width: 38px; height: 38px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--am-l-teal-050); color: var(--am-l-teal-500);
  transition: background .16s ease, color .16s ease;
}
.am-hdr__ic svg { width: 18px; height: 18px; }
.am-hdr__ic--phone { background: var(--am-l-flame-050); color: var(--am-l-flame); }

/* Часы работы — придвинуты к контактам */

.am-hdr__schedule { display: flex; align-items: center; gap: 11px; margin-left: auto; }

.am-hdr__hours { list-style: none; margin: 0; padding: 0; }

.am-hdr__hours-item {
  display: flex; align-items: baseline; gap: 8px;
  font-size: 13px; line-height: 1.45; white-space: nowrap;
}
.am-hdr__hours-day { color: var(--am-l-ink-soft); }
.am-hdr__hours-time { font-weight: 600; color: var(--am-l-teal-900); }

/* Адрес с раскрытием */

.am-hdr__address { position: relative; }

.am-hdr__address-btn {
  display: inline-flex; align-items: center; gap: 11px;
  width: auto; height: auto; min-width: 0; min-height: 0; overflow: visible;
  padding: 6px 10px 6px 0; margin: 0;
  background: none; border: 0; cursor: pointer;
  font-family: inherit; font-size: 13px; color: var(--am-l-ink-soft);
  border-radius: 999px;
  transition: color .16s ease;
}
.am-hdr__address-btn:hover { color: var(--am-l-teal-900); }
.am-hdr__address-btn:hover .am-hdr__ic { background: var(--am-l-teal-100); }

.am-hdr__address-short {
  max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-weight: 600; color: var(--am-l-teal-900);
}

.am-hdr__chev { width: 16px; height: 16px; color: var(--am-l-teal-500); transition: transform .2s ease; }

.am-hdr__address-drop {
  z-index: 50; min-width: 290px; padding: 18px 20px;
  background: var(--am-l-card);
  border: 1px solid var(--am-l-line); border-radius: 18px;
  box-shadow: 0 18px 44px -18px rgba(13, 59, 65, .32);
}

.am-hdr__metro {
  margin: 0 0 4px; font-size: 14px; font-weight: 600; color: var(--am-l-teal-800);
  display: flex; align-items: center; gap: 7px;
}
.am-hdr__metro::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--am-l-flame); flex: none; }

.am-hdr__addr { margin: 0 0 10px; font-size: 14px; line-height: 1.5; color: var(--am-l-ink-soft); }

.am-hdr__map {
  display: inline-flex; align-items: center; gap: 7px;
  font: 600 13px/1 var(--am-l-font-b); color: var(--am-l-flame); text-decoration: none;
}
.am-hdr__map svg { width: 14px; height: 14px; transition: transform .16s ease; }
.am-hdr__map:hover svg { transform: translateX(3px); }

/* Телефон и кнопка */

.am-hdr__contact { display: flex; align-items: center; gap: 16px; margin-left: 0; flex: none; }

.am-hdr__phone { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; }

.am-hdr__phone-value {
  font-family: var(--am-l-font-d);
  font-size: 19px; font-weight: 800; letter-spacing: -.01em;
  color: var(--am-l-teal-900); white-space: nowrap;
}
.am-hdr__phone:hover .am-hdr__ic--phone { background: var(--am-l-flame); color: #fff; }

.am-hdr__cta {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 24px; border-radius: 14px;
  background: var(--am-l-flame); color: #fff;
  font: 700 14px/1 var(--am-l-font-b); text-decoration: none; white-space: nowrap;
  transition: background .16s ease;
}
.am-hdr__cta svg { width: 15px; height: 15px; transition: transform .16s ease; }
.am-hdr__cta:hover { background: var(--am-l-flame-dark); }
.am-hdr__cta:hover svg { transform: translateX(3px); }

.am-hdr a:focus-visible {
  outline: 2px solid var(--am-l-teal-500); outline-offset: 3px; border-radius: 8px;
}
.am-hdr button:focus,
.am-hdr button:focus-visible { outline: none !important; }

@media (max-width: 1180px) {
  .am-hdr__inner { gap: 18px; }
  .am-hdr__schedule { display: none; }
  .am-hdr__address { margin-left: auto; }
  .am-hdr__phone-value { font-size: 17px; }
}

@media (max-width: 900px) {
  .am-hdr__top-inner { min-height: 36px; }
  .am-hdr__topnav { display: none; }
  .am-hdr__lk { margin-left: auto; }
  .am-hdr__address { display: none; }
  .am-hdr__row { min-height: 64px; gap: 12px; }
  .am-hdr__logo .logo__pic { height: 36px; }
  .am-hdr__contact { margin-left: auto; }
  .am-hdr__cta { padding: 12px 16px; font-size: 13px; }
  .am-hdr__cta svg { display: none; }
}

@media (max-width: 560px) {
  .am-hdr__phone-value { display: none; }
  .am-hdr__contact { gap: 10px; }
}

/* ── Жёсткое перекрытие старой темы в шапке ───────────────── */

.header.am-hdr {
  position: relative !important;
  top: auto !important;
  z-index: 70 !important;
  background: var(--am-l-card) !important;
  background-image: none !important;
  min-height: 0 !important; height: auto !important;
  padding: 0 !important; margin: 0 !important;
  box-shadow: none !important;
}

.header.am-hdr .am-hdr__top {
  background: var(--am-l-brand) !important;
  background-image: none !important;
  padding: 0 !important;
}

.header.am-hdr .header__container.am-hdr__main {
  background: var(--am-l-card) !important;
  background-image: none !important;
  padding: 0 !important; margin: 0 !important;
  border: 0 !important; box-shadow: none !important;
  min-height: 0 !important; height: auto !important;
  overflow: visible !important;   /* app-enhance клипует карточку адреса */
}

.header.am-hdr .header__container::before { display: none !important; }

/* телефон и «Онлайн запись» по одной оси: тема даёт
   .phone__number нижний отступ 10px — глушим */
.header.am-hdr .am-hdr__phone { margin: 0 !important; padding: 0 !important; }

.header.am-hdr .am-hdr__top-inner {
  display: flex; align-items: center; justify-content: flex-start;
  min-height: 40px;
}

.header.am-hdr .am-hdr__topnav {
  display: flex; flex-wrap: wrap; align-items: center; gap: 22px;
  width: auto; flex: none; justify-content: flex-start;
}

.header.am-hdr .am-hdr__row {
  display: flex; align-items: center; gap: 24px;
  min-height: var(--am-l-hdr-h); padding: 0;
}

.am-hdr__logo { flex: none; display: inline-flex; align-items: center; }
.am-hdr__logo-pic { display: block; height: 42px; width: auto; }

.am-hdr__address { position: relative; }

.am-hdr__address-drop {
  display: none;
  position: absolute; top: calc(100% + 10px); left: 0;
}

.am-hdr__address:hover .am-hdr__address-drop,
.am-hdr__address:focus-within .am-hdr__address-drop,
.am-hdr__address.active .am-hdr__address-drop,
.am-hdr__address-drop.active { display: block; }

/* ══════════════ ПОДВАЛ ══════════════ */

.am-ftr { background: var(--am-l-card); font-family: var(--am-l-font-b); color: var(--am-l-ink); }

/* Полоса записи */

.am-ftr__cta-band {
  background:
    radial-gradient(120% 160% at 88% 0%, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, 0) 60%),
    var(--am-l-brand);
  color: #fff; padding: 30px 0;
}

.am-ftr__cta-inner {
  display: grid; grid-template-columns: minmax(0, 1.3fr) auto auto; gap: 28px 36px;
  align-items: center;
}

.am-ftr__cta-title {
  margin: 0 0 6px;
  font-family: var(--am-l-font-d);
  font-size: clamp(20px, 2.3vw, 26px); font-weight: 800;
  line-height: 1.2; letter-spacing: -.01em; color: #fff;
}

.am-ftr__cta-sub { margin: 0; font-size: 14px; line-height: 1.55; color: rgba(255, 255, 255, .7); max-width: 420px; }

/* Телефон слева от кнопок, всё в одну строку */
.am-ftr__cta-actions {
  display: flex; flex-direction: row; flex-wrap: wrap;
  align-items: center; gap: 12px 22px;
}

.am-ftr__cta-phone {
  flex: none;
  font-family: var(--am-l-font-d);
  font-size: 23px; font-weight: 800; letter-spacing: -.01em;
  color: #fff; text-decoration: none; white-space: nowrap;
}
.am-ftr__cta-phone:hover { color: var(--am-l-teal-100); }

.am-ftr__cta-btns { display: flex; gap: 10px; flex-wrap: wrap; }

.am-ftr__cta-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 22px; border-radius: 13px;
  font: 700 14px/1 var(--am-l-font-b); text-decoration: none; white-space: nowrap;
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.am-ftr__cta-btn svg { width: 15px; height: 15px; transition: transform .16s ease; }

.am-ftr__cta-btn--main { background: var(--am-l-flame); color: #fff; }
.am-ftr__cta-btn--main:hover { background: var(--am-l-flame-dark); color: #fff; }
.am-ftr__cta-btn--main:hover svg { transform: translateX(3px); }

.am-ftr__cta-btn--ghost { background: transparent; border: 1.5px solid rgba(255, 255, 255, .25); color: #fff; }
.am-ftr__cta-btn--ghost:hover { border-color: #fff; }

/* Мессенджеры */

.am-ftr__msg { display: flex; flex-direction: column; gap: 10px; }

.am-ftr__msg-label {
  margin: 0;
  font: 600 11px/1 var(--am-l-font-b);
  letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .55);
}

.am-ftr__msg-links { display: flex; gap: 9px; flex-wrap: wrap; }

.am-ftr__msg-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 18px; border-radius: 999px;
  background: rgba(255, 255, 255, .1); color: #fff;
  font: 600 14px/1 var(--am-l-font-b); text-decoration: none;
  transition: background .16s ease, transform .16s ease;
}
.am-ftr__msg-btn svg { width: 18px; height: 18px; }
.am-ftr__msg-btn:hover { transform: translateY(-2px); }
.am-ftr__msg-btn--max:hover { background: #6C4EF2; }
.am-ftr__msg-btn--tg:hover { background: #29A9EB; }

@media (max-width: 1100px) {
  .am-ftr__cta-inner { grid-template-columns: 1fr 1fr; }
  .am-ftr__cta-phone { font-size: 20px; }
  .am-ftr__msg { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .am-ftr__cta-band { padding: 24px 0; }
  .am-ftr__cta-inner { grid-template-columns: 1fr; gap: 20px; }
  .am-ftr__cta-actions { align-items: flex-start; }
  .am-ftr__cta-btns { width: 100%; }
  .am-ftr__cta-btn { flex: 1; justify-content: center; }
}

/* Контакты */

.am-ftr__top { background: var(--am-l-teal-050); padding: 30px 0; }

.am-ftr__cards {
  display: grid; grid-template-columns: 1.1fr .9fr 1.1fr; gap: 28px;
  align-items: start;
}

.am-ftr__card { display: flex; align-items: flex-start; gap: 13px; }

.am-ftr__ic {
  flex: none; width: 40px; height: 40px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--am-l-card); color: var(--am-l-teal-500);
}
.am-ftr__ic svg { width: 19px; height: 19px; }

.am-ftr__card-body { min-width: 0; }

.am-ftr__label {
  margin: 0 0 7px;
  font: 600 11px/1 var(--am-l-font-b);
  letter-spacing: .1em; text-transform: uppercase; color: var(--am-l-teal-500);
}

.am-ftr__hours { list-style: none; margin: 0; padding: 0; }

.am-ftr__hours-item {
  display: flex; align-items: baseline; gap: 8px;
  font-size: 14px; padding: 2px 0;
}
.am-ftr__hours-day { color: var(--am-l-ink-soft); white-space: nowrap; }

.am-ftr__dots {
  flex: 1; min-width: 12px; height: 1px; align-self: flex-end; margin-bottom: 5px;
  background-image: radial-gradient(circle, var(--am-l-line) 1px, transparent 1px);
  background-size: 6px 2px; background-repeat: repeat-x;
}

.am-ftr__hours-time { font-weight: 600; color: var(--am-l-teal-900); white-space: nowrap; }

.am-ftr__link, .am-ftr__metro, .am-ftr__addr { font-size: 15px; line-height: 1.5; }
.am-ftr__link { color: var(--am-l-teal-800); text-decoration: none; word-break: break-all; }
.am-ftr__link:hover { color: var(--am-l-flame); }

.am-ftr__metro {
  margin: 0 0 3px; font-size: 14px; font-weight: 600; color: var(--am-l-teal-800);
  display: flex; align-items: center; gap: 7px;
}
.am-ftr__metro::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--am-l-flame); flex: none; }

.am-ftr__addr { margin: 0 0 8px; color: var(--am-l-ink-soft); }

.am-ftr__map {
  display: inline-flex; align-items: center; gap: 7px;
  font: 600 13px/1 var(--am-l-font-b); color: var(--am-l-flame); text-decoration: none;
}
.am-ftr__map svg { width: 14px; height: 14px; transition: transform .16s ease; }
.am-ftr__map:hover svg { transform: translateX(3px); }

.am-ftr__phone {
  display: block; margin-bottom: 12px;
  font-family: var(--am-l-font-d);
  font-size: 21px; font-weight: 800; letter-spacing: -.01em;
  color: var(--am-l-teal-900); text-decoration: none; white-space: nowrap;
}
.am-ftr__phone:hover { color: var(--am-l-flame); }

.am-ftr__cta {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 20px; border-radius: 12px;
  background: var(--am-l-card); border: 1.5px solid var(--am-l-line);
  color: var(--am-l-teal-800);
  font: 700 14px/1 var(--am-l-font-b); text-decoration: none;
  transition: border-color .16s ease, color .16s ease;
}
.am-ftr__cta svg { width: 15px; height: 15px; }
.am-ftr__cta:hover { border-color: var(--am-l-flame); color: var(--am-l-flame); }

/* Меню */

.am-ftr__middle { padding: 36px 0 32px; }

.am-ftr__row { display: grid; grid-template-columns: 1fr .9fr 1.8fr; gap: 36px; align-items: start; }

.am-ftr__logo { display: block; margin-bottom: 18px; }
.am-ftr__logo .logo__pic { display: block; height: 46px; width: auto; }

.am-ftr__menu { display: flex; flex-direction: column; gap: 9px; }

.am-ftr__menu-link {
  font-size: 15px; font-weight: 600; color: var(--am-l-teal-900);
  text-decoration: none; transition: color .16s ease;
}
.am-ftr__menu-link:hover { color: var(--am-l-flame); }

.am-ftr__title {
  margin: 0 0 12px;
  font-family: var(--am-l-font-d);
  font-size: 16px; font-weight: 800; color: var(--am-l-teal-900);
}

.am-ftr__list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 22px; }
.am-ftr__list--cols { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; }

.am-ftr__list .am-ftr__link {
  font-size: 14px; color: var(--am-l-ink-soft); text-decoration: none; word-break: normal;
  transition: color .16s ease;
}
.am-ftr__list .am-ftr__link:hover { color: var(--am-l-flame); }

/* Низ */

.am-ftr__bottom { border-top: 1px solid var(--am-l-line); padding: 22px 0 26px; }

.am-ftr__bottom-inner {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 24px; flex-wrap: wrap;
}

.am-ftr__copy { max-width: 640px; }

.am-ftr__copy-text { margin: 0 0 5px; font-size: 13px; line-height: 1.55; color: var(--am-l-ink-soft); }

.am-ftr__letsee {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 8px;
  font-size: 13px; color: var(--am-l-teal-800); text-decoration: none;
  transition: color .16s ease;
}
.am-ftr__letsee img { display: block; }
.am-ftr__letsee:hover { color: var(--am-l-flame); }

.am-ftr__meta { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.am-ftr__rating { border: 0; display: block; }

.am-ftr__social { display: flex; gap: 9px; }

.am-ftr__soc {
  width: 40px; height: 40px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--am-l-teal-050); color: var(--am-l-teal-800);
  transition: background .16s ease, color .16s ease, transform .16s ease;
}
.am-ftr__soc svg { width: 20px; height: 20px; }
.am-ftr__soc:hover { background: var(--am-l-brand); color: #fff; transform: translateY(-2px); }

.am-ftr__soc--max:hover { background: #6C4EF2; }
.am-ftr__soc.social__item_vk:hover { background: #2787F5; }
.am-ftr__soc.social__item_tg:hover { background: #29A9EB; }

.am-ftr a:focus-visible { outline: 2px solid var(--am-l-teal-500); outline-offset: 3px; border-radius: 8px; }
.am-ftr button:focus, .am-ftr button:focus-visible { outline: none !important; }

@media (max-width: 1100px) {
  .am-ftr__row { grid-template-columns: 1fr 1fr; }
  .am-ftr__col--wide { grid-column: 1 / -1; }
}

@media (max-width: 1000px) {
  .am-ftr__cards { grid-template-columns: 1fr 1fr; gap: 22px; }
  .am-ftr__row { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .am-ftr__top { padding: 24px 0; }
  .am-ftr__cards { grid-template-columns: 1fr; gap: 18px; }
  .am-ftr__middle { padding: 26px 0 22px; }
  .am-ftr__row { grid-template-columns: 1fr; gap: 24px; }
  .am-ftr__list--cols { grid-template-columns: 1fr; }
  .am-ftr__bottom-inner { flex-direction: column; }
  .am-ftr__phone { font-size: 19px; }
}

/* ══════════════ ПОПАП «ОБРАТНЫЙ ЗВОНОК» ══════════════ */

.am-modal { z-index: 90; }

.am-modal__box {
  position: relative;
  width: 100%; max-width: 460px;
  padding: 32px 34px 28px;
  background: var(--am-l-card);
  border-radius: 26px;
  box-shadow: 0 30px 70px -24px rgba(13, 59, 65, .45);
  font-family: var(--am-l-font-b);
}

.am-modal__close {
  position: absolute; top: 14px; right: 14px;
  width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--am-l-teal-050); color: var(--am-l-teal-800); cursor: pointer;
  transition: background .16s ease;
}
.am-modal__close svg { width: 18px; height: 18px; }
.am-modal__close:hover { background: var(--am-l-teal-100); }

.am-modal__title {
  margin: 0 0 8px; padding-right: 40px;
  font-family: var(--am-l-font-d);
  font-size: 23px; font-weight: 800; line-height: 1.25;
  letter-spacing: -.01em; color: var(--am-l-teal-900);
}

.am-modal__text { margin: 0 0 22px; font-size: 15px; line-height: 1.55; color: var(--am-l-ink-soft); }

.am-modal__req { color: var(--am-l-flame); margin-left: 2px; }

.am-modal__fields { display: flex; flex-direction: column; gap: 14px; }

.am-modal .form__field.field,
.am-modal .form .form__field.field {
  position: static; display: flex; flex-direction: column; gap: 6px;
  margin: 0; padding: 0; min-height: 0; border: 0; background: none;
}

.am-modal .form__field.field .field__label,
.am-modal .form .form__field.field .field__label {
  position: static; top: auto; left: auto; transform: none;
  margin: 0; padding: 0; width: auto; height: auto; min-height: 0;
  font-size: 13px; font-weight: 600; line-height: 1.3;
  letter-spacing: normal; text-transform: none;
  color: var(--am-l-ink-soft); background: none; opacity: 1; visibility: visible;
}

.am-modal .form__field.field .field__wrap,
.am-modal .form .form__field.field .field__wrap {
  position: static; margin: 0; padding: 0; min-height: 0; border: 0; background: none;
}

.am-modal .field__input {
  width: 100%; height: auto; min-height: 0; line-height: 1.45;
  margin: 0; padding: 14px 16px; box-shadow: none;
  font-size: 15px; font-family: var(--am-l-font-b); color: var(--am-l-ink);
  background: var(--am-l-card);
  border: 1.5px solid var(--am-l-line); border-radius: 14px;
  -webkit-appearance: none; appearance: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}
.am-modal .field__input::placeholder { color: var(--am-l-ink-soft); opacity: .6; }
.am-modal .field__input:focus {
  outline: none; border-color: var(--am-l-teal-500);
  box-shadow: 0 0 0 4px rgba(18, 137, 158, .12);
}
.am-modal .field.error .field__input,
.am-modal .field.is-error .field__input,
.am-modal .field_error .field__input { border-color: #C0392B; }

.am-modal__btns { margin-top: 20px; }

.am-modal__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  width: 100%; padding: 16px 26px; border: 0; border-radius: 14px;
  background: var(--am-l-flame); color: #fff;
  font: 700 15px/1 var(--am-l-font-b); font-family: var(--am-l-font-b);
  cursor: pointer; transition: background .16s ease, transform .16s ease;
}
.am-modal__btn svg { width: 15px; height: 15px; transition: transform .16s ease; }
.am-modal__btn:hover { background: var(--am-l-flame-dark); }
.am-modal__btn:hover svg { transform: translateX(3px); }
.am-modal__btn:active { transform: translateY(1px); }

.am-modal__policy { margin: 16px 0 0; font-size: 12px; line-height: 1.5; color: var(--am-l-ink-soft); }
.am-modal__policy a { color: var(--am-l-teal-500); }
.am-modal__policy a:hover { color: var(--am-l-flame); }

@media (max-width: 520px) {
  .am-modal__box { padding: 26px 20px 22px; border-radius: 20px; }
  .am-modal__title { font-size: 20px; }
}

/* ══════════════ КНОПКА «НАВЕРХ» И ЯЗЫЧОК САЙДБАРА ══════════════ */
/* Стоит слева, НАД маскотом чата, по его центральной оси.
   Замеры на живом сайте: .am-ai-launcher-wrap — 112x145px,
   left: 24px, верхний край на 139px от низа; бабл «Нужна помощь?»
   начинается на 172px от низа левее не заходит (left: 119px).
   Отсюда left: 56px (центр 80px совпадает с центром маскота)
   и bottom: 186px — над маскотом и выше бабла. */

.am-up {
  position: fixed !important;
  left: 56px !important; bottom: 186px !important;
  right: auto !important; top: auto !important;
  z-index: 75;
  width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--am-l-brand); color: #fff; cursor: pointer;
  box-shadow: 0 14px 30px -12px rgba(13, 59, 65, .5);
  transition: background .16s ease, transform .16s ease;
}
.am-up svg { width: 20px; height: 20px; }
.am-up:hover { background: var(--am-l-brand-dark); transform: translateY(-2px); }

@media (max-width: 640px) {
  .am-up { left: 44px !important; right: auto !important; bottom: 176px !important; }
}

.am-aside-toggle {
  width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--am-l-card); border: 1.5px solid var(--am-l-line);
  color: var(--am-l-teal-800); cursor: pointer;
  transition: border-color .16s ease, color .16s ease;
}
.am-aside-toggle svg { width: 18px; height: 18px; }
.am-aside-toggle:hover { border-color: var(--am-l-teal-500); color: var(--am-l-teal-500); }

/* ══════════════ ПЛАВАЮЩИЙ БЛОК СВЯЗИ ══════════════ */

.floating-block { z-index: 80; }

.floating-block__btn {
  width: 56px; height: 56px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 12px 26px -10px rgba(13, 59, 65, .5);
  transition: transform .18s ease, background .18s ease;
}
.floating-block__btn:hover { transform: translateY(-2px); }
.floating-block__icon, .floating-block__btn svg { width: 26px; height: 26px; }

/* Кнопка контактов: чистый фирменный круг + мягкая пульсация */
.floating-block__btn--pulsating {
  background: var(--am-l-flame) !important;
  cursor: pointer;
  animation: am-pulse 2.6s ease-out infinite;
}
.floating-block__btn--pulsating:hover { background: var(--am-l-flame-dark) !important; }

@keyframes am-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(209, 78, 36, .4), 0 12px 26px -10px rgba(13, 59, 65, .5); }
  70%  { box-shadow: 0 0 0 14px rgba(209, 78, 36, 0), 0 12px 26px -10px rgba(13, 59, 65, .5); }
  100% { box-shadow: 0 0 0 0 rgba(209, 78, 36, 0), 0 12px 26px -10px rgba(13, 59, 65, .5); }
}

.floating-block__btn--max { background: #6C4EF2; }
.floating-block__btn--telegram { background: #29A9EB; }
.floating-block__btn--whatsapp { background: #25D366; }
.floating-block__btn--viber { background: #7360F2; }

.floating-block__options { display: flex; flex-direction: column; gap: 10px; }

@media (max-width: 640px) {
  .floating-block__btn { width: 50px; height: 50px; }
  .floating-block__icon, .floating-block__btn svg { width: 23px; height: 23px; }
}

/* ══════════════ ГЛАВНОЕ МЕНЮ ══════════════ */

/* — Полоса меню: липкая у самого верха, на всю ширину контейнера — */

.nav.am-nav {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;               /* шапка не фиксируется — липнет только меню */
  z-index: 60 !important;
  margin: 0 !important;
  padding: 0 !important;           /* убирает «мёртвый» зазор под пунктами */
  background: var(--am-l-card) !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--am-l-line) !important;
  box-shadow: 0 14px 28px -24px rgba(13, 59, 65, .28) !important;
  font-family: var(--am-l-font-b);
}

.nav.am-nav::before { display: none !important; }

.nav.am-nav .nav__center { background: none !important; }

.nav.am-nav .nav__menu {
  min-height: 60px; align-items: center;
  margin: 0 !important; width: 100%;
  justify-content: space-between;
}
.nav.am-nav .nav__inner { flex: 1 1 auto; min-width: 0; margin: 0 10px 0 22px; }
.nav.am-nav .nav__box {
  width: 100% !important;
  background: var(--am-l-card) !important;
  box-shadow: 0 26px 44px -26px rgba(13, 59, 65, .3);
}
.nav.am-nav .nav__section { width: 100%; justify-content: space-between; }

/* — Пункты полосы — */

.nav.am-nav .nav__link_simple {
  display: inline-flex !important;
  align-items: center; gap: 8px;
  min-height: 60px; padding: 0 16px !important; margin: 0 !important;
  background: none !important; background-image: none !important;
  border: 0 !important; box-shadow: none !important;
  font: 700 15px/1.2 var(--am-l-font-b) !important;
  color: var(--am-l-teal-900) !important;
  cursor: pointer; white-space: nowrap;
}
.nav.am-nav .nav__item:hover > .nav__link_simple,
.nav.am-nav .nav__item.active > .nav__link_simple { color: var(--am-l-flame) !important; }

.nav.am-nav .nav__section .nav__link {
  padding: 21px 14px !important; margin: 0 !important;
  font: 600 15px/1.2 var(--am-l-font-b) !important;
  color: var(--am-l-teal-900) !important;
  background: none !important; text-decoration: none;
}
.nav.am-nav .nav__section .nav__link:hover { color: var(--am-l-flame) !important; }

/* — Мегаменю: слой выпадашки прозрачный, панель — .nav__center — */

.nav.am-nav .nav__item { position: static !important; }

.nav.am-nav .nav__drop {
  left: 0 !important; right: 0 !important;
  top: 100% !important; bottom: auto !important;
  width: auto !important; min-width: 0 !important; max-width: none !important;
  margin: 0 !important; padding: 0 !important; transform: none !important;
  z-index: 60;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  pointer-events: none;
}

.nav.am-nav .nav__drop > .nav__center {
  pointer-events: auto;
  width: min(1420px, calc(100% - 40px));
  max-width: none;
  margin: 0 auto;
  background: var(--am-l-card);
  border: 1px solid var(--am-l-line); border-top: 0;
  border-radius: 0 0 22px 22px;
  overflow: hidden;
  box-shadow: 0 34px 60px -30px rgba(13, 59, 65, .4);
}

/* высота панели: сайдбар тянется на всю высоту, у правой области
   своя минимальная. overflow у .nav__l снят: тема клипует им
   содержимое (overflow: hidden), из-за чего карточки акций
   обрезались по нижнему краю панели. */
.nav.am-nav .nav__l {
  align-items: stretch !important;
  min-height: 520px;
  overflow: visible !important;
}

.nav.am-nav .nav__container { padding: 26px 30px 24px !important; min-height: 480px; }
.nav.am-nav .js-nav-group { padding-bottom: 20px; }

.nav.am-nav .nav__search { background: var(--am-l-card) !important; border-top: 1px solid var(--am-l-line); }

.am-nav__ic { width: 18px; height: 18px; }

/* — Левая колонка направлений — */

.nav.am-nav .nav__sidebar {
  background-color: var(--am-l-brand) !important;
  height: auto !important;
}

.nav.am-nav .nav__types { top: 16px !important; padding: 10px 0 !important; }

.nav.am-nav .nav__types .nav__link {
  padding: 11px 20px; margin-right: 12px;
  border-radius: 0 12px 12px 0;
  font-family: var(--am-l-font-b); font-size: 16px; font-weight: 600;
  line-height: 1.35; color: rgba(255, 255, 255, .85) !important;
  background: none !important;
  transition: background .16s ease, color .16s ease;
}
.nav.am-nav .nav__types .nav__link:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, .14) !important;
}
.nav.am-nav .nav__types .nav__link.active {
  color: var(--am-l-teal-900) !important;
  background: var(--am-l-card) !important;
  font-weight: 700;
}

/* — Заголовки и кнопки группы — */

.nav.am-nav .nav__title {
  font-family: var(--am-l-font-d); font-size: 22px;
  font-weight: 800; letter-spacing: -.01em; color: var(--am-l-teal-900) !important;
}

.am-nav__btn {
  padding: 11px 20px; border-radius: 12px;
  font-family: var(--am-l-font-b); font-weight: 700; font-size: 14px;
  text-decoration: none; white-space: nowrap;
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.am-nav__btn--main { background: var(--am-l-flame) !important; color: #fff !important; border: 0 !important; }
.am-nav__btn--main:hover { background: var(--am-l-flame-dark) !important; color: #fff !important; }
.am-nav__btn--ghost { background: var(--am-l-card) !important; border: 1.5px solid var(--am-l-line) !important; color: var(--am-l-teal-800) !important; }
.am-nav__btn--ghost:hover { border-color: var(--am-l-teal-500) !important; color: var(--am-l-teal-500) !important; }

/* — Разделы внутри группы — */

.nav.am-nav .nav__categories .nav__link {
  padding: 8px 15px; border-radius: 999px;
  background: var(--am-l-teal-050) !important; color: var(--am-l-teal-800) !important;
  font-family: var(--am-l-font-b); font-weight: 600; font-size: 13px;
  text-decoration: none;
  transition: background .16s ease, color .16s ease;
}
.nav.am-nav .nav__categories .nav__link:hover {
  background: var(--am-l-flame-050) !important; color: var(--am-l-flame-dark) !important;
}

/* — Список услуг — */

.nav.am-nav .nav__services .nav__link {
  font-family: var(--am-l-font-b); font-size: 15px; line-height: 1.45;
  color: var(--am-l-ink-soft) !important; text-decoration: none;
  transition: color .16s ease;
}
.nav.am-nav .nav__services .nav__link:hover { color: var(--am-l-flame) !important; }

.nav.am-nav .nav__all .link, .nav.am-nav .nav__col > .link {
  font-family: var(--am-l-font-b); font-weight: 700; font-size: 14px;
  color: var(--am-l-flame) !important; text-decoration: none;
}
.nav.am-nav .nav__all .link:hover, .nav.am-nav .nav__col > .link:hover { color: var(--am-l-flame-dark) !important; }

/* — Подсказка «Выберите направление» — */

.nav.am-nav .nav__direction { color: var(--am-l-teal-800) !important; }
.nav.am-nav .nav__direction-icon { color: var(--am-l-teal-500); }
.nav.am-nav .nav__direction-icon .am-nav__ic { width: 26px; height: 26px; }
.nav.am-nav .nav__direction-text { font-family: var(--am-l-font-b); font-weight: 600; }

/* ── КАРТОЧКА АКЦИИ В МЕНЮ ─────────────────────────────────
   Важно: .action_nav несёт гаттер карусели padding: 0 10px, поэтому
   фон/радиусы/тень на самом .action закрашивали промежуток между
   карточками. Чрома перенесена на .action__preview (верх) и
   .action__info (низ) — вместе они дают цельную карточку, гаттер
   остаётся прозрачным.
   Фото-бокс с ФИКСИРОВАННОЙ высотой: картинки в меню помечены
   loading="lazy", а меню при загрузке скрыто, поэтому их natural
   size = 0 и раскладка на авто-высоте рассыпалась. */

/* Равная высота карточек: стейдж карусели во flex, элементы
   растягиваются, карточка — колонка, подпись тянется, кнопка
   прижата к низу. Замер: все карточки 410px, ровно одинаковые.

   У самой карусели тема ставит height: 280px, а у .action__preview
   в app_add.css — max-height: 201px. Обе жёсткие величины сняты:
   именно из-за них карточки вылезали за нижний край панели. */

.nav.am-nav .am-nav__promos,
.nav.am-nav .am-nav__promos .owl-stage-outer { height: auto !important; }

.nav.am-nav .am-nav__promos .owl-stage { display: flex !important; align-items: stretch !important; }
.nav.am-nav .am-nav__promos .owl-item { display: flex !important; height: auto !important; }

.nav.am-nav .am-nav__promo {
  display: flex !important;
  flex-direction: column;
  width: 100%;
  max-width: 240px;                 /* предел для групп с 2 акциями */
  height: auto !important;
  margin: 0 !important;
  background: none !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
  overflow: visible !important;
  transition: none !important;      /* тема анимирует transform — источник дёрганья */
}

/* Квадратное фото: padding-bottom 100% + абсолютная картинка.
   Так квадрат гарантирован и не зависит от того, загрузилась ли
   картинка (в скрытом меню lazy-картинки имеют natural size 0). */
.nav.am-nav .am-nav__promo-pic {
  position: relative;
  display: block;
  flex: none;
  height: 0 !important;
  max-height: none !important;      /* app_add.css ставит 201px */
  padding-bottom: 100% !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 14px 14px 0 0 !important;
  background: var(--am-l-teal-100);
}

.nav.am-nav .am-nav__promo-pic img,
.nav.am-nav .am-nav__promo .action__pic {
  position: absolute !important;
  top: 0; left: 0;
  display: block;
  width: 100% !important; height: 100% !important;
  object-fit: cover;
  border-radius: 0 !important;
  margin: 0 !important;
}

/* Подпись: тема сдвигает её на hover вверх на 60px (translateY),
   из-за чего курсор оказывался вне карточки, :hover слетал и блок
   прыгал туда-обратно. Трансформ снят, анимируется только цвет. */
.nav.am-nav .am-nav__promo .action__info {
  position: relative;
  display: flex !important;
  flex-direction: column; align-items: flex-start;
  flex: 1 1 auto;
  padding: 12px 14px 14px !important;
  margin: 0 !important;
  text-align: left !important;
  background: var(--am-l-teal-050) !important;
  border-radius: 0 0 14px 14px;
  transform: none !important;
  transition: background-color .16s ease !important;
}
.nav.am-nav .am-nav__promo:hover .action__info { transform: none !important; }

/* бейдж — в потоке, первой строкой (был absolute и налезал на текст) */
.nav.am-nav .am-nav__promo .am-nav__promo-badge {
  position: static !important;
  top: auto !important; left: auto !important;
  right: auto !important; bottom: auto !important;
  transform: none !important;
  margin: 0 0 10px !important;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 11px; border-radius: 999px;
  background: var(--am-l-flame-050); color: var(--am-l-flame-dark);
  font: 700 12px/1.2 var(--am-l-font-b);
}
.am-nav__promo-badge .am-nav__ic { width: 14px; height: 14px; }
.nav.am-nav .am-nav__promo .action__label { font: inherit; color: inherit; }

/* заголовок: без фикс. высоты 46px и без центровки от темы */
.nav.am-nav .am-nav__promo .am-nav__promo-name {
  flex: 0 0 auto;
  height: auto !important; min-height: 0 !important;
  margin: 0 0 12px !important;
  overflow: visible !important;
  text-align: left !important;
  font-family: var(--am-l-font-d); font-size: 15px; font-weight: 700;
  line-height: 1.35; color: var(--am-l-teal-900);
  transition: color .16s ease !important;
}

/* Кнопка: тема даёт .action_nav .action__more { min-width: 190px },
   из-за чего она вылезала за правый край карточки. Снимаем min-width
   и растягиваем по ширине карточки; у всех карточек — на одной
   линии по низу. */
.nav.am-nav .am-nav__promo .am-nav__btn--ghost {
  margin: auto 0 0 !important;
  min-width: 0 !important;
  width: 100% !important; max-width: 100% !important;
  box-sizing: border-box;
  padding: 10px 14px !important;
  font-size: 13px;
  justify-content: center; text-align: center;
}

/* ховер — фирменный teal вместо синего темы */
.nav.am-nav .am-nav__promo:hover { box-shadow: none !important; }
.nav.am-nav .am-nav__promo:hover .action__info { background: var(--am-l-brand) !important; }
.nav.am-nav .am-nav__promo:hover .am-nav__promo-name { color: #fff !important; }
.nav.am-nav .am-nav__promo:hover .am-nav__promo-badge { background: #fff; }
.nav.am-nav .am-nav__promo:hover .am-nav__btn--ghost {
  background: #fff !important; border-color: #fff !important;
  color: var(--am-l-teal-800) !important;
}

/* — Стрелки карусели акций — */

.nav.am-nav .am-nav__promos { position: relative; }
.nav.am-nav .am-nav__promos .owl-nav { position: static; margin: 0; }

.nav.am-nav .am-nav__promos .owl-nav button.owl-prev,
.nav.am-nav .am-nav__promos .owl-nav button.owl-next {
  position: absolute; top: 40%; transform: translateY(-50%);
  width: 42px; height: 42px; padding: 0; border-radius: 50%;
  background: var(--am-l-card) !important;
  border: 1.5px solid var(--am-l-line) !important;
  color: var(--am-l-teal-800) !important;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 22px -10px rgba(13, 59, 65, .35);
  cursor: pointer; z-index: 4;
}
.nav.am-nav .am-nav__promos .owl-nav button.owl-prev { left: -6px; }
.nav.am-nav .am-nav__promos .owl-nav button.owl-next { right: -6px; }

.nav.am-nav .am-nav__promos .owl-nav button svg { display: none; }
.nav.am-nav .am-nav__promos .owl-nav button::before {
  content: ""; width: 9px; height: 9px;
  border-left: 2.5px solid currentColor;
  border-bottom: 2.5px solid currentColor;
}
.nav.am-nav .am-nav__promos .owl-nav button.owl-prev::before { transform: rotate(45deg); margin-left: 4px; }
.nav.am-nav .am-nav__promos .owl-nav button.owl-next::before { transform: rotate(-135deg); margin-right: 4px; }

.nav.am-nav .am-nav__promos .owl-nav button:hover {
  background: var(--am-l-flame) !important;
  border-color: var(--am-l-flame) !important;
  color: #fff !important;
}
.nav.am-nav .am-nav__promos .owl-nav button.disabled { opacity: .35; pointer-events: none; }

/* — Бургер, поиск, кнопка записи — */

.nav.am-nav .am-nav__burger,
.nav.am-nav .am-nav__icon-btn,
.nav.am-nav .am-nav__zapis {
  color: var(--am-l-teal-800) !important;
  border: 0 !important; background: none !important; cursor: pointer;
  border-radius: 12px; transition: color .16s ease, background .16s ease;
}
.nav.am-nav .am-nav__burger:hover,
.nav.am-nav .am-nav__icon-btn:hover,
.nav.am-nav .am-nav__zapis:hover { color: var(--am-l-teal-900) !important; }

.nav.am-nav .nav__item_search { border: 0 !important; background: none !important; }
.nav.am-nav .nav__item_search.active {
  box-shadow: none !important;
  background: var(--am-l-teal-050) !important;
  border-radius: 12px;
}

.nav.am-nav .am-nav__zapis .am-nav__ic { width: 22px; height: 22px; color: var(--am-l-flame); }
.am-nav__zapis-text {
  font-family: var(--am-l-font-b); font-weight: 700; font-size: 9px;
  letter-spacing: .08em; text-transform: uppercase; color: var(--am-l-ink-soft);
}

.nav.am-nav a:focus-visible {
  outline: 2px solid var(--am-l-teal-500); outline-offset: 3px; border-radius: 10px;
}
.nav.am-nav button:focus,
.nav.am-nav button:focus-visible { outline: none !important; }