

/* Start:/local/templates/dresscodeV2/css/catalog-infinite-scroll.css?17908783622540*/
/* The native Bitrix pager remains a fallback when JavaScript is unavailable. */
body #main #ajaxSection #catalogSection {
    overflow-anchor: none;
}

body #main #ajaxSection.catalogInfinite--enhanced #catalogSection .bx-pagination {
    display: none;
}

body #main .catalogInfinite {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    margin: 24px 0 40px;
    color: #687b7e;
    font-size: 14px;
    line-height: 20px;
    text-align: center;
}

body #main .catalogInfinite[hidden],
body #main .catalogInfinite__status:empty {
    display: none;
}

body #main .catalogInfinite--loading .catalogInfinite__status::before {
    content: '';
    display: inline-block;
    box-sizing: border-box;
    width: 16px;
    height: 16px;
    margin-right: 9px;
    vertical-align: -3px;
    border: 2px solid #cfe4e2;
    border-top-color: #008c9c;
    border-radius: 50%;
    animation: catalogInfiniteSpin .8s linear infinite;
}

@keyframes catalogInfiniteSpin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    body #main .catalogInfinite--loading .catalogInfinite__status::before {
        animation: none;
    }
}

/* If automatic loading fails, the revealed native pager remains usable on phones. */
@media (max-width: 600px) {
    body #main #ajaxSection #catalogSection .bx-pagination-container ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px 5px;
        width: 100%;
    }

    body #main #ajaxSection #catalogSection .bx-pagination-container ul li {
        margin: 0;
    }

    body #main #ajaxSection #catalogSection .bx-pagination-container ul li:not(.bx-pag-next) span,
    body #main #ajaxSection #catalogSection .bx-pagination-container ul li:not(.bx-pag-next) a {
        min-width: 42px;
        width: 42px;
        height: 42px;
        line-height: 40px;
    }

    body #main #ajaxSection #catalogSection .bx-pagination-container ul li.bx-pag-next {
        display: flex;
        justify-content: center;
        width: 100%;
        margin: 4px 0 0;
    }

    body #main #ajaxSection #catalogSection .bx-pagination-container ul li.bx-pag-next a,
    body #main #ajaxSection #catalogSection .bx-pagination-container ul li.bx-pag-next span {
        height: 42px;
        line-height: 42px;
    }

    body #main #ajaxSection #catalogSection .bx-pagination-container ul li.bx-pag-next a {
        background: transparent;
        border: 0;
        border-radius: 999px;
    }
}

/* End */


/* Start:/local/templates/.default/components/dresscode/catalog/catalog_template/style.min.css?17891160522211*/
#middleSlider {
	margin-bottom: 24px;
}

.panel-click.selected {
	pointer-events: none;
}

.items.productList {
	margin-bottom: 24px;
}

.removeFromWishlist {
	display: none;
}

/**
 * Строка сортировки над сеткой товаров под новый дизайн — в макете виден
 * только дропдаун сортировки, переключатели "показывать по"/"вид" (плитка/
 * список/таблица) не показаны, поэтому скрываем эти колонки по CSS, сама
 * функциональность (cookie CATALOG_SORT_TO/CATALOG_VIEW) не трогаем.
 * Figma: "Первый" (2drAlmqRQHLNW6gxgw2d7H), фрейм "Каталог".
 */
/*
 * Префикс "body " здесь не для красоты — у #catalogLine{...} и
 * #catalogLine .label{...} в template_styles.css (общий шаблон, грузится
 * ПОСЛЕ этого файла в компоновке Bitrix) те же по силе селекторы; без
 * дополнительного типового селектора спор по специфичности выигрывает
 * более поздний файл, и переопределение здесь молча не применяется.
 */
body #catalogLine {
	height: auto;
	margin-bottom: 24px;
	padding: 0;
	line-height: normal;
	border: none;
}

body #catalogLine .column:has(.countElements),
body #catalogLine .column:has(.viewList) {
	display: none;
}

body #catalogLine .column:last-child {
	float: right;
}

body #catalogLine .label {
	display: none;
}

body #catalogLine .dropDownList.sortFields {
	width: auto;
	height: 38px;
	line-height: 38px;
	border: 1px solid var(--color-border, #d9d9d9);
	border-radius: var(--radius-pill, 999px);
}

body #catalogLine .dropDownList.sortFields .dropDownSelected {
	height: 36px;
	padding: 0 32px 0 16px;
	color: var(--color-text, #2b2a29);
	font-size: 14px;
	font-family: inherit;
	line-height: 36px;
	border-radius: var(--radius-pill, 999px);
}

body #catalogLine .dropDownList.sortFields .dropDownItems {
	border-color: var(--color-border, #d9d9d9);
	border-radius: 12px;
}

/* End */


/* Start:/local/templates/.default/components/dresscode/catalog/catalog_template/bitrix/catalog.section.list/level2/style.min.css?17891187581676*/
/**
 * Список подкатегорий в сайдбаре страницы категории — визуально часть
 * "фильтра", хоть и отдельный компонент (bitrix:catalog.section.list,
 * шаблон level2). В макете это группа "Подкатегория" с теми же
 * плашками-пилюлями, что и остальные группы фильтра (см. также
 * bitrix:catalog.smart.filter/.default/style.css, .leftColumn #smartFilter).
 * Figma: "Первый" (2drAlmqRQHLNW6gxgw2d7H), фрейм "Каталог".
 */

