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

::selection {
  background-color: var(--primary);
  color: var(--background);
}

::-webkit-scrollbar {
  width: 6px;
  /* ширина scrollbar */
}

::-webkit-scrollbar-track {
  background: var(--background);
  /* цвет дорожки */
}

::-webkit-scrollbar-thumb {
  background-color: var(--primary);
  /* цвет плашки */
  border-radius: 10px;
  /* закругления плашки */
  /* padding вокруг плашки */
}

.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;
    /* margin-left: calc(-1 * (1920px - 1170px) / 2) !important;
    margin-right: calc(-1 * (1920px - 1170px) / 2) !important; */
  }
}
/* =========== BASE CONFIG =========== */
html {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
  font-family: var(--font-family);
  color: var(--main-text-primary);
  font-weight: 500;
  line-height: 1.2;
  box-sizing: inherit;
}

body {
  background-color: var(--background);
  /*max-width: 1920px;*/
  overflow-x: hidden;
  margin: 0 auto;
  width: auto;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  cursor: default;
}

main {
  flex: 1 1 auto;
}
/* 
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;
} */

ul li {
  position: relative;
  list-style: none;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  color: var(--head-primary);
  line-height: 1.2;
  font-weight: 600;
}
h1,
.h1 {
  font-size: clamp(1.375rem, 1.025rem + 1.75vw, 3.125rem);
  line-height: 1.1;
}
h2,
.h2 {
  font-size: clamp(1.5rem, 1.25rem + 1.25vw, 2.75rem);
  line-height: 1.1;
}
h3,
.h3 {
  font-size: clamp(1.5rem, 1.4rem + 0.5vw, 2rem);
}
h4,
.h4 {
  font-size: clamp(1.25rem, 1.2rem + 0.25vw, 1.5rem);
}
h5,
.h5 {
  font-size: 20px;
}
h6,
.h6 {
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
}

h2.not_founded {
  margin-bottom: 40px;
}

p {
  font-size: 20px;
}

.p1 {
  font-size: 20px;
}

.p2 {
  font-size: 16px;
}

.p3-semi {
  font-size: 16px;
  font-weight: 600;
  color: var(--head-primary);
}
.p3 {
  font-size: 16px;
  line-height: 1.4;
}
.p4 {
  font-size: 14px;
}

a {
  font-family: var(--font-family);
  color: var(--main-text-primary);
  text-decoration: none;
  transition: all 0.2s ease-in;
  cursor: pointer;
}

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

.title {
  margin-bottom: 40px;
}

path {
  transition: 0.2s ease-in;
}

#more-btn {
  display: none;
  margin: 0 auto;
}

@media (max-width: 992px) {
  .more-item.hidden {
    display: none;
  }

  #more-btn {
    display: flex;
  }
}

.readmore__btn {
  position: relative;
  width: fit-content;
  margin-top: 30px;
  color: var(--primary);
  border-bottom: 1px dashed var(--primary);
  transition: 0.2s ease-in;
  cursor: pointer;
}

.readmore__btn:hover {
  color: var(--primary-hover);
}

.readmore__btn::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--primary-hover);
  opacity: 0;
  transition: 0.2s ease-in;
}

.readmore__btn:hover::before {
  opacity: 1;
}

iframe {
  border: none;
  outline: none;
}

@media (max-width: 768px) {
  .title {
    margin-bottom: 20px;
  }
  h1.page__title {
    margin-bottom: 20px;
  }
  h2.not_founded {
    margin-bottom: 20px;
  }
  .readmore__btn {
    margin-top: 10px;
  }
}

body.privacy-policy .page__title {
  margin-bottom: 20px;
  font-size: clamp(1.375rem, 1rem + 1.88vw, 3.25rem);
}

body.privacy-policy h2.wp-block-heading {
  font-size: clamp(1.125rem, 0.975rem + 0.75vw, 1.875rem);
  margin-bottom: 20px;
}

body.privacy-policy .content * {
  margin-bottom: 15px;
}

body.single-services #mainbanner-block .item-mainbanner {
  min-height: 543px;
}

.breadcrumbs {
  padding: 20px 0;
  font-size: 16px;
  line-height: 130%;
  color: var(--main-text-primary);
}
.breadcrumbs span {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.breadcrumbs span .current-item {
  color: var(--primary);
}

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

.block-tag {
  width: fit-content;
  border: 1px solid var(--stroke);
  border-radius: 5px;
  padding: 10px 20px;
  margin-bottom: 15px;
}

#header .socials {
  display: flex;
  align-items: center;
  gap: 20px;
}

.socials__items {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
}

.socials__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 55px;
  border: 1px solid var(--stroke);
  background: var(--background);
  cursor: pointer;
  transition: 0.2s ease-in;
  flex-shrink: 0;
}
.socials__item:hover {
  background-color: var(--primary);
  border-color: var(--primary);
}

.socials__item svg,
.socials__item img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  display: block;
}

.socials__item:hover svg path {
  fill: var(--background);
}

.btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  outline: none;
  border: none;
  border-radius: 15px;
  padding: 13px 45px;
  white-space: nowrap;
  color: var(--head-secondary);
  background-color: var(--primary);
  font-size: 16px;
  cursor: pointer;
  transition: all 0.2s ease-in;
}

.btn:hover {
  background-color: var(--primary-hover);
  color: var(--head-secondary);
}

.btn.transparent {
  border: 1px solid var(--primary);
  background-color: transparent;
  color: var(--primary);
}

.btn.transparent:hover {
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
  color: var(--head-secondary);
}

.btn.transparent.arrow {
  padding-right: 74px;
}

.btn.transparent.arrow:hover {
  background-color: var(--primary);
  border-color: var(--primary);
}

.btn.transparent.arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 35px;
  transform: translateY(-50%) rotate(-45deg);
  width: 20px;
  height: 20px;
  background-image: url(../images/btn-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: 0.2s ease-in;
}

.btn.transparent.arrow:hover::before {
  background-image: url(../images/btn-arrow-hov.svg);
  transform: translateY(-50%) rotate(0);
}
.swiper {
  width: 100% !important;
  overflow: hidden !important;
}

.swiper__nav .swiper__buttons {
  display: flex;
  gap: 10px;
}

.swiper__nav .swiper-button-prev::after,
.swiper__nav .swiper-button-next::after {
  display: none;
}

.swiper__nav .swiper-button-prev,
.swiper__nav .swiper-button-next {
  position: absolute;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  width: 50px;
  height: 50px;
  background-color: var(--background);
  cursor: pointer;
  transition: 0.2s ease-in;
}

.swiper__nav .swiper-button-prev {
  left: 25px;
}

.swiper__nav .swiper-button-next {
  right: 25px;
}

.swiper__nav .swiper-button-prev.swiper-button-disabled,
.swiper__nav .swiper-button-next.swiper-button-disabled {
  background: var(--stroke);
  opacity: 1;
  pointer-events: none;
}

.swiper__nav .swiper-button-prev svg {
  transform: rotate(180deg);
}

.swiper__nav .swiper-button-prev svg,
.swiper__nav .swiper-button-next svg {
  width: 16px;
  height: 12px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}

