/*============= ALIGNES ===============*/

/* .alignwide {
  width: 100%;
} */

.alignfull {
  margin-left: calc(-100vw / 2 + 100% / 2);
  margin-right: calc(-100vw / 2 + 100% / 2);
  max-width: 1920px;
}

@media only screen and (min-width: 1920px) {
  .alignfull {
    width: 100vw !important;
    max-width: unset;
  }
}

/* =========== BASE CONFIG =========== */
html {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
  font-family: var(--font-family);
  font-weight: 400;
  box-sizing: inherit;
  color: var(--background);
}

body {
  background: var(--bg-primary-second);
  overflow-x: hidden;
  margin: 0 auto;
  width: auto;
}

.seo-text:has(.text-holder)::-webkit-scrollbar {
  width: 3px;
  background: var(--main_text_primary);
  border: 1px solid var(--head_primary);
}

.seo-text:has(.text-holder)::-webkit-scrollbar-thumb {
  background-color: var(--primary);
  border-radius: 100px;
}

a {
  text-decoration: none;
  color: var(--background);
}

a:hover {
  color: var(--primary);
}

ul li {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 16px;
  line-height: 130%;
  color: var(--text-primary-main);
  list-style-type: none;
}

#footer ul li {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 120%;
  color: var(--text-alt-head);
}

ol li {
  list-style-position: inside;
  font-size: 18px;
  line-height: 130%;
}

p {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 20px;
  line-height: 130%;
  color: var(--text-primary-head);
}

main.foned {
  position: relative;
  overflow: hidden;
  z-index: 999;
}

main.foned:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
}

.breadcrumbs {
  padding: 20px 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: var(--main_text_primary);
}

@media (max-width: 992px) {
  .breadcrumbs {
    padding: 0;
  }
}

.breadcrumbs span {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: var(--text-primary-second);
  transition: 0.3s;
}

.breadcrumbs span:hover {
  color: var(--hover-main);
}

.breadcrumbs .current-item {
  color: var(--hover-main);
}

.breadcrumbs .current-item span {
  color: var(--hover-main);
}

.container {
  max-width: 1850px;
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
}

.container-crumbs {
  padding: 0 145px;
}

@media (max-width: 1200px) {
  .container-crumbs {
    padding: 0 80px;
  }
}

@media (max-width: 992px) {
  .container-crumbs {
    padding: 15px;
  }
}

.btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  white-space: nowrap;
  height: fit-content;
  background: var(--colors-main);
  border-radius: 5px;
  padding: 20px 30px;
  outline: none;
  color: var(--text-alt-head);
  cursor: pointer;
  transition: all 0.3s ease-in;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 100%;
}

.btn-border {
  border: 1px solid var(--text-primary-head);
  border-radius: 5px;
  padding: 20px 30px;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 100%;
  color: var(--text-primary-head);
  cursor: pointer;
  transition: all 0.3s ease-in;
  background: transparent;
  width: fit-content;
}

.btn:hover {
  background: var(--hover-main);
  color: var(--text-alt-head);
}

.btn-border:hover {
  background: var(--hover-main);
  color: var(--text-alt-head);
  border-color: var(--hover-main);
}

#main {
  min-height: 83vh;
}

:root {
  --bg-primary-main: #fafafa;
  --bg-primary-second: #e9e7e5;
  --bg-primary-third: #302d2b;
  --bg-primary-stroke: #e9e7e5;
  --bg-alt-main: #302d2b;
  --bg-alt-second: #2a2a2a;
  --text-primary-head: #1f1f1f;
  --text-primary-main: #6a6a6a;
  --text-primary-second: #8f8f8f;
  --text-alt-head: #fff;
  --text-alt-main: #eee;
  --colors-main: #5a8c7d;
  --colors-second: #5a8c7d;
  --hover-main: #4a848f;
  --hover-second: #4a848f;

  --font-family: "Inter Tight", sans-serif;
  --second-family: "Viaoda Libre", sans-serif;
  --third-family: "Manrope", sans-serif;
  --font3: "Raleway", sans-serif;
  --font4: "Onest", sans-serif;
  --font5: "Avenir Next Cyr", sans-serif;
}

h1,
.h1 {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 64px;
  line-height: 100%;
  color: var(--text-primary-head);
}

h2,
.h2 {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 56px;
  line-height: 110%;
  color: var(--text-primary-head);
}

h3,
.h3 {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 40px;
  line-height: 110%;
  color: var(--text-primary-head);
}

h4,
.h4 {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 24px;
  line-height: 120%;
  color: var(--text-primary-head);
}

h5,
.h5 {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 22px;
  line-height: 120%;
  color: var(--text-primary-head);
}

h6,
.h6 {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 16px;
  line-height: 120%;
  color: var(--text-primary-head);
}

.button {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 100%;
}

.menu {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 120%;
  color: var(--text-primary-head);
}

.p1 {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 20px;
  line-height: 130%;
  color: var(--text-primary-head);
}

.p2 {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 16px;
  line-height: 130%;
  color: var(--text-primary-main);
}

.p3 {
  font-family: var(--third-family);
  font-weight: 400;
  font-size: 14px;
  line-height: 130%;
  color: var(--text-primary-main);
}

.p4 {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 12px;
  line-height: 100%;
  color: var(--text-primary-head);
}

.numbers {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 32px;
  line-height: 120%;
  color: var(--text-primary-head);
}

/*============ HEADER =================*/
#header {
  position: sticky;
  top: 0;
  width: 100%;
  background: var(--primary);
  height: 100px;
  background: var(--bg-primary-second);
  border: 1px solid rgba(48, 45, 43, 0.2);
  padding: 20px 15px;
  display: flex;
  align-items: center;
  z-index: 999;
}

#header a {
  transition: all 0.3s ease-in;
}

#header .header-wrapper {
  display: flex;
  justify-content: space-between;
  max-width: 1820px;
  width: 100%;
  margin: 0 auto;
}

#header .right-side-wrapper {
  display: flex;
  gap: 30px;
  align-items: center;
}

#header .menuTop {
  display: flex;
  gap: 30px;
  white-space: nowrap;
  align-items: center;
}

#header .menuTop a {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 120%;
  color: var(--text-primary-head);
}

#header .menuTop a:hover {
  color: var(--hover-main);
}

#header .menuTop .nav-menu-element.has-childs {
  position: relative;
}


#header .menuTop .nav-menu-element.has-childs .sub-menu {
  position: absolute;
  top: calc(100% + 15px);
  transform: translateX(-50%) translateY(-10px);
  width: max-content;
  min-width: 371px;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--bg-primary-main);
  border: 1px solid var(--bg-primary-second);
  border-radius: 10px;
  pointer-events: none;
}


#header .menuTop .nav-menu-element.has-childs>a {
  position: relative;
  z-index: 66;
  display: flex;
  align-items: center;
  gap: 8px;
}

#header .menuTop .nav-menu-element.has-childs>a::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  transition: transform 0.3s ease, background-color 0.3s ease;
  flex-shrink: 0;
}

#header .menuTop .nav-menu-element.has-childs::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 20px;
  background: transparent;
  z-index: 55;
}

#header .menuTop .nav-menu-element.has-childs::before {
  content: "";
  position: fixed;
  top: 100px;
  left: 0;
  width: 100vw;
  height: calc(100vh - 100px);
  background: transparent;
  opacity: 0;
  visibility: hidden;
  z-index: 99;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}


#header .menuTop .nav-menu-element.has-childs:hover>a::after {
  transform: rotate(180deg);
  background-color: var(--colors-main);
}

