*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
.content.no-margin-p img {
    object-fit: cover;
}
:root {
  --green:       #6bb476;
  --green-dark:  #4d9659;
  --green-light: #edf6ef;
  --border:      #e4e9e5;
  --border-h:    rgba(107,180,118,0.38);
  --txt:         #111614;
  --txt-m:       #6b7280;
  --txt-d:       #9ca3af;
  --top-h:       30px;
  --h:           64px;
  --h-scrolled:  54px;
  --pad:         40px;
  --font:        'Manrope', sans-serif;
}

body {
  font-family: var(--font);
  background: #f5f6f5;
  color: var(--txt);
  min-height: 200vh;
  padding-top: 0;
}

/* ═══════════════════════════
   TOP BAR
═══════════════════════════ */
.top-bar {
  position: relative;
  height: var(--top-h);
  background: rgba(255,255,255,0.97);
  display: flex;
  align-items: center;
  border-bottom: 1px solid #edf6ef;
  z-index: 1;
}
.top-bar-inner {
margin-left: auto !important;
    margin-right: auto !important;
    max-width: calc(var(--theme-page-width, 1500px) + calc(var(--theme-page-width-padding, 32px) * 2) - var(--theme-page-width-diff, 0px)) !important;
    padding-inline: var(--theme-page-width-padding, 32px) !important;
    width: 100% !important;

    position: relative;
  display: flex; align-items: center; justify-content: space-between;
}
.top-bar-slogan {
  font-size: 12px; font-weight: 600; color: var(--txt-m);
  letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.top-bar-phone {
  display: flex; align-items: center; gap: 6px;
  font-size: 12.5px; font-weight: 800; color: var(--txt-m);
  text-decoration: none; white-space: nowrap;
  transition: opacity .18s; flex-shrink: 0;
}
.top-bar-phone:hover { opacity: .82; }
.top-bar-phone svg { width: 13px; height: 13px; fill: var(--green); flex-shrink: 0; }
.site-header.scrolled {
      top: 0;
    height: auto;
    padding: 5px 0;
}

div#panel {
    z-index: 1000000000;
    position: relative;
}
/* ═══════════════════════════
   SITE HEADER
═══════════════════════════ */
.site-header {
  position: fixed;
  top: 23px;
  left: 0; right: 0;
  z-index: 1000;
  padding: 5px 0;
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(18px) saturate(1.5);
  -webkit-backdrop-filter: blur(18px) saturate(1.5);
  border-bottom: 1px solid var(--border);
 transition: all 0.4s ease 0s;
  overflow: visible;
}
.site-header.scrolled {
  /* height: var(--h-scrolled); */
  box-shadow: 0 2px 18px rgba(0,0,0,.08);
}
.hdr-inner {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: calc(var(--theme-page-width, 1500px) + calc(var(--theme-page-width-padding, 32px) * 2) - var(--theme-page-width-diff, 0px)) !important;
    padding-inline: var(--theme-page-width-padding, 32px) !important;
    width: 100% !important;
  display: flex; align-items: center;
  position: relative;
}

/* ═══════════════════════════
   LOGO
═══════════════════════════ */
.hdr-logo {
  display: flex; align-items: center;
  text-decoration: none; flex-shrink: 0; margin-right: 28px;
  height: 38px; transition: height .28s ease;
}
.site-header.scrolled .hdr-logo { height: 32px; }
.hdr-logo img { height: 100%; width: auto; max-height: 42px; object-fit: contain; display: block; transition: opacity .2s; }
.hdr-logo:hover img { opacity: .82; }

/* ═══════════════════════════
   DESKTOP NAV
═══════════════════════════ */
.hdr-nav { display: flex; align-items: center; gap: 2px; flex: 1; }
.ni { position: static; }
.nl {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 7px 12px; font-size: 13.5px; font-weight: 600; color: var(--txt-m);
  text-decoration: none; border-radius: 10px; white-space: nowrap; cursor: pointer;
  border: none; background: transparent; font-family: var(--font); line-height: 1;
  transition: color .18s, background .18s;
}
.nl:hover, .ni.open > .nl { color: var(--txt); background: var(--green-light); }
.ni.open > .nl { color: var(--green-dark); }
.nl .arr {
  width: 10px; height: 10px; opacity: .4; flex-shrink: 0;
  transition: transform .22s ease, opacity .18s; display: inline-block;
}
.ni.open > .nl .arr { transform: scale(1,-1); opacity: .8; }