.swiper__nav .swiper-button-prev:hover,
.swiper__nav .swiper-button-next:hover {
  background-color: var(--primary-hover);
}

.swiper__nav .swiper-button-prev path,
.swiper__nav .swiper-button-next path {
  fill: var(--primary);
}

.swiper__nav .swiper-button-prev.swiper-button-disabled path,
.swiper__nav .swiper-button-next.swiper-button-disabled path {
  fill: var(--main-text-primary);
}

.swiper__nav .swiper-button-prev:hover path,
.swiper__nav .swiper-button-next:hover path {
  fill: var(--background);
}

@media (max-width: 1192px) {
  .swiper__nav {
    margin-top: 20px;
  }
  .swiper__buttons {
    gap: 20px;
  }
  .swiper__nav .swiper-button-prev,
  .swiper__nav .swiper-button-next {
    position: static;
    border: 1px solid var(--stroke);
    margin-top: unset;
  }
}

@media (max-width: 600px) {
  .btn {
    width: 100%;
  }
  .swiper__nav .swiper-button-prev,
  .swiper__nav .swiper-button-next {
    width: 40px;
    height: 40px;
  }
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
  width: fit-content;
  margin: 40px auto 80px;
}

.pagination span.page-numbers.prev,
.pagination span.page-numbers.next {
  background: var(--stroke);
  border-color: var(--stroke);
  opacity: 1;
  pointer-events: none;
}

.pagination .page-numbers.prev,
.pagination .page-numbers.next {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  width: 50px;
  height: 50px;
  background: transparent;
  border: 1px solid var(--primary);
  transition: 0.2s ease-in;
}

.pagination .page-numbers.prev {
  margin-right: 40px;
}
.pagination .page-numbers.next {
  margin-left: 40px;
}

.pagination .page-numbers.prev:hover,
.pagination .page-numbers.next:hover {
  background: var(--primary-hover);
  border-color: var(--primary-hover);
}

.pagination span.page-numbers.prev svg path,
.pagination span.page-numbers.next svg path {
  fill: var(--main-text-primary);
}

.pagination .page-numbers.prev svg path,
.pagination .page-numbers.next svg path {
  fill: var(--primary);
}

.pagination .page-numbers.prev:hover svg path,
.pagination .page-numbers.next:hover svg path {
  fill: var(--background);
}

.pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  text-align: center;
}
.pagination .page-numbers.current {
  color: var(--primary);
}
@media (max-width: 992px) {
  .pagination {
    margin-bottom: 60px;
  }
}
@media (max-width: 768px) {
  .pagination {
    margin-top: 20px;
    margin-bottom: 40px;
  }
}
/* #main,
#primary {
  min-height: 83vh;
} */

/*============ HEADER =================*/
#header {
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 100;
  background: var(--background);
}

#header .header__wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  height: 100%;
  padding: 10px 0 20px;
}

#header .header__logo {
  max-width: 250px;
  width: 100%;
  height: auto;
}

#header .header__logo img,
#header .header__logo svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#header .header__desc .socials {
  margin: 0 auto;
}

#header .content-header {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 10px;
}

#header .content-header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

#header .phones {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

#header .header__desc .phones__value {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 13px 25px;
  border-radius: 15px;
  color: var(--head-secondary);
  background: var(--primary);
  white-space: nowrap;
}

#header .phones__value:hover,
#header .emails__value:hover {
  background: var(--primary-hover);
}

#header .content-header__bottom {
  padding-top: 15px;
  border-top: 1px solid var(--stroke);
}

#header .header-menu {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}

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

#header .header-menu .nav-menu-element:hover > a,
.home #header .header-menu .nav-menu-element:hover > a,
#header .header-menu .nav-menu-element.active > a,
.home #header .header-menu .nav-menu-element.active > a {
  color: var(--primary);
}

#header .header__desc .header-menu .nav-menu-element:is(.has-childs) {
  position: relative;
  padding-right: 29px;
}

#header .header__desc .header-menu .nav-menu-element:is(.has-childs)::before {
  content: "";
  position: absolute;
  top: -1px;
  right: 0;
  width: 24px;
  height: 24px;
  background-image: url("../images/sub-arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: 0.2s ease-in;
}

#header
  .header__desc
  .header-menu
  .nav-menu-element:is(.has-childs):hover::before,
#header
  .header__desc
  .header-menu
  .nav-menu-element.active:is(.has-childs)::before {
  background-image: url("../images/sub-arrow-hov.svg");
}

#header .header-menu .sub-menu {
  position: absolute;
  top: 54px;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 30px 56px 30px 30px;
  width: fit-content;
  border-top: 1px solid var(--stroke);
  border-radius: 0 0 10px 10px;
  box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.1);
  background: var(--background);
  transition: all 0.2s ease-in;
  opacity: 0;
  visibility: hidden;
  z-index: 2;
}

#header .header-menu .sub-menu::before {
  content: "";
  position: absolute;
  top: -35px;
  left: 0;
  width: 100%;
  height: 70%;
}

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

#header .header-menu > .nav-menu-element.has-childs .sub-menu li a {
  position: relative;
  font-weight: 500;
  font-size: 16px;
  line-height: 120%;
  color: var(--main-text-primary);
  display: block;
  width: max-content;
  max-width: 750px;
}

#header .header-menu > .nav-menu-element.has-childs .sub-menu li:hover a,
#header .header-menu > .nav-menu-element.has-childs .sub-menu li.active a {
  transform: translateX(26px);
  color: var(--primary);
}

#header .header-menu > .nav-menu-element.has-childs .sub-menu li a::before {
  content: "";
  position: absolute;
  top: 3px;
  left: -26px;
  width: 16px;
  height: 12px;
  opacity: 0;
  background-image: url("../images/sub-menu-arr.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transition: 0.2s ease-in;
}

#header
  .header-menu
  > .nav-menu-element.has-childs
  .sub-menu
  li:hover
  a::before,
#header
  .header-menu
  > .nav-menu-element.has-childs
  .sub-menu
  li.active
  a::before {
  opacity: 1;
}

#header .header__buttons {
  display: flex;
  align-items: center;
  gap: 10px;
}

/*================ MOBILE MNU =============*/
#header .burger.open_menu {
  display: none;
  flex-direction: column;
  background-color: transparent;
  height: 40px;
  width: 40px;
  justify-content: space-evenly;
  align-items: center;
  border-radius: 2px;
  flex-shrink: 0;
  transition: 0.2s ease-in;
}
#header .burger.open_menu span {
  background-color: var(--primary);
  width: 30px;
  height: 4px;
  transition: all 0.2s ease-in;
}
#header .burger.open_menu.clicked {
  background-color: var(--primary);
}
#header .burger.open_menu.clicked span {
  background-color: var(--background);
}
#header #mobile-mnu {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 320px;
  background-color: var(--background);
  padding: 30px;
  transition: all 0.2s ease-in;
  transform: translateX(-350px);
  overflow-y: auto;
  z-index: 9999;
}
#header #mobile-mnu #close-mnu {
  font-size: 45px;
  position: absolute;
  right: 10px;
  top: 10px;
  cursor: pointer;
  display: block;
}
#header #mobile-mnu #close-mnu path {
  fill: var(--primary);
}

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

#header #mobile-mnu .menuTop {
  display: flex;
  flex-direction: column;
  gap: 15px;
  list-style-type: none;
}

#header #mobile-mnu .menuTop li {
  width: fit-content;
}
#header #mobile-mnu .menuTop li a {
  font-weight: 600;
  font-size: 18px;
  line-height: 1.2;
  color: var(--head-primary);
}
#header #mobile-mnu .menuTop li:hover a,
#header #mobile-mnu .menuTop li.active a {
  color: var(--primary-hover);
}

#header #mobile-mnu .phones {
  flex-direction: column;
  align-items: start;
}

#header #mobile-mnu .phones .phones__value,
#header #mobile-mnu .emails .emails__value,
#header #mobile-mnu .socials__title {
  font-weight: 600;
  font-size: 18px;
  line-height: 1.2;
  color: var(--head-primary);
}

#header #mobile-mnu .phones__value:hover,
#header #mobile-mnu .emails__value:hover {
  color: var(--primary);
  background: transparent;
}

#header #mobile-mnu .addresses {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#header #mobile-mnu .address__value p,
#header #mobile-mnu .header__timatables-value {
  font-size: clamp(1rem, 0.925rem + 0.38vw, 1.375rem);
  color: var(--main-text-primary);
}

#header #mobile-mnu .socials {
  flex-direction: column;
  align-items: flex-start;
}

#header #mobile-mnu.opened {
  transform: translateX(0);
}
@media (max-width: 1192px) {
  #header .header__wrapper {
    gap: 20px;
    padding: 10px 0;
  }
  #header .burger.open_menu {
    display: flex;
    justify-self: flex-end;
  }
  #header .content-header__bottom {
    display: none;
  }
}
@media (max-width: 992px) {
  #header .header__wrapper {
    gap: 20px;
  }
  #header .content-header__top {
    gap: 10px;
  }
  #header .header__desc .socials {
    flex-direction: column;
    gap: 5px;
  }
  #header .header__logo {
    margin-left: -10px;
  }
}
@media (max-width: 768px) {
  #header .header__desc .phones {
    margin-left: auto;
  }
  #header .header__desc .socials {
    display: none;
  }
}
@media (max-width: 435px) {
  #header .header__wrapper {
    gap: 10px;
  }
  #header .header__desc .phones__value {
    padding: 5px 10px;
    border-radius: 7px;
    font-size: 16px;
  }
}

/*============ ARCHIVE PRODUCTS STYLES ===============*/

.archive-products__holder {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 80px;
}

.archive-products__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.archive-products__name {
  text-transform: uppercase;
}

.archive-products__card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 35px 30px;
  border-radius: 30px;
  width: 100%;
  min-height: 190px;
  height: 100%;
  background: var(--background-secondary);
  box-shadow: 5px 5px 25px 0px #00000026;
  border: 1px solid var(--background-secondary);
  overflow: hidden;
  transition: 0.2s ease-in;
}

.archive-products__card:hover {
  border-color: var(--stroke);
  background: var(--background);
  box-shadow: unset;
}

.archive-products__card:hover .archive-products__img img {
  transform: scale(0.95);
}

.archive-products__img {
  position: absolute;
  top: 50%;
  left: 16px;
  transform: translateY(-50%);
  max-width: 220px;
  width: 100%;
  height: 173px;
}

.archive-products__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: 0.2s ease-in;
}

.archive-products__content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 260px;
  width: 100%;
}

.archive-products__text {
  transition: 0.2s ease-in;
}

.archive-products__card:hover .archive-products__text {
  color: var(--main-text-primary);
}

.archive-products__btn {
  padding: 15px 25px;
  width: fit-content;
}

@media (max-width: 1650px) {
  .archive-products__card {
    justify-content: start;
  }
  .archive-products__img {
    top: unset;
    left: unset;
    bottom: 0;
    right: 0;
    transform: translateY(0);
    max-width: 170px;
    /* opacity: 0.3; */
  }
  .archive-products__content {
    max-width: 230px;
  }
}

@media (max-width: 1192px) {
  .archive-products__holder {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .archive-products__item:nth-child(3n) {
    grid-column: span 2;
  }
  .archive-products__card {
    padding: 30px;
  }
  .archive-products:nth-child(3n) {
    grid-column: span 2;
  }
}
@media (max-width: 992px) {
  .archive-products__holder {
    margin-bottom: 60px;
  }
}
@media (max-width: 768px) {
  .archive-products__holder {
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 40px;
  }
  .archive-products__item:nth-child(3n) {
    grid-column: span 1;
  }
  .archive-products {
    gap: 10px;
  }
  .archive-products:nth-child(3n) {
    grid-column: span 1;
  }
  .archive-products__card {
    padding: 20px;
  }
  .archive-products__content {
    max-width: unset;
  }
}
@media (max-width: 600px) {
  .archive-products__img {
    height: 120px;
  }
}

/*============ PRODUCTS STYLE ===============*/

.category-products__holder {
  display: flex;
  flex-direction: column;
}

.category-products__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 40px;
}

.category-products__cat {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--stroke);
  border-radius: 10px;
  padding: 20px 45px;
  text-align: center;
  color: var(--head-primary);
  background: var(--background-secondary);
}

.category-products__cat:hover {
  color: var(--head-secondary);
  background: var(--primary);
  border-color: var(--primary);
}

.category-products__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.item-products {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
}

.item-products:hover .item-products__img img {
  transform: scale(1.05);
}

.item-products__img {
  width: 100%;
  height: 254px;
  border-radius: 20px;
  flex-shrink: 0;
  overflow: hidden;
}

.item-products__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: 0.4s ease-in;
}

.item-products__content {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 55px;
  padding: 20px;
}

.item-products__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
}

.item-products__prices {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.btn.transparent.item-products__btn:hover {
  background-color: var(--primary);
}

.item-products__price-old {
  text-decoration: line-through;
}

@media (max-width: 1450px) {
  .category-products__items {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}
@media (max-width: 1192px) {
  .item-products__img {
    max-height: 280px;
    height: 50vw;
  }
}
@media (max-width: 992px) {
  .category-products__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .item-products__content {
    gap: 20px;
    padding: 20px 10px;
  }
}
@media (max-width: 768px) {
  .category-products__cats {
    margin-bottom: 20px;
  }
}
@media (max-width: 650px) {
  .category-products__cat {
    width: 100%;
    padding: 15px;
  }
  .category-products__items {
    display: flex;
    flex-direction: column;
  }
  .item-products__content {
    gap: 10px;
    padding: 10px;
  }
}

/*============ SERVICES STYLE ===============*/

.services__holder {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  margin-bottom: 80px;
}

.item-services {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  min-height: 420px;
  height: 100%;
  border-radius: 20px;
  padding: 30px;
  overflow: hidden;
  cursor: pointer;
  transition: 0.2s ease-in;
}

.item-services::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 35.6%,
    rgba(0, 0, 0, 0.3) 91.9%
  );
  z-index: 1;
}

.item-services:hover .item-services__img img {
  transform: scale(1.1);
}

.item-services__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}

.item-services__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: 0.3s ease-in;
}

.item-services__name {
  position: relative;
  color: var(--head-secondary);
  z-index: 2;
}

@media (max-width: 1450px) {
  .services__holder {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 1192px) {
  .item-services {
    min-height: 350px;
  }
}
@media (max-width: 992px) {
  .services__holder {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 60px;
  }
  .item-services {
    padding: 20px;
  }
}
@media (max-width: 768px) {
  .services__holder {
    margin-bottom: 40px;
  }
}
@media (max-width: 650px) {
  .services__holder {
    grid-template-columns: repeat(1, 1fr);
  }
}

/*============ WORKS BLOCK ===============*/

.works__block {
  margin-bottom: 80px;
}

.works__block .works__title {
  max-width: 620px;
}

.works__block .swiper {
  margin: -30px;
  padding: 30px;
  box-sizing: content-box;
}

.works__block .swiper-slide {
  height: auto;
}

.works__block .swiper__nav .swiper-button-prev {
  left: 55px;
}

.works__block .swiper__nav .swiper-button-next {
  right: 55px;
}

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

.item-works {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 20px;
  background: var(--background-secondary);
  overflow: hidden;
  box-sizing: border-box;
  cursor: pointer;
  transition: 0.4s ease-in;
}

.item-works:hover {
  background: var(--background);
  box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.1);
}
.item-works:hover .item-works__img img {
  transform: scale(1.2);
}

.item-works__img {
  border-radius: 20px;
  height: 350px;
  flex-shrink: 0;
  overflow: hidden;
}

.item-works__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: 0.4s ease-in;
}

.item-works__content {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 20px 25px 25px;
}

.item-works__name {
  margin-bottom: 20px;
}

.item-works__characters {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 30px;
  margin-top: auto;
}

.character-works {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.character-works__value {
  color: var(--head-primary);
}

.item-works__btn {
  width: 100%;
  justify-content: flex-start;
  margin-top: auto;
}

@media (max-width: 1450px) {
  .works__holder {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}
@media (max-width: 1192px) {
  .item-works__img {
    height: 50vw;
    max-height: 280px;
  }
}
@media (max-width: 992px) {
  .works__block {
    margin-bottom: 60px;
  }
  .works__block .swiper {
    margin: 0;
    padding: 0;
  }
  .works__holder {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .item-works:hover {
    box-shadow: none;
  }
}

@media (max-width: 768px) {
  .works__block {
    margin-bottom: 40px;
  }
  .item-works__content {
    padding: 20px 15px;
  }
  .item-works__characters,
  .item-works__name {
    margin-bottom: 15px;
  }
}
@media (max-width: 650px) {
  .works__holder {
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
  }
}

/*============ FORM BLOCK ===============*/

.form__block {
  margin-bottom: 80px;
}

.form__block .form__wrapper {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-radius: 10px;
  background: var(--background-secondary);
  padding: 70px;
  min-height: 530px;
  height: 100%;
  overflow: hidden;
}

.form__block .form__img {
  position: absolute;
  top: 0;
  left: 31%;
  max-width: 458px;
  width: 100%;
  height: auto;
}

.form__block .form__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.form__block .form__left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
  max-width: 500px;
  width: 100%;
}
.form__block .form__left,
.form__block .form__right {
  position: relative;
  z-index: 2;
}

.form__block .form__info {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.form__block .form__text {
  max-width: 350px;
  width: 100%;
}

.form__block .socials-form {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 25px;
}

.form__block .socials-form__text {
  max-width: 154px;
  width: 100%;
}

.form__block .right-form {
  display: flex;
  flex-direction: column;
  gap: 40px;
  border-radius: 20px;
  padding: 40px;
  max-width: 650px;
  width: 100%;
  height: 100%;
  background: var(--background);
}

@media (max-width: 1650px) {
  .form__block .form__img {
    opacity: 0.3;
  }
}
@media (max-width: 1450px) {
  .form__block .form__wrapper {
    padding: 50px;
  }
}
@media (max-width: 992px) {
  .form__block {
    margin-bottom: 60px;
  }
  .form__block .form__wrapper {
    flex-direction: column;
    padding: 30px;
  }
  .form__block .form__left,
  .form__block .form__text,
  .form__block .right-form {
    max-width: unset;
  }
  .form__block .form__img {
    display: none;
  }
}
@media (max-width: 768px) {
  .form__block {
    margin-bottom: 40px;
  }
  .form__block .form__wrapper {
    padding: 30px 20px;
  }
  .form__block .right-form {
    padding: 20px;
    gap: 20px;
  }
  .form__block .form__info {
    gap: 20px;
  }
  .form__block .socials-form {
    gap: 10px;
  }
}
@media (max-width: 650px) {
  .form__block .container {
    padding: 0;
  }
}

/*============ FOOTER ===============*/
#footer {
  position: relative;
  left: 0;
  width: 100%;
  padding: 40px 0 0;
  background: var(--background-thirdly);
}

#footer .footer__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px;
  margin-bottom: 30px;
}

#footer .footer__left {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 495px;
  width: 100%;
}

#footer .footer__logo {
  max-width: 250px;
  width: 100%;
  height: 100%;
}

#footer .footer__logo img,
#footer .footer__logo svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

#footer .footer__req {
  display: flex;
  flex-direction: column;
}

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

#footer .footer__menus {
  display: flex;
  gap: 50px;
  max-width: 720px;
  width: 100%;
}

#footer .menu-footer {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 206px;
  width: 100%;
}

#footer .footer-menu {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#footer .footer-menu li a {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 16px;
  line-height: 120%;
  color: var(--head-primary);
}
#footer .footer-services li:hover a,
#footer .footer-menu li:hover a {
  color: var(--primary);
}

#footer .footer__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 30px;
  max-width: 495px;
  width: 100%;
}

#footer .footer__phones {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

#footer .footer__phone:hover {
  color: var(--primary);
}

#footer .footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px 20px;
  padding: 30px 0;
  border-top: 1px solid var(--stroke);
}

#footer .privacy-holder {
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-align: center;
}
#footer .privacy-holder:hover {
  color: var(--primary);
}
#footer .dev {
  display: flex;
  gap: 10px;
  color: var(--main-text-primary);
}
#footer .dev:hover {
  color: var(--primary);
}

.glogo {
  width: 111px;
  height: 17px;
  mask-image: url("../images/gmask.png");
  mask-origin: border-box;
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: var(--main-text-primary);
  position: relative;
  cursor: pointer;
  display: inline-flex;
  vertical-align: sub;
  overflow: hidden;
}

.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: 3s;
}

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

  50% {
    transform: translateX(0);
  }

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

@media (max-width: 1850px) {
  #footer .footer__left,
  #footer .footer__right {
    max-width: unset;
    width: unset;
  }
}
@media (max-width: 1450px) {
  #footer .footer__right {
    width: 100%;
    align-items: flex-start;
  }
  #footer .footer__menus {
    max-width: 920px;
  }
  #footer .menu-footer {
    max-width: unset;
  }
}
@media (max-width: 1192px) {
  #footer .footer__menus {
    max-width: unset;
  }
  #footer .menu-footer:first-child {
    width: fit-content;
  }
}
@media (max-width: 768px) {
  #footer {
    padding-top: 30px;
  }
  #footer .footer__menus {
    flex-direction: column;
    gap: 20px;
  }
  #footer .menu-footer,
  #footer .footer__right {
    gap: 10px;
  }
  #footer .footer__bottom {
    flex-direction: column;
    margin: 0 auto;
  }
  #footer .footer__top {
    gap: 20px;
    margin-bottom: 20px;
    justify-content: center;
  }
  #footer .footer__bottom {
    padding: 20px 0;
  }
}
/* ============== MODAL ============= */

.fancybox__content .fancybox__html5video {
  outline: 0;
}
.theme-modal {
  display: none;
}
.theme-modal.fancybox__content {
  border-radius: 20px;
  padding: 40px;
  max-width: 515px;
  width: 100%;
  background: var(--background);
}

.theme-modal.fancybox__content .modal__title,
#modal-success.theme-modal.fancybox__content .modal__title,
#modal-error.theme-modal.fancybox__content .modal__title {
  margin-bottom: 15px;
}

.theme-modal.fancybox__content .modal__subtitle,
#modal-success.theme-modal.fancybox__content .modal__sibtitle,
#modal-error.theme-modal.fancybox__content .modal__subtitle {
  margin-bottom: 25px;
}

.theme-modal.fancybox__content .close__modal {
  width: 100%;
}
.fancybox__toolbar__column.is-right .f-button svg path,
.fancybox__toolbar__column.is-right .f-button svg circle {
  stroke: var(--background);
}
.fancybox__content > .f-button.is-close-btn {
  --f-button-width: 15px !important;
  --f-button-height: 15px !important;
  --f-button-svg-width: 100% !important;
  --f-button-svg-height: 100% !important;
  --f-button-bg: transparent !important;
  --f-button-active-bg: transparent !important;
  --f-button-hover-bg: transparent !important;
  top: 20px !important;
  right: 20px !important;
  opacity: 1 !important;
}

.fancybox__content .f-button.is-close-btn svg path {
  fill: var(--stroke);
  stroke: transparent !important;
  transition: 0.2s ease-in;
}
.fancybox__content .f-button.is-close-btn:hover svg path {
  fill: var(--primary);
}
.fancybox__backdrop {
  background: rgba(0, 0, 0, 0.7) !important;
}

@media (max-width: 768px) {
  .theme-modal.fancybox__content,
  #modal-success.theme-modal.fancybox__content,
  #modal-error.theme-modal.fancybox__content {
    padding: 30px 20px;
  }
  #modal-success.theme-modal.fancybox__content,
  #modal-error.theme-modal.fancybox__content {
    padding: 40px 20px 30px;
  }
  .theme-modal.fancybox__content .modal__subtitle,
  #modal-success.theme-modal.fancybox__content .modal__sibtitle,
  #modal-error.theme-modal.fancybox__content .modal__subtitle {
    margin-bottom: 15px;
  }
}

/* ============== FORMS ============= */

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

.form__inputs {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

input,
textarea {
  outline: none;
  border: none;
}

textarea {
  min-height: 110px;
  height: 100%;
  resize: none;
}

.form-control,
textarea {
  border: 1px solid var(--main-text-primary);
  border-radius: 15px;
  padding: 16px 20px;
  width: 100%;
  background: var(--background);
  font-size: 14px;
  transition: 0.2s ease-in;
}

.form-control::placeholder,
textarea::placeholder {
  font-size: 14px;
  transition: 0.2s ease-in;
}

.form-control:hover,
.form-control:focus,
textarea:hover,
textarea:focus {
  border: 1px solid var(--primary);
  background: var(--background);
  color: var(--primary);
}

.form-control:hover::placeholder,
.form-control:focus::placeholder,
textarea:hover::placeholder,
textarea:focus::placeholder {
  color: var(--primary);
}

.form-control.error,
textarea.error {
  border-color: rgb(255, 34, 34);
  color: rgb(255, 34, 34);
  background: var(--background);
}

.form-control.error::placeholder,
textarea.error::placeholder {
  color: rgb(255, 34, 34);
}

.form .file__title {
  color: var(--head-secondary);
  cursor: pointer;
}
.form .file__upload-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.form .file__item {
  display: flex;
  align-items: center;
  gap: 5px;
}

.form .file__item p {
  color: var(--head-secondary);
  font-size: 14px;
}

.form .file__item-delete {
  cursor: pointer;
}
.form .file__item-delete svg {
  width: 12px;
  height: 12px;
}

.form .file__item-delete svg path {
  fill: var(--head-secondary);
}

.form input.hidden {
  display: none;
}

.form__buttons {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.form__buttons .btn {
  width: 100%;
}

.form__buttons .privacy-policy {
  width: 100%;
  color: var(--main-text-secondary);
}

.form .privacy-policy a {
  font-size: 14px;
  color: inherit;
  text-decoration: underline;
  text-decoration-skip-ink: none;
}

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

@media (max-width: 768px) {
  .form {
    gap: 15px;
  }
}

/* ============= 404 ERROR PAGE =========== */

.error__wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: 1513px;
  width: 100%;
  margin: 60px auto 80px;
}

.error__number {
  font-weight: 600;
  font-size: clamp(7.5rem, 4rem + 17.5vw, 25rem);
  line-height: 110%;
  color: var(--primary);
}

.error__number span {
  font-weight: inherit;
  font-size: inherit;
  color: var(--primary-hover);
}

.error__content {
  max-width: 570px;
  width: 100%;
}

.error__title {
  margin-bottom: 20px;
}

.error__desc {
  margin-bottom: 40px;
}

@media (max-width: 1192px) {
  .error__wrapper {
    flex-direction: column;
  }
  .error__content {
    text-align: center;
  }
  .error__content .btn {
    margin: 0 auto;
  }
}
@media (max-width: 992px) {
  .error__wrapper {
    margin-bottom: 60px;
  }
}
@media (max-width: 768px) {
  .error__wrapper {
    margin: 40px auto;
  }
}

/*# sourceMappingURL=main.css.map */

#newservice-block {
  margin-bottom: 80px;
}

#newservice-block .container {
  display: flex;
  gap: 30px;
}

#newservice-block .newservice__left {
  flex: 1 0 49%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
  min-height: 600px;
  height: 100%;
  border-radius: 20px;
  padding: 50px;
  background: var(--background-secondary);
}

#newservice-block .newservice__top {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#newservice-block .newservice__desc {
  max-width: 440px;
  width: 100%;
}

#newservice-block .newservice__desc * {
  font-size: 16px;
  line-height: 120%;
}

#newservice-block .newservice__desc *:not(:last-child) {
  margin-bottom: 15px;
}

#newservice-block .newservice__desc li {
  padding-left: 18px;
}

#newservice-block .newservice__desc li::before {
  content: "";
  position: absolute;
  top: 5.5px;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--primary);
}

#newservice-block .newservice__btn {
  margin-top: 20px;
}

#newservice-block .newservice__advantages {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 560px;
}

#newservice-block .advantage-newservice {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#newservice-block .advantage-newservice__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex-shrink: 0;
}

#newservice-block .advantage-newservice__icon img,
#newservice-block .advantage-newservice__icon svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

#newservice-block .advantage-newservice__text span {
  color: inherit;
  font-weight: 400;
}

#newservice-block .newservice__img {
  flex: 0 1 auto;
  border-radius: 20px;
  max-width: 870px;
  width: 100%;
  max-height: 700px;
  height: auto;
  overflow: hidden;
}

#newservice-block .newservice__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.newservice__block.blog .newservice__desc {
  max-width: 100% !important;
}

.newservice__block.blog .newservice__desc a {
  color: #009300;
}

.newservice__block.blog .newservice__img {
  max-height: unset !important;
  height: auto !important;
  border-radius: 0 !important;
  max-width: unset !important;
}

.newservice__block.blog .newservice__img img {
  height: unset !important;
  border-radius: 20px;
}

.newservice__block.blog .newservice__left {
  flex: 1 0 60% !important;
}

@media (max-width: 1450px) {
  #newservice-block .newservice__advantages {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 20px;
  }
  #newservice-block .advantage-newservice:nth-child(3n) {
    grid-column: span 2;
  }
}
@media (max-width: 1192px) {
  #newservice-block .container {
    flex-direction: column;
  }
  #newservice-block .newservice__left {
    min-height: unset;
  }
  #newservice-block .newservice__advantages {
    grid-template-columns: repeat(3, 1fr);
    max-width: unset;
  }
  #newservice-block .advantage-newservice:nth-child(3n) {
    grid-column: span 1;
  }
  #newservice-block .newservice__btn {
    margin-top: 0;
  }
  #newservice-block .newservice__img {
    max-width: unset;
    height: 45vw;
  }
}
@media (max-width: 992px) {
  #newservice-block {
    margin-bottom: 60px;
  }
  #newservice-block .newservice__left {
    padding: 30px;
  }
}
@media (max-width: 768px) {
  #newservice-block {
    margin-bottom: 40px;
  }
  #newservice-block .container {
    gap: 20px;
  }
  #newservice-block .newservice__left {
    padding: 30px 20px;
  }
  #mainbanner-block .mainbanner__desc *:not(:last-child) {
    margin-bottom: 10px;
  }
  #newservice-block .newservice__advantages {
    grid-template-columns: repeat(1, 1fr);
  }
  #newservice-block .advantage-newservice {
    flex-direction: row;
    align-items: center;
  }
  .newservice__block.blog .newservice__img img {
    height: 100vw !important;
  }
  .newservice__block.blog .newservice__img {
    order: 1;
  }

  .newservice__block.blog .newservice__left {
    order: 2;
  }
}
.footer__menu .footer-menu li:last-child {
  margin-top: 6px; /* можно увеличить до 8–10px, если хочешь больше пространства */
}

/* FAQ */
:root {
  --color-primary: #1d9cd7;
  /* Голубой */
  --color-accent: #ff4b4b;
  /* Красный (кнопки) */
  --color-dark: #1f2229;
  /* Темный фон */
  --color-text-main: #2d2d2d;
  --color-text-light: #777777;
  --color-white: #ffffff;
  --color-bg-light: #f9f9f9;
  --container-width: 1200px;
  --border-radius: 8px;
  --transition: 0.3s ease;

  --c-blue: #1d9cd7;
  --c-blue-hover: #4a89d6;
  --c-red: #fb5356;
  --c-red-hover: #ec4346;
  --c-gray-light: #969696;
  --c-gray-text: #888888;
  --c-dark: #2d2d2d;
  --c-bg: #f9f9f9;
}
.faq__container {
  max-width: 800px;
  margin: 0 auto;
}

.faq__item {
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0px 3.97px 27.78px 0px #0000000a;
  overflow: hidden;
  border: 1px solid #f0f0f0;
}
.faq__item:not(:last-child) {
  margin-bottom: 30px;
}

.faq__question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-size: 24px;
  font-weight: 600;
  color: #333;
}

.faq__icon-wrapper {
  width: 30px;
  height: 30px;
  border-radius: 4px;
  background-color: var(--color-primary);
  /* Синий */
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease;
  flex-shrink: 0;
  margin-left: 16px;
}

.faq__icon {
  transition: transform 0.3s ease;
  margin-top: 2px;
}

.faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
  color: #555;
}

.faq__answer-inner {
  padding: 0 24px 24px 24px;
  font-size: 14px;
}

/* Modifiers for FAQ */
.faq__item--open .faq__icon-wrapper {
  background-color: #9ca6b5;
}

/* Серый */
.faq__item--open .faq__icon {
  transform: rotate(180deg);
}

/* === PORTFOLIO SECTION === */
.portfolio__header {
  margin-bottom: 30px;
}
.portfolio__label {
  display: inline-block;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 12px;
  color: #999;
  margin-bottom: 15px;
  background: white;
}
.portfolio__title {
  font-size: 32px;
  font-weight: 700;
  color: var(--c-dark);
  margin: 0;
}

/* Controls */
.portfolio__controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
  flex-wrap: wrap;
  gap: 20px;
}

.portfolio__tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.portfolio__tab {
  padding: 10px 20px;
  background-color: var(--c-gray-light);
  color: white;
  border-radius: 6px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  border: none;
  transition: 0.3s;
}
.portfolio__tab:hover {
  background-color: #c4c4c4;
}
.portfolio__tab--active,
.portfolio__tab--active:hover {
  background-color: var(--c-blue);
  cursor: default;
}

.portfolio__arrows {
  display: flex;
  gap: 10px;
}
/* Классы для навигации Swiper */
.portfolio-button-prev,
.portfolio-button-next {
  width: 44px;
  height: 44px;
  background-color: #9e9e9e;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s;
  border: none;
  /* Сброс стилей swiper по умолчанию (если нужны) */
  position: static;
  margin: 0;
}
.portfolio-button-prev::after,
.portfolio-button-next::after {
  display: none; /* Скрываем стандартные стрелки swiper */
}

.portfolio-button-prev:hover,
.portfolio-button-next:hover {
  background-color: var(--c-blue);
}
/* Блокировка стрелок (Swiper сам добавляет класс disabled) */
.swiper-button-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* === MAIN WINDOW & SWIPER === */
.portfolio__window {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  position: relative;
}

/* Контейнер для таба (скрываем/показываем) */
.tab-content {
  display: none;
  height: 100%;
}
.tab-content.active {
  display: block;
}

/* Сам Swiper контейнер */
.swiper {
  width: 100%;
  height: 100%;
}

/* Слайд */
.swiper-slide {
  display: flex;
  background: #fff;
  height: auto; /* Важно для адаптивности */
}
.portfolio__wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
/* Левая часть - Картинка */
.portfolio__image-col {
  position: relative;
  overflow: hidden;
  max-height: 320px;
  padding: 15px;
}
.portfolio__image-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 10px;
}

/* Правая часть - Контент */
.portfolio__info-col {
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.portfolio__slide-title {
  font-size: 24px;
  font-weight: 700;
  color: var(--c-dark);
  margin-bottom: 20px;
  line-height: 1.3;
}
.portfolio__slide-desc {
  font-size: 18px;
  line-height: 1.2;
  color: #000;
  margin-bottom: 30px;
}
.portfolio__price-box {
  background-color: var(--c-blue);
  color: white;
  padding: 15px 0;
  text-align: center;
  font-size: 34px;
  font-weight: 600;
  border-radius: 4px;
  margin-bottom: 30px;
  width: 100%;
}
.portfolio__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.portfolio__area {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
  font-size: 20px;
  color: var(--c-dark);
}
.portfolio__area strong {
  font-weight: 600;
}
.portfolio__btn-details {
  background-color: var(--c-red);
  color: white;
  padding: 12px 24px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 14px;
  border: none;
  cursor: pointer;
  transition: 0.3s;
}
.portfolio__btn-details:hover {
  background-color: var(--c-red-hover);
}

@media (max-width: 900px) {
  .swiper-slide {
    flex-direction: column;
  }
  .portfolio__image-col {
    width: 100%;
    min-height: auto;
  }
  .portfolio__info-col {
    width: 100%;
    padding: 25px;
  }
  .portfolio__controls {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
  .portfolio__arrows {
    align-self: flex-end;
  }
}
.consultation {
  background-image: url(/wp-content/uploads/2026/01/rectangle-173.svg);
  background-repeat: no-repeat;
  background-size: calc(100% - 100px) 115%;
  margin-top: -200px;
  background-position: left top;
  padding-top: 80px;
  position: relative;
  z-index: 2;
}
.consultation h2 {
  margin-bottom: 5px;
}
.section__desc {
  font-weight: 500;
  font-size: 18px;
}
.form__row {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 25px;
}
.features,
.faq-section,
.portfolio,
.consultation {
  margin-bottom: 100px;
}
.consultation :is(input[type="text"], input[type="tel"]) {
  height: 50px;
  border-radius: 10px;
  border: 1px solid #e2e7e5;
  padding: 0 40px 0 20px;
  font-size: 15px;
  line-height: 50px;
  color: #222;
  background-repeat: no-repeat;
  background-position: calc(100% - 15px) center;
  max-width: 280px;
}
.consultation input[type="text"] {
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='18' viewBox='0 0 16 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.41523 0.0108515C6.2832 0.151477 5.3375 0.612023 4.55 1.41007C3.85039 2.11671 3.44961 2.86905 3.24219 3.85695C3.15781 4.27179 3.15781 5.19991 3.24219 5.61476C3.44961 6.60265 3.8539 7.35851 4.55 8.06163C5.25664 8.7753 6.03008 9.19366 7.02851 9.40109C7.43984 9.48546 8.36445 9.48546 8.79336 9.40109C9.74258 9.21124 10.5301 8.78937 11.2332 8.09327C11.9434 7.39366 12.3652 6.6132 12.5727 5.61476C12.657 5.19991 12.657 4.27179 12.5727 3.85695C12.4355 3.20655 12.1859 2.60538 11.8273 2.06398C11.6059 1.72999 10.9203 1.04093 10.5934 0.826477C10.0273 0.450305 9.41562 0.193664 8.81445 0.0776484C8.52969 0.0213984 7.66133 -0.0207891 7.41523 0.0108515ZM8.75117 1.14288C9.44726 1.3257 10.0344 1.65616 10.5125 2.13077C10.9871 2.60538 11.307 3.17491 11.5039 3.8921C11.6059 4.2753 11.6059 5.1964 11.5039 5.5796C11.307 6.29679 10.9871 6.86632 10.5125 7.34093C10.0379 7.81554 9.46836 8.13546 8.75117 8.33234C8.36797 8.43429 7.44687 8.43429 7.06367 8.33234C6.34648 8.13546 5.77695 7.81554 5.30234 7.34093C3.94531 5.98038 3.85742 3.8253 5.10195 2.34523C5.63984 1.70538 6.52226 1.20968 7.34492 1.08312C7.68945 1.03038 8.43828 1.06202 8.75117 1.14288Z' fill='%23535353'/%3E%3Cpath d='M6.01953 10.5929C4.05078 10.8319 2.27539 11.9464 1.13281 13.6655C0.461328 14.671 0.078125 15.8593 0.0113281 17.1284C-0.00976562 17.5187 -0.00625 17.5644 0.0640625 17.7015C0.113281 17.7999 0.183594 17.8702 0.278516 17.9194C0.415625 17.9897 0.468359 17.9897 7.90742 17.9897C15.3465 17.9897 15.3992 17.9897 15.5363 17.9194C15.6312 17.8702 15.7016 17.7999 15.7508 17.7015C15.8211 17.5644 15.8246 17.5187 15.8035 17.1284C15.7121 15.3952 15.0512 13.8765 13.8488 12.6319C12.7098 11.4542 11.2402 10.737 9.63359 10.5718C9.10273 10.519 6.5082 10.5331 6.01953 10.5929ZM9.57734 11.6265C11.9082 11.8937 13.8629 13.5355 14.5133 15.7784C14.6187 16.1335 14.7277 16.6855 14.7277 16.8507V16.9351H1.08711V16.8331C1.08711 16.6433 1.23125 15.9823 1.34727 15.6202C1.73047 14.453 2.46172 13.4476 3.46719 12.6987C3.82578 12.4315 4.62031 12.0237 5.07734 11.8761C5.42539 11.7601 5.83672 11.6722 6.20937 11.63C6.56797 11.5878 9.21172 11.5878 9.57734 11.6265Z' fill='%23535353'/%3E%3C/svg%3E%0A");
}
.consultation input[type="tel"] {
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.39786 0.0235143C2.9672 0.109647 2.80724 0.232694 1.90899 1.14324C0.936923 2.13172 0.723642 2.39422 0.465244 2.91101C0.104306 3.6493 -0.0310454 4.26043 0.00586861 5.04383C0.0427827 5.86824 0.284775 6.60242 0.756454 7.3284C1.03946 7.77137 7.99161 14.6948 8.46739 15.0147C8.90216 15.3018 9.34513 15.5069 9.83321 15.6382C10.1818 15.7325 10.3049 15.7448 10.9037 15.7448C11.5025 15.7448 11.6256 15.7325 11.9783 15.6341C12.4623 15.5069 12.975 15.269 13.3729 14.9942C13.6846 14.7809 15.3375 13.2305 15.518 12.9845C15.8092 12.5866 15.8871 11.9632 15.7025 11.4874C15.6246 11.2864 15.5098 11.1387 14.9848 10.585C14.6402 10.2241 14.0988 9.67039 13.783 9.35867C13.3154 8.8993 13.1555 8.77215 12.9299 8.66141C12.6674 8.53836 12.6141 8.53016 12.2367 8.53016C11.6666 8.53426 11.4861 8.62449 10.8586 9.23562C10.5346 9.54734 10.3459 9.6991 10.2844 9.6991C10.1777 9.6991 9.94395 9.47762 7.65528 7.19715C6.19513 5.7493 6.06388 5.60574 6.06388 5.48269C6.06388 5.36375 6.1213 5.28582 6.51095 4.88797C6.77755 4.61316 7.00313 4.34656 7.06466 4.22351C7.27794 3.79695 7.27794 3.25144 7.06466 2.81668C6.93751 2.55008 6.44122 2.02508 5.25997 0.901249C4.64474 0.314725 4.48067 0.179374 4.2961 0.109647C4.0254 0.0112096 3.64395 -0.029806 3.39786 0.0235143ZM4.8088 2.30398C5.37481 2.8618 5.8588 3.36219 5.88341 3.41961C5.91212 3.47703 5.92032 3.55086 5.90802 3.58777C5.89571 3.62058 5.69063 3.85027 5.44864 4.10047C4.83751 4.73211 4.67755 5.10945 4.75958 5.73289C4.8252 6.22918 4.85802 6.26609 7.15899 8.55476C8.40587 9.79754 9.36153 10.7163 9.46817 10.7778C9.90294 11.028 10.4033 11.0649 10.8873 10.8845C11.0842 10.8106 11.2113 10.7122 11.6256 10.3061C12.0275 9.91648 12.1506 9.82215 12.2449 9.82215C12.3434 9.82215 12.5279 9.99031 13.4385 10.9009C14.0291 11.4956 14.5131 12.0001 14.5131 12.0247C14.5131 12.1477 14.3654 12.3159 13.6272 13.0214C12.5772 14.0221 12.2408 14.2395 11.5108 14.3913C10.834 14.5307 10.227 14.4487 9.5502 14.1206L9.11954 13.9155L5.53888 10.3389C3.15997 7.96824 1.90489 6.68445 1.79825 6.51629C1.10919 5.46629 1.1502 4.12508 1.90079 3.07508C2.13458 2.75105 3.60704 1.2909 3.70138 1.2909C3.74239 1.2909 4.23048 1.73797 4.8088 2.30398Z' fill='%23535353'/%3E%3Cpath d='M9.74298 0.281906C9.542 0.355734 9.48048 0.413156 9.37794 0.610031C9.2795 0.802804 9.29591 1.08171 9.41485 1.24167C9.58302 1.46726 9.68146 1.50827 10.2352 1.5657C11.3221 1.67644 12.1096 2.01277 12.8438 2.68542C13.6313 3.4073 14.0783 4.34656 14.1973 5.52781C14.2383 5.92566 14.2711 6.07741 14.3326 6.15945C14.6279 6.5573 15.1693 6.54499 15.4195 6.14304C15.5057 6.00769 15.518 5.94206 15.5098 5.60984C15.4647 3.34167 13.9143 1.27038 11.7117 0.532101C11.0022 0.294211 10.0383 0.171164 9.74298 0.281906Z' fill='%23535353'/%3E%3Cpath d='M9.74298 2.49675C9.542 2.57058 9.48048 2.628 9.37794 2.82488C9.2795 3.01765 9.29591 3.29656 9.41485 3.45652C9.57071 3.6657 9.68966 3.71902 10.1244 3.77644C10.8996 3.87488 11.4656 4.26452 11.7774 4.90027C11.9168 5.18327 11.9455 5.30222 12.0358 5.95847C12.0604 6.13074 12.2654 6.36042 12.45 6.42195C12.7658 6.52449 13.1186 6.36863 13.2621 6.06511C13.3195 5.93796 13.3318 5.84773 13.3072 5.57292C13.1801 3.91179 11.8758 2.60339 10.2065 2.46394C9.99317 2.44753 9.85372 2.45574 9.74298 2.49675Z' fill='%23535353'/%3E%3C/svg%3E%0A");
}
.consultation input[type="submit"] {
  font-size: 20px;
  font-weight: 700;
  height: 50px;
  border-radius: 10px;
  background-color: #fb5356;
  color: #fff;
  padding: 0 24px;
  min-width: 280px;
}
.consultation__wrapper .wpcf7 {
  margin-block: 25px;
}
.wpcf7-list-item {
  margin: 0;
}
.wpcf7-list-item-label {
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
}
.consultation a {
  color: #1d9cd7;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.wpcf7-not-valid-tip {
  position: absolute;
  top: calc(100% + 4px);
  left: 12px;
  font-size: 12px;
  line-height: 14px;
}
.form__col {
  display: flex;
  flex-direction: column;
}
.wpcf7-form-control-wrap {
  display: block;
  position: relative;
}

/* ================= PROMO / STATS ================= */
.promo {
  display: flex;
  background-color: var(--color-primary);
  color: var(--color-white);
  margin-bottom: 80px;
}

.promo__left {
  flex: 1;
  padding: 40px 20px 130px 10%;
  /* Отступ слева больше для центровки */
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.promo__right {
  flex: 1;
  background: #eee;
  max-height: 800px;
  position: relative;
}

.promo__right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 80%;
}

.promo__title {
  color: #fff;
}

.stats-grid {
  display: grid;
  gap: 50px;
  margin-left: 60px;
}

.stat-item__num {
  font-size: 42px;
  font-weight: 800;
  display: block;
  color: #fff;
}

.stat-item__text {
  font-size: 18px;
  color: #fff;
}
.promo__tags {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}
.promo__tag {
  border-color: #fff;
  color: #fff;
  margin-bottom: 0;
}

/* ================= CATALOG ================= */
.catalog {
  margin-bottom: 100px;
}
.catalog__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

.product-card {
  background: var(--color-white);
  border-radius: 16px;
  box-shadow: 0px 3.97px 27.78px 0px #0000000a;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.product-card__img {
  position: relative;
  height: 280px;
  background-color: #eee;
  border-radius: 40px 40px 16px 16px;
  overflow: hidden;
}

.product-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-card__body {
  padding: 15px 25px 25px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.product-card__title {
  font-weight: 700;
  font-size: 24px;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.product-card__desc {
  font-size: 16px;
  color: #2d2d2d;
  margin-bottom: 25px;
  flex-grow: 1;
}

.product-card__btn {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  font-size: 14px;
  font-weight: 700;
  background-color: #fb5356;
  color: #fff !important;
  padding: 12px 18px;
  border-radius: 8px;
}

/* ================= FEATURES (OVERLAP) ================= */
.features {
  margin-top: -80px;
  /* Наложение на Hero */
  position: relative;
  z-index: 10;
}

.features__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: var(--color-white);
  border-radius: 20px;
  overflow: hidden;
}

.feature-card {
  padding: 15px 24px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.feature-card__num {
  font-size: 64px;
  font-weight: 800;
  color: #eee;
  line-height: 1;
  margin-top: -12px;
}

.feature-card__content h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 4px;
}

.feature-card__content p {
  font-size: 14px;
  line-height: 100%;
  color: #2d2d2d;
}