body #nextSection {
	margin: 0 0 24px;
	border: none;
	border-radius: 0;
}

body #nextSection .title {
	margin-bottom: 12px;
	padding: 0;
	background: none;
	color: var(--color-text, #2b2a29);
	font-family: inherit;
	font-size: 14px !important;
	font-weight: 400;
	text-align: left;
	text-transform: none;
	border-bottom: none;
	cursor: default;
}

#nextSection ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: 0;
}

body #nextSection li {
	width: auto;
	border-bottom: none;
}

#nextSection .sectionLine {
	display: block;
	width: auto;
}

#nextSection .sectionColumn {
	display: block;
}

#nextSection .sectionColumn.last {
	display: none;
}

#nextSection li a {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 38px;
	padding: 8px 20px;
	color: var(--color-text, #2b2a29);
	font-size: 14px;
	line-height: 1.25;
	text-decoration: none;
	background: var(--color-bg-subtle, #f9f9f9);
	border-radius: var(--radius-pill, 999px);
}

#nextSection li a.selected {
	background: #c1ecf2;
}

/* End */


/* Start:/local/templates/dresscodeV2/components/bitrix/catalog.smart.filter/.default/style.css?179088790123440*/
#smartFilter {
	margin-top: 24px;
	border: 1px solid #e7e8ea;
	position: relative;
	border-radius: 4px;
}

#smartFilterForm {
	padding-bottom: 24px;
}

#smartFilter a {
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

#smartFilter span.heading {
	font-family: "robotobold";
	text-transform: uppercase;
	background: #f3f3f3;
	text-align: center;
	padding-left: 0px;
	cursor: pointer;
	font-size: 14px;
	color: #000000;
}

#smartFilter .paramsBox {
	border-bottom: 1px solid #e7e8ea;
	padding: 24px;
	position: relative;
	clear: both;
	font-size: 14px;
}

#smartFilter .paramsBoxTitle {
	display: inline-block;
	margin-bottom: 18px;
	position: relative;
	font-size: 14px;
	line-height: 20px;
}

#smartFilter .paramsBoxTitle span {
	cursor: pointer;
}

#smartFilter .propExpander {
	background: url(/local/templates/dresscodeV2/components/bitrix/catalog.smart.filter/.default/images/expander.png) 50% 8px no-repeat transparent;
	vertical-align: middle;
	display: inline-block;
	position: relative;
	line-height: 16px;
	cursor: pointer;
	height: 26px;
	width: 21px;
	top: 0px;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

#smartFilter .propExpander.expanded {
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
}

#smartFilter .showALL {
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

#smartFilter .showALL:active {
	position: relative;
	top: 1px;
}

#smartFilter .params {
	transition: all 0.2s ease;
	clear: both;
	opacity: 1;
}

#smartFilter .params.collapsed {
	display: block;
	margin-top: -18px;
	overflow: hidden;
	opacity: 0;
	max-height: 0;
}

#smartFilter .radio,
#smartFilter .checkbox {
	list-style: none;
	padding: 0;
	margin: 0;
}

#smartFilter .radio li,
#smartFilter .checkbox li {
	padding-bottom: 12px;
}

#smartFilter .radio label,
#smartFilter .checkbox label {
	-webkit-transition: all 0.1s;
	-o-transition: all 0.1s;
	transition: all 0.1s;
}

#smartFilter .radio .off,
#smartFilter .checkbox .off {
	display: none;
}

#smartFilter .radio li:last-child,
#smartFilter .checkbox li:last-child {
	padding-bottom: 0;
}

#smartFilter .disabled {
	cursor: default !important;
	color: #888;
}

#smartFilter .disabled .wrap {
	opacity: 0.6;
}

#smartFilter .dropdown {
	background-color: #ffffff;
	border: 1px solid #e7e8ea;
	position: relative;
	line-height: 13px;
	font-size: 13px;
	display: block;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	border-radius: 4px;
}

#smartFilter .checkedItem {
	padding: 12px 30px 12px 8px !important;
	border-radius: 4px;
	background: url(/local/templates/dresscodeV2/components/bitrix/catalog.smart.filter/.default/images/selectArrow.png) 97% 50% no-repeat transparent;
	display: block;
	cursor: pointer;
}

#smartFilter .dropdown label:before,
#smartFilter .checkboxList label:before {
	display: none;
}

#smartFilter .dropdownList {
	background-color: #ffffff;
	border: 1px solid #e7e8ea;
	position: absolute;
	list-style: none;
	margin: 0 -1px;
	opacity: 0;
	padding: 0;
	z-index: 2;
	top: 47px;
	right: 0;
	left: 0;
	visibility: hidden;
}

#smartFilter .dropdownList.opened {
	visibility: visible;
	opacity: 1;
}

#smartFilter .pics .dropdownList {
	top: 52px;
}

#smartFilter .dropdownList .item {
	padding: 8px !important;
	display: block;
}

#smartFilter .dropdownList .selected,
#smartFilter .dropdownList .item:hover {
	cursor: pointer;
	color: #ffffff;
}

#smartFilter .dropdown input {
	top: -44px;
}

#smartFilter .rangeSlider input[type="text"] {
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	background-color: #ffffff;
	border-color: #e7e8ea;
	border-radius: 4px;
	color: #888888;
	height: 26px;
	width: 80px;
}

#smartFilter .rangeSlider input[type="text"]:nth-of-type(1) {
	margin-right: 12px;
}

