.swiper-lazy:not(.swiper-lazy-loaded) > div,
.banners-big__item { opacity: 1 !important; }
.banners-big__item--light .banners-big__title,
.banners-big__item--light .banners-big__text-block,
.banners-big__item--light .banners-big__text {
    color: #222 !important;
    text-shadow: none !important;
}
.banners-big__item--light .banners-big__text { background: none !important; }
.brand-list-inner__image-bg {
    background-size: contain !important;
    background-position: center;
    background-repeat: no-repeat;
}
.logo a { display: inline-flex; align-items: center; }
.xvet-logo { display: block; width: auto; max-height: 48px; }
.header-menu__dropdown-item-img { display: flex !important; }
.header-menu__dropdown-item-img .svg svg,
.header-menu__dropdown-item-img svg { max-width: 40px !important; max-height: 40px !important; }
@media (min-width: 992px) {
    .header-menu,
    .header-menu__wrapper,
    .header-menu .mega-menu,
    .header-menu .catalog_icons_ { overflow: visible !important; }
    .header-menu__item--dropdown > .header-menu__dropdown-menu {
        z-index: 1200 !important;
        box-sizing: border-box;
        background: #fff;
        color: #333;
        box-shadow: 0 10px 24px rgba(0, 0, 0, .14);
    }
    .header-menu__item--dropdown:focus-within > .header-menu__dropdown-menu,
    .header-menu__dropdown-item--with-dropdown:focus-within > .header-menu__dropdown-menu {
        opacity: 1;
        visibility: visible;
    }
    .header-menu__item--wide > .header-menu__dropdown-menu {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-height: calc(100vh - 130px) !important;
        overflow-y: auto !important;
        transform: none !important;
    }
    .header-menu__item--wide > .header-menu__dropdown-menu > .dropdown {
        width: 100%;
        min-width: 0 !important;
        padding: 24px 32px !important;
        box-sizing: border-box;
        background: #fff;
    }
    .header-menu__wide-limiter {
        width: 100% !important;
        max-width: 1300px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }
    .header-menu__dropdown-menu-inner {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none;
    }
    .header-menu__dropdown-menu--grids {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0 32px !important;
        width: 100% !important;
    }
    .header-menu__dropdown-item {
        box-sizing: border-box;
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
    }
    .header-menu__dropdown-item a,
    .header-menu__wide-item-wrapper > a {
        display: block !important;
        padding: 9px 4px !important;
        color: #333 !important;
        text-decoration: none !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
    }
    .header-menu__dropdown-item a:hover,
    .header-menu__dropdown-item a:focus-visible { color: #009846 !important; }
    .header-menu__item--dropdown:not(.header-menu__item--wide) > .header-menu__dropdown-menu {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: auto !important;
        width: 280px !important;
        min-width: 0 !important;
        transform: none !important;
    }
    .header-menu__item--dropdown:not(.header-menu__item--wide) > .header-menu__dropdown-menu > .dropdown {
        min-width: 0 !important;
        padding: 8px 16px !important;
        background: #fff;
    }
    .header-menu__dropdown-item--with-dropdown { position: relative !important; }
    .header-menu__dropdown-menu--submenu {
        top: -9px !important;
        left: 100% !important;
        right: auto !important;
        width: 260px !important;
        min-width: 0 !important;
        padding: 8px 16px !important;
        box-sizing: border-box;
        background: #fff;
        box-shadow: 0 10px 24px rgba(0, 0, 0, .14);
    }
    .header-menu__dropdown-menu--submenu > .dropdown {
        min-width: 0 !important;
        padding: 0 !important;
        background: #fff;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .header-menu__dropdown-menu--grids { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
.nav-tabs {
    display: flex !important;
    flex-wrap: wrap;
    gap: 4px;
    border-bottom: 1px solid #ddd !important;
}
.nav-tabs > li { float: none !important; margin-bottom: 0; }
.catalog-detail__gallery__item--big { display: none !important; }
.catalog-detail__gallery__item--big:first-of-type { display: block !important; }
.catalog-detail__gallery__item--big:first-of-type img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.catalog-detail__gallery__item--big:first-of-type > a {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.catalog-detail__gallery:has(.xvet-empty-gallery),
.catalog-detail__gallery:has(.xvet-empty-gallery) .catalog-detail__gallery-wrapper {
    width: 100%;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
}
.catalog-detail__gallery:has(.xvet-empty-gallery) { align-self: flex-start; }
/* Галерея товара: убрать квадратную высоту (padding-top:100%) */
.catalog-detail__gallery-wrapper { padding-top: 0 !important; height: auto !important; }
.catalog-detail__gallery-wrapper > img { display: block; width: 100%; height: auto; }
/* Галерея-слайдер owl-carousel без JS: показать фото по размеру, не перекрывать текст */
.catalog-detail__gallery-slider.big { position: relative !important; height: auto !important; overflow: visible !important; }
.catalog-detail__gallery-slider.big .catalog-detail__gallery__item--big {
    position: relative !important;
    padding-top: 0 !important;
    height: auto !important;
    display: block !important;
}
.catalog-detail__gallery-slider.big .catalog-detail__gallery__item--big > a {
    position: static !important;
    inset: auto !important;
    display: block !important;
}
.catalog-detail__gallery-slider.big .catalog-detail__gallery__item--big img {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    max-height: 454px;
    object-fit: contain;
}
.xvet-empty-gallery {
    box-sizing: border-box;
    width: 100%;
    min-height: 140px;
    padding: 32px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e1e6e9;
    border-radius: 4px;
    background: #f4f6f7;
    color: #77848c;
    font-size: 14px;
    text-align: center;
}
.bottom-icons-panel,
.mega-fixed-menu,
.burger-menu,
.burger,
.mmenu,
.mobile-menu,
.mobile-header,
.mobile-header-fixed,
.header-copyright,
#mobileheader { display: none !important; }
.xvet-mobile-header { display: none; }
@media (max-width: 991px) {
    .xvet-mobile-header {
        position: relative;
        z-index: 1000;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        min-height: 64px;
        padding: 8px 18px;
        box-sizing: border-box;
        border-bottom: 1px solid #e5e5e5;
        background: #fff;
    }
    .xvet-mobile-header__logo { flex: 0 1 180px; min-width: 0; }
    .xvet-mobile-header__logo img { display: block; width: 100%; max-height: 48px; object-fit: contain; }
    .xvet-mobile-menu { position: relative; flex: 0 0 auto; }
    .xvet-mobile-menu > summary {
        padding: 10px 14px;
        border: 1px solid #dce2e5;
        border-radius: 4px;
        color: #222;
        cursor: pointer;
        list-style: none;
        font: 600 15px/20px Arial, sans-serif;
    }
    .xvet-mobile-menu > summary::-webkit-details-marker { display: none; }
    .xvet-mobile-menu__dropdown {
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        width: min(340px, calc(100vw - 36px));
        max-height: calc(100vh - 90px);
        overflow-y: auto;
        padding: 8px 16px;
        box-sizing: border-box;
        border: 1px solid #dce2e5;
        border-radius: 4px;
        background: #fff;
        box-shadow: 0 8px 28px rgba(0, 0, 0, .16);
    }
    .xvet-mobile-menu__dropdown a {
        display: block;
        padding: 10px 0;
        color: #222;
        text-decoration: none;
        font: 16px/1.35 Arial, sans-serif;
    }
    .xvet-mobile-menu__catalog {
        margin: 4px 0;
        padding: 8px 0;
        border-top: 1px solid #e5e5e5;
        border-bottom: 1px solid #e5e5e5;
    }
    .xvet-mobile-menu__catalog summary { cursor: pointer; font: 600 14px/1.4 Arial, sans-serif; }
    .xvet-mobile-menu__catalog a { padding-left: 12px; font-size: 14px; }
    .grid-list.mobile-scrolled {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: auto !important;
        max-width: none !important;
        overflow: visible !important;
        transform: none !important;
    }
    .grid-list.mobile-scrolled > .grid-list__item {
        box-sizing: border-box;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }
    .grid-list.mobile-scrolled .sections-list__item { box-sizing: border-box; min-width: 0; }
    .tizers-list__items-wrapper.mobile-scrolled > .tizers-list__item-wrapper { padding: 12px 8px !important; }
    .tizers-list__item { min-width: 0; }
    .tizers-list__item-text-wrapper { overflow-wrap: anywhere; }
    .index-block__part--center,
    .tab-nav-wrapper { box-sizing: border-box; min-width: 0; max-width: 100%; }
    .tab-nav {
        display: flex !important;
        flex-wrap: wrap;
        width: auto !important;
        max-width: 100%;
        white-space: normal;
    }
    .tab-nav__item { box-sizing: border-box; min-width: 0; }
}
@media (max-width: 480px) {
    .tizers-list__items-wrapper.mobile-scrolled { grid-template-columns: 1fr !important; }
}

/* Соц-иконки (футер/шапка): убрать маркеры списка перед <li> */
.social__items,
.social__items ul,
.social__items li,
.social__item {
    list-style: none !important;
    list-style-type: none !important;
}
.social__items { padding-left: 0 !important; margin-left: 0 !important; }
.social__items li::marker,
.social__item::marker { content: "" !important; font-size: 0 !important; }
.social__items li::before,
.social__item::before { content: none !important; display: none !important; }

/* ---------- Изображения разделов каталога (/katalog/): span с background ---------- */
.sections-list__item-image {
    display: block !important;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.sections-list__item-image-wrapper .sections-list__item-link { overflow: hidden; }
/* Названия разделов: перенос по словам, без разрыва слов посреди */
.sections-list__item-title {
    word-break: normal !important;
    overflow-wrap: break-word;
    hyphens: none !important;
}
/* Карточка раздела: содержимое должно вмещаться (не вылезать за карточку) */
.sections-list__item { display: flex !important; }
.sections-list__item--big-padding { padding: 20px !important; }
.sections-list__item .sections-list__item-text-wrapper { min-width: 0; }
.sections-list__item .sections-list__item-text-wrapper .sections-list__item-title { font-size: 16px !important; }

/* ---------- Сетки каталога/проектов (в части page/template отсутствуют) ---------- */
@media (min-width: 992px) {
    .grid-list--items-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .grid-list--items-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .grid-list--items-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
.project-list__wrapper { width: 100%; display: block !important; }

/* xv-patch: product-layout */
.xv-gallery__main img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.xv-gallery__thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.xv-gallery__thumbs a { display: block; width: 72px; height: 72px; border: 1px solid #e5e5e5; border-radius: 4px; overflow: hidden; }
.xv-gallery__thumbs img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.xv-product { display: flex; flex-wrap: wrap; gap: 32px; margin-bottom: 32px; }
.xv-product__gallery { flex: 1 1 380px; max-width: 520px; }
.xv-product__info { flex: 1 1 320px; }
.xv-product__info .btn { margin: 0 8px 8px 0; }
.xv-props { width: 100%; border-collapse: collapse; margin: 8px 0 24px; }
.xv-props td { padding: 8px 12px; border-bottom: 1px solid #eee; vertical-align: top; }
.xv-props td:first-child { color: #777; width: 45%; }
/* сотрудники: в архиве нет стилей компонента — была видна и краткая, и подробная часть карточки (дубли) */
.staff-block-inner__item { position: relative; }
.staff-block-inner__preview-wrapper { display: none !important; }
.staff-block-inner__image { width: 140px; height: 140px; border-radius: 50%; overflow: hidden; margin-bottom: 16px; background: #f2f4f5; }
.staff-block-inner__image-bg { display: block; width: 100%; height: 100%; background-size: cover; background-position: center top; }
.staff-block-inner__item-link--absolute { position: absolute; inset: 0; z-index: 1; }
.staff-block-inner__content-wrapper a, .staff-block-inner__content-wrapper .staff-block-inner__property { position: relative; z-index: 2; }
.staff-block-inner__property { margin-bottom: 6px; }
/* главная: баннер — белый текст поверх затемнения слева, аккуратный заголовок, список, заметная кнопка */
.main-slider__item.xv-banner-slide { position: relative; }
.main-slider__item.xv-banner-slide::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, rgba(6, 34, 66, .72) 0%, rgba(6, 34, 66, .5) 38%, rgba(6, 34, 66, 0) 62%); }
.xv-banner .banners-big__inner, .xv-banner .banners-big__text { position: relative; z-index: 2; }
.xv-banner .banners-big__title.banners-big__title--large { font-family: "IBM Plex Sans", Arial, sans-serif !important;
  font-size: clamp(30px, 3.4vw, 50px) !important; line-height: 1.15 !important; font-weight: 700 !important; letter-spacing: -.01em;
  color: #fff !important; text-shadow: 0 2px 14px rgba(0, 20, 45, .35) !important; max-width: 640px; margin-bottom: 22px !important;
  margin-top: 0 !important; padding: 0 !important; }
.xv-banner .banners-big__text-block, .xv-banner .banners-big__text-block p { color: #eaf3fb !important; font-size: 18px !important;
  line-height: 1.55 !important; text-shadow: 0 1px 8px rgba(0, 20, 45, .35) !important; background: none !important; max-width: 560px; }
.xv-banner .xv-banner__lead { margin: 0 0 14px; font-weight: 500; color: #fff !important; }
.xv-banner .xv-banner__list { list-style: none; margin: 0; padding: 0; }
.xv-banner .xv-banner__list li { position: relative; padding-left: 30px; margin: 0 0 8px; }
.xv-banner .xv-banner__list li::before { content: ""; position: absolute; left: 0; top: 7px; width: 18px; height: 18px; border-radius: 50%;
  background: #009846 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-4.9' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }
.xv-banner .banners-big__buttons { margin-top: 28px; display: flex; gap: 12px; flex-wrap: wrap; }
.xv-banner .banners-big__buttons .btn { padding: 16px 34px !important; font-size: 16px !important; font-weight: 600; border-radius: 6px !important;
  background: #009846 !important; border-color: #009846 !important; color: #fff !important; box-shadow: 0 8px 22px rgba(0, 152, 70, .35); text-transform: none; }
.xv-banner .banners-big__buttons .btn:hover { background: #007d3b !important; border-color: #007d3b !important; }
.xv-banner .banners-big__buttons .btn.xv-btn-ghost { background: rgba(255, 255, 255, .12) !important; border: 1px solid rgba(255, 255, 255, .7) !important; box-shadow: none; }
.xv-banner .banners-big__buttons .btn.xv-btn-ghost:hover { background: rgba(255, 255, 255, .22) !important; }
@media (max-width: 767px) {
  .main-slider__item.xv-banner-slide::before { background: linear-gradient(180deg, rgba(6, 34, 66, .7) 0%, rgba(6, 34, 66, .45) 60%, rgba(6, 34, 66, .2) 100%); }
  .xv-banner .banners-big__text-block, .xv-banner .banners-big__text-block p { font-size: 16px !important; }
}
/* сервис: список услуг (стилей компонента нет ни в одном архиве) — картинки, карточки, подпункты */
.services-list .grid-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px; }
.services-list__item { display: flex; flex-direction: column; padding: 28px; background: #fff; border: 1px solid #e8e8e8; border-radius: 6px; height: 100%; box-sizing: border-box; }
.services-list__item-image-wrapper { margin-bottom: 20px; position: relative; }
.services-list__item-image { display: block; width: 100%; height: 200px; background-size: cover; background-position: center; border-radius: 6px; }
.services-list__item-image-wrapper--ROUND_PICTURES .services-list__item-image { width: 120px; height: 120px; border-radius: 50%; }
.services-list__item .arrow-all { display: none; }
.services-list .grid-list > .bottom_nav { display: none; }
.services-list .grid-list > .grid-list__item:first-child:nth-last-child(-n+2) { grid-column: 1 / -1; }
.services-list .grid-list > .grid-list__item:first-child:nth-last-child(-n+2) .services-list__item { flex-direction: row; gap: 28px; align-items: flex-start; }
.services-list .grid-list > .grid-list__item:first-child:nth-last-child(-n+2) .services-list__item-image-wrapper { flex: 0 0 140px; }
.services-list__item-title { margin-bottom: 8px; line-height: 1.3; }
.services-list__item-childs ul { margin: 0 0 10px; padding: 0; list-style: none; }
.services-list__item-childs-item { color: #009846; }
.services-list__item-preview-text, .services-list__item-text { color: #666; font-size: 15px; line-height: 1.6; }
/* сервис: блок «Или оформите заявку» — в архиве высота 200px и overflow:hidden, ссылка на программу удалённой помощи обрезалась */
section.large-cta-section { height: auto !important; min-height: 200px; overflow: visible !important; padding-bottom: 28px !important; }
section.large-cta-section .h2.large { font-size: clamp(36px, 5vw, 72px) !important; line-height: 1.1 !important; }
section.large-cta-section .btn[download] { margin-top: 14px; padding: 14px 28px; font-size: 16px; }
/* производители: плитки логотипов и логотип на странице бренда */
.xv-brand-tile { display: flex !important; align-items: center; justify-content: center; height: 120px; padding: 16px; background: #fff; box-sizing: border-box; }
.xv-brand-tile img { max-width: 100%; max-height: 88px; object-fit: contain; }
.xv-brand-tile--text { font-size: 22px; font-weight: 700; color: #333; text-decoration: none; border: 1px dashed #ddd; border-radius: 4px; }
.xv-brand-logo { width: 260px; height: 140px; display: flex; align-items: center; justify-content: center; margin-bottom: 24px; }
.xv-brand-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.brand-list-inner__item { padding: 20px; }
/* соцсети — в строку (в архиве нет стилей блока, иконки вставали столбцом) */
.social__items { display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px; list-style: none; margin: 0; padding: 0; }
.social__items .social__item { margin: 0 !important; float: none !important; }
/* выставки: галерея фото со стенда */
.xv-event-gallery { margin-top: 24px; }
.xv-event-gallery a { width: 200px; height: 200px; }
.xv-event-gallery img { object-fit: cover; }
/* акции: картинки целиком, без обрезки кругом */
.sale-list__item-image { border-radius: 6px !important; background-size: contain !important; background-repeat: no-repeat !important; background-position: center !important; background-color: #fff; }
/* лицензии: миниатюры сканов (в архиве нет стилей компонента — картинки нулевого размера) */
.license-list-inner__item { display: flex; gap: 24px; align-items: flex-start; padding: 16px; margin-bottom: 16px; border: 1px solid #eee; border-radius: 4px; height: auto !important; }
.license-list-inner__image-wrapper { flex: 0 0 120px; }
.license-list-inner__image { display: block; width: 120px; height: 168px; }
.license-list-inner__image-bg { display: block; width: 100%; height: 100%; background-size: contain; background-repeat: no-repeat; background-position: center top; }
.license-list-inner__preview-icon1, .license-list-inner__preview-icon2 { display: none; }
.license-list-inner__content-wrapper { flex: 1; }
.license-list-inner__name { font-size: 16px; font-weight: 600; line-height: 1.45; }
.license-list-inner__section-title { font-size: 22px; font-weight: 600; margin: 24px 0 8px; }
.license-list-inner__section-description { margin-bottom: 16px; color: #666; }
/* шовный материал ATRAMAT: вступление раздела и тексты карточек (из techno-med) */
.xv-section-intro { margin-bottom: 24px; }
.xv-section-intro ul { margin: 0 0 12px; }
.xv-section-intro .btn { margin: 4px 8px 4px 0; }
.xv-sut::after { content: ""; display: block; clear: both; }
.xv-sut h3 { clear: both; margin-top: 24px; }
.xv-sut img { max-width: 100%; height: auto; }
.xv-sut .xv-left { float: left; margin: 4px 16px 8px 0; max-width: 40%; }
.xv-imgrow { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; margin: 16px 0; clear: both; }
.xv-imgrow img { max-width: 100%; height: auto; }
.xv-sut-table { border-collapse: collapse; margin: 12px 0 20px; }
.xv-sut-table th, .xv-sut-table td { text-align: left; vertical-align: top; padding: 6px 24px 6px 0; }
.xv-sut-table ul { margin: 0; }
@media (max-width: 600px) {
  .xv-sut .xv-left { float: none; display: block; max-width: 100%; margin: 0 0 12px; }
  .xv-sut-table, .xv-sut-table tr, .xv-sut-table th, .xv-sut-table td { display: block; }
}

a[href^="tel:"], .xv-nowrap { white-space: nowrap; }

.social__item.social__item--image.xv-max a { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 39 39'%3E%3Crect width='39' height='39' rx='9' fill='%231d1d26'/%3E%3Ccircle cx='20.5' cy='18.5' r='7.6' fill='none' stroke='%23fff' stroke-width='4.6'/%3E%3Cpath d='M12.2 21.6 L10.2 29.8 L18 26.8 Z' fill='%23fff'/%3E%3C/svg%3E") center/100% no-repeat !important; border-radius: 9px; }
.social__item .svg-inline-xv-max { color: #999; display: inline-flex; align-items: center; }