#header .menuTop .nav-menu-element.has-childs:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
  transition-delay: 0s;
}

#header .menuTop .nav-menu-element.has-childs:hover::before {
  opacity: 1;
  visibility: visible;
}

#header .menuTop .nav-menu-element.has-childs>a svg,
#header .header-menu .nav-menu-element.has-childs>a svg {
  width: 12px;
  height: 12px;
  transition: transform 0.3s ease;
  fill: currentColor;
  flex-shrink: 0;
}

#header .menuTop .nav-menu-element.has-childs:hover>a svg,
#header .header-menu .nav-menu-element.has-childs:hover>a svg {
  transform: rotate(180deg);
}

#header .header-menu .nav-menu-element.has-childs {
  position: relative;
  margin-right: 10px;
}

#header .header-menu .nav-menu-element.has-childs>a {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}

#header .header-menu .nav-menu-element.has-childs>a::before,
#header .header-menu .nav-menu-element.has-childs>a::after {
  display: none;
}

#header .header-menu .sub-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(-10px);
  width: max-content;
  min-width: 371px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 100;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--bg-primary-second);
  border-radius: 10px;
  padding: 20px;
  background: var(--bg-primary-main);
  gap: 10px;
  color: var(--text-primary-head);
  pointer-events: none;
}

#header .header-menu .nav-menu-element.has-childs:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

#header .header-menu .nav-menu-element:hover {
  color: var(--hover-main);
}

@media (max-width: 1600px) {
  #header .menuTop {
    gap: 15px;
  }
}

@media (max-width: 1640px) {

  .header-wrapper .worktime-holder,
  #header .menuTop {
    display: none;
  }
}

@media (max-width: 1080px) {
  .header-wrapper .emails-holder {
    display: none;
  }

  .header-wrapper .header-bottom .menuTop {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 10px;
  }

  .header-wrapper .header-bottom .menuTop>li {
    flex: 0 1 auto;
    white-space: nowrap;
  }

  #header #mobile-mnu .menuTop {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
    gap: 5px;
    align-items: flex-start;
  }

  #header #mobile-mnu .menuTop>li {
    flex: 0 1 auto;
    white-space: nowrap;
  }
}

@media (max-width: 900px) {
  .header-wrapper .soc-holder {
    display: none;
  }
}

@media (max-width: 768px) {
  .header-wrapper .button_holder {
    display: none;
  }
}

@media (max-width: 640px) {
  #header {
    padding: 0 20px;
  }

  .logo-holder img {
    max-height: 50px;
    width: 100%;
  }
}

@media (max-width: 530px) {
  .logo-holder img {
    max-width: 180px;
  }
}

@media (max-width: 460px) {

  #header .icon-holder,
  #header .p4 {
    display: none;
  }

  #header {
    padding: 0 10px;
  }

  #header .phones-holder {
    align-items: center;
  }

  #header .button {
    font-size: 16px;
  }

  #header .right-side-wrapper {
    gap: 10px;
  }
}

@media (max-width: 360px) {
  #header .phones-holder {
    display: none;
  }
}

#header #mobile-mnu .menuTop {
  display: flex;
  flex-direction: column;
}

/*================ MOBILE MNU Start =============*/
#header .burger.open_menu {
  display: none;
  flex-direction: column;
  background-color: var(--bg-primary-main);
  height: 60px;
  width: 60px;
  justify-content: space-evenly;
  align-items: center;
  border-radius: 2px;
  flex-shrink: 0;
  cursor: pointer;
  z-index: 1000;
}

#header .burger.open_menu span {
  background-color: var(--colors-main);
  pointer-events: none;
  width: 24px;
  height: 3px;
  transition: all 0.3s ease-in;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

#header .burger.open_menu .burger-inner {
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#header .burger.open_menu.clicked {
  background-color: var(--colors-main);
}

#header .burger.open_menu.clicked span {
  background-color: var(--bg-primary-second);
}

@media (max-width: 1500px) {

  #header .burger.open_menu,
  #header .burger.open_menu span {
    display: block;
  }
}

#header #mobile-mnu {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 320px;
  background: var(--bg-primary-second);
  padding: 30px;
  transition: all 0.3s ease-in;
  transform: translateX(-350px);
  z-index: 9999;
  align-items: flex-start;
}

#header #mobile-mnu #close-mnu {
  position: absolute;
  right: 10px;
  top: 10px;
  cursor: pointer;
  display: block;
  width: 30px;
  height: 30px;
}

#header #mobile-mnu #close-mnu svg {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

#header #mobile-mnu #close-mnu svg path {
  fill: var(--colors-main);
}

#header #mobile-mnu a {
  font-size: 16px;
  line-height: 130%;
  font-weight: 450;
}

#header #mobile-mnu a:hover {
  color: var(--primary_hover);
}

#header #mobile-mnu .logo-holder {
  display: flex;
  margin-bottom: 20px;
}

#header #mobile-mnu .logo-holder .text-wrap {
  gap: 10px;
}

#header #mobile-mnu .logo-holder .title {
  font-size: 14px;
}

#header #mobile-mnu .logo-holder .subtitle {
  font-size: 12px;
}

#header #mobile-mnu .menuTop {
  list-style-type: none;
}

#header #mobile-mnu .menuTop li {
  margin-bottom: 10px;
}

#header #mobile-mnu .menuTop li a {
  font-size: 16px;
  line-height: 130%;
  font-weight: 450;
  color: var(--background);
  position: relative;
}

#header #mobile-mnu .menuTop li a:hover {
  color: var(--primary);
}

#header #mobile-mnu .menuTop li.active a {
  color: var(--primary);
}

#header #mobile-mnu .adresses__holder {
  display: flex;
  flex-direction: column;
  position: relative;
  padding-left: 30px;
  margin-bottom: 20px;
  width: 100%;
}

#header #mobile-mnu .adresses__holder:before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  background-image: url("/wp-content/themes/theme/assets/images/map.svg");
  background-position: center center;
  background-repeat: no-repeat;
}

#header #mobile-mnu .adresses__holder p {
  font-size: 16px;
  line-height: 130%;
  font-weight: 450;
}

#header #mobile-mnu .email__holder {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 20px;
}

#header #mobile-mnu .email__holder .email__item {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  font-size: 16px;
  line-height: 130%;
  font-weight: 400;
}

#header #mobile-mnu .email__holder .email__item:hover {
  color: var(--primary_hover);
}

#header #mobile-mnu .email__holder .email__item svg {
  margin-right: 10px;
}

#header #mobile-mnu .phones__holder {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 20px;
}

#header #mobile-mnu .phones__holder .phone__item {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  font-size: 16px;
  line-height: 130%;
  font-weight: 450;
}

#header #mobile-mnu .phones__holder .phone__item:hover {
  color: var(--primary_hover);
}

#header #mobile-mnu .phones__holder .phone__item svg {
  margin-right: 10px;
}

#header #mobile-mnu.opened {
  transform: translateX(0);
}

#header #mobile-mnu .site-name-holder {
  order: unset;
  width: max-content;
  max-width: unset;
}

#header #mobile-mnu .site-name,
#header #mobile-mnu a,
#header #mobile-mnu .site-subtitle {
  color: var(--primary_hover);
}

#header #mobile-mnu .soc-holder {
  margin-top: 10px;
}

#header #mobile-mnu .soc {
  width: 35px;
  height: 35px;
}

#header #mobile-mnu .sub-menu {
  display: none;
}

#header #mobile-mnu .sub-menu .nav-menu-element a {
  padding-left: 10px;
  position: relative;
}

#header #mobile-mnu .sub-menu .nav-menu-element a:before {
  content: "";
  width: 5px;
  height: 1px;
  top: 10px;
  left: 0;
  position: absolute;
  background: var(--background);
}

#header #mobile-mnu .phones-holder,
#header #mobile-mnu .emails-holder {
  margin-bottom: 10px;
}

/*================ MOBILE MNU End =============*/

/*============ FOOTER Start ===============*/
#footer {
  background: var(--bg-primary-third);
  border-radius: 10px;
  padding: 40px 100px 24px 100px;
  margin-bottom: 20px;
}

#footer a {
  transition: all 0.3s ease-in;

}

#footer .footer-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 36px;
}

#footer .footer-top {
  display: flex;
  justify-content: space-between;
}

#footer .footer-logo-wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.footer-logo-wrapper .p3 {
  color: var(--text-alt-head);
  opacity: 0.8;
}

.footer-title {
  color: var(--text-alt-head);
  opacity: 0.8;
}

#footer .footer-top-left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}

#footer .footer-bot-wrapper {
  padding-top: 30px;
  border-top: 1px solid rgba(249, 248, 248, 0.4);
  color: rgba(249, 248, 248, 0.4);
}

#footer .footer-bot {
  display: flex;
  justify-content: space-between;
}

.dev {
  gap: 10px;
  display: flex;
}

.dev svg path {
  fill: rgba(249, 248, 248, 0.4);
}

#footer .reqs p {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 14px;
  line-height: 160%;
  color: var(--bg-primary-main);
}

#footer .foot-menu {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 15px;
  line-height: 120%;
  color: var(--text-alt-head);
  gap: 10px;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}

/* «Услуги» — компактные ДВЕ колонки рядом с «Навигацией» (не растягиваются на
   всю ширину), с нормальными отступами между секциями и колонками. */
#footer .footer-top { gap: 30px 48px; }
#footer .menu-item--services { flex: 0 1 auto; min-width: 0; }
#footer .foot-menu--wrap {
  display: grid;
  grid-template-columns: auto auto;
  gap: 10px 28px;
}

#footer .foot-menu a:hover {
  color: var(--hover-main);
}

#footer .info-holder,
#footer .menu-item {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#footer .info-value {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 22px;
  line-height: 120%;
  color: var(--text-alt-head);
}

#footer .info-value p {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 15px;
  color: var(--text-alt-head);
}

#footer .footer-bot .privacy-holder {
  text-decoration: underline
}

@media (max-width: 1240px) {
  #footer {
    padding: 60px 80px;

  }

  #footer .foot-menu {
    max-height: unset;
  }

}

@media (max-width: 1100px) {
  #footer .footer-top {
    flex-direction: column;
    text-align: center;
    gap: 30px;
  }

    #footer .footer-bot {
        flex-direction: column;
        align-items: center;
        gap: 15px;
        text-align: center;
  }
}

@media (max-width: 768px) {

  #footer {
    padding: 30px;
  }

  #footer .footer-wrapper {
    padding-top: 30px;
    padding-bottom: 15px;
    gap: 40px;
  }

  #footer .footer-logo-reqs-wrapper {
    align-items: center;
    gap: 20px;
  }

  #footer .footer-logo img {
    max-width: 150px;
  }

  #footer .menu-item,
  #footer .info-holder {
    align-items: center;
    gap: 15px;
  }

  #footer .footer-title {
    font-size: 20px;
    margin-bottom: 10px;
  }

  #footer .foot-menu {
    padding: 0;
    max-height: unset;
  }

  #footer .foot-menu li {
    margin-bottom: 8px;
  }

  #footer .info-wrapper {
    align-items: center;
  }

  #footer .soc-holder {
    justify-content: center;
    margin-top: 10px;
  }

  #footer .footer-bot {
    flex-direction: column;
    align-items: center;
    gap: 15px;
    text-align: center;
  }

  #footer .footer-bot .privacy-holder,
  #footer .footer-bot .dev,
  #footer .footer-bot .rights,
  #footer .footer-bot .copy {
    margin-bottom: 10px;
  }

  #footer .dev {
    justify-content: center;
    flex-wrap: wrap;
  }

  #footer .dev svg {
    width: 90px;
    height: 13px;
  }
}

@media (max-width: 480px) {
  #footer .footer-logo img {
    max-width: 180px;
  }

  #footer .footer-title {
    font-size: 18px;
  }

  #footer .reqs {
    font-size: 14px;
  }

  #footer .info-value,
  #footer .email.button {
    font-size: 20px;
  }

  #footer .time {
    font-size: 14px;
  }

  #footer .soc2 {
    width: 40px;
    height: 40px;
  }

  #footer .footer-bot {
    gap: 12px;
  }

  #footer .privacy-holder,
  #footer .rights,
  #footer .copy {
    font-size: 14px;
  }
}

@media (max-width: 320px) {
  #footer .footer-wrapper {
    gap: 30px;
    padding-top: 25px;
  }

  #footer .footer-logo img {
    max-width: 100px;
  }

  #footer .footer-title {
    font-size: 16px;
  }

  #footer .foot-menu li a {
    font-size: 14px;
  }

  #footer .info-value,
  #footer .email.button {
    font-size: 14px;
  }

  #footer .soc-holder {
    gap: 8px;
  }

  #footer .soc2 {
    width: 35px;
    height: 35px;
  }

  #footer .soc2 svg {
    width: 18px;
    height: 18px;
  }

  #footer .dev {
    flex-direction: column;
    align-items: center;
  }

  #footer .dev svg {
    width: 80px;
    height: 12px;
  }
}

.glogo {
  width: 111px;
  height: 17px;
  mask-image: url('data:image/svg+xml;utf8,<svg width="72" height="13" viewBox="0 0 72 13" xmlns="http://www.w3.org/2000/svg"><path d="M2.96004 9.90382L2.14404 9.63182L7.37604 3.19982H10.56L2.67204 12.3198H3.91006e-05V-0.00017643H2.96004V9.90382ZM4.78404 7.85582L6.99204 6.23982L10.8 12.3198H7.42404L4.78404 7.85582ZM16.4214 12.5758C15.2694 12.5758 14.2614 12.3732 13.3974 11.9678C12.5334 11.5625 11.8614 10.9972 11.3814 10.2718C10.9014 9.54649 10.6614 8.70916 10.6614 7.75982C10.6614 6.79982 10.9014 5.96249 11.3814 5.24782C11.8614 4.52249 12.5334 3.95716 13.3974 3.55182C14.2721 3.14649 15.2801 2.94382 16.4214 2.94382C17.5734 2.94382 18.5814 3.14649 19.4454 3.55182C20.3094 3.95716 20.9814 4.52249 21.4614 5.24782C21.9521 5.96249 22.1974 6.79982 22.1974 7.75982C22.1974 8.71982 21.9521 9.56249 21.4614 10.2878C20.9814 11.0025 20.3094 11.5625 19.4454 11.9678C18.5814 12.3732 17.5734 12.5758 16.4214 12.5758ZM16.4214 10.3358C17.0081 10.3358 17.5041 10.2345 17.9094 10.0318C18.3254 9.81849 18.6401 9.51982 18.8534 9.13582C19.0774 8.75182 19.1894 8.29316 19.1894 7.75982C19.1894 7.22649 19.0774 6.76782 18.8534 6.38382C18.6401 5.98916 18.3254 5.69049 17.9094 5.48782C17.5041 5.27449 17.0081 5.16782 16.4214 5.16782C15.8561 5.16782 15.3654 5.27449 14.9494 5.48782C14.5334 5.69049 14.2134 5.98916 13.9894 6.38382C13.7654 6.76782 13.6534 7.22649 13.6534 7.75982C13.6534 8.29316 13.7654 8.75182 13.9894 9.13582C14.2134 9.51982 14.5334 9.81849 14.9494 10.0318C15.3654 10.2345 15.8561 10.3358 16.4214 10.3358ZM23.6719 -0.00017643H26.6319V12.3198H23.6719V-0.00017643ZM28.1149 3.19982H31.0749L31.6669 6.75182V12.3198H28.6909V6.30382L28.1149 3.19982ZM34.8669 2.94382C35.6989 2.94382 36.4029 3.11982 36.9789 3.47182C37.5656 3.82382 38.0082 4.31982 38.3069 4.95982C38.6162 5.58916 38.7709 6.34649 38.7709 7.23182V12.3198H35.7949V7.67982C35.7949 6.92249 35.6296 6.35182 35.2989 5.96782C34.9682 5.57316 34.4829 5.37582 33.8429 5.37582C33.3949 5.37582 33.0056 5.48249 32.6749 5.69582C32.3549 5.89849 32.1042 6.19182 31.9229 6.57582C31.7522 6.94916 31.6669 7.39716 31.6669 7.91982L30.7229 7.42382C30.8402 6.45316 31.0909 5.63716 31.4749 4.97582C31.8696 4.31449 32.3549 3.81316 32.9309 3.47182C33.5176 3.11982 34.1629 2.94382 34.8669 2.94382ZM41.9549 2.94382C42.7869 2.94382 43.4962 3.11982 44.0829 3.47182C44.6696 3.82382 45.1122 4.31982 45.4109 4.95982C45.7202 5.58916 45.8749 6.34649 45.8749 7.23182V12.3198H42.8989V7.67982C42.8989 6.92249 42.7336 6.35182 42.4029 5.96782C42.0722 5.57316 41.5869 5.37582 40.9469 5.37582C40.4989 5.37582 40.1096 5.48249 39.7789 5.69582C39.4589 5.89849 39.2082 6.19182 39.0269 6.57582C38.8562 6.94916 38.7709 7.39716 38.7709 7.91982L37.8269 7.42382C37.9442 6.45316 38.1949 5.63716 38.5789 4.97582C38.9629 4.31449 39.4482 3.81316 40.0349 3.47182C40.6216 3.11982 41.2616 2.94382 41.9549 2.94382ZM55.9599 12.3198L55.5599 9.00782L55.9919 7.75982L55.5599 6.52782L55.9599 3.19982H59.0479L58.4879 7.75982L59.0479 12.3198H55.9599ZM56.6959 7.75982C56.5359 8.73049 56.2319 9.57849 55.7839 10.3038C55.3359 11.0185 54.7706 11.5785 54.0879 11.9838C53.4052 12.3785 52.6372 12.5758 51.7839 12.5758C50.8879 12.5758 50.0986 12.3732 49.4159 11.9678C48.7439 11.5625 48.2159 11.0025 47.8319 10.2878C47.4479 9.56249 47.2559 8.71982 47.2559 7.75982C47.2559 6.79982 47.4479 5.96249 47.8319 5.24782C48.2159 4.52249 48.7439 3.95716 49.4159 3.55182C50.0986 3.14649 50.8879 2.94382 51.7839 2.94382C52.6372 2.94382 53.4052 3.14649 54.0879 3.55182C54.7706 3.94649 55.3359 4.50116 55.7839 5.21582C56.2426 5.93049 56.5466 6.77849 56.6959 7.75982ZM50.2639 7.75982C50.2639 8.25049 50.3652 8.68782 50.5679 9.07182C50.7706 9.44516 51.0479 9.74382 51.3999 9.96782C51.7626 10.1812 52.1786 10.2878 52.6479 10.2878C53.1172 10.2878 53.5599 10.1812 53.9759 9.96782C54.4026 9.74382 54.7759 9.44516 55.0959 9.07182C55.4159 8.68782 55.6559 8.25049 55.8159 7.75982C55.6559 7.26916 55.4159 6.83716 55.0959 6.46382C54.7759 6.07982 54.4026 5.78116 53.9759 5.56782C53.5599 5.34382 53.1172 5.23182 52.6479 5.23182C52.1786 5.23182 51.7626 5.34382 51.3999 5.56782C51.0479 5.78116 50.7706 6.07982 50.5679 6.46382C50.3652 6.83716 50.2639 7.26916 50.2639 7.75982ZM60.3024 3.19982H63.2624L63.8544 6.75182V12.3198H60.8784V6.30382L60.3024 3.19982ZM67.2624 2.94382C68.1371 2.94382 68.8784 3.11982 69.4864 3.47182C70.1051 3.82382 70.5744 4.31982 70.8944 4.95982C71.2251 5.58916 71.3904 6.34649 71.3904 7.23182V12.3198H68.4144V7.67982C68.4144 6.92249 68.2277 6.35182 67.8544 5.96782C67.4811 5.57316 66.9477 5.37582 66.2544 5.37582C65.7637 5.37582 65.3371 5.48249 64.9744 5.69582C64.6117 5.89849 64.3344 6.19182 64.1424 6.57582C63.9504 6.94916 63.8544 7.39716 63.8544 7.91982L62.9104 7.42382C63.0277 6.45316 63.2891 5.63716 63.6944 4.97582C64.1104 4.31449 64.6224 3.81316 65.2304 3.47182C65.8491 3.11982 66.5264 2.94382 67.2624 2.94382Z" fill="%231F1F1F"/></svg>');
  mask-origin: border-box;
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: rgba(249, 248, 248, 0.4);
  position: relative;
  cursor: pointer;
  display: inline-flex;
  vertical-align: sub;
  overflow: hidden;
  align-self: center;
}

.glogo:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: red;
  transform: translateX(100%);
  transition: transform 0.7s ease-in;
  background: linear-gradient(90deg,
      #fe6604 10%,
      #ee0a76 30%,
      #ee0a76 60%,
      #fe6604 101%) repeat-x 0 0;
  background-size: 100px;
  animation-duration: 5s;
  animation-name: slideUp;
  animation-iteration-count: infinite;
  animation-delay: 1s;
}

.glogo:hover:before {
  animation-name: unset;
  transform: translateX(0);
}

@keyframes slideUp {
  0% {
    transform: translateX(-100%);
  }

  50% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(100%);
  }
}

/*============ FOOTER End ===============*/

/* ============== MODAL Start ============= */
.theme-modal {
  display: none;
  position: relative;
}

.theme-modal .title {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 32px;
  line-height: 120%;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  text-align: center;
  color: var(--background);
  margin-bottom: 15px;
}

#modal-success.theme-modal.fancybox__content .title {
  font-size: 31px;
}

.theme-modal .subtitle {
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  text-align: center;
  color: var(--main_text_primary);
  margin-bottom: 30px;
}

.theme-modal .btn {
  width: 100%;
}

.fancybox__content>.f-button.is-close-btn {
  top: 20px !important;
  right: 20px !important;
  --f-button-width: 18px !important;
  --f-button-height: 18px !important;
  --f-button-border-radius: unset !important;
  --f-button-color: var(--bg-primary-second) !important;
  --f-button-hover-color: unset !important;
  --f-button-bg: transparent !important;
  --f-button-hover-bg: transparent !important;
  --f-button-active-bg: transparent !important;
  --f-button-svg-width: 100% !important;
  --f-button-svg-height: 100% !important;
}

.f-button svg {
  stroke: transparent !important;
}

.fancybox__content>.f-button.is-close-btn:hover path {
  fill: var(--bg-primary-second) !important;
  transition: 0.3s !important;
}

.fancybox__content>.f-button.is-close-btn:hover path {
  stroke: transparent !important;
}

.theme-modal.fancybox__content {
  max-width: 415px;
  width: fit-content;
  display: flex;
  flex-direction: column;
  padding: 20px;
  background: var(--bg-primary-main);
  border-radius: 20px;
  overflow: auto;
  top: 75px;
}

#modal-success.theme-modal.fancybox__content {
  width: 100%;
}

.theme-modal.fancybox__content .f-button.is-close-btn svg path {
  transition: stroke .3s ease-in;
}

.theme-modal.fancybox__content .f-button.is-close-btn:hover svg path {
  fill: var(--primary);
}

.form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-top {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-top-modal {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

button {
  border: unset;
}

button,
input {
  outline: none;
}

.form input,
.form select,
.form textarea {
  border: unset;
  border-radius: 5px;
  padding: 22px;
  background: var(--bg-primary-main);
  transition: 0.3s;
  outline: none;
  cursor: pointer;
  width: 100%;
  border: 1px solid var(--bg-primary-second);
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  color: var(--main_text_primary);
  resize: none;
}

.form input:hover,
.form textarea:hover {
  background: var(--bg-primary-second);
  border-color: var(--bg-primary-second);
  color: var(--text-primary-main);
}

.form select:hover {
  background: var(--bg-primary-second);
  border-color: var(--bg-primary-second);
}


.form input,
.form textarea {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 16px;
  line-height: 130%;
  color: var(--text-primary-main);
}

.form input.error,
.form textarea.error {
  border: 1px solid red !important;
}

.form input::placeholder,
.form textarea::placeholder .form select::placeholder {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 16px;
  line-height: 130%;
  color: var(--text-primary-main);
}

.form input:hover::placeholder,
.form input:hover::placeholder {
  color: var(--head_primary);
}

.form select {
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-color: #fff;
  display: block;
  width: 100%;
  border: 1px solid var(--bg-primary-second);
  vertical-align: top;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none !important;
  background-position: right 13px center;
  padding-right: 30px;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 16px;
  line-height: 130%;
  color: var(--text-primary-main);
}

.form .btn {
  width: 100%;
  margin-top: 20px;
}

.form .privacy-policy {
  width: 100%;
  display: flex;
  flex-direction: column;
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  text-align: center;
  color: var(--main_text_primary);
  text-align: center;
  margin-top: 10px;
}

.form .privacy-policy a {
  text-decoration: underline;
  color: var(--background);
}

.form .privacy-policy a:hover {
  color: var(--primary);
}

.theme-modal #file {
  display: none;
}

.theme-modal .file span {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 16px;
  line-height: 120%;
  letter-spacing: -0.02em;
  text-align: center;
  color: var(--background);
  cursor: pointer;
  transition: 0.3s;
}

.theme-modal .file span:hover {
  color: var(--primary);
}

.fancybox__container {
  --fancybox-bg: #ffffffb9 !important;
}

/* ============== MODAL End ============= */

.policy-checkbox input[type="checkbox"],
.consent-checkbox input[type="checkbox"] {
  border: 1px solid var(--text-alt-head) !important;
  border-radius: 5px !important;
  padding: 4px !important;
  width: 24px !important;
  height: 24px !important;
}

.policy-checkbox {
  display: flex;
  align-items: center;
  flex-direction: row;
}

/* Вместо этого */
.policy-checkbox input[type="checkbox"],
.consent-checkbox input[type="checkbox"] {
  border: 1px solid var(--text-alt-head) !important;
  border-radius: 5px !important;
  padding: 4px !important;
  width: 24px !important;
  height: 24px !important;
}

/* Добавьте стили для ошибок */
.policy-checkbox input[type="checkbox"].error,
.consent-checkbox input[type="checkbox"].error {
  border: 1px solid red !important;
  background-color: #ffbaba !important;
}

/* Или для родительского контейнера при ошибке */
.policy-checkbox.error input[type="checkbox"],
.consent-checkbox.error input[type="checkbox"] {
  border: 1px solid red !important;
}

.block-title span {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 56px;
  line-height: 110%;
  color: var(--colors-main);
}


.policy-checkbox {
  position: relative;
  display: flex;
  align-items: center;
  margin: 10px 0;
}

.policy-checkbox input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  border: 1px solid var(--text-alt-head);
  border-radius: 5px;
  background: var(--colors-main);
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
}

.policy-checkbox input[type="checkbox"]:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  background-image: url(/wp-content/themes/theme/assets/images/checkbox-check.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  opacity: 1;
}

.policy-checkbox label {
  font-family: var(--font-family);
  font-weight: 300;
  font-size: 14px;
  line-height: 130%;
  color: var(--text-alt-head);
  cursor: pointer;
  display: flex;
  align-items: center;
}

.policy-checkbox label a {
  color: inherit;
  text-decoration: underline;
  margin-left: 4px;
}

@media (max-width: 480px) {
  .btn-border {
    width: 100% !important;
    text-align: center;
  }
}


@media (max-width: 992px) {

  #mainbanner-block .block-title span,
  #mainbanner-block .block-title,
  #categories-block .block-title,
  #categories-block .block-title span,
  #help-services-block .block-title,
  #help-services-block .block-title span,
  #steps-block .block-title,
  #steps-block .block-title span,
  #team-block .block-title,
  #team-block .block-title span,
  #deals-block .block-title,
  #deals-block .block-title span,
  .faq-three-block .block-title,
  .faq-three-block .block-title span,
  #form-block .block-title,
  #form-block .block-title span,
  .employee-title,
  #seo-block .block-title span,
  #seo-block .block-title,
  #second-banner-block .block-title span,
  #second-banner-block .block-title,
  #contacts-five-block .block-title span,
  #contacts-five-block .block-title,
  .wp-block-heading h2,
  #about-company-block .block-title span,
  #about-company-block .block-title,
  #reviews-one-block .block-title span,
  #reviews-one-block .block-title,
  .services-main-wrapper h2,
  #faq-five-block .block-title span,
  #faq-five-block .block-title,
  .wp-block-heading,
  .deals-arch-wrapper h2,
  #second-banner-swiper-block h1,
  #second-banner-swiper-block span {
    font-size: 48px !important;
  }
}

@media (max-width: 768px) {

  #mainbanner-block .block-title span,
  #mainbanner-block .block-title,
  #categories-block .block-title,
  #categories-block .block-title span,
  #help-services-block .block-title,
  #help-services-block .block-title span,
  #steps-block .block-title,
  #steps-block .block-title span,
  #team-block .block-title,
  #team-block .block-title span,
  #deals-block .block-title,
  #deals-block .block-title span,
  .faq-three-block .block-title,
  .faq-three-block .block-title span,
  #form-block .block-title,
  #form-block .block-title span,
  .employee-title,
  #seo-block .block-title span,
  #seo-block .block-title,
  #second-banner-block .block-title span,
  #second-banner-block .block-title,
  #contacts-five-block .block-title span,
  #contacts-five-block .block-title,
  .wp-block-heading h2,
  #about-company-block .block-title span,
  #about-company-block .block-title,
  #reviews-one-block .block-title span,
  #reviews-one-block .block-title,
  .services-main-wrapper h2,
  #faq-five-block .block-title span,
  #faq-five-block .block-title,
  .wp-block-heading,
  .deals-arch-wrapper h2,
  #second-banner-swiper-block h1,
  #second-banner-swiper-block span {
    font-size: 36px !important;
  }
}

@media (max-width: 480px) {

  #mainbanner-block .block-title span,
  #mainbanner-block .block-title,
  #categories-block .block-title,
  #categories-block .block-title span,
  #help-services-block .block-title,
  #help-services-block .block-title span,
  #steps-block .block-title,
  #steps-block .block-title span,
  #team-block .block-title,
  #team-block .block-title span,
  #deals-block .block-title,
  #deals-block .block-title span,
  .faq-three-block .block-title,
  .faq-three-block .block-title span,
  #form-block .block-title,
  #form-block .block-title span,
  .employee-title,
  #seo-block .block-title span,
  #seo-block .block-title,
  #second-banner-block .block-title span,
  #second-banner-block .block-title,
  #contacts-five-block .block-title span,
  #contacts-five-block .block-title,
  .wp-block-heading h2,
  #about-company-block .block-title span,
  #about-company-block .block-title,
  #reviews-one-block .block-title span,
  #reviews-one-block .block-title,
  .services-main-wrapper h2,
  #faq-five-block .block-title span,
  #faq-five-block .block-title,
  .wp-block-heading,
  .deals-arch-wrapper h2,
  #second-banner-swiper-block h1,
  #second-banner-swiper-block span {
    font-size: 32px !important;
  }
}


@media (max-width: 320px) {

  #mainbanner-block .block-title span,
  #mainbanner-block .block-title,
  #categories-block .block-title,
  #categories-block .block-title span,
  #help-services-block .block-title,
  #help-services-block .block-title span,
  #steps-block .block-title,
  #steps-block .block-title span,
  #team-block .block-title,
  #team-block .block-title span,
  #deals-block .block-title,
  #deals-block .block-title span,
  .faq-three-block .block-title,
  .faq-three-block .block-title span,
  #form-block .block-title,
  #form-block .block-title span,
  .employee-title,
  #seo-block .block-title span,
  #seo-block .block-title,
  #second-banner-block .block-title span,
  #second-banner-block .block-title,
  #contacts-five-block .block-title span,
  #contacts-five-block .block-title,
  .wp-block-heading h2,
  #about-company-block .block-title span,
  #about-company-block .block-title,
  #reviews-one-block .block-title span,
  #reviews-one-block .block-title,
  .services-main-wrapper h2,
  #faq-five-block .block-title span,
  #faq-five-block .block-title,
  .wp-block-heading,
  .deals-arch-wrapper h2,
  #second-banner-swiper-block h1,
  #second-banner-swiper-block span {
    font-size: 28px !important;
    line-height: 110%;
  }
}


.form-description {
  color: var(--text-alt-head);
}

.form-title-wrap {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.two-columns {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
  gap: 30px;
}

.content-column {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.column {
  flex: 1;
  min-width: 300px;
  padding: 0 15px;
  box-sizing: border-box;
}

.form-column {
  background: var(--colors-main);
  border-radius: 10px;
  padding: 40px;
  gap: 60px;
  display: flex;
  flex-direction: column;
}

.content-column {
  position: relative;
  min-height: 400px;
  border-radius: 10px;
  overflow: hidden;
  padding: 40px;
  box-sizing: border-box;
}

.content-column::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('https://11490.grampus-server.ru/wp-content/uploads/2025/09/image-358.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
}

#form.two-columns .consultation-points li {
  position: relative;
  list-style-type: none;
  margin-bottom: 8px;
  padding-left: 15px;
  color: var(--text-alt-head);
  font-family: var(--font-family);
  font-weight: 300;
  font-size: 16px;
  line-height: 130%;
  opacity: 0.8;
}

#form.two-columns .consultation-points li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 8px;
  height: 8px;
  background: var(--colors-main);
  border-radius: 50%;
}

.content-column>* {
  position: relative;
  z-index: 2;
  color: white;
}

.consultation-points ul li {
  position: relative;
  list-style-type: none;
  margin-bottom: 8px;
  padding-left: 15px;
  color: var(--text-alt-head);
  font-family: var(--font-family);
  font-weight: 300;
  font-size: 16px;
  line-height: 130%;
  opacity: 0.8;
}

.consultation-points ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 8px;
  height: 8px;
  background: var(--colors-main);
  border-radius: 50%;
}

li::marker {
  color: var(--colors-main);
}


.form-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.form-top textarea {
  grid-column: 1 / span 2;
}

.form-2col {
  display: contents;
}


@media (max-width: 768px) {
  .two-columns {
    flex-direction: column;
  }

  .column {
    margin-bottom: 30px;
    gap: 20px;
  }

  .form-top {
    grid-template-columns: 1fr;
  }

  .form-top textarea {
    grid-column: 1;
  }
}

@media (max-width: 480px) {
  .column {
    padding: 20px;
  }
}




.consultation-points {
  max-width: 440px;
  width: 100%;
}

@media (max-width: 1240px) {


  .two-columns {
    flex-direction: column;
  }

  .column {
    width: 100%;
    margin-bottom: 30px;
  }

  .content-column {
    min-height: 300px;
  }
}

@media (max-width: 768px) {

  .form-column {
    padding: 20px;
    gap: 30px;
  }

  .form-top {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .form-top textarea {
    grid-column: 1;
  }

  .form-top input,
  .form-top select,
  .form-top textarea,
  .form-top button {
    width: 100%;
    box-sizing: border-box;
  }

  .policy-checkbox {
    gap: 20px;
  }

  .content-column {
    min-height: 250px;
    padding: 20px;
  }
}

@media (max-width: 480px) {

  .form-column {
    padding: 15px;
    gap: 20px;
  }

  .content-column {
    min-height: 200px;
    padding: 15px;
  }

  .consultation-points {
    max-width: 100%;
  }
}

@media (max-width: 400px) {

  .form-top input,
  .form-top select,
  .form-top textarea,
  .form-top button {
    min-width: none;
  }
}

@media (max-width: 320px) {


  .form-column {
    padding: 10px;
  }

  .content-column {
    padding: 10px;
    min-height: 180px;
  }

  .block-title {
    font-size: 1.5rem;
  }

  .form-description {
    font-size: 0.9rem;
  }
}

@media (max-width: 480px) {
  .policy-checkbox label {
    font-size: 13px;
    line-height: 1.3;
    flex-wrap: wrap;
  }
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.service-main-content {
  display: flex;
  gap: 15px;
  flex-direction: column;
}

.service-item {
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  padding: 20px;
  background: var(--bg-primary-main);
  gap: 15px;
  justify-content: space-between;
  height: 100%;
}

.service-image {
  width: 100%;
  height: 100%;
  max-height: 220px;
  border-radius: 5px;
  overflow: hidden;
}

.service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 5px;
  transition: transform 0.3s ease;
}

.service-item:hover .service-image img {
  transform: scale(1.1);
}

.service-item:hover .service-title {
  color: var(--hover-main);
  transition: all 0.3s ease-in;
}

.service-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 6px;
  flex-grow: 1;
}

.service-description {
  color: var(--text-primary-main);
}

/* Адаптив для планшетов */
@media (max-width: 1024px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

/* Адаптив для мобильных устройств */
@media (max-width: 768px) {
  .services-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .service-item {
    padding: 15px;
  }
}

@media (max-width: 320px) {
  .services-grid {
    gap: 10px;
  }

  .service-item {
    padding: 10px;
    gap: 10px;
  }

  .service-image {
    max-height: 180px;
  }
}

.acf-block {
  border-radius: 10px;
  padding: 80px 145px;
}

.services-block-title {
  margin-bottom: 30px;
}



.page-numbers.current {
  background: var(--hover-main);
  border-radius: 5px;
  padding: 17px 25px;
  width: 50px;
  height: 50px;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 100%;
  color: var(--text-alt-head);
  border-color: transparent;
  border: 1px solid var(--colors-main);
}

.page-numbers.current:hover {
  border: 1px solid var(--colors-main);
}

.page-numbers:last-child {
  cursor: pointer;
  width: 60px;
  height: 60px;
  display: flex;
  flex-shrink: 0;
  padding: 10px;
  border-radius: 5px;
  background: transparent;
  transition: 0.3s ease-in;
  border: 1px solid var(--text-primary-head);
  align-items: center;
  justify-content: center;
}

.page-numbers:first-child {
  cursor: pointer;
  width: 60px;
  height: 60px;
  display: flex;
  flex-shrink: 0;
  padding: 10px;
  border-radius: 5px;
  background: transparent;
  transition: 0.3s ease-in;
  border: 1px solid var(--text-primary-head);
  align-items: center;
  justify-content: center;
}

.page-numbers {
  border: 1px solid var(--text-primary-head);
  border-radius: 5px;
  padding: 17px 25px;
  width: 50px;
  height: 50px;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 100%;
  color: var(--text-primary-head);
}

.navigation.pagination {
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  justify-content: center;
}

#form.two-columns {
  padding: 0px 145px 80px;
}

.services-main-wrapper {
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  padding: 80px 145px;
  gap: 30px;
}

.form-title-arch {
  color: var(--text-alt-head);
}

.btn-arch {
  border: 1px solid var(--text-alt-head);
  color: var(--text-alt-head);
  width: 100%;
}

.page-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 15px;
  margin-top: 40px;
}

.nav-links {
  display: flex;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}

.page-numbers.current {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--hover-main);
  border-radius: 5px;
  color: var(--text-alt-head);
  font-weight: 600;
  font-size: 18px;
  line-height: 100%;
  text-align: center;

}

.page-numbers {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border-radius: 5px;
  color: var(--text-primary-head);
  font-weight: 600;
  font-size: 18px;
  line-height: 100%;
  text-align: center;
  border: 1px solid var(--text-primary-head);
}

.page-numbers:hover {
  border: 1px solid var(--primary);
}

.page-numbers {
  border: 1px solid black;
}

.page-navigation .page-numbers:hover {
  background: var(--hover-main);
  color: var(--text-alt-head);
}

.page-navigation .page-numbers.dots:hover {
  background: var(--background);
  color: var(--head_primary);
}

.page-navigation .page-numbers.current,
.page-navigation .page-numbers.current:hover {
  border-color: var(--hover-main);
  color: var(--text-alt-head);
  background: var(--hover-main);
}

.swiper-btn {
  cursor: pointer;
  width: 60px;
  height: 60px;
  display: flex;
  flex-shrink: 0;
  padding: 10px;
  border-radius: 5px;
  background: transparent;
  transition: 0.3s ease-in;
  border: 1px solid var(--text-primary-head);
  align-items: center;
  justify-content: center;
}

.swiper-btn svg {
  width: 16px;
  height: 16px;
  align-items: center;
  align-self: center;
  justify-content: center;
  object-fit: cover;
}


.swiper-btn:hover {
  background: var(--hover-main);
}

.swiper-btn:hover svg path {
  stroke: var(--text-alt-head);
}

.swiper-button-disabled {
  pointer-events: none;
  background: transparent;
  border-color: var(--text-primary-second) !important;
}

.swiper-button-disabled svg path {
  stroke: var(--text-primary-second);
}

.pagination-btn {
  cursor: pointer;
  width: 60px;
  height: 60px;
  display: flex;
  flex-shrink: 0;
  padding: 10px;
  border-radius: 5px;
  background: transparent;
  transition: 0.3s ease-in;
  border: 1px solid var(--text-primary-head);
  align-items: center;
  justify-content: center;
}

.pagination-btn svg {
  width: 16px;
  height: 16px;
  align-items: center;
  align-self: center;
  justify-content: center;
  object-fit: cover;
}


.pagination-btn:hover {
  background: var(--hover-main);
}

.pagination-btn:hover svg path {
  stroke: var(--text-alt-head);
}

.pagination-button-disabled {
  pointer-events: none;
  background: transparent;
  border-color: var(--text-primary-second);
}

.pagination-button-disabled svg path {
  stroke: var(--text-primary-second);
}


@media (max-width: 1200px) {

  .services-main-wrapper,
  #form.two-columns {
    padding: 60px 80px;
  }
}

@media (max-width: 768px) {

  .services-main-wrapper,
  #form.two-columns {
    padding: 40px 20px;
  }
}

@media (max-width: 420px) {
  .container {
    padding: 0;
  }

  .content {
    padding: 0 15px !important;
  }

  .wp-block-heading {
    margin-top: 0 !important;
  }
}

@media (max-width: 1024px) {
  .numbers {
    font-size: 28px;
  }
}

@media (max-width: 768px) {
  .numbers {
    font-size: 24px;
  }
}

@media (max-width: 480px) {
  .numbers {
    font-size: 20px;
  }
}


.deals-arch-wrapper {
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  padding: 80px 145px;
  gap: 30px;
}

#deals-block-arch .deals-accordion {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

@media (max-width: 1024px) {
  #deals-block-arch .deals-accordion {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  #deals-block-arch .deals-accordion {
    grid-template-columns: 1fr;
  }

  #deals-block-arch {
    padding: 40px 20px;
  }
}

#deals-block-arch .deal-item {
  border-radius: 10px;
  padding: 30px;
  background: var(--bg-primary-main);
  background-image: url(../images/image\ 14.png);
  background-position: right 10px top 10px;
  background-repeat: no-repeat;
  height: auto;
  max-height: 490px;
  display: flex;
  flex-direction: column;
}

#deals-block-arch .deal-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
  flex-shrink: 0;
}

#deals-block-arch .deal-category {
  border-radius: 5px;
  padding: 10px 15px;
  background: var(--bg-primary-second);
  display: flex;
  align-items: center;
  gap: 10px;
}

#deals-block-arch .deal-category-icon {
  width: 16px;
  height: 16px;
}

#deals-block-arch .deal-title {
  margin-bottom: 15px;
  flex-shrink: 0;
}

#deals-block-arch .deal-content {
  flex-grow: 1;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--colors-main) transparent;
}


#deals-block-arch .deal-content::-webkit-scrollbar {
  width: 12px;
}

#deals-block-arch .deal-content::-webkit-scrollbar-track {
  background: var(--bg-primary-second);
  border-radius: 6px;
  margin: 5px 0;
}

#deals-block-arch .deal-content::-webkit-scrollbar-thumb {
  background-color: var(--colors-main);
  border-radius: 6px;
  border: 2px solid var(--bg-primary-second);
}

#deals-block-arch .deal-content::-webkit-scrollbar-thumb:hover {
  background-color: var(--colors-main);
  opacity: 0.9;
}

#deals-block-arch .deal-content::-webkit-scrollbar-thumb:active {
  background-color: var(--colors-main);
  opacity: 1;
}

#deals-block-arch .deal-content::-webkit-scrollbar-button {
  display: none;
}

@supports (scrollbar-width: thin) {
  #deals-block-arch .deal-content {
    scrollbar-width: thin;
    scrollbar-color: var(--colors-main) var(--bg-primary-second);
  }
}

#deals-block-arch .deal-content {
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

@supports (-webkit-touch-callout: none) {
  #deals-block-arch .deal-content::-webkit-scrollbar-thumb {
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
  }
}

@media (max-width: 480px) {
  #deals-block-arch .deal-content::-webkit-scrollbar {
    width: 8px;
  }

  #deals-block-arch .deal-content::-webkit-scrollbar-track {
    border-radius: 4px;
  }

  #deals-block-arch .deal-content::-webkit-scrollbar-thumb {
    border-radius: 4px;
    border: 1px solid var(--bg-primary-second);
  }
}

#deals-block-arch .deal-content {
  scroll-behavior: smooth;
}

#deals-block-arch .deal-situation {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#deals-block-arch .deal-situation li {
  position: relative;
  list-style-type: none;
  margin-bottom: 8px;
  padding-left: 15px;
  color: var(--text-primary-main);
  font-family: var(--font-family);
  font-weight: 300;
  font-size: 16px;
  line-height: 130%;
}

#deals-block-arch .deal-situation li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 8px;
  height: 8px;
  background: var(--colors-main);
  border-radius: 50%;
}

#deals-block-arch .deal-situation p {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 16px;
  line-height: 130%;
  color: var(--text-primary-main);
  white-space: break-spaces;
}

#deals-block-arch .deal-content::-webkit-scrollbar-thumb {
  transition: opacity 0.3s ease;
}

#deals-block-arch .deal-content:hover::-webkit-scrollbar-thumb {
  opacity: 1;
}

@media (max-width: 1200px) {

  #deals-block-arch,
  #deals-block-arch-arch {
    padding: 0;
  }
}

@media (max-width: 768px) {

  #deals-block-arch,
  #deals-block-arch-arch {
    padding: 0;
  }
}

@media (max-width: 420px) {

  #deals-block-arch,
  #deals-block-arch-arch {
    padding: 0;
  }
}

.deals-tabs {
  display: flex;
  flex-direction: row;
  gap: 10px;
  overflow-y: auto;
}

.deals-tab {
  border: 1px solid var(--text-primary-head);
  border-radius: 5px;
  padding: 17px 25px;
}

.deals-tab:hover {
  background: var(--hover-main);
  border-color: transparent;
  color: var(--text-alt-head);
}

.tab-active {
  background: var(--hover-main);
  border-radius: 5px;
  padding: 17px 25px;
  border-color: transparent;
  color: var(--text-alt-head);
}

.modal-form-title {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 40px;
  line-height: 110%;
  color: var(--text-primary-head);
  margin-bottom: 10px;
}

.modal-form-subtitle {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 16px;
  line-height: 130%;
  color: var(--text-primary-main);
  margin-bottom: 30px;
}

.form-top-modal .policy-checkbox label {
  font-family: var(--font-family);
  font-weight: 300;
  font-size: 14px;
  line-height: 130%;
  color: var(--text-primary-main);
  cursor: pointer;
  display: block;
  align-items: center;
}

.form-top-modal .policy-checkbox input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  border: 1px solid var(--text-primary-main) !important;
  border-radius: 5px;
  background: transparent;
  /* Белый фон по умолчанию */
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  transition: background-color 0.2s ease;
  /* Плавный переход */
}

/* Фон вашего цвета при отмеченном состоянии */
.form-top-modal .policy-checkbox input[type="checkbox"]:checked {
  background-color: var(--colors-main);
  border-color: var(--colors-main);
}

/* Галочка - теперь используем маску вместо фонового изображения */
.form-top-modal .policy-checkbox input[type="checkbox"]:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  background-color: white;
  /* Белый цвет галочки */
  mask-image: url(/wp-content/themes/theme/assets/images/checkbox-check.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url(/wp-content/themes/theme/assets/images/checkbox-check.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
}


.file-button-row {
  display: flex;
  gap: 20px;
  align-items: stretch;
}

.file-input-wrapper {
  flex: 1;
  position: relative;
  display: flex;
}

.file-input-wrapper input[type="file"] {
  width: 100%;
  height: 100%;
  position: absolute;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
  max-width: 50%;
}

.file-input-label {
  border: 1px solid var(--bg-primary-second);
  border-radius: 5px;
  padding: 22px 30px;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 100%;
  color: var(--text-primary-main);
  cursor: pointer;
  transition: all 0.3s ease-in;
  background: transparent;
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  min-height: 100%;
}

.file-input-label .btn-text {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

/* Адаптивные стили */
@media (max-width: 768px) {
  .file-button-row {
    flex-direction: column;
    gap: 15px;
  }

  .file-input-wrapper input[type="file"] {
    max-width: 100%;
  }

  .file-input-label {
    padding: 18px 20px;
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  .file-input-label {
    padding: 15px;
    font-size: 14px;
  }


  .file-input-label .btn-text {
    justify-content: center;
    gap: 8px;
  }

  .file-input-label svg {
    width: 14px;
    height: 14px;
  }
}

@media (max-width: 320px) {
  .file-input-label {
    padding: 12px 10px;
    font-size: 13px;
  }
}


@media (max-width: 480px) {

  .btn,
  .btn-border {
    width: 100%;
  }
}

.wp-block-group__inner-container .is-layout-constrained .wp-block-group-is-layout-constrained {}

.wp-block-group {
  border-radius: 10px;
  padding: 80px 145px;
  background: var(--bg-primary-main);
}

.wp-block-group__inner-container .is-layout-constrained .wp-block-group-is-layout-constrained {
  display: flex;
  gap: 40px;
}

h2.wp-block-heading {
  margin-bottom: 40px;
}

h5.wp-block-heading {
  margin-top: 30px;
  margin-bottom: 20px;
}

.wp-block-table {
  border-radius: 10px;
}

.wp-block-table .has-fixed-layout td {
  /* border: 1px solid var(--bg-primary-second); */
  padding: 20px 30px;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 20px;
  line-height: 130%;
  color: var(--text-primary-main);
}

.wp-block-table .has-fixed-layout td.has-text-align-right {
  color: var(--text-primary-head);
}

@media (max-width: 1200px) {
  .wp-block-group {
    padding: 60px 80px;
  }
}

@media (max-width: 768px) {
  .wp-block-group {
    padding: 40px 20px;
  }
}

#form .policy-checkbox {
  justify-content: center;
  margin-top: 20px;
}

.inputs_wrap {
  display: flex;
  flex-direction: row;
  gap: 10px;
}

/* @media (max-width: 1200px) {
    #deals-block-arch {
        padding: 0 80px 60px 80px;
    }
}

@media (max-width: 768px) {
   #deals-block-arch {
        padding: 40px 20px;
    }
} */

@media (max-width: 1200px) {
  .deals-arch-wrapper {
    padding: 60px 80px;
  }
}

@media (max-width: 768px) {
  .deals-arch-wrapper {
    padding: 40px 20px;
  }
}

.fancybox__backdrop {
  background: rgba(48, 45, 43, 0.5) !important;
}

body #primary .content .privacy-policy {
  max-width: 1530px !important;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 40px;
}

.content>p {
  margin-bottom: 10px;
}


.error-wrapper {
  display: flex;
  justify-content: center;
  padding: 0 15px;
}

.error-right-side {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}

.file-count {
  font-weight: 600;
  margin-left: 2px;
}

.form .btn {
  gap: 10px;
}

.swiper-btn-prev,
.swiper-btn-next {
  position: static;
  width: 60px;
  height: 60px;
  margin: 0;
  background: transparent;
  border: 1px solid var(--text-primary-head);
  border-radius: 5px;
  color: var(--text-primary-head);
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.swiper-btn-prev:hover,
.swiper-btn-next:hover {
  background: var(--hover-main);
  border-color: transparent;
}

.swiper-btn-prev:hover svg path,
.swiper-btn-next:hover svg path {
 stroke: #fff;
}

.swiper-buttons-wrap {
  display: flex;
  flex-direction: row;
  gap: 20px;
}