#smartFilter .rangeSlider label {
	display: inline-block;
	margin-right: 12px;
}

#smartFilter .slider {
	background: url(/local/templates/dresscodeV2/components/bitrix/catalog.smart.filter/.default/images/uiBg.png) 3px 0 repeat-x transparent;
	margin: 24px auto 0;
	position: relative;
	max-width: 300px;
	height: 54px;
	width: 100%;
}

#smartFilter .slider .trans {
	-webkit-transition:
		width 0.2s ease-in-out,
		visibility 0.2s linear;
	-moz-transition:
		width 0.2s ease-in-out,
		visibility 0.2s linear;
	-o-transition:
		width 0.2s ease-in-out,
		visibility 0.2s linear;
	transition:
		width 0.2s ease-in-out,
		visibility 0.2s linear;
}

#smartFilter .handler {
	position: absolute;
	cursor: pointer;
	height: 14px;
	width: 100%;
	top: 19px;
}

#smartFilter .slider .blackoutLeft,
#smartFilter .slider .blackoutRight {
	background: url(/local/templates/dresscodeV2/components/bitrix/catalog.smart.filter/.default/images/handler.png) 0 0 repeat-x transparent;
	position: absolute;
	height: 14px;
	width: 0;
	top: 0;
}

#smartFilter .slider .blackoutLeft {
	-webkit-border-top-left-radius: 4px;
	-webkit-border-bottom-left-radius: 4px;
	-moz-border-radius-topleft: 4px;
	-moz-border-radius-bottomleft: 4px;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
	left: 0px;
}

#smartFilter .slider .blackoutRight {
	-webkit-border-top-right-radius: 4px;
	-webkit-border-bottom-right-radius: 4px;
	-moz-border-radius-topright: 4px;
	-moz-border-radius-bottomright: 4px;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
	right: 0px;
}

#smartFilter .slider ins {
	background: url(/local/templates/dresscodeV2/components/bitrix/catalog.smart.filter/.default/images/motionButton.png) 0 0 no-repeat transparent;
	position: absolute;
	cursor: pointer;
	display: block;
	height: 34px;
	width: 34px;
	z-index: 10;
	top: -10px;
}

#smartFilter .slider ins:hover {
	background-position: -34px 0;
}

#smartFilter .slider ins:active {
	background-position: -68px 0;
}

#smartFilter .slider .left {
	right: -24px;
}

#smartFilter .slider .right {
	left: -24px;
}

#smartFilterControls {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	text-align: center;
	padding: 0px 12px;
	margin: 24px 0 0;
	overflow: hidden;
	list-style: none;
}

#smartFilterControls li {
	width: 48%;
	float: left;
}

#smartFilterControls li:last-child {
	float: right;
}

#set_filter,
#del_filter {
	line-height: 46px;
	font-size: 16px;
	height: 46px;
}

#set_filter {
	width: 100%;
	padding: 0;
	border: 0;
	cursor: pointer;
	font-family: inherit;
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;

	text-decoration: none;
	border-radius: 4px;
	font-size: 13px;
	display: block;
	color: #fff;
}

#set_filter:active {
	position: relative;
	top: 1px;
}

#del_filter {
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;

	background-color: #2b2b2b;
	text-decoration: none;
	border-radius: 4px;
	text-align: center;
	color: #ffffff;
	font-size: 13px;
	display: block;
	border: none;
}

#del_filter:hover {
	background-color: #1e1e1e;
}

#del_filter:active {
	position: relative;
	top: 1px;
}

#smartFilter .checkboxList {
	list-style: none;
	padding: 0;
	margin: 0;
}

#smartFilter .checkboxList li {
	padding-bottom: 12px;
	position: relative;
	cursor: pointer;
}

#smartFilter .checkboxList li:last-child {
	padding-bottom: 0;
}

#smartFilter .checkboxList label {
	padding-left: 0 !important;
	display: block;
	vertical-align: middle;
}

#smartFilter .checkboxList.inline li {
	display: inline-block;
}

#smartFilter .checkboxList input {
	top: 10px;
}

#smartFilter .checkboxList .icon,
#smartFilter .dropdown .icon {
	vertical-align: middle;
	border: 1px solid #e7e8ea;
	display: inline-block;
	margin-right: 12px;
	padding: 6px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	-webkit-transition: border-color 0.3s ease;
	-moz-transition: border-color 0.3s ease;
	-o-transition: border-color 0.3s ease;
	transition: border-color 0.3s ease;
}

#smartFilter .checkboxList .disabled .icon,
#smartFilter .dropdown .disabled .icon {
	border-color: #e7e8ea !important;
}

#smartFilter .checkboxList .icon .wrap,
#smartFilter .dropdown .icon .wrap {
	-webkit-background-size: contain;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: contain;
	vertical-align: middle;
	display: inline-block;
	height: 24px;
	width: 24px;
}

#smartFilter .dropdown .icon {
	padding: 4px;
}

#smartFilter .dropdown .icon .wrap {
	height: 20px;
	width: 20px;
}

#smartFilter .checkboxList .value,
#smartFilter .dropdown .value {
	vertical-align: middle;
	display: inline-block;
	line-height: 16px;
}

#smartFilter .filterCalendar {
	position: relative;
	display: block;
	float: left;
	width: 45%;
}

#smartFilter .filterCalendar + .filterCalendar {
	margin-left: 10%;
}

