/* Text wrapping for the approved EN and RU copy in the existing page layouts. */
main h1, main h2, main h3 { overflow-wrap: break-word; }
img { max-width: 100%; }
.partners-providers-slider { overflow-x: auto !important; max-width: 100%; scrollbar-width: none; scroll-snap-type: x proximity; }
.partners-providers-slider::-webkit-scrollbar { display: none; }
.partners-providers-slider > .swiper-wrapper { display: flex; flex-wrap: nowrap; width: max-content; transform: none !important; gap: 16px; }
.partners-providers-slider .swiper-wrapper > .item { width: 272px; flex: 0 0 272px; margin-right: 0 !important; scroll-snap-align: start; }
/* Match the typography of the existing homepage. */
.product_section .product-card h3 { font: 600 34px/1.15 Gilroy, sans-serif; color: #1e1e1e; }
.partners-providers-slider-section .swiper-button[aria-disabled="true"] { opacity: 0; pointer-events: none; }
.contact-email-note { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  main .hero_content-text h1 { font-size: clamp(28px, 8.2vw, 34px) !important; line-height: 1.12; }
  .product_section .product-card h3 { font-size: 28px; }
  main h1 { font-size: clamp(30px, 8.3vw, 44px); line-height: 1.12; }
  main h2 { font-size: clamp(25px, 7vw, 34px); line-height: 1.2; }
  .hero_wrapper-desc, .about_wrapper-desc { min-width: 0; }
  main table { overflow-wrap: anywhere; }
}

/* Keep words intact on the narrowest supported screens. */
@media (max-width: 359px) {
  body h1, body main .hero_content-text h1 { font-size: 26px !important; line-height: 1.15 !important; }
  body h2 { font-size: 22px !important; line-height: 1.2 !important; }
  body h3 { font-size: 21px !important; line-height: 1.2 !important; }
}
.provider-catalogue-title { margin: 0; padding: 130px 0 32px; color: #fff; font-size: clamp(26px, 4vw, 48px); }

.legacy-brand-label { display:inline-flex; align-items:center; justify-content:center; min-width:140px; min-height:50px; color:#fff; background:#202020; border-radius:8px; padding:6px 12px; font:700 26px/1.1 Arial,sans-serif; white-space:nowrap; }

/* Keep provider navigation anchored while the cards scroll underneath. */
.provider-carousel-frame { position: relative; min-width: 0; max-width: 100%; }
.provider-carousel-frame > .swiper-button-wrapper {
  position: absolute; top: 50%; left: 0; right: 0; width: 100%;
  transform: translateY(-50%); display: flex !important;
  justify-content: space-between; pointer-events: none; z-index: 5;
}
.provider-carousel-frame > .swiper-button-wrapper > .swiper-button {
  display: flex !important; position: static; flex: 0 0 34px;
  width: 34px; height: 64px; margin: 0; pointer-events: auto;
  background-color: rgba(32, 32, 32, .92);
}
.provider-carousel-frame > .swiper-button-wrapper > .swiper-button::before {
  border-bottom: 2pt solid #fff; border-right: 2pt solid #fff; opacity: 1;
}
.provider-carousel-frame > .swiper-button-wrapper > .swiper-button[aria-disabled="true"] {
  opacity: .3; pointer-events: none;
}
.provider-carousel-frame .swiper-button:focus-visible { outline: 3px solid #ff9d00; outline-offset: 2px; }
/* Some saved templates also contain an SVG arrow; use one CSS arrow per button. */
.provider-carousel-frame .swiper-button > svg { display: none; }
.provider-carousel-frame .swiper-button::after { content: none; }
