/* СБРОС */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Arial,sans-serif;color:#5E4A30;background:#f5f5f5;line-height:1.6}
.container{width:90%;max-width:1200px;margin:0 auto}

/* Верхняя полоса */
.top-bar{background:#222;color:#ddd;font-size:.9em}
.top-bar .container{display:flex;justify-content:flex-end;gap:30px;padding:5px 0;flex-wrap:wrap}
.top-bar .contact-item::before{content:none}
/* адрес может переноситься на 2 строки, телефон — нет */
.top-bar .addr{white-space:normal;max-width:100%}
.top-bar .phone{white-space:nowrap}

/* Шапка */
.logo-strip{background:#fff;padding:10px 0}
.logo-strip .container{display:flex;justify-content:space-between;align-items:center;position:relative}
.logo-strip .logo img{height:110px}

/* Версия для слабовидящих */
.visually-link{display:inline-flex;align-items:center;text-decoration:none;color:#5E4A30;font-size:1em}
.visually-link .bvi-icon{margin-right:8px;flex-shrink:0}
.visually-link .bvi-icon path{fill:#5E4A30}

/* Навигация (desktop) */
.nav-strip{background:#C1A15F;padding:10px 0}
.nav-strip .container{display:flex;align-items:center;justify-content:center;gap:0}
.desktop-only ul{display:flex;list-style:none;padding-left:0}
.desktop-only li{position:relative}
.desktop-only a{font-size:1em;color:#5E4A30;padding:8px 12px;border-radius:4px;text-decoration:none;transition:background .3s;display:inline-block}
.desktop-only a:hover{background:rgba(30,21,10,0.1)}

/* Dropdown (desktop hover, 1 колонка) */
.has-dropdown{position:relative}
.has-dropdown::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
.has-dropdown:hover> a,.has-dropdown:focus-within> a{background:rgba(30,21,10,0.15)}
.has-dropdown>.dropdown{
  position:absolute;top:100%;left:0;transform:translateY(6px);
  min-width:220px;background:#fff;border:1px solid #E6E0D2;border-radius:8px;
  box-shadow:0 8px 22px rgba(0,0,0,.08);z-index:20;
  display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease
}
.has-dropdown>.dropdown li{list-style:none;border-bottom:1px solid #eee}
.has-dropdown>.dropdown li:last-child{border-bottom:none}
.has-dropdown>.dropdown a{display:block;width:100%;padding:6px 14px;color:#5E4A30;text-decoration:none}
.has-dropdown>.dropdown a:hover{background:rgba(193,161,95,.12)}
.nav-strip .desktop-only .has-dropdown:hover>.dropdown,
.nav-strip .desktop-only .has-dropdown:focus-within>.dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}

/* Мобильные элементы по умолчанию скрыты */
.menu-toggle,.menu-label,.mobile-menu,.visually-link--nav{display:none}

/* Баннер */
.banner{background:url('../images/banner4.png') center/cover no-repeat;width:100%;height:400px;position:relative}
.banner__overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff;padding:20px;background:rgba(0,0,0,.2);backdrop-filter:blur(5px);border-radius:8px;max-width:800px;width:calc(100% - 40px)}
.banner__overlay h1{font-size:2em;line-height:1.2;margin:0}

/* Направления обучения */
.directions{background:#fff;padding:60px 20px}
.directions h2{text-align:center;margin-bottom:1.6em}
.sections{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:1000px;margin:0 auto}
.section{border-left:4px solid #C1A15F;padding:20px;background:#FAF9F5;border-radius:4px}
.directions .sections ul{list-style:none;padding-left:0}
.directions .sections ul li{position:relative;padding-left:1.4em;margin-bottom:.5em}
.directions .sections ul li::before{content:"—";position:absolute;left:0;color:#C1A15F;font-weight:bold}

/* Этапы обучения */
.steps{background:#f5f5f5;padding:60px 20px}
.steps .container{max-width:1000px;margin:0 auto;text-align:center}
.steps-list{display:flex;justify-content:space-between;align-items:center;position:relative}
.steps-list::before{content:"";position:absolute;top:50%;left:5%;right:5%;height:2px;background:#C1A15F;transform:translateY(-50%);z-index:1}
.step{position:relative;background:#fff;padding:20px;border-radius:8px;width:30%;z-index:2;display:flex;flex-direction:column;align-items:center}
.number{width:50px;height:50px;border:2px solid #C1A15F;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2em;color:#C1A15F;margin-bottom:10px;background:#fff}
.label{font-size:1em;color:#5E4A30}

/* Форма приёма заявки */
.apply-section{background:#fff;padding:60px 20px}
.apply-container{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1000px;margin:0 auto}
.form-block{padding-right:40px}
.contact-block{padding-left:40px;border-left:1px solid #ccc}
.form-block h2,.contact-block h2{font-size:1.5em;margin-bottom:.5em;text-align:center}
form{display:flex;flex-direction:column;gap:15px}
label.required::after{content:" *";color:#C00}
input,button{font-size:1em}
input{padding:10px;border:1px solid #ccc;border-radius:4px}
button{margin-top:10px;padding:15px;background:#C1A15F;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .3s}
button:hover{background:#AD8E4F}
.form-footnote{font-size:.85em;color:#555;margin-top:10px}

/* Альтернативный блок */
.alt-box{border:2px solid #C1A15F;padding:20px;border-radius:8px;background:#FAF9F5}
.large-text{font-size:1.2em;font-weight:bold;color:#5E4A30;text-align:center}
.contact-block a{color:#C1A15F;text-decoration:none}
.contact-block a:hover{text-decoration:underline}

/* Карта */
.map-section{position:relative}
.map-container{width:100%;height:450px;position:relative}
.map-overlay{position:absolute;top:20px;left:50%;transform:translateX(-50%);z-index:2;background:rgba(0,0,0,.1);backdrop-filter:blur(5px);padding:10px 20px;border-radius:6px}
.map-overlay h2{margin:0;color:#5E4A30}
.ymaps-2-1-79-placemark-icon{display:none!important}

/* Футер */
.footer{background:#222;color:#ddd;padding:40px 20px}
.footer .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px}
.footer-column{flex:1;min-width:200px}
.footer-column h3{margin-bottom:15px;color:#fff;font-size:1.2em}
.footer-column ul{list-style:none}
.footer-column ul li{margin-bottom:8px}
.footer-column a{color:#ddd;text-decoration:none}
.footer-column a:hover{text-decoration:underline}
.footer-nav ul{display:flex;flex-direction:column;gap:8px}
.footer-bottom{text-align:center;padding-top:20px;border-top:1px solid #444;font-size:.9em;margin-top:30px}

/* =========================
   ВНУТРЕННИЙ ШАБЛОН /about
   ========================= */
.inner{padding:40px 0;background:#f5f5f5}
.about-layout{display:grid;grid-template-columns:280px 1fr;gap:30px;align-items:start}

/* Левое подменю */
.about-sidebar{position:sticky;top:20px}
.about-submenu{background:#fff;border:1px solid #E6E0D2;border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.06);padding:16px}
.about-submenu__title{font-size:1.1em;margin:0 0 10px;color:#5E4A30}
.about-submenu ul{list-style:none;padding-left:0}
.about-submenu li{margin:6px 0}
.about-submenu a{display:block;padding:8px 10px;border-radius:6px;text-decoration:none;color:#5E4A30;transition:background .2s}
.about-submenu a:hover{background:rgba(193,161,95,.12)}
.about-submenu a.is-active{background:rgba(193,161,95,.2);font-weight:bold}

/* Правый контент */
.about-content .card{background:#fff;border:1px solid #E6E0D2;border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.06);padding:24px}
.about-content h1{font-size:1.8em;margin-bottom:.6em}
.about-content h2{font-size:1.3em;margin:1.2em 0 .5em}
.about-content p{margin:.6em 0}
.doc-list{list-style:none;padding-left:0}
.doc-list li{margin:.4em 0}
.doc-list a{color:#C1A15F;text-decoration:none}
.doc-list a:hover{text-decoration:underline}

/* Адаптивность внутреннего шаблона */
@media (max-width:1000px){
  .about-layout{grid-template-columns:1fr}
  .about-sidebar{position:static}
}

/* Адаптив (существующий блок) */
@media (max-width:800px){
  /* логотип по центру, десктопное меню скрыто */
  .logo-strip .container{justify-content:center}
  .desktop-only{display:none}

  /* гамбургер, МЕНЮ и слабовидящие — в коричневой полосе */
  .menu-toggle,.menu-label,.visually-link--nav{display:inline-flex;align-items:center}
  .nav-strip .container{justify-content:flex-start;gap:10px}
  .menu-toggle{background:none;border:none;font-size:1.8em;color:#5E4A30;cursor:pointer;line-height:1}
  .menu-label{font-weight:bold;color:#5E4A30;font-size:1.1em}
  .visually-link--nav{margin-left:10px;font-size:.95em;margin-top:5px;}

  /* мобильное меню */
  .mobile-menu{display:none;width:100%;background:#C1A15F}
  .nav-strip.open .mobile-menu{display:block}
  .mobile-menu ul{list-style:none;margin:0;padding:0}
  .mobile-menu ul li{border-bottom:1px solid rgba(30,21,10,.2)}
  .mobile-menu ul li:last-child{border-bottom:none}
  .mobile-menu ul li a{display:block;padding:12px 16px;color:#5E4A30;text-decoration:none;font-size:1.1em}
  /* дочерние пункты — правее */
  .mobile-menu ul li.sub-item a{padding-left:32px}

  /* сетка контента */
  .sections{grid-template-columns:1fr}
  .steps-list{flex-direction:column;gap:30px}
  .steps-list::before{display:none}
  .step{width:100%}
  .apply-container{grid-template-columns:1fr}
  .contact-block{border-left:none;padding-left:0;margin-top:30px}
  .form-block{padding-right:0}
  .footer .container{flex-direction:column;align-items:center}
  .footer-column{text-align:center}
  .footer-nav ul{flex-direction:row;justify-content:center}
}

article a {
	color: #ac822c;
}

/* Активные пункты меню (усиление) */
.about-submenu li a.is-active,
.about-submenu li a[aria-current="page"]{
  background: rgba(193,161,95,.2);
  font-weight: 700;
}

/* Подсветка активного пункта в верхнем меню */
.desktop-only a[aria-current="page"],
.mobile-menu a[aria-current="page"]{
  font-weight: 700;
  text-decoration: underline;
}

/* ====== Таблица сведений на div ====== */
.info-table {
  display: flex;
  flex-direction: column;
  border: 1px solid #ccc;
  border-radius: 6px;
  overflow: hidden;
  margin: 20px 0;
}

.info-row {
  display: flex;
  flex-direction: row;
  border-bottom: 1px solid #ccc;
}

.info-row:last-child {
  border-bottom: none;
}

.info-cell {
  flex: 1;
  padding: 12px 16px;
  border-left: 1px solid #ccc;
}

.info-cell:first-child {
  border-left: none;
}

.info-cell--title {
  flex: 0 0 35%;
  background: #f8f8f8;
  font-weight: 600;
  color: #333;
}

/* адаптив */
@media (max-width: 768px) {
  .info-row {
    flex-direction: column;
  }
  .info-cell {
    border-left: none;
    border-top: 1px solid #ccc;
  }
  .info-cell:first-child {
    border-top: none;
  }
  .info-cell--title {
    background: #f0f0f0;
  }
}

/* ===== Документы (плашки на всю ширину) ===== */
.docs-simple {
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin: 20px 0;
}

.docs-group__title {
  font-size: 1.2em;
  font-weight: 600;
  color: #5E4A30;
  margin-bottom: 12px;
}

.doc-link {
  margin-bottom: 8px;
}

.doc-link a {
  display: block;                /* на всю ширину */
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #E6E0D2;
  border-radius: 8px;
  background: #fff;
  color: #5E4A30;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.doc-link a:hover {
  background: #C1A15F;
  color: #fff;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

/* ===== Горизонтальная таблица на div ===== */
.info-table--horiz{
  /* дефолты для управляемого режима (могут не использоваться) */
  --col1: 220px;     /* ширина 1-й колонки при .has-col1 */
  --minCol: 160px;   /* минимальная ширина остальных колонок */
  display:flex;
  flex-direction:column;
  border:1px solid #ccc;
  border-radius:6px;
  overflow:hidden;
  margin:20px 0;
}

/* === Режим ПО УМОЛЧАНИЮ (как раньше): колонки распределяются равномерно === */
.info-table--horiz:not(.has-col1) .info-row{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--minCol,160px), 1fr));
  border-bottom:1px solid #ccc;
}

/* === Режим УПРАВЛЯЕМЫЙ: узкая 1-я колонка по переменной --col1 === */
.info-table--horiz.has-col1 .info-row{
  display:grid;
  grid-template-columns: var(--col1,220px) repeat(auto-fit, minmax(var(--minCol,160px), 1fr));
  border-bottom:1px solid #ccc;
}

.info-table--horiz .info-row:last-child{ border-bottom:none; }

.info-table--horiz .info-cell{
  padding:12px 14px;
  border-left:1px solid #ccc;
}
.info-table--horiz .info-cell:first-child{ border-left:none; }

/* Заголовки */
.info-table--horiz .info-row--head{
  background:#f8f8f8;
  font-weight:600;
  color:#333;
}

/* Адаптив: складываем строки в столбец */
@media (max-width:768px){
  .info-table--horiz .info-row{ display:flex; flex-direction:column; }
  .info-table--horiz .info-cell{ border-left:none; border-top:1px solid #ccc; }
  .info-table--horiz .info-cell:first-child{ border-top:none; }
}

.info-table--horiz .info-cell {
  padding: 12px 14px;
  border-left: 1px solid #ccc;

  /* --- перенос слов и длинных текстов --- */
  white-space: normal;     /* разрешаем перенос */
  word-wrap: break-word;   /* старый синтаксис, поддержка IE */
  overflow-wrap: anywhere; /* современный способ: переносить где угодно */
}

@media (max-width: 800px) {
  .logo-strip .visually-link.bvi-open {
    display: none;
  }
}

.menu-label {
	font-size: 20px;
	padding-left: 10px;
}
@media (max-width: 768px) {
  .top-bar .container {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 4px; /* уменьшаем расстояние между строками */
  }

  .top-bar .contact-item {
    line-height: 1.8;  /* более плотный текст */
    font-size: 0.95em; /* можно чуть уменьшить шрифт */
  }
}

@media (max-width: 768px) {
  .map-overlay {
    left: 50%;
    top: 50px; /* можно настроить отступ сверху */
    transform: translateX(-50%);
    text-align: center;
    width: 80%;      /* ширина блока на мобиле */
    max-width: 300px; /* чтобы не был слишком большим */
  }
}


/* Колонка контента в двухколоночной раскладке НЕ должна растягивать сетку */
.about-layout > .about-content,
.about-layout > .about-sidebar,
.card {
  min-width: 0;       /* ключ! иначе grid/flex держат min-width:auto и всё растягивается */
}

/* На всякий случай, если .about-layout — flex */
.about-layout {
  min-width: 0;
}
/* Мобилка: сначала контент, потом левое подменю — без смены display */
@media (max-width: 768px) {
  .about-content { order: -1; }  /* поднимаем контент выше */
  .about-sidebar { order: 0; }    /* сайдбар остаётся ниже */

  /* косметика: убираем лишний верхний отступ у первого h1 в карточке */
  .about-content .card h1:first-child { margin-top: 0; }
}

/* защита от распирания: весь путь до контента должен уметь сжиматься */
.inner,
.inner .container,
.about-layout,
.about-content,
.about-sidebar,
.about-content .card { min-width: 0; }

/* (опционально и безопасно) если родитель — Grid с областями, то на мобиле явно зададим порядок областей.
   Если родитель не Grid — эти правила просто игнорируются. */
@media (max-width: 768px) {
  .about-layout { grid-template-areas: "content" "sidebar"; }
  .about-content { grid-area: content; }
  .about-sidebar { grid-area: sidebar; }
}
/* ===== Контакты: сетка контента + карты ===== */
.contacts-grid{
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap:20px;
  align-items:start;
  margin-top:10px;
}
.contacts-info .contacts-block{ margin-bottom:18px; }
.contacts-info h2{ margin:0 0 8px; font-size:1.1em; color:#5E4A30; }
.contacts-list{ margin:0; padding-left:18px; }
.contacts-list li{ margin:6px 0; }

.contacts-map .map-embed{
  position:relative;
  border:1px solid #E6E0D2;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
   width: 100%;
  height: 300px;   /* или 600px, под себя */
}
.map-embed__overlay{
  position:absolute;
  z-index:2;
  left:12px; top:12px;
  background:rgba(255,255,255,.9);
  border:1px solid #E6E0D2;
  border-radius:8px;
  padding:8px 10px;
}
.contacts-map iframe {
  width: 100%;
  height: 100% !important;     /* здесь регулируешь */
  border: none;
  border-radius: 10px;
}

.map-embed__overlay h2{ margin:0 0 4px; font-size:1em; color:#5E4A30; }
.map-embed__overlay p{ margin:0; font-size:.95em; }

/* Мобилка: карта под контактами, растягиваем на всю ширину */
@media (max-width: 900px){
  .contacts-grid{
    grid-template-columns: 1fr;
  }
  .map-embed__overlay{
    left:50%; transform:translateX(-50%);
    text-align:center; width:86%; max-width:360px;
  }
}
/* ===== Страница контактов: одноколоночный макет ===== */
.page-contacts .about-sidebar { display: none !important; }

/* Вариант, если родитель — GRID: делаем 1 колонку на всю ширину */
.page-contacts .about-layout {
  min-width: 0;
}
@supports (display: grid) {
  .page-contacts .about-layout {
    display: grid;                             /* не меняем тип, просто переопределяем шаблон */
    grid-template-columns: 1fr !important;     /* ВАЖНО: убираем колонку сайдбара */
    grid-template-areas: "content";            /* безопасно, если использовались области */
    column-gap: 0;
  }
  .page-contacts .about-content {
    grid-area: content;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}

/* На случай, если родитель был FLEX — принудительно складываем в колонку */
@supports not (display: grid) {
  .page-contacts .about-layout {
    display: block;                             /* убираем влияние flex-колонок */
  }
  .page-contacts .about-content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}

/* Подстраховка по пути родителей, чтобы «широкие» элементы не распирали */
.page-contacts .inner,
.page-contacts .inner .container,
.page-contacts .about-layout,
.page-contacts .about-content,
.page-contacts .about-content .card { min-width: 0; }

/* Карта и любой широкоформатный контент на всю ширину карточки */
.page-contacts .contacts-map .map-embed { width: 100%; }
.page-contacts .about-content img,
.page-contacts .about-content iframe { max-width: 100%; height: auto; }




/* === Горизонтальные таблицы: умная ширина + скролл на мобиле === */

/* Обёртка: скролл только внутри */
.table-scroll{
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter: stable both-edges;
}

/* Таблица занимает 100%, но может расшириться под контент (и тогда появится скролл) */
@supports (width: max(100%, max-content)) {
  .table-scroll > .info-table--horiz{ width: max(100%, max-content); }
}
@supports not (width: max(100%, max-content)) {
  .table-scroll > .info-table--horiz{ width: 100%; }
}

/* РЕЖИМ scroll-x: каждая строка — «лента» колонок по содержимому */
.info-table--horiz.scroll-x .info-row{
  display:inline-grid;                         /* строка может стать шире контейнера */
  grid-auto-flow:column;                       /* добавляем ячейки колонками слева-направо */
  grid-auto-columns:minmax(var(--minCol,180px), max-content);
  border-bottom:1px solid #ccc;
}
.info-table--horiz.scroll-x .info-row--head{
  display:inline-grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(var(--minCol,180px), max-content);
  background:#f8f8f8;
  font-weight:600;
  color:#333;
}

/* Ячейки: переносы слов и границы */
.info-table--horiz.scroll-x .info-cell{
  padding:12px 14px;
  border-left:1px solid #ccc;
  white-space:normal;
  overflow-wrap:anywhere;
  word-wrap:break-word;
}
.info-table--horiz.scroll-x .info-cell:first-child{ border-left:0; }

/* ВАЖНО: перебиваем общее правило на мобиле, которое делало строки column */
@media (max-width:768px){
  .info-table--horiz.scroll-x .info-row{
    display:inline-grid;      /* не превращаем в flex-column */
  }
  .info-table--horiz.scroll-x .info-cell{
    border-top:0;             /* остаёмся в «горизонтальном» виде */
  }
}

/* === FIX: горизонтальные таблицы на мобилке === */

/* путь родителей не должен распирать страницу */
.inner,
.inner .container,
.about-layout,
.about-content,
.about-content .card { min-width: 0; }

/* карточка не режет горизонтальный скролл таблицы */
.about-content .card { overflow-x: visible; }

/* обёртка таблицы со скроллом */
.table-scroll{
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable both-edges;
}

/* Десктоп/планшет: умная ширина — 100% если влезает, больше если нужно */
@supports (width: max(100%, max-content)) {
  .table-scroll > .info-table--horiz{ width: max(100%, max-content); }
}
@supports not (width: max(100%, max-content)) {
  .table-scroll > .info-table--horiz{ width: 100%; }
}

/* --- Мобилка: гарантированный горизонтальный скролл для .scroll-x --- */
@media (max-width: 768px){
  /* сама таблица может быть шире контейнера */
  .table-scroll > .info-table--horiz{ width: max-content; }

  /* каждая строка — «лента» колонок по содержимому */
  .info-table--horiz.scroll-x .info-row{
    display: inline-grid;                         /* строка шире контейнера */
    grid-auto-flow: column;
    grid-auto-columns: minmax(var(--minCol, 180px), max-content);
    border-bottom: 1px solid #ccc;
  }
  .info-table--horiz.scroll-x .info-row--head{
    display: inline-grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(var(--minCol, 180px), max-content);
    background: #f8f8f8;
    font-weight: 600;
    color: #333;
  }

  /* переносы слов + границы ячеек */
  .info-table--horiz.scroll-x .info-cell{
    padding: 12px 14px;
    border-left: 1px solid #ccc;
    white-space: normal;
    overflow-wrap: anywhere;
    word-wrap: break-word;
  }
  .info-table--horiz.scroll-x .info-cell:first-child{ border-left: 0; }
}
/* === DESKTOP FIX: горизонтальный скролл для больших .info-table--horiz === */
@media (min-width: 769px){
  /* обёртка скроллится по X */
  .table-scroll{
    display:block;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
  }

  /* сама таблица: 100% если влезает, иначе шире контейнера */
  @supports (width: max(100%, max-content)) {
    .table-scroll > .info-table--horiz{
      display:inline-block;             /* учитывать фактическую ширину строк */
      width:max(100%, max-content);
    }
  }
  @supports not (width: max(100%, max-content)) {
    .table-scroll > .info-table--horiz{
      display:inline-block;
      min-width:100%;
    }
  }

  /* КЛЮЧ: в режиме scroll-x строки строим как «ленту» колонок,
     убираем шаблон с 1fr, чтобы ширина строки могла быть > контейнера */
  .info-table--horiz.scroll-x .info-row{
    display:inline-grid !important;
    grid-template-columns:none !important;   /* перебиваем ранние правила */
    grid-auto-flow:column;
    grid-auto-columns:minmax(var(--minCol, 180px), max-content);
  }
  .info-table--horiz.scroll-x .info-row--head{
    display:inline-grid !important;
    grid-template-columns:none !important;
    grid-auto-flow:column;
    grid-auto-columns:minmax(var(--minCol, 180px), max-content);
  }
}
/* ==== Новости на главной ==== */
.news-section{
  padding: 38px 0 68px;
}
.news-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.news-head h2{
  margin:0;
}
.news-all{
  display:inline-block;
  padding:8px 12px;
  border:1px solid #C1A15F;
  border-radius:8px;
  text-decoration:none;
  color:#5E4A30;
  font-weight:600;
  white-space:nowrap;
}
.news-all:hover{ background:#f7f2e7; }

.news-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:16px;
}
.news-card{
  background:#fff;
  border:1px solid #E6E0D2;
  border-radius:12px;
  padding:14px 14px 12px;
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height: 100%;
}
.news-date{
  align-self:flex-start;
  font-size:0.9rem;
  font-weight:700;
  color:#5E4A30;
  background:#F4EBDC; /* мягкий фон даты */
  border:1px solid #E0D3B8;
  padding:4px 8px;
  border-radius:999px;
}
.news-title{
  margin:2px 0 0;
  font-size:1.1rem;
  line-height:1.25;
}
.news-title a{
  color:#2b2b2b;
  text-decoration:none;
}
.news-title a:hover{ text-decoration:underline; }
.news-teaser{
  margin:0;
  color:#555;
}
.news-more{
  margin-top:auto;
  align-self:flex-start;
  color:#5E4A30;
  text-decoration:none;
  font-weight:600;
}
.news-more:hover{ text-decoration:underline; }

/* адаптив */
@media (max-width: 900px){
  .news-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
  .news-head{ flex-direction:column; align-items:flex-start; }
  .news-grid{ grid-template-columns: 1fr; }
  .news-all{ align-self:stretch; text-align:center; }
}

/* ==== Новости (общие элементы) ==== */
.news-date{
  align-self:flex-start;
  font-size:0.9rem;
  font-weight:700;
  color:#5E4A30;
  background:#F4EBDC;
  border:1px solid #E0D3B8;
  padding:4px 8px;
  border-radius:999px;
}

/* Список (страница /news) */
.news-list{ display:flex; flex-direction:column; gap:16px; margin-top:8px; }
.news-row{
  border:1px solid #E6E0D2; border-radius:12px; background:#fff;
  padding:14px; display:flex; flex-direction:column; gap:6px;
}
.news-row .news-title{ margin:0; font-size:1.15rem; line-height:1.3; }
.news-row .news-title a{ color:#2b2b2b; text-decoration:none; }
.news-row .news-title a:hover{ text-decoration:underline; }
.news-row .news-teaser{ margin:0; color:#555; }
.news-more{ color:#5E4A30; text-decoration:none; font-weight:600; }
.news-more:hover{ text-decoration:underline; }

/* Блок на главной (из предыдущего шага) — уже есть, оставляем */

/* Контент новости */
.news-content p{ margin:0 0 10px; }
.news-content ul{ margin:8px 0 10px 18px; }

/* Сайдбар «Последние новости» использует твои about-sidebar/about-submenu стили */
@media (max-width: 768px){
  /* у тебя уже настроен порядок: контент первым, сайдбар ниже */
}

/* Сайдбар на странице новости (новости сбоку как на главной) */
.news-sidebar .news-sidebar__title{
  margin:0 0 12px;
  font-size:1.2rem;
  color:#5E4A30;
}
.news-sidebar .news-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.news-sidebar .news-card{
  border:1px solid #E6E0D2;
  border-radius:10px;
  padding:10px 12px;
  background:#fff;
}
.news-sidebar .news-card .news-title{
  font-size:1rem;
  margin:4px 0;
}
.news-sidebar .news-card .news-teaser{
  font-size:.9rem;
  margin:0;
}
.news-sidebar .news-all{
  display:inline-block;
  margin-top:8px;
  padding:6px 10px;
  border:1px solid #C1A15F;
  border-radius:8px;
  text-decoration:none;
  color:#5E4A30;
  font-weight:600;
}
.news-sidebar .news-all:hover{ background:#f7f2e7; }

/* Страница «Все новости» на всю ширину */
.news-list .news-row{
  border:1px solid #E6E0D2;
  border-radius:12px;
  background:#fff;
  padding:14px;
}
/* === Все новости: одноколоночный макет на всю ширину === */
.page-news .about-sidebar { display: none !important; }

.page-news .inner,
.page-news .inner .container,
.page-news .about-layout,
.page-news .about-content,
.page-news .about-content .card { min-width: 0; }

@supports (display: grid) {
  .page-news .about-layout {
    display: grid;
    grid-template-columns: 1fr !important;
    grid-template-areas: "content";
    column-gap: 0;
  }
  .page-news .about-content { grid-area: content; width: 100%; max-width: 100%; }
}

/* На движках без grid */
@supports not (display: grid) {
  .page-news .about-layout { display: block; }
  .page-news .about-content { width: 100%; max-width: 100%; }
}
/* === Галерея: на всю ширину контента и аккуратная сетка === */
.about-content .card .gallery-section { padding-top: 6px; }

/* убираем внутренние поля, чтобы сетка тянулась на всю ширину карточки */
.about-content .card .gallery-section .container { padding-left: 0; padding-right: 0; }

/* сетка: авто-заполнение по ширине карточки */
.gallery-grid{
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}

/* плитки покрупнее, с аккуратным ховером */
.gallery-item a{
  display: block;
  border-radius: 12px;
  overflow: hidden;
  background: #f6f6f6;
  outline: 1px solid #E6E0D2;
}
.gallery-item img{
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;       /* одинаковая высота плиток */
  object-fit: cover;
  transition: transform .2s ease;
}
.gallery-item a:hover img{ transform: scale(1.03); }

/* адаптив: немного крупнее плитки на мобильных — меньше «лесенки» */
@media (max-width: 900px){
  .gallery-grid{ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
}
@media (max-width: 560px){
  .gallery-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
}
@media (max-width: 420px){
  .gallery-grid{ grid-template-columns: 1fr; }
}

/* === SimpleLightbox: более тёмное затемнение и читаемые стрелки === */
.sl-overlay{ background: rgba(0,0,0, .92) !important; }  /* было ~0.7 */

.sl-wrapper .sl-navigation button,
.sl-wrapper .sl-close{
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.6));
}
.steps h2 {
	margin-bottom: 20px;
}

article ul {
	margin-left: 30px;
}

/* === Футерное меню: колонки на мобилке === */
.footer-column.footer-nav ul{
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;   /* расстояние между ссылками */
  padding: 0;
  margin: 0;
  list-style: none;
}

/* на маленьких экранах — строго колонкой */
@media (max-width: 600px){
  .footer-column.footer-nav ul{
    flex-direction: column;
    gap: 6px;
  }
  .footer-column.footer-nav li{
    display: block;
  }
  .footer-column.footer-nav a{
    display: inline-block;
    padding: 4px 0;
  }
}

/* Сообщения об ошибках под кнопкой */
.form-errors{
  margin: 8px 0 0;
  padding: 10px 12px;
  border: 1px solid #f5c2c0;
  background: #fdecea;
  color: #7a1f1a;
  border-radius: 8px;
  font-size: .95rem;
}
.form-errors ul{ margin:0; padding-left:18px; }

/* Карточка успешной отправки (заменяет форму) */
.apply-success{
  /*border: 1px solid #cfe8d8;
  background: #ecf8f1;
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 1px 0 rgba(0,0,0,.02);*/
}
.apply-success__icon{
  width: 44px; height: 44px;
  border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #2e7d32; color:#fff; font-weight:700; font-size: 22px;
  box-shadow: 0 0 0 4px rgba(46,125,50,.15);
  margin-bottom: 10px;
}
.apply-success h3{ margin: 6px 0 6px; color:#2e7d32; }
.apply-success__info{
  display:grid; gap:6px; margin:10px 0 6px;
  padding:10px; border:1px dashed #b7ddc6; border-radius:10px; background:#fff;
}
.apply-success__info span{ color:#666; margin-right:6px; }
.apply-success__note{ color:#4b5; margin:6px 0 0; font-size:.95rem; }

/* скрывать контейнер ошибок, если он пустой или помечен hidden */
.form-errors[hidden] { display: none !important; }
.form-errors:empty   { display: none; }