#smartFilter .filterCalendar .calendar-icon {
	position: absolute;
	top: 5px;
	right: 5px;
	z-index: 2;
	opacity: 0;
}

#smartFilter .filterCalendar .fakeCalendarIcon {
	position: absolute;
	top: 6px;
	right: 5px;
	z-index: 1;
	height: 20px;
	width: 20px;
	background-color: #ccc;
}

#smartFilter .filterCalendar input[type="text"] {
	background-color: #2d2d2d;
	border-color: #454545;
	padding-right: 30px;
	text-align: center;
	display: block;
	height: 32px;
	width: 100%;
}

#smartFilter .hint {
	display: inline-block;
	vertical-align: top;
	position: relative;
	margin-right: 6px;
	cursor: pointer;
	height: 18px;
	width: 18px;
}

#smartFilter .hint:hover {
	background-position: -18px 0;
}

#smartFilter .hintValue {
	background-color: #ffffff;
	border: 1px solid #e7e8ea;
	position: absolute;
	line-height: 18px;
	min-width: 250px;
	margin-top: 8px;
	font-size: 13px;
	cursor: default;
	display: none;
	padding: 16px;
	z-index: 3;
	top: 100%;
}

#smartFilter .hintValue .heading {
	line-height: 18px;
	font-size: 16px;
	margin: 0 0 8px;
	color: #fff;
	padding: 0;
}

#smartFilter .hintValue .close {
	text-decoration: none;
	position: absolute;
	font-size: 22px;
	cursor: pointer;
	z-index: 2;
	right: 6px;
	top: 6px;
}

#smartFilter button,
#smartFilter input,
#smartFilter select,
#smartFilter textarea {
	box-sizing: border-box;
}

#smartFilter button:focus,
#smartFilter input:focus,
#smartFilter select:focus,
#smartFilter textarea:focus {
	outline: none;
}

#smartFilter button,
#smartFilter select {
	text-transform: none;
}

#smartFilter button {
	overflow: visible;
}

#smartFilter input[type="submit"],
#smartFilter input[type="reset"],
#smartFilter button {
	cursor: pointer;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}

#smartFilter input[type="file"] {
	background: transparent;
	border: 1px solid transparent;
}

#smartFilter input[type="text"],
#smartFilter input[type="password"],
#smartFilter input[type="email"],
#smartFilter input[type="tel"],
#smartFilter input[type="url"],
#smartFilter textarea,
#smartFilter select {
	background: rgba(0, 0, 0, 0.5);
	border: 1px solid #373737;
	height: 42px;
	padding: 0px 8px;
	font-size: 13px;
	color: #fff;
	margin: 0;
}

#smartFilter textarea {
	padding: 4px 8px;
}

#smartFilter input[type="text"]:focus,
#smartFilter input[type="email"]:focus,
#smartFilter input[type="password"]:focus,
#smartFilter input[type="tel"]:focus,
#smartFilter input[type="url"]:focus,
#smartFilter textarea:focus,
#smartFilter select:focus {
	border-color: #cccccc;
}

#smartFilter input[type="checkbox"] + label,
#smartFilter input[type="radio"] + label {
	cursor: pointer;
}

#smartFilter input[type="checkbox"]:not(checked),
#smartFilter input[type="radio"]:not(checked) {
	position: absolute;
	opacity: 0;
}

#smartFilter input[type="checkbox"]:not(checked) + label,
#smartFilter input[type="radio"]:not(checked) + label {
	position: relative;
	padding-left: 28px;
}

#smartFilter input[type="checkbox"] + label:before {
	background: url(/local/templates/dresscodeV2/components/bitrix/catalog.smart.filter/.default/images/checkBox.png) 0 0 no-repeat transparent;
}

#smartFilter input[type="radio"] + label:before {
	background: url(/local/templates/dresscodeV2/components/bitrix/catalog.smart.filter/.default/images/radio.png) 0 0 no-repeat transparent;
}

#smartFilter input[type="checkbox"]:not(checked) + label:before,
#smartFilter input[type="radio"]:not(checked) + label:before {
	position: absolute;
	content: " ";
	height: 17px;
	width: 17px;
	left: 0;
	top: 0px;
}

#smartFilter input[type="checkbox"]:not(checked) + label:hover:before,
#smartFilter input[type="radio"]:not(checked) + label:hover:before {
	background-position: 0 -17px;
}

#smartFilter input[type="checkbox"]:checked + label:before,
#smartFilter input[type="radio"]:checked + label:before {
	background-position: 0 -34px;
}

#smartFilter input[type="checkbox"]:checked + label:hover:before,
#smartFilter input[type="radio"]:checked + label:hover:before {
	background-position: 0 -51px;
}

#smartFilter input[type="checkbox"]:disabled + label,
#smartFilter input[type="radio"]:disabled + label {
	cursor: default;
}

#smartFilter input[type="checkbox"]:disabled + label:before,
#smartFilter input[type="radio"]:disabled + label:before {
	background-position: 0 -68px !important;
}

#smartFilter textarea {
	resize: vertical;
	overflow: auto;
	height: auto;
}

#smartFilter button::-moz-focus-inner,
#smartFilter input::-moz-focus-inner {
	padding: 0;
	border: 0;
}

#smartFilter input::-moz-placeholder,
#smartFilter textarea::-moz-placeholder {
	color: #fff;
}

#smartFilter input:focus::-moz-placeholder,
#smartFilter textarea:focus::-moz-placeholder {
	color: transparent;
}