/* ═══════════════════════════
   MEGA DROPDOWN
═══════════════════════════ */
.mega-wrap {
  position: absolute;
  top: 100%;
  left: calc(-1 * var(--pad));
  right: calc(-1 * var(--pad));
  z-index: 200;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity .22s ease, transform .22s ease, visibility 0s .22s;
}
.ni.open .mega-wrap {
  opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;
  transition: opacity .22s ease, transform .22s ease, visibility 0s 0s;
}
.mega-in { max-width: 1360px; margin: 0 auto; }
.mega-panel {
  background: #fff; border: 1px solid var(--border);
  border-top: 2.5px solid var(--green);
  border-radius: 0 0 18px 18px;
  box-shadow: 0 16px 48px rgba(0,0,0,.09);
  padding: 24px 28px 28px; display: grid;
}
.mega-panel--3 { grid-template-columns: 1fr 1fr 1fr; }
.mega-panel--4 { grid-template-columns: 1fr 1fr 1fr 1fr; }

/* ═══════════════════════════
   МЕНЮ РЕШЕНИЙ
═══════════════════════════ */
.mega-panel--solutions {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}
.mega-sol-main {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  padding: 20px 24px;
}
.mega-sol-card {
  display: flex; flex-direction: column; gap: 6px;
  padding: 14px 16px; border-radius: 12px; text-decoration: none;
  border: 1px solid transparent;
  transition: background .16s, border-color .16s;
}
.mega-sol-card:hover { background: var(--green-light); border-color: var(--border-h); }
.mega-sol-card:hover .sol-name { color: var(--green-dark); }
.sol-ico {
  width: 32px; height: 32px; border-radius: 8px; background: #f3f4f6;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-bottom: 4px;
  transition: background .16s;
}
.mega-sol-card:hover .sol-ico { background: rgba(107,180,118,.18); }
.sol-ico svg { width: 15px; height: 15px; fill: #9ca3af; transition: fill .16s; }
.mega-sol-card:hover .sol-ico svg { fill: var(--green-dark); }
.sol-name { font-size: 13.5px; font-weight: 700; color: var(--txt); line-height: 1.3; transition: color .16s; }
.sol-desc { font-size: 11.5px; color: var(--txt-d); line-height: 1.4; }

/* Дополнительно */
.mega-sol-extra {
  border-top: 1px solid var(--border);
  padding: 12px 24px 16px;
}
.mega-sol-extra-label {
  font-size: 10px; font-weight: 800; color: var(--txt-d);
  letter-spacing: .12em; text-transform: uppercase;
  margin-bottom: 8px;
}
.mega-sol-extra-links {
  display: flex; flex-wrap: wrap; gap: 4px 6px;
}
.mega-sol-extra-link {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 10px; border-radius: 8px;
  font-size: 12px; font-weight: 600; color: var(--txt-m);
  text-decoration: none;
  border: 1px solid var(--border);
  transition: color .16s, background .16s, border-color .16s;
}
.mega-sol-extra-link:hover { color: var(--txt); background: var(--green-light); border-color: var(--border-h); }

/* ═══════════════════════════
   СТАНДАРТНЫЕ КОЛОНКИ
═══════════════════════════ */
.mcol { padding: 0 22px 0 0; border-right: 1px solid var(--border); }
.mcol:last-child { padding: 0 0 0 22px; border-right: none; }
.mcol:not(:first-child):not(:last-child) { padding: 0 22px; }
.mega-panel--4 .mcol { padding: 0 16px; border-right: 1px solid var(--border); }
.mega-panel--4 .mcol:first-child { padding-left: 0; }
.mega-panel--4 .mcol:last-child  { padding-right: 0; border-right: none; }

.mcol-title {
  font-size: 10px; font-weight: 800; color: var(--txt-d);
  letter-spacing: .12em; text-transform: uppercase;
  margin-bottom: 10px; padding-bottom: 9px; border-bottom: 1px solid var(--border);
}
.mi {
  display: flex; align-items: flex-start; gap: 11px;
  padding: 9px 10px; border-radius: 10px; text-decoration: none;
  transition: background .16s; margin-bottom: 2px;
}
.mi:last-child { margin-bottom: 0; }
.mi:hover { background: var(--green-light); }
.mi:hover .mi-ico { background: rgba(107,180,118,.18); }
.mi:hover .mi-ico svg { fill: var(--green-dark); }
.mi:hover .mi-name { color: var(--green-dark); }
.mi-ico {
  width: 34px; height: 34px; border-radius: 9px; background: #f3f4f6; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; transition: background .16s;
}
.mi-ico svg { width: 15px; height: 15px; fill: #9ca3af; transition: fill .16s; }
.mi-name { font-size: 13.5px; font-weight: 700; color: var(--txt); line-height: 1.3; margin-bottom: 2px; transition: color .16s; }
.mi-desc { font-size: 11.5px; color: var(--txt-d); line-height: 1.4; }

/* ═══════════════════════════
   HEADER RIGHT
═══════════════════════════ */
.hdr-right { display: flex; align-items: center; gap: 5px; margin-left: auto; flex-shrink: 0; }
.h-ico {
  width: 34px; height: 34px; border-radius: 9px;
  border: 1px solid var(--border); background: transparent;
  display: flex; align-items: center; justify-content: center;
  text-decoration: none; color: var(--txt-m); flex-shrink: 0;
  transition: border-color .18s, background .18s, color .18s; cursor: pointer;
}
.h-ico:hover { border-color: var(--border-h); background: var(--green-light); color: var(--green-dark); }
.h-ico svg { width: 16px; height: 16px; fill: currentColor; }
.h-ico svg[viewBox="0 0 42 42"] { width: 18px; height: 18px; }

.h-cta {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 5px 20px; background: var(--green); color: #fff;
  font-family: var(--font); font-size: 13.5px; font-weight: 700;
  border-radius: 11px; border: none; cursor: pointer;
  text-decoration: none; white-space: nowrap;
  transition: background .18s, transform .18s, box-shadow .18s;
}
.h-cta:hover { background: var(--green-dark); transform: translateY(-1px); box-shadow: 0 6px 18px rgba(107,180,118,.32); }
.h-cta .cta-icon { display: none; }
.h-cta svg { width: 16px; height: 16px; fill: currentColor; flex-shrink: 0; }

/* ═══════════════════════════
   BURGER
═══════════════════════════ */
.burger {
  display: none; width: 36px; height: 36px; border-radius: 9px;
  border: 1px solid var(--border); background: transparent; cursor: pointer;
  flex-direction: column; align-items: center; justify-content: center; gap: 5px;
  transition: border-color .18s, background .18s; padding: 0;
}
.burger:hover { border-color: var(--border-h); background: var(--green-light); }
.burger span {
  display: block; width: 18px; height: 1.5px; background: var(--txt-m);
  border-radius: 2px; transition: transform .28s ease, opacity .28s ease; transform-origin: center;
}
.burger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); background: var(--green-dark); }
.burger.open span:nth-child(2) { transform: scaleX(0); opacity: 0; }
.burger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); background: var(--green-dark); }

/* ═══════════════════════════
   MOBILE OVERLAY
═══════════════════════════ */
.m-overlay {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,.3); backdrop-filter: blur(3px);
  z-index: 999; opacity: 0; pointer-events: none; transition: opacity .3s ease;
}
.m-overlay.vis { opacity: 1; pointer-events: auto; }

/* ═══════════════════════════
   MOBILE DRAWER
═══════════════════════════ */
.inline-search-block.fixed {
  
    z-index: 29990000000;
}
.m-drawer {
  position: fixed; top: 0; left: 0; bottom: 0;
  width: min(340px, 100vw); background: #fff;
  border-right: 1px solid var(--border); z-index: 1002000000000;
  display: flex; flex-direction: column;
  transform: translateX(-100%); transition: transform .32s cubic-bezier(.4,0,.2,1); overflow: hidden;
}
.m-drawer.open { transform: translateX(0); }
.md-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px; border-bottom: 1px solid var(--border); flex-shrink: 0;
}
.md-head-right { display: flex; align-items: center; gap: 6px; }
.md-search-btn {
  width: 32px; height: 32px; border-radius: 8px;
  border: 1px solid var(--border); background: transparent; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: border-color .18s, background .18s, color .18s; color: var(--txt-m);
}
.md-search-btn:hover { border-color: var(--border-h); background: var(--green-light); color: var(--green-dark); }
.md-search-btn svg { width: 14px; height: 14px; fill: currentColor; }
.md-close {
  width: 32px; height: 32px; border-radius: 8px;
  border: 1px solid var(--border); background: transparent; cursor: pointer;
  display: flex; align-items: center; justify-content: center; transition: border-color .18s, background .18s;
}
.md-close:hover { border-color: var(--border-h); background: var(--green-light); }
.md-close svg { width: 13px; height: 13px; fill: var(--txt-m); }
.md-body { flex: 1; overflow-y: auto; padding: 12px; }
.md-sep { height: 1px; background: var(--border); margin: 8px 0; }
.md-link {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 12px; border-radius: 10px; text-decoration: none;
  font-size: 14px; font-weight: 600; color: var(--txt-m); margin-bottom: 1px;
  transition: color .16s, background .16s;
}
.md-link:hover { color: var(--txt); background: var(--green-light); }
.md-link-ico {
  width: 30px; height: 30px; border-radius: 8px; background: #f3f4f6;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.md-link-ico svg { width: 13px; height: 13px; fill: var(--txt-m); }

/* Accordion */
.md-acc-hd {
  display: flex; align-items: center; justify-content: space-between;
  padding: 9px 12px; border-radius: 10px; font-size: 14px; font-weight: 700; color: var(--txt-m);
  cursor: pointer; margin-bottom: 1px; user-select: none; transition: color .16s, background .16s;
}
.md-acc-hd:hover { color: var(--txt); background: var(--green-light); }
.md-acc-hd-l { display: flex; align-items: center; gap: 10px; }
.md-acc-hd .arr2 {
  width: 10px; height: 10px; fill: none; stroke: currentColor;
  stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;
  opacity: .4; transition: transform .26s ease, opacity .18s; flex-shrink: 0;
}
.md-acc.open .md-acc-hd { color: var(--green-dark); background: var(--green-light); }
.md-acc.open .md-acc-hd .arr2 { transform: scale(1,-1); opacity: .8; }
.md-acc-bd {
  overflow: hidden; max-height: 0;
  transition: max-height .32s cubic-bezier(.4,0,.2,1), opacity .28s ease; opacity: 0;
}
.md-acc.open .md-acc-bd { max-height: 1200px; opacity: 1; }
.md-grp-title {
  font-size: 9.5px; font-weight: 800; color: var(--txt-d);
  letter-spacing: .12em; text-transform: uppercase; padding: 10px 12px 6px 22px;
}
.md-sub {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 12px 8px 22px; border-radius: 9px; text-decoration: none;
  font-size: 13px; font-weight: 600; color: var(--txt-m); margin-bottom: 1px;
  transition: color .16s, background .16s;
}
.md-sub:hover { color: var(--txt); background: var(--green-light); }
.md-sub-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--green); opacity: .5; flex-shrink: 0; }

/* Footer drawer */
.md-foot { padding: 12px; border-top: 1px solid var(--border); display: flex; flex-direction: column; gap: 8px; flex-shrink: 0; }
.md-phone {
  display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 800; color: var(--txt);
  text-decoration: none; padding: 10px 14px; background: #f5f6f5;
  border: 1px solid var(--border); border-radius: 12px; transition: border-color .18s;
}
.md-phone:hover { border-color: var(--border-h); }
.md-phone svg { width: 14px; height: 14px; fill: var(--green); flex-shrink: 0; }
.md-msgs { display: flex; gap: 8px; }
.md-msg {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 9px; background: #f5f6f5; border: 1px solid var(--border); border-radius: 10px;
  font-size: 12px; font-weight: 700; color: var(--txt-m); text-decoration: none;
  transition: border-color .18s, color .18s, background .18s;
}
.md-msg:hover { border-color: var(--border-h); color: var(--txt); background: var(--green-light); }
.md-msg svg { width: 15px; height: 15px; fill: currentColor; }
.md-msg svg[viewBox="0 0 42 42"] { width: 15px; height: 15px; }
.md-cta {
  display: flex; align-items: center; justify-content: center;
  padding: 13px; background: var(--green); color: #fff;
  font-family: var(--font); font-size: 14px; font-weight: 700;
  border-radius: 12px; border: none; cursor: pointer;
  text-decoration: none; transition: background .18s;
}
.md-cta:hover { background: var(--green-dark); }

/* ═══════════════════════════
   RESPONSIVE
═══════════════════════════ */
@media (max-width: 1200px) { :root { --pad: 24px; } }

@media (max-width: 960px) {
  .hdr-nav { display: none; }
  .burger { display: flex; }
  .m-overlay { display: block; }
  .h-cta .cta-text { display: none; }
  .h-cta .cta-icon { display: block; }
  .h-cta { padding: 9px; border-radius: 9px; }
  .h-ico--social { display: none !important; }
  .top-bar { display: none; }
}

@media (max-width: 600px) {
  :root { --pad: 16px; --h: 58px; --h-scrolled: 50px; }
}
@media (max-width: 400px) { .top-bar-slogan { display: none; } }

@media (max-width: 991px){
    .visible-lg, td.visible-lg, th.visible-lg, tr.visible-lg {
    display: block !important;
}
.site-header {
    top: 0;
}
.hdr-inner {
    padding: 0 15px !important;
}
}