/* PT Sans 400 normal cyrillic */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/pt-sans-400-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* PT Sans 400 normal latin */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/pt-sans-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* PT Sans 700 normal cyrillic */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/pt-sans-700-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* PT Sans 700 normal latin */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/pt-sans-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* PT Serif 400 italic cyrillic */
@font-face {
  font-family: 'PT Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/pt-serif-400-italic-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* PT Serif 400 italic latin */
@font-face {
  font-family: 'PT Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/pt-serif-400-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* PT Serif 400 normal cyrillic */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/pt-serif-400-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* PT Serif 400 normal latin */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/pt-serif-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* PT Serif 700 normal cyrillic */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/pt-serif-700-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* PT Serif 700 normal latin */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/pt-serif-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ro3a: адаптивный слой v8 (03.11.2026).
   Принцип: десктоп (>1024) — оригинальная сетка Xero 960px из style.css без изменений;
   планшет (769–1024) — та же раскладка, колонки пропорционально;
   телефон (<=768) — одна колонка, мобильное меню.
   v5 ошибочно переопределял сетку глобально: сайдбар падал под контент на любом экране. */

/* --- глобально: только безвредные правила --- */
/* v10: компактная шапка — меню на уровне логотипа (JS-темы вставлял расчистку после
   кнопки меню, она сбрасывала меню под логотип; выпадающему списку дали ширину,
   чтобы пункты не переносились на 2–3 строки) */
@media (min-width: 769px) {
  ul#nav { margin-top: 29px; margin-bottom: 8px; } /* центр меню на высоте центра логотипа */
  ul#nav ul { width: 240px; }
  ul#nav li ul li { width: 240px; }
  ul#nav li ul li, ul#nav li ul li.first_item, ul#nav li ul li.last_item { background-size: 240px auto; } /* спрайт тянем по ширине — срезы (закругления верх/низ) сохраняются; группой перекрываем фон-сокращение .first/.last_item */
  ul#nav ul li a { width: auto; min-width: 130px; }
}
/* крошки на тёмной плашке читаемыми: светлая строка, ссылки — оранжевые темы */
#page_title .breadcrumb_nav { color: #d9ded9; }
/* зелёная подложка шапки на всю её высоту: тёмная плашка с заголовком/крошками
   всегда внутри заливки (родной баннер-градиент 313px короче шапки на многих экранах) */
#header_container { background-color: #6fa86c; }
/* Награды: сетка карточек дипломов */
.ro-awards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ro-award { background: #fff; border: 1px solid #c9c3b4; border-radius: 7px; padding: 12px; display: flex; flex-direction: column; transition: border-color .2s, box-shadow .2s; }
.ro-award:hover { border-color: #5a7a35; box-shadow: 0 2px 8px rgba(0,0,0,.10); }
.ro-award a { display: block; border-radius: 4px; overflow: hidden; }
.ro-award a img { width: 100%; height: auto; display: block; }
.ro-award figcaption { font-size: 0.88em; color: #3d3d3d; margin-top: 10px; line-height: 1.5; }
@media (max-width: 640px) { .ro-awards { grid-template-columns: 1fr 1fr; gap: 12px; } }

/* Фото-блоки контента (.image-container): пары фото с подписями */
#content .image-container { display: inline-block; width: 48.5%; vertical-align: top; margin: 0 0 14px; }
#content .image-container + .image-container { margin-left: 1.5%; }
#content .image-container img { border-radius: 4px; box-shadow: 0 1px 5px rgba(0,0,0,.18); }
#content .image-caption { font-size: 0.85em; color: #3d3d3d; margin: 8px 0 0; line-height: 1.45; }
@media (max-width: 560px) {
  #content .image-container, #content .image-container + .image-container { display: block; width: 100%; margin-left: 0; }
}

/* «Поделиться»: единый стиль — нейтральные кнопки с фирменными иконками */
.ro-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 14px 0; }
.ro-share-label { font-size: 0.9em; color: #3d3d3d; }
.ro-share-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px;
  background: #fff; border: 1px solid #d9d4c8; cursor: pointer;
  transition: border-color .2s, transform .15s;
}
.ro-share-btn:hover { border-color: #5a7a35; transform: translateY(-1px); }
.ro-share-btn svg { width: 18px; height: 18px; flex-shrink: 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ro-share-btn:hover { filter: brightness(1.12); }

/* Фото в статьях: мягкая рамка-фотоотпечаток */
#sgl_post .post_content img, #content .post_content img { border-radius: 4px; box-shadow: 0 1px 5px rgba(0,0,0,.18); }

/* Учебные статьи: журнальная вёрстка пошаговых уроков */
#sgl_post .ro-tutorial img {
  display: block; width: 460px; max-width: 100%; height: auto;
  margin: 18px auto; border-radius: 4px;
  box-shadow: 0 1px 5px rgba(0,0,0,.18);
}
#sgl_post .ro-tutorial .ro-cover { float: right; width: 300px; margin: 0 0 16px 22px; }
#sgl_post .ro-tutorial .ro-author { float: left; width: 210px; margin: 0 22px 12px 0; }
#sgl_post .ro-tutorial h3 { margin-top: 26px; }

/* Заглушка «нет фотографии»: аккуратная панель вместо gif 2003 года */
.ro-nophoto {
  width: 620px; max-width: 100%; box-sizing: border-box;
  aspect-ratio: 4 / 3; /* пропорция реальных фото 640×480 */
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 12px; padding: 16px;
  background: #f1ede4; border: 1px solid #d9d4c8; border-radius: 4px;
}
.ro-nophoto-sm { width: 100%; aspect-ratio: 4 / 3; padding: 10px; box-sizing: border-box; }
.ro-nophoto span { font-size: 0.9em; color: #8f8a80; }
.ro-nophoto-sm span { font-size: 0.8em; }
.ro-nophoto span { font-size: 0.9em; color: #8f8a80; }
.ro-nophoto-sm span { font-size: 0.8em; }
.ro-nophoto span { font-size: 0.9em; color: #8f8a80; }
.ro-nophoto-sm span { font-size: 0.8em; }
.ro-nophoto span { font-size: 0.9em; color: #8f8a80; }
.ro-nophoto-sm { height: 150px; }
.ro-nophoto-sm span { font-size: 0.8em; }

/* Каталог: сорта — карточки-плитки (консенсус панели 3/3, закон общей области) */
#content > .post.ro-listing {
  background: #ffffff;
  background-image: none;
  border: 1px solid #e3ded3;
  border-radius: 7px;
  padding: 16px 16px 10px;
  margin-bottom: 24px;
  box-shadow: 0 1px 3px rgba(40, 60, 30, .07), 0 3px 10px rgba(40, 60, 30, .08);
}
.ro-listing .gallery { width: auto !important; float: none !important; }
.ro-listing .gallery a { display: block; }
.ro-listing .gallery a img { border-radius: 4px; }
.ro-listing .post_content { width: auto !important; float: none !important; }
.ro-listing .post_title { margin-top: 12px; }
.ro-listing .ro-stock { margin-bottom: 12px; }

/* Карточка каталога: бейдж «+N фото» и бейдж наличия под названием */
.post .gallery { position: relative; }
.ro-photos-badge { position: absolute; left: 10px; bottom: 10px; background: rgba(23, 54, 24, .82); color: #fff; font-size: 12px; padding: 3px 9px; border-radius: 4px; z-index: 2; }
.ro-photos-badge:empty { display: none; }
.ro-stock { display: inline-block; font-size: 0.8em; padding: 3px 10px; border-radius: 4px; margin: 0 0 10px; font-weight: bold; }
.ro-stock-in { background: #eaf3e2; color: #2e6b1e; border: 1px solid #cfe3c2; }
.ro-stock-out { background: #f0f0f0; color: #666666; border: 1px solid #dddddd; }

/* Наведение на фото роз: вместо англ. «VIEW» с чёрной шторкой — аккуратная подсказка «Увеличить» */
a.post_thumb.view { background: none !important; position: relative; display: block; cursor: zoom-in; }
a.post_thumb.view:hover { background: none !important; }
a.post_thumb.view img { transition: opacity .2s; }
a.post_thumb.view:hover img { opacity: .88; }
a.post_thumb.view::after {
  content: "Увеличить";
  position: absolute; right: 10px; bottom: 10px;
  background: rgba(23, 54, 24, .82); color: #fff;
  font-family: 'PT Sans', sans-serif; font-size: 13px;
  padding: 4px 12px; border-radius: 4px;
  opacity: 0; transition: opacity .2s; pointer-events: none;
}
a.post_thumb.view:hover::after { opacity: 1; }

/* Ссылки в тексте статей — подчёркнуты (не только цветом, норма WCAG) */
#sgl_post .post_content a { text-decoration: underline; }

/* Контакты: телефоны-кнопки, карточки доставки/самовывоза, подпись */
.ro-contact { max-width: 640px; }
.ro-contact-note { color: #3d3d3d; }
.ro-phones { display: flex; flex-wrap: wrap; gap: 14px; margin: 18px 0; }
.ro-phone { display: inline-block; background: #3e5c20; color: #fff; border: 1px solid #2f4a18; border-radius: 7px; padding: 12px 22px; font-size: 1.25em; font-weight: bold; text-decoration: none; }
.ro-phone:hover { background: #2f4a18; }
.ro-places { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 18px 0; }
.ro-place { background: #fff; border: 1px solid #c9c3b4; border-radius: 7px; padding: 14px 16px; }
.ro-place h3 { margin: 0 0 8px; font-size: 1.05em; color: #4a6a2a; }
.ro-place p { margin: 0; }
.ro-sign { margin-top: 20px; color: #3d3d3d; font-style: italic; border-left: 3px solid #7aa03c; padding-left: 14px; }
@media (max-width: 640px) {
  .ro-places { grid-template-columns: 1fr; }
  .ro-phone { display: block; text-align: center; }
}

/* Список статей: компактная сетка карточек (было: фото 620px на статью — страница 5000px) */
.ro-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 8px; }
.ro-card { background: #fff; border: 1px solid #d9d4c8; border-radius: 7px; padding: 12px 14px 12px; display: flex; flex-direction: column; }
.ro-card-thumb {
  display: flex; align-items: center; justify-content: center;
  height: 150px; background: #f1ede4;
  border-radius: 4px; overflow: hidden;
}
.ro-card-thumb img { max-width: 100%; max-height: 150px; width: auto; height: auto; border-radius: 4px; }
.ro-card-title { margin: 10px 0 6px; line-height: 1.25; font-size: 1.05em; }
#content .ro-card-title a { color: #b55800; font-weight: bold; }
.ro-card-title a:hover { text-decoration: underline; }
.ro-card-meta { font-size: 0.82em; color: #666666; margin-bottom: 10px; }
#content .ro-card-more { margin-top: auto; font-size: 0.9em; color: #b55800; font-weight: bold; }
@media (max-width: 640px) { .ro-grid { grid-template-columns: 1fr; } }

/* --- Типографика: PT Sans (интерфейс) + PT Serif (длинное чтение) — консенсус панели 4/4 --- */
body { font-family: 'PT Sans', 'Helvetica Neue', Arial, sans-serif; font-size: 16px; line-height: 1.6; }
/* интерфейс: вместо легаси-13px */
.breadcrumb_nav, .widget_content, #sidebar, .post_info, .ro-card-meta { font-size: 14px; }
#nav li a span { font-size: 14px; }
.widget_title { font-family: 'PT Sans', sans-serif; font-weight: 700; font-size: 19px; line-height: 1.3; }
/* длинное чтение: PT Serif 18px, межстрочный 1.75, переносы для ru */
#sgl_post .post_content { font-family: 'PT Serif', Georgia, 'Times New Roman', serif; font-size: 18px; line-height: 1.75; -webkit-hyphens: auto; hyphens: auto; }
#sgl_post .post_content p { margin: 0 0 0.9em; }
/* заголовки: PT Sans жирный вместо ненагруженного MyriadProSemiBold */
#page_title h1, .post_title, h1, h2, h3, h4, .widget_title, #nav li a span, .ro-phone, .ro-place h3, .ro-card-title { font-family: 'PT Sans', 'Helvetica Neue', Arial, sans-serif; }
#page_title h1 { line-height: 1.3; font-weight: 700; }
.post_title { line-height: 1.3; }
/* подпись на контактах — курсивом PT Serif */
.ro-sign { font-family: 'PT Serif', Georgia, serif; }

/* (до этого) футер: логотип, копирайт и счётчики — в одну строку внутри зелёной полосы */
#footer { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 24px; }
#footer > div:last-child { display: flex; align-items: center; gap: 12px; margin-left: auto; }
#footer .ro-copy { display: block; } /* строка копирайта — обычный текст, flex вставлял дыры вокруг года */
/* контраст на зелёной полосе: тёмный текст (4.75:1) вместо #cacaca (1.7:1) */
#footer { color: #173618; font-size: 15px; }
#footer a { color: #0e2410; text-decoration: underline; }
#footer a:hover { color: #000; }
/* пагинация: элементы не слипаются, одинаковые зазоры на всех экранах */
ul.pagination { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
#footer .copyright_info { float: none; }
html { -webkit-text-size-adjust: 100%; }
img, video, iframe { max-width: 100%; height: auto; }
.post .gallery img { max-width: 100%; height: auto; }
#nav-toggle { display: none; }
#nav .subnav-marker { display: none; }
.post_content table, .post table, #content table { display: block; overflow-x: auto; }
#wrapper { overflow-x: hidden; }

/* CLS-фиксы: место под фото резервируется до загрузки; очистка флоатов без JS */
.post .gallery a { display: block; }
#body_content::after, .folio1::after, #content::after, #header::after, .post::after,
#sgl_post .post_image_container::after, .post_widgets::after, .post_share::after,
ul#comments_container li .comment_container::after, #comment_form_container #comment_form::after,
.full .folio3::after, #footer::after, .featured_box::after {
  content: ""; display: block; clear: both;
}

/* --- планшет 769–1024: две колонки, пропорционально --- */
@media (min-width: 769px) and (max-width: 1024px) {
  #header, #body_content, #footer, #page_title, #front_boxes {
    width: auto; max-width: 964px; margin-left: auto; margin-right: auto;
    padding-left: 12px; padding-right: 12px; box-sizing: border-box;
  }
  #content.has_sidebar { width: 63%; margin-left: 0; margin-right: 2%; }
  #sidebar { width: 33%; margin-left: 0; margin-right: 0; }
  div.post, .post .post_content, .post .post_desc, .post .gallery {
    max-width: 100%; box-sizing: border-box;
  }
  div.post .post_content, div.post .post_desc { width: auto; }
  #front_boxes .front_box { width: 30%; box-sizing: border-box; }
  #sidebar .inline_content_widget, #sidebar .tabbed_widget { max-width: 100%; }
}

/* --- мобильный <=768: одна колонка --- */
@media (max-width: 768px) {
  #header { padding-top: 6px; }
  #logo img { max-width: 100%; height: auto; }
  h6#logo { float: none; }
  #nav-toggle { clear: both; }

  /* контент и сайдбар в одну колонку */
  #body_content, #content, #content.has_sidebar {
    width: auto !important;
    max-width: 100%;
    float: none !important;
    margin: 0;
    box-sizing: border-box;
  }
  #sidebar, #sidebar.right, #sidebar.left {
    width: auto !important;
    max-width: 100%;
    float: none !important;
    margin: 20px 0 0 0;
  }
  #page_title { height: auto; min-height: 0; padding: 10px 0; background-position: left -86px; }
  #page_title h1 { font-size: 1.3em; line-height: 1.3; }
  .breadcrumb_nav { line-height: 1.6; }

  /* ничто внутри контента не шире экрана */
  #content * { max-width: 100%; }
  #sgl_post .post_info_image { width: auto !important; height: auto; }
  ul#comments_container li div.comment_container .comment { width: auto !important; float: none; }
  #front_boxes .front_box { float: none !important; width: auto !important; margin: 0 0 12px 0; }

  /* карточки каталога: фото сверху, текст под ним */
  .post .gallery { float: none !important; width: auto !important; max-width: 100%; margin: 0 0 12px 0; }
  /* пагинация: контейнер с фиксированной шириной темы выступал за экран */
  #content .full { width: auto !important; margin: 0 !important; }
  /* учебные статьи: обтекания выключаются, фото — по центру */
  #sgl_post .ro-tutorial .ro-cover, #sgl_post .ro-tutorial .ro-author { float: none; width: auto; max-width: 100%; margin: 14px auto; }
  #sgl_post .ro-tutorial img { width: 100%; margin: 14px auto; }
  div.post, .post .post_content, .post .post_desc { width: auto; max-width: 100%; box-sizing: border-box; }
  .post_content h2.post_title { font-size: 1.1em; }

  /* формы поиска/заказа */
  #search_widget fieldset, form.form-horizontal .form-group { width: 100%; box-sizing: border-box; }
  input[type="text"], input[type="search"], input[type="email"], input[type="number"], select {
    max-width: 100%; box-sizing: border-box;
  }

  /* пагинация */
  ul.pagination li { margin: 2px; }

  /* мобильное меню (класс вешает ro3a-mobile.js) */
  #nav-toggle {
    display: block;
    margin: 8px 0;
    padding: 10px 14px;
    background: #7aa03c;
    color: #fff;
    border: 0;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
  }
  /* кнопка остаётся на месте: без неё открытое меню нельзя закрыть (фикс 03.11) */
  body.nav-open #nav-toggle { background: #6b8d33; }
  #nav .subnav-marker { display: inline; }
  body.nav-open #nav { display: block; }
  body.nav-open #nav > li { float: none !important; display: block; width: 100%; box-sizing: border-box; }
  #nav > li > a { display: block; padding: 12px 10px; border-bottom: 1px solid #e4e0d5; }
  #nav > li > a span { font-size: 16px; }
  #nav ul.subnav {
    display: none;
    position: static;
    width: 100%;
    box-shadow: none;
    background: #f6f4ef;
  }
  body.nav-open #nav > li.subnav-open > ul.subnav { display: block; }
  #nav ul.subnav li a { padding: 10px 10px 10px 24px; }
  #footer { padding: 12px 0; }
}


/* ==== v51: меню-панель — исправленный блок (совет моделей 4/4) ====
   Ключевые отличия от v50: маркер-стрелка — фиксированный flex-элемент
   28px справа ВНУТРИ строки пункта (исключён из широкого сброса width:100%,
   который растягивал его на всю ширину и ронял под текст); топ-ссылки —
   flex-ряды 54px; панель — белая с тенью, fixed под шапкой. */
@media (max-width: 768px) {
  /* шапка 60px: лого слева, кнопка справа */
  #header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 60px !important;
    height: auto !important;
    padding: 8px 14px !important;
    background: #6fa86c !important;
    box-sizing: border-box !important;
  }
  h6#logo {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }
  h6#logo a {
    display: block !important;
    height: 44px !important;
    width: 163px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
  }
  #nav-toggle {
    float: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 96px !important;
    height: 44px !important;
    padding: 0 16px !important;
    background: rgba(255, 255, 255, 0.22) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    cursor: pointer !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
  }

  /* панель: белая, fixed под шапкой, с прокруткой */
  ul#nav {
    float: none !important;
    position: fixed !important;
    top: 60px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: calc(100vh - 60px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    background: #ffffff !important;
    box-shadow: 0 16px 32px rgba(25, 45, 25, 0.24) !important;
    z-index: 1000 !important;
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  body.nav-open ul#nav { display: block !important; }
  /* полосу заголовка страницы при открытом меню скрываем */
  body.nav-open #page_title { display: none !important; }

  /* сброс легаси float/спрайтов для пунктов и ссылок (span НЕ трогаем —
     там живёт маркер-стрелка) */
  ul#nav li,
  ul#nav li a {
    float: none !important;
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    background: none !important;
    background-image: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  ul#nav > li { border-bottom: 1px solid #e7e5dc !important; }

  /* топ-ссылка — flex-ряд 54px: текст слева, маркер справа */
  ul#nav > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 54px !important;
    height: auto !important;
    padding: 14px 20px !important;
    color: #243622 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
  }
  ul#nav > li > a:active { background-color: #f1efe8 !important; }

  /* маркер-стрелка: flex-плашка 28px справа, оранжевый */
  #nav .subnav-marker {
    background: none !important;
    background-image: none !important;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    margin: 0 0 0 12px !important;
    padding: 0 !important;
    color: #e8912d !important;
    font-size: 16px !important;
    line-height: 1 !important;
    transform: rotate(0deg);
    transition: transform 0.2s ease !important;
  }
  #nav li.subnav-open > a .subnav-marker { transform: rotate(90deg) !important; }

  /* подменю: кремовый фон-отличие, перебивает инлайн display:none superfish */
  ul#nav ul.subnav {
    display: none !important;
    float: none !important;
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 4px 0 !important;
    background: #f6f4ef !important;
    box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.04) !important;
    list-style: none !important;
  }
  body.nav-open #nav li.subnav-open > ul.subnav,
  body.nav-open #nav li.subnav-open ul.subnav {
    display: block !important;
    visibility: visible !important;
  }
  ul#nav ul.subnav li { border-bottom: 1px solid #ece8de !important; }
  ul#nav ul.subnav li:last-child { border-bottom: none !important; }
  ul#nav ul.subnav li a {
    display: flex !important;
    align-items: center !important;
    min-height: 48px !important;
    padding: 12px 20px 12px 34px !important;
    color: #384d35 !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
  }
  ul#nav ul.subnav li a:active { background-color: #ebe7de !important; }

  /* контент: отступы, колонка */
  #body_content {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 14px !important;
  }
  #content { padding: 0 !important; order: 2 !important; }
  #sidebar { order: 1 !important; margin: 12px 0 0 !important; }
  #sidebar .inline_content_widget { display: none !important; }
}


/* v52-добивка: гасим легаси-спрайт кнопок на span (кроме маркера-стрелки) */
@media (max-width: 768px) {
  ul#nav li a span:not(.subnav-marker) {
    float: none !important;
    display: inline !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    background-image: none !important;
    background-color: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: inherit !important;
    color: #2d3e2c !important;
  }
  ul#nav li a:hover span:not(.subnav-marker),
  ul#nav li a:hover { color: #7aa03c !important; }
}

/* v53-финал: строки пунктов — flex (текст слева, стрелка справа у подменю) */
@media (max-width: 768px) {
  ul#nav > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  ul#nav > li > a .subnav-marker,
  #nav .subnav-marker {
    margin-left: auto !important;
    margin-right: 4px !important;
    color: #e8912d !important;
  }
}