#smartFilter input::-ms-input-placeholder,
#smartFilter textarea::-ms-input-placeholder {
	color: #fff;
}

#smartFilter input:focus::-webkit-input-placeholder,
#smartFilter textarea:focus::-webkit-input-placeholder {
	color: #fff;
}

#smartFilter input:focus::-webkit-input-placeholder {
	color: transparent;
}

#smartFilter textarea:focus::-webkit-input-placeholder {
	color: transparent;
}

#smartFilter input[type="search"] {
	-webkit-appearance: textfield;
}

#smartFilter input[type="search"]::-webkit-search-cancel-button,
#smartFilter input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

#modef {
	-webkit-transition: top 0.2s ease;
	-moz-transition: top 0.2s ease;
	-o-transition: top 0.2s ease;
	transition: top 0.2s ease;
	position: absolute;
	line-height: 38px;
	padding-left: 7px;
	text-align: center;
	font-size: 12px;
	width: 193px;
	height: 38px;
	left: 400px;
	color: #fff;
	z-index: 99;
}

#modef .close {
	background: url(/local/templates/dresscodeV2/components/bitrix/catalog.smart.filter/.default/images/closeModef.png) 0 0 no-repeat;
	vertical-align: middle;
	display: inline-block;
	margin-right: 8px;
	margin-top: -2px;
	height: 12px;
	width: 12px;
}

#modef .close:hover {
	opacity: 0.8;
}

#modef .close:active {
	position: relative;
	top: 1px;
}

#modef_send {
	margin-left: 8px;
	color: #ffffff;
}

#modef_send:hover {
	opacity: 0.9;
}

#modef_num {
	display: inline-block;
}

#modef_send {
	display: inline-block;
}

#smartFilter .elCount {
	text-decoration: none;
}

/**
 * Фильтр в сетке каталога под новый дизайн — скоуп через .leftColumn
 * (контейнер фильтра на странице категории, см. catalog_template/section.php).
 * Раскладка/классы фильтра общие для всех разделов каталога — правки тут
 * затрагивают фильтр везде, где используется bitrix:catalog.smart.filter/.default.
 * Figma: "Первый" (2drAlmqRQHLNW6gxgw2d7H), фрейм "Каталог".
 */
.leftColumn #smartFilter {
	margin-top: 0;
	border: 0;
	border-radius: 0;
}

.leftColumn #smartFilter > span.heading {
	display: none;
}

.leftColumn #smartFilterForm {
	padding-bottom: 0;
}

.leftColumn #smartFilter .paramsBox {
	padding: 0;
	margin-bottom: 24px;
	border-bottom: 0;
}

.leftColumn #smartFilter .paramsBoxTitle {
	padding: 0;
	margin-bottom: 12px;
	background: none;
}

.leftColumn #smartFilter .paramsBoxTitle span {
	color: var(--color-text, #2b2a29);
	font-size: 14px;
	font-weight: 400;
	text-transform: none;
}

.leftColumn #smartFilter .propExpander {
	display: none;
}

.leftColumn #smartFilter .params,
.leftColumn #smartFilter .params.collapsed {
	max-height: none;
	margin-top: 0;
	opacity: 1;
	overflow: visible;
}

/* цена: оставляем поля от/до, скрываем визуальный слайдер-полосу */
/* При ?region=... перед paramsBox появляется скрытый input, поэтому не :first-child. */
.leftColumn #smartFilter .paramsBox:first-of-type .rangeSlider {
	display: flex;
	align-items: center;
	gap: 8px;
}

.leftColumn #smartFilter .rangeSlider .slider {
	display: none;
}

.leftColumn #smartFilter .rangeSlider label {
	position: static;
	margin: 0;
	margin-right: 10px;
	color: var(--color-text, #2b2a29);
	font-size: 14px;
	font-weight: 400;
}

.leftColumn #smartFilter .rangeSlider input[type="text"] {
	box-sizing: border-box;
	width: 119px;
	height: 38px;
	padding: 0 14px;
	color: var(--color-text, #2b2a29);
	font-size: 14px;
	background: #ffffff;
	border: 1px solid var(--color-border, #d9d9d9);
	border-radius: var(--radius-card, 22px);
}

@media (max-width: 767px) {
	/* На самых узких экранах попап тоже должен оставаться внутри viewport. */
	.leftColumn #smartFilter {
		max-width: calc(100vw - 40px);
	}

	/* Оба поля делят оставшуюся ширину после подписей. */
	.leftColumn #smartFilter .rangeSlider input[type="text"] {
		flex: 1 1 0;
		min-width: 0;
		width: 0;
	}

	.leftColumn #smartFilter .rangeSlider input[type="text"]:nth-of-type(1) {
		margin-right: 0;
	}
}

/*
 * чекбоксы-теги: единый вид плашек вместо стандартного списка с чекбоксами.
 * .radio (case "K" RADIO_BUTTONS в template.php, напр. "Подкатегория") —
 * отдельная от .checkbox/.checkboxList ветка вёрстки фильтра, изначально
 * не была включена сюда, из-за чего плашки этого типа фильтра оставались
 * обычными подчёркнутыми ссылками без стиля.
 */
.leftColumn #smartFilter .checkbox,
.leftColumn #smartFilter .checkboxList,
.leftColumn #smartFilter .radio {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
}

