/* =========================================================================
   t-kupriyan.ru — Мобильные переопределения
   Применяется поверх style.css на узких экранах.
   Точка перелома: 768px (мобильные < 768; десктоп >= 769).
   ========================================================================= */

/* ---------- БАЗА: одинаково для всех экранов ---------- */

/* Адекватная типографика мобильной шапки/футера */
*, *::before, *::after { box-sizing: border-box; }

/* Картинки в контенте не вылезают за контейнер */
.content img { max-width: 100%; height: auto; }

/* Мобильные блоки по умолчанию скрыты (показываем только < 768) */
.m-topbar, .m-cta, .m-drawer, .m-drawer__backdrop, .m-footer { display: none; }


/* =========================================================================
   ПК-ФИКС: подвал не должен ломаться, если в нём длинный e-mail/телефоны.
   В проде .footer имеет жёсткую height:240px — при переносе e-mail заезжает
   на красную полосу. Делаем высоту автоматической, оставляя минимум.
   ========================================================================= */
@media (min-width: 769px) {
  .footer { height: auto !important; min-height: 240px; padding-bottom: 30px !important; }
  .footer .vcard b { width: 65px; }
  .footer .vcard .email { word-break: break-all; }
}


/* =========================================================================
   КАРТОЧКИ-БИЛЕТЫ (расписание рейсов) — вариант B
   Видны и на ПК, и на мобильном. Рендерятся скриптом mobile.js из чистой
   разметки <div class="day"> / <div class="trip">.
   ========================================================================= */
.m-day {
  position: relative;
  background: #fff;
  margin: 0 0 22px;
  box-shadow: 0 4px 18px rgba(19, 43, 120, 0.12);
  border-radius: 8px;
  overflow: hidden;
  /* одна колонка, полная ширина контейнера */
  width: 100%;
}
.m-day__stub {
  background: #132b78;
  color: #fff;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.m-day__date {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 24px;        /* +2: 22 → 24 */
  font-weight: 700;
  line-height: 1.05;
  color: #fff;
}
.m-day__weekday {
  font-size: 13px;        /* +2: 11 → 13 */
  text-transform: uppercase;
  letter-spacing: 0.5px;
  opacity: 0.85;
  margin-top: 4px;
}
.m-day__icon {
  width: 36px; height: 36px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}
.m-day__perforation {
  position: relative;
  height: 14px;
  background: #132b78;
}
.m-day__perforation::before,
.m-day__perforation::after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16px; height: 16px;
  background: #f5f6f8;
  border-radius: 50%;
}
.m-day__perforation::before { left: -8px; }
.m-day__perforation::after  { right: -8px; }
.m-day__perforation-line {
  position: absolute;
  top: 50%;
  left: 14px; right: 14px;
  border-top: 2px dashed rgba(255, 255, 255, 0.4);
}
.m-day__body {
  background: #fff;
  padding: 4px 18px 18px;
}

.m-trip {
  padding: 16px 0;
  border-top: 2px dotted #e4e7ed;
}
.m-trip:first-child { border-top: 0; padding-top: 14px; }

