/* =============================================================
   ЗАМОК ЧУДЕС — site-mobile.css
   Полный адаптив: мобильный + планшет + ПК
   Подключить ПОСЛЕДНИМ в <head> на всех страницах:
   <link rel="stylesheet" href="css/site-mobile.css">
   ============================================================= */

/* ----------------------------------------------------------
   1. БАЗОВЫЙ СБРОС — убираем горизонтальный скролл
   ---------------------------------------------------------- */
*, *::before, *::after {
    box-sizing: border-box;
}
html, body {
    overflow-x: hidden;
    max-width: 100%;
    -webkit-text-size-adjust: 100%;
}
body {
    min-width: 0 !important;
    line-height: 1.6;
}
img {
    max-width: 100%;
    height: auto;
    display: block;
}
p {
    margin-left: 0 !important;
    margin-right: 0 !important;
    line-height: 1.7;
    word-break: break-word;
    text-align: left !important;
}

/* ----------------------------------------------------------
   2. ВЕРХНЯЯ ПАНЕЛЬ — фиксируем высоту и цвет
   ---------------------------------------------------------- */
.site-top-panel {
    background: #2d3e50 !important;
    color: #c8d4dd !important;
    padding: 8px 0 !important;
    min-height: auto !important;
    height: auto !important;
}
.site-top-panel .row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 4px 18px !important;
    margin: 0 !important;
}
.site-top-panel .col-md-6,
.site-top-panel .col-sm-8,
.site-top-panel .col-sm-4 {
    float: none !important;
    padding: 0 !important;
    width: auto !important;
    flex: 0 1 auto !important;
}
.site-top-panel .col-sm-4 {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}
.site-top-panel address {
    font-style: normal;
    color: #c8d4dd !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
}
.site-top-panel address a {
    color: #c8d4dd !important;
    text-decoration: none !important;
    font-size: 13px !important;
    white-space: nowrap;
}
.site-top-panel address a:hover {
    color: #fff !important;
}
.site-top-panel .tel-wrap {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    padding: 2px 0 !important;
    float: none !important;
    height: auto !important;
}
/* Иконка слабовидящих */
#specialButton img {
    height: 26px !important;
    width: auto !important;
    display: inline-block !important;
}
/* Языки RUS/BEL/ENG */
.lang-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    float: none !important;
    text-align: left !important;
    line-height: 1 !important;
    height: auto !important;
}
.lang-wrap a {
    color: #c8d4dd !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 3px 6px !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    display: inline-block !important;
    float: none !important;
    text-align: center !important;
}
.lang-wrap a:hover {
    background: rgba(255,255,255,.15) !important;
    color: #fff !important;
}
/* скрываем вертикальную черту */
.site-top-panel .tel-wrap span,
.lang-wrap span {
    color: rgba(255,255,255,.3) !important;
}

/* ----------------------------------------------------------
   3. ХЕДЕР / НАВИГАЦИЯ
   ---------------------------------------------------------- */
.sticky-header,
header.sticky-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    background: #fff !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.1) !important;
    height: auto !important;
    min-height: 0 !important;
    font-size: initial !important;
}
/* высота навигации — по содержимому */
.main-nav,
header .main-nav {
    height: auto !important;
    min-height: 56px !important;
}
.full-wrapper,
header .full-wrapper {
    height: auto !important;
    min-height: 56px !important;
}
.sticky-header .container,
header .container {
    display: flex !important;
    align-items: center !important;
    min-height: 60px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    position: relative !important;
}
/* Убираем align-center с .full-wrapper — он ломал меню */
.full-wrapper {
    overflow: visible !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}
.main-nav {
    width: 100% !important;
}

/* Лого */
.logo-sticky img,
.logo-sticky-img,
.logo-img-wrap img {
    height: 50px !important;
    width: auto !important;
    flex-shrink: 0;
}

/* ---- Кнопка-гамбургер (CSS, без Font Awesome) ---- */
.mobile-nav {
    display: none; /* покажем только на мобильном */
    cursor: pointer;
    padding: 8px;
    border: none;
    background: none;
    margin-left: auto;
    flex-shrink: 0;
    z-index: 1001;
}
.mobile-nav .fa-bars {
    display: none !important; /* скрываем FA-иконку */
}
.mobile-nav::before,
.mobile-nav::after,
.mobile-nav span.bar {
    /* используем псевдоэлементы для трёх полос */
}
/* три полоски через box-shadow */
.mobile-nav i.fa-bars::before {
    display: none !important;
}
/* Рисуем гамбургер через собственный элемент */
.mobile-nav-inner {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 24px;
}
.mobile-nav-inner span {
    display: block !important;
    height: 2px !important;
    width: 24px !important;
    background: #1a1a1a !important;
    border-radius: 2px !important;
    transition: transform .25s, opacity .25s !important;
}
.mobile-nav.is-open .mobile-nav-inner span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
}
.mobile-nav.is-open .mobile-nav-inner span:nth-child(2) {
    opacity: 0 !important;
}
.mobile-nav.is-open .mobile-nav-inner span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
}

/* ---- Десктопное меню ---- */
.inner-nav.desktop-nav {
    flex: 1;
}
.inner-nav.desktop-nav ul.clearlist {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
}
.inner-nav.desktop-nav > ul.clearlist > li {
    position: relative !important;
    list-style: none !important;
    flex-shrink: 0 !important;
}
.inner-nav.desktop-nav > ul.clearlist > li > a {
    display: block !important;
    padding: 18px 8px !important;
    font-family: 'Neucha', cursive !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    color: #1a1a1a !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    text-align: center !important;
}
.inner-nav.desktop-nav > ul.clearlist > li > a:hover {
    color: #ff5400 !important;
}
/* убираем лишние теги внутри ссылок */
.inner-nav.desktop-nav a font,
.inner-nav.desktop-nav a div.google {
    display: inline !important;
    font-size: inherit !important;
    font-family: inherit !important;
    color: inherit !important;
    font-weight: inherit !important;
}
/* разделитель "/" */
/* разделители "/" — тонкие, и в корне, и вложенные */
.inner-nav.desktop-nav li.sep,
.inner-nav.desktop-nav ul.clearlist li.sep {
    padding: 0 !important;
    margin: 0 !important;
}
.inner-nav.desktop-nav li.sep > a,
.inner-nav.desktop-nav ul.clearlist li.sep > a,
.inner-nav.desktop-nav ul.clearlist > li.sep > a {
    padding: 12px 4px !important;
    font-size: 13px !important;
    min-width: 0 !important;
    width: auto !important;
    color: #ddd !important;
    pointer-events: none !important;
    cursor: default !important;
}