.leftColumn #smartFilter .checkbox li,
.leftColumn #smartFilter .checkboxList li,
.leftColumn #smartFilter .radio li {
	width: auto;
	margin: 0;
	border: 0;
}

.leftColumn #smartFilter .checkbox li.off,
.leftColumn #smartFilter .checkboxList li.off,
.leftColumn #smartFilter .radio li.off {
	display: block;
}

.leftColumn #smartFilter .checkbox label,
.leftColumn #smartFilter .checkboxList label,
.leftColumn #smartFilter .radio label {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 38px;
	margin: 0;
	padding: 8px 20px;
	color: var(--color-text, #2b2a29);
	font-size: 14px;
	line-height: 1.25;
	text-decoration: none;
	background: var(--color-bg-subtle, #f9f9f9);
	border: 0;
	border-radius: var(--radius-pill, 999px);
	cursor: pointer;
}

.leftColumn #smartFilter .checkbox label::before,
.leftColumn #smartFilter .checkboxList label::before,
.leftColumn #smartFilter .radio label::before {
	content: none;
}

.leftColumn #smartFilter .checkbox input:checked + label,
.leftColumn #smartFilter .checkboxList input:checked + label,
.leftColumn #smartFilter .checkbox label.selected,
.leftColumn #smartFilter .checkboxList label.selected {
	background: #afe0ba;
}

.leftColumn #smartFilter .radio input:checked + label {
	background: #c1ecf2;
}

.leftColumn #smartFilter .elCount {
	margin-left: 4px;
	opacity: 0.6;
}

.leftColumn #smartFilter .checkbox li a.showALL,
.leftColumn #smartFilter .radio li a.showALL {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 8px 20px;
	color: var(--color-text, #2b2a29);
	font-size: 14px;
	background: none;
	border: 1px dashed var(--color-border, #d9d9d9);
	border-radius: var(--radius-pill, 999px);
}

/* кнопка "показать N товаров" */
.leftColumn #smartFilterControls {
	padding: 0;
	margin: 24px 0 0;
}

.leftColumn #smartFilterControls li {
	width: 100%;
	float: none;
}

.leftColumn #smartFilterControls li:last-child {
	float: none;
	margin-top: 8px;
	text-align: center;
}

.leftColumn #set_filter {
	display: block;
	height: 51px;
	color: #ffffff;
	font-size: 14px;
	line-height: 51px;
	background: var(--color-brand-green, #02ab26);
	border-radius: var(--radius-pill, 999px);
}

.leftColumn #del_filter {
	display: inline-block;
	height: auto;
	color: var(--color-text-muted, #a7a9ac);
	font-size: 13px;
	line-height: 1.5;
	background: none;
	text-decoration: underline;
}

.leftColumn #modef {
	/* Основная кнопка «Показать» доступна постоянно; всплывающий дубль
	   перекрывал карточки товаров после выбора свойства. */
	display: none !important;
}

.leftColumn #modef_send {
	color: #ffffff;
}

/*
 * Фильтр на телефоне и планшете (до 1024px). Здесь та же разметка, что в боковой
 * колонке на десктопе, но шаблон темы превращает её во всплывающую панель
 * (#catalogColumn #smartFilter: position:absolute, 300px, тень). Стили колонки
 * выше обнуляют отступы (.leftColumn #smartFilter .paramsBox {padding:0}),
 * из-за чего содержимое панели упиралось в её края, а поле «До» и кнопка
 * «Показать» — в границу. Оформляем панель как карточку: отступы, скругление,
 * тень, прокрутка внутри при высоком фильтре, компактные поля и кнопка.
 * "body " — чтобы перебить #catalogColumn #smartFilter из template_styles.css,
 * который грузится позже этого файла.
 */
@media (max-width: 1024px) {
	body #catalogColumn #smartFilter {
		box-sizing: border-box;
		width: min(360px, calc(100vw - 48px));
		max-width: none;
		max-height: calc(100vh - 140px);
		padding: 20px 18px 18px;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		background: #ffffff;
		border: 1px solid var(--color-border, #e6e6e6);
		border-radius: 18px;
		box-shadow: 0 12px 32px rgba(0, 0, 0, 0.16);
	}

	body #catalogColumn #smartFilter .paramsBox {
		margin-bottom: 18px;
	}

	body #catalogColumn #smartFilter .paramsBoxTitle {
		margin-bottom: 10px;
	}

	body #catalogColumn #smartFilter .paramsBoxTitle span {
		color: var(--color-text, #2b2a29);
		font-size: 14px;
	}

	body #catalogColumn #smartFilter .rangeSlider label {
		margin-right: 6px;
		font-size: 14px;
	}

	body #catalogColumn #smartFilter .rangeSlider input[type="text"] {
		height: 40px;
		padding: 0 12px;
		font-size: 14px;
		border-radius: 12px;
	}

	body #catalogColumn #smartFilter .checkbox label,
	body #catalogColumn #smartFilter .checkboxList label,
	body #catalogColumn #smartFilter .radio label {
		min-height: 36px;
		padding: 6px 16px;
		font-size: 14px;
	}

	body #catalogColumn #smartFilter #smartFilterControls {
		margin: 6px 0 0;
	}

	body #catalogColumn #smartFilter #set_filter {
		height: 46px;
		font-size: 15px;
		line-height: 46px;
		border: 0;
		box-shadow: none;
	}

	body #catalogColumn #smartFilter #del_filter {
		padding: 6px 0 2px;
		font-size: 13px;
	}
}

