html {
  overflow-x: hidden;
}
@media (min-width: 700px) {
  .equipment-list__item {
    overflow: visible;
    z-index: 0;
  }

  .equipment-list__item:hover {
    z-index: 10;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }

  a.programs-list__item:hover {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }

  .equipment-list__img {
    -webkit-transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    will-change: transform;
  }

  .equipment-list__item:hover .equipment-list__img {
    -webkit-transform: translateY(-52px) scale(1.1);
    transform: translateY(-52px) scale(1.1);
  }

  .equipment-list__hidden-content {
    -webkit-transform: translateY(120px);
    transform: translateY(120px);
    -webkit-transition: opacity 0.5s, -webkit-transform 0.5s;
    transition: opacity 0.5s, transform 0.5s;
  border-bottom: 0;
  }

  .equipment-list__desc {
    opacity: 0;
    -webkit-transition: opacity 0s;
    transition: opacity 0s;
  }

  .equipment-list__item:hover .equipment-list__desc {
    opacity: 1;
    -webkit-transition: opacity 0.25s;
    transition: opacity 0.25s;
  }

  .equipment-list__item:hover .equipment-list__hidden-content {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  .equipment-list__item:hover .equipment-list__hidden-content-bg {
    height: 0;
    opacity: 0;
  }
}

.equipment-inner-page .catalog-swiper__image,
.equipment-inner-page .catalog-swiper__thumb-image {
  background: radial-gradient(50% 50% at 50% 50%, #fff 0, #dfdfdf 100%);
}

.catalog-swiper__slider {
  margin-bottom: 40px;
}

@media (min-width: 701px) and (max-width: 1100px) {
  .catalog-inner-page .catalog-swiper__slider,
  .catalog-inner-page .catalog-swiper__slider .swiper-wrapper,
  .catalog-inner-page .catalog-swiper__slider .swiper-slide {
    height: auto !important;
  }

  .catalog-inner-page .catalog-swiper__image {
    height: 100%;
    padding: 60px 40px;
  }

  .catalog-inner-page .catalog-swiper__img {
    width: 100%;
    height: auto;
  }
}

@media (max-width: 700px) {
  .catalog-swiper__slider {
    overflow: visible;
    border-radius: 0;
    box-shadow: none;
  }

  .catalog-swiper .swiper-wrapper {
    padding: 0;
    align-items: stretch;
  }

  .catalog-swiper .swiper-slide {
    width: 85%;
    height: auto;
    flex-shrink: 0;
  }

  .catalog-swiper__image {
    padding: 30px 15px;
    height: 320px;
    border-radius: 10px;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.3);
  }

  .catalog-swiper__img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
  }

  .catalog-inner-page:not(.equipment-inner-page) .catalog-swiper__slider {
    overflow: hidden;
  }

  .catalog-inner-page:not(.equipment-inner-page) .catalog-swiper .swiper-slide {
    width: 100%;
  }

  .catalog-inner-page:not(.equipment-inner-page) .catalog-swiper__image {
    border-radius: 0;
  }

  .catalog-swiper__thumbs-row {
    margin-top: 20px;
    overflow: hidden;
  }

  .catalog-swiper__slider-thumbs {
    overflow: visible;
    margin: 0;
    padding: 10px 0;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 2%, #000 98%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 2%, #000 98%, transparent);
  }

  .catalog-swiper__slider-thumbs .swiper-slide {
    width: 70px;
    margin-right: 15px;
  }

  .catalog-swiper__thumb-image {
    width: 70px;
    height: 70px;
    padding: 10px 5px;
    border-radius: 8px;
  }

  .catalog-swiper .swiper-slide-thumb-active:after {
    width: 24px;
    left: calc(50% - 12px);
  }

  .catalog-swiper__swiper-button-next,
  .catalog-swiper__swiper-button-prev {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .catalog-swiper .swiper-slide {
    width: 90%;
  }

  .catalog-swiper__image {
    padding: 25px 12px;
    height: 280px;
  }

  .catalog-swiper__slider-thumbs .swiper-slide {
    width: 60px;
    margin-right: 12px;
  }

  .catalog-swiper__thumb-image {
    width: 60px;
    height: 60px;
    padding: 8px 4px;
  }
}

@media (min-width: 701px) and (max-width: 1100px) {
  .catalog-swiper__slider-thumbs {
    margin: -40px 40px -40px 13px;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 98%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 4%, #000 98%, transparent);
  }
}

@media (min-width: 1101px) and (max-width: 1365px) {
  .catalog-swiper__image {
    height: 600px;
    padding: 100px 80px;
  }
}

@media (min-width: 1366px) {
  .catalog-swiper__image {
    height: 800px;
    padding: 190px 120px;
  }
}

.catalog-swiper__thumb-image-bg-first {
  background: #7f91b6;
}

.catalog-swiper__thumb-image-bg-second {
  background: #6fa9b8;
}

.catalog-swiper__thumb-image-bg-third {
  background: #3f79a3;
}

.catalog-swiper__thumb-image-bg-fourth {
  background: #d39a64;
}

.catalog-swiper__thumb-image-bg-fifth {
  background: #b86b6b;
}

/* Certificates Page Grid Styles */
.certificates-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  margin-top: 30px;
}

.certificate-item {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.certificate-item:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  transform: translateY(-4px);
}

.certificate-item img {
  max-width: 100%;
  height: auto;
  display: block;
}

.menu:not(.menu_mobile) .menu__item {
  font-size: 18px;
  line-height: 18px;
}

.menu:not(.menu_mobile) .menu__item:not(:last-child) {
  margin-right: 30px;
}


/* Responsive adjustments for certificates grid */
@media (max-width: 768px) {
  .certificates-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .certificate-item {
    padding: 15px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .certificates-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 1600px) {
  .menu:not(.menu_mobile) .menu__item {
    font-size: 18px;
    line-height: 18px;
  }

  .menu:not(.menu_mobile) .menu__item-link {
    white-space: nowrap;
  }

  .menu:not(.menu_mobile) .menu__item:not(:last-child) {
    margin-right: 20px;
  }
}

 .popup__image {
   background-repeat: no-repeat;
   background-position: center;
   background-size: cover;
 }

 .equipment-inner-page .programs__list {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 30px;
 }

@media (max-width: 1600px) {
  .equipment-inner-page .programs__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .equipment-inner-page .programs__tag_mobile {
    display: flex;
    margin: 0 0 20px;
    align-self: stretch;
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .equipment-inner-page .programs__buttons .programs__tag {
    display: none;
  }
}

 .programs-page .programs__list {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));
   gap: 30px;
 }

 .programs-page .programs__item {
   flex-direction: column;
   align-items: stretch;
 }

 .programs-page .programs__image {
   width: 100%;
   height: 240px;
   margin-right: 0;
   margin-bottom: 20px;
 }

 @media (max-width: 520px) {
   .programs-page .programs__image {
     height: auto;
   }
 }

 .programs-page .programs__content {
   display: flex;
   flex-direction: column;
   height: 100%;
 }

 .programs-page .programs__buttons {
   margin-top: auto;
 }

 .programs-page .programs__button.button_transparent-white {
   transition: background-color 0.2s ease, border-color 0.2s ease;
 }

 .programs-page .programs__button.button_transparent-white:hover {
   background: rgba(255, 255, 255, 0.18);
   border-color: rgba(255, 255, 255, 0.85);
   color: #fff;
 }

 @media (max-width: 520px) {
   .programs-page .programs__list {
     grid-template-columns: 1fr;
     gap: 20px;
   }
 }

 .programs-page .programs__item:not(:last-child) {
   margin-bottom: 0;
 }

 @media (max-width: 1024px) {
   .equipment-inner-page .programs__list {
     grid-template-columns: repeat(2, minmax(0, 1fr));
   }
 }

 @media (max-width: 700px) {
   .equipment-inner-page .programs__list {
     grid-template-columns: 1fr;
     gap: 20px;
   }

   .equipment-inner-page .catalog-head__column {
     min-width: 0;
   }

   .equipment-inner-page .catalog-swiper,
   .equipment-inner-page .catalog-swiper__slider {
     max-width: 100%;
     margin-bottom: 0;
   }

   .equipment-inner-page .catalog-swiper__slider {
     position: relative;
     z-index: 2;
     -ms-touch-action: pan-y;
     touch-action: pan-y;
     overscroll-behavior-x: contain;
   }

   .equipment-inner-page .catalog-swiper__image {
     position: relative;
     z-index: 2;
   }

   .equipment-inner-page .catalog-swiper__thumbs-row {
     position: relative;
     z-index: 1;
   }

   .equipment-inner-page .breadcrumbs__list {
     justify-content: flex-start;
   }

   .equipment-inner-page .breadcrumbs__breadcrumbs-item {
     min-width: 0;
     max-width: 100%;
   }

   .equipment-inner-page .breadcrumbs__breadcrumbs-item-text {
     overflow-wrap: anywhere;
     word-break: break-word;
   }

   .catalog-swiper__thumbs-row {
    margin-left: -30px;
    margin-right: 0;
    padding-left: 15px;
    overflow: hidden;
   }

   .catalog-swiper__slider-thumbs {
    margin-left: 10px;
    padding: 20px 10px;
   }
 }

 @media (max-width: 520px) {
   .equipment-inner-page .programs__list {
     grid-template-columns: 1fr;
     gap: 20px;
   }
 }

 .equipment-inner-page .programs__item {
   flex-direction: column;
   align-items: stretch;
   padding-bottom: 32px;
   min-height: 517px;
 }

 @media (max-width: 700px) {
   .equipment-inner-page .programs__item {
     min-height: auto;
   }
 }

 .equipment-inner-page .programs__item:not(:last-child) {
   margin-bottom: 0;
 }

 .equipment-inner-page .programs__image {
   width: 100%;
   height: 240px;
   margin-right: 0;
   margin-bottom: 16px;
 }

 @media (max-width: 520px) {
   .equipment-inner-page .programs__image {
     height: auto;
   }
 }

 .equipment-inner-page .programs__content {
   display: flex;
   flex-direction: column;
   height: 100%;
 }

 .equipment-inner-page .programs__text {
   display: none;
 }

 .equipment-inner-page .programs__buttons {
   margin-top: auto;
   justify-content: space-between;
   gap: 32px;
   flex-wrap: wrap;
 }

 .equipment-inner-page .programs__tag {
  max-width: auto;
  min-width: 0;
  white-space: normal;
 }

@media (min-width: 1601px) {
  .equipment-inner-page .programs__buttons {
    flex-wrap: nowrap;
  }

  .equipment-inner-page .programs__buttons .programs__tag {
    margin-left: auto;
    flex: 1 1 auto;
    min-width: 0;
    white-space: normal;
    display: grid;
    grid-template-columns: 40px 1fr;
    column-gap: 10px;
    align-items: center;
    text-align: left;
  }

  .equipment-inner-page .programs__buttons .programs__tag:before {
    margin-right: 0;
  }
}

 .equipment-inner-page .programs__button.button_transparent-white:hover {
   background: rgba(255, 255, 255, 0.18);
   border-color: rgba(255, 255, 255, 0.85);
   color: #fff;
 }

 .small-program-column-color {
   background-color: #3f79a3;
 }

 .program-column-color-first {
   background-color: #7f91b6;
 }

 .program-column-color-second {
   background-color: #6fa9b8;
 }

 .program-column-color-third {
   background-color: #3f79a3;
 }

 .program-column-color-fourth {
   background-color: #d39a64;
 }

 .program-column-color-fifth {
   background-color: #b86b6b;
 }

 .programs-page .programs__list > .programs__item:nth-child(5n + 1),
 .equipment-inner-page .programs__list > .programs__item:nth-child(5n + 1) {
   background-color: #7f91b6 !important;
 }

 .programs-page .programs__list > .programs__item:nth-child(5n + 2),
 .equipment-inner-page .programs__list > .programs__item:nth-child(5n + 2) {
   background-color: #d39a64 !important;
 }

 .programs-page .programs__list > .programs__item:nth-child(5n + 3),
 .equipment-inner-page .programs__list > .programs__item:nth-child(5n + 3) {
   background-color: #6fa9b8 !important;
 }

 .programs-page .programs__list > .programs__item:nth-child(5n + 4),
 .equipment-inner-page .programs__list > .programs__item:nth-child(5n + 4) {
   background-color: #b86b6b !important;
 }

 .programs-page .programs__list > .programs__item:nth-child(5n + 5),
 .equipment-inner-page .programs__list > .programs__item:nth-child(5n + 5) {
   background-color: #3f79a3 !important;
 }

 .popup-agreement .popup-content__agreement-text-wrap {
   position: relative;
 }

 .popup-agreement .popup-content__agreement-text-wrap::before {
   content: '';
   position: absolute;
   left: 0;
   right: 0;
   bottom: 0;
   height: 48px;
   background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.95));
   pointer-events: none;
   opacity: 1;
   transition: opacity 160ms ease-in-out;
   z-index: 2;
 }

 .popup-agreement .popup-content__agreement-text-wrap::after {
   content: '';
   position: absolute;
   left: 50%;
   bottom: 14px;
   width: 24px;
   height: 24px;
   border-right: 5px solid #2269c2;
   border-bottom: 5px solid #2269c2;
   transform: translate(-50%, 0) rotate(45deg);
   animation: dms-scroll-indicator-bounce 1200ms infinite;
   pointer-events: none;
   opacity: 1;
   transition: opacity 160ms ease-in-out;
   z-index: 3;
 }

 .popup-agreement .popup-content__agreement-text-wrap.js-scroll-indicator-hidden::before,
 .popup-agreement .popup-content__agreement-text-wrap.js-scroll-indicator-hidden::after {
   opacity: 0;
 }

 @media (prefers-reduced-motion: reduce) {
   .popup-agreement .popup-content__agreement-text-wrap::after {
     animation: none;
   }
 }

 @keyframes dms-scroll-indicator-bounce {
   0%,
   100% {
     transform: translate(-50%, 0) rotate(45deg) scale(1);
   }
   50% {
     transform: translate(-50%, 7px) rotate(45deg) scale(1.3);
   }
 }

.main-slider__front-swiper-wrap::before {
  background: 
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 80'%3E%3Cpath d='M0,40 L45,40 L50,35 L55,45 L58,43 L65,-55 L72,60 L85,40 L200,40' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 100px center / 500px 500px no-repeat,
    radial-gradient(50% 50% at 50% 50%, #4e91e4 0, #3070bf 100%) !important;
}

@keyframes qrs-circle-pulse {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 
      0 0 60px rgba(255, 255, 255, 0.3),
      inset 0 0 80px rgba(34, 105, 194, 0.2);
  }
  15% {
    transform: translate(-50%, -50%) scale(1.08);
    border-color: rgba(255, 255, 255, 0.7);
    box-shadow: 
      0 0 80px rgba(255, 255, 255, 0.4),
      inset 0 0 100px rgba(34, 105, 194, 0.3);
  }
  30% {
    transform: translate(-50%, -50%) scale(1);
    border-color: rgba(255, 255, 255, 0.5);
  }
}

@media (prefers-reduced-motion: reduce) {
  .main-slider__front-swiper-wrap::before {
    animation: none;
  }
}
