/* Mega menu layout is owned by chrome.css (Figma 246:2876).
   Keep only non-conflicting positioning helpers here. */
div#maximenuck647 div.floatck {
  left: 0 !important;
  right: 0 !important;
}
div#maximenuck647 div.maxidrop-main {
  width: 100% !important;
}

.touchcarousel .touchcarousel-item {
  line-height: 1 !important;
}

#carousel-cart .touchcarousel-item .item-block .item_image img, #carousel-wishlist .touchcarousel-item .item-block .item_image img, #carousel-history .touchcarousel-item .item-block .item_image img, #carousel-compare .touchcarousel-item .item-block .item_image img, #downslide_dockbar_history .block_item .item_image img, #downslide_dockbar_wishlist .block_item .item_image img #downslide_dockbar_compare .block_item .item_image img, #downslide_dockbar_cart .block_item .item_image img {
  object-fit: cover !important;
  object-position: center center !important;
}

#carousel-cart .touchcarousel-item .item-block:hover .item_name, #carousel-wishlist .touchcarousel-item .item-block:hover .item_name, #carousel-history .touchcarousel-item .item-block:hover .item_name, #carousel-compare .touchcarousel-item .item-block:hover .item_name {
    display: block !important;
}

/* Миграция J6: JoomShopping 5.9 задаёт .row-fluid{display:flex}, из-за чего
   float-раскладка шаблона не работает. Управляем порядком колонок через flex order,
   чтобы сайдбар был слева как на проде (sidebar_left). */
#content #middlecol.sidebar_left { order: 2; }
#content #sidebar.sidebar_left { order: 1; }
#content #middlecol.sidebar_right { order: 1; }
#content #sidebar.sidebar_right { order: 2; }
/* Симметрия контента (десктоп и моб): JoomShopping делает .row-fluid{display:flex},
   а строка имеет width:100% + поля -15px → смещается влево и справа остаётся лишний
   ~30px зазор (асимметрия списка категорий/товаров — справа больше, чем слева).
   Обнуляем поля строки, чтобы она встала симметрично в контент-область, как на проде. */
#content > .row-fluid { margin-left: 0 !important; margin-right: 0 !important; }
/* На мобильном flex-order не должен перебивать порядок DOM: иначе список
   категорий (#sidebar) выводится ПЕРЕД товарами. На проде сначала идёт список
   товаров (#middlecol по порядку DOM), категории — ниже. Сбрасываем order. */
@media (max-width: 767px) {
  #content #middlecol.sidebar_left, #content #sidebar.sidebar_left,
  #content #middlecol.sidebar_right, #content #sidebar.sidebar_right { order: 0; }

  /* Мобильная раскладка: колонки контента и подвала должны идти на всю ширину
     в столбик. Шаблонные мобильные правила перебиваются ID-селекторами
     (#content #middlecol.sidebar_left{float:right}) и не срабатывали → контент,
     каталог и подвал «съезжали». Принудительно растягиваем колонки на 100%. */
  #content .row-fluid { display: flex; flex-wrap: wrap; }
  #content #middlecol, #content #sidebar,
  #content #middlecol.sidebar_left, #content #middlecol.sidebar_right,
  #content #sidebar.sidebar_left, #content #sidebar.sidebar_right {
    float: none !important; clear: both;
    width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important;
  }
  /* симметрия: убираем отрицательные поля строки и десктопный отступ .inside
     (он для зазора от сайдбара), иначе контент смещён вправо на ~30px */
  #content > .row-fluid { margin-left: 0 !important; margin-right: 0 !important; }
  #content #middlecol .inside { padding-left: 0 !important; padding-right: 0 !important; }
  /* Подвал: колонки в столбик и по центру, как на проде */
  #footer .row-fluid { display: block; }
  #footer .row-fluid .moduletable,
  #footer .row-fluid .moduletable.span3 {
    float: none !important; width: 100% !important; margin: 0 0 15px;
    text-align: center;
  }
  #footer .row-fluid .moduletable address { text-align: center; }
}

/* Шапка: JoomShopping 5.9 в J6 задаёт глобально .row-fluid{display:flex},
   из-за чего float-раскладка шапки ломалась — #header_right становился flex-
   элементом по ширине контента и не дотягивался до правого края контейнера
   (~100px зазор справа). Возвращаем обычный блочный поток только для .row-fluid
   внутри шапки, чтобы контакты/верхнее меню/поиск прижимались вправо, как на проде. */
#header .row-fluid { display: block; margin-left: 0; margin-right: 0; }

/* ===== Хлебные крошки (J6) =====
   Joomla 6 выводит крошки как <ol class="mod-breadcrumbs breadcrumb"> с
   <li class="breadcrumb-item"> и БЕЗ разделителей, а CSS шаблона заточен под
   старую <ul class="breadcrumb"> с <span class="divider">. Из-за этого крошки
   шли «слипшимися», без иконки дома и пунктира. Override модуля в J6 не
   подхватывается, поэтому переносим оформление прода на новую разметку через CSS. */
#breadcrumbs ol.breadcrumb {
    clear: both; font-size: 13px; padding: 0 0 10px; margin: -20px 0 0;
    background: none; overflow: hidden; border-bottom: 1px dashed #d9d9d9;
    position: relative; list-style: none; display: block;
}
#breadcrumbs ol.breadcrumb > li {
    float: none; display: inline; padding: 0; line-height: 28px; margin: 0; text-shadow: none;
}
#breadcrumbs ol.breadcrumb .mod-breadcrumbs__here { color: #333; }
/* «Главная» как иконка дома (2-й пункт — после «Вы здесь:», как на проде) */
#breadcrumbs ol.breadcrumb li:nth-child(2) a.pathway {
    background-image: url(../images/breadcrumbs_home.png);
    background-repeat: no-repeat; background-position: top;
    display: inline-block; height: 25px; width: 25px; margin-top: 2px;
    vertical-align: middle; text-indent: 9999em; overflow: hidden;
}
/* разделители « / » между пунктами (ядро J6 их не выводит) */
#breadcrumbs ol.breadcrumb li.breadcrumb-item + li.breadcrumb-item::before {
    content: "/"; color: #999; padding: 0 12px; display: inline;
}
#breadcrumbs ol.breadcrumb li.active,
#breadcrumbs ol.breadcrumb li.breadcrumb-item.active span { color: #999; }

/* Отступ карусели «Новые поступления» от контента категории выше (на проде есть зазор) */
#jshopping_module_bottom { margin-top: 35px; }
#jshopping_module_bottom .moduletable h3 { margin-top: 0; }

/* Список товаров: зазор от блока категорий слева (в J6 .row-fluid стал flex и
   bootstrap-отступ между колонками пропал). */
#content #middlecol.sidebar_left .inside { padding-left: 28px; }
#content #middlecol.sidebar_right .inside { padding-right: 28px; }

/* ===== Пагинация каталога (как на проде) =====
   В J6 JoomShopping отдаёт пагинацию ядром Joomla: ul.pagination > li.page-item >
   a.page-link (Bootstrap 5), а шаблон стилизует только старую разметку
   (.pagination ul > li > a) → дефолтный «бутстраповский» вид: засечки, разнобой
   в отступах, рамка-«черточка» над активной цифрой. Приводим к виду старой темы:
   сросшиеся прямоугольники с рамкой #ddd, серая активная страница, sans-serif. */
ul.pagination {
    display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: flex-start;
    margin: 20px 0; padding: 0; list-style: none;
    box-shadow: none; border-radius: 0;
    overflow: visible; max-width: none;
}
ul.pagination .page-item { display: block; float: none; margin: 0; }
/* неактивные стрелки (на 1-й стр. «В начало/Назад») — пустые span нулевой ширины,
   из-за рамки рисовались тонкой вертикальной чёрточкой над рядом. Прячем их. */
ul.pagination .page-item.disabled { display: none !important; }
ul.pagination .page-item .page-link {
    position: static; display: block;
    margin: 0 0 0 -1px; border-radius: 0; box-shadow: none;
    padding: 4px 12px; line-height: 20px; height: auto; min-width: 0;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; font-size: 14px;
    color: #555; text-decoration: none; white-space: nowrap; vertical-align: baseline;
    background: #fff; border: 1px solid #ddd;
}
ul.pagination .page-item:first-child .page-link { margin-left: 0; }
ul.pagination .page-item .page-link:hover,
ul.pagination .page-item.active .page-link { background: #f5f5f5; color: #999; }
/* стрелки: иконочный шрифт без нужных глифов → текстовые подписи, как на проде */
ul.pagination .page-link span[class*="icon-angle"] { display: inline; width: auto; }
ul.pagination .page-link span[class*="icon-angle"]::before {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
ul.pagination .page-link span.icon-angle-double-left::before { content: "В начало" !important; }
ul.pagination .page-link span.icon-angle-left::before { content: "Назад" !important; }
ul.pagination .page-link span.icon-angle-right::before { content: "Вперёд" !important; }
ul.pagination .page-link span.icon-angle-double-right::before { content: "В конец" !important; }
/* контейнеры пагинации (table.jshop_pagination) не должны обрезать кнопки */
#content table.jshop_pagination, #content table.jshop_pagination td,
.pagination, nav.pagination__wrapper { overflow: visible !important; max-width: none !important; }

/* Подвал: карточка «Наш адрес» — внутренний паддинг 15px на всю карточку
   (и заголовок, и адрес), как на проде */
#footer .footer_inner .moduletable:has(address) { padding: 15px; }

/* Иконка VK: на проде классический логотип (FA5), а FA6 (SP Page Builder) даёт
   другой глиф. Подменяем глиф на SVG классического VK через mask (цвет/ховер
   сохраняются через currentColor). */
.sppb-icons-group-list .fa-vk::before { content: "" !important; }
.sppb-icons-group-list .fa-vk {
    display: inline-block; width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url(../images/vk.svg) no-repeat center center;
    mask: url(../images/vk.svg) no-repeat center center;
    -webkit-mask-size: contain; mask-size: contain;
}

/* ===== SP Page Builder: галерея «4 в ряд» (как на проде) =====
   Новый SP Page Builder в J6 оборачивает строки в .sppb-row-container
   (max-width:1140px + padding:15px), плюс у колонки свой padding — контент-
   область получается на ~30–50px уже, чем на проде. Из-за этого галерея с
   фикс. картинками 200×200 не помещалась в 4 шт. (4-я переносилась на 2-й ряд).
   Раскладываем фото галереи квадратами по 4 в ряд, как было на проде. */
.sppb-addon-gallery .sppb-gallery { display: flex; flex-wrap: wrap; }
.sppb-addon-gallery .sppb-gallery li { flex: 0 0 25%; max-width: 25%; }
.sppb-addon-gallery .sppb-gallery li a { display: block; }
.sppb-addon-gallery .sppb-gallery li img {
    width: 100% !important; height: auto !important;
    aspect-ratio: 1 / 1; object-fit: cover; display: block;
}
@media (max-width: 767px) {
    .sppb-addon-gallery .sppb-gallery li { flex: 0 0 50%; max-width: 50%; }
}

/* ===== Рейтинг-звёзды товара (как на проде) =====
   Спрайт jshopping_stars.png — 16px-звёзды (ряды: 0 серый, -16 оранжевый «активный»,
   -32 синий hover). Новый JoomShopping выставил height:19px и offset -19px, из-за чего
   ряды съезжали (видны «красные точки»). Возвращаем 16px-метрику. Ширину дорожки
   правит rating_star_width=16 в config/default_config.php. */
body .stars_no_active, body .stars_active { height: 16px; background-size: 16px 48px; }
body .stars_no_active { background-position: 0 0; }
body .stars_active { background-position: 0 -16px; }

/* ===== Подвал: ширина колонок (как на проде) =====
   Левый отступ колонки нужен (как на проде), поэтому его НЕ трогаем.
   Строка «телефон, email» = 246px, а контент-область с обоими padding 15px = 233px
   → email переносился. Убираем только ПРАВЫЙ padding (контент → 248px) — отступ
   слева сохраняется, а строка с почтой помещается в одну строку. */
#footer .row-fluid .moduletable.span3 { padding-right: 0 !important; }
/* и сама контактная строка (телефон, email) не должна разрываться */
#footer address a[href^="tel"], #footer address a[href^="mailto"] { white-space: nowrap; }

/* ===== Плашка-уведомление «Внимание» (как на проде) =====
   На проде сообщение «Пожалуйста, выберите параметры» выводилось как оранжевая
   плашка с заголовком «Внимание». В J6 тип сообщения переведён на 'warning'
   (оранжевый, см. JSError/Error.php), но ядро прячет подпись типа в visually-hidden.
   Добавляем видимый заголовок «Внимание», как было на проде. */
joomla-alert[type="warning"] .alert-heading::after { content: "Внимание"; font-weight: bold; margin-left: 4px; }

/* ===== Подвал: убрать анимацию всплытия у соцсетей =====
   Блок иконок соцсетей в подвале (SP Page Builder icons-group) имел entrance-
   анимацию (sppb-wow rotateInDownLeft) — иконки «всплывали» при прокрутке.
   Отключаем анимацию в подвале, оставляя иконки статично видимыми. */
#footer .sppb-wow {
    -webkit-animation: none !important; animation: none !important;
    visibility: visible !important; opacity: 1 !important;
    -webkit-transform: none !important; transform: none !important;
}

/* ===== Фильтры/сортировка каталога: текст в <select> обрезался снизу =====
   У выпадающих списков фильтра (Сортировка/Количество/Производитель) высота была
   жёстко 30px при padding 9.6px и шрифте 16px → на текст оставалось ~9px и низ
   букв (д, у, ц, р) срезался (особенно заметно в Яндекс.Браузере). Снимаем
   фиксированную высоту и задаём адекватные паддинги, чтобы строка помещалась. */
.jshop_filters select,
.box_products_sorting select,
.box_products_count_to_page select,
.form_sort_count select.submit_product_list_filter,
.jshop_filters input[type="text"] {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    line-height: 1.4 !important;
}

/* ===== Карточка товара: только одно (главное) фото по умолчанию =====
   В галерее товара первое фото видно, остальные (например «дверь в разрезе»,
   «пример установки») скрыты и показываются только при клике на миниатюру
   (JS showImage добавляет inline-стиль). Раньше скрытие держалось ИСКЛЮЧИТЕЛЬНО
   на inline style="display:none", а базовое правило a.lightbox{display:block}
   раскрывало сразу все фото, если этот inline-стиль слетал (это и происходило
   при добавлении в корзину — «вылетали» все фото). Делаем инвариант на CSS:
   любое фото галереи, кроме первого, скрыто по умолчанию. Переключение по
   миниатюрам (.show()) перебивает это inline-стилем, поэтому не ломается. */
.jshop_product_image_main a.lightbox ~ a.lightbox { display: none; }

/* Product page layout overrides live in product.css (Figma 226:399 / 121:2) */

/* ===== Widgetkit-галереи (банк фотографий) =====
   Ровная сетка: одинаковые ячейки по ширине и высоте, фото object-fit: cover.
   UIkit2 masonry отключён (давал наложения и «пьяные» высоты). */
[id^="wk-grid"][data-uk-grid],
[id^="wk-grid"].uk-grid {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
	align-items: stretch;
	position: relative !important;
	height: auto !important;
	min-height: 0 !important;
	margin-left: 0 !important;
	column-count: auto !important;
}
[id^="wk-grid"].uk-grid-width-medium-1-4,
[id^="wk-grid"].uk-grid-width-large-1-4,
[id^="wk-grid"][data-uk-grid]:has(.uk-panel-title),
[id^="wk-grid"].uk-grid:has(.uk-panel-title) {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}
[id^="wk-grid"] > div {
	position: static !important;
	left: auto !important;
	top: auto !important;
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block;
	min-width: 0;
	box-sizing: border-box;
}
[id^="wk-grid"] .uk-panel,
[id^="wk-grid"] .uk-panel.uk-invisible,
[id^="wk-grid"] .uk-invisible {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	height: 100%;
	display: flex;
	flex-direction: column;
	min-width: 0;
}
[id^="wk-grid"] .uk-panel-teaser {
	display: block;
	width: 100%;
	margin: 0;
	flex: 0 0 auto;
}
[id^="wk-grid"] .uk-overlay {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f2f2f2;
}
[id^="wk-grid"] img,
[id^="wk-grid"] img.uk-overlay-scale {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
	object-position: center center !important;
}
[id^="wk-grid"] canvas.uk-responsive-width {
	display: none !important;
}
[id^="wk-grid"] .uk-panel-title {
	margin: 10px 0 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.35;
	flex: 1 1 auto;
}
[id^="wk-grid"] .uk-overlay-panel,
[id^="wk-grid"] .uk-position-cover {
	z-index: 1;
}
@media (max-width: 1199px) {
	[id^="wk-grid"][data-uk-grid],
	[id^="wk-grid"].uk-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	[id^="wk-grid"][data-uk-grid]:has(.uk-panel-title),
	[id^="wk-grid"].uk-grid:has(.uk-panel-title) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 767px) {
	[id^="wk-grid"][data-uk-grid],
	[id^="wk-grid"].uk-grid,
	[id^="wk-grid"][data-uk-grid]:has(.uk-panel-title),
	[id^="wk-grid"].uk-grid:has(.uk-panel-title) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
}
@media (max-width: 479px) {
	[id^="wk-grid"][data-uk-grid],
	[id^="wk-grid"].uk-grid,
	[id^="wk-grid"][data-uk-grid]:has(.uk-panel-title),
	[id^="wk-grid"].uk-grid:has(.uk-panel-title) {
		grid-template-columns: 1fr;
	}
}

/* ===== Главная: слайдер (Figma node 9:2) ===== */
#iceslideshow {
    background: #f8fafd;
    margin-bottom: 0;
    width: 100%;
    overflow-x: hidden;
}

.stdoors-hero {
    --stdoors-hero-slide-gap: 100px;
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f8fafd;
    margin: 0;
    padding: 0;
    border: 0;
}
.stdoors-hero__viewport {
    position: relative;
    width: 100%;
    overflow: hidden;
    clip-path: inset(0);
    contain: paint;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
    overscroll-behavior-x: contain;
    isolation: isolate;
}
.stdoors-hero__viewport.is-draggable {
    cursor: grab;
    touch-action: pan-y pinch-zoom;
}
.stdoors-hero__viewport.is-dragging {
    cursor: grabbing;
    touch-action: none;
}
.stdoors-hero__track {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: var(--stdoors-hero-slide-gap);
    width: auto;
    will-change: transform;
}
.stdoors-hero__track.is-animating {
    transition: transform 1.35s cubic-bezier(0.33, 0.0, 0.2, 1);
}
.stdoors-hero__track.is-solo {
    width: 100% !important;
    gap: 0 !important;
    transform: translate3d(0, 0, 0) !important;
    transition: none !important;
}
.stdoors-hero__track.is-solo .stdoors-hero__slide:not(.is-active),
.stdoors-hero__track[data-hero-ready="0"] .stdoors-hero__slide:not(.is-active) {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
.stdoors-hero__track.is-solo .stdoors-hero__slide.is-active {
    width: 100% !important;
    flex: 0 0 100% !important;
}
.stdoors-hero__slide {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    padding: 63px 0 0;
    box-sizing: border-box;
    overflow: hidden;
    opacity: 0.78;
    transition: opacity 1.1s cubic-bezier(0.33, 0.0, 0.2, 1);
}
.stdoors-hero__slide.is-active {
    position: relative;
    z-index: 1;
    opacity: 1;
}
.stdoors-hero__slide .stdoors-hero__content,
.stdoors-hero__slide .stdoors-hero__media--desktop {
    transition:
        opacity 1s cubic-bezier(0.33, 0.0, 0.2, 1) 0.08s,
        transform 1.35s cubic-bezier(0.33, 0.0, 0.2, 1);
    will-change: opacity, transform;
}
.stdoors-hero__slide:not(.is-active) .stdoors-hero__content {
    opacity: 0;
    transform: translate3d(18px, 0, 0);
}
.stdoors-hero__slide.is-active .stdoors-hero__content {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}
.stdoors-hero__slide:not(.is-active) .stdoors-hero__media--desktop {
    opacity: 0.65;
    transform: scale(0.992);
}
.stdoors-hero__slide.is-active .stdoors-hero__media--desktop {
    opacity: 1;
    transform: scale(1);
}
.stdoors-hero__track:not(.is-solo) .stdoors-hero__slide {
    opacity: 1;
}
.stdoors-hero__track:not(.is-solo) .stdoors-hero__slide .stdoors-hero__content,
.stdoors-hero__track:not(.is-solo) .stdoors-hero__slide .stdoors-hero__media--desktop,
.stdoors-hero__track:not(.is-solo) .stdoors-hero__slide .stdoors-hero__media--mobile {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}
.stdoors-hero.is-interacting .stdoors-hero__slide,
.stdoors-hero.is-interacting .stdoors-hero__slide .stdoors-hero__content,
.stdoors-hero.is-interacting .stdoors-hero__slide .stdoors-hero__media--desktop,
.stdoors-hero.is-interacting .stdoors-hero__slide .stdoors-hero__media--mobile {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
}
@media (prefers-reduced-motion: reduce) {
    .stdoors-hero__track.is-animating {
        transition-duration: 0.01ms;
    }
    .stdoors-hero__slide,
    .stdoors-hero__slide .stdoors-hero__content,
    .stdoors-hero__slide .stdoors-hero__media--desktop,
    .stdoors-hero__slide .stdoors-hero__media--mobile {
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}
.stdoors-hero__layout {
    display: grid;
    grid-template-columns: minmax(0, 452px) minmax(0, 1fr);
    column-gap: 96px;
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-height: 474px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.stdoors-hero__content {
    width: 452px;
    max-width: 100%;
    min-width: 0;
    padding-top: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.stdoors-hero__intro {
    display: flex;
    flex-direction: column;
    gap: 35px;
    width: 100%;
}
.stdoors-hero__head {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.stdoors-hero__title {
    margin: 0;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 700;
    font-size: 36px;
    line-height: 1.1;
    color: #0d0d0d;
}
.stdoors-hero__subtitle {
    margin: 0;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.3;
    color: #828282;
}

#iceslideshow .stdoors-hero__actions {
    display: flex !important;
    flex-flow: row nowrap !important;
    gap: 10px;
    align-items: flex-start;
    margin: 0;
    width: 100%;
}
#iceslideshow .stdoors-hero__btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 3px;
    width: auto !important;
    flex: 0 0 auto;
    padding: 13px 25px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.2;
    text-decoration: none;
    border-radius: 0;
    white-space: nowrap;
    cursor: pointer;
    box-sizing: border-box;
    user-select: auto;
    -webkit-user-select: auto;
}
#iceslideshow .stdoors-hero__btn--primary,
#iceslideshow .stdoors-hero__btn--primary:link,
#iceslideshow .stdoors-hero__btn--primary:visited,
#iceslideshow .stdoors-hero__btn--primary:hover,
#iceslideshow .stdoors-hero__btn--primary:active,
#iceslideshow .stdoors-hero__btn--primary:focus {
    background: #0088cd !important;
    border: 1px solid #0088cd !important;
    color: #fefefe !important;
    text-decoration: none !important;
}
/* Временно скрыта кнопка «Получить консультацию» на всех слайдах */
#iceslideshow .stdoors-hero__btn--secondary,
#iceslideshow .stdoors-hero__btn--secondary:link,
#iceslideshow .stdoors-hero__btn--secondary:visited,
#iceslideshow .stdoors-hero__btn--secondary:hover,
#iceslideshow .stdoors-hero__btn--secondary:active,
#iceslideshow .stdoors-hero__btn--secondary:focus {
    display: none !important;
}
#iceslideshow .stdoors-hero__btn--primary .stdoors-hero__btn-icon,
#iceslideshow .stdoors-hero__btn--primary:visited .stdoors-hero__btn-icon,
#iceslideshow .stdoors-hero__btn--primary:hover .stdoors-hero__btn-icon,
#iceslideshow .stdoors-hero__btn--primary:active .stdoors-hero__btn-icon,
#iceslideshow .stdoors-hero__btn--primary:focus .stdoors-hero__btn-icon {
    color: #fefefe !important;
}
.stdoors-hero__btn-icon { display: inline-flex; width: 20px; height: 20px; flex-shrink: 0; }

.stdoors-hero__points {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.stdoors-hero__point {
    width: 180px;
    max-width: 100%;
    flex-shrink: 0;
    min-width: 0;
    box-sizing: border-box;
}
.stdoors-hero__point-title {
    margin: 0 0 5px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.1;
    color: #0088cd;
}
.stdoors-hero__point-sub {
    margin: 0;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.2;
    color: #828282;
}

.stdoors-hero__media--desktop {
    width: 100%;
    max-width: 711px;
    height: 474px;
    margin-left: 0;
    justify-self: start;
    overflow: hidden;
}
.stdoors-hero__media--mobile { display: none; }
.stdoors-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    -webkit-user-drag: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    pointer-events: none;
}

/* Пагинация-полоски с прогрессом */
.stdoors-hero__pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 30px 0 40px;
}
.stdoors-hero__page {
    appearance: none;
    border: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
}
.stdoors-hero__page-track {
    display: block;
    width: 70px;
    height: 8px;
    border: 1px solid #c4cfe4;
    border-radius: 100px;
    overflow: hidden;
    background: #f8fafd;
    position: relative;
}
.stdoors-hero__page-fill {
    display: block;
    height: 100%;
    width: 0%;
    background: #0088cd;
}
.stdoors-hero__page.is-active .stdoors-hero__page-fill.is-animating {
    animation: stdoorsHeroProgress 7s linear forwards;
}
@keyframes stdoorsHeroProgress {
    from { width: 0%; }
    to { width: 100%; }
}

@media (max-width: 991px) {
    #iceslideshow {
        background: #fff;
        margin-bottom: 24px;
        overflow-x: clip;
    }
    #iceslideshow > .container {
        width: 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
    .stdoors-hero {
        background: #fff;
    }
    .stdoors-hero__layout {
        grid-template-columns: 1fr;
        column-gap: 0;
        min-height: 0;
        padding: 0;
    }
    .stdoors-hero__title {
        font-size: 25px;
    }
    .stdoors-hero__content {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding-top: 0;
        gap: 24px;
    }
    .stdoors-hero__intro {
        gap: 20px;
        min-width: 0;
        max-width: 100%;
    }
    .stdoors-hero__head,
    .stdoors-hero__title,
    .stdoors-hero__subtitle {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    .stdoors-hero__slide {
        padding: 24px 16px 0;
        background: #fff;
        max-width: 100%;
    }
    .stdoors-hero__points {
        gap: 12px;
    }
    .stdoors-hero__point {
        width: auto;
        flex: 1 1 0;
        min-width: 0;
    }
    .stdoors-hero__point-title {
        font-size: 18px;
    }
    .stdoors-hero__point-sub {
        font-size: 13px;
    }
    .stdoors-hero__viewport {
        transition: height 0.9s cubic-bezier(0.33, 0.0, 0.2, 1);
        background: #fff;
        overflow: hidden;
        clip-path: inset(0);
        contain: paint;
    }
    .stdoors-hero__slide:not(.is-active) .stdoors-hero__content {
        transform: translate3d(0, 12px, 0);
    }
    .stdoors-hero__slide .stdoors-hero__media--mobile {
        transition:
            opacity 1s cubic-bezier(0.33, 0.0, 0.2, 1) 0.08s,
            transform 1.35s cubic-bezier(0.33, 0.0, 0.2, 1);
    }
    .stdoors-hero__slide:not(.is-active) .stdoors-hero__media--mobile {
        opacity: 0.65;
        transform: scale(0.992);
    }
    .stdoors-hero__slide.is-active .stdoors-hero__media--mobile {
        opacity: 1;
        transform: scale(1);
    }
    .stdoors-hero__track {
        background: #fff;
    }
    .stdoors-hero__media--desktop { display: none; }
    .stdoors-hero__media--mobile {
        display: block;
        width: 100%;
        max-width: none;
        height: auto;
        margin: 0;
        overflow: hidden;
    }
    .stdoors-hero__media--mobile .stdoors-hero__img {
        width: 100%;
        height: auto;
        object-fit: contain;
        object-position: center;
    }
    .stdoors-hero__pagination {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 16px 16px 24px;
        gap: 5px;
        width: 100%;
        box-sizing: border-box;
    }
    .stdoors-hero__page {
        flex: 0 0 auto;
    }
    .stdoors-hero__page-track {
        width: 28px;
        height: 6px;
        margin: 0;
        background: #eef2f7;
        border-color: #dde4ee;
    }
}

@media (max-width: 767px) {
    #iceslideshow .stdoors-hero__actions {
        flex-direction: column !important;
        align-items: stretch;
    }
    #iceslideshow .stdoors-hero__btn {
        width: 100% !important;
        justify-content: space-between;
    }
}

/* ===== Карточки товаров JoomShopping (макет Figma) ===== */
.stdoors-product-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 20px;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}

/* Каталог: CSS Grid 3 → 2 → 1, равномерные отступы 20px */
.jshop_list_product .jshop_list_product_grid,
.jshop_list_product > .list_product#comjshop_list_product,
.jshop_list_product #comjshop_list_product {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
    row-gap: 20px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}

.jshop_list_product .jshop_list_product_grid > .block_product,
.jshop_list_product #comjshop_list_product > .block_product,
.jshop_list_product .list_product .row-fluid > [class*="sblock"],
.jshop_list_product .row-fluid > [class*="sblock"] {
    float: none !important;
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.jshop_list_product .jshop_list_product_grid > .block_product .stdoors-product-card,
.jshop_list_product .block_product .stdoors-product-card {
    width: 100%;
    margin-bottom: 0 !important;
}

/* Связанные товары — та же сетка */
.jshop_list_product .list_related > .row-fluid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
    row-gap: 20px !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

.jshop_list_product .list_related > .row-fluid > [class*="span"] {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.stdoors-product-grid__item {
    float: none !important;
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.jshopping_product h2,
.stdoors-product-card.jshopping_product h2,
.stdoors-product-card__title {
    font-family: "Open Sans", "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px !important;
    line-height: 24px;
    margin: 5px 0 10px;
}

.stdoors-product-card.jshopping_product {
    text-align: left;
    margin-bottom: 0;
}

.stdoors-product-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    overflow: hidden;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.stdoors-product-card__media {
    position: relative;
    width: 100%;
    aspect-ratio: 320 / 229;
    background: #f8fafd;
    overflow: hidden;
}

.stdoors-product-card__image-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 8px;
    box-sizing: border-box;
}

.stdoors-product-card__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
    max-width: 100% !important;
    max-height: 100% !important;
}

.stdoors-product-card__label {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
}

.stdoors-product-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 16px 20px 20px;
    gap: 12px;
    text-align: left;
}

.stdoors-product-card__title {
    margin: 5px 0 10px;
    width: 100%;
    font-size: 16px !important;
    line-height: 24px;
    font-weight: 700;
    color: #111827;
    text-align: left;
}

.stdoors-product-card__title a {
    display: block;
    width: 100%;
    color: inherit;
    text-decoration: none;
    text-align: left;
}

.stdoors-product-card__title a:hover {
    color: #0088cd;
}

.stdoors-product-card__title .jshop_code_prod {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 400;
    color: #64748b;
    text-align: left;
}

.stdoors-product-card__status {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    text-align: left;
}

.stdoors-product-card__status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    background: currentColor;
}

.stdoors-product-card__status--stock { color: #22c55e; }
.stdoors-product-card__status--order { color: #e4d500; }
.stdoors-product-card__status--lead { color: #f59e0b; }
.stdoors-product-card__status--unavailable { color: #ef4444; }
.stdoors-product-card__status--default { color: #64748b; }

.stdoors-product-card__price {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: 3px;
    margin: 0;
    white-space: nowrap;
    text-align: left;
}

.stdoors-product-card__price-prefix {
    font-size: 12px;
    font-weight: 400;
    color: #94a3b8;
}

.stdoors-product-card__price-value {
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
    color: #111827;
}

.stdoors-product-card__currency {
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
}

.stdoors-product-card__old-price {
    font-size: 12px;
    color: #94a3b8;
    text-decoration: line-through;
    text-align: left;
}

.stdoors-product-card__actions,
.stdoors-product-card .jshop_buttons,
.jshopping_product.stdoors-product-card .jshop_buttons {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: auto;
    padding: 0 !important;
}

.stdoors-product-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 40px;
    padding: 10px 16px;
    border-radius: 0;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    box-sizing: border-box;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.stdoors-product-card__btn--buy {
    background: #0088cd;
    border: 1px solid #0088cd;
    color: #fff !important;
}

.stdoors-product-card__btn--buy:hover {
    background: #0077b5;
    border-color: #0077b5;
    color: #fff !important;
}

.stdoors-product-card__btn--in {
    background: #fff;
    border: 1px solid #0088cd;
    color: #0088cd !important;
}

.stdoors-product-card__btn--in:hover {
    background: #f2f8fc;
    border-color: #0077b5;
    color: #0077b5 !important;
}

.stdoors-product-card__actions.is-in-cart .stdoors-product-card__btn--buy {
    display: none !important;
}

.stdoors-product-card__actions:not(.is-in-cart) .stdoors-product-card__btn--in {
    display: none !important;
}

.stdoors-product-card__btn--detail {
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #374151 !important;
}

.stdoors-product-card__btn--detail:hover {
    border-color: #cbd5e1;
    color: #111827 !important;
}

.stdoors-product-card__btn-icon {
    flex-shrink: 0;
}

.stdoors-product-card__meta {
    display: none;
}

/* Сброс старых стилей карточки */
.stdoors-product-card .jshop_description,
.stdoors-product-card .manufacturer_name,
.stdoors-product-card .productweight,
.stdoors-product-card .extra_fields,
.stdoors-product-card .vendorinfo,
.stdoors-product-card .deliverytime,
.stdoors-product-card .not_available,
.stdoors-product-card .default_price,
.stdoors-product-card .base_price,
.stdoors-product-card .taxinfo,
.stdoors-product-card .plusshippinginfo,
.stdoors-product-card .jshop_review_mark,
.stdoors-product-card .jshop_count_commentar {
    display: none !important;
}

/* Карусели модулей и «Похожие товары»: карточка на всю ширину слайда */
.std-carousel .stdoors-product-card,
.owl-carousel .stdoors-product-card {
	margin: 0;
	max-width: none;
	width: 100%;
}

/* Модули: 4 → 3 → 2 → 1 */
@media (max-width: 1024px) {
    .stdoors-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .stdoors-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .stdoors-product-card__price-value,
    .stdoors-product-card__currency {
        font-size: 20px;
    }
}

@media (max-width: 424px) {
    .stdoors-product-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Каталог: 3 → 2 → 1 */
@media (max-width: 1024px) {
    .jshop_list_product .jshop_list_product_grid,
    .jshop_list_product > .list_product#comjshop_list_product,
    .jshop_list_product #comjshop_list_product,
    .jshop_list_product .list_related > .row-fluid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .jshop_list_product .jshop_list_product_grid,
    .jshop_list_product > .list_product#comjshop_list_product,
    .jshop_list_product #comjshop_list_product,
    .jshop_list_product .list_related > .row-fluid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Фильтры и сортировка каталога — читаемый текст в select */
.jshop_list_product .form_sort_count select,
.jshop_list_product .block_sorting_count_to_page select,
.jshop_list_product .jshop_filters select {
    height: auto !important;
    min-height: 34px;
    line-height: 1.35 !important;
    padding: 6px 28px 6px 10px !important;
    font-size: 13px !important;
    vertical-align: middle;
    overflow: visible !important;
    box-sizing: border-box;
    max-width: 100%;
}

.jshop_list_product .jshop_filters input[type="text"] {
    height: auto !important;
    min-height: 34px;
    line-height: 1.35 !important;
    padding: 6px 8px !important;
    box-sizing: border-box;
}