/* End */


/* Start:/local/templates/dresscodeV2/components/dresscode/catalog.item/.default/style.css?179094076211927*/
/**
 * Карточка товара в сетке каталога (squares) под новый дизайн.
 * Figma: "Первый" (2drAlmqRQHLNW6gxgw2d7H), фрейм "Каталог" (node 102:2444).
 * Скоуп через #catalogSection — карточка на этом id используется только
 * в сеточном виде каталога (dresscode:catalog.section, шаблон squares),
 * другие карточки (корзина, похожие товары, виджеты) не затрагиваются.
 * Функциональная разметка (рейтинг, метки, сравнение/избранное, степпер
 * количества, SKU-свойства) не удалена — только скрыта, чтобы не ломать
 * существующий JS/CSS сайта (см. .product .addCart.added + .quantityContainer
 * в template_styles.css, зависящий от соседства элементов в DOM).
 */

/*
 * 3 карточки в ряд (не 4) — в Figma карточка товара шире относительно
 * узкого сайдбара фильтра, чем у базового #catalog .product{width:25%}.
 * "body " нужен, т.к. #catalog .product живёт в template_styles.css,
 * который грузится позже этого файла — при равной специфичности (оба
 * "#id .class") без лишнего токена спор по каскаду проигран (см.
 * [[css_load_order_bitrix]]).
 */
body #catalogSection .product {
	width: 33.3333%;
	height: 370px;
	padding: 0 12px 12px 0;
	border-right: 0;
	border-bottom: 0;
}

#catalogSection .productList {
	border-left: 0;
}

#catalogSection .product::before {
	display: none;
}

#catalogSection .product .tabloid {
	height: 100%;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--color-border, #d9d9d9);
	border-radius: var(--radius-card, 22px);
}

/*
 * Базовый .product:hover .tabloid (template_styles.css) на ховере делает
 * position:absolute + height:auto — карточка "вырастает" и наезжает на
 * соседние. В новом дизайне карточка фиксированной высоты, этот эффект
 * не нужен — откатываем на обычную раскладку.
 */
#catalogSection .product:hover {
	position: static;
}

#catalogSection .product:hover .tabloid {
	position: relative;
	z-index: 1;
	width: auto;
	height: 100%;
	overflow: hidden;
}

#catalogSection .product .markerContainer,
#catalogSection .product .rating,
#catalogSection .product .optional,
#catalogSection .product .quantityContainer,
#catalogSection .product .skuProperty,
#catalogSection .product .skuProperty.oSkuDropDownProperty {
	display: none;
}

#catalogSection .product .productColImage {
	height: 165px;
}

#catalogSection .product .picture {
	height: 165px;
	line-height: 0;
}

#catalogSection .product .picture img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

#catalogSection .product .productColText {
	display: flex;
	flex-direction: column;
	position: relative;
	height: 100%;
	padding: 27px 28px 16px;
	overflow: hidden;
}

#catalogSection .product .dsArticle {
	flex: 0 0 auto;
	margin-bottom: 14px;
	color: var(--color-brand-green, #02ab26);
	font-size: 14px;
	line-height: 1.25;
}

/*
 * height (не max-height) — блок названия всегда резервирует одинаковую
 * высоту (под 3 строки), независимо от того, 1 строка там или 3. Иначе
 * .price ниже него оказывается на разной высоте в зависимости от длины
 * названия конкретного товара — карточки в одном ряду "плывут".
 */
#catalogSection .product .name {
	flex: 0 0 auto;
	height: 55px;
	margin-bottom: 21px;
	overflow: hidden;
	color: var(--color-text, #2b2a29);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

#catalogSection .product .middle {
	line-height: 1.3;
}

/*
 * .price всегда прижат к низу карточки через margin-top:auto — независимо
 * от того, сколько строк занимает название (1-3). Разделительная линия —
 * border-top ТОЛЬКО на .price (полная ширина колонки), не на .addCartContainer
 * отдельно, иначе при разной высоте элементов линия распадается на два
 * несовпадающих отрезка. Кнопка — position:absolute поверх этой же строки,
 * не участвует в потоке и не может вылезти за паддинг карточки.
 */
#catalogSection .product .price {
	flex: 0 0 auto;
	margin: auto 0 0;
	padding-top: 16px;
	padding-right: 50px;
	color: var(--color-text, #2b2a29);
	font-size: 18px;
	border-top: 1px solid var(--color-border, #d9d9d9);
}

#catalogSection .product .price .discount {
	display: block;
	font-size: 12px;
}

/*
 * top (не bottom) — .price может быть выше 1 строки (скрытый пустой
 * <s class="discount"> у товаров без скидки иногда всё равно занимает
 * место), поэтому bottom:16px "от низа .price" плавает и кнопка не
 * попадает в центр цифры цены. 143px = 27 (padding-top .productColText)
 * + 17.5 (.dsArticle) + 14 (margin-bottom .dsArticle) + 55 (высота .name)
 * + 21 (margin-bottom .name) + 16 (padding-top .price) + 1 (border-top
 * .price) + 21/2 (центр первой строки цены) − 19 (половина кнопки 38px).
 * Считалось по факту рендера (getBoundingClientRect), не на глаз.
 */
#catalogSection .product .addCartContainer {
	position: absolute;
	top: 143px;
	right: 28px;
	margin: 0;
	overflow: visible;
}

