/* Crimea CSM — mobile responsive layer */
*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
video,
iframe,
embed,
object {
  max-width: 100%;
  height: auto;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Burger — hidden on desktop */
.csm-burger {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 36px;
  padding: 0 10px;
  margin: 0;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  font-family: inherit;
}

.csm-burger-label {
  display: inline-block;
  color: #fff;
  letter-spacing: .02em;
}

.csm-burger-icon,
.csm-burger-icon::before,
.csm-burger-icon::after {
  display: block;
  width: 18px;
  height: 2px;
  background: #fff;
  position: relative;
  transition: transform .2s ease, opacity .2s ease;
}

.csm-burger-icon::before,
.csm-burger-icon::after {
  content: "";
  position: absolute;
  left: 0;
}

.csm-burger-icon::before { top: -6px; }
.csm-burger-icon::after { top: 6px; }

body.csm-nav-open .csm-burger-icon {
  background: transparent;
}
body.csm-nav-open .csm-burger-icon::before {
  top: 0;
  transform: rotate(45deg);
}
body.csm-nav-open .csm-burger-icon::after {
  top: 0;
  transform: rotate(-45deg);
}

.csm-nav-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .45);
  z-index: 9998;
}

body.csm-nav-open .csm-nav-backdrop {
  display: block;
}

body.csm-nav-open {
  overflow: hidden !important;
  position: fixed !important;
  width: 100% !important;
  height: 100% !important;
  touch-action: none;
}

body:not(.csm-nav-open) {
  overflow-y: visible !important;
  position: static !important;
  top: auto !important;
  touch-action: manipulation;
}