/* ---- Подменю ---- */
.inner-nav.desktop-nav ul.submenu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.1) !important;
    min-width: 220px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 6px 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(8px) !important;
    transition: opacity .18s, transform .18s, visibility .18s !important;
    z-index: 500 !important;
    display: block !important;
}
.inner-nav.desktop-nav > ul.clearlist > li:hover > ul.submenu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}
.inner-nav.desktop-nav ul.submenu li {
    list-style: none !important;
}
.inner-nav.desktop-nav ul.submenu li a {
    display: block !important;
    padding: 9px 16px !important;
    height: auto !important;
    line-height: 1.4 !important;
    font-family: 'Neucha', cursive !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    white-space: normal !important;
    transition: background .15s !important;
}
.inner-nav.desktop-nav ul.submenu li a:hover {
    background: #f5f5f5 !important;
    color: #ff5400 !important;
}
.inner-nav.desktop-nav ul.submenu li a font {
    display: inline !important;
    font-size: inherit !important;
    font-family: inherit !important;
    color: inherit !important;
}

/* ----------------------------------------------------------
   4. НОВЫЙ СЛАЙДЕР — заменяет сломанный Revolution Slider
   ---------------------------------------------------------- */
.tp-banner-container {
    display: none !important; /* прячем старый */
}

/* Наш новый слайдер */
.zc-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #2d3e50;
    line-height: 0;
}
.zc-slider-track {
    display: flex;
    transition: transform .6s cubic-bezier(.4,0,.2,1);
    will-change: transform;
}
.zc-slide {
    flex: 0 0 100%;
    width: 100%;
    position: relative;
    line-height: 0;
}
.zc-slide img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    display: block;
}
/* Стрелки */
.zc-prev, .zc-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,.75);
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #333;
    z-index: 10;
    transition: background .2s;
    line-height: 1;
}
.zc-prev { left: 16px; }
.zc-next { right: 16px; }
.zc-prev:hover, .zc-next:hover {
    background: rgba(255,255,255,.95);
}
/* Точки */
.zc-dots {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 10;
}
.zc-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255,255,255,.5);
    border: none;
    cursor: pointer;
    transition: background .2s;
    padding: 0;
}
.zc-dot.active {
    background: #fff;
}

/* ----------------------------------------------------------
   5. КОНТЕЙНЕРЫ И СЕТКА
   ---------------------------------------------------------- */
.container {
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
}
.row {
    margin-left: -12px !important;
    margin-right: -12px !important;
    box-sizing: border-box !important;
}
.row::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}
[class*="col-"] {
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
}

/* ----------------------------------------------------------
   6. СЕКЦИИ
   ---------------------------------------------------------- */
.page-section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}
.blog-media {
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 6px !important;
    margin-bottom: 20px !important;
}
.blog-media img {
    width: 100% !important;
    height: auto !important;
    max-height: 360px !important;
    object-fit: cover !important;
}
.img-border {
    width: 100% !important;
    height: auto !important;
    border-radius: 6px !important;
    display: block !important;
}

/* ----------------------------------------------------------
   7. ТИПОГРАФИКА
   ---------------------------------------------------------- */
h1 { font-size: 36px !important; line-height: 1.2 !important; }
h2 { font-size: 30px !important; line-height: 1.2 !important; }
h3 { font-size: 24px !important; line-height: 1.3 !important; }
h4 { font-size: 20px !important; }
h5 { font-size: 18px !important; }
h6 { font-size: 16px !important; }

/* ----------------------------------------------------------
   8. ФУТЕР
   ---------------------------------------------------------- */
.top-footer, footer {
    background: #2d3e50 !important;
}
.top-footer .row,
footer .row {
    display: flex !important;
    flex-wrap: wrap !important;
}
.bottom-footer {
    background: #1e2c38 !important;
    height: auto !important;
    line-height: 1.4 !important;
    padding: 12px 0 !important;
}
.bottom-footer .footer-copy {
    float: none !important;
    padding: 6px 0 !important;
    text-align: center !important;
}
.bottom-footer .footer-soc-links {
    float: none !important;
    height: auto !important;
    padding-bottom: 6px !important;
    text-align: center !important;
}

/* ----------------------------------------------------------
   9. МЕЛКИЕ ПРАВКИ
   ---------------------------------------------------------- */
/* убираем горизонтальный скролл от секций с фоном */
.small-section {
    overflow: hidden !important;
}
/* виджет слайдер официальных ресурсов */
.widget-slider-2 .slider-item {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}
.widget-slider-2 article {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex: 1 1 140px !important;
}
.widget-slider-2 .author img {
    width: 64px !important;
    height: 64px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}
/* таблицы */
table {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    display: block !important;
    border-collapse: collapse !important;
}


/* ============================================================
   МЕДИА-ЗАПРОСЫ
   ============================================================ */

/* ---- Планшет 992px ---- */
@media (max-width: 992px) {
    .col-md-3,
    .col-md-4,
    .col-md-6,
    .col-md-8,
    .col-md-9 {
        width: 100% !important;
        float: none !important;
    }
    .footer-about,
    .footer-tweets {
        padding-bottom: 24px !important;
        margin-bottom: 16px !important;
        border-bottom: 1px solid rgba(255,255,255,.15) !important;
    }
}