.m-trip__head { margin: 0 0 8px; }
.m-trip__name {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 20px;        /* +2: 18 → 20 */
  font-weight: 700;
  color: #132b78;
  line-height: 1.2;
  margin: 0;
}
.m-trip__badge {
  display: inline-block;
  background: #a00e05;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 12px;        /* +2: 10 → 12 */
  font-weight: 700;
  letter-spacing: 0.5px;
  padding: 3px 8px;       /* чуть больше padding под новый размер */
  border-radius: 4px;
  margin-right: 8px;
  vertical-align: 2px;
}
.m-trip__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
}
.m-trip__chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #f7f8fa;
  border: 1px solid #e4e7ed;
  border-radius: 14px;
  padding: 5px 11px;       /* +1px вертикального padding под новый размер текста */
  font-size: 14px;         /* +1.5: 12.5 → 14 */
  color: #444;
  line-height: 1.2;
}
.m-trip__chip b { color: #132b78; font-weight: 700; }
.m-trip__chip-ico { font-style: normal; opacity: 0.85; }
.m-trip__chip--muted { color: #6b7280; }
/* Чип цены — мягкая золотая подсветка, чтобы выделить из общей строки чипов */
.m-trip__chip--price {
  background: #fdf6e4;
  border-color: #e6cf90;
}
.m-trip__chip--price b { color: #6b4500; }

/* Сноска под чипами цены — мелкий серый текст, разрешён HTML (<br>) */
.m-trip__price-extra {
  margin: -4px 0 10px;     /* подтягиваем к чипам, чтобы визуально склеилось */
  padding: 0;
  font-size: 13px;
  line-height: 1.45;
  color: #6b7280;
  font-style: italic;
}
.m-trip__price-extra br { line-height: 1; }

.m-trip__times-label {
  font-size: 13px;         /* +2: 11 → 13 */
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #6b7280;
  margin: 6px 0 6px;
}
.m-trip__times {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
}
.m-trip__times li.m-trip__time {
  background: #fff;
  border: 1.5px solid #132b78;
  color: #132b78;
  border-radius: 5px;
  padding: 6px 11px;       /* +1px padding под новый размер */
  font-family: 'Courier New', Consolas, monospace;
  font-size: 15px;         /* +2: 13 → 15 */
  font-weight: 700;
  letter-spacing: 0.5px;
  list-style: none;
  margin: 0;
  line-height: 1.2;
}

.m-trip__desc {
  font-size: 16px;         /* +2: 14 → 16 */
  color: #444;
  line-height: 1.55;
  margin: 0 0 10px;
}
.m-trip__desc p:last-child { margin-bottom: 0; }

/* На ПК (широкие экраны) — всегда показываем весь текст и прячем кнопку "свернуть" */
@media (min-width: 769px) {
  .m-trip__desc.is-collapsible.is-collapsed {
    max-height: none !important;
    overflow: visible !important;
  }
  .m-trip__desc.is-collapsible.is-collapsed::after { display: none !important; }
  .m-trip__toggle { display: none !important; }
}

/* На мобиле — сохраняем свёртку длинных описаний */
@media (max-width: 768px) {
  .m-trip__desc.is-collapsible.is-collapsed {
    max-height: 60px;
    overflow: hidden;
    position: relative;
  }
  .m-trip__desc.is-collapsible.is-collapsed::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 32px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 95%);
    pointer-events: none;
  }
  /* Перебиваем прод form.css (любой <button> получает background.png + min-width:173px) */
  button.m-trip__toggle,
  .m-trip__toggle {
    background: transparent !important;
    border: 0 !important;
    color: #132b78 !important;
    font-size: 13px !important;
    font-weight: 600;
    cursor: pointer;
    padding: 0 0 10px !important;
    margin: 0 !important;
    text-decoration: none;
    text-transform: none !important;
    min-width: 0 !important;
    height: auto !important;
    line-height: 1.4 !important;
    font-family: inherit !important;
    box-shadow: none !important;
    text-shadow: none !important;
    position: static !important;
  }
  .m-trip__toggle::before,
  .m-trip__toggle::after { display: none !important; content: none !important; }
  .m-trip__toggle:hover { text-decoration: underline; color: #132b78 !important; }
}

.m-trip__buy-wrap { margin-top: 8px; }

/* Когда виджет teplohod.info ещё не загрузился — показываем плейсхолдер */
.m-trip__buy-widget {
  display: block;
  margin: 0;
  min-height: 44px;
}
.m-trip__buy-widget:empty::before {
  content: "Загрузка виджета покупки...";
  display: block;
  text-align: center;
  color: #6b7280;
  font-size: 13px;
  padding: 12px;
  background: #f7f8fa;
  border-radius: 6px;
}

/* Запасная кнопка "Купить билет", если у блока не указан data-widget-id */
.m-trip__buy {
  display: block;
  width: 100%;
  background: #1b8a3a;
  color: #fff;
  border: 0;
  border-radius: 6px;
  padding: 12px;
  font-family: Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  transition: background 0.15s;
  box-sizing: border-box;
}
.m-trip__buy:hover { background: #15722f; color: #fff; }

/* Скрываем "сырую" разметку <div class="day"> — её показываем как карточку */
.content .day { display: none; }
.content .day.m-fallback { display: block; }

/* Список карточек — всегда в одну колонку на всю ширину контейнера.
   (по требованию: одна колонка) */
.m-day-list {
  display: block;
  width: 100%;
  margin: 0;
}
.m-day-list .m-day { max-width: none; }


/* =========================================================================
   ДЕСКТОП (>= 769) — десктоп остаётся таким, как раньше, ничего не меняем.
   ========================================================================= */
@media (min-width: 769px) {
  .hide-on-desktop { display: none !important; }
}


/* (Бывший общий стиль .m-btn удалён — теперь все CTA используют
   прод-класс .button и стили из style/form.css) */


/* =========================================================================
   МОБИЛЬНЫЕ (<= 768)
   ========================================================================= */
@media (max-width: 768px) {

  /* Скрываем десктопные шапку/футер/нижний блок ссылок */
  .hide-on-mobile { display: none !important; }

  /* Покажем мобильную шапку и CTA */
  .m-topbar { display: flex; }
  .m-cta    { display: flex; }
  .m-footer { display: block; }

  /* Фон документа: убираем фикс-картинку, ставим простой */
  html { background: #fff !important; }
  body { background: #fff !important; font-family: 'Arial', sans-serif; }

  /* Враппер — на всю ширину, никаких 1024px */
  #wrapper { min-width: 0 !important; width: 100% !important; overflow: visible !important; }
  .wrapper { width: 100% !important; max-width: 100% !important; padding: 0 12px !important; margin: 0 !important; }

  /* Main — сбрасываем огромный padding-top (124px) и padding-bottom (420px),
     которые были на десктопе под фиксированную шапку и большой футер */
  .main, .default .main { padding: 0 !important; }
  .main > .wrapper { padding: 0 12px 24px !important; position: static !important; }

  /* Сайдбар (с подменю) — скрываем */
  .sidebar { display: none !important; }
  .mainbar { padding: 0 !important; }
  .mainbar.widebar { padding: 0 !important; }

  /* Хлебные крошки — компактнее, без верхнего отступа в 80px */
  .crumbs {
    margin: 12px 0 12px !important;
    padding: 6px 8px !important;
    font-size: 12px !important;
    text-align: left !important;
    line-height: 1.4 !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* H1 страницы — крупно, но не гигантски */
  .doctitle {
    font-size: 22px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.5px !important;
    margin: 10px 0 16px !important;
    padding: 0 0 12px !important;
    background-size: contain !important;
  }


  /* =========================================================================
     МОБИЛЬНАЯ ШАПКА (.m-topbar)
     ЛОГОТИП слева (почти на всю ширину) | бургер справа
     (drawer открывается справа, логично и иконку туда же).
     ========================================================================= */
  /* Шапка БЕЗ sticky — уезжает при скролле вместе с логотипом.
     Закреплённым остаётся только бургер (position:fixed ниже). */
  .m-topbar {
    position: static;
    width: 100%;
    background: #fff;
    border-bottom: 3px solid #c89a4e;
    display: flex;
    align-items: center;
    justify-content: center;     /* лого ПО ЦЕНТРУ шапки */
    gap: 8px;
    /* Боковой padding слева/справа ОДИНАКОВЫЙ и >= 48px (ширина бургера) + 10px воздуха,
       чтобы лого не залезало под зафиксированный бургер. */
    padding: 8px 60px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  }
  /* Логотип — по центру, ограниченная ширина (чтобы был запас под бургер с обоих сторон).
     Картинка logo3.png — 408×147, аспект ~2.78:1. */
  .m-topbar__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    line-height: 0;
  }
  .m-topbar__logo img {
    display: block;
    width: auto;
    height: auto;
    /* Ограничиваем максимальную ширину чтобы лого не было гигантским
       на широких мобильных (планшетах в портретном). */
    max-width: 100%;
    max-height: 96px;
  }
  /* Телефон в шапке — СКРЫТ (будет в drawer и в футере) */
  .m-topbar__phone { display: none !important; }

  /* =====================
     Burger — ПРИКЛЕЕН к правому верхнему углу (position: fixed),
     остаётся виден всегда, даже когда шапка с лого уже уехала вверх.
     Квадратный 48×48, золотой фирменный градиент.
     ===================== */
  /* В form.css на ВСЕ <button> навешано min-width:173px и background.png,
     поэтому перебиваем агрессивно !important. */
  button.m-burger,
  .m-burger {
    position: fixed !important;
    top: 10px !important;
    right: 10px !important;
    /* флекс-свойства уже не нужны (бургер вынут из потока),
       но оставляем width/height с !important. */
    flex: 0 0 48px;
    width: 48px !important;
    min-width: 0 !important;       /* перебить form.css min-width:173px */
    max-width: 48px !important;
    height: 48px !important;
    aspect-ratio: 1 / 1;            /* страховка: всегда квадрат */
    padding: 0 !important;
    margin: 0 !important;           /* убрать form.css margin:0 10px */
    background: linear-gradient(180deg, #e6ba4e 0%, #c89a4e 50%, #b8861c 100%) !important;
    border: 1px solid #fff !important;
    box-shadow: 0 0 0 1px #b8861c, 0 2px 6px rgba(0,0,0,0.25) !important;
    border-radius: 4px !important;
    cursor: pointer;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    /* z-index выше шапки (.m-topbar = 100) и контента, но ниже backdrop (200) и drawer (201) */
    z-index: 150 !important;
    -webkit-tap-highlight-color: transparent;
    box-sizing: border-box;
    line-height: 1 !important;
  }
  /* Убираем декоративные ::before / ::after прод-кнопки (button-border.png) с бургера */
  .m-burger::before,
  .m-burger::after {
    display: none !important;
    content: none !important;
  }
  .m-burger span {
    display: block;
    width: 24px;
    height: 3px;
    background: #fff;
    border-radius: 2px;
    transition: transform .25s ease, opacity .2s ease;
    box-shadow: 0 1px 1px rgba(0,0,0,0.25);
  }
  .m-burger:active { filter: brightness(0.95); }
  .m-burger.is-open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .m-burger.is-open span:nth-child(2) { opacity: 0; }
  .m-burger.is-open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }


  /* =========================================================================
     CTA-блок под шапкой — обе кнопки = прод-кнопки <a class="button">,
     все стили (фон button.png + ::before/::after из button-border.png)
     берутся из style/form.css. Здесь — только раскладка.
     ========================================================================= */
  .m-cta {
    display: flex;
    /* gap большой: оставляем зазор для ::before/::after прод-кнопки (36px каждый) */
    gap: 44px;
    padding: 10px 44px 14px;     /* боковой padding = 36px (border) + 8px воздуха */
    background: #fff;
    border-bottom: 1px solid #f0e6d2;
  }
  /* Растягиваем встроенные .button до колонок flex.
     Сохраняем все визуальные эффекты прод-стилей (фон + ::before/::after). */
  .m-cta .button,
  .m-cta .button:visited {
    flex: 1 1 0;
    min-width: 0;        /* перебиваем .button { min-width:173px } из form.css */
    margin: 0;           /* убираем margin:0 10px из form.css */
    font-size: 14px;
    padding: 0 6px;
    /* Высота 41px унаследована от .button. */
  }


  /* =========================================================================
     Drawer (выезжающее меню)
     ========================================================================= */
  .m-drawer__backdrop {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(10, 22, 60, 0.55);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
    z-index: 200;
  }
  .m-drawer__backdrop.is-open { opacity: 1; pointer-events: auto; }

  .m-drawer {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 86%;
    max-width: 360px;
    height: 100%;
    background: #fff;
    z-index: 201;
    box-shadow: -4px 0 16px rgba(0,0,0,0.25);
    transform: translateX(100%);
    transition: transform .28s ease;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .m-drawer.is-open { transform: translateX(0); }

  .m-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    /* Фирменный золотой градиент (как у бургера) */
    background: linear-gradient(180deg, #e6ba4e 0%, #c89a4e 50%, #b8861c 100%);
    color: #fff;
    font-family: 'helioscondcbold', Arial, sans-serif;
    /* Лёгкая тень снизу для отделения от пунктов меню */
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
  }
  .m-drawer__title {
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-shadow: 0 1px 1px rgba(0,0,0,0.25);
  }
  button.m-drawer__close,
  .m-drawer__close {
    background: transparent !important;
    border: 0 !important;
    color: #fff !important;
    font-size: 32px !important;
    line-height: 1 !important;
    padding: 0 8px !important;
    margin: 0 !important;
    cursor: pointer;
    min-width: 0 !important;
    width: auto !important;
    height: auto !important;
    text-transform: none !important;
    font-family: Arial, sans-serif !important;
    box-shadow: none !important;
    text-shadow: none !important;
    position: static !important;
  }
  .m-drawer__close::before,
  .m-drawer__close::after { display: none !important; content: none !important; }

  .m-drawer__nav { padding: 8px 0 16px; }
  .m-nav, .m-nav ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .m-nav li {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border-bottom: 1px solid #f0e6d2;
  }
  .m-nav > li > a {
    display: block;
    padding: 14px 18px;
    color: #132b78;
    font-family: 'helioscondcbold', Arial, sans-serif;
    font-size: 16px;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.3px;
  }
  .m-nav > li.active > a { color: #c3220c; }
  .m-nav ul.level-2 {
    display: none;
    background: #fafafa;
    border-top: 1px solid #f0e6d2;
  }
  .m-nav > li.is-expanded > ul.level-2 { display: block; }
  .m-nav ul.level-2 li { border-bottom: 1px dotted #e6dcc4; }
  .m-nav ul.level-2 li:last-child { border-bottom: 0; }
  .m-nav ul.level-2 li a {
    display: block;
    padding: 11px 18px 11px 32px;
    color: #6b4500;
    font-family: Arial, sans-serif;
    font-size: 14px;
    text-decoration: none;
    text-transform: none;
  }
  .m-nav > li.has-children > a::after {
    content: "›";
    float: right;
    color: #c89a4e;
    font-size: 22px;
    line-height: 1;
    transition: transform .2s ease;
    display: inline-block;
  }
  .m-nav > li.is-expanded > a::after { transform: rotate(90deg); }

  .m-drawer__contacts {
    padding: 16px;
    border-top: 1px solid #e6dcc4;
    background: #fafafa;
  }
  .m-drawer__phone {
    display: block;
    padding: 10px 0;
    color: #132b78;
    font-size: 18px;
    font-family: 'helioscondcbold', Arial, sans-serif;
    text-decoration: none;
  }

  body.m-no-scroll { overflow: hidden; }


  /* =========================================================================
     КОНТЕНТНАЯ ОБЛАСТЬ — типографика (внутренние страницы)
     Шрифты укрупнены (по просьбе клиента)
     ========================================================================= */
  .content {
    font-size: 17px !important;
    line-height: 1.6 !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #2a2a2a;
  }
  .content h1 { font-size: 26px !important; line-height: 1.2 !important; margin: 0 0 14px !important; }
  .content h2 { font-size: 22px !important; line-height: 1.25 !important; margin: 22px 0 12px !important; }
  .content h3 { font-size: 19px !important; line-height: 1.3 !important; margin: 18px 0 10px !important; }
  .content h4 { font-size: 17px !important; line-height: 1.35 !important; margin: 14px 0 8px !important; }
  .content h5, .content h6 { font-size: 16px !important; margin: 12px 0 6px !important; }
  .content ul, .content ol { /* padding-left: 24px !important; */ margin: 0 0 14px !important; }
  .content ul li, .content ol li { margin-bottom: 0.5em; line-height: 1.55; }
  .content p { margin: 0 0 1em !important; }
  .content a { word-break: break-word; }
  .content blockquote {
    margin: 14px 0 !important;
    padding: 12px 16px !important;
    background: #f7f8fa;
    border-left: 3px solid #132b78;
    font-style: italic;
    color: #444;
    font-size: 17px;
  }


  /* Прочие таблицы — горизонтальный скролл как fallback */
  .content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }

  /* Мобильные подстройки для карточек-билетов */
  .m-day { margin: 0 0 18px; }
  .m-trip__buy-widget { min-height: 48px; }


  /* =========================================================================
     МОБИЛЬНЫЙ ФУТЕР — визуально как в проде (белый фон,
     синий верхний бордер, красная полоса снизу, серый текст,
     фирменные кнопки золотая / красная).
     ========================================================================= */
  .m-footer {
    background: #fff;
    color: #535353;
    padding: 22px 16px 18px;
    text-align: center;
    margin-top: 24px;
    border-top: 3px solid #132b78;
    border-bottom: 14px solid #a00e05;
    font-family: 'helioscondc', Arial, sans-serif;
  }
  .m-footer__logo {
    margin: 0 0 14px;
  }
  .m-footer__logo img {
    /*height: 56px;*/
    width: auto;
    display: inline-block;
    /* без фильтров, чтобы виделся фирменный цвет лого */
  }
  .m-footer__title {
    font-family: 'helioscondcbold', Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #132b78;
    margin: 0 0 14px;
    line-height: 1.3;
  }
  .m-footer__address {
    font-size: 16px;
    margin: 0 0 6px;
    line-height: 1.4;
    color: #535353;
  }
  .m-footer__org {
    font-size: 16px;
    margin: 0 0 14px;
    line-height: 1.4;
    color: #535353;
  }
  .m-footer__phone {
    display: block;
    color: #132b78 !important;
    font-family: 'helioscondcbold', Arial, sans-serif;
    font-weight: 700;
    font-size: 22px;
    text-decoration: none;
    padding: 6px 0;
    line-height: 1.2;
  }
  .m-footer__phone:active { color: #c3220c !important; }
  .m-footer__email {
    display: inline-block;
    color: #132b78 !important;
    font-size: 16px;
    margin: 10px 0 18px;
    text-decoration: underline;
    word-break: break-all;
  }
  .m-footer__buttons {
    display: flex;
    flex-direction: column;
    /* gap больше высоты ::before/::after (41px), чтоб они не пересекались между кнопками */
    gap: 14px;
    margin: 4px 44px 18px;       /* отступ слева/справа = 36px бордюра + 8px воздуха */
    padding: 18px 0 4px;
    border-top: 1px dotted #c9c9c9;
  }
  /* Кнопки в футере = прод-кнопки <a class="button">.
     Все визуальные эффекты (фон + ::before/::after) — из form.css.
     Здесь только: растянуть на всю ширину блока. */
  .m-footer__buttons .button,
  .m-footer__buttons .button:visited {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    min-width: 0;
    font-size: 15px;
  }
  .m-footer__copy {
    font-size: 12px;
    color: #888;
    margin-top: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }
  /* iOS safe-area в самом низу */
  body { padding-bottom: env(safe-area-inset-bottom, 0); }


  /* =========================================================================
     ВИДЖЕТ БИЛЕТОВ teplohod.info — пусть растягивается на всю ширину
     ========================================================================= */
  .content iframe,
  .content [id*="teplohod"],
  .content [class*="teplohod"] {
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Скрываем декоративные элементы, которые ломают мобилу */
  .default .footer:before,
  .default .header:before { display: none !important; }

  /* Слайдер на главной — упрощаем */
  .slider { margin: 0 0 16px !important; }
  .slider .info,
  .slider .border,
  .slider .corner,
  .slider .thumbs,
  .slider .slide .dot { display: none !important; }
  .slider .viewport { max-height: none !important; }
  .slider .slide img { width: 100% !important; height: auto !important; }

  /* Inform-блок главной */
  .inform { background: none !important; padding: 16px 0 !important; }
  .teasers-block, .news-block {
    display: block !important;
    width: 100% !important;
    margin: 0 0 24px !important;
  }
  .teasers-list { height: auto !important; overflow: visible !important; }
  .teasers-list .teaser-item {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 12px !important;
    padding: 14px !important;
    background: #fff !important;
    border: 1px solid #c89a4e !important;
    border-radius: 8px !important;
    text-align: left !important;
  }
  .teasers-list .teaser-item .holder {
    width: auto !important;
    display: block !important;
  }
  .teasers-list .teaser-item i { display: none !important; }

  /* Intro блок */
  .intro h1 {
    background: none !important;
    width: auto !important;
    height: auto !important;
    line-height: 1.2 !important;
    font-size: 22px !important;
    padding: 0 !important;
  }
  .intro .wrapper { width: auto !important; padding: 0 12px !important; }

} /* end @media max-width:768px */