#catalogSection .product .dsAddCart {
	position: relative;
	width: 38px;
	height: 38px;
	padding: 0;
	background: none;
	border-radius: 50%;
}

#catalogSection .product .dsAddCart:hover,
#catalogSection .product .dsAddCart:active {
	background: none;
}

#catalogSection .product .dsAddCart .icon {
	display: none;
}

#catalogSection .product .dsAddCart span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 38px;
	height: 38px;
	margin: 0;
	padding: 0;
	background: url("/local/templates/dresscodeV2/components/dresscode/catalog.item/.default/../../../../images/design2/icon-add-cart-circle.svg") 50% 50% no-repeat;
	transform: translate(-50%, -50%);
	font-size: 0;
}

#catalogSection .product .dsAddCart.added span,
#catalogSection .product .dsAddCart.disabled span,
#catalogSection .product .dsAddCart.subscribe span,
#catalogSection .product .dsAddCart.requestPrice span {
	left: 50%;
	transform: translate(-50%, -50%);
}

@media all and (max-width: 790px) {
	/* Стрелки карусели подразделов не должны расширять страницу. */
	#sectionSubcats .scrollNav.prev {
		left: 0;
	}

	#sectionSubcats .scrollNav.next {
		right: 0;
	}

	/* Панель фильтра и сортировки состоит из float-колонок. Учитываем её
	   высоту, чтобы первый ряд карточек начинался на одной линии. */
	#catalogLine {
		display: flow-root;
		padding-bottom: 16px;
	}

	body #catalogSection .product {
		width: 50%;
	}

	#catalogSection .product .productTable {
		display: flex;
		flex-direction: column;
		height: 100%;
	}

	#catalogSection .product .productColImage {
		flex: 0 0 165px;
	}

	#catalogSection .product .productColText {
		box-sizing: border-box;
		flex: 1 1 auto;
		min-height: 0;
		height: auto;
		padding: 16px 14px 14px;
	}

	#catalogSection .product .middle {
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	#catalogSection .product .price {
		padding-top: 12px;
		padding-right: 0;
		font-size: 14px;
	}

	#catalogSection .product .price .measure {
		font-size: 14px;
	}
}

/*
 * Телефон (до 700px): в карточке сетки остаётся одна кнопка — «Подробнее».
 * Круглую кнопку корзины тема на этой ширине скрывает (.addCartContainer
 * display:none), а саму «Подробнее» показывает правилом
 * ".product .btn-simple {display:inline-block}" (template_styles.css) — это
 * осталось от старого дизайна, где у карточки не было кнопки корзины.
 * Высота карточки при этом фиксирована (370px), поэтому при названии в три
 * строки и цене в две кнопка вылезала за карточку и обрезалась. Поднимаем
 * высоту так, чтобы кнопка помещалась в самом длинном случае (3 строки
 * названия + цена с «/ шт» отдельной строкой), и приводим кнопку к виду
 * кнопок сайта (скругление, полная ширина колонки).
 * В избранном личного кабинета высоту карточек задаёт personal-cabinet.css
 * (height:auto на телефоне — карточка растёт по содержимому), эти правила её
 * не перебивают: специфичность там выше.
 */
@media all and (max-width: 700px) {
	body #catalogSection .product {
		height: 420px;
	}

	#catalogSection .product .btn-simple.add-cart {
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		height: 36px;
		margin-top: 10px;
		padding: 0 12px;
		color: var(--color-text, #2b2a29);
		font-size: 13px;
		line-height: 1;
		text-decoration: none;
		background: #ffffff;
		border: 1px solid var(--color-border, #d9d9d9);
		border-radius: 10px;
	}

	#catalogSection .product .btn-simple.add-cart:hover,
	#catalogSection .product .btn-simple.add-cart:focus-visible {
		color: var(--color-brand-green, #02ab26);
		background: #ffffff;
		border-color: var(--color-brand-green, #02ab26);
	}
}

/*
 * Товар добавлен в корзину: зелёный круг с белой галочкой вместо «чёрного круга
 * с плюсом». Тёмный фон давало общее правило темы ".addCart.added {background:
 * #2b2b2b !important}" (template_styles.css), рассчитанное на текстовые кнопки
 * старого дизайна, а плюс из фона span оставался прежним — было непонятно, что
 * товар уже в корзине. Здесь тоже !important, а перебиваем его специфичностью
 * (#catalogSection). Клик по кнопке в этом состоянии ведёт в корзину (href
 * подставляет system.js).
 */
body #catalogSection .product .dsAddCart.added,
body #catalogSection .product .dsAddCart.added:active {
	background: var(--color-brand-green, #02ab26) !important;
}

body #catalogSection .product .dsAddCart.added:hover {
	background: #029523 !important;
}

body #catalogSection .product .dsAddCart.added span {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.5 12.5l4.2 4.2L18.5 7.8' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50% 50% / 20px 20px no-repeat;
}

/* End */
/* /local/templates/dresscodeV2/css/catalog-infinite-scroll.css?17908783622540 */
/* /local/templates/.default/components/dresscode/catalog/catalog_template/style.min.css?17891160522211 */
/* /local/templates/.default/components/dresscode/catalog/catalog_template/bitrix/catalog.section.list/level2/style.min.css?17891187581676 */
/* /local/templates/dresscodeV2/components/bitrix/catalog.smart.filter/.default/style.css?179088790123440 */
/* /local/templates/dresscodeV2/components/dresscode/catalog.item/.default/style.css?179094076211927 */