/* ---- Мобильное меню — показываем до 1024px (как в scripts.js) ---- */
@media (max-width: 1024px) {

    /* Показываем кнопку */
    .mobile-nav {
        display: flex !important;
        align-items: center !important;
    }

    /* Прячем меню по умолчанию */
    .inner-nav.desktop-nav {
        display: none !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        background: #fff !important;
        border-top: 2px solid #ff5400 !important;
        box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;
        z-index: 999 !important;
        max-height: 80vh !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* Открытое состояние (JS добавит класс) */
    .inner-nav.desktop-nav.nav-open {
        display: block !important;
    }

    /* Вертикальный список */
    .inner-nav.desktop-nav ul.clearlist {
        flex-direction: column !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        padding: 8px 0 !important;
        width: 100% !important;
    }
    .inner-nav.desktop-nav > ul.clearlist > li {
        width: 100% !important;
        border-bottom: 1px solid #f0f0f0 !important;
    }
    .inner-nav.desktop-nav > ul.clearlist > li:last-child {
        border-bottom: none !important;
    }
    /* прячем разделители "/" */
    .inner-nav.desktop-nav li.sep {
        display: none !important;
    }
    .inner-nav.desktop-nav > ul.clearlist > li > a {
        padding: 14px 20px !important;
        text-align: left !important;
        font-size: 16px !important;
        white-space: normal !important;
        display: block !important;
    }
    /* убираем <br> в ссылках */
    .inner-nav.desktop-nav > ul.clearlist > li > a br {
        display: none !important;
    }

    /* Подменю — раскрывается при тапе */
    .inner-nav.desktop-nav ul.submenu {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        box-shadow: none !important;
        border: none !important;
        border-radius: 0 !important;
        background: #f9f9f9 !important;
        padding: 0 !important;
        display: none !important;
        max-height: none !important;
    }
    .inner-nav.desktop-nav > ul.clearlist > li.sub-open > ul.submenu {
        display: block !important;
    }
    .inner-nav.desktop-nav ul.submenu li a {
        padding: 11px 32px !important;
        font-size: 14px !important;
        border-bottom: 1px solid #ebebeb !important;
        display: block !important;
    }
    .inner-nav.desktop-nav ul.submenu li:last-child a {
        border-bottom: none !important;
    }
}

/* ---- Мобильный 768px ---- */
@media (max-width: 768px) {

    /* Верхняя панель — компактно, в две строки */
    .site-top-panel {
        padding: 5px 0 !important;
    }
    .site-top-panel .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    .site-top-panel .row {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 2px !important;
    }
    .site-top-panel .col-md-6,
    .site-top-panel .col-sm-8,
    .site-top-panel .col-sm-4 {
        width: 100% !important;
        flex: 1 1 auto !important;
    }
    /* контакты — компактно */
    .site-top-panel address {
        font-size: 11px !important;
        line-height: 1.45 !important;
        gap: 4px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .site-top-panel address a {
        font-size: 11px !important;
        white-space: normal !important;
        word-break: break-word !important;
    }
    /* скрываем декоративные разделители в контактах */
    .site-top-panel .tel-wrap address > span {
        display: none !important;
    }
    /* иконки телефона/конверта — компактно */
    .site-top-panel address i.fa {
        margin-right: 4px !important;
        font-size: 11px !important;
        width: 12px !important;
        display: inline-block !important;
        text-align: center !important;
    }
    /* языки + иконка слабовидящих — одна строка справа */
    .site-top-panel .col-sm-4 {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        margin-top: 2px !important;
    }
    .lang-wrap {
        height: auto !important;
        line-height: 1 !important;
        gap: 4px !important;
    }
    .lang-wrap a {
        font-size: 11px !important;
        padding: 3px 5px !important;
    }
    #specialButton img {
        height: 22px !important;
    }

    /* Слайдер */
    .zc-slide img {
        height: 260px !important;
    }
    .zc-prev, .zc-next {
        width: 36px !important;
        height: 36px !important;
        font-size: 16px !important;
    }

    /* Все колонки — в стопку */
    [class*="col-"] {
        width: 100% !important;
        float: none !important;
    }

    /* Секции */
    .page-section {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }

    /* Убираем лишние отступы вверх */
    .mt-lg-50 { margin-top: 20px !important; }
    .mb-lg-30 { margin-bottom: 20px !important; }

    /* Контент текст */
    body {
        font-size: 14px !important;
    }
    h1 { font-size: 26px !important; }
    h2 { font-size: 22px !important; }
    h3 { font-size: 20px !important; }
    h4 { font-size: 18px !important; }

    /* Виджет ресурсов */
    .widget-slider-2 article {
        flex: 1 1 100% !important;
    }
}

/* ---- Маленький мобильный 480px ---- */
@media (max-width: 480px) {

    .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    .sticky-header .container,
    header .container {
        min-height: 52px !important;
    }

    .zc-slide img {
        height: 200px !important;
    }

    .blog-media img {
        max-height: 220px !important;
    }

    .bottom-footer {
        font-size: 12px !important;
    }

    /* таблицы */
    table {
        font-size: 12px !important;
    }
}

/* ---- Широкие экраны: даём меню больше места ---- */
@media (min-width: 1400px) {
    header.sticky-header > .container,
    .site-top-panel > .container {
        max-width: 1380px !important;
    }
}

/* ---- Осиротевшие разделители внутри подменю (артефакт исходной вёрстки) ---- */
.inner-nav.desktop-nav ul.submenu li.sep,
.inner-nav.desktop-nav ul.submenu > li.sep {
    display: none !important;
}
/* На узких десктопах чуть ужимаем, чтобы влезло в 1200px */
@media (min-width: 1025px) and (max-width: 1440px) {
    .inner-nav.desktop-nav > ul.clearlist > li > a {
        padding: 12px 6px !important;
        font-size: 13.5px !important;
    }
    .inner-nav.desktop-nav li.sep > a {
        padding: 12px 3px !important;
    }
}

/* ---- Высота строки меню (компактно) ---- */
.inner-nav.desktop-nav ul.clearlist {
    min-height: 0 !important;
}
.inner-nav.desktop-nav > ul.clearlist > li > a {
    max-height: none !important;
}

/* ============================================================
   ВЕРХНЯЯ ПАНЕЛЬ НА МОБИЛЬНОМ — МАКСИМАЛЬНО КОМПАКТНО
   ============================================================ */
@media (max-width: 768px) {

    .site-top-panel {
        padding: 5px 0 !important;
        line-height: 1.35 !important;
    }

    /* контакты — в одну строку, физический адрес скрыт */
    .site-top-panel address {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 2px 8px !important;
        font-size: 11px !important;
        line-height: 1.35 !important;
        width: 100% !important;
        margin: 0 !important;
        text-align: center !important;
    }
    .site-top-panel address font {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 2px 8px !important;
        font-size: inherit !important;
    }
    .site-top-panel address a {
        font-size: 11px !important;
        line-height: 1.35 !important;
        white-space: nowrap !important;
    }
    /* вторая ссылка = физический адрес — скрываем, он есть на «Контактах» */
    .site-top-panel address font > a:nth-of-type(2),
    .site-top-panel address > a:nth-of-type(2) {
        display: none !important;
    }
    /* разделители "|" прячем */
    .site-top-panel address span,
    .site-top-panel address font > span {
        display: none !important;
    }
    /* иконки — tiny */
    .site-top-panel address i.fa {
        margin-right: 3px !important;
        font-size: 11px !important;
        width: auto !important;
    }

    /* правая часть: иконка слабовидящих + языки в одну строку */
    .site-top-panel .col-sm-4 {
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
        padding: 0 !important;
    }
    .site-top-panel .col-sm-4 ul {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        display: flex !important;
        align-items: center !important;
    }
    .site-top-panel .col-sm-4 li {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .lang-wrap {
        display: flex !important;
        align-items: center !important;
        gap: 3px !important;
        height: auto !important;
        line-height: 1 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .lang-wrap a {
        font-size: 11px !important;
        font-weight: 700 !important;
        padding: 2px 4px !important;
        line-height: 1.2 !important;
        display: inline-block !important;
    }
    .lang-wrap span {
        display: none !important;
    }
    #specialButton img {
        height: 20px !important;
        width: auto !important;
        display: block !important;
    }

    /* обе части панели — вплотную */
    .site-top-panel .row {
        gap: 3px !important;
    }
    .site-top-panel .col-md-6,
    .site-top-panel .col-sm-8 {
        width: 100% !important;
    }
}

/* ============================================================
   ВЕРХНЯЯ ПАНЕЛЬ — ЧИСТАЯ РАЗМЕТКА (.top-panel-inner)
   Перекрывает старые правила для .site-top-panel
   ============================================================ */
.site-top-panel {
    background: #2d3e50 !important;
    color: #c8d4dd !important;
    padding: 7px 0 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    height: auto !important;
}
.top-panel-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 6px 20px !important;
    width: 100% !important;
}
.top-contacts {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 4px 18px !important;
    min-width: 0 !important;
}
.top-contacts a {
    color: #c8d4dd !important;
    text-decoration: none !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    white-space: nowrap !important;
    transition: color .2s !important;
}
.top-contacts a:hover { color: #fff !important; }
.top-contacts i.fa {
    color: #7fb2d9 !important;
    font-size: 13px !important;
    flex-shrink: 0 !important;
}
.top-right {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-shrink: 0 !important;
}
.tp-special {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
    text-decoration: none !important;
}
.tp-special img {
    height: 24px !important;
    width: auto !important;
    display: block !important;
}
.site-top-panel .lang-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    float: none !important;
    height: auto !important;
    line-height: 1 !important;
    text-align: left !important;
}
.site-top-panel .lang-wrap a {
    color: #c8d4dd !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .03em !important;
    padding: 3px 7px !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    display: inline-block !important;
    line-height: 1.3 !important;
    border: 1px solid rgba(200,212,221,.25) !important;
    transition: background .2s, color .2s !important;
}
.site-top-panel .lang-wrap a:hover {
    background: rgba(255,255,255,.16) !important;
    color: #fff !important;
    border-color: transparent !important;
}

/* ---- Мобильный: панель в две компактные строки ---- */
@media (max-width: 768px) {
    .site-top-panel {
        padding: 6px 0 !important;
        font-size: 12px !important;
    }
    .top-panel-inner {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 5px !important;
    }
    /* 1-я строка: телефон + почта */
    .top-contacts {
        justify-content: center !important;
        gap: 3px 12px !important;
    }
    .top-contacts a {
        font-size: 12px !important;
        gap: 4px !important;
    }
    /* физический адрес — прячем на телефоне (он есть на «Контактах») */
    .top-contacts a.tp-addr {
        display: none !important;
    }
    /* 2-я строка: глаз + языки */
    .top-right {
        justify-content: center !important;
        gap: 12px !important;
    }
    .tp-special img { height: 20px !important; }
    .site-top-panel .lang-wrap a {
        font-size: 12px !important;
        padding: 3px 8px !important;
    }
}

/* ---- Очень узкие экраны ---- */
@media (max-width: 400px) {
    .top-contacts {
        flex-direction: column !important;
        align-items: center !important;
        gap: 2px !important;
    }
    .top-contacts a { font-size: 11.5px !important; }
}

/* ============================================================
   МЕНЮ НА ПК / НОУТБУКЕ — ОДНА СТРОКА
   ============================================================ */

@media (min-width: 1025px) {

    /* Шапка во всю ширину — 11 пунктов должны влезть в строку */
    header.sticky-header > .container,
    .sticky-header > .container {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .inner-nav.desktop-nav {
        flex: 1 1 auto !important;
        display: block !important;
    }

    /* Список — одна строка без переноса */
    .inner-nav.desktop-nav ul.clearlist {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        justify-content: center !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .inner-nav.desktop-nav > ul.clearlist > li {
        flex: 0 1 auto !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: stretch !important;
    }

    /* Пункт: сам пункт — в строке, текст может переноситься внутри него */
    .inner-nav.desktop-nav > ul.clearlist > li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        -webkit-hyphens: auto !important;
        hyphens: auto !important;
        max-width: none !important;
        min-height: 58px !important;
        line-height: 1.15 !important;
    }

    /* <br> внутри пунктов убираем — иначе пункт рвётся */
    .inner-nav.desktop-nav > ul.clearlist > li > a br {
        display: none !important;
    }

    /* Разделители "/" */
    .inner-nav.desktop-nav li.sep {
        display: flex !important;
        align-items: center !important;
    }
    .inner-nav.desktop-nav li.sep > a {
        padding: 14px 2px !important;
        min-height: 0 !important;
        font-size: 12px !important;
        color: #d8d8d8 !important;
    }
}

/* ---- 1201-1499px: компактно, разделители убираем ---- */
@media (min-width: 1025px) and (max-width: 1499px) {
    .inner-nav.desktop-nav li.sep { display: none !important; }
    .inner-nav.desktop-nav > ul.clearlist > li > a {
        padding: 14px 6px !important;
        font-size: 12.5px !important;
    }
}

/* ---- 1500-1699px ---- */
@media (min-width: 1500px) and (max-width: 1699px) {
    .inner-nav.desktop-nav > ul.clearlist > li > a {
        padding: 14px 10px !important;
        font-size: 13.5px !important;
    }
}

/* ---- 1700px и шире ---- */
@media (min-width: 1700px) {
    .inner-nav.desktop-nav > ul.clearlist > li > a {
        padding: 16px 14px !important;
        font-size: 14.5px !important;
    }
}


/* ============================================================
   ФИНАЛ: ПЕРЕБИВАЕМ РОДНЫЕ ПРАВИЛА .mobile-on ИЗ styles.css
   (там height:50px !important, line-height:50px, margin:0 20px —
   из-за них меню схлопывалось и пункты обрезались)
   Ставим ПОСЛЕДНИМ блоком, поэтому он выигрывает.
   ============================================================ */
@media (max-width: 1024px) {

    /* Само меню: раскрываем нормально, без инлайн-высоты от jQuery */
    .main-nav.mobile-on .inner-nav.desktop-nav.nav-open,
    .inner-nav.desktop-nav.nav-open {
        display: block !important;
        height: auto !important;
        max-height: 80vh !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding: 0 !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        background: #fff !important;
        border-top: 2px solid #ff5400 !important;
        box-shadow: 0 10px 28px rgba(0,0,0,.16) !important;
        z-index: 1200 !important;
    }

    /* Список */
    .main-nav.mobile-on .desktop-nav ul.clearlist,
    .inner-nav.desktop-nav.nav-open ul.clearlist {
        display: block !important;
        height: auto !important;
        max-height: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 6px 0 !important;
        background: #fff !important;
        border: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
        float: none !important;
    }

    /* Пункты: убираем margin 0 20px и overflow:hidden */
    .main-nav.mobile-on .inner-nav li,
    .main-nav.mobile-on .desktop-nav ul li,
    .inner-nav.desktop-nav.nav-open > ul.clearlist > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        overflow: visible !important;
        border-bottom: 1px solid #f0f0f0 !important;
        height: auto !important;
    }
    .inner-nav.desktop-nav.nav-open > ul.clearlist > li:last-child {
        border-bottom: none !important;
    }

    /* Ссылки: снимаем 50px и line-height:50px */
    .main-nav.mobile-on .desktop-nav ul li a,
    .main-nav.mobile-on .inner-nav ul li .submenu li a,
    .inner-nav.desktop-nav.nav-open > ul.clearlist > li > a {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        line-height: 1.4 !important;
        padding: 15px 18px !important;
        font-size: 16px !important;
        text-align: left !important;
        letter-spacing: normal !important;
        white-space: normal !important;
        max-width: none !important;
        border: none !important;
        box-sizing: border-box !important;
    }
    .main-nav.mobile-on .desktop-nav ul li a br,
    .inner-nav.desktop-nav.nav-open > ul.clearlist > li > a br {
        display: none !important;
    }

    /* Разделители «/» на мобильном не нужны */
    .main-nav.mobile-on .desktop-nav ul li.sep,
    .inner-nav.desktop-nav.nav-open li.sep {
        display: none !important;
    }

    /* Подменю */
    .main-nav.mobile-on .desktop-nav ul li ul,
    .inner-nav.desktop-nav.nav-open ul.submenu {
        position: static !important;
        display: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #f7f7f7 !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    .inner-nav.desktop-nav.nav-open > ul.clearlist > li.sub-open > ul.submenu {
        display: block !important;
    }
    .inner-nav.desktop-nav.nav-open ul.submenu li a {
        padding: 12px 30px !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
        height: auto !important;
        border-bottom: 1px solid #ececec !important;
    }
    .inner-nav.desktop-nav.nav-open ul.submenu li:last-child a {
        border-bottom: none !important;
    }
}

/* ============================================================
   ВНУТРЕННИЙ СЛАЙДЕР (.slider-container) — index / BEL / ENG
   Заменяет стили удалённого styles/styles.css
   ============================================================ */
.slider-container {
    position: relative !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 24px auto !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    background: #f2f2f2 !important;
    line-height: 0 !important;
}
.slider-container .slider {
    display: flex !important;
    transition: transform .45s ease !important;
    will-change: transform;
}
.slider-container .slider img {
    flex: 0 0 100% !important;
    width: 100% !important;
    height: auto !important;
    max-height: 460px !important;
    object-fit: cover !important;
    display: block !important;
}
.slider-container .prev-button,
.slider-container .next-button {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    background: rgba(255,255,255,.8) !important;
    border: none !important;
    border-radius: 50% !important;
    color: #333 !important;
    font-size: 17px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    z-index: 5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background .2s !important;
}
.slider-container .prev-button { left: 12px !important; }
.slider-container .next-button { right: 12px !important; }
.slider-container .prev-button:hover,
.slider-container .next-button:hover {
    background: #fff !important;
}

@media (max-width: 768px) {
    .slider-container { margin: 16px auto !important; border-radius: 6px !important; }
    .slider-container .slider img { max-height: 260px !important; }
    .slider-container .prev-button,
    .slider-container .next-button {
        width: 34px !important;
        height: 34px !important;
        font-size: 14px !important;
    }
    .slider-container .prev-button { left: 8px !important; }
    .slider-container .next-button { right: 8px !important; }
}

/* =============================================================
   ДИЗАЙН ГЛАВНОЙ — пакет правок 1–7
   ============================================================= */

/* 1. Шапка с контактами: компактно, одна строка на ПК */
.site-top-panel .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 6px 16px !important;
}
.site-top-panel address a[href^="tel"],
.site-top-panel address a[href^="mailto"],
.site-top-panel address a[href^="kirovsksad"] {
    font-weight: 600 !important;
}
.lang-wrap {
    margin-left: auto !important;
}

