.all-fact { width:100%; clear: both; padding-bottom: 30px; padding-top: 10px;}
.all-fact span { }
.all-fact .l1 > span {
    display: block;
    font-size: 20px;
    font-weight: 700;
    color: #c0392b;
    margin: 14px 0 4px;
    padding-bottom: 3px;
    border-bottom: 2px solid #e8d0cc;
    line-height: 1.2;
}
.all-fact .lev2 a {
    color: #333;
    text-decoration: none;
    line-height: 1.8;
}
.all-fact .lev2 a:hover {
    color: #c0392b;
    text-decoration: underline;
}
.all-fact .country-link h3 { margin:0px!important;}
.country-link { clear: both; padding-bottom: 10px;}

.all-fact #factories { padding-top: 24px;}
.all-fact .fastlink_name { margin-right: 24px;  width: 130px;   display: inline-block;}
.all-fact .fastlink_name .flag-icon {margin-right:6px;}

.country-link-fact { clear: both; }
.country-link-fact h3 { margin-bottom: 0px!important;}

.li-inline { text-align: left;
    display: inline-block;
    vertical-align: top;
    width: 22%;

    font-size: 14px!important;
    /* line-height: 1.8em; */
}

.listNav { margin:0 0 10px; }

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  margin: 12px auto;
  max-width: 100%;
  padding-bottom: 16px;
}
.review-card {
  position: relative;
  border: 1px solid #ddd;
  border-radius: 10px;
  background-color: #f9f9f9;
  overflow: hidden;
}

.review-toggle {
  display: none;
}

.review-content {
  padding: 16px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.review-title {
  font-size: 16px;
  font-weight: bold;
  color: #333;
  margin-bottom: 6px;
}

.review-meta {
  font-size: 13px;
  color: #777;
  margin-bottom: 6px;
}

.review-rating {
  font-size: 14px;
  color: #444;
  margin-bottom: 10px;
}

.review-body-wrapper {
  position: relative;
}

/* скрываем чекбокс */
.review-toggle {
  display: none;
}

/* по умолчанию обрезка */
.review-body {
  font-size: 14px;
  color: #444;
  line-height: 1.5;
  max-height: 7.2em;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  transition: max-height 0.3s ease;
}

/* показываем весь текст только если соответствующий чекбокс активен */
.review-toggle:checked ~ .review-body {
  max-height: none;
  -webkit-line-clamp: unset;
  overflow: visible;
}

/* скрываем "Читать полностью" при раскрытии */
.review-toggle:checked ~ .review-more {
  display: none;
}

.review-more {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  color: #0066cc;
  cursor: pointer;
  text-align: right;
  font-style: italic;
  opacity: 0.8;
}

/* ---------- FAQ base ---------- */
.faq {
  --faq-bg: #ffffff;
  --faq-text: #1f2937;
  --faq-border: #e5e7eb;
  --faq-accent: #111827;
  --faq-radius: 12px;
  --faq-space: 1.25rem;
  --faq-transition: 0.25s ease;
  max-width: 100%;
  margin: 8px auto 4px;
  padding-bottom:12px!important;
  color: var(--faq-text);
}

.faq__title {
  font-size: 1.75rem;
  line-height: 1.3;
  margin: 0 0 1.25rem;
  font-weight: 700;
}

.faq__item {
  background: var(--faq-bg);
  border: 1px solid var(--faq-border);
  border-radius: var(--faq-radius);
  padding: 0;
  margin-bottom: 12px;
  box-shadow: 0 0 0 rgba(0,0,0,0);
  transition: box-shadow var(--faq-transition);
}

.faq__item[open] {
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}

/* Скрываем стандартный маркер <summary> */
.faq__q::-webkit-details-marker {
  display: none;
}

.faq__q {
  cursor: pointer;
  position: relative;
  display: block;
  padding: var(--faq-space) calc(var(--faq-space) * 1.5) var(--faq-space) var(--faq-space);
  font-weight: 600;
  line-height: 1.4;
  outline: none;
  list-style: none;
}

/* Иконка +/– справа */
.faq__q::after {
  content: "+";
  position: absolute;
  right: var(--faq-space);
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.25rem;
  line-height: 1;
  color: var(--faq-accent);
  transition: transform var(--faq-transition);
}

.faq__item[open] > .faq__q::after {
  content: "–";
  transform: translateY(-50%);
}

.faq__a {
  overflow: hidden;
  padding: 0 var(--faq-space) var(--faq-space);
  border-top: 1px solid var(--faq-border);
  animation: faq-fade-in 0.2s ease;
}

.faq__text {
  margin: 0.75rem 0 0;
  line-height: 1.6;
  font-size: 0.9375rem;
}

/* ---------- Hover / focus states ---------- */
.faq__q:hover,
.faq__q:focus-visible {
  background: rgba(0,0,0,0.02);
}

/* ---------- Dark mode ---------- */
@media (prefers-color-scheme: dark) {
  .faq {
    --faq-bg: #111418;
    --faq-text: #e5e7eb;
    --faq-border: #22262b;
    --faq-accent: #f9fafb;
  }
  .faq__q:hover,
  .faq__q:focus-visible {
    background: rgba(255,255,255,0.04);
  }
}

/* ---------- Animations ---------- */
@keyframes faq-fade-in {
  from { opacity: 0; transform: translateY(-2px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---------- Small screens ---------- */


.card__price_nds { font-size: 16px; color: #979797;margin-top: 5px; width: 100%; text-align: right; line-height: 24px; font-weight: 400;}
.price_nds { font-size: 16px; color: #979797;margin-left: 5px; text-align:left; }

.gdprModal { display: none;}
.gdprModal a { text-decoration: underline;}
#cookies_notification {
    display: none;
    justify-content: space-between;
		position: fixed;
		left: 50%;
		background-color: white;
		border-radius: 4px;
		box-shadow: 2px 3px 10px rgba(0, 0, 0, 0.4);
		bottom: 15px;

        flex-direction: column;
        align-items: center;
        /*top: 50%;*/
        transform: translate(-50%, 0);
        padding: 25px 50px;
        font-size: 14px;
            z-index: 10;
}

#cookies_notification > div {
		margin: 15px 0;
}
#cookies_notification p {
    margin: 0;
    font-size: 14px;
    text-align: left;
    color: #000;
}

#cookies_notification button {
    background: #002366;
    color: #fff!important;
    transition: all 0.5s;
    text-decoration: none;
    text-transform: uppercase!important;
    font-size: 14px;
    border: none;
    text-align: center;
    display: inline-block;
    box-shadow: none!important;
    padding: 5px 10px;
    cursor: pointer;
}

@media (min-width: 576px) {
    #cookies_notification.show {
        
        display: flex !important;
        align-items: center;
        justify-content: center;
    }

    .cookie_accept {
        margin: 0 0 0 25px;
    }

    .item-cols-3 a.link-button {
        font-size: 11px !important;
        width: 115px;
    }
    .item-cols-3 a.link-button.getCalc.getPopup {
        width: 175px;
    }
}

.footer__bot { margin-top:6px!important;}
#search-mobile-btn {     margin: 8px 10px 0px 0px;}

.close-icon { cursor: pointer; width: 20px; height: 20px; position: relative;}

/* ===== БАЗОВАЯ МОДАЛКА ===== */
.search-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.search-modal__content {
    position: absolute;
    width: calc(100% - var(--header-search-left) - var(--header-search-right));
    height: 90vh;
    background: #fff;
    padding: 20px;
    box-sizing: border-box;
    top: var(--header-search-top);
    left: var(--header-search-left);
    right: var(--header-search-right);
    margin: 0 auto;
    transform: translateY(-20px);
    opacity: 0;
    transition: all 0.3s ease;
}

.search-modal__content .shortcard__bot { 
    display: none !important;
}

.search-modal__form {
    position: relative;
    width: 100%;
    margin-bottom: 20px;
}

.search-modal__results {
    height: calc(90vh - 100px);
    overflow-y: auto;
    position: relative;
}

.search-modal.active {
    display: block;
    opacity: 1;
}

.search-modal.active .search-modal__content {
    transform: translateY(0);
    opacity: 1;
}

/* ===== ТЕКСТ / РЕЗУЛЬТАТЫ ===== */

.search-request {
    width: 100%;
    height: 100%;
    border: none;
    background-color: transparent;
    font-size: 14px;
}

.search-modal__results__count { 
    text-align: center; 
}
.search-modal__results__count span { 
    font-weight: 700; 
}

.search-modal__results .catalog_short,
.search-modal__results .catalog_short__list {
    padding-top: 0 !important;
    padding-bottom: 15px !important;
}

/* ===== ЛОАДЕР ===== */

.search-loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
    border: 5px solid #f3f3f3;
    border-top: 5px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.header__search__form_v2 { border:0px!important;}

@keyframes spin {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* ===== ЛИНЕЙКА ПОИСКА (ПЕРЕКЛЮЧАТЕЛЬ + ПОЛЕ) ===== */

/* Вся строка внутри модального поиска */
.search-modal .header__search__form {
    display: flex;
    align-items: center;
    /*gap: 12px;      */        /* расстояние между переключателем и полем */
    height: 42px;           /* общая высота */
}

/* левая часть – переключатель */
.search-modal .search-mode-toggle {
    flex: 0 0 auto;
}

/* правая часть – поле */
.search-modal .search-main {
    flex: 1 1 auto;
    height: 100%;
}

.search-modal .header__search__form__row {
    height: 100%;
    display: flex;
    align-items: center;
    border: 1px solid #dcdcdc;
    border-radius: 21px;
    padding: 0 12px;
    box-sizing: border-box;
}

/* иконка + поле */
.search-modal .header__search__form__ico {
    margin-right: 8px;
}

.search-modal .search-request {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 14px;
}

/* крестик */
.search-modal .close-icon {
    margin-left: 8px;
    width: 16px;
    height: 16px;
    position: relative;
}

/* ===== ПЕРЕКЛЮЧАТЕЛЬ РЕЖИМОВ (nav_toggler) ===== */

/* Контейнер-пилюля с общей рамкой вокруг всего переключателя */
.search-modal .search-mode-toggle.nav_toggler {
    height: 42px;
    display: flex;
    position: relative;
    z-index: 1;
    background: #fff;
    border-radius: 21px;
    font-weight: 500;
    margin-right:10px;
}

.search-modal .search-mode-toggle.nav_toggler::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid #b4b4b4;
    border-radius: inherit;
}

/* Кнопки внутри переключателя */
.search-modal .search-mode-toggle .new_toggler__itm {
    flex: 1 1 50%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 21px;
    color: #848484;
    font-size: 13px;
    padding: 0 18px;
    white-space: nowrap;    /* текст всегда в одну строку */
    cursor: pointer;
}

/* Активная – залитая #3e82d0 */
.search-modal .search-mode-toggle .new_toggler__itm.active {
    background: #3e82d0;
    color: #fff;
}

/* ===== РЕЖИМЫ: ТЕКСТ / ФОТО ===== */

.search-modal.mode-text .search-request {
    display: block;
}
.search-modal.mode-text .search-photo-area {
    display: none;
}

.search-modal.mode-photo .search-request {
    display: none;
}
.search-modal.mode-photo .search-photo-area {
    display: flex;
    flex: 1;
    height: 100%;
    align-items: center;
}

/* ===== БЛОК ФОТОПОИСКА ===== */

.search-photo-area {
    display: none;
    flex: 1;
}

.search-photo-file {
    display: none;
}

.search-photo-preview {
    margin-top: 6px;
    display: flex;
    gap: 6px;
    align-items: center;
}

.search-photo-preview img {
    max-height: 50px;
    border-radius: 4px;
}

/* сам dropzone */
.search-modal .search-photo-dropzone {
    width: 100%;
    height: 32px;
    border: 1px dashed #bbb;
    border-radius: 16px;
    display: flex;
    align-items: center;    /* центрируем по вертикали */
    justify-content: center;/* общий центр, а внутри уже flex */
    padding: 0 12px;
    box-sizing: border-box;
    cursor: pointer;
    gap: 8px;               /* расстояние между миниатюрой и текстом */
}

/* миниатюра внутри dropzone */
.search-modal .search-photo-thumb {
    max-height: 28px;       /* ниже высоты строки поиска */
    border-radius: 4px;
    flex-shrink: 0;
    display: block;
}


.search-modal .search-photo-dropzone.dragover {
    border-color: #000;
    background: #fafafa;
}

.search-modal .search-photo-dropzone__text {
    text-align: center;
    font-size: 13px;
    line-height: 14px;
}
.search-modal .search-photo-dropzone__text span {
    display: block;
    font-size: 11px;
    color: #777;
}




.header__search.disabled {
  opacity: 0.5;
  pointer-events: none;
}

@keyframes spin {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}



.product section.description ul
{
    list-style: disc;
      margin-left: 14px;
      margin-bottom:20px;
}

.typepage-collection .description article ul
{
    list-style: disc;
      margin-left: 14px;
      margin-bottom:20px;
} 
.typepage-collection .description  h2, .typepage-collection .description  h3 { padding-bottom: 14px; font-weight: 500;}
.typepage-collection .description  table { border: 3px solid #ccc; margin-bottom:20px; text-align: left;}
.typepage-collection .description  table th, .typepage-collection .description  table td { padding: 5px;  border: 1px solid #ccc;}
.typepage-collection .description  table th { font-weight: bolder;}

.banners h2 { text-align: center; padding-bottom: 10px;}
.banners {

  
  background-color: #fff; /* Темный фон */
  padding: 20px 0; /* Дополнительное пространство сверху и снизу */
}

.banners__slider_swiper {
    display: flex;
    justify-content: center; /* Центрируем слайды */
    align-items: center;
    width: 100%;
}

.mySwiperBanners .swiper-slide {
    max-height: 500px; /* Максимальная высота слайдов */
    display: flex;
    justify-content: center; /* Центрируем картинку внутри слайда */
    align-items: center;
    overflow: hidden;
}

.mySwiperBanners .swiper-slide img {
    height: 100%;
    max-height: 500px;
    width: auto;
    max-width: 100%; /* Изображение не будет превышать ширину слайда */
    object-fit: contain; /* Подгоняем изображение, сохраняя пропорции */
}

.banners__slider_swiper .slider_arrow { top:50%;}
.banners__slider_swiper .slick-prev { left:0px!important;}
.banners__slider_swiper .slick-next { right:0px!important;}

.banners .intro__slide__img {     margin-left: 0px!important;}

.shared_block { padding-top: 8px; width: 100%;}
.product .shortcard__manage_btns { display:inline-block; float:right; margin-right:24px;}
.product  .shortcard__price_block { width:100%;}
.share_link_userid a {color: #236dc1; margin-left: 6px; }
.share_link_userid a:hover { text-decoration: underline;}
.share_link_userid { display: none; font-weight: 500; 
    align-items: center;  /* Центрирование по вертикали */
    height: 28px;
    padding: 0 10px;  /* Если нужно добавить отступы */
    box-sizing: border-box; /* Чтобы padding не влиял на высоту элемента */}

.delivery .section-title { margin-bottom: 15px;}
.fabrika__card__info .shortcard__tag-example { width: max-content;  height: 45px; cursor:pointer; border-radius: 19px !important; font-size: 16px; font-weight: 400; padding: 10px 10px; } 
.fabrika__card__info .card__help__itm-video { border:none!important; padding:0px;  }
.fabrika__card__info .card__help__itm-video span {  color: #236dc1;  }
.fabrika__card__info .card__help__itm-video:hover { text-decoration: underline;}
.fabrika__card__info h1 { width:100%;}

.share_link { margin-right: 20px; display: inline-block;}
.share_link img { margin-right:6px; }
.share_link a { vertical-align: middle; }
.share_link a:hover { text-decoration: underline;  color: #236dc1;}

.rotate-icon {
    position: absolute;
    bottom: 10px;
    right: 10px;
    cursor: pointer;
    font-size: 20px;
    background-color: rgba(255, 255, 255, 0.7);
    padding: 5px;
    border-radius: 50%;
}
.goodTempStyle_0 { text-align: center;}
.card__help__title { align-items: end!important; }
.card__help__itm-video { background-image:none!important;}

.whatsapp-ico a {
    display: inline-block;
    width: 29px; /* Ширина изображения */
    height: 29px; /* Высота изображения */
    background-image: url('/theme/img/whatsapp-48.png');
    background-size: contain; /* Размер фона соответствует изображению */
    background-repeat: no-repeat; /* Изображение не повторяется */
    background-position: center; /* Изображение центрируется */
}

.whatsapp-link { width:28px!important; height:28px!important;  }
.whatsapp-link img {  width:28px!important; height:28px!important; }

.telegram-ico a {
    display: inline-block;
    width: 29px; /* Ширина изображения */
    height: 29px; /* Высота изображения */
    background-image: url('/theme/img/telegram-48.png');
    background-size: contain; /* Размер фона соответствует изображению */
    background-repeat: no-repeat; /* Изображение не повторяется */
    background-position: center; /* Изображение центрируется */
}

.telegram-link { width:28px!important; height:28px!important;  }
.telegram-link img {  width:28px!important; height:28px!important; }


.header__catalog__menu > ul > li > a .svg-ico { margin-right: 14px!important;}
.header__catalog__submenu .color_block { margin-right: 6px!important; margin-bottom: 4px;}

.branches_block { clear: both; width: 100%;}
    .sample_branch { display: inline-block; white-space: nowrap;  padding-right: 10px;}
    .sample_branch svg {
          color: #3e82d0;
        }

.new-badge {
    position: absolute;
    top: 8px;
    right: -32px;
    background-color: #3e82d0;
    color: white;
    padding: 2px 4px;
    font-size: 8px;
    font-weight: bold;
    border-radius: 13px;
    animation: flash 3s infinite;
}


@keyframes blink {
    0%, 50%, 100% {
        opacity: 1;
    }
    25%, 75% {
        opacity: 0;
    }
}

@keyframes flash {
    0% {
        background-color: #3e82d0;
    }
    50% {
        background-color: #cc2035;
    }
    100% {
        background-color: #3e82d0;
    }
}

/* Применяем анимацию к классу .flashing */
.flashing {
    animation: flash 1s infinite;
}


.header__location { display: inline-block; max-width: 280px; margin-top: 10px;}
    .header__location__address a:hover {font-weight: 700;
        color: #bf1e2e;}

    .header__location__address svg  {color: #3e82d0;}

.contacts__info h4 { margin-top: 10px; color: #3e82d0;}
.contacts__info h2 { border-bottom: 1px #3e82d0 solid; }

.shortcard__nal { display: flex;
  align-items: center; }
.shortcard__nal .label { padding-right: 8px;}

.square-container {
    display: flex;
    align-items: center;
}

.shortcard__nal .label {
  display: inline-block; /* ��� �������� ����� �� ����� ������ */
}


.square-container span { padding-right: 10px; }
.square {
    width: 18px;
    height: 18px;
    margin-right: 3px;
    border: 1px solid #666; /* ���� ����� �������� */
}

/* ��������� ��� �������� */
.square.with-bg {
    background-color: #8cbe4f; /* ���� ���� �������� */
}

.hi-slider__sectors {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
}

.hi-slider__sector {
  flex-grow: 1;
}

.like-collect svg { margin-left: 4px; } 

.shortcard__tags { top:12px;left: 11px;  right: 11px;}
.shortcard__tag { margin-right: 0px!important;}
.shortcard__tag-video { width:43px; height:43px; background-image: url(../img/youtube.png);
    background-size: contain; /* �������������� ����������� ���, ����� ��� ��������� ���������� � ���� */
    background-repeat: no-repeat; /* ������������� ���������� �������� ����������� */
    margin-left: auto;
    background-position-y: -2px;
    background-color: #f00;
    border-radius: 0px 0px 0px 19px;
}

.shortcard__tag-panorama { 
    width: 55px; height:45px; background-image: url(../img/360-view-3.png);
    background-size: contain; /* �������������� ����������� ���, ����� ��� ��������� ���������� � ���� */
    background-repeat: no-repeat; /* ������������� ���������� �������� ����������� */
    border: 1px solid #6fb944;
    background-color: #fff;
    border-radius: 0px 0px 19px 19px;
    background-position-x: 5px;
}

.hi-slider:hover .hi-slider__dots {
  opacity: 1;
}
.hi-slider__dots {
  position: absolute;
        width: 100%;
        bottom: 0px;
        height: 4px;
        padding-top: 2px;
        background: #fff;
    
        display: flex;
        align-items: center;
        justify-content:space-around;
        pointer-events: none;
        opacity: 0;
}

.shortcard__thumb__img:hover .hi-slider__dots{
        opacity: 1;
    }
.hi-slider__dot {
        background-color: #d8dadf;
        height: 3px;
        flex-grow: 1;
        margin: 0 1px;  
    }
.hi-slider__dot--active {
            background-color: #236dc1;
        }


.card__manage_btn {
  float: left;
}
.shortcard__thumb::before { padding-bottom: 100%!important;}
/* Картинка коллекции кликабельна — переход на страницу коллекции */
.shortcard.collect .shortcard__thumb, .shortcard .shortcard__thumb { cursor: pointer; }
.card__params .show-more-btn { font-size:1.1em;}

.card__info__top { -webkit-box-align: center;
  -webkit-align-items: center; }

.btn-liked:hover, .btn-liked.active {
  color: #f9b043;
}

 .shortcard__thumb { max-height: 350px!important;}
 
.catalog__filter__manage .btn-blue { display: none;}

#gdprModal {}
.modal-active {
  pointer-events: none;
}

#video_click span { color: #bf1e2e!important; line-height: 40px; }
#video_click:hover { color: #3e82d0!important; }


.shortcard__tag-example {   border-radius: 0px 0px 19px 19px!important; }
.catalog_short__list .product  .shortcard__tag-example {   border-radius: 19px!important; }



.filesize { color: grey; border:0px!important; padding-left: 6px;}
#open-panorama { margin-top: 20px; color: #bf1e2e; }

.card__download_link span { line-height: 22.5px;  border-bottom: 0px!important;}
.card__download_link:hover span { color: #3e82d0; }
.card__download_link img {
  margin-right: 10px;
}

div#panorama_block { padding-bottom: 70px; display:none;}
.panorama_link {
            
            width: 100%;
            height: 70vh;}
.panorama_link iframe {
    width: 100%;
            height: 100%;
            border: none;
}

.attention-product { width:100%; text-align: right; color: #bf1e2e; font-weight: 400; padding: 6px 0px;}
    .attention-product-teaser { text-align: left; font-size:12px; padding-bottom: 8px; color: #bf1e2e; display: none;}
    .shortcard__params { padding-bottom: 90px!important;}
    
    .shortcard:hover .attention-product-teaser { display: inherit; }

.admin_link { padding: 10px; border:1px solid #eee;  display: inline-block; border-radius: 20px; background-color: #fffad3; font-size: 16px !important; margin: 6px 10px 6px 0px;}
.article table tr td { border: 1px #336 solid; margin: 5px; padding: 10px;}
.article table tr:nth-of-type(1) td { background-color: #eef; }
.article .plain_text a {     color: #266fc2;     text-decoration: underline; }
.article .swiper {
      width: 100%;
      height: 100%;
      background-color: #333;
        border-radius: 24px;
        margin: 20px 0px;
    }

    .article .swiper-slide {
      text-align: center;
      font-size: 18px;
      background-color: #333;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 30px;
    }

    .article .swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 24px;
    }

    .article .swiper-slide {
      width: 60%;
    }

    .article .swiper-slide:nth-child(2n) {
      width: 60%;
    }

    .article .swiper-slide:nth-child(3n) {
      width: 60%;
    }
.product .description { padding: 40px 0px; font-size: 14px!important;}

.card__order__delivery { min-height:60px; display: flex; border:0px!important;}


.card__params li .val { font-weight: 400; overflow: auto;}
.delivery_info { padding-top: 20px;}
    .info__itm { font-size: 16px; display: flex;  cursor:pointer;  text-align:left;      text-transform: initial!important; }
    .info__itm img { margin-top:-5px; filter: brightness(0%) saturate(100%) invert(59%) sepia(98%) saturate(5897%) hue-rotate(176deg) brightness(104%) contrast(105%); }
    .info__itm__header {}
    .info__itm__header .h3 {
        text-transform: uppercase;
        font-size: 15px;
        line-height: 1.3125;
        font-weight: 500;
        margin-left:6px;
    }

.collection .info__itm {
    display:flex;
    padding: 0px;
}
   
.info__itm .top {
    min-width:200px; 
    max-width:550px;
    width: max-content;
    top:0px;
    left:50%;
    transform:translate(-50%, -100%);
    padding:10px 10px;
    color:#444444;
    background-color:#FFFFFF;
    font-weight:normal;
    font-size:13px;
    border-radius:8px;
    position:absolute;
    z-index:99999999;
    box-sizing:border-box;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
    display:none;
}

.info__itm:hover .top, .info__itm:hover .right {
    display:block;
     text-transform: initial!important;
}

.info__itm .top i {
    position:absolute;
    top:100%;
    left:50%;
    margin-left:-12px;
    width:24px;
    height:12px;
    overflow:hidden;
}

.info__itm .top i::after {
    content:'';
    position:absolute;
    width:12px;
    height:12px;
    left:50%;
    transform:translate(-50%,-50%) rotate(45deg);
    background-color:#FFFFFF;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
}



.info__itm .right {
    min-width:200px; 
    max-width:550px;
    width: max-content;
        top: 70px;
    /* top:50%;
    left:100%;
    /*transform:translate(0, -50%); */
    padding:10px 10px;
    color:#444444;
    background-color: #fbfbfb;
    font-weight:normal;
    font-size:13px;
    border-radius:8px;
    position:absolute;
    z-index:99999999;
    box-sizing:border-box;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
    visibility:hidden; opacity:0; transition:opacity 0.8s; 
}

.info__itm:hover .right {
    visibility:visible; opacity:1;
}

.info__itm .right img {
    width:400px;
    border-radius:8px 8px 0 0;
}
.info__itm .text-content {
    padding:10px 20px;
}

.info__itm .right i {
    position:absolute;
    bottom:100%;
    left:5%;
    margin-left:-12px;
    width:24px;
    height:12px;
    overflow:hidden;
}
.info__itm .right i::after {
    content:'';
    position:absolute;
    width:12px;
    height:12px;
    left:50%;
    transform:translate(-50%,50%) rotate(45deg);
    background-color:#FFFFFF;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
}


 .one_item  .item_delivery { display: flex; padding:0px!important;}
 .one_item  .item_lifter { display: flex; padding:0px!important; margin-left: auto;}
 .one_item  .info__itm__header .h3 { font-weight: 400;}
 .one_item .info__itm .right { right:0px; top:initial!important; }
 .one_item .info__itm .right i { display: none;}

.info__itm .top .link, .info__itm .right .link  { border:1px #339 solid; cursor:pointer; padding: 10px 20px; color: #236dc1; font-weight: 500; display: inline-block;
    margin: 10px 0px 0px 20px;}
    .info__itm .top .link:hover, .info__itm .right .link:hover  { color: #fff; background-color: #3e82d0;}
.info__itm .delivery__price ul { border:0px!important; -webkit-columns: 1;
    -moz-columns: 1;
    columns: 1;}
.info__itm .delivery__price ul li { padding: 0px!important; border:0px; min-height: inherit!important;}
.info__itm .delivery__price ul li:not(:last-child) { border-bottom: 1px solid #d6d6d6!important; min-height: inherit!important;}



.card__download_link { margin-right: 32px; height:35px; cursor: pointer!important; font-size:15px; font-weight: 500; color: #bf1e2e; margin-top: 4px!important; }
/*.svg-texture { margin-right: 4px!important;}*/

#gallery-videojs-demo, #gallery-panorama  { display: inline-block;}
/* .block_links_files — блок удалён из шаблона коллекции 30.08.2026, правило осиротело */

#numberSlides { display: block;
    /* width: 100%; */
    padding: 10px;
    border-bottom: 5px solid;
    color: #ffffff;
    font-size: 30px;
    position: absolute;
    bottom: 10px;
    left: 10px;
    /* Было 1000. Счётчику достаточно быть над картинкой и стрелками слайдера
       (у них слой 10); с тысячей он вылезал поверх открытого списка фабрик. */
    z-index: 11;
    font-size: 30px;
    background-color: #444;}

.card__tag a:hover, a.goto_goods:hover { color: #3e82d0;}
 .card__tag { font-size: 16px!important; }

#gallery-panorama, #gallery-videojs-demo  { align-self: end;}
a.goto_goods {
    height: 35px;
    align-self: end;
    background-color: #ededed;
  -webkit-border-radius:20px;
  border-radius:  20px;
  font-weight:normal!important;
  margin-bottom: 4px!important;
  margin-right:24px;
}

a.samples_link { align-self: end;  margin-bottom: 4px!important; margin-right:24px;}
.collect .card__manage_btns a .shortcard__tag-example {
    border-radius: 19px!important;
    font-size: 15px;
    font-weight: normal;
    margin-bottom: 0px!important;
    width: 130px;
  height: 35px;
}

.btn-video {color: #f9b043;}
.btn-raskl {color: #3e82d0;}

.sub-title { color: #666; float:left; font-size: 20px;     margin: 0px 0px 10px; width:100%; clear: both;}

.fabrika__card__info .sub-title { width: inherit;   clear: none; margin-right:10px;}


.review_one { padding: 10px 0px; }
.review_one span { display: block;  font-size: 14px!important; }
    .review_img { float:left; padding: 0px 10px 10px 0px;}
    .review_date { color: #3c3c3c}
    .review_author { font-weight: bold; font-size:16px!important; color: #3c3c3c; }
    .review_stars {}
    .review_text {}
    
    #admin_tables table td { padding: 2px 6px;}
    #admin_tables table tr {border-bottom: 3px solid #ccc; }

.catalog_short__list .collect:hover {   }

.mc-noreviews,.mc-cr,.mc-breakdwn { display: none!important;}
.mc-btn2 {   background-color: #3e82d0!important;
  color: #fff!important;
  border: 1px solid #3e82d0!important;
  height: 55px!important;
  padding: 0 46px!important;
    font-weight: 500!important;
 }

.reviews { padding-top: 16px;}
.crr-cnt { display: block; margin-left:-8px;}
.form__consent { margin-top: 20px;}
.form__consent input { top: 0px!important;}
/*
.form__consent input[type="checkbox"]:checked + i::after {
    
    opacity: 0!important;
  }
  .form__consent input[type="checkbox"] + i {

    border: 0px!important;
  }
*/
.button-disabled { background-color: #e1e1e1!important; border: 1px #999 solid;}
.button-disabled:hover { color: #fff; }

.partner__thumb img { border-radius: 50%; width: initial!important;}
.factory_site { width: 100%; clear:both; }
.factory_site a:hover { color: #3e82d0; }
.admin-menu input[type=checkbox]{opacity:1!important;}

.header__catalog__submenu {
    min-height: 100%;
}
.notwork {
    display: none;
}

.podrazdel.active .openCatalog::after,
.razdel.active .openCatalog::after {
    transform: rotate(0);
}


.top_razdel { padding-top: 16px;}
.razdel_name_text {vertical-align: top;padding-top: 4px;display: inline-block;}
.razdel_name {width: 100%; vertical-align: top;padding-top: 4px;display: inline-block;}
.razdel { padding-top: 10px;}

.card .mySwiper2 { width:720px; height:720px;}

.mySwiper2 {border: 1px solid #b4b4b4;}
.mySwiper2 .swiper-slide { background-color: #fff; display: flex!important; height: auto; }
.mySwiper2 img {
    width: auto;
    margin: auto;
    display: flex!important;
    overflow: hidden;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain; /* вписывать по ширине/высоте, пропорции не ломать */
}

/* Главный слайдер карточки: снимок занимает всё окно, а не висит в нём.
   Раньше здесь стояло «никогда не растягивать», и снимок рисовался в свою
   натуральную величину: оригинал 560x185 в окне 720x720 выглядел маленьким
   с широкими полями. Каждый шестой снимок товара уже меньше окна, так что
   ждать «правильных» исходников бессмысленно.
   object-fit: contain оставлен — пропорции не ломаются, поля остаются только
   с одной стороны, по короткой стороне снимка. */
.card .mySwiper2 .swiper-slide img {
    width: 100%;
    height: 100%;
}

.slider_videos #numberSlides { bottom:50px;}

#mySwiperCol .swiper-slide iframe {
        width: 100%; /* ������ iframe */
        height: 100%; /* ������ iframe */
        object-fit: cover; /* ��� �����������, ��� ����� ��������� ����� */
}

#mySwiperCol .swiper-slide video {
        width: 100%; /* ������ ����� */
        height: 100%; /* ������ ����� */
        object-fit: cover; /* �������� ����� ��������� �����, �������� ��������� */
    }

.imgage-vert {width:auto!important; height: 100%!important; object-fit: contain!important;}
.image-horiz {width:100%!important; height: auto!important; object-fit: contain!important;}
.image-kvadr { width:auto!important; height: auto!important; max-width:100%!important; max-height:100%!important; object-fit: contain!important;}

.header__callback_btn { color: #236dc1; }

 .card__preview .mySwiper2  {  /*max-height: 520px!important; */ }

.card__preview .swiper-zoom-container img {}

.cnt_block__btn { cursor: pointer; text-align: center; vertical-align: middle; display: inline-block; margin: auto;
    padding: 6px;
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}

@keyframes scaleup {
        0% {
          transform: scale(0.2);
        }
        90% {
          transform: scale(1.2);
        }
        100% {
          transform: scale(1);
        }
      }

      .modal {
        display: none;
        position: fixed;
        z-index: 200;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        overflow: auto;
        background-color: #333;
        background-color: rgba(0, 0, 0, 0.7);
        animation: scaleup 0.2s ease-in;
      }

      .modal-content {
        position: absolute;
        top: 50%;
        background-color: #f2f2f2;
        border-radius: 5px;
        padding: 20px;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
      }

      .modal-close-button {
        position: absolute;
        background-color: #3e82d0;
        padding: 10px;
        border-radius: 50%;
        color: #fff;
        right: -15px;
        top: -15px;
        cursor: pointer;
        width: 30px;
        height: 30px;
        padding: 0px;
        text-align: center;
        font-size:20px;
      }
      .modal-close-button:hover {
        transform: rotate(15deg);
      }

      .show-modal {
        display: block;
      }


.noUi-horizontal .noUi-handle {
    width: 16px!important;
    height: 16px!important;
    margin-left: -8px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background-color: #fff!important;
    border: 3px solid #2d2d2d!important;
    cursor: pointer;
}
.noUi-connect {
  background: #2d2d2d!important;
}
.noUi-handle::before, .noUi-handle::after { display:none!important;}
.catalog__filter__range .slider-range {
    margin: 12px 14px 24px 0px !important;
}


.collect_products .swiper, .related_products .swiper, .relinks .swiper,.home_products__content .swiper { overflow: initial!important;}
.collect_products .swiper-slide, .related_products .swiper-slide, .relinks .swiper-slide,.home_products__content .swiper-slide {  height: auto!important;}

.collect_products .swiper-slide .collect { margin-bottom: 80px;}
.collect_products .swiper-slide .shortcard, .related_products .swiper-slide .shortcard, .relinks .swiper-slide .shortcard,.home_products__content .shortcard,
/* Карточка в «Сопутствующих товарах» — та же рамка, что в каталоге и каруселях:
   список рамок держим в одном месте, иначе они разъезжаются по оттенкам. */
.antica-companion__card .shortcard {
    border: 1px solid #c4c4c4;
    margin-left: -1px;
    height:100%;
}

.brands {
  /* Блок «Популярные бренды» шёл вплотную к распродаже над ним — разделов не
     было видно, страница читалась одним полотном. */
  padding: 54px 0 0px;
}

.brands__slider_swiper {
    margin-top: 19px;
    border: 1px solid #e0e0e0;
}
.brands__slider_swiper .slider_arrow { top:50%;}
.brands__slider_swiper .slick-prev { left:0px!important;}
.brands__slider_swiper .slick-next { right:0px!important;}
.brands__slide { width:100%;}


.brands .swiper { padding: 10px!important;}
.brands .swiper-slide {
    width: 200px !important;
    height: 200px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* Стили для картинок */
.brands .swiper-slide img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.header__search__result__content .scroll_wrap, .header__search__result__nav,
    .catalog__filter__list, .card__reviews__list, .header__cart__list { overflow-y: scroll; scrollbar-width: thin;  -webkit-appearance: none; }


.mySwiperIntro .slick-prev {
    left: 0px;
}
.mySwiperIntro .slick-next {
    left: 71px;
}
.mySwiperIntro .slick-arrow, .mySwiper2 .slick-arrow {
    position: absolute;
    z-index: 5;
    width: 71px;
    height: 71px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: rgba(255,255,255,.58);
    bottom: 57px;
    color: #2e3644;
}

.mySwiperCol  { height:720px;}
.mySwiperCol .swiper-slide { background-color: #333; padding: 0px!important; display: flex!important;}
.mySwiperCol img {
    height: 100%;
    width:auto!important;
    margin: auto;
    display: flex!important;
    overflow: hidden;
}

.slider_arrow { top: 30%;}
.mySwiper2 .slider_arrow { top: 50%!important;}
.mySwiperColThumb .swiper-slide {
    width: 25%;
    height: 100%;
    opacity: 0.6;
}
.mySwiperColThumb .swiper-slide-thumb-active {
    opacity: 1;
}
.mySwiperColThumb .swiper-slide, .mySwiper .swiper-slide { padding: 15px 15px 0px 0px; }

.thumbsslider  .swiper-slide { max-height: 150px;}

/* Миниатюры в слайдере карточки (в т.ч. product-preview modal):
   переопределяем глобальный .swiper-slide { width:100% }, чтобы превью не растягивалось в одну широкую картинку. */
/* Миниатюра — КВАДРАТ 100×100, ровно как плитки роликов и панорам под лентой.
   Была 75×90: ширину съедал правый отступ слайда, и в одном ряду стояли
   прямоугольники рядом с квадратами. Ряд обязан читаться как один ряд, а не как
   два разных списка, поэтому размер общий. 115 у слайда — это те же 100 плюс
   его собственные 15 пикселей отступа справа. */
.card__preview .thumbsslider .swiper-slide,
#product-preview-modal .thumbsslider .swiper-slide,
.card__thumbs-row .thumbsslider .swiper-slide {
    width: 115px !important;
    height: auto !important;
    flex: 0 0 115px;
}

.card__preview .thumbsslider .swiper-slide img,
#product-preview-modal .thumbsslider .swiper-slide img,
.card__thumbs-row .thumbsslider .swiper-slide img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    display: block;
}

/* Миниатюра видео в ленте превью: это не кадр, а иконка 64x64, и общий для фото
   object-fit:cover растягивал её до 90px и обрезал по краям. Показываем целиком и
   мельче — contain плюс отступы, фон отделяет её от соседних фотографий. */
.card__preview .thumbsslider .swiper-slide img.thumb-video,
#product-preview-modal .thumbsslider .swiper-slide img.thumb-video {
    object-fit: contain;
    padding: 26px;
    background: #f2f2f2;
    box-sizing: border-box;
}

/* Точный остаток в карточке (эксперимент stock-exact-qty): количество стоит перед
   ступенями и не должно переноситься на вторую строку — иначе цифра отрывается от
   шкалы и читается как отдельная надпись. */
.square-container.stock-exact { white-space: nowrap; }

/* Распродажа склада: вместо ступеней наличия — точный остаток в рамке. Цвет тот
   же, что у меток наличия, рамка отделяет число от соседних строк карточки. */
.square-container.sale-stock,
.square-container.stock-exact--badge {
    border: 1px solid #8cbe4f;
    border-radius: 3px;
    padding: 0 7px;
    white-space: nowrap;
}
.square-container.sale-stock .sale-stock__qty,
.square-container.stock-exact--badge .stock-exact__qty {
    color: #8cbe4f;
    font-weight: 600;
    padding-right: 0;
}

/* Оговорка над ценой распродажи. Цвет тот же, что у остатка, — подпись и число
   читаются как одно сообщение: цена привязана к тому, что лежит на складе. */
.card__sale_note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    padding: 8px 12px;
    border: 1px solid #8cbe4f;
    border-left-width: 4px;
    border-radius: 4px;
    background: #f4f9ec;
    color: #4d6b28;
    font-size: 13px;
    line-height: 1.3;
}
/* Та же оговорка в миниатюре — коротко и мельче: места на фразу целиком нет. */
.shortcard__sale_note { display: block; margin-bottom: 4px; }
.shortcard__sale_note > span {
    display: inline-block;
    padding: 1px 7px;
    border: 1px solid #8cbe4f;
    border-radius: 3px;
    background: #f4f9ec;
    color: #4d6b28;
    font-size: 12px;
    line-height: 17px;
    white-space: nowrap;
}

/* Распродажная миниатюра: плашка занимает свою строку (внешний div на всю
   ширину, пилюля внутри — по ширине слов), цена — обычным размером, как у
   соседних карточек, а кнопки «в раскладку»/«в избранное» прижаты вправо и
   на узкой карточке уходят на следующую строку, а не за край блока.
   Растягивать flex-контейнер отрицательными или процентными полями нельзя:
   он становился шире карточки на 10 px, и кнопки вылезали. */
.shortcard__price_block.has-sale-note {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 6px;
}
/* Блок цены в товарной миниатюре абсолютный и с width:100% от карточки —
   он на 10 px шире её внутренней области, и обычные карточки прячут это
   отступом у кнопок (margin-right:24px). У распродажной кнопки прижаты
   flex-полем, поэтому блок держим строго между полями карточки. */
.product .shortcard__price_block.has-sale-note { width: auto; left: 11px; right: 11px; }
.shortcard__price_block.has-sale-note .shortcard__sale_note {
    flex: 0 0 100%;
    margin: 0 0 3px;
}
.shortcard__price_block.has-sale-note .old_price { margin-right: 0; }
.product .shortcard__price_block.has-sale-note .shortcard__manage_btns {
    float: none;
    margin-left: auto;
    margin-right: 0;
}

.card__sale_note__ico {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #8cbe4f;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    line-height: 22px;
    text-align: center;
}
.square-container.stock-exact .stock-exact__qty { font-weight: 600; }

.my-video-dimensions { width:100%; height:100%;}


.b-tab {
    display: none;
}
.b-tab.active {
    display: block;
}


/* UPDATE V7 */
/* UPDATE V7 */
/* UPDATE V7 */


.opacity50 { opacity: 0.25;}
.opacity100 { opacity: 1;}
#tags_params { padding: 12px 0px 0px 0px; margin: 0 auto; }
.page-title { text-align: center; width: 100%;}
.tag_param {   font-size: 14px; font-weight: 400;
    display: inline-block;   position: relative;
    border: 1px solid #aaa; padding: 4px; margin: 0 3px;
    border-radius: 16px;
}
.tag_text .flag-icon { width: 12px; line-height: initial; margin-right: 3px;}
.tag_param .tag_text { display: inline-flex; padding: 0px 22px 0px 6px; }
.tag_param .tag_delete { background: transparent;
    border: none;
    color: #aaa;
    cursor: pointer;
    height: 16px;
    max-height: 16px;
    max-width: 16px;
    padding: 1px 6px;
    pointer-events: auto;
    position: absolute;
    right: 10px;
    top: 5px;
    width: 16px; }

#collect_button, #good_button { cursor:pointer!important; }

/* Счётчик у значения фильтра: справа, серым, на одной строке с подписью.
   Был <sup> с надстрочным индексом — на строке с цветным квадратиком он
   прыгал вверх и читался как сноска. */
/* Подпись растягивается на всю строку списка — иначе label остаётся
   inline-block по ширине слова, и счётчику некуда уходить вправо. Рисованная
   галка <i> позиционируется абсолютно относительно label, ей это не мешает. */
.catalog__filter__itm__body label.checkbox { display: block; width: 100%; box-sizing: border-box; padding-right: 8px; }
.catalog__filter__itm__body label.checkbox p { display: flex; align-items: center; gap: 6px; }
/* Флажок страны и цветной квадратик — фиксированной ширины и не растут:
   растянутый флажок уводил название фабрики к правому краю. Текст подписи —
   анонимный flex-элемент, ему ничего задавать не надо. */
.catalog__filter__itm__body label.checkbox p > .flag-icon,
.catalog__filter__itm__body label.checkbox p > .color_block { flex: 0 0 auto; }
.tid_count { margin-left: auto; padding-left: 8px; color: #9ca3af; font-size: 12px; font-weight: 400; line-height: 1; vertical-align: baseline; position: static; top: auto; white-space: nowrap; }
.tid_count:empty { display: none; }
#codeuser { display: none;}
.header__catalog__submenu .row>div { height: inherit!important;}
#filter-sort input {   -webkit-user-select: none;     user-select: none;}

.cnt_block__select_non{border-left:1px solid #e1e1e1;width:initial;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;position:relative;z-index:1}
.cnt_block__select_non .current{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;cursor:pointer;width:100%;height:100%;padding:0 15px 0 15px}

.cart__itm__result .label, .cart__itm__result  .val {display: inline-block;}
.shortcard-buy:hover::before {
  bottom: -186px!important;
}

/* Раскрывающаяся при наведении часть карточки («Кол-во», «В корзину», «Купить в
   один клик») выходит НИЖЕ карусели, в область следующего блока. Порядка
   наложения у неё не было, и заголовок «Похожие товары» рисовался поверх кнопки:
   выглядело как наложение двух блоков друг на друга. Поднимаем над соседями
   только на время наведения — в покое ничего не меняется. */
.collect_products,
.related_products,
.relinks { position: relative; }
.collect_products:hover,
.related_products:hover,
.relinks:hover { z-index: 5; }
.collect_products .swiper-slide:hover,
.related_products .swiper-slide:hover,
.relinks .swiper-slide:hover { position: relative; z-index: 6; }
/* Свайпер режет всё за границами дорожки — без этого раскрытая часть обрезалась
   бы по нижнему краю карусели. */
.collect_products .swiper,
.related_products .swiper,
.relinks .swiper { overflow: visible; }
.catalog__filter__itm__body { padding-top: 6px!important; }
.catalog__filter__itm {
    margin-bottom: 16px!important;
}

.benefits__itm__header .h3 {
    text-transform: uppercase;
    font-size: 16px;
    line-height: 1.3125;
    font-weight: 700;
}
.one_item  .card__help__itm  {
    padding-right: 10px;
    padding-left: 20px;
    padding-bottom: 16px;
    padding-top: 15px;
}

.card__help__itm-delivery { background-image: url(../img/help-ico-callback.svg); }
.popup .form__field textarea { height: 104px!important;}
.popup  p { margin-bottom: 14px;}
.popup  a { text-align:right; color:#3e82d0!important; cursor: pointer;}

.about_page .slick-prev, .about_page .slick-next { top:0px!important;}

.goodTempStyle_0 { display: block; clear:both; }
.item-list .pager { padding-top: 40px; text-align: left!important;}
.item-list .pager li { padding: 0px!important; display: inline; margin: 0 6px 0 0!important; list-style: none; }
.item-list .pager .pager-current, .item-list .pager .pager-current span { font-weight: 700; }
.item-list .pager a { color: #000; }
.item-list .pager a:hover { color: #3e82d0; }
.item-list ul li {      font-size: 16px!important;   margin: 0 0 0.25em 0.5em!important; }
.item-list ul li.first { margin-left: 0px!important;}

.btn_video .video-js { margin:  0 auto!important;}
.btn-disabled { opacity: 0.3!important; background-color: #333!important; cursor:inherit!important;}

#popup-oneclick img { max-width: 100%; max-height: 150px;}
.card__price .old_price { display: inline-block!important; margin-right: 12px!important;}
.home_about .one_article { width: 100%;}
.card__order__cnt { margin-top: 28px!important;}
.card__price { display: block!important; text-align: right;}
.card__order__result_sum { display: block;}
.card__order__result_sum .val, .card__order__result_sum .label { float: right!important;}
.card__order__result_sum .label { margin-right: 10px!important;}
.list_collect_name { display: none;}
.upak_text { text-align: right;
    color: #979797;
    padding: 10px 0px 0px 78px;}

.filter-controls { padding-bottom: 20px;}
.filter-controls table td { vertical-align: top;}
.filter-controls label { color: #888; padding-right: 10px; padding: 6px 6px 6px 0px;}
button.control { margin: 2px;
    white-space: nowrap;
    padding: 2px 6px;
    font-size: 14px;
    line-height: 180% !important;
    font-weight: 400;
    border: 1px solid #2e3644;
    color: #2e3644 !important;
    display: inline-block;
    border-radius: 20px;
    min-width: 30px !important;
    text-align: center;
    min-height: 28px !important;
    cursor: pointer;}
button.control sup { color: #888; }
button.mixitup-control-active, button.mixitup-control-active sup
    { background-color: #2e3644 !important; color: #fff !important; }

    /* LISTNAV */

.ln-letters  {
    text-align: left;
    line-height: 24px;
    padding-bottom: 15px;
    text-align: left;

}

.ln-letters a, .ln-letters span {
    margin: 2px;
    padding: 2px;
    font-size: 14px;
    line-height: 180%!important;
    font-weight: 400;
    border: 1px solid #2e3644;
    color: #2e3644 !important;
    display: inline-block;
    border-radius: 20px;
    min-width: 30px!important;
    text-align: center;
    min-height: 28px!important;
    cursor: pointer;

}

.ln-letters a:hover, .ln-letters span:hover, .ln-letters span.active{
    background-color: #2e3644!important;
    color: #fff!important;
}
.ln-letters a.ln-disabled:hover, .ln-letters span.ln-disabled:hover  {
    background-color: #C1C1C1!important;
}


.ln-letters a.ln-selected, .ln-letters span.ln-selected  {
    border: 1px solid #87899A;
    box-shadow: 2px 2px 8px rgba(10, 10, 10, 0.32);
    color: #FFFFFF;
    /* border-radius: 16px; */

    margin: 0px 1px;
    background-color: #6593B7!important;
}
.ln-letters a.ln-disabled, .ln-letters span.ln-disabled  { color:#dedede; }
.ln-letter-count {
    text-align:center; font-size:0.8em; line-height:1; margin-bottom:3px; color:#336699;
    position: relative!important;
    top:0; left:0;
}

.ln-letters  .ln-disabled { display: none!important;}

.catalog__filter__cansel_btn { margin: 0 auto; color: #bf1e2e;}
#module-filter-wrapper .checkbox input {
    opacity: 1!important;
}

.header__catalog__submenu {padding-left: 419px!important;}
.header__catalog__menu > ul {
    width: 394px !important;
}
.header__location__address { margin-left: 21px!important;  min-width: 150px; }
.attention { color:#bf1e2e; font-weight: bold; display: block; width: 100%; clear: both; text-align: center; padding-left: 20px;}

.show-more-wrapper { display: inline-block; }
.show-more-btn{  background:#0000;border:0;color:#0095e5;cursor:pointer;font-size:.8em;margin:auto;transition:color .3s ease-in-out;white-space:nowrap}.show-more-btn:hover{color:red}
article  .show-more-btn { }

.breadcrumb { min-height: 20px;}
ul.breadcrumbs { color: #919191; width: 100%; padding-top: 17px;}
ul.breadcrumbs li { float:left; padding-right: 10px;}
ul.breadcrumbs li a { text-decoration: underline;}
ul.breadcrumbs li:first-child a { color: #919191;     font-size: 16px;     font-weight: 500; }

.factory_nav { margin-top: 0px!important;}
.catalog { padding-top: 40px;}

.tags { padding-bottom: 20px; width: 100%; clear: both; overflow: hidden; max-height: 94px;}
.tags li { float:left; }
.tags .tag { color: #333; white-space:nowrap; display: inline-block; padding-right: 18px; }
.hidden { display: none!important;}
.tags span {color: #595959; font-size: 13px;}


.left_block_collect { float:left; width: 33%;}
.left_block_collect .h3 { font-weight: 700; }

.description { padding-top: 20px;}
.description p { margin-bottom: 16px;}

.old_collect_sale {    background-image: url(/sites/default/files/images/sale.png);
    z-index: 9999;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.7;
    /*display: inline-block!important; */   
    }
    
.old_collect .card__params {    background-image: url(/sites/default/files/images/sale.png);
    z-index: 9999;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    /*display: inline-block!important; */   
    }
.old_collect .card__order { opacity: 0.7;} 

.card__params li { border-bottom: 1px solid #c4c4c4; border-top: 0px!important; align-items: flex-start; } 

.page-title, h1.section-title, .mob_menu__catalog li > a  { font-weight: 500!important; }
h1.section-title {  display: inline-block!important; }

.collection section.card { padding-top:14px!important;}

.mob_menu__catalog__submenu li > a { font-weight: 300!important; }

#favourite-count, #cart-count { min-width: 23px!important; min-height: 23px!important; line-height: 23px!important; border-radius: 30px!important;}

.menu_all_items { font-weight: normal; }
.shortcard__tag-zakaz {
    background-color: #9c233a;
    color: #fff;
    padding: 0 10px;
}

.old_collect .card__preview, .old_collect .card__info,
.old_collect .shortcard__thumb, .old_collect .shortcard__header, .old_collect .shortcard__brand, 
.old_collect .shortcard__bot, .old_collect .shortcard__bot
{ opacity: 0.4!important;} 

.fabrika__card { margin-top: 10px;}
.mob_menu { z-index:150; }
#block-favourites .catalog_short { padding-bottom: 10px; padding-top: 10px;}
a.cart__itm__title { width: initial; }
.card { padding-top: 34px!important; }

article { text-align: justify; }
article button { color: #3e82d0; }

.min_order { margin: 30px 0px 0px 0px; color: #bf1e2e; text-align: center; display: none;}
#block_skidka { display: none;
    border-bottom: 1px solid #b4b4b4;
    padding-bottom: 21px;
    margin-bottom: 26px;
}
.order__check__result { border: 0px!important; padding-top: 0px!important; margin-top: 0px!important;}

#find_coupon { margin-top: 20px; display: none; line-height: 54px; cursor: pointer;}
.cart__itm__price { width: 190px;}

.return_foto  { width: 100%; }
.return_foto img {
    width: calc(33% - 20px);
    height: inherit!important;
    display: inline-block;
    margin: 10px;
    border-radius: 10px;
}
.node-type-article #filter { padding-bottom: 30px;}
.link_all { width: 100%; text-align: right; color: #3e82d0;}
.block_articles { width: 100%; padding-top: 30px;}
.one_article { width: 50%; float:left; font-size:14px; padding-bottom: 6px;}
.date_article {width: 150px;
    background-color: #2570a2;
    float: left;
    padding: 0 8px;
    margin-right:8px;
    text-align: center;
    color: #fff;}
.title_article { display: table-cell; padding-right: 20px; }
.article p { margin-bottom: 20px;}
.article table { margin-bottom: 20px; }
.article ul { margin-bottom: 20px; }
.article h2 { margin-top: 20px; }

.node-type-article  .date_article { width: inherit; margin: 4px 8px; float:right;}

.page_header { margin-bottom: 17px!important; }
.minus-item, .plus-item {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 39px;
    background-color: #e7e7e7;
    cursor: pointer;
    transition: color .3s ease,background .3s ease,border .3s ease;
    padding: 0;
    border: none;
    text-align: center;
    line-height: 35px;
}

.delete-item svg {     cursor: pointer;}
.delete-item {
    position: absolute;
    top: 16px;
    right: 19px;
    background-color: #c4c4c4;
    width: 23px;
    height: 23px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;

}

.delete-item { cursor: pointer;}
.cnt_block__measure {
    border-left: 1px solid #e1e1e1;
    width: auto;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}
.cnt_block__measure .current {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
    width: 100%;
    height: 100%;
    padding: 0 15px 0 15px;
}

.header { z-index:100!important;}
.one-click-img { max-width: 150px; max-height: 150px; text-align: center;}
.one-click-block { padding-bottom: 30px;}
.shortcard__buy_click { cursor: pointer;}
.page_header::after {
    width: 100%; /*0px;*/
}
.addtocart { cursor: pointer;}
.slick-slider { z-index: 10;}
.relinks { padding-top:40px; }
.relinks .shortcard__price_block { position: inherit!important;}
.relinks .shortcard::before { bottom:0px!important;}
.relinks .shortcard__title a { border-bottom: 0px!important;}

.related_products{ z-index:4;}
.collect_products {
    position: relative;
    z-index: 3;
    padding-top: 54px;
}
.relinks { z-index:2;}

.collect_products .section-title, .relinks .section-title,
.antica-combo .section-title {
    text-align: center;
    margin-bottom: 38px;
}

/* Навигация «пред./след. товар в коллекции» под карточкой (node-product.tpl.php) */
.product-collect-nav {
    padding: 28px 0 40px;
    position: relative;
    z-index: 2;
}
.product-collect-nav__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 16px;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.product-collect-nav__cell {
    min-width: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}
.product-collect-nav__cell--prev {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.product-collect-nav__cell--next {
    margin-left: auto;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
}
.product-collect-nav__hint {
    width: 100%;
    margin: 0 0 6px;
    font-size: 12px;
    line-height: 1.3;
    color: #888;
    text-align: left;
}
.product-collect-nav__cell--next .product-collect-nav__hint {
    text-align: right;
}
.product-collect-nav__link {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    max-width: 100%;
    text-decoration: none;
    color: #222;
    border-bottom: 0;
    font-size: 14px;
    line-height: 1.35;
}
.product-collect-nav__link:hover,
.product-collect-nav__link:focus-visible {
    color: #3e82d0;
}
.product-collect-nav__ico {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: block;
}
.product-collect-nav__txt {
    min-width: 0;
    text-align: inherit;
}
.header__catalog__menu > ul > li.razdel { padding-top: 15px;}
.header__catalog__menu > ul > li > a.podrazdel, .header__catalog__menu > ul > li > a.razdel  { padding: 0px 14px!important;}

.product_utp .benefits__itm { float:left!important;  width: 25%!important; margin-bottom: 0px!important;}
.product_utp .benefits { width: 100%!important;}
.product_utp .benefits p { margin-right: 40px;}
.product_utp { padding: 33px 0 33px!important; margin-top:50px; }



.link_top { display: contents; }
.pager_block ul .active {
  font-weight: 400;
  color: #000;
  pointer-events: initial!important;
}
.pager_block ul .current {   
  color: #c4c4c4;
  pointer-events: none;
}

.mode_collect_count, .mode_tovar_count { display: contents;}
.shortcard__params .label {color: #444242;} 
.page_header__note {
  font-size: 30px;
  margin-left: 10px;
  font-weight: 100;
}
.new_toggler__itm {
    color: #848484;
    height: 42px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 50%;
    -webkit-border-radius: 21px;
    border-radius: 21px;

}
.new_toggler__itm.active {
    background-color: #3e82d0;
    color: #fff;
}

.radio input[type="radio"], .radio input[type="radio"] + i {
    position: absolute;
    left: 0;
    top: 4px;
    width: 15px;
    height: 15px;
    accent-color: #bf1e2e;
}
.radio input[type="radio"]:checked + i::after {
    opacity: 1;
}
.radio input[type="radio"] + i::after
{
  -webkit-transition: .3s ease;
  -o-transition: .3s ease;
  transition: .3s ease;
}
.radio input[type="radio"] + i::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  right: 3px;
  bottom: 3px;
  background-color: #bf1e2e;
  opacity: 0;
      border-radius: 32px;

}

.radio {
    cursor: pointer;
    padding-left: 32px;
    position: relative;
}

.color_block { border:1px #aaa solid;}


.shortcard__price_block { position: absolute!important; bottom: 0px;}

.factory_nav { z-index: 50!important;}
.factory_nav__alfabet > li > a,
.factory_nav__alfabet > li > span {
  width: initial !important;
  min-width: 38px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  cursor: pointer;
}

.factory_nav__title .factory_nav__title-link {
  cursor: pointer;
}

.shortcard__title { margin-bottom: initial!important;}
.shortcard__title a
{
    font-size: 18px;
    line-height: 1.55556;
    letter-spacing: .02em;
}
.collect .shortcard__title a {     text-transform: uppercase; }

/* Как у .shortcard__title a — вид ссылки; превью по клику, не <a> */
.shortcard__title .product-preview-trigger {
    font-size: 18px;
    line-height: 1.55556;
    letter-spacing: .02em;
    cursor: pointer;
    border-bottom: 1px solid transparent;
    transition: color 0.15s ease, border-color 0.15s ease;
}
.collect .shortcard__title .product-preview-trigger {
    text-transform: uppercase;
}
.shortcard__title .product-preview-trigger:hover,
.shortcard__title .product-preview-trigger:focus-visible {
    color: #3e82d0;
    border-bottom-color: #3e82d0;
}

.catalog_short__list { margin-bottom: 32px; width: 100%;}
.catalog_short-example .catalog_short__list { margin-top: 10px;}


@media (max-width: 1535px)
{
    .header__location { display: none; }
    .card .mySwiper2 { width:inherit!important;}
}

/* Выпадающее меню "Сервисы" в header__nav */
.header__nav__services-item {
  position: relative;
}
.header__nav__services-trigger {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.header__nav__services-trigger:hover {
  opacity: 0.85;
}
.header__nav__services-chevron {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  transition: transform 0.2s ease;
}
.header__nav__services-chevron svg {
  display: block;
}
.header__nav__services-item.open .header__nav__services-chevron {
  transform: rotate(180deg);
}
.header__nav__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 180px;
  margin-top: 4px;
  padding: 8px 0;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  z-index: 100;
}
.header__nav__dropdown[hidden] {
  display: none !important;
}
.header__nav__dropdown span,
.header__nav__dropdown a {
  display: block;
  padding: 8px 16px;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}
.header__nav__dropdown span:hover,
.header__nav__dropdown a:hover {
  background: #f5f5f5;
}
.header__nav__dropdown a:hover {
  color: black !important;
}
.header__nav__dropdown span {
  cursor: pointer;
}

.header__catalog.active .header__catalog__content {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  z-index: 101;
}

.header__catalog__menu > ul > li > a { padding: 0px!important;}

.popup form {padding-top:16px;}

.card__params-col_2 ul { columns: 3!important; column-gap: 60px;}
.card__params-col_2 .delivery__price ul { columns: 2!important; column-gap: 30px;}

.typepage-collection section.card { padding-bottom: 0px!important;}
.typepage-collection #catalog_goods { padding-top: 0px!important;}

.card__manage_btn { align-self: center;}

/* Модальное окно предпросмотра товара (коллекция) */

.product-preview-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 12px;
  box-sizing: border-box;
}
.product-preview-modal.is-open {
  display: flex;
}
.product-preview-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  cursor: pointer;
}
.product-preview-modal__wrap {
  position: relative;
  width: 100%;
  max-width: 96vw;
  height: 92vh;
  max-height: 92vh;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}
/* Кнопка закрытия превью — в стиле остальных модалок (.modal-close-button) */
.product-preview-modal__wrap .modal-close-button.product-preview-modal__close {
  position: absolute;
  right: 20px;
  top: 10px;
  z-index: 2;
  width: 30px;
  height: 30px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: #3e82d0;
  color: #fff;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  cursor: pointer;
}
.product-preview-modal__wrap .modal-close-button.product-preview-modal__close:hover {
  transform: rotate(15deg);
}
.product-preview-modal__content {
  width: 100%;
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.product-preview-modal__content .node-product,
.product-preview-modal__content .card,
.product-preview-modal__content section.card {
  margin: 0;
  max-width: none;
}
/* Лоадер превью: тот же спиннер, что у поиска (.search-loading), по центру экрана + подпись */
.product-preview-modal__loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  padding: 2rem;
  box-sizing: border-box;
}
.product-preview-modal__loading .search-loading {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  margin-bottom: 1rem;
  animation: spin-product-preview 1s linear infinite;
}
@keyframes spin-product-preview {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.product-preview-modal__loading-text {
  margin: 0;
  color: #666;
  font-size: 1rem;
}
.product-preview-modal__error {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  padding: 2rem;
  text-align: center;
  color: #c00;
}
/* Триггер предпросмотра — без ссылки, кликабельный элемент */
.product-preview-trigger {
  cursor: pointer;
}
.shortcard__thumb[data-product-preview] {
  cursor: pointer;
}

/* Формы Fancybox (Заказать звонок, Уточнить цену, Заказ в 1 клик) поверх модалки превью товара */
.fancybox-container,
.fancybox-bg {
  z-index: 10100 !important;
}

#product-preview-content { padding-top:30px;}
/* Собственный свод описания в превью: 3 строки по умолчанию (без JS), кнопка «читать полностью» добавляется скриптом */
#product-preview-content section.description > main > article {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
#product-preview-content section.description .description-read-more-wrap {
  margin-top: 0.5em;
}
#product-preview-content section.description .description-read-more-btn {
  background: transparent;
  border: 0;
  color: #0095e5;
  cursor: pointer;
  font-size: 0.95em;
  padding: 0;
  transition: color 0.2s;
}
#product-preview-content section.description .description-read-more-btn:hover {
  color: #c00;
}
/* Кнопка «Меньше» видна только в раскрытом состоянии */
#product-preview-content section.description:not(.description-expander-ready) .description-read-more-btn-less {
  display: none;
}
#product-preview-content section.description.description-expander-ready .description-read-more-btn-more {
  display: none;
}
/* После клика «читать полностью»: раскрыть текст */
#product-preview-content section.description.description-expander-ready > main > article {
  display: block !important;
  -webkit-box-orient: unset;
  -webkit-line-clamp: unset !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Страница коллекции (node-descr_term): свой экспандер для article — 3 строки, «Читать полностью» / «Меньше» */
.collection-description-preview > article {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.collection-description-preview .description-read-more-wrap {
  margin-top: 0.5em;
}
.collection-description-preview .description-read-more-btn {
  background: transparent;
  border: 0;
  color: #0095e5;
  cursor: pointer;
  font-size: 0.95em;
  padding: 0;
  transition: color 0.2s;
}
.collection-description-preview .description-read-more-btn:hover {
  color: #c00;
}
.collection-description-preview:not(.description-expander-ready) .description-read-more-btn-less {
  display: none;
}
.collection-description-preview.description-expander-ready .description-read-more-btn-more {
  display: none;
}
.collection-description-preview.description-expander-ready > article {
  display: block !important;
  -webkit-box-orient: unset;
  -webkit-line-clamp: unset !important;
  max-height: none !important;
  overflow: visible !important;
}
/* Типографика editorial-описания коллекции: raw HTML из descr_term (h2/p/ul/li)
   — тема глобально сбрасывает отступы и маркеры списков, восстанавливаем их тут. */
.collection-description-preview article > *:first-child {
  margin-top: 0;
}
.collection-description-preview article p {
  margin: 0 0 1em;
  line-height: 1.6;
}
.collection-description-preview article h2 {
  margin: 1.5em 0 0.5em;
  font-size: 1.25em;
  font-weight: 600;
  line-height: 1.3;
}
.collection-description-preview article ul {
  list-style: disc;
  margin: 0 0 1em;
  padding-left: 1.5em;
}
.collection-description-preview article ul li {
  margin: 0.35em 0;
  line-height: 1.55;
  list-style: inherit;
}
.collection-description-preview article a {
  color: #0095e5;
  text-decoration: underline;
}
.collection-description-preview article a:hover {
  color: #c00;
}
/* Структурная обрезка описаний с заголовками: в свёрнутом виде показываем только
   контент ДО первого h2/h3 (intro), чтобы заголовок не торчал крупным шрифтом.
   Разворачивается кнопкой «Читать полностью» (добавляет .description-expander-ready). */
.collection-description-preview.description-structural > article {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
}
.collection-description-preview.description-structural:not(.description-expander-ready) > article h2,
.collection-description-preview.description-structural:not(.description-expander-ready) > article h3,
.collection-description-preview.description-structural:not(.description-expander-ready) > article h2 ~ *,
.collection-description-preview.description-structural:not(.description-expander-ready) > article h3 ~ * {
  display: none;
}

/* Страница карточки товара (node-product): свой экспандер для section.description — 3 строки, «Читать полностью» / «Меньше» */
.product-page-description > main > article {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.product-page-description .description-read-more-wrap {
  margin-top: 0.5em;
}
.product-page-description .description-read-more-btn {
  background: transparent;
  border: 0;
  color: #0095e5;
  cursor: pointer;
  font-size: 0.95em;
  padding: 0;
  transition: color 0.2s;
}
.product-page-description .description-read-more-btn:hover {
  color: #c00;
}
.product-page-description:not(.description-expander-ready) .description-read-more-btn-less {
  display: none;
}
.product-page-description.description-expander-ready .description-read-more-btn-more {
  display: none;
}
.product-page-description.description-expander-ready > main > article {
  display: block !important;
  -webkit-box-orient: unset;
  -webkit-line-clamp: unset !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Только в модальном превью карточки: скрыть кнопки, подпись «В избранное» */
.product-preview-modal__content .card__order__buy_click,
.product-preview-modal__content .card__help__itm-video,
.product-preview-modal__content .card__help__itm-callback {
  display: none !important;
}
.product-preview-modal__content .btn-liked::before {
  content: "В избранное ";
  font-size: inherit;
}
.product-preview-content .card__params { margin-top:0px;}
/* Кнопка «В раскладку» в миниатюре товара — в стиле кнопки «В избранное». */
.shortcard__manage_btn.btn-to-planner{cursor:pointer;background:none;border:0;padding:0;line-height:0;color:inherit;}
.shortcard__manage_btn.btn-to-planner .svg-ico{margin-right:0;}
.shortcard__manage_btn.btn-to-planner.active,
.shortcard__manage_btn.btn-to-planner:hover{color:#c9963f;}

/* Подписи групп в выдаче поиска («Коллекции» / «Товары»). Появляются только
   вместе — когда в выдаче есть коллекции.

   На широких экранах подпись НЕ занимает места в сетке: нулевая ячейка с
   видимым текстом, поднятая над своим рядом. Карточки от этого идут подряд,
   ряд не рвётся, а подпись стоит ровно над той карточкой, с которой группа
   начинается. Ниже 992px в ряду одна-две карточки — там подпись остаётся
   обычной строкой во всю ширину, так понятнее. */
.search-group-title{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;width:100%;margin:26px 0 12px;font-size:24px;line-height:1.2;font-weight:500;color:#9a9a9a;}
.search-group-title:first-child{margin-top:10px;}

@media (min-width:992px){
  .catalog_short__list.has-group-titles{margin-top:40px;}
  .catalog_short__list.has-group-titles .search-group-title{
    -webkit-flex:0 0 0;-ms-flex:0 0 0;flex:0 0 0;width:0;height:0;margin:0;
    -webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;
    position:relative;top:-34px;overflow:visible;white-space:nowrap;
  }
}


/* Воздух под заголовком раздела и между разделами на странице коллекции. */
.catalog_short__list { margin-top: 12px; }
.razdel_block { margin-bottom: 32px; }

/* Нижняя строка карточки на узких экранах: две ссылки делят ширину поровну,
   «в избранное» — по своему содержимому. Отменяет `display:grid; width:100%`
   из mobile.css: там это правило для блоков кнопок, стоящих в строке одних. */
@media (max-width: 1199.98px) {
  .card__order__manage { gap: 10px; }
  .card__order__manage > .card__order__buy_click {
    -webkit-flex: 1 1 0; -ms-flex: 1 1 0px; flex: 1 1 0;
    min-width: 0;
  }
  .card__order__manage > .card__manage_btns {
    display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
    width: auto;
    -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto;
    gap: 12px;
  }
}

/* Выпадающий список фабрик — над содержимым страницы, но под алфавитной строкой.
   В основной теме у него z-index:-1, и панель уходила за содержимое: на странице
   контактов её накрывала карточка с телефонами (.contacts__info, z-index 5).
   Строка букв .factory_nav__list имеет z-index 2, поэтому 1 сохраняет прежний
   вид — панель по-прежнему выезжает ИЗ-ПОД строки. */
.factory_nav__content { z-index: 1; }


/* Заголовки внутри текстовых блоков (описание раздела, факты о подборке,
   ИИ-тексты). До этого h2 внутри .plain_text наследовал общий стиль и терялся
   среди абзацев. */
.plain_text h2 {
  font-weight: 500;
  font-size: 30px;
  /* Отступы разведены по уровням: перед разделом воздуха больше, чем перед
     подразделом, и по этому просвету видно, где кончается одна мысль и
     начинается другая. Снизу у обоих одинаково — заголовок должен держаться
     своего текста, а не висеть посередине. */
  margin-top: 36px;
  margin-bottom: 12px;
}

.plain_text h3 {
  margin-top: 24px;
  margin-bottom: 12px;
}

/*
 * Картинки в статьях подстраиваются под ширину экрана.
 *
 * Тексты собирает ИИ и вставляет фото шириной 1376 px тегом <img> без атрибутов
 * размера; на телефоне (390 px) они выходили за экран и обрезались его краем —
 * прокрутки вбок у страницы нет, так что правая часть кадра просто пропадала.
 * Правило общее для тела статьи: и для <figure class="article-image">, и для
 * картинок, вставленных редактором прямо в текст.
 */
.article .plain_text img,
.article .plain_text figure.article-image img,
.article [itemprop="description"] img {
  max-width: 100%;
  height: auto;
}
.article .plain_text figure.article-image {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/*
 * Видео раздела на месте первой карточки.
 *
 * Ролики снимают вертикально на телефон, а карточка каталога и так почти
 * 9:16 (351×625) — поэтому плитка повторяет ширину карточки один в один,
 * включая её отрицательные поля, и кадр ложится в неё без полей по бокам.
 */
.catalog__list .catalog__video {
  position: relative;
  width: calc(33.3333% + .75px);
  border: 1px solid #c4c4c4;
  margin-right: -1px;
  margin-bottom: -1px;
  background-color: #fff;
  overflow: hidden;
  cursor: pointer;
  min-height: 420px;
}
/*
 * Постер и плеер — абсолютом: тогда у плитки нет своей высоты и она тянется
 * до высоты ряда, то есть занимает ровно те же два места, что и карточки.
 * При height:100% на картинке высота схлопывалась до пропорций кадра.
 */
/*
 * Отступы как у карточки товара (padding 13px 11px): рамка должна читаться
 * рамкой, а не краем ролика. Поэтому кадр отодвинут от неё на те же поля.
 */
.catalog__video .catalog__video__poster,
.catalog__video video {
  position: absolute;
  inset: 13px 11px;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.catalog__video__poster-empty { background: linear-gradient(135deg, #2b2b2b, #4a4a4a); }
.catalog__video__play {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  border: 0; background: transparent; padding: 0; cursor: pointer; line-height: 0;
  transition: transform .15s ease;
}
.catalog__video:hover .catalog__video__play { transform: translate(-50%, -50%) scale(1.06); }
.catalog__video__title {
  position: absolute; left: 11px; right: 11px; bottom: 13px; padding: 12px 14px;
  color: #fff; font-size: 15px; line-height: 1.3;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.65));
}
/* Пошло воспроизведение — кнопка и подпись мешают управлению плеером. */
.catalog__video-playing .catalog__video__play,
.catalog__video-playing .catalog__video__title,
.catalog__video-playing .catalog__video__poster { display: none; }

/* Те же переломы, что у карточек: половина ряда на планшете, весь — на телефоне. */
@media (max-width: 1199.98px) {
  .catalog__list .catalog__video { width: calc(50% + .75px); min-height: 380px; }
}
@media (max-width: 767.98px) {
  /*
   * На телефоне плитка стоит в ряду одна, тянуть её нечему — держим
   * пропорцию кадра 9:16, иначе вертикальное видео режется по краям.
   */
  .catalog__list .catalog__video { width: 100%; margin-right: 0; min-height: 0; aspect-ratio: 9 / 16; }
  .catalog__video__play svg { width: 56px; height: 56px; }
}

/* --------------------------------------------------------------------------
   Прямоугольная плитка всегда портретом (CATALOG_PORTRAIT_TILES).
   Контейнер .shortcard__thumb квадратный (padding-bottom:100%), картинка в нём
   отцентрована абсолютно и ограничена max-width/max-height:100%. Поэтому
   горизонтальный кадр после поворота на 90 градусов ровно вписывается в тот же
   квадрат: его габарит становится (высота x ширина), а высота никогда не
   превышала стороны квадрата. Место в сетке не меняется — соседние карточки
   стоят там же.
   -------------------------------------------------------------------------- */
.shortcard__thumb__img.rot90 {
  transform: translate(-50%, -50%) rotate(90deg);
}
/* Кадр без размеров в БД: класс вешает скрипт после загрузки картинки.
   До этого момента поворота нет — без скачка, потому что lazysizes показывает
   картинку только после load. */
.shortcard__thumb__img.rot90-auto.rot90-on {
  transform: translate(-50%, -50%) rotate(90deg);
}


/* Наличие коллекции в миниатюре — строка характеристик: подпись и цифры
   «2 из 5 позиций». Ступеней здесь нет намеренно: доля написана числом. */
.collect .col-nal {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}
.collect .col-nal .label { margin-right: 0; }
.collect .col-nal__text { white-space: nowrap; }

/* Окно панорамы 360 (страница коллекции). Штатное .modal-content рассчитано на
   форму: узкое и с большими полями. Панораме нужен весь экран, какой отдадут,
   и одинаково на телефоне и на десктопе, поэтому размеры задаём здесь. */
.panorama-modal__content {
    /* Панорама живёт масштабом: в окне 1180 px она читается как картинка, а не
       как комната, в которой стоишь. Отдаём почти весь экран — потолок только
       чтобы на сверхшироких мониторах кадр не расползался бесполезной полосой. */
    width: min(2200px, 90vw);
    height: 88vh;
    padding: 6px;
    box-sizing: border-box;
}
.panorama-modal__frame {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 4px;
    background: #14161b;
}
@media (max-width: 600px) {
    /* На телефоне окно во весь экран: панорама в марке 300x200 бессмысленна.
       Крестик уводим внутрь — за краем окна его было бы не достать. */
    .panorama-modal__content { width: 96vw; height: 78vh; padding: 4px; }
    .panorama-modal .modal-close-button { right: 6px; top: -38px; }
}
.card__download_link img.svg-ico { width: 32px; height: 32px; }

/* ==========================================================================
   Галерея карточки товара: медиа КОЛЛЕКЦИИ (интерьеры, ролики, панорама 360°)
   ========================================================================== */

/* Ряд «прочего медиа» — ролики и панорама. Стоит вплотную под лентой миниатюр
   и повторяет её размер, чтобы читаться продолжением той же полосы. Внутрь
   ленты Swiper эти плитки класть нельзя: она привязана к большому слайдеру по
   номеру слайда, а своего кадра у ролика и панорамы нет. */
.gallery-media-row {
    display: flex;
    flex-wrap: wrap;
    /* Тот же зазор, что у миниатюр интерьеров (их правый отступ 15px): разная
       плотность разбивала общий ряд на две группы. */
    gap: 15px;
    padding-top: 15px;
}
/* Подпись к ряду: что именно в нём лежит. Набор разный от товара к товару —
   у одного только панорама, у другого два ролика, — поэтому текст собирается
   по факту, а не пишется одной фразой на все случаи. */
.gallery-media-row__title {
    margin: 22px 0 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    color: #2a2a2a;
}

/* СТРАНИЦА КОЛЛЕКЦИИ: лента миниатюр интерьеров и плитки прочего медиа (ролик,
   точки панорамы 360°) — одной строкой, пока интерьеры её не заполнили.

   Правило «интерьеров немного» считает браузер, а не шаблон: сколько
   миниатюр помещается в строку, зависит от ширины экрана — на телефоне их
   четыре, на широком мониторе пятнадцать, — и любое число, вписанное в PHP,
   было бы верным ровно на одной ширине.

   Как это работает: лента просит себе ровно столько, сколько нужно её
   миниатюрам (по 90px на каждую, включая правый отступ), но не больше ширины
   страницы. Мало интерьеров — справа остаётся место, и плитки встают той же
   строкой. Много — лента упирается в 100%, и перенос строк flex сам уводит
   плитки на следующую. */
.card__thumbs-row {
    display: flex;
    flex-wrap: wrap;
    /* Ряды разной высоты выравниваем по верху: миниатюра интерьера ниже плитки,
       и при растяжении по умолчанию они разъезжались бы по вертикали. */
    align-items: flex-start;
}
.card__thumbs-row .mySwiperColThumb {
    flex: 0 1 auto;
    width: calc(var(--interior-thumbs, 99) * 115px);
    max-width: 100%;
    /* Swiper центрирует свой контейнер автоматическими полями. С урезанной
       шириной это уводило ленту на середину строки, и плитки уезжали к правому
       краю — между ними и последней миниатюрой зияла дыра в пол-экрана.
       Прижимаем ленту влево, как и соседнюю карусель интерьеров в карточке. */
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.card__thumbs-row .gallery-media-row {
    flex: 0 1 auto;
    /* Зазор слева не нужен: у последней миниатюры интерьера свои 15px отступа
       справа, и второй отступ сдвинул бы плитки относительно ряда в карточке
       товара. */
    margin: 0;
}

/* Колонка с ценой, количеством и кнопкой «В корзину» едет вместе со страницей.
   Характеристики слева длиннее её в разы, и, докрутив до низа списка,
   покупатель терял из виду и цену, и кнопку — приходилось скроллить обратно.
   Липнет она в границах своей строки: как только карточка кончилась и пошли
   «Другие товары коллекции», колонка уезжает вместе с ней.

   align-self обязателен: колонки flex-строки по умолчанию растянуты на всю
   высоту, а растянутый элемент липнуть не может — ему просто некуда двигаться
   внутри себя. */
@media (min-width: 768px) {
    /* Обёртка страницы товара стоит с overflow:hidden — он спасает от
       горизонтальной прокрутки на широких блоках, но заодно делает обёртку
       контейнером прокрутки, а внутри такого position:sticky не работает вовсе.
       clip режет ровно так же и контейнером прокрутки НЕ становится. */
    /* Липкая колонка живёт внутри #page-wrap, а у него в базовой теме стоит
       overflow: hidden. Такой предок делается контейнером прокрутки, и
       position:sticky внутри не работает вовсе — блок помечен липким, но
       липнуть ему не к чему.

       Лечит замена hidden на clip: обрезает так же, контейнера прокрутки НЕ
       создаёт. Раньше правило было привязано к typepage-plitka, но класс
       собирается из первого куска адреса, а карточка товара открывается и по
       /plitka/, и по /product/ — на второй колонка не липла. Поэтому правим
       сам #page-wrap, без оглядки на тип страницы.

       Safari до 16-й версии clip не знает: там горизонтальный вылет перестанет
       обрезаться. Ради работающей кнопки «в корзину» это разумный размен. */
    #page-wrap {
        overflow-x: clip;
        overflow-y: visible;
    }
    /* Липкая колонка едет в границах СВОЕГО контейнера, а им была внутренняя
       строка — она кончается на 700 пикселей раньше, чем сама карточка, и
       колонка уезжала вверх, не дойдя до низа блока. Растягиваем внутреннюю
       строку на всю высоту карточки: правая колонка стоит в паре с галереей
       слева, и её ход должен кончаться там же, где кончается .card__row. */
    section.card.product .col-xl-6 > .row {
        height: 100%;
        align-content: flex-start;
    }
    section.card.product .col-xl-6 > .row > .col-md-6.order-md-2 {
        position: sticky;
        /* Шапка сайта закреплена и занимает 138 пикселей сверху. Липни колонка
           к нулю — её верх (цена и распродажная пометка) уезжал бы под шапку и
           был бы не виден. Отступ считается от высоты шапки, а не подобран на
           глаз: поменяется шапка — поменяется здесь одно число. */
        --antica-header-h: 138px;
        top: calc(var(--antica-header-h) + 14px);
        align-self: flex-start;
    }

    /* Липнет не только блок заказа, но и сам товар — галерея и характеристики.
       Раньше липким был только правый столбец: когда фотографий много, он ехал
       вместе с ними. Теперь то же самое в другую сторону — с раскрытой палитрой
       товара с атрибутами правый столбец становится длиннее левого, и фото с
       характеристиками едут вниз вместе с прокруткой, а не остаются наверху.

       Высоту отступа считаем от шапки, как и у правого столбца. Столбец выше
       экрана липнуть верхом не может (низ остался бы за краем) — такому
       stickyCard.js ставит свой top, чтобы виден был низ. */
    section.card.product .card__row > .card__preview,
    section.card.product .col-xl-6 > .row > .card__info {
        position: sticky;
        --antica-header-h: 138px;
        top: calc(var(--antica-header-h) + 14px);
        align-self: flex-start;
    }
}
.gallery-extra {
    position: relative;
    display: block;
    width: 100px;
    height: 100px;
    flex: 0 0 100px;
    padding: 0;
    border: 0;
    border-radius: 3px;
    overflow: hidden;
    cursor: pointer;
    background: #f2f2f2;
}
.gallery-extra img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Значок ролика — не кадр, а иконка 64x64: показываем целиком и мельче, фон
   отделяет её от соседних фотографий (та же логика, что была у .thumb-video). */
.gallery-extra--video img.thumb-video {
    object-fit: contain;
    padding: 30px;
    box-sizing: border-box;
}
/* Кадр из ролика — в серой рамке: без неё светлый кадр сливается с белым фоном
   страницы, и плитка теряет свои границы. Рамка внутренняя (inset), а не border:
   плитка ровно 90×90 в общем ряду, и настоящая рамка сдвинула бы её на два
   пикселя относительно соседних миниатюр. */
.gallery-extra--video-frame {
    /* border-box, а не просто border: плитка ровно 90×90 в общем ряду, и рамка
       снаружи сдвинула бы её на два пикселя относительно соседних миниатюр. */
    box-sizing: border-box;
    border: 1px solid #d6d6d6;
    border-radius: 3px;
}

/* Метка на плитке — «плей» у ролика и «360°» у панорамы. Обе по центру и одной
   высоты: в ряду они стоят рядом, и разная посадка читалась как небрежность.
   Тёмно-серая подложка видна и на светлом кадре, и на тёмном; при наведении она
   краснеет — тем же фирменным красным, что и остальные активные элементы, — так
   плитка отвечает на курсор и видно, что по ней можно нажать. */
.gallery-extra__play,
.gallery-extra__badge {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    height: 36px;
    color: #fff;
    background: rgba(45, 45, 45, .78);
    pointer-events: none;
    transition: background .15s ease;
}
.gallery-extra__play {
    width: 36px;
    border-radius: 50%;
}
.gallery-extra__play::before {
    content: "";
    position: absolute;
    /* Треугольник сдвинут от геометрического центра вправо на пиксель: у острия
       вес меньше, чем у основания, и по-настоящему посередине он смотрится
       съехавшим влево. */
    left: 14px;
    top: 10px;
    border-style: solid;
    /* Треугольник «плей»: рисуем рамкой, чтобы не тащить ради него картинку. */
    border-width: 8px 0 8px 13px;
    border-color: transparent transparent transparent #fff;
}
.gallery-extra:hover .gallery-extra__play,
.gallery-extra:hover .gallery-extra__badge {
    background: #bf1e2e;
}

/* Панорама: миниатюрой стоит сама панорама, поверх — метка «360°». Без метки
   кадр читается как ещё одна фотография комнаты, и её никто не нажимает. */
.gallery-extra--panorama {
    /* Фон нужен для коллекций с чужим 3D-туром: своей картинки у него нет,
       и плитка осталась бы пустым местом с одной меткой. */
    background: #2d2d2d;
}
.gallery-extra__badge {
    display: flex;
    align-items: center;
    padding: 0 10px;
    font-size: 13px;
    line-height: 1;
    font-weight: 600;
    border-radius: 3px;
}

/* Выбор фасовки в миниатюре списка: товар с атрибутами показан одной
   карточкой, кнопки переключают позицию прямо в плитке. Ряд переносится и
   высоту карточки не задаёт — иначе строка плиток идёт лесенкой. */
.shortcard__variants {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 8px;
}
.shortcard__variant {
    padding: 3px 9px;
    border: 1px solid #dcdcdc;
    border-radius: 5px;
    background: #fff;
    font-size: 13px;
    line-height: 1.3;
    color: #2b2b2b;
    text-decoration: none;
    white-space: nowrap;
}
.shortcard__variant:hover {
    border-color: #b5b5b5;
    text-decoration: none;
}
.shortcard__variant.is-active {
    border-color: #d0021b;
    box-shadow: 0 0 0 1px #d0021b;
    font-weight: 600;
}

/* Документы коллекции: инструкция по нанесению, сертификаты и свидетельства.
   В карточке товара — отдельным блоком под интерьерами: подзаголовок набран
   так же, как «Интерьеры коллекции» рядом, ссылки — со значком типа файла,
   как у альбома коллекции и текстур. */
.collection-docs {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 14px 44px;
}
.collection-docs__group {
    min-width: 220px;
}
.collection-docs__title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #2d2d2d;
}
.collection-docs .card__download_link {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 6px;
}

/* На странице коллекции те же документы идут строками блока характеристик:
   ячейка узкая (сетка в три колонки), а названий бывает пять — ставим их
   столбиком. Подчёркивание здесь лишнее: строка и так читается ссылкой по
   цвету и значку, а пять подчёркнутых строк подряд выглядят как ошибка. */
.collection-docs__links {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}
.collection-docs__link,
.card__params ul a.collection-docs__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #d0021b;
    /* Подчёркивание в блоке характеристик рисует не text-decoration, а
       `.card__params ul a { border-bottom: 1px solid #000 }` — снимаем именно
       его, иначе под ссылкой остаётся чёрная черта. */
    text-decoration: none;
    border-bottom: 0;
}
.collection-docs__link:hover {
    text-decoration: none;
    opacity: .75;
}
.collection-docs__link .svg-ico {
    flex-shrink: 0;
}

/* Выбор фасовки в миниатюре списка: товар с атрибутами показан одной
   карточкой, кнопки переключают позицию прямо в плитке. Ряд переносится и
   высоту карточки не задаёт — иначе строка плиток идёт лесенкой. */
.shortcard__variants {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 8px;
}
.shortcard__variant {
    padding: 3px 9px;
    border: 1px solid #dcdcdc;
    border-radius: 5px;
    background: #fff;
    font-size: 13px;
    line-height: 1.3;
    color: #2b2b2b;
    text-decoration: none;
    white-space: nowrap;
}
.shortcard__variant:hover {
    border-color: #b5b5b5;
    text-decoration: none;
}
.shortcard__variant.is-active {
    border-color: #d0021b;
    box-shadow: 0 0 0 1px #d0021b;
    font-weight: 600;
}

/* Интерьеры коллекции отдельным блоком — когда их много или когда у товара
   много своих фотографий. Ряд миниатюр переносится, высота не задана: блок
   стоит под галереей и ничего собой не накрывает. */
.collection-interiors {
    margin-top: 18px;
}
.collection-interiors__title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #2d2d2d;
}
/* Одной строкой-каруселью: у коллекции бывает под шесть десятков интерьеров, и
   сеткой они занимали пол-экрана. Стрелки — те же, что у каруселей соседних
   товаров, и место под них оставлено по краям. */
.collection-interiors__swiper {
    position: relative;
    /* Слева поля нет: первая миниатюра обязана стоять ровно под миниатюрами
       галереи и ряда роликов — иначе три полосы идут лесенкой. Место под
       стрелку оставлено только справа. */
    padding: 0 44px 0 0;
}
/* На широком экране строка ещё короче на одну миниатюру: иначе она подходит
   вплотную к колонке с характеристиками и читается как её продолжение. */
@media (min-width: 768px) {
    .collection-interiors__swiper {
        width: calc(100% - 98px);
        /* Свайпер по умолчанию центрируется автоматическими полями. С урезанной
           шириной это уводило всю строку вправо, и первая миниатюра переставала
           стоять под миниатюрами галереи. Прижимаем влево. */
        margin-left: 0 !important;
        margin-right: auto !important;
    }
}
.collection-interiors__swiper .swiper-slide {
    width: 90px;
    flex: 0 0 90px;
}
/* Стрелки по центру миниатюр. Тянемся от верха до низа и центрируем содержимое,
   а не считаем проценты: у темы есть свои правила для .slider_arrow, и
   вычисленный top они перебивали — стрелки уезжали выше строки. */
.collection-interiors__swiper .slider_arrow {
    position: absolute;
    top: 0 !important;
    bottom: 0;
    height: auto !important;
    /* Тема поднимает .slider_arrow на -25px (там стрелки стоят у высоких
       слайдеров и центруются вручную). Здесь это уводило значок выше строки
       миниатюр, поэтому отступ снимаем. */
    margin-top: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    transform: none !important;
    z-index: 2;
    /* Стрелки были прозрачными и терялись на фотографиях — их попросту не
       замечали. Теперь это кнопка: белый круг с рамкой и тенью, тёмный значок. */
    background: none;
    border: 0;
    padding: 0;
    color: #2a2a2a;
    cursor: pointer;
}
.collection-interiors__swiper .slider_arrow::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 34px;
    height: 34px;
    margin: -17px 0 0 -17px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #e0dbd2;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}
.collection-interiors__swiper .slider_arrow svg {
    position: relative;
    z-index: 1;
    width: 9px;
    height: 17px;
}
.collection-interiors__swiper .slider_arrow:hover::before { border-color: #c9963f; }
.collection-interiors__swiper .slider_arrow:hover { color: #c9963f; }
/* Левая стрелка ложится поверх первой миниатюры: отдать ей поле значило бы
   сдвинуть всю строку и снова разойтись с полосами выше. Подложка нужна, чтобы
   значок читался на любой фотографии. */
/* Стороны с !important: у темы свои правила для .slick-prev/.slick-next с
   отрицательными отступами (они рассчитаны на слайдеры во всю ширину), и на
   узком экране правая стрелка вылезала за колонку. */
.collection-interiors__swiper .slick-prev {
    left: 0 !important;
    right: auto !important;
}
.collection-interiors__swiper .slick-next {
    right: 0 !important;
    left: auto !important;
}
/* Выключенная стрелка приглушена, но не исчезает: пропавшая кнопка читается
   как поломка, а не как «дальше некуда». */
.collection-interiors__swiper .swiper-button-disabled { opacity: .35; cursor: default; }
.collection-interiors__itm {
    display: block;
    width: 90px;
    height: 90px;
    overflow: hidden;
    border-radius: 3px;
}
.collection-interiors__itm img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.2s ease;
}
.collection-interiors__itm:hover img {
    transform: scale(1.08);
}

/* Окно лайтбокса. Штатное .modal-content рассчитано на форму (узкое, с полями);
   ролику и панораме нужен весь экран, какой отдадут. */
.gallery-media-modal__content {
    width: min(1600px, 92vw);
    height: 86vh;
    padding: 6px;
    box-sizing: border-box;
    background: #14161b;
}
.gallery-media-modal__body {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gallery-media-modal__frame,
.gallery-media-modal__player {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 4px;
    background: #14161b;
}
.gallery-media-modal__img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 4px;
}
.gallery-media-modal__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    font-size: 30px;
    line-height: 40px;
    cursor: pointer;
    z-index: 2;
}
.gallery-media-modal__nav:hover {
    background: rgba(0, 0, 0, 0.75);
}
.gallery-media-modal__nav--prev { left: 10px; }
.gallery-media-modal__nav--next { right: 10px; }

@media (max-width: 600px) {
    /* На телефоне окно во весь экран, крестик уводим внутрь — за краем окна его
       было бы не достать. */
    .gallery-media-modal__content { width: 96vw; height: 72vh; padding: 4px; }
    .gallery-media-modal .modal-close-button { right: 6px; top: -38px; }
    .collection-interiors__itm { width: 72px; height: 72px; flex: 0 0 72px; }
}

/* ==========================================================================
   ПРОБНАЯ РЕАЛИЗАЦИЯ (только dev): резиновая витрина каталога.

   Было: страница жила в общем .container с потолком 1500px, а карточки
   раскладывались процентами (раздел — 33.3333%, коллекция — 25%). На мониторе
   2560 это означало полосу в 1500px посередине и те же три карточки в ряд,
   что на ноутбуке: половина экрана уходила в поля.

   Стало: на ширинах от 1200px страницы витрины (класс .storefront-wide на
   #page-wrap ставят catalog.blade.php для /razdel и collection.blade.php)
   отдают содержимому всю ширину окна, а карточки раскладываются
   auto-fill-сеткой по минимальной ширине карточки. Число колонок считает
   браузер: на 1280 их столько же, сколько было, на 2560 — вдвое больше.

   Ширины НИЖЕ 1200px не тронуты вовсе: телефон и планшет рендерятся ровно
   так же, как до правки (правила mobile.css остаются единственными).

   --storefront-card: минимальная ширина карточки. 275px выбраны по САМОМУ
   узкому месту диапазона: на 1200px (первый шаг, где витрина распахивается)
   в разделе должно остаться те же 3 карточки, что и было, а там на колонку
   товаров приходится ~845px. При 290px их оставалось бы 2.
   --storefront-aside: потолок ширины колонки фильтров — без него она тянулась
   бы за 600px на широком мониторе.
   ========================================================================== */
@media (min-width: 1200px) {
  .storefront-wide {
    --storefront-card: 275px;
    --storefront-aside: 360px;
    /* Поля по краям растут вместе с окном, но в разумных пределах. */
    --storefront-pad: clamp(15px, 1.5vw, 40px);
  }

  /* Контейнеры страницы витрины: потолка ширины больше нет.
     Шапка сайта и так во всю ширину (.container-fluid), подвал оставляем
     как был — он общий для всех страниц. */
  .storefront-wide section.breadcrumb > .container,
  .storefront-wide section.catalog > .container,
  .storefront-wide section.home_about > .container,
  .storefront-wide #catalog_goods > .container,
  .storefront-wide > .container {
    max-width: none;
    padding-left: var(--storefront-pad);
    padding-right: var(--storefront-pad);
  }

  /* Лента «Все фабрики» идёт над витриной и обязана начинаться с того же
     левого края, что и карточки: иначе она остаётся узкой полосой по центру
     над распахнутой сеткой. */
  .storefront-wide .factory_nav > .container {
    max-width: none;
    padding-left: var(--storefront-pad);
    padding-right: var(--storefront-pad);
  }

  /* Колонка фильтров не должна расти вместе с окном: её содержимое (чекбоксы,
     ползунок цены) шире 360px не становится осмысленнее. Всё, что осталось,
     забирает сетка карточек. */
  .storefront-wide section.catalog > .container > .row > .col-xl-3 {
    max-width: var(--storefront-aside);
  }
  .storefront-wide section.catalog > .container > .row > .col-xl-9 {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0%;
        -ms-flex: 1 1 0%;
            flex: 1 1 0%;
    max-width: none;
  }

  /* --- Сама сетка карточек ---------------------------------------------
     Вместо flex-wrap с процентной шириной — grid с auto-fill: число колонок
     считает браузер из минимальной ширины карточки.
     Отрицательные поля карточек оставлены как были: они схлопывают соседние
     рамки в одну линию, и в сетке работают так же, как во flex. */
  .storefront-wide .catalog__list,
  .storefront-wide #catalog_goods .catalog_short__list {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--storefront-card), 1fr));
  }
  .storefront-wide .catalog__list > .shortcard,
  .storefront-wide .catalog__list > .catalog__video,
  .storefront-wide #catalog_goods .catalog_short__list > .shortcard {
    width: auto;
    /* Иначе длинное слово в названии распирает колонку. */
    min-width: 0;
    margin-left: 0;
    margin-right: -1px;
    margin-bottom: -1px;
  }
}

/* ===========================================================================
   Плотность сетки на широких экранах — числом колонок, а не минимальной
   шириной карточки.

   Auto-fill сам по себе даёт на 1920 пять карточек, а на 2560 — семь: плотно
   и мелко. Нужная плотность — 4 / 5 / 7, и одной минимальной шириной её не
   выразить: у раздела слева стоит колонка фильтров, у коллекции её нет, и одна
   и та же цифра давала бы на этих страницах разное число колонок.

   Поэтому от 1536px число колонок задано прямо. Порог именно 1536, а не 1920:
   у ноутбука «1920» окно почти никогда не равно ровно 1920 CSS-пикселям —
   полоса прокрутки, не развёрнутое окно, масштаб системы 125 % (тогда это
   1536). Auto-fill в полосе 1800–1919 давал пять карточек, и владелец на своём
   1920 видел пять вместо четырёх. Ниже 1536 auto-fill даёт те же 3, что и
   прежняя вёрстка, — его не трогаем.
   ========================================================================== */
@media (min-width: 1536px) {
  .storefront-wide .catalog__list,
  .storefront-wide #catalog_goods .catalog_short__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 2560px) {
  .storefront-wide .catalog__list,
  .storefront-wide #catalog_goods .catalog_short__list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

/* Промежуточная ступень: между 2560 и 3440 иначе получился бы скачок сразу
   на две колонки, и на 3000px карточки растягивались бы до 600px. */
@media (min-width: 3000px) {
  .storefront-wide .catalog__list,
  .storefront-wide #catalog_goods .catalog_short__list {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (min-width: 3400px) {
  .storefront-wide .catalog__list,
  .storefront-wide #catalog_goods .catalog_short__list {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
}


/* Автоподгрузка страниц раздела: строка состояния и кнопка «Показать ещё»
   под списком. Кнопка появляется после нескольких автоподгрузок подряд —
   иначе до подвала не добраться. */
.catalog__more { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 18px 0 6px; min-height: 1px; }
.catalog__more__status { color: #6b7280; font-size: 14px; }
.catalog__more__btn { min-width: 220px; }

/* Список значений фильтра: хвост за кнопкой «Показать все». */
.catalog__filter__itm__body li.li-collapsed { display: none; }
.catalog__filter__itm__body li.catalog__filter__more { list-style: none; padding: 4px 0 0; }
.catalog__filter__itm__body li.catalog__filter__more button { background: none; border: 0; padding: 4px 0; color: #2563eb; font-size: 13px; cursor: pointer; }
.catalog__filter__itm__body li.catalog__filter__more button:hover { text-decoration: underline; }

/* ===========================================================================
   Страница фабрики на движке раздела.

   Список коллекций/товаров, сайдбар и автоподгрузка — те же, что у /razdel,
   и сетка та же (.catalog__list под .storefront-wide). Своё здесь только:
   заголовок «Коллекции под заказ» внутри сетки, алфавитная навигация и
   шапка фабрики, которой на широкой странице незачем быть высокой.
   ========================================================================== */
/* Разделитель внутри сетки: во flex занимает всю строку, в grid — все колонки. */
.catalog__list__break { width: 100%; flex: 0 0 100%; grid-column: 1 / -1; margin: 40px 0 10px; }
.catalog__list__break h2 { margin: 0; }
.factory-letters { margin-top: 20px; }
.factory-letters .ln-letters span { cursor: pointer; }
.catalog__list .collect-grid__empty { width: 100%; flex: 0 0 100%; grid-column: 1 / -1; padding: 30px 0; }

@media (min-width: 1200px) {
  /* Шапка фабрики тянется вместе с витриной, а не остаётся полосой по центру. */
  .storefront-wide section.fabrika > .container {
    max-width: none;
    padding-left: var(--storefront-pad);
    padding-right: var(--storefront-pad);
  }
  .storefront-wide .fabrika-inner { padding-bottom: 10px; }
  .storefront-wide .fabrika__card { margin-top: 20px; }
  /* Логотип ниже: блок 220px шириной даёт ~105px высоты вместо 165 при 349px. */
  .storefront-wide .fabrika__card__logo { width: 220px; }
}

/* Логотип фабрики не должен сплющиваться.

   В разметке у <img> стоит атрибут height="100" (пресет imagecache height_100),
   а базовое правило ограничивает ширину: max-width:75%. Широкий логотип в
   узком блоке ужимался по ширине, сохраняя высоту 100 — то есть терял
   пропорции. height:auto возвращает их: высоту считает браузер, а обе
   границы блока держат размер. */
.fabrika__card__logo img { width: auto; height: auto; max-width: 88%; max-height: 82%; object-fit: contain; }


/* ===========================================================================
   Колонка фильтров едет вместе со страницей.

   В каталоге прокручивают длинный список карточек, а фильтр оставался
   наверху: чтобы снять галку, приходилось возвращаться к началу страницы.
   Теперь колонка липкая — стоит под шапкой, пока рядом прокручивается сетка.

   Три обязательные детали:
   • align-self: flex-start — колонки строки по умолчанию растянуты на всю
     высоту, а растянутому элементу некуда липнуть внутри себя;
   • ход колонки ограничен её строкой, то есть блоком витрины: кончился
     список — колонка уезжает вместе с ним, на подвал не наползает;
   • сайдбар выше экрана (у плитки полтора десятка групп), поэтому сам он
     получает свою прокрутку: без неё нижние группы были бы недостижимы.

   #page-wrap с overflow-x: clip — уже есть выше, ради липкой колонки карточки
   товара: обычный overflow:hidden сделал бы обёртку контейнером прокрутки, и
   sticky не работал бы вовсе.
   ========================================================================== */
@media (min-width: 992px) {
  section.catalog > .container > .row > .col-xl-3 {
    --antica-header-h: 138px;
    position: sticky;
    top: calc(var(--antica-header-h) + 12px);
    align-self: flex-start;
    max-height: calc(100vh - var(--antica-header-h) - 24px);
    display: flex;
    flex-direction: column;
  }
  /* min-height:0 обязателен: без него flex-элемент не даёт себя ужать, и
     собственная прокрутка сайдбара не включается. */
  /* Полоса прокрутки появляется только под курсором: место под неё
     зарезервировано всегда (scrollbar-gutter), поэтому содержимое не
     дёргается при наведении. Ползунок прозрачен, пока мыши нет.

     Клавиатуре и тачпаду это не мешает: прокрутка работает всегда, скрыт
     только сам ползунок. На тач-устройствах :hover не срабатывает, но там
     системная полоса и так показывается только во время прокрутки. */
  section.catalog > .container > .row > .col-xl-3 > .catalog__aside {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 12px;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
    transition: scrollbar-color .15s;
  }
  section.catalog > .container > .row > .col-xl-3 > .catalog__aside:hover,
  section.catalog > .container > .row > .col-xl-3 > .catalog__aside:focus-within {
    scrollbar-color: rgba(0, 0, 0, .25) transparent;
  }
  section.catalog > .container > .row > .col-xl-3 > .catalog__aside::-webkit-scrollbar { width: 6px; }
  section.catalog > .container > .row > .col-xl-3 > .catalog__aside::-webkit-scrollbar-thumb {
    background: transparent; border-radius: 3px; transition: background .15s;
  }
  section.catalog > .container > .row > .col-xl-3 > .catalog__aside:hover::-webkit-scrollbar-thumb,
  section.catalog > .container > .row > .col-xl-3 > .catalog__aside:focus-within::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .22);
  }
  /* Нижний отступ фильтра внутри собственной прокрутки не нужен — он
     оставлял пустую полосу под последней группой. */
  section.catalog > .container > .row > .col-xl-3 .catalog__filter { padding-bottom: 8px; }

  /* Переключатель «Коллекции / Товары» не уезжает при прокрутке сайдбара.

     Сама колонка липнет к странице, но внутри у неё своя прокрутка (групп
     больше, чем помещается в экран), и переключатель уходил вверх вместе с
     ними. Липнем к верху ЭТОГО контейнера прокрутки — так он виден всегда.
     Фон обязателен: под ним проезжают группы фильтра. */
  section.catalog > .container > .row > .col-xl-3 > .catalog__aside > .nav_toggler {
    position: sticky;
    top: 0;
    z-index: 3;
    margin: 0 0 16px 0;
    padding: 0;
    background: #fff;
  }
}


/* ===========================================================================
   Низ страницы фабрики.

   .catalog в базовой теме несёт padding-bottom: 115px — запас под прежнюю
   страницу, где под списком сразу шёл подвал. На фабрике под витриной идут
   ещё характеристики и вопросы, и такая полоса пустоты выглядит обрывом.

   SEO-блок внизу: со витриной он тянется во всю ширину, как сетка, и держит
   те же поля по краям (--storefront-pad задан в .storefront-wide); без
   витрины страница обычной ширины — остаётся .container, как было.
   ========================================================================== */
section.catalog.catalog-factory { padding-bottom: 32px; }

.factory-seo-wide > .factory-seo__wrap {
  padding-left: var(--storefront-pad, 15px);
  padding-right: var(--storefront-pad, 15px);
}
/* Две колонки делят всю ширину поровну: при жёстком потолке ширины справа
   оставалась пустота, а при трёх колонках — пустая третья (блоков всего два). */
.factory-seo-wide .factory-seo__grid { gap: 1.5rem 3rem; }
.factory-seo-wide { padding-bottom: 2.5rem; }


/* ===========================================================================
   Миниатюра коллекции занимает всю ширину карточки.

   Квадрат под картинкой в базовой теме упирался в потолок 350 пикселей —
   ровно в размер файла, который отдавал imagecache. На широком экране
   карточка стала шире (до 430 пикселей), и картинка сидела в ней с полями
   по бокам, будто не доросла.

   Потолок снят, картинка растянута по квадрату. Файл при этом берётся по
   размеру места: браузер выбирает между 350 и 520 по srcset — числа и изломы
   в App\Support\Catalog\CollectionThumb.

   Только карточки коллекций: у товара своя миниатюра с поворотами
   (.rot90) и своим кадрированием, её эти правила не касаются.
   ========================================================================== */
.shortcard.collect .shortcard__thumb { max-height: none !important; }

.shortcard.collect .shortcard__thumb__img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
}


/* ===========================================================================
   Колонка «Популярные бренды» в выпадающем блоке пункта каталога.

   Соседние колонки — обычные текстовые списки, а здесь логотипы: без своей
   раскладки они наследуют .header__catalog__submenu ul a{display:block} и
   выстраиваются в одну длинную колонку разной высоты. Плитка 2×N с общей
   высотой ячейки держит ряд ровным независимо от пропорций файла логотипа.
   ========================================================================== */
/* Логотипы брендов идут столбиком, один под другим: их немного, а в два
   столбца узкие плитки резали широкие логотипы (Litokol, Mapei) пополам. */
.header__catalog__submenu .menu-brands {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.header__catalog__submenu .menu-brands > li {
  width: 100%;
}

.header__catalog__submenu .menu-brands a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 6px 8px;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  background-color: #fff;
}

.header__catalog__submenu .menu-brands a:hover {
  border-color: #bf1e2e;
}

/* Логотипы приходят разной величины (от 100×40 до почти квадратных) —
   вписываем в ячейку, не растягивая маленькие. */
.header__catalog__submenu .menu-brands img {
  max-width: 100%;
  max-height: 34px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Фабрика без логотипа: имя вместо картинки, чтобы ряд не рвался. */
.header__catalog__submenu .menu-brands__name {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  text-align: center;
}

/* ── Логотип ─────────────────────────────────────────────────────────────
   Ширина логотипа в шапке равна ширине кнопки «Каталог» под ним — 205 px,
   ровно столько же, сколько у самого файла.

   Переопределять приходится потому, что в main.min.css лежит `.header img
   { width: 179px }` — правило бьёт по ВСЕМ картинкам шапки, включая логотипы
   фабрик в выпадающем каталоге, поэтому трогать его нельзя.

   Ширину задаём только на десктопе: в mobile.css для тех же картинок стоят
   150 px и 123 px, и на узких экранах логотип должен слушаться их. А вот
   height: auto нужен на всех ширинах — иначе высота берётся из атрибута
   height="41" и при любой чужой ширине кадр сплющивается: у нового файла
   пропорция 5:1 против прежних 3,75:1. */
.header__top img[src*="logo-"],
.footer__logo img {
  height: auto;
}

@media (min-width: 1200px) {
  .header__top img[src*="logo-"] {
    width: 205px;
  }
}