@media screen and (max-width: 1100px) {
  /* Critical: theme locks #header to 128px — content overflows and overlaps */
  #header {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .header-top {
    height: auto !important;
    min-height: 38px !important;
    min-width: 0 !important;
  }

  #main-contentwrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Homepage news hero */
  header.header,
  .header {
    display: flex !important;
    flex-direction: column !important;
    margin-top: 12px !important;
    width: 100% !important;
  }

  .header__main-news {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
  }

  .header__main-news img {
    height: auto !important;
    max-height: 220px !important;
    object-fit: cover;
    width: 100% !important;
  }

  .header__content {
    width: 100% !important;
    flex-direction: column !important;
  }

  .header__block {
    width: 100% !important;
  }

  /* Quick links blocks — center text + icon */
  .header__content {
    width: 100% !important;
    margin-left: 0 !important;
    align-items: stretch !important;
  }

  .header__block {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    gap: 10px;
    padding: 14px 16px !important;
    width: 100% !important;
    box-sizing: border-box;
  }

  .header__block .header__text {
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    order: 1;
  }

  .header__block .header__img {
    flex: 0 0 auto !important;
    margin: 0 auto !important;
    order: 2;
  }

  .header__block .header__img img {
    max-width: 56px;
    height: auto;
    display: block;
    margin: 0 auto;
  }


  /* iOS Safari: overflow-x:hidden on BOTH html+body freezes upward scroll after bottom overscroll */
  html {
    max-width: 100% !important;
    overflow-x: clip;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: auto;
  }

  body {
    max-width: 100% !important;
    overflow-x: clip;
    overflow-y: visible !important;
    overscroll-behavior-y: auto;
    position: static !important;
    height: auto !important;
    touch-action: manipulation;
  }

  /* Contain horizontal bleed without locking document scroll */
  #wrapper,
  #wrapper-bg,
  #wrapper-bg2,
  #outer-wrapper,
  .outer-wrapper,
  #main-contentwrap {
    max-width: 100% !important;
    overflow-x: clip;
  }

  /* Kill fixed desktop widths everywhere */
  html,
  body,
  #wrapper,
  #wrapper-bg,
  #wrapper-bg2,
  #header,
  #main-contentwrap,
  #outer-wrapper,
  .outer-wrapper,
  .contentwrap-new,
  .header-nav,
  .header-top,
  .logo-block,
  .center,
  .center-logo-block,
  #contentwrap,
  .bannerrsm,
  .bannerrsm2,
  .footer_2,
  .pre-footer,
  .pre-footer_content,
  .main-directions,
  .section-news,
  .logos-block {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .bannerrsm,
  .bannerrsm2 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 56px !important;
    margin-top: 0 !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  .center,
  .logo-block .center-logo-block,
  .navi-links.center,
  .footer_2,
  .pre-footer_content {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box;
  }

  /* #contentwrap padding set once in content columns section */
  #contentwrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  /* Header top: social + search */
  .header-top {
    min-width: 0 !important;
  }

  .header-top .center {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 4px 6px;
    padding: 6px 8px !important;
  }

  .left-head-top {
    order: 1;
    float: none !important;
  }

  .left-head-top a img {
    width: 28px;
    height: 28px;
  }

  .header-top-search {
    order: 3;
    width: 100%;
    flex: 1 0 100%;
    float: none !important;
    margin: 0 !important;
  }

  .header-top-search form,
  .header-top-search #searchform,
  #search {
    width: 100% !important;
    max-width: 100% !important;
  }

  .header-top-search input,
  .header-top-search #s,
  #searchform input[type="text"],
  #search input {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    height: 40px !important;
    font-size: 16px !important; /* avoid iOS zoom */
  }


  /* Header search — fix clipped text + show submit */
  .header-top-search {
    order: 3;
    width: 100%;
    flex: 1 0 100%;
    float: none !important;
    margin: 0 !important;
  }

  .header-top-search #search,
  #search {
    width: 100% !important;
    max-width: 100% !important;
    height: 40px !important;
    border-radius: 20px !important;
    padding: 0 4px 0 12px !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    overflow: hidden;
    background: #fff !important;
  }

  #searchform {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    gap: 6px;
  }

  .header-top-search input,
  .header-top-search #s,
  #searchform input[type="text"],
  #search input[type="text"],
  #search #s {
    width: auto !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 36px !important;
    line-height: 36px !important;
    margin: 0 !important;
    padding: 0 4px !important;
    float: none !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
  }

  #searchsubmit {
    flex: 0 0 auto !important;
    height: 32px !important;
    line-height: 32px !important;
    padding: 0 14px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: #006e4c !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer;
    white-space: nowrap;
  }


  /* Hide VK / Telegram in mobile header */
  .left-head-top,
  .header-top .soc-seti,
  .header-top .soc-seti-1,
  .header-top .soc-seti-3 {
    display: none !important;
  }

  /* Full-width search with side padding from .center */
  .header-top-search {
    order: 3 !important;
    width: 100% !important;
    flex: 1 1 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .header-top-search #search,
  .header-top-search #searchform,
  #search {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  /* Hide duplicate Elementor search below header on mobile */
  .elementor-search-form,
  .elementor-widget-search-form,
  .elementor-element .elementor-search-form,
  #content .elementor-search-form,
  .contentwrap-new .elementor-search-form,
  .postcont .elementor-search-form,
  .entry .elementor-search-form {
    display: none !important;
  }

  /* Logo / contacts / CTA buttons — compact header height */
  .logo-block {
    padding: 6px 0 8px !important;
    min-width: 0 !important;
  }

  .logo-block .center-logo-block {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }

  .logo-1 {
    margin: 0 auto !important;
    float: none !important;
    text-align: center;
  }

  .logo-1 img {
    max-height: 52px;
    width: auto;
    max-width: 100%;
  }

  .logo-block .header-contacts,
  .header-contacts {
    display: block !important;
    margin: 0 !important;
    float: none !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .logo-block .header-contacts p,
  .logo-block .header-contacts p.adress-top-head,
  .logo-block .header-contacts p.phone-top-head,
  .header-contacts p,
  .header-contacts p.adress-top-head,
  .header-contacts p.phone-top-head {
    font-size: 12px !important;
    line-height: 1.2 !important;
    padding: 0 0 0 20px !important;
    margin: 0 0 2px !important;
    word-break: break-word;
    background-size: 13px 13px !important;
    background-position: left 1px !important;
  }

  .logo-block .header-contacts p:last-child,
  .header-contacts p:last-child {
    margin-bottom: 0 !important;
  }

  .logo-block .header-contacts p b,
  .logo-block .header-contacts p a,
  .logo-block .header-contacts a,
  .header-contacts p b,
  .header-contacts p a,
  .header-contacts a {
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
  }

  .header-contacts br {
    line-height: 1.1;
  }

  .group-btn-header {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .group-btn-header .call-btn,
  .call-btn {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
    height: auto !important;
    min-height: 44px;
    line-height: 1.25 !important;
    padding: 10px 8px !important;
    font-size: 13px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
  }

  /* Burger + header-top layout (flex) */
  .header-top {
    position: sticky;
    top: 0;
    z-index: 10000;
    /* avoid creating a scrollport that eats touch after rubber-band */
    overflow: visible;
    -webkit-backface-visibility: hidden;
  }

  .header-top .center {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    column-gap: 6px;
    row-gap: 6px;
    padding: 6px 8px !important;
    position: relative;
    min-height: 0;
  }

  /* BVI button — compact, no float (Safari wrap fix) */
  .header-top .bt_widget-vi-on,
  .header-top a.bt_widget-vi-on {
    float: none !important;
    display: block !important;
    order: 1;
    width: 140px !important;
    max-width: calc(100% - 92px) !important;
    height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-size: contain !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
    flex: 0 1 auto;
    align-self: center;
  }

  .header-top .vi-closes,
  .header-top a.vi-close {
    order: 1;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    flex: 0 1 auto;
    max-width: calc(100% - 92px);
  }

  .csm-burger {
    display: inline-flex !important;
    order: 2;
    margin-left: auto !important;
    margin-right: 0 !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    z-index: 10001;
    gap: 4px !important;
    height: 32px !important;
    padding: 0 6px !important;
    font-size: 13px !important;
    flex-shrink: 0 !important;
  }

  .csm-burger-icon,
  .csm-burger-icon::before,
  .csm-burger-icon::after {
    width: 16px;
  }



  /* Extra-narrow phones: keep BVI + burger on one row */
  @media screen and (max-width: 400px) {
    .header-top .bt_widget-vi-on,
    .header-top a.bt_widget-vi-on {
      width: 124px !important;
      height: 20px !important;
    }
    .csm-burger {
      gap: 0 !important;
      padding: 0 5px !important;
      min-width: 36px;
    }
    .csm-burger-label {
      display: none;
    }
  }

  .left-head-top {
    display: none !important;
  }

  /* Hide empty green nav strip on mobile — menu is in top bar */
  .header-nav {
    height: 0 !important;
    min-height: 0 !important;
    min-width: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    position: static;
    clear: both;
    background: transparent !important;
  }

  .header-nav .navi-links.center {
    padding: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    background: transparent !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible;
  }

  /* Off-canvas drawer — fully hidden when closed */
  .navi-primary-container {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: min(88vw, 340px) !important;
    max-width: 340px !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: #006e4c !important;
    z-index: 9999 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    transform: translateX(110%) !important;
    transition: transform .25s ease;
    padding: 64px 0 32px !important;
    margin: 0 !important;
    float: none !important;
    box-shadow: -4px 0 24px rgba(0, 0, 0, .25);
    visibility: hidden;
    pointer-events: none;
  }

  body.csm-nav-open .navi-primary-container {
    transform: translateX(0) !important;
    visibility: visible;
    pointer-events: auto;
  }

  .navi-primary,
  .wr-mega-menu,
  ul.navi-primary,
  ul.navis,
  .menu_1_712 .wr-mega-menu,
  .menu_1_712 ul {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .navi-primary > li,
  .wr-mega-menu > li,
  ul.navis > li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    border-bottom: 1px solid rgba(255, 255, 255, .15);
    position: relative;
  }

  .navi-primary > li > a,
  .wr-mega-menu > li > a,
  body .menu_1_712 .wr-mega-menu > li > a,
  ul.navis > li > a {
    display: block !important;
    padding: 14px 48px 14px 18px !important;
    color: #fff !important;
    background: transparent !important;
    white-space: normal !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    text-align: left !important;
  }

  /* Collapse all flyouts / mega panels */
  .navi-primary ul,
  .wr-mega-menu ul,
  .wr-mega-menu .sub-menu,
  .wr-mega-menu .mega-sub-menu,
  .menu-item-has-children > div,
  .wr-mega-menu .wr-megamenu-submenu,
  .wr-megamenu-submenu,
  .mega-sub-menu,
  li.menu-item-has-children > ul {
    position: static !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    float: none !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    box-shadow: none !important;
    background: #055a3f !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .navi-primary li.csm-sub-open > ul,
  .wr-mega-menu li.csm-sub-open > ul,
  .wr-mega-menu li.csm-sub-open > .sub-menu,
  .wr-mega-menu li.csm-sub-open > div,
  .menu-item-has-children.csm-sub-open > div,
  .wr-mega-menu li.csm-sub-open .wr-megamenu-submenu,
  li.menu-item-has-children.csm-sub-open > ul {
    display: block !important;
  }

  .navi-primary li li a,
  .wr-mega-menu li li a,
  .wr-mega-menu .sub-menu a,
  ul.navis li li a {
    padding: 10px 18px 10px 28px !important;
    font-size: 14px !important;
    color: #e8fff5 !important;
    background: transparent !important;
    white-space: normal !important;
  }

  .csm-sub-toggle {
    display: block !important;
    position: absolute;
    right: 8px;
    top: 8px;
    width: 36px;
    height: 36px;
    border: 0;
    background: rgba(255, 255, 255, .15);
    color: #fff;
    border-radius: 4px;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
  }

  /* Content columns — side gutter on outer shell (#contentwrap IS contentwrap-new) */
  #contentwrap.outer,
  #contentwrap.contentwrap-new,
  .bredcrumbs.outer.contentwrap-new,
  .outer.contentwrap-new,
  .contentwrap-new {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px 20px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Homepage / other shells without contentwrap-new */
  .main-content,
  .glavnaya-page,
  #content {
    box-sizing: border-box !important;
  }

  .main-content.glavnaya-page,
  body.home .main-content,
  body.blog .main-content {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Nested wrappers: no extra horizontal padding (never zero #contentwrap alone) */
  .contentwrap-new .outer:not(#contentwrap),
  .contentwrap-new .contentwrap-new {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  #content,
  .main-content,
  .glavnaya-page,
  .sidebar,
  .sidebar-left,
  .sidebar-right,
  .postcont,
  .sidecont,
  .postcont-full,
  .postcont-new,
  .ppostwrap,
  .postcont > div,
  .postcont-new > div {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .entry,
  .post,
  .postcont .entry,
  .postcont-new .entry {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }

  .entry p,
  .postcont p,
  .postcont-new p,
  .ppostwrap .entry p {
    padding: 4px 0 !important;
    margin: 0 0 8px !important;
    text-align: left !important;
    text-indent: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .entry ul,
  .entry ol,
  .postcont ul,
  .postcont ol,
  .postcont-new ul,
  .postcont-new ol,
  .ppostwrap ul,
  .ppostwrap ol {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 8px 0 12px !important;
    padding: 0 0 0 1.25em !important;
    text-align: left !important;
    list-style-position: outside !important;
    float: none !important;
  }

  .entry li,
  .postcont li,
  .postcont-new li,
  .ppostwrap li {
    display: list-item !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    text-align: left !important;
    float: none !important;
  }

  .entry h1, .entry h2, .entry h3, .entry h4,
  .postcont h1, .postcont h2, .postcont h3, .postcont h4,
  .postcont-new h2, .wrap_header h2 {
    text-align: left !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }

  /* Breadcrumbs as full-width stacked links */
  .bredcrumbs,
  .bredcrumbs.outer {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  .bredcrumbs ul,
  .bredcrumbs li {
    text-align: left !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  .bredcrumbs a {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Featured news card */
  .header__main-news,
  .header__content,
  .header__block,
  .thumbnail,
  .header__block-footer {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }

  .header__content {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px;
  }

  .header__block {
    width: 100% !important;
    margin: 0 0 8px !important;
  }

  .section-news .thumbnail > a {
    display: block;
    min-height: 0 !important;
    height: auto !important;
  }

  .section-news .thumbnail > a img {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  .section-news,
  .news-list,
  .news-item,
  .post,
  .entry,
  .ppostwrap {
    width: 100% !important;
    max-width: 100% !important;
  }

  .section-news .thumbnail,
  .section-news .thumbnail img {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }

  /* Directions grid */
  .main-directions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    padding: 8px 0;
  }

  .direction-item {
    width: calc(50% - 10px) !important;
    margin: 0 !important;
    font-size: 14px !important;
    float: none !important;
  }

  /* Tables */
  .entry,
  .postcont,
  .contentwrap-new {
    overflow-x: auto;
  }

  table {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Carousels / owl / swiper — contain overflow */
  .owl-carousel,
  .owl-stage-outer,
  .swiper-container,
  .swiper,
  .logos-block,
  .logo-carousel-slider,
  .wp-carousel-free {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* Popups */
  .pum-container,
  .pum-content,
  #pum-31878,
  .pum-overlay .pum-container {
    max-width: calc(100vw - 24px) !important;
    width: calc(100vw - 24px) !important;
    left: 12px !important;
    right: 12px !important;
    margin: 0 auto !important;
  }

  /* Footer */
  .pre-footer,
  .pre-footer_content,
  .footer_2,
  .footer-copyright {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .footer_2 {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px 12px !important;
  }

  .footer_2 .copyright,
  .footer_2 .art_web_copyright,
  .footer_2 .pers-inf {
    width: 100% !important;
    float: none !important;
    text-align: left !important;
  }

  .pre-footer_content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px 12px;
  }

  marquee.tiker {
    width: 100% !important;
  }

  /* Gosuslugi banner */
  #custom_central_widget_area,
  #js-show-iframe-wrapper {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden;
    margin: 12px 0 !important;
  }

  #js-show-iframe-wrapper .bf-32__content {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  #js-show-iframe-wrapper .bf-32__decor {
    display: none;
  }

  /* Inner pages images */
  .post .entry img,
  .alignleft,
  .alignright,
  .wp-post-image,
  .post_thumbnail,
  .imgthumb {
    float: none !important;
    display: block;
    margin: 0 auto 12px !important;
    max-width: 100% !important;
  }

  .bl-bl {
    width: 100% !important;
  }

  /* Contact / message widget */
  .art_web_feedback,
  .feedback-btn,
  [class*="feedback"] {
    max-width: calc(100vw - 24px) !important;
  }



  /* JivoChat — hidden full-viewport layers must not steal touch/scroll */
  jdiv.container__eJhdQ,
  jdiv.container__FKY3j,
  jdiv.jv-pseudo-height,
  jdiv.zoomPane__SBw41,
  jdiv.iconContainer__qwrKk {
    pointer-events: none !important;
  }

  jdiv.__jivoMobileButton,
  jdiv.__jivoMobileButton * {
    pointer-events: auto !important;
  }

  /* Visually impaired */
  .bvi-panel,
  .ftvi {
    max-width: 100% !important;
  }

  .group-btn-header .call-btn,
  .call-btn {
    text-decoration: none !important;
  }

  .header-contacts a {
    text-decoration: underline;
  }

  /* Compact logo row */
  .logo-block {
    padding: 6px 0 8px !important;
  }

  .logo-block .center-logo-block {
    gap: 6px;
  }


  /* News cards — compact, no empty min-heights */
  .section-news__content,
  .section-news__content.jsn-bootstrap3 {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 12px !important;
    height: auto !important;
  }

  .section-news__item,
  .col-lg-3.section-news__item {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
  }

  .section-news .thumbnail {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 8px !important;
  }

  .section-news__content.jsn-bootstrap3 .thumbnail {
    height: auto !important;
    min-height: 0 !important;
  }

  .section-news__block-footer {
    min-height: 0 !important;
    height: auto !important;
    position: static !important;
    padding: 8px 4px 4px !important;
  }

  .section-news__title,
  .section-news__title a {
    height: auto !important;
    min-height: 0 !important;
    max-width: 100% !important;
    display: block !important;
    color: #0d6a4b !important;
    line-height: 1.35 !important;
  }

  .section-news__date {
    max-width: 100% !important;
    color: #0d6a4b !important;
    margin-bottom: 6px !important;
  }

  .header__main-news .thumbnail > a {
    min-height: 0 !important;
    height: auto !important;
  }

  .header__main-news .thumbnail img {
    height: auto !important;
    max-height: 220px !important;
    object-fit: cover;
    width: 100% !important;
  }

}

@media screen and (max-width: 640px) {
  .logo-1 img {
    max-height: 52px;
  }

  .group-btn-header {
    grid-template-columns: 1fr 1fr;
  }

  .direction-item {
    width: 100% !important;
  }

  .header__title,
  .header__title a,
  h1,
  h2.title {
    font-size: 20px !important;
    line-height: 1.3 !important;
  }

  .section-news h2,
  .site-h2,
  .wrap_header h2 {
    font-size: 22px !important;
  }

  .bannerrsm,
  .bannerrsm2 {
    height: 48px !important;
  }

  p:not(.adress-top-head):not(.phone-top-head),
  .entry p {
    font-size: 16px !important;
    line-height: 1.45 !important;
    padding: 4px 0 !important;
    text-align: left !important;
  }

  /* Keep header contacts compact even under 640px */
  .logo-block .header-contacts p,
  .logo-block .header-contacts p b,
  .logo-block .header-contacts p a {
    font-size: 12px !important;
    line-height: 1.2 !important;
    margin: 0 0 2px !important;
    padding: 0 0 0 20px !important;
  }
}

@media screen and (max-width: 400px) {
  .call-btn {
    font-size: 12px !important;
  }
}

/* Desktop: never show mobile sub toggles */
.csm-sub-toggle {
  display: none !important;
}

/* ===== Desktop menu polish ===== */
@media screen and (min-width: 1101px) {
  .csm-burger,
  .csm-nav-backdrop,
  .csm-sub-toggle {
    display: none !important;
  }

  /* Do NOT override theme header-nav height (165px) — keeps green bar */
  .header-nav {
    overflow: visible !important;
  }


  /* Restore homepage two-column hero */
  header.header,
  .header {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    margin-top: 35px !important;
    width: 100% !important;
  }

  .header__main-news {
    width: calc(50% - 40px) !important;
    max-width: none !important;
    padding-right: 40px !important;
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
  }

  .header__main-news .thumbnail {
    flex: 1 1 auto !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    position: relative !important;
  }

  /* Fill height of right column (100 товаров … Новости); not title links */
  .header__main-news .thumbnail > a {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    width: 100% !important;
    background-size: cover !important;
    background-position: center !important;
  }

  .header__main-news .header__block-footer {
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    top: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    width: calc(100% - 20px) !important;
    padding: 16px 12px 20px !important;
    background-color: rgba(56, 57, 57, 0.85) !important;
    z-index: 2 !important;
    box-sizing: border-box !important;
  }

  .header__main-news .header__title,
  .header__main-news .header__title a {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    line-height: 1.3 !important;
    color: #fff !important;
  }

  .header__main-news .header__date {
    height: auto !important;
    min-height: 0 !important;
  }

  .header__main-news img {
    height: auto !important;
    max-height: none !important;
    width: 100% !important;
  }

  .header__content {
    width: calc(50% - 40px) !important;
    margin-left: 40px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .header__block {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    text-align: left !important;
    width: 100% !important;
    gap: 0 !important;
    padding: 5px 35px !important;
  }

  .header__block .header__text {
    text-align: left !important;
    width: auto !important;
    order: 0 !important;
  }

  .header__block .header__img {
    margin: 0 !important;
    order: 0 !important;
  }

  /* Restore news grid */
  .section-news__content,
  .section-news__content.jsn-bootstrap3 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    gap: 0 !important;
    height: auto !important;
  }

  .section-news__item,
  .col-lg-3.section-news__item {
    width: 380px !important;
    max-width: 380px !important;
    float: none !important;
    height: auto !important;
    margin: 0 0 20px !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
  }

  .section-news .thumbnail {
    height: auto !important;
  }

  .section-news .thumbnail > a {
    height: auto !important;
    min-height: 0 !important;
  }

  .section-news__title,
  .section-news__title a {
    height: auto !important;
    min-height: 0 !important;
  }


  .header-nav .navi-links.center {
    background: transparent !important;
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  .navi-primary-container {
    position: relative !important;
    float: left !important;
    transform: none !important;
    visibility: visible !important;
    pointer-events: auto !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .navi-primary,
  ul.navi-primary {
    display: flex !important;
    float: none !important;
    width: auto !important;
  }

  .navi-primary > li {
    position: relative;
  }

  /* Dropdown: compact + clear separators */
  /* Uniform dropdown width across all top-level items */
  #main-menu .navi-primary > li > ul.sub-menu,
  .navi-primary > li > ul.sub-menu,
  .wr-mega-menu > li > ul.sub-menu,
  #main-menu ul.sub-menu,
  .navi-primary ul.sub-menu,
  .wr-mega-menu ul.sub-menu {
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .22) !important;
    background: #006e4c !important;
  }

  /* Nested flyouts: same fixed width */
  #main-menu ul.sub-menu ul.sub-menu,
  .navi-primary ul.sub-menu ul.sub-menu {
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
    left: 100% !important;
  }

  #main-menu ul.sub-menu > li,
  .navi-primary ul.sub-menu > li,
  .wr-mega-menu ul.sub-menu > li {
    border-bottom: 1px solid rgba(255, 255, 255, .35) !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #main-menu ul.sub-menu > li:last-child,
  .navi-primary ul.sub-menu > li:last-child,
  .wr-mega-menu ul.sub-menu > li:last-child {
    border-bottom: none !important;
  }

  #main-menu ul.sub-menu li a,
  .navi-primary ul.sub-menu li a,
  .wr-mega-menu ul.sub-menu li a,
  #main-menu ul.sub-menu li li a {
    padding: 10px 18px !important;
    line-height: 1.3 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    background: #006e4c !important;
    color: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4) !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }

  #main-menu ul.sub-menu > li:last-child > a,
  .navi-primary ul.sub-menu > li:last-child > a,
  .wr-mega-menu ul.sub-menu > li:last-child > a {
    border-bottom: none !important;
  }

  #main-menu ul.sub-menu li a:hover,
  .navi-primary ul.sub-menu li a:hover {
    background: #37494d !important;
  }

  #main-menu ul.sub-menu ul.sub-menu > li,
  .navi-primary ul.sub-menu ul.sub-menu > li {
    border-bottom: 1px solid rgba(255, 255, 255, .22) !important;
  }

  #main-menu ul.sub-menu ul.sub-menu > li:last-child {
    border-bottom: none !important;
  }
}

/* ===== Footer brand + 2-col menu (loaded with cache-bust) ===== */
footer .pre-footer_content {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 32px 40px !important;
  text-align: left !important;
}

footer .pre-footer__brand {
  flex: 0 0 auto !important;
  max-width: 280px !important;
}

footer .pre-footer__logo-img {
  display: block !important;
  max-width: 240px !important;
  width: 100% !important;
  height: auto !important;
  filter: brightness(0) invert(1) !important;
  -webkit-filter: brightness(0) invert(1) !important;
}

footer .pre-footer__menu {
  flex: 1 1 320px !important;
  min-width: 260px !important;
  max-width: 480px !important;
}

footer ul.pre-footer__menu-list,
footer .pre-footer__menu-list,
footer #menu-top-1.pre-footer__menu-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 28px !important;
  float: none !important;
  width: 100% !important;
}

footer .pre-footer__menu-list > li,
footer #menu-top-1.pre-footer__menu-list > li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
  background: transparent !important;
}

footer .pre-footer__menu,
footer .pre-footer__menu-list,
footer #menu-top-1.pre-footer__menu-list,
footer .pre-footer__menu-list > li,
footer #menu-top-1.pre-footer__menu-list > li,
footer .pre-footer__menu-list > li > a,
footer #menu-top-1.pre-footer__menu-list > li > a {
  font-family: "Circle", Arial, Helvetica, sans-serif !important;
}

footer .pre-footer__menu-list > li > a,
footer #menu-top-1.pre-footer__menu-list > li > a {
  display: block !important;
  padding: 10px 0 !important;
  color: #ffffff !important;
  background: transparent !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

footer .pre-footer__menu-list > li > a:hover {
  color: #c8f0df !important;
  background: transparent !important;
}

footer .pre-footer__menu-list .sub-menu {
  display: none !important;
}

footer .pre-footer__info {
  flex: 0 1 280px !important;
  text-align: right !important;
  margin-left: auto !important;
}

@media screen and (max-width: 1100px) {
  footer .pre-footer_content {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 24px !important;
    padding: 32px 16px !important;
  }
  footer .pre-footer__brand { max-width: 220px !important; }
  footer .pre-footer__menu { max-width: 100% !important; width: 100% !important; }
  footer .pre-footer__info { text-align: left !important; margin-left: 0 !important; width: 100% !important; }
}

@media screen and (max-width: 480px) {
  footer ul.pre-footer__menu-list,
  footer #menu-top-1.pre-footer__menu-list {
    grid-template-columns: 1fr !important;
  }
}

/* Copyright text size */
.copyright__text,
.footer_2 .copyright .copyright__text,
.footer_2 .copyright p {
  font-size: 8.4px !important;
  line-height: 1.3 !important;
}



/* contacts compact final — beat wp-custom-css 18px */
@media screen and (max-width: 1100px) {
  .logo-block .header-contacts p,
  .logo-block .header-contacts p.adress-top-head,
  .logo-block .header-contacts p.phone-top-head,
  .logo-block .header-contacts p b,
  .logo-block .header-contacts p a {
    font-size: 12px !important;
    line-height: 1.2 !important;
    margin-top: 0 !important;
    margin-bottom: 2px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 20px !important;
  }
}

/* FAB stack: scroll-to-top bottom, Jivo chat above */
@media screen and (max-width: 1100px) {
  a#scroll-to-top {
    right: 14px !important;
    bottom: 14px !important;
    z-index: 2147483000 !important;
  }

  /* Jivo circular mobile button — sit above scroll-to-top */
  jdiv.__jivoMobileButton {
    right: 8px !important;
    bottom: 70px !important; /* above 35px scroll + gap */
    z-index: 2147483001 !important;
  }
}

@media screen and (max-width: 480px) {
  a#scroll-to-top {
    right: 12px !important;
    bottom: 12px !important;
  }

  jdiv.__jivoMobileButton {
    right: 6px !important;
    bottom: 66px !important;
  }
}


/* text edge breathing — ensure copy never hugs viewport */
@media screen and (max-width: 1100px) {
  #contentwrap.outer.contentwrap-new,
  #contentwrap.contentwrap-new,
  .outer.contentwrap-new,
  .contentwrap-new {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .entry,
  .postcont .entry,
  .postcont-new .entry,
  h2.title,
  .wrap_header,
  .postcont h2,
  .postcont-new h2 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .entry img,
  .postcont img,
  .alignnone,
  .aligncenter {
    max-width: 100% !important;
    height: auto !important;
  }
}