/* 2. Меню: активный пункт подсвечен, разделители «/» — точки */
.inner-nav.desktop-nav li.sep > a {
    font-size: 0 !important;
    padding: 18px 2px !important;
}
.inner-nav.desktop-nav li.sep > a::before {
    content: "•";
    font-size: 12px;
    color: #c5ccd3;
}
.inner-nav.desktop-nav > ul.clearlist > li > a:hover {
    background: #f4f6f8 !important;
    color: #ff5400 !important;
}
.inner-nav.desktop-nav > ul.clearlist > li > a.is-active,
.inner-nav.desktop-nav > ul.clearlist > li.current > a {
    color: #ff5400 !important;
    box-shadow: inset 0 -3px 0 #ff5400 !important;
}

/* 3. Слайдер: затемнение под подпись, размер подписи по устройству */
.zc-slide {
    position: relative;
}
.zc-slide::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 45%;
    background: linear-gradient(to top, rgba(20,30,45,.55), rgba(20,30,45,0));
    pointer-events: none;
}
.zc-slide .sl-title {
    position: absolute;
    left: 50%;
    bottom: 36px;
    transform: translateX(-50%);
    z-index: 2;
    color: #fff;
    font-family: 'Neucha', cursive;
    font-size: 40px;
    line-height: 1.1;
    text-align: center;
    width: 90%;
    text-shadow: 0 2px 8px rgba(0,0,0,.45);
}
@media (max-width: 768px) {
    .zc-slide .sl-title { font-size: 24px; bottom: 26px; }
}
@media (max-width: 480px) {
    .zc-slide .sl-title { font-size: 19px; bottom: 20px; }
}

/* 4. Приветственный блок: одинаковые отступы, колонки на ПК, одна на телефоне */
.page-section .row {
    align-items: flex-start !important;
}
.page-section .row > [class*="col-"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.page-section .section-text p {
    margin-top: 0 !important;
}
@media (min-width: 992px) {
    .page-section .row > [class*="col-"]:last-child {
        padding-left: 28px !important;
    }
}

/* 5. Карточки новостей и ресурсов: одинаковая высота, тень, скругление */
.news-item,
.widget-post article,
.widget-slider-2 article {
    border-radius: 10px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.07) !important;
}
.widget-slider-2 article {
    background: #fff;
    padding: 14px !important;
    height: 100%;
}
.widget-slider-2 .slider-item {
    align-items: stretch !important;
}
.widget-slider-2 .author {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 72px;
    height: 72px;
    flex-shrink: 0;
}
.widget-slider-2 .author img {
    width: 64px !important;
    height: 64px !important;
    object-fit: contain !important;
}

/* 6. Цвета: единая палитра — текст и ссылки в тёмно-синем */
p, li, td, span {
    color: #2d3e50;
}
a {
    color: #2d3e50;
}
a:hover {
    color: #ff5400;
}
h1, h2, h3, h4 {
    color: #2d3e50;
}
.site-top-panel, .site-top-panel * {
    color: #c8d4dd;
}
footer, footer *, .top-footer, .top-footer *, .bottom-footer, .bottom-footer * {
    color: #c8d4dd;
}

/* 7. Футер: колонки ровно, иконки контактов одного размера */
.top-footer .row > [class*="col-"] {
    display: flex !important;
    flex-direction: column !important;
}
footer .fa, .top-footer .fa,
footer i[class*="fa-"], .top-footer i[class*="fa-"] {
    width: 20px !important;
    text-align: center !important;
    font-size: 16px !important;
    margin-right: 8px !important;
}

/* =============================================================
   БОЛЬШЕ БАННЕР (слайдер на главной)
   ============================================================= */
.zc-slide img {
    height: 680px !important;
}
.zc-slide .sl-title {
    color: #fff !important;
    bottom: 48px !important;
}
@media (max-width: 992px) {
    .zc-slide img { height: 540px !important; }
}
@media (max-width: 768px) {
    .zc-slide img { height: 360px !important; }
    .zc-slide .sl-title { bottom: 28px !important; }
}
@media (max-width: 480px) {
    .zc-slide img { height: 270px !important; }
}

/* Подпись внизу баннера — с тёмной подложкой для читаемости */
.zc-slide .sl-title {
    bottom: 14px !important;
    width: auto !important;
    max-width: 90%;
    padding: 8px 22px;
    background: rgba(20,30,45,.6);
    border-radius: 6px;
    font-size: 30px !important;
}
@media (max-width: 768px) {
    .zc-slide .sl-title { bottom: 10px !important; font-size: 18px !important; padding: 6px 14px; }
}
@media (max-width: 480px) {
    .zc-slide .sl-title { font-size: 15px !important; }
}
/* =====================================================
   БЛОК ЗАВЕДУЮЩЕЙ: как в макете Word, 2 колонки
   ===================================================== */
div.zav-card {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    max-width: 820px !important;
    margin: 24px auto !important;
    padding: 0 !important;
    border: 1px solid #000 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    overflow: hidden !important;
}
div.zav-card::before,
div.zav-card::after {
    content: none !important;
    display: none !important;
}

/* Левая колонка: фото */
div.zav-card .zav-photo {
    position: relative !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-right: 1px solid #000 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
}
div.zav-card .zav-photo img {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center top !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
}
div.zav-card .zav-photo-cap {
    display: none !important;
}

/* Правая колонка: текст */
div.zav-card .zav-body {
    margin: 0 !important;
    padding: 20px 24px !important;
    border: 0 !important;
    min-width: 0 !important;
}
div.zav-card .zav-kicker {
    display: block !important;
    font-size: 12px !important;
    margin: 0 0 4px !important;
}
div.zav-card h2.zav-name {
    font-size: 22px !important;
    line-height: 1.2 !important;
    margin: 0 0 4px !important;
}
div.zav-card p.zav-role {
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin: 0 0 12px !important;
    padding: 0 0 10px !important;
    border-bottom: 1px solid #000 !important;
}
div.zav-card .zav-text {
    column-count: 1 !important;
}
div.zav-card .zav-text p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin: 0 0 9px !important;
    text-align: left !important;
}
div.zav-card .zav-text p:first-child {
    margin-top: 0 !important;
}
div.zav-card .zav-text p:last-child {
    margin-bottom: 0 !important;
}
div.zav-card .zav-sign {
    font-size: 13.5px !important;
    margin: 10px 0 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid #000 !important;
}
div.zav-card .zav-sign strong {
    color: #000 !important;
}

/* Телефон: фото сверху, текст снизу */
@media (max-width: 767px) {
    div.zav-card {
        grid-template-columns: 1fr !important;
        max-width: 100% !important;
    }
    div.zav-card .zav-photo {
        border-right: 0 !important;
        border-bottom: 1px solid #000 !important;
        height: 260px !important;
    }
    div.zav-card .zav-body {
        padding: 16px !important;
    }
}
/* ФЛАГ ВВЕРХУ: уменьшить */
img[src="images/section-bg/18.jpg"] {
    display: block !important;
    margin: 0 auto !important;
    width: auto !important;
    height: 260px !important;
    max-width: 100% !important;
    object-fit: contain !important;
}
@media (max-width: 767px) {
    img[src="images/section-bg/18.jpg"] {
        height: 160px !important;
    }
}
/* БЛОК ЗАВЕДУЮЩЕЙ: компактно, в один экран */
div.zav-card {
    max-width: 1100px !important;
    grid-template-columns: 34fr 66fr !important;
}
div.zav-card .zav-photo {
    height: 480px !important;
}
div.zav-card .zav-photo img {
    object-position: center 20% !important;
}
div.zav-card .zav-body {
    padding: 16px 22px !important;
}
div.zav-card .zav-kicker {
    font-size: 11px !important;
}
div.zav-card h2.zav-name {
    font-size: 20px !important;
    margin: 0 0 2px !important;
}
div.zav-card p.zav-role {
    font-size: 12.5px !important;
    margin: 0 0 8px !important;
    padding: 0 0 8px !important;
}
div.zav-card .zav-text p {
    font-size: 13px !important;
    line-height: 1.42 !important;
    margin: 0 0 6px !important;
}
div.zav-card .zav-sign {
    font-size: 12.5px !important;
    margin: 6px 0 0 !important;
    padding: 8px 0 0 !important;
}
@media (max-width: 767px) {
    div.zav-card .zav-photo { height: 260px !important; }
    div.zav-card .zav-text p { font-size: 14px !important; }
}
/* БЛОК ЗАВЕДУЮЩЕЙ: чуть крупнее */
div.zav-card {
    max-width: 1140px !important;
    grid-template-columns: 34fr 66fr !important;
}
div.zav-card .zav-photo {
    height: 530px !important;
}
div.zav-card .zav-body {
    padding: 20px 26px !important;
}
div.zav-card .zav-kicker {
    font-size: 12px !important;
}
div.zav-card h2.zav-name {
    font-size: 22px !important;
    margin: 0 0 4px !important;
}
div.zav-card p.zav-role {
    font-size: 13.5px !important;
    margin: 0 0 10px !important;
    padding: 0 0 10px !important;
}
div.zav-card .zav-text p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin: 0 0 8px !important;
}
div.zav-card .zav-sign {
    font-size: 13.5px !important;
    margin: 8px 0 0 !important;
    padding: 10px 0 0 !important;
}
@media (max-width: 767px) {
    div.zav-card .zav-photo { height: 280px !important; }
    div.zav-card .zav-text p { font-size: 14.5px !important; }
}
/* СЕКЦИЯ ДЕВИЗ + ФОТО: выравнивание */
section[data-background="images/section-bg/178248_original.gif"] .container {
    max-width: 1140px !important;
}
section[data-background="images/section-bg/178248_original.gif"] .row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin: 0 !important;
}
section[data-background="images/section-bg/178248_original.gif"] h3.section-title {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    font-size: 38px !important;
    line-height: 1.2 !important;
    margin: 20px 0 30px !important;
}
section[data-background="images/section-bg/178248_original.gif"] font[size="7"] {
    font-size: 38px !important;
}
section[data-background="images/section-bg/178248_original.gif"] .col-md-12 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    padding: 0 15px !important;
}
section[data-background="images/section-bg/178248_original.gif"] img.img-border {
    display: block !important;
    width: 100% !important;
    height: 460px !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
}
section[data-background="images/section-bg/178248_original.gif"] .section-text h6 {
    text-align: center !important;
    margin: 0 0 12px !important;
    line-height: 1.3 !important;
}
section[data-background="images/section-bg/178248_original.gif"] .section-text h6[align="left"] {
    text-align: left !important;
}
section[data-background="images/section-bg/178248_original.gif"] font[size="6"] {
    font-size: 30px !important;
}
section[data-background="images/section-bg/178248_original.gif"] font[size="5"] {
    font-size: 20px !important;
}
section[data-background="images/section-bg/178248_original.gif"] font[size="4"] {
    font-size: 16px !important;
    line-height: 1.4 !important;
}
section[data-background="images/section-bg/178248_original.gif"] font[size="3"] {
    font-size: 15px !important;
    line-height: 1.4 !important;
}
section[data-background="images/section-bg/178248_original.gif"] .section-text {
    padding: 0 15px !important;
}
section[data-background="images/section-bg/178248_original.gif"] br {
    line-height: 0.6 !important;
}
@media (min-width: 992px) {
    section[data-background="images/section-bg/178248_original.gif"] .col-md-12 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}
@media (max-width: 991px) {
    section[data-background="images/section-bg/178248_original.gif"] img.img-border {
        height: 300px !important;
    }
}
/* ЗАВЕДУЮЩАЯ, ТЕЛЕФОН: фото сверху, текст под ним */
@media (max-width: 767px) {
    div.zav-card {
        display: block !important;
        grid-template-columns: 1fr !important;
        max-width: 100% !important;
        margin: 16px auto !important;
    }
    div.zav-card .zav-photo {
        display: block !important;
        width: 100% !important;
        height: 300px !important;
        border-right: 0 !important;
        border-bottom: 1px solid #000 !important;
    }
    div.zav-card .zav-photo img {
        object-position: center 20% !important;
    }
    div.zav-card .zav-body {
        width: 100% !important;
        padding: 16px !important;
        box-sizing: border-box !important;
    }
    div.zav-card .zav-text p {
        font-size: 14.5px !important;
        line-height: 1.5 !important;
    }
}
/* В НАШЕМ ЗАМКЕ ЧУДЕС: текст крупнее и ровнее (ПК) */
.blog-item font[size="5"][color="#59007d"] {
    display: block !important;
    font-size: 22px !important;
    line-height: 1.6 !important;
    text-align: justify !important;
    text-align-last: left !important;
    padding: 0 10px !important;
}
.blog-item font[size="5"][color="#59007d"] br {
    line-height: 0.5 !important;
}
@media (max-width: 767px) {
    .blog-item font[size="5"][color="#59007d"] {
        font-size: 17px !important;
        line-height: 1.5 !important;
        padding: 0 !important;
    }
}
/* ОТСТУП МЕЖДУ ЗАГОЛОВКОМ «В НАШЕМ ЗАМКЕ ЧУДЕС» И ТЕКСТОМ */
.blog-item font[size="5"][color="#59007d"] > br:first-child {
    display: none !important;
}
h3.section-title:has(font[color="#59007d"]) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.blog-item font[size="5"][color="#59007d"] {
    margin-top: -10px !important;
}
/* ОТСТУП ЗАГОЛОВОК - ТЕКСТ (ПК): уменьшен, без наезда на картинку */
.blog-item font[size="5"][color="#59007d"] {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.blog-item font[size="5"][color="#59007d"] > br:first-child {
    display: none !important;
}
/* КАРТИНКА «ДЕТИ НА РАДУГЕ»: не обрезать */
.blog-media:has(img[src="images/section-bg/play-school.png"]) {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
}
img[src="images/section-bg/play-school.png"] {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}
/* КАРТИНКА «ДЕТИ НА РАДУГЕ»: показать целиком, без обрезки */
.blog-media img[src="images/section-bg/play-school.png"] {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
}
/* НАШИ ПОСЛЕДНИЕ НОВОСТИ: три карточки одного размера */
.portfolio-three-col .portfolio-item {
    height: auto !important;
}
.portfolio-three-col .portfolio-media {
    height: 260px !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    border-radius: 6px !important;
}
.portfolio-three-col .portfolio-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
}
@media (max-width: 767px) {
    .portfolio-three-col .portfolio-media {
        height: 220px !important;
    }
}
/* ФУТЕР: три колонки в одну строку, как на оригинале */
footer .footer-section {
    background: #74c28b !important;
    padding: 30px 0 20px !important;
}
footer .footer-section .container > .row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 30px !important;
    margin: 0 !important;
    width: 100% !important;
}
footer .footer-section .container > .row > .col-md-4 {
    display: block !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}
