/* Жесткая изоляция от стилей чужой темы */
.footer-row,
.footer-row .row,
.footer-row .col-xs-12,
.footer-row .footer-content,
.footer-row .footer-content.wpm-content-text,
.footer-row .footer-content.wpm-content-text > p {
  padding: 0 !important;
  margin: 0 !important;
}
.footer-row {
  width: 100% !important;
}
.footer-row > .container {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.mees-footer-shortcode,
.mees-footer-shortcode * {
  box-sizing: border-box !important;
  font-family: "Circe", Arial, sans-serif !important;
}
.mees-footer-shortcode {
  --temno-zelenyy: #013b47;
  --zelenyy: #bfdaa0;
  --white: #ffffff;
  --transition-duration: 0.2s;
  --transition-timing-function: ease-out;
  --size-5: 5px;
  --size-10: 10px;
  --size-15: 15px;
  --size-20: 20px;
  --size-30: 30px;
  --size-40: 40px;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: normal !important;
}
.mees-footer-shortcode .a-footer {
  background-color: var(--temno-zelenyy) !important;
  color: var(--white) !important;
  padding-top: 40px !important;
  padding-bottom: 40px !important;
  text-align: left !important;
  line-height: 140% !important;
}
.mees-footer-shortcode .a-footer p,
.mees-footer-shortcode .a-footer span,
.mees-footer-shortcode .a-footer a,
.mees-footer-shortcode .a-footer li,
.mees-footer-shortcode .a-footer div {
  line-height: 140% !important;
}
.mees-footer-shortcode .a-footer [class^="icon-"],
.mees-footer-shortcode .a-footer [class*=" icon-"] {
  line-height: 140% !important;
}
.mees-footer-shortcode .protection-rights {
  background-color: var(--zelenyy) !important;
  color: var(--temno-zelenyy) !important;
  padding-top: 30px !important;
  padding-bottom: 30px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  opacity: 0.5 !important;
}
.mees-footer-shortcode .protection-rights p {
  margin: 0 !important;
}
.mees-footer-shortcode p:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}
.mees-footer-shortcode .protection-rights a,
.mees-footer-shortcode .protection-rights a:visited,
.mees-footer-shortcode .protection-rights a:focus,
.mees-footer-shortcode .protection-rights a:active {
  color: var(--temno-zelenyy) !important;
  text-decoration: underline !important;
}
.mees-footer-shortcode .protection-rights a:hover {
  color: #000000 !important;
}
.mees-footer-shortcode .mees-footer-inner-container {
  width: 100% !important;
  max-width: var(--mees-footer-container-max-width, 1110px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}
.mees-footer-shortcode .container {
  text-align: left !important;
}
@media (max-width: 767px) {
  .mees-footer-shortcode--use-default-container .a-footer > .container,
  .mees-footer-shortcode--use-default-container .protection-rights > .container {
    max-width: 100% !important;
    width: 100% !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ================================================================
   СЕТКА 12 КОЛОНОК
   ================================================================ */
.mees-footer-shortcode .grid {
  display: grid !important;
  grid-gap: 0 !important;
  --grid-cols: 12;
  grid-template-columns: repeat(var(--grid-cols), 1fr) !important;
}
.mees-footer-shortcode .grid > * {
  grid-column: span var(--span, 12) / span var(--span, 12) !important;
}

/* --- Колонки (span-переменная) --- */
.mees-footer-shortcode .col-6 { --span: 6; }

@media (min-width: 768px) {
  .mees-footer-shortcode .col-3\@sm { --span: 3; }
  .mees-footer-shortcode .col-6\@sm { --span: 6; }
}
@media (min-width: 1024px) {
  .mees-footer-shortcode .col-2\@md { --span: 2; }
  .mees-footer-shortcode .col-4\@md { --span: 4; }
}

/* ================================================================
   GAP-утилиты (из main.min.css)
   ================================================================ */
/* column-gap */
.mees-footer-shortcode .gap-x-5  { -moz-column-gap: var(--size-5)  !important; column-gap: var(--size-5)  !important; }
.mees-footer-shortcode .gap-x-10 { -moz-column-gap: var(--size-10) !important; column-gap: var(--size-10) !important; }
.mees-footer-shortcode .gap-x-15 { -moz-column-gap: var(--size-15) !important; column-gap: var(--size-15) !important; }
.mees-footer-shortcode .gap-x-20 { -moz-column-gap: var(--size-20) !important; column-gap: var(--size-20) !important; }
.mees-footer-shortcode .gap-x-30 { -moz-column-gap: var(--size-30) !important; column-gap: var(--size-30) !important; }
/* row-gap */
.mees-footer-shortcode .gap-y-10 { row-gap: var(--size-10) !important; }
.mees-footer-shortcode .gap-y-15 { row-gap: var(--size-15) !important; }
.mees-footer-shortcode .gap-y-20 { row-gap: var(--size-20) !important; }
.mees-footer-shortcode .gap-y-30 { row-gap: var(--size-30) !important; }
.mees-footer-shortcode .gap-y-40 { row-gap: var(--size-40) !important; }

/* @sm-варианты */
@media (min-width: 768px) {
  .mees-footer-shortcode .gap-x-10\@sm { -moz-column-gap: var(--size-10) !important; column-gap: var(--size-10) !important; }
  .mees-footer-shortcode .gap-x-30\@sm { -moz-column-gap: var(--size-30) !important; column-gap: var(--size-30) !important; }
  .mees-footer-shortcode .gap-y-20\@sm { row-gap: var(--size-20) !important; }
  .mees-footer-shortcode .gap-y-40\@sm { row-gap: var(--size-40) !important; }
}

/* ================================================================
   DISPLAY-утилиты
   ================================================================ */
.mees-footer-shortcode .d-grid        { display: grid        !important; }
.mees-footer-shortcode .d-flex        { display: flex        !important; }
.mees-footer-shortcode .d-inline-flex { display: inline-flex !important; }
.mees-footer-shortcode .d-inline-grid { display: inline-grid !important; }
.mees-footer-shortcode .d-block       { display: block       !important; }
.mees-footer-shortcode .d-none        { display: none        !important; }

/* ================================================================
   FLEX-утилиты
   ================================================================ */
.mees-footer-shortcode .flex-wrap              { flex-wrap: wrap              !important; }
.mees-footer-shortcode .flex-nowrap            { flex-wrap: nowrap            !important; }
.mees-footer-shortcode .flex-shrink-0          { flex-shrink: 0               !important; }
.mees-footer-shortcode .align-items-center     { align-items: center          !important; }
.mees-footer-shortcode .align-items-start      { align-items: flex-start      !important; }
.mees-footer-shortcode .align-items-end        { align-items: flex-end        !important; }
.mees-footer-shortcode .justify-content-between{ justify-content: space-between !important; }
.mees-footer-shortcode .justify-content-center { justify-content: center        !important; }

/* ================================================================
   ТИПОГРАФИКА-утилиты
   ================================================================ */
.mees-footer-shortcode .text-center       { text-align: center         !important; }
.mees-footer-shortcode .text-start        { text-align: left           !important; }
.mees-footer-shortcode .text-end          { text-align: right          !important; }
.mees-footer-shortcode .text-uppercase    { text-transform: uppercase  !important; }
.mees-footer-shortcode .text-decoration-none { text-decoration: none   !important; }
.mees-footer-shortcode .fw-normal         { font-weight: 400           !important; }
.mees-footer-shortcode .fw-bold           { font-weight: 700           !important; }
.mees-footer-shortcode .lh-140            { line-height: 1.4           !important; }
.mees-footer-shortcode .text-xs           { font-size: 14px            !important; }

/* Цветовые утилиты */
.mees-footer-shortcode .col-white     { color: var(--white)         !important; }
.mees-footer-shortcode .colg-tzelenyy { color: var(--temno-zelenyy) !important; }

/* ================================================================
   СПИСКИ — полный сброс
   ================================================================ */
.mees-footer-shortcode ul,
.mees-footer-shortcode ol {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.mees-footer-shortcode .list-unstyled {
  list-style: none !important;
  padding-left: 0 !important;
}
/* Сброс margin-top от .mees-default-content .entry-content li + li */
.mees-footer-shortcode li + li {
  margin-top: 0 !important;
}

/* ================================================================
   ГЛОБАЛЬНАЯ ИЗОЛЯЦИЯ ШРИФТА И ССЫЛОК
   Переопределяем font-family, убираем подчёркивание и голубой цвет
   ================================================================ */
.mees-footer-shortcode p,
.mees-footer-shortcode span,
.mees-footer-shortcode li,
.mees-footer-shortcode a {
  font-size: inherit !important;
}
.mees-footer-shortcode .box-payment-systems p {
  font-size: 15px !important;
  line-height: 1.4 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.mees-footer-shortcode .a-footer,
.mees-footer-shortcode .a-footer p,
.mees-footer-shortcode .a-footer li,
.mees-footer-shortcode .a-footer span,
.mees-footer-shortcode .a-footer a {
  text-align: left !important;
}

/* Все ссылки внутри .a-footer — белые, без подчёркивания */
.mees-footer-shortcode .a-footer a {
  color: var(--white) !important;
  text-decoration: none !important;
}

/* ================================================================
   .lists-footer  — пункты меню навигации
   ================================================================ */
/* main.min.css: .lists-footer a{color:var(--white);font-size:17px;text-decoration:none} */
.mees-footer-shortcode .lists-footer a {
  color: var(--white) !important;
  font-size: 17px !important;
  text-decoration: none !important;
}
/* main.min.css: .lists-footer a:hover{color:var(--zelenyy);transition:...} */
.mees-footer-shortcode .lists-footer a:hover,
.mees-footer-shortcode .lists-contact a:hover {
  color: var(--zelenyy) !important;
  transition: all var(--transition-duration) var(--transition-timing-function) !important;
}
.mees-footer-shortcode .a-email-link:hover .a-email-icon,
.mees-footer-shortcode .a-email-link:focus-visible .a-email-icon {
  color: var(--zelenyy) !important;
}
.mees-footer-shortcode .a-email-link img {
  transition: filter 0.2s ease-out !important;
}
.mees-footer-shortcode .a-email-link:hover img,
.mees-footer-shortcode .a-email-link:focus-visible img {
  filter: brightness(0) saturate(100%) invert(84%) sepia(23%) saturate(364%) hue-rotate(45deg) brightness(96%) contrast(91%) !important;
}
@media (max-width: 512px) {
  .mees-footer-shortcode .lists-footer a {
    font-size: 15px !important;
    line-height: 140% !important;
  }
}

/* ================================================================
   .lists-contact  — контактная информация
   ================================================================ */
/* main.min.css: .lists-contact a{color:var(--white);font-size:17px;text-decoration:none} */
.mees-footer-shortcode .lists-contact a {
  color: var(--white) !important;
  font-size: 17px !important;
  text-decoration: none !important;
}
@media (max-width: 512px) {
  .mees-footer-shortcode .lists-contact a {
    font-size: 15px !important;
  }
}

/* ================================================================
   .lists-politics  — юридические ссылки
   ================================================================ */
/* main.min.css: .lists-politics a{color:#fff;font-size:15px;line-height:140%;
   text-decoration:none;text-transform:uppercase;transition:...} */
.mees-footer-shortcode .lists-politics a {
  color: var(--white) !important;
  font-size: 15px !important;
  line-height: 140% !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition: all var(--transition-duration) var(--transition-timing-function) !important;
}
/* main.min.css: .lists-politics a:hover{color:var(--zelenyy)} */
.mees-footer-shortcode .lists-politics a:hover {
  color: var(--zelenyy) !important;
}
@media (max-width: 512px) {
  .mees-footer-shortcode .lists-politics a {
    font-size: 13px !important;
  }
}

/* ================================================================
   .a-phone  — блок с телефоном
   ================================================================ */
/* main.min.css: .a-phone{font-size:17px} */
.mees-footer-shortcode .a-phone {
  font-size: 17px !important;
  white-space: nowrap !important;
}
.mees-footer-shortcode .a-phone span:last-child {
  white-space: nowrap !important;
}

/* ================================================================
   .a-phone-mobile-footer  — иконка телефона
   По теме: display:inline-flex даётся классом d-inline-flex.
   Специальная круглая рамка — ТОЛЬКО при max-width: 32rem (512px).
   main.min.css @media(max-width:32rem):
     .a-phone-mobile-footer{align-items:center;border:1px solid #fff;
       border-radius:50%;height:50px;justify-content:center;width:50px}
   ================================================================ */
.mees-footer-shortcode .a-phone-mobile-footer {
  line-height: 0 !important; /* убираем лишний gap у inline-flex */
}
.mees-footer-shortcode .a-phone-mobile-footer svg {
  fill: currentColor !important;
  color: currentColor !important;
  display: block !important;
}
.mees-footer-shortcode .a-phone-mobile-footer svg path {
  fill: currentColor !important;
}
.mees-footer-shortcode .a-phone:hover .a-phone-mobile-footer,
.mees-footer-shortcode .a-phone:focus-visible .a-phone-mobile-footer {
  color: var(--zelenyy) !important;
}
@media (max-width: 512px) {
  .mees-footer-shortcode .a-phone-mobile-footer {
    align-items: center !important;
    border: 1px solid var(--white) !important;
    border-radius: 50% !important;
    height: 50px !important;
    justify-content: center !important;
    width: 50px !important;
  }
}

/* ================================================================
   .icon-container  — грид «иконка + текст»
   main.min.css: .icon-container{grid-template-columns:auto 1fr}
   ================================================================ */
.mees-footer-shortcode .icon-container {
  grid-template-columns: auto 1fr !important;
}

/* ================================================================
   .box-social  — строка с иконками соцсетей
   ================================================================ */
/* main.min.css: .box-social a{transition:...} */
.mees-footer-shortcode .box-social a {
  transition: all var(--transition-duration) var(--transition-timing-function) !important;
  text-decoration: none !important;
}
/* main.min.css: .box-social a:hover{transform:translateY(-2px)} */
.mees-footer-shortcode .box-social a:hover {
  transform: translateY(-2px) !important;
}
.mees-footer-shortcode .box-social img {
  width: 30px !important;
  height: 30px !important;
  object-fit: contain !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* ================================================================
   .box-contact-footer  — обёртка телефон + кнопка
   theme-blocks.css: .a-footer .box-contact-footer{column-gap:20px;row-gap:20px}
   ================================================================ */
.mees-footer-shortcode .a-footer .box-contact-footer {
  column-gap: 20px !important;
  row-gap: 20px !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
}
.mees-footer-shortcode .lists-contact {
  width: auto !important;
  max-width: 100% !important;
}
.mees-footer-shortcode .lists-contact .a-item,
.mees-footer-shortcode .lists-contact .a-item span,
.mees-footer-shortcode .lists-contact .a-item a {
  font-size: 17px !important;
}
.mees-footer-shortcode .lists-contact .a-item > .box-social {
  font-size: 17px !important;
}

/* ================================================================
   .footer-callback-btn.but  — кнопка «Заказать звонок»
   theme-blocks.css (точная копия)
   ================================================================ */
.mees-footer-shortcode .a-footer .footer-callback-btn.but {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-height: 0 !important;
  padding: 10px 20px 9px !important;
  border-radius: 100px !important;
  border: 1px solid var(--white) !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  color: var(--white) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: box-shadow var(--transition-duration) var(--transition-timing-function),
              border-color var(--transition-duration) var(--transition-timing-function) !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
/* theme-blocks.css: .a-footer .footer-callback-btn.but:hover */
.mees-footer-shortcode .a-footer .footer-callback-btn.but:hover {
  border-color: var(--zelenyy) !important;
  box-shadow: 0 5px 20px 0 rgba(191, 218, 160, 0.3) !important;
}

/* ================================================================
   .box-payment  — блок юридических ссылок + платёжные системы
   По умолчанию (десктоп > 64rem): 1 колонка (только d-grid, нет grid-template-columns)
   main.min.css @media(max-width:64rem): 2 колонки с gap 30px
   main.min.css @media(max-width:48rem): 1 колонка с row-gap 30px
   ================================================================ */

/* ================================================================
   .box-payment-systems img
   theme-blocks.css: .a-footer .box-payment-systems img{width:auto;max-height:34px}
   ================================================================ */
.mees-footer-shortcode .a-footer .box-payment-systems img {
  width: auto !important;
  max-height: 34px !important;
}
@media (max-width: 512px) {
  .mees-footer-shortcode .a-footer .footer-callback-btn.but {
    display: none !important;
  }
  .mees-footer-shortcode .a-footer .box-contact-footer {
    flex-wrap: wrap !important;
  }
}


/* Three-column footer layout: brand | contacts | payment */
.mees-footer-shortcode .footer-layout-main {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  column-gap: 30px !important;
}
.mees-footer-shortcode .footer-col {
  min-width: 0 !important;
}
.mees-footer-shortcode .footer-col-brand {
  flex: 1 1 260px !important;
  min-width: 0 !important;
}
.mees-footer-shortcode .footer-brand-grid {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  column-gap: 30px !important;
}
.mees-footer-shortcode .footer-brand-logo,
.mees-footer-shortcode .footer-brand-menu {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.mees-footer-shortcode .footer-brand-logo {
  min-width: 106px !important;
  max-width: 160px !important;
}
.mees-footer-shortcode .footer-col-contacts {
  flex: 1.35 1 380px !important;
  min-width: 370px !important;
}
.mees-footer-shortcode .footer-col-payment {
  flex: 1.1 1 300px !important;
  min-width: 280px !important;
}
@media (min-width: 1025px) and (max-width: 1140px) {
  .mees-footer-shortcode .a-footer .box-contact-footer {
    flex-wrap: wrap !important;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .mees-footer-shortcode .footer-layout-main {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 30px !important;
  }
  .mees-footer-shortcode .footer-col-brand { grid-column: span 5 !important; }
  .mees-footer-shortcode .footer-col-contacts { grid-column: span 7 !important; }
  .mees-footer-shortcode .footer-col-payment { grid-column: 1 / -1 !important; }
  .mees-footer-shortcode .box-payment {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important;
  }
}
@media (max-width: 768px) {
  .mees-footer-shortcode .footer-layout-main {
    display: block !important;
  }
  .mees-footer-shortcode .footer-brand-grid {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    column-gap: 20px !important;
    row-gap: 40px !important;
    flex-wrap: wrap !important;
  }
  .mees-footer-shortcode .footer-col-contacts {
    min-width: 0 !important;
    width: 100% !important;
  }
  .mees-footer-shortcode .footer-col-payment {
    min-width: 0 !important;
    width: 100% !important;
    flex: 1 1 auto !important;
  }
  .mees-footer-shortcode .footer-brand-menu {
    width: auto !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }
  .mees-footer-shortcode .footer-brand-menu .lists-footer {
    display: grid !important;
    justify-items: start !important;
  }
  .mees-footer-shortcode .lists-contact,
  .mees-footer-shortcode .box-payment,
  .mees-footer-shortcode .box-payment-systems {
    display: block !important;
  }
  .mees-footer-shortcode .lists-contact > li + li {
    margin-top: 20px !important;
  }
  .mees-footer-shortcode .box-payment > * + * {
    margin-top: 30px !important;
  }
  .mees-footer-shortcode .box-payment-systems > * + * {
    margin-top: 15px !important;
  }
  .mees-footer-shortcode .box-social {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
  }
  .mees-footer-shortcode .footer-col + .footer-col,
  .mees-footer-shortcode .box-payment > * + * {
    margin-top: 30px !important;
  }
}

/* ================================================================
   .logo-footer  — логотип в подвале
   ================================================================ */
.mees-footer-shortcode .logo-footer {
  display: block !important;
  text-decoration: none !important;
}
.mees-footer-shortcode .logo-footer img {
  display: block !important;
  width: 106px !important;
  max-width: 100% !important;
  height: auto !important;
}