footer .footer-section .footer-contact {
    width: 100% !important;
    text-align: center !important;
}
footer .footer-section,
footer .footer-section * {
    color: #fff !important;
    text-shadow: none !important;
    opacity: 1 !important;
}
footer .footer-section .img-line {
    display: none !important;
}
footer .footer-section .footer-title-small {
    margin-top: 10px !important;
    line-height: 1.4 !important;
}
@media (max-width: 767px) {
    footer .footer-section .container > .row {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
}/* БЛОК «СЛОВО ЗАВЕДУЮЩЕГО» — мобильная версия */
@media (max-width: 767px) {
    .zz-card { border-radius: 16px !important; margin: 24px 12px !important; }
    .zz-card .zz-photo { max-width: 100% !important; flex: 1 1 100% !important; }
    .zz-card .zz-photo img { min-height: 300px !important; max-height: 340px !important; }
    .zz-card .zz-body { padding: 26px 22px 28px !important; }
    .zz-card .zz-name { font-size: 26px !important; }
    .zz-card .zz-text p { font-size: 15.5px !important; }
}
.dv-wrap{
  background:linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,.05)),
             url('images/section-bg/178248_original.gif') center/cover no-repeat fixed;
  padding:76px 0 84px;
}
.dv-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.dv-photo{position:sticky;top:100px;}
.dv-photo img{
  display:block;width:100%;aspect-ratio:4/3;object-fit:cover;
  border-radius:22px;border:6px solid #fff;
  box-shadow:0 18px 50px rgba(30,44,60,.25);
}
@media (max-width:900px){
  .dv-wrap{background-attachment:scroll;}
  .dv-photo{position:static;}
}
/* ===== БЛОК «В НАШЕМ ЗАМКЕ ЧУДЕС» ===== */
.dv-head{text-align:center;margin-bottom:40px;}
.dv-head h2{
  display:inline-block;
  font-family:Neucha,Arial,sans-serif !important;
  font-size:clamp(26px,3.4vw,40px) !important;font-weight:400;
  line-height:1.2 !important;color:#59007d !important;margin:0;
  padding:12px 30px 14px;background:rgba(255,255,255,.92);
  border-radius:22px;box-shadow:0 14px 36px rgba(30,44,60,.18);
}
.dv-roles{
  display:grid;grid-template-columns:repeat(2,1fr);gap:20px;
  max-width:960px;margin:0 auto;
}
.dv-role{
  background:rgba(255,255,255,.93);border-radius:20px;padding:24px 26px 24px 80px;
  position:relative;box-shadow:0 14px 36px rgba(30,44,60,.12);
  font-family:'Montserrat Alternates',Arial,sans-serif;
}
.dv-role:before{
  content:"";position:absolute;left:22px;top:24px;width:44px;height:44px;border-radius:14px;
  background:linear-gradient(145deg,#c9a227,#e8c35a);
}
.dv-role:after{
  content:"";position:absolute;left:33px;top:35px;width:22px;height:22px;border-radius:50%;
  background:#3c009c;
}
.dv-role h3{
  font-family:'Montserrat Alternates',Arial,sans-serif !important;
  font-size:17px !important;font-weight:700;line-height:1.3 !important;
  color:#3c009c !important;margin:0 0 6px;
}
.dv-role p{
  font-size:15px !important;font-weight:500;line-height:1.6 !important;
  color:#1e2c3c !important;margin:0;
}
.dv-role--wide{grid-column:1 / -1;}
.dv-welcome{text-align:center;margin:44px 0 0;}
.dv-welcome img{max-width:520px;width:100%;height:auto;display:inline-block;}
.dv-happy{text-align:center;margin-top:70px;}
.dv-happy h3{
  display:inline-block;
  font-family:'Montserrat Alternates',Arial,sans-serif !important;
  font-size:clamp(20px,2.6vw,30px) !important;font-weight:700;line-height:1.4 !important;
  color:#004988 !important;margin:0 0 30px;
  padding:18px 30px;background:rgba(255,255,255,.92);
  border-radius:22px;box-shadow:0 14px 36px rgba(30,44,60,.18);
}
.dv-happy img{display:block;max-width:760px;width:100%;height:auto;margin:0 auto;}
@media (max-width:760px){
  .dv-roles{grid-template-columns:1fr;}
  .dv-role{padding:22px 20px 22px 74px;}
  .dv-happy h3{padding:14px 18px;}
}
/* контакты под фото */
.dv-info{
  margin-top:24px;background:rgba(255,255,255,.92);border-radius:22px;
  padding:26px 28px;box-shadow:0 18px 50px rgba(30,44,60,.18);
  font-family:'Montserrat Alternates',Arial,sans-serif;
}
.dv-info h4{
  font-size:18px !important;font-weight:700;color:#3c009c !important;
  margin:0 0 14px;line-height:1.3 !important;
}
.dv-info ul{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.dv-info li{
  font-size:15px !important;font-weight:500;line-height:1.5 !important;
  color:#1e2c3c !important;padding-left:30px;position:relative;
}
.dv-info li:before{
  content:"";position:absolute;left:0;top:6px;width:16px;height:16px;
  border-radius:5px;background:linear-gradient(145deg,#c9a227,#e8c35a);
}
.dv-info a{color:#0004af !important;text-decoration:none;font-weight:600;}
.dv-info a:hover{color:#ff5400 !important;}
/* ============================================================
   ПОДМЕНЮ НА КОМПЬЮТЕРЕ: не уходит за край экрана,
   длинный текст переносится на новую строку
   ============================================================ */
@media (min-width: 1025px) {
    .inner-nav.desktop-nav ul.submenu {
        min-width: 220px !important;
        width: max-content !important;
        max-width: min(300px, calc(100vw - 24px)) !important;
        box-sizing: border-box !important;
    }
    .inner-nav.desktop-nav ul.submenu li a,
    .inner-nav.desktop-nav ul.submenu li a font,
    .inner-nav.desktop-nav ul.submenu li a div.google {
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
        hyphens: auto !important;
        line-height: 1.35 !important;
        height: auto !important;
        display: block !important;
    }
    .inner-nav.desktop-nav ul.submenu li a {
        padding: 10px 16px !important;
        font-size: 14px !important;
    }
    /* этот класс вешает скрипт: подменю не помещается — раскрываем влево */
    .inner-nav.desktop-nav > ul.clearlist > li.sub-flip-left > ul.submenu {
        left: auto !important;
        right: 0 !important;
    }
}