@font-face { font-family: "Open Sans"; src: url(/bitrix/js/ui/fonts/opensans/opensans-regular.woff) format("woff"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Open Sans"; src: url(/bitrix/js/ui/fonts/opensans/opensans-semibold.woff) format("woff"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Open Sans"; src: url(/bitrix/js/ui/fonts/opensans/opensans-bold.woff) format("woff"); font-weight: 700; font-style: normal; font-display: swap; }

/* Редизайн: шапка, подвал, мобильное меню. Префикс rd- — чтобы не пересекаться со старыми стилями. */
:root {
	--rd-blue: #365698;
	--rd-blue-dark: #2b467f;
	--rd-navy: #1d2d55;
	--rd-yellow: #ffd933;
	--rd-yellow-dark: #f2c900;
	--rd-red: #d92626;
	--rd-ink: #0b0b0b;
	--rd-muted: #5f7189;
	--rd-line: #e2e9f2;
	--rd-bg: #f3f7fb;
	--rd-radius: 6px;
}

/* ---------- общее ---------- */
.rd-wrap { width: 100%; margin: 0 auto; padding: 0 15px; }
@media (min-width: 576px)  { .rd-wrap { max-width: 540px; } }
@media (min-width: 768px)  { .rd-wrap { max-width: 720px; } }
@media (min-width: 992px)  { .rd-wrap { max-width: 960px; } }
@media (min-width: 1200px) { .rd-wrap { max-width: 1140px; } }

.rd-i { width: 18px; height: 18px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rd-util a, .rd-bar a, .rd-cats a, .rd-foot a, .rd-drawer a { text-decoration: none; }
.rd-logo { display: block; flex-shrink: 0; line-height: 0; }
.rd-logo img { height: 46px; width: auto; }

.rd-count {
	position: absolute; top: 2px; right: 4px;
	min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
	background: var(--rd-yellow); color: var(--rd-ink);
	font: 700 11px/18px "Open Sans", sans-serif; text-align: center;
}
.rd-count.is-zero { display: none; }

/* ---------- верхняя строка ---------- */
.rd-util { background: #fff; border-bottom: 1px solid var(--rd-line); font-size: 13px; color: var(--rd-muted); }
.rd-util__in { display: flex; align-items: center; gap: 22px; min-height: 40px; }
.rd-util__item { display: inline-flex; align-items: center; gap: 6px; color: var(--rd-muted); white-space: nowrap; }
.rd-util__item .rd-i { width: 15px; height: 15px; color: var(--rd-blue); }
a.rd-util__item:hover { color: var(--rd-blue); }
.rd-util__menu { margin-left: auto; }
.rd-util .line-menu > ul { display: flex; gap: 20px; margin: 0; padding: 0; list-style: none; }
.rd-util .line-menu li { position: relative; list-style: none; }
/* root-item-selected — пункт текущей страницы (так его помечает шаблон меню Битрикса) */
.rd-util .line-menu .root-item, .rd-util .line-menu .root-item-selected { display: inline-flex; align-items: center; gap: 3px; line-height: 40px; color: var(--rd-ink); font-weight: 600; white-space: nowrap; }
.rd-util .line-menu .root-item:hover, .rd-util .line-menu .root-item-selected { color: var(--rd-blue); }
.rd-util .line-menu .root-item-selected { box-shadow: inset 0 -2px 0 var(--rd-yellow); }
.rd-util .line-menu .item-selected > a { color: var(--rd-blue); font-weight: 600; }
.rd-util .line-menu .icon-angle-down { font-size: 12px; color: var(--rd-muted); }
.rd-util .line-menu .sub-menu {
	display: none; position: absolute; top: 100%; left: -16px; z-index: 30;
	min-width: 280px; margin: 0; padding: 8px 0; list-style: none;
	background: #fff; border-radius: var(--rd-radius); box-shadow: 0 12px 32px rgba(17, 40, 90, .16);
}
.rd-util .line-menu li:hover > .sub-menu { display: block; }
.rd-util .line-menu .sub-menu a { display: block; padding: 8px 16px; color: var(--rd-ink); font-size: 14px; line-height: 1.4; }
.rd-util .line-menu .sub-menu a:hover { background: var(--rd-bg); color: var(--rd-blue); }

/* ---------- основная (липкая) строка ---------- */
.rd-bar { position: sticky; top: 0; z-index: 9; background: var(--rd-blue); color: #fff; transition: box-shadow .2s; }
.rd-bar.is-stuck { box-shadow: 0 6px 20px rgba(11, 25, 60, .22); }
.rd-bar__in { display: flex; align-items: center; gap: 20px; min-height: 80px; }

.rd-icon { position: relative; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-width: 44px; height: 44px; color: #fff; }
.rd-icon .rd-i { width: 24px; height: 24px; stroke-width: 1.8; }
.rd-icon:hover { color: var(--rd-yellow); }
.rd-burger, .rd-only-m { display: none; }

.rd-catbtn {
	display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0;
	height: 48px; padding: 0 22px; border-radius: var(--rd-radius);
	background: var(--rd-yellow); color: var(--rd-ink);
	font: 16px/1 FuturaPT-Heavy, "Open Sans", sans-serif; letter-spacing: .06em; text-transform: uppercase;
}
.rd-catbtn:hover { background: var(--rd-yellow-dark); color: var(--rd-ink); }

.rd-search { position: relative; flex: 1 1 auto; min-width: 160px; margin: 0; }
.rd-search input {
	width: 100%; height: 48px; padding: 0 52px 0 16px; border: 2px solid transparent; border-radius: var(--rd-radius);
	background: #fff; color: var(--rd-ink); font: 15px "Open Sans", sans-serif; outline: none; -webkit-appearance: none; appearance: none;
}
.rd-search input::placeholder { color: #8796aa; }
.rd-search input:focus { border-color: var(--rd-yellow); }
.rd-search button { position: absolute; top: 0; right: 0; width: 48px; height: 48px; border: 0; background: none; color: var(--rd-blue); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.rd-search button .rd-i { width: 22px; height: 22px; }

.rd-phone { display: flex; flex-direction: column; flex-shrink: 0; line-height: 1.25; }
.rd-phone__main { color: #fff; font-size: 19px; font-weight: 700; white-space: nowrap; }
.rd-phone__second { color: rgba(255, 255, 255, .78); font-size: 13px; white-space: nowrap; }
.rd-phone a:hover { color: var(--rd-yellow); }

.rd-msg { display: flex; gap: 6px; flex-shrink: 0; }
.rd-msg a { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, .13); transition: background .15s; }
.rd-msg a:hover { background: rgba(255, 255, 255, .26); }
.rd-msg img { width: 18px; height: 18px; }

.rd-actions { display: flex; align-items: center; gap: 4px; flex-shrink: 0; padding: 0 !important; }
.rd-act { min-width: 64px; height: 56px; }
.rd-act em { margin-top: 3px; font-style: normal; font-size: 11px; line-height: 1; color: rgba(255, 255, 255, .8); }
.rd-act .rd-count { right: 14px; }

/* ---------- строка разделов ---------- */
.rd-cats { margin-bottom: 14px; background: #fff; border-bottom: 1px solid var(--rd-line); }
.rd-cats__in { display: flex; align-items: center; gap: 4px; min-height: 48px; overflow-x: auto; scrollbar-width: none; }
.rd-cats__in::-webkit-scrollbar { display: none; }
.rd-chip {
	display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0;
	height: 34px; padding: 0 12px; border-radius: 17px;
	color: var(--rd-ink); font-size: 14px; font-weight: 600; white-space: nowrap;
}
.rd-chip:hover { background: var(--rd-bg); color: var(--rd-blue); }
.rd-chip--sale { color: var(--rd-red); margin-right: 8px; }
.rd-chip--sale:hover { background: #fdeeee; color: var(--rd-red); }
.rd-chip--sale .rd-i { width: 16px; height: 16px; }
.rd-chip--cat { display: none; }

/* ---------- 992–1199 ---------- */
@media (max-width: 1199.98px) {
	.rd-util__item:first-child { display: none; }
	.rd-bar__in { gap: 14px; }
	.rd-logo img { height: 40px; }
	.rd-catbtn { padding: 0 16px; }
	.rd-act { min-width: 48px; }
	.rd-act em { display: none; }
	.rd-act .rd-count { right: 2px; }
	.rd-phone__main { font-size: 17px; }
	.rd-cats__in { gap: 0; }
	.rd-chip { padding: 0 9px; font-size: 13px; }
	.rd-chip--sale { margin-right: 4px; }
}

/* ---------- телефон и планшет ---------- */
@media (max-width: 991.98px) {
	.rd-util, .rd-catbtn, .rd-search, .rd-phone, .rd-msg, .rd-act.compare { display: none; }
	.rd-bar__in { min-height: 56px; gap: 4px; padding-left: 4px; padding-right: 4px; }
	.rd-burger, .rd-only-m { display: inline-flex; }
	.rd-logo { margin-right: auto; }
	.rd-logo img { height: 36px; }
	.rd-act { min-width: 44px; height: 44px; }
	.rd-act .rd-count { top: 0; right: 0; }

	.rd-cats__in { min-height: 56px; gap: 8px; }
	.rd-chip { height: 36px; padding: 0 14px; border: 1px solid var(--rd-line); background: #fff; font-size: 14px; }
	.rd-chip--cat { display: inline-flex; background: var(--rd-yellow); border-color: var(--rd-yellow); color: var(--rd-ink); }
	.rd-chip--cat:hover { background: var(--rd-yellow-dark); color: var(--rd-ink); }
	.rd-chip--sale { margin-right: 0; border-color: var(--rd-red); }
}

/* ---------- подвал ---------- */
footer.rd-foot { background: var(--rd-navy); color: rgba(255, 255, 255, .72); padding: 56px 0 0; font-size: 14px; line-height: 1.5; }
.rd-foot a { color: rgba(255, 255, 255, .86); }
.rd-foot a:hover { color: var(--rd-yellow); opacity: 1; }
.rd-foot__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.15fr 1.3fr; gap: 32px; padding-bottom: 40px; }

.rd-foot__brand p { margin: 18px 0 20px; color: rgba(255, 255, 255, .62); font-size: 13px; line-height: 1.6; }
.rd-social { display: flex; gap: 8px; }
.rd-social a { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(255, 255, 255, .1); }
.rd-social a:hover { background: rgba(255, 255, 255, .2); }
.rd-social img { width: 18px; height: auto; }

.rd-foot__title {
	display: flex; align-items: center; justify-content: space-between; width: 100%;
	margin: 0 0 16px; padding: 0; border: 0; background: none; cursor: default; text-align: left;
	color: #fff; font: 700 15px/1.3 "Open Sans", sans-serif; letter-spacing: .02em;
}
.rd-foot__title .rd-i { display: none; }
.rd-foot__col ul, .rd-foot__info { margin: 0; padding: 0; list-style: none; }
.rd-foot__col li { margin-bottom: 9px; }
.rd-foot__col a { font-size: 14px; }
.rd-foot .rd-foot__sale { color: #ff8a8a; }
.rd-foot .rd-foot__all { color: var(--rd-yellow); }

.rd-foot__phone { display: block; color: #fff !important; font-size: 22px; font-weight: 700; line-height: 1.2; white-space: nowrap; }
.rd-foot__phone:hover { color: var(--rd-yellow) !important; }
.rd-foot__phone--2 { margin-top: 10px; font-size: 17px; font-weight: 600; }
.rd-foot__note { font-size: 12px; color: rgba(255, 255, 255, .55); }
.rd-foot__info { margin: 14px 0 16px; }
.rd-foot__info li { margin-bottom: 6px; }

.rd-msgbtns { display: flex; flex-wrap: wrap; gap: 8px; }
.rd-msgbtn {
	display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 14px 0 12px;
	border: 1px solid rgba(255, 255, 255, .25); border-radius: 18px; color: #fff !important; font-size: 13px; font-weight: 600;
}
.rd-msgbtn:hover { background: rgba(255, 255, 255, .1); }
.rd-msgbtn img { width: 16px; height: 16px; }
/* в подвале колонка узкая: три кнопки разной ширины разваливались на две строки — ставим ровным столбиком */
.rd-foot .rd-msgbtns { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; max-width: 190px; }
.rd-foot .rd-msgbtn { justify-content: flex-start; }

.rd-foot__terms { display: flex; flex-wrap: wrap; gap: 6px 32px; padding: 16px 0; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13px; color: rgba(255, 255, 255, .62); }
.rd-foot__terms b { color: rgba(255, 255, 255, .86); font-weight: 600; }
.rd-foot__bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 24px; padding: 16px 0 24px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13px; color: rgba(255, 255, 255, .55); }
.rd-foot__bottom a { color: rgba(255, 255, 255, .75); }
.rd-foot__dev { margin-left: auto; }
.rd-foot__dev a { font-weight: 700; }

@media (max-width: 1199.98px) {
	.rd-foot__grid { grid-template-columns: 1.2fr 1fr 1fr 1.2fr; }
	.rd-foot__brand { grid-column: 1 / -1; display: flex; align-items: center; gap: 24px; }
	.rd-foot__brand p { margin: 0; flex: 1; }
}
@media (max-width: 991.98px) {
	.rd-foot__grid { grid-template-columns: 1fr 1fr 1fr; }
	.rd-foot__contacts { grid-column: 1 / -1; }
}

/* телефон: контакты первыми, меню — аккордеоны */
@media (max-width: 767.98px) {
	footer.rd-foot { padding-top: 32px; }
	.rd-foot__grid { display: flex; flex-direction: column; gap: 0; padding-bottom: 24px; }
	.rd-foot__contacts { order: -1; padding-bottom: 24px; }
	.rd-foot__phone { font-size: 24px; }
	.rd-msgbtn { height: 42px; padding: 0 16px 0 14px; border-radius: 21px; font-size: 14px; }
	.rd-foot .rd-msgbtns { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; } /* на телефоне — в ряд */
	.rd-foot .rd-msgbtn { justify-content: center; gap: 6px; padding: 0 8px; font-size: 13px; }
	.rd-foot__col { border-top: 1px solid rgba(255, 255, 255, .12); }
	.rd-foot__col .rd-foot__title { margin: 0; padding: 16px 0; cursor: pointer; font-size: 16px; }
	.rd-foot__col .rd-foot__title .rd-i { display: block; transition: transform .2s; }
	.rd-foot__col ul { display: none; padding-bottom: 12px; }
	.rd-foot__col.is-open ul { display: block; }
	.rd-foot__col.is-open .rd-foot__title .rd-i { transform: rotate(180deg); }
	.rd-foot__col li { margin: 0; }
	.rd-foot__col a { display: block; padding: 8px 0; font-size: 15px; }
	.rd-foot__brand { display: block; order: 10; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .12); }
	.rd-foot__brand p { margin: 14px 0 16px; }
	.rd-foot__terms, .rd-foot__bottom { flex-direction: column; }
	.rd-foot__dev { margin-left: 0; }
}

/* ---------- мобильное меню (#mobile) ---------- */
/* Старый bigSlide сдвигает body на ширину панели: страница становится вдвое шире,
   меню растягивается, крестик уезжает за экран. Панели и так перекрывают страницу — сдвиг не нужен. */
body.push { left: 0 !important; right: auto !important; }
#mobile.wrap-left { padding: 18px 0 40px; background: var(--rd-bg); }
.rd-drawer__title { margin-bottom: 18px; font: 24px/28px FuturaPT-Heavy, "Open Sans", sans-serif; color: var(--rd-ink); }
.rd-drawer__quick { display: grid; gap: 8px; margin-bottom: 20px; }
.rd-dq {
	position: relative; display: flex; align-items: center; gap: 12px; height: 52px; padding: 0 16px;
	border: 1px solid var(--rd-line); border-radius: var(--rd-radius); background: #fff;
	color: var(--rd-ink) !important; font-size: 16px; font-weight: 600;
}
.rd-dq .rd-i { width: 20px; height: 20px; }
.rd-dq--cat { background: var(--rd-yellow); border-color: var(--rd-yellow); }
.rd-dq--sale { color: var(--rd-red) !important; border-color: var(--rd-red); }
.rd-dq .rd-count { position: static; margin-left: auto; }

.rd-drawer__menu { margin-bottom: 24px; border-radius: var(--rd-radius); background: #fff; border: 1px solid var(--rd-line); }
.rd-drawer nav.mobile > ul { display: block; }
.rd-drawer nav.mobile .sub-menu { display: none; }
.rd-drawer nav.mobile > ul > li, .rd-drawer__extra > li { position: relative; margin: 0; border-bottom: 1px solid var(--rd-line); }
.rd-drawer nav.mobile ul li a, .rd-drawer__extra a { display: block; padding: 14px 52px 14px 16px; color: var(--rd-ink); font-size: 16px; font-weight: 600; line-height: 22px; border: 0 !important; background: none !important; }
.rd-drawer nav.mobile .icon-angle-down { display: none; }
.rd-drawer nav.mobile a.root-item-selected, .rd-drawer nav.mobile .item-selected > a { color: var(--rd-blue); }
.rd-drawer nav.mobile ul > :hover .sub-menu { display: none; }
.rd-drawer nav.mobile ul > li.is-open > .sub-menu { display: block; padding-bottom: 8px; }
.rd-drawer nav.mobile .sub-menu li { margin: 0; }
.rd-drawer nav.mobile .sub-menu a { padding: 9px 16px 9px 28px; font-size: 15px; font-weight: 400; color: #33435a; }
.rd-subtoggle { position: absolute; top: 0; right: 0; width: 52px; height: 50px; border: 0; background: none; color: var(--rd-muted); display: flex; align-items: center; justify-content: center; }
.rd-subtoggle .rd-i { width: 20px; height: 20px; transition: transform .2s; }
.is-open > .rd-subtoggle .rd-i { transform: rotate(180deg); }
.rd-drawer__extra { margin: 0; padding: 0; list-style: none; }
.rd-drawer__extra > li:last-child { border-bottom: 0; }

.rd-drawer__contacts { display: grid; gap: 10px; }
.rd-callbtn {
	display: flex; align-items: center; gap: 14px; padding: 12px 16px;
	border-radius: var(--rd-radius); background: var(--rd-blue); color: #fff !important;
}
.rd-callbtn .rd-i { width: 22px; height: 22px; }
.rd-callbtn span { font-size: 19px; font-weight: 700; line-height: 1.2; }
.rd-callbtn small { display: block; font-size: 12px; font-weight: 400; opacity: .8; }
.rd-callbtn--2 { background: #fff; color: var(--rd-ink) !important; border: 1px solid var(--rd-line); }
.rd-callbtn--2 .rd-i { color: var(--rd-blue); }
.rd-msgbtns--solid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.rd-msgbtns--solid .rd-msgbtn { justify-content: center; height: 44px; padding: 0 8px; border: 0; border-radius: var(--rd-radius); }
.rd-msgbtn--wa { background: #25d366; }
.rd-msgbtn--tg { background: #2aabee; }
.rd-msgbtn--max { background: #4b3be5; }
.rd-foot .rd-msgbtn--wa, .rd-foot .rd-msgbtn--tg, .rd-foot .rd-msgbtn--max { background: none; }
.rd-foot .rd-msgbtn:hover { background: rgba(255, 255, 255, .1); }
.rd-drawer__info { margin: 6px 0 0; padding: 0; list-style: none; font-size: 14px; color: var(--rd-muted); }
.rd-drawer__info li { margin-bottom: 6px; }
.rd-drawer__info a { color: var(--rd-blue); }

/* ---------- каталог (новое меню вместо старого полноэкранного #catalog) ---------- */
/* Компьютер: выпадает под синей строкой; слева разделы, справа подразделы наведённого раздела.
   Телефон/планшет: на весь экран, разделы → подразделы (назад — стрелкой), бренды раскрываются по стрелке. */
.js-rd-catalog .rd-i--close { display: none; }
html.rd-mega-open .js-rd-catalog .rd-i--grid { display: none; }
html.rd-mega-open .js-rd-catalog .rd-i--close { display: block; }
html.rd-mega-open .rd-bar { z-index: 1000; }
.rd-mega-overlay { display: none; position: fixed; inset: 0; z-index: 999; background: rgba(11, 25, 60, .45); }
html.rd-mega-open .rd-mega-overlay { display: block; }

.rd-mega { display: none; position: absolute; left: 0; right: 0; top: 100%; color: var(--rd-ink); font-family: "Open Sans", sans-serif; }
html.rd-mega-open .rd-mega { display: block; }
.rd-mega a { text-decoration: none; }
.rd-mega button { font: inherit; cursor: pointer; }
.rd-mega__box {
	display: flex; flex-direction: column; max-height: 70vh; overflow: hidden;
	background: #fff; border-radius: 0 0 10px 10px; box-shadow: 0 24px 48px rgba(11, 25, 60, .28);
}
.rd-mega__head { display: none; }
.rd-mega__cols { display: grid; grid-template-columns: 272px minmax(0, 1fr); flex: 1 1 auto; min-height: 0; }

.rd-mega__nav {
	display: flex; flex-direction: column; padding: 10px 0 16px; overflow-y: auto; overscroll-behavior: contain;
	background: var(--rd-bg); border-right: 1px solid var(--rd-line);
}
.rd-mega__l1 {
	position: relative; display: flex; align-items: center; gap: 10px; flex-shrink: 0;
	padding: 9px 16px 9px 22px; color: var(--rd-ink); font-size: 15px; font-weight: 600; line-height: 1.3;
}
.rd-mega__l1 span { flex: 1 1 auto; }
.rd-mega__l1 .rd-i { width: 16px; height: 16px; color: #a3b1c4; }
.rd-mega__l1:hover, .rd-mega__l1.is-active { background: #fff; color: var(--rd-blue); }
.rd-mega__l1.is-active::before { content: ""; position: absolute; left: 0; top: 5px; bottom: 5px; width: 4px; border-radius: 0 3px 3px 0; background: var(--rd-yellow); }
.rd-mega__l1.is-active .rd-i { color: var(--rd-blue); }
.rd-mega__l1--sale, .rd-mega__l1--sale:hover { color: var(--rd-red); }
.rd-mega__l1--sale .rd-i, .rd-mega__l1--all .rd-i { order: -1; color: inherit; }
.rd-mega__l1--sale { margin-bottom: 4px; }
.rd-mega__l1--all { margin-top: 4px; color: var(--rd-blue); }
.rd-mega__help { margin: auto 22px 0; padding-top: 18px; color: var(--rd-muted); font-size: 13px; line-height: 1.5; }
.rd-mega__help a { display: block; margin: 2px 0; color: var(--rd-ink); font-size: 17px; font-weight: 700; white-space: nowrap; }
.rd-mega__help a:hover { color: var(--rd-blue); }

.rd-mega__body { padding: 22px 30px 26px; overflow-y: auto; overscroll-behavior: contain; }
.rd-mega__sec { display: none; }
.rd-mega__sec.is-active { display: block; }
.rd-mega__sechead { display: flex; align-items: baseline; gap: 20px; margin-bottom: 20px; }
.rd-mega__title { color: var(--rd-ink); font: 26px/1.2 FuturaPT-Heavy, "Open Sans", sans-serif; }
.rd-mega__title:hover { color: var(--rd-blue); }
.rd-mega__all { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; color: var(--rd-blue); font-size: 14px; font-weight: 600; white-space: nowrap; }
.rd-mega__all .rd-i { width: 16px; height: 16px; }
.rd-mega__all:hover { color: var(--rd-blue-dark); }

.rd-mega__grid { columns: 3 230px; column-gap: 28px; }
.rd-mega__item { break-inside: avoid; padding-bottom: 18px; }
.rd-mega__row { display: flex; align-items: center; }
.rd-mega__l2 { display: flex; align-items: center; gap: 12px; flex: 1 1 auto; min-width: 0; color: var(--rd-ink); font-size: 15px; font-weight: 600; line-height: 1.3; }
.rd-mega__l2:hover { color: var(--rd-blue); }
.rd-mega__pic {
	display: flex; align-items: center; justify-content: center; flex: 0 0 64px; height: 48px; overflow: hidden;
	border: 1px solid var(--rd-line); border-radius: var(--rd-radius); background: #fff;
}
.rd-mega__pic img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rd-mega__pic--none { border-color: transparent; background: var(--rd-bg); }
.rd-mega__l2:hover .rd-mega__pic { border-color: #c5d3e6; }
.rd-mega__more { display: none; }
/* серии/бренды — отдельными плашками, чтобы названия из нескольких слов не сливались */
.rd-mega__l3 { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.rd-mega__l3 li { margin: 0; padding: 0; list-style: none; max-width: 100%; }
.rd-mega__l3 a {
	display: inline-block; max-width: 100%; padding: 4px 9px; border: 1px solid var(--rd-line); border-radius: 4px;
	background: #fff; color: #33435a; font-size: 13px; line-height: 17px;
	transition: border-color .15s, color .15s, background .15s;
}
.rd-mega__l3 a:hover { border-color: var(--rd-blue); background: #f2f6fc; color: var(--rd-blue); }

@media (max-width: 1199.98px) {
	.rd-mega__cols { grid-template-columns: 240px minmax(0, 1fr); }
	.rd-mega__body { padding: 20px 22px; }
}

/* телефон и планшет: на весь экран, два шага */
@media (max-width: 991.98px) {
	html.rd-mega-open, html.rd-mega-open body { overflow: hidden; }
	html.rd-mega-open .rd-mega-overlay { display: none; }
	.rd-mega { position: fixed; inset: 0; z-index: 1000; background: #fff; }
	.rd-mega__wrap { max-width: none; height: 100%; padding: 0; }
	.rd-mega__box { height: 100%; max-height: none !important; border-radius: 0; box-shadow: none; }
	.rd-mega__head { display: flex; align-items: center; flex: 0 0 56px; padding: 0 4px; border-bottom: 1px solid var(--rd-line); }
	.rd-mega__back, .rd-mega__close {
		display: flex; align-items: center; justify-content: center; flex: 0 0 48px; height: 48px;
		padding: 0; border: 0; background: none; color: var(--rd-ink);
	}
	.rd-mega__back .rd-i, .rd-mega__close .rd-i { width: 24px; height: 24px; }
	.rd-mega__back { visibility: hidden; }
	.rd-mega.is-sub .rd-mega__back { visibility: visible; }
	.rd-mega__htitle { flex: 1 1 auto; min-width: 0; overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; font: 19px/1.2 FuturaPT-Heavy, "Open Sans", sans-serif; }

	.rd-mega__cols { display: block; position: relative; overflow: hidden; }
	.rd-mega__nav, .rd-mega__body { position: absolute; inset: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; transition: transform .25s ease, visibility .25s; }
	.rd-mega__nav { padding: 0 0 24px; background: #fff; border-right: 0; }
	.rd-mega__body { padding: 0 16px 24px; background: #fff; transform: translateX(100%); visibility: hidden; }
	.rd-mega.is-sub .rd-mega__nav { transform: translateX(-30%); visibility: hidden; }
	.rd-mega.is-sub .rd-mega__body { transform: none; visibility: visible; }

	.rd-mega__l1 { min-height: 54px; padding: 12px 16px; border-bottom: 1px solid var(--rd-line); font-size: 16px; }
	.rd-mega__l1 .rd-i { width: 20px; height: 20px; }
	.rd-mega__l1:hover, .rd-mega__l1.is-active { background: none; color: var(--rd-ink); }
	.rd-mega__l1.is-active::before { display: none; }
	.rd-mega__l1.is-active .rd-i { color: #a3b1c4; }
	.rd-mega__l1--sale, .rd-mega__l1--sale:hover { margin: 0; color: var(--rd-red); }
	.rd-mega__l1--all, .rd-mega__l1--all:hover { margin: 0; color: var(--rd-blue); }
	.rd-mega__help { margin: 0; padding: 20px 16px 0; font-size: 14px; }
	.rd-mega__help a { font-size: 20px; }

	.rd-mega__sechead { display: block; margin: 0; }
	.rd-mega__title { display: none; }
	.rd-mega__all { display: flex; justify-content: space-between; height: 54px; margin: 0; border-bottom: 1px solid var(--rd-line); font-size: 16px; }
	.rd-mega__all .rd-i { width: 20px; height: 20px; }
	.rd-mega__grid { columns: auto; }
	.rd-mega__item { padding: 0; border-bottom: 1px solid var(--rd-line); }
	.rd-mega__l2 { min-height: 64px; padding: 8px 0; font-size: 16px; }
	.rd-mega__pic { flex-basis: 60px; height: 46px; }
	.rd-mega__more {
		display: flex; align-items: center; justify-content: center; flex: 0 0 48px; height: 48px; margin-right: -12px;
		padding: 0; border: 0; background: none; color: var(--rd-muted);
	}
	.rd-mega__more .rd-i { width: 22px; height: 22px; transition: transform .2s; }
	.rd-mega__item.is-open .rd-mega__more .rd-i { transform: rotate(180deg); }
	.rd-mega__l3 { display: none; gap: 8px; margin: 0; padding: 2px 0 16px; }
	.rd-mega__item.is-open .rd-mega__l3 { display: flex; }
	.rd-mega__l3 a {
		display: inline-flex; align-items: center; height: 36px; padding: 0 14px;
		border: 1px solid var(--rd-line); border-radius: 18px; color: var(--rd-ink); font-size: 14px; line-height: 1;
	}
}

/* ================= главная ================= */
.rd-home, .rd-catpage, .rd-prodpage { display: block; background: #fff; color: var(--rd-ink); font-family: "Open Sans", sans-serif; }
.rd-home a, .rd-catpage a, .rd-prodpage a { text-decoration: none; }
.rd-home h1, .rd-home h2, .rd-catpage h1, .rd-catpage h2, .rd-prodpage h1, .rd-prodpage h2, .rd-prodpage h3 { margin: 0; }
.rd-home button, .rd-catpage button, .rd-prodpage button { font-family: inherit; cursor: pointer; }

.rd-sec { padding: 56px 0; }
.rd-sec--alt { background: var(--rd-bg); }
.rd-sec__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.rd-sec__title { color: var(--rd-ink); font: 30px/1.2 FuturaPT-Heavy, "Open Sans", sans-serif; letter-spacing: normal; }
.rd-sec__more { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; color: var(--rd-blue); font-size: 15px; font-weight: 600; white-space: nowrap; }
.rd-sec__more .rd-i { width: 16px; height: 16px; transition: transform .2s; }
.rd-sec__more:hover { color: var(--rd-blue-dark); }
.rd-sec__more:hover .rd-i { transform: translateX(3px); }

/* карусель: прокрутка с привязкой + стрелки (rd-carousel в redesign.js) */
.rd-carousel { position: relative; }
.rd-carousel__track {
	display: flex; gap: 20px; overflow-x: auto; overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.rd-carousel__track::-webkit-scrollbar { display: none; }
.rd-carousel__track > * { flex: 0 0 auto; scroll-snap-align: start; }
.rd-carousel__btn {
	position: absolute; top: 50%; z-index: 2; display: flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; margin-top: -22px; padding: 0; border: 1px solid var(--rd-line); border-radius: 50%;
	background: #fff; color: var(--rd-ink); box-shadow: 0 4px 14px rgba(11, 25, 60, .14); transition: opacity .2s, color .15s;
}
.rd-carousel__btn .rd-i { width: 22px; height: 22px; }
.rd-carousel__btn:hover { color: var(--rd-blue); }
.rd-carousel__btn[disabled] { opacity: 0; pointer-events: none; }
.rd-carousel__prev { left: -22px; }
.rd-carousel__next { right: -22px; }
.rd-carousel.is-static .rd-carousel__btn, .rd-carousel.is-static .rd-carousel__dots { display: none; }

/* ---------- первый экран: слайдер + две плашки ---------- */
.rd-hero { padding: 24px 0 28px; background: var(--rd-bg); }
.rd-hero__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 20px; }
.rd-slider { overflow: hidden; border-radius: 10px; background: var(--rd-blue); }
.rd-slider .rd-carousel__track { gap: 0; height: 100%; }
.rd-slide { display: grid; grid-template-columns: 1fr 1fr; flex: 0 0 100% !important; min-height: 340px; color: #fff; }
.rd-slide__img { display: flex; align-items: center; justify-content: center; padding: 20px; background: #fff; }
.rd-slide__img img { width: auto; max-width: 100%; max-height: 300px; object-fit: contain; }
.rd-slide__text { display: flex; flex-direction: column; justify-content: center; padding: 32px 36px 76px; background: var(--rd-blue); }
.rd-slide__head { color: #fff; font: 30px/1.15 FuturaPT-Heavy, "Open Sans", sans-serif; }
.rd-slide__desc { margin-top: 12px; color: rgba(255, 255, 255, .88); font-size: 16px; line-height: 1.5; }
.rd-slide__btn {
	display: inline-flex; align-self: flex-start; align-items: center; gap: 8px; margin-top: 22px; height: 44px; padding: 0 20px;
	border-radius: var(--rd-radius); background: var(--rd-yellow); color: var(--rd-ink); font-size: 15px; font-weight: 700;
}
.rd-slide__btn .rd-i { width: 18px; height: 18px; }
.rd-slide:hover .rd-slide__btn { background: var(--rd-yellow-dark); }
.rd-slider .rd-carousel__btn { top: auto; bottom: 20px; margin: 0; width: 40px; height: 40px; border: 0; background: rgba(255, 255, 255, .16); color: #fff; box-shadow: none; }
.rd-slider .rd-carousel__btn:hover { background: rgba(255, 255, 255, .3); color: #fff; }
.rd-slider .rd-carousel__prev { left: auto; right: 68px; }
.rd-slider .rd-carousel__next { right: 20px; }
.rd-carousel__dots { position: absolute; left: calc(50% + 36px); bottom: 36px; z-index: 2; display: flex; gap: 6px; }
.rd-carousel__dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 4px; background: rgba(255, 255, 255, .4); transition: width .2s, background .2s; }
.rd-carousel__dots button.is-active { width: 24px; background: var(--rd-yellow); }

.rd-promos { display: grid; grid-template-rows: 1fr 1fr; gap: 20px; }
.rd-promo {
	position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; min-height: 160px; padding: 20px;
	overflow: hidden; border-radius: 10px; background-color: var(--rd-navy); background-position: center; background-size: cover;
	color: #fff; font: 21px/1.2 FuturaPT-Heavy, "Open Sans", sans-serif;
}
.rd-promo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(29, 45, 85, .1) 20%, rgba(29, 45, 85, .88) 100%); transition: background .2s; }
.rd-promo > * { position: relative; }
.rd-promo .rd-i { width: 24px; height: 24px; color: var(--rd-yellow); transition: transform .2s; }
.rd-promo:hover { color: #fff; }
.rd-promo:hover .rd-i { transform: translateX(4px); }

/* ---------- плитки разделов (блок со старой главной) ---------- */
.rd-groups { padding: 0 0 32px; background: var(--rd-bg); }
.rd-groups__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.rd-group {
	position: relative; display: block; min-height: 100px; padding: 14px 76px 16px 18px; overflow: hidden; border-radius: 10px;
	background: var(--rd-blue) no-repeat right 18px center; background-size: auto 56px;
	color: #fff; font-size: 16px; line-height: 1.45; transition: background-color .2s, transform .2s;
}
.rd-group::after { /* жёлтая полоса снизу при наведении — как на старом сайте */
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--rd-yellow);
	transform: scaleX(0); transition: transform .35s ease-in-out;
}
.rd-group:hover { background-color: var(--rd-blue-dark); color: #fff; }
.rd-group:hover::after { transform: scaleX(1); }
.rd-group:active { transform: scale(.97); }
.rd-group--1 { background-image: url(../img/sec1.svg); }
.rd-group--2 { background-image: url(../img/sec2.svg); }
.rd-group--4 { background-image: url(../img/sec4.svg); }
.rd-group--5 { background-image: url(../img/sec5.svg); }

/* ---------- разделы каталога ---------- */
.rd-cattiles { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; }
.rd-cattile {
	display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 16px 10px 14px; border-radius: 10px;
	background: var(--rd-bg); color: var(--rd-ink); text-align: center; transition: background .15s, box-shadow .15s, transform .15s;
}
.rd-cattile:hover { background: #fff; box-shadow: 0 10px 28px rgba(11, 25, 60, .12); color: var(--rd-blue); transform: translateY(-2px); }
.rd-cattile__img { display: flex; align-items: center; justify-content: center; width: 100%; height: 96px; }
.rd-cattile__img img { width: auto; max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.rd-cattile__name { font-size: 14px; font-weight: 700; line-height: 1.25; }
/* плитка «Весь каталог» — только на планшете, чтобы 14 разделов + она легли ровно в 3 ряда по 5 */
.rd-cattile--all { display: none; background: var(--rd-yellow); }
.rd-cattile--all .rd-i { width: 40px; height: 40px; stroke-width: 1.6; color: var(--rd-ink); }
.rd-cattile--all:hover { background: var(--rd-yellow-dark); color: var(--rd-ink); }

/* ---------- товары по акции ---------- */
.rd-products .rd-carousel__track { padding: 4px 2px 10px; margin: -4px -2px -10px; }
.rd-pcard {
	position: relative; display: flex; flex-direction: column; width: calc((100% - 60px) / 4); padding: 16px;
	border: 1px solid var(--rd-line); border-radius: 10px; background: #fff; transition: border-color .15s, box-shadow .15s;
}
.rd-pcard:hover { border-color: #c5d3e6; box-shadow: 0 10px 28px rgba(11, 25, 60, .1); }
.rd-pcard__badge { position: absolute; top: 14px; left: 14px; z-index: 1; padding: 3px 8px; border-radius: 4px; background: var(--rd-red); color: #fff; font-size: 13px; font-weight: 700; line-height: 1.3; }
.rd-pcard__cmp { position: absolute; top: 8px; right: 8px; z-index: 1; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; color: var(--rd-muted); }
.rd-pcard__cmp:hover { background: var(--rd-bg); color: var(--rd-blue); }
.rd-pcard__link { display: flex; flex-direction: column; flex: 1 1 auto; color: var(--rd-ink); }
.rd-pcard__img { display: flex; align-items: center; justify-content: center; height: 180px; margin: 6px 0 14px; }
.rd-pcard__img img { width: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.rd-pcard__cat { color: var(--rd-muted); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.rd-pcard__name { display: -webkit-box; margin-top: 4px; overflow: hidden; font-size: 15px; font-weight: 600; line-height: 1.35; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.rd-pcard__link:hover .rd-pcard__name { color: var(--rd-blue); }
.rd-pcard__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin: 14px 0; }
.rd-pcard__price s { color: var(--rd-muted); font-size: 14px; }
.rd-pcard__price b { color: var(--rd-ink); font-size: 20px; font-weight: 800; white-space: nowrap; }
.rd-pcard__buy {
	display: flex; align-items: center; justify-content: center; gap: 8px; height: 42px;
	border-radius: var(--rd-radius); background: var(--rd-yellow); color: var(--rd-ink); font-size: 15px; font-weight: 700;
}
.rd-pcard__buy:hover { background: var(--rd-yellow-dark); color: var(--rd-ink); }
.rd-pcard__buy .rd-i { width: 18px; height: 18px; }

/* ---------- сервис и поддержка ---------- */
.rd-services { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.rd-service { display: flex; flex-direction: column; align-items: flex-start; padding: 24px; border: 1px solid var(--rd-line); border-radius: 10px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.rd-service:hover { border-color: #c5d3e6; box-shadow: 0 10px 28px rgba(11, 25, 60, .08); }
.rd-service__icon { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-bottom: 18px; border-radius: 12px; background: var(--rd-yellow); color: var(--rd-ink); }
.rd-service__icon .rd-i { width: 26px; height: 26px; stroke-width: 1.8; }
.rd-service__title { color: var(--rd-ink); font: 20px/1.2 FuturaPT-Heavy, "Open Sans", sans-serif; }
.rd-service__title:hover { color: var(--rd-blue); }
.rd-service p { flex: 1 1 auto; margin: 10px 0 18px; color: var(--rd-muted); font-size: 14px; line-height: 1.5; }
.rd-service__link { display: inline-flex; align-items: center; gap: 6px; color: var(--rd-blue); font-size: 14px; font-weight: 600; line-height: 1.3; }
.rd-service__link .rd-i { width: 16px; height: 16px; flex-shrink: 0; }

/* ---------- статьи и новости ---------- */
.rd-acard { display: flex; flex-direction: column; width: calc((100% - 40px) / 3); overflow: hidden; border: 1px solid var(--rd-line); border-radius: 10px; background: #fff; color: var(--rd-ink); transition: box-shadow .15s; }
.rd-acard:hover { box-shadow: 0 10px 28px rgba(11, 25, 60, .1); color: var(--rd-ink); }
.rd-acard__img { display: block; aspect-ratio: 7 / 3; overflow: hidden; background: var(--rd-bg); }
.rd-acard__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.rd-acard:hover .rd-acard__img img { transform: scale(1.03); }
.rd-acard__body { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 22px; }
.rd-acard__date { color: var(--rd-muted); font-size: 13px; }
.rd-acard__name { font-size: 17px; font-weight: 700; line-height: 1.35; }
.rd-acard:hover .rd-acard__name { color: var(--rd-blue); }

.rd-ncard { display: flex; flex-direction: column; width: calc((100% - 60px) / 4); color: var(--rd-ink); }
.rd-ncard__img { display: block; aspect-ratio: 16 / 10; margin-bottom: 14px; overflow: hidden; border: 1px solid var(--rd-line); border-radius: 10px; background: #fff; }
.rd-ncard__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.rd-ncard:hover .rd-ncard__img img { transform: scale(1.03); }
.rd-ncard__name { font-size: 15px; font-weight: 600; line-height: 1.4; }
.rd-ncard:hover .rd-ncard__name { color: var(--rd-blue); }

/* ---------- «Поможем подобрать» ---------- */
.rd-cta { background: var(--rd-yellow); }
.rd-cta__in { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-top: 40px; padding-bottom: 40px; }
.rd-cta h2 { color: var(--rd-ink); font: 28px/1.2 FuturaPT-Heavy, "Open Sans", sans-serif; }
.rd-cta p { margin: 8px 0 0; color: rgba(11, 11, 11, .7); font-size: 15px; line-height: 1.5; }
.rd-cta__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 16px 24px; }
.rd-cta__phone { color: var(--rd-ink); font-size: 28px; font-weight: 800; white-space: nowrap; }
.rd-cta__phone:hover { color: var(--rd-blue-dark); }
.rd-cta__msg { display: flex; flex-wrap: wrap; gap: 8px; }
.rd-cta__msg a { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 16px 0 14px; border-radius: 22px; background: var(--rd-navy); color: #fff; font-size: 14px; font-weight: 600; }
.rd-cta__msg a:hover { background: var(--rd-blue); color: #fff; }
.rd-cta__msg img { width: 18px; height: 18px; }

/* ---------- текст о компании (свёрнут) ---------- */
.rd-about .rd-sec__title { margin-bottom: 20px; font-size: 26px; }
.rd-about__text { position: relative; max-height: 190px; overflow: hidden; color: #33435a; font-size: 15px; line-height: 1.65; }
.rd-about__text::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; background: linear-gradient(rgba(255, 255, 255, 0), #fff); }
.rd-about.is-open .rd-about__text { max-height: none; }
.rd-about.is-open .rd-about__text::after { display: none; }
.rd-about__text p, .rd-about__text li { font-size: inherit; line-height: inherit; }
/* старые .type ul li: отступ 75px, 16px/30px, маркер сбоку — здесь компактный список */
.rd-about__text.type ul { margin: 12px 0 16px; padding: 0; list-style: none; }
.rd-about__text.type ul li { display: block; position: relative; margin: 6px 0; padding: 0 0 0 22px; font-size: inherit; line-height: inherit; list-style: none; }
.rd-about__text.type ul li:before { content: ""; position: absolute; top: .7em; left: 4px; display: block; width: 6px; height: 6px; margin: 0; border-radius: 50%; background: var(--rd-blue); }
.rd-about__text h2 { margin: 24px 0 12px; color: var(--rd-ink); font: 22px/1.25 FuturaPT-Heavy, "Open Sans", sans-serif; }
.rd-about__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 18px; }
.rd-about__toggle { height: 42px; padding: 0 20px; border: 1px solid var(--rd-line); border-radius: var(--rd-radius); background: #fff; color: var(--rd-ink); font-size: 15px; font-weight: 600; }
.rd-about__toggle:hover { border-color: var(--rd-blue); color: var(--rd-blue); }
.rd-about__actions a { display: inline-flex; align-items: center; gap: 6px; color: var(--rd-blue); font-size: 15px; font-weight: 600; }
.rd-about__actions a .rd-i { width: 16px; height: 16px; }

@media (max-width: 1199.98px) {
	.rd-slide { min-height: 310px; }
	.rd-slide__head { font-size: 26px; }
	.rd-slide__text { padding: 28px 28px 72px; }
	.rd-carousel__dots { left: calc(50% + 28px); }
	.rd-promo { font-size: 19px; }
	.rd-group { padding-right: 64px; font-size: 15px; background-position: right 14px center; background-size: auto 48px; }
	.rd-cattile__name { font-size: 13px; }
	.rd-service { padding: 20px; }
}

/* планшет */
@media (max-width: 991.98px) {
	.rd-sec { padding: 40px 0; }
	.rd-sec__title { font-size: 25px; }
	.rd-hero { padding: 12px 0 20px; }
	.rd-hero__grid { grid-template-columns: 1fr; gap: 12px; }
	.rd-promos { grid-template-rows: none; grid-template-columns: 1fr 1fr; gap: 12px; }
	.rd-promo { min-height: 120px; padding: 16px; font-size: 17px; }
	.rd-groups { padding-bottom: 20px; }
	.rd-groups__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.rd-group { min-height: 84px; }
	.rd-cattiles { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.rd-cattile--all { display: flex; }
	.rd-pcard { width: calc((100% - 40px) / 3); }
	.rd-services { grid-template-columns: 1fr 1fr; }
	.rd-acard { width: calc((100% - 20px) / 2); }
	.rd-ncard { width: calc((100% - 40px) / 3); }
	.rd-carousel__btn { display: none; }
	.rd-slider .rd-carousel__btn { display: flex; }
	.rd-cta__in { flex-direction: column; align-items: flex-start; gap: 20px; }
	.rd-cta__actions { justify-content: flex-start; }
}

/* телефон */
@media (max-width: 767.98px) {
	.rd-sec { padding: 32px 0; }
	.rd-sec__head { flex-direction: column; align-items: flex-start; gap: 4px; margin-bottom: 16px; }
	.rd-sec__title { font-size: 22px; }
	.rd-sec__more { font-size: 14px; }
	/* карусели — до края экрана, чтобы было видно, что листаются */
	.rd-products .rd-carousel__track, .rd-articles .rd-carousel__track, .rd-news .rd-carousel__track {
		gap: 12px; margin: -4px -15px -10px; padding: 4px 15px 10px; scroll-padding: 0 15px;
	}

	.rd-slide { grid-template-columns: 1fr; grid-template-rows: 190px auto; min-height: 0; }
	.rd-slide__img { padding: 12px; }
	.rd-slide__img img { max-height: 166px; }
	.rd-slide__text { justify-content: flex-start; padding: 20px 20px 52px; }
	.rd-slide__head { font-size: 22px; }
	.rd-slide__desc { margin-top: 8px; font-size: 15px; }
	.rd-slide__btn { margin-top: 16px; height: 40px; padding: 0 16px; font-size: 14px; }
	.rd-slider .rd-carousel__btn { display: none; }
	.rd-carousel__dots { left: 20px; bottom: 22px; }
	.rd-promo { min-height: 96px; padding: 12px; font-size: 15px; }
	.rd-promo .rd-i { display: none; }

	.rd-groups__grid { gap: 8px; }
	.rd-group { min-height: 88px; padding: 10px 44px 12px 12px; font-size: 14px; line-height: 1.35; background-position: right 10px bottom 10px; background-size: auto 36px; }

	.rd-cattiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.rd-cattile--all { display: none; }
	.rd-cattile { flex-direction: row; gap: 8px; padding: 8px; text-align: left; }
	.rd-cattile__img { flex: 0 0 42px; width: 42px; height: 42px; }
	.rd-cattile__name { min-width: 0; font-size: 13px; overflow-wrap: anywhere; hyphens: auto; }
	.rd-cattile:hover { transform: none; }

	.rd-pcard { width: 70%; padding: 14px; }
	.rd-pcard__img { height: 150px; }
	.rd-pcard__price b { font-size: 18px; }

	.rd-services { grid-template-columns: 1fr 1fr; gap: 10px; }
	.rd-service { padding: 16px; }
	.rd-service__icon { width: 42px; height: 42px; margin-bottom: 12px; border-radius: 10px; }
	.rd-service__icon .rd-i { width: 22px; height: 22px; }
	.rd-service__title { font-size: 17px; }
	.rd-service p { margin: 6px 0 0; font-size: 13px; }
	.rd-service__link { display: none; }

	.rd-acard { width: 82%; }
	.rd-acard__body { padding: 14px 16px 18px; }
	.rd-acard__name { font-size: 16px; }
	.rd-ncard { width: 62%; }

	.rd-cta__in { padding-top: 28px; padding-bottom: 28px; }
	.rd-cta h2 { font-size: 22px; }
	.rd-cta__phone { font-size: 24px; }
	.rd-about .rd-sec__title { font-size: 22px; }
	.rd-about__text { max-height: 170px; font-size: 14px; }
}

/* =====================================================================
   Раздел каталога: заголовок, подразделы, фильтр, сортировка, товары
   (разметка — proto/category.html; фильтр — шаблон catalog.smart.filter/.default)
   ===================================================================== */
.rd-catpage { background: var(--rd-bg); }
/* хлебные крошки (на всех внутренних страницах) */
.breadcrumbs { margin: 4px 0 12px; }
.breadcrumbs ul { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 0; }
.breadcrumbs ul li { display: inline-flex; align-items: center; margin: 0; font-size: 13px; line-height: 20px; color: var(--rd-muted); }
.breadcrumbs ul li a { color: var(--rd-muted); }
.breadcrumbs ul li a:hover { color: var(--rd-blue); }
.breadcrumbs ul li ::after { margin: 0 8px; font-size: 11px; color: #a3b1c4; }
.breadcrumbs ul li:last-child ::after { display: none; }
@media (max-width: 767.98px) { /* на телефоне — одна строка с прокруткой вбок, а не три */
	.breadcrumbs ul { flex-wrap: nowrap; margin: 0 -15px; padding: 0 15px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
	.breadcrumbs ul::-webkit-scrollbar { display: none; }
	.breadcrumbs ul li { flex-shrink: 0; }
}

.rd-cat { padding: 0 0 48px; }
.rd-cat__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin-bottom: 16px; }
.rd-cat__title { color: var(--rd-ink); font: 34px/1.15 FuturaPT-Heavy, "Open Sans", sans-serif; }
.rd-cat__count { color: var(--rd-muted); font-size: 15px; white-space: nowrap; }

/* подразделы и подборки — чипы */
.rd-subs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 24px; }
.rd-sub {
	display: inline-flex; align-items: center; flex-shrink: 0; height: 36px; padding: 0 14px;
	border: 1px solid var(--rd-line); border-radius: 18px; background: #fff;
	color: var(--rd-ink); font-size: 14px; font-weight: 600; white-space: nowrap; transition: border-color .15s, color .15s;
}
.rd-sub:hover { border-color: var(--rd-blue); color: var(--rd-blue); }
.rd-sub.is-current { border-color: var(--rd-blue); background: var(--rd-blue); color: #fff; }
.rd-sub--tag { border-color: transparent; background: #e6edf6; font-weight: 400; }
.rd-subs__sep { flex: 0 0 1px; align-self: stretch; margin: 6px 4px; background: #c9d5e5; }

.rd-cat__layout { display: grid; grid-template-columns: 264px minmax(0, 1fr); gap: 24px; align-items: start; }
.rd-cat__layout > .rd-cat__main:first-child { grid-column: 1 / -1; }

/* панель над товарами */
.rd-cat__bar { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.rd-cat__fbtn {
	display: none; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border: 0; border-radius: 20px;
	background: var(--rd-blue); color: #fff; font-size: 14px; font-weight: 700;
}
.rd-cat__fnum { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--rd-yellow); color: var(--rd-ink); font-size: 12px; line-height: 20px; text-align: center; }
.rd-sort { display: flex; align-items: center; gap: 10px; margin: 0 0 0 auto; color: var(--rd-muted); font-size: 14px; font-weight: 400; }
.rd-sort__select {
	height: 40px; padding: 0 36px 0 14px; border: 1px solid var(--rd-line); border-radius: var(--rd-radius); cursor: pointer;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f7189' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 10px center / 16px;
	color: var(--rd-ink); font: 600 14px "Open Sans", sans-serif; -webkit-appearance: none; appearance: none;
}
.rd-sort__select:hover { border-color: #c5d3e6; }

/* выбранные условия фильтра */
.rd-active { display: flex; flex-wrap: wrap; gap: 8px; margin: -4px 0 16px; }
.rd-active[hidden] { display: none; }
.rd-active__chip {
	display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 8px 0 12px; border: 0; border-radius: 16px;
	background: #dfe8f4; color: var(--rd-ink); font-size: 13px; line-height: 1.2;
}
.rd-active__chip b { font-weight: 400; color: var(--rd-muted); }
.rd-active__chip .rd-i { width: 16px; height: 16px; color: var(--rd-muted); }
.rd-active__chip:hover { background: #cfdcee; }
.rd-active__chip:hover .rd-i { color: var(--rd-red); }
.rd-active__reset { height: 32px; padding: 0 8px; border: 0; background: none; color: var(--rd-blue); font-size: 13px; font-weight: 600; }
.rd-active__reset:hover { color: var(--rd-red); }

/* товары */
.rd-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rd-cards .rd-pcard { width: auto; }
.rd-pcard__badges { position: absolute; top: 12px; left: 12px; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.rd-pcard__badges .rd-pcard__badge { position: static; }
.rd-pcard__badge--new { background: var(--rd-blue); }
.rd-pcard__nophoto { width: 56px; height: 56px; stroke-width: 1.2; color: #c9d5e5; }
.rd-pcard__req { color: var(--rd-muted); font-size: 15px; font-weight: 600; }
.rd-pcard__buy--ghost { border: 1px solid var(--rd-line); background: #fff; color: var(--rd-blue); }
.rd-pcard__buy--ghost:hover { border-color: var(--rd-blue); background: #fff; color: var(--rd-blue); }
.rd-pcard__status { display: flex; align-items: center; justify-content: center; height: 42px; border-radius: var(--rd-radius); background: var(--rd-bg); color: var(--rd-muted); font-size: 14px; font-weight: 600; text-align: center; }
.rd-pcard--off .rd-pcard__img img { opacity: .55; filter: grayscale(1); }
.rd-pcard--off .rd-pcard__price { display: none; }
.rd-pcard--off .rd-pcard__status { margin-top: 14px; }
.rd-cat__empty { grid-column: 1 / -1; padding: 48px 24px; border: 1px dashed #c5d3e6; border-radius: 10px; background: #fff; color: var(--rd-muted); font-size: 15px; text-align: center; }
.rd-cat__empty b { display: block; margin-bottom: 6px; color: var(--rd-ink); font-size: 18px; }

/* «Показать ещё» и страницы */
.rd-pager { display: flex; flex-direction: column; align-items: center; gap: 20px; margin-top: 28px; }
.rd-more {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 260px; height: 48px; padding: 0 28px;
	border: 1px solid var(--rd-blue); border-radius: var(--rd-radius); background: #fff; color: var(--rd-blue); font-size: 15px; font-weight: 700;
}
.rd-more:hover { background: var(--rd-blue); color: #fff; }
.rd-more.is-loading { opacity: .6; pointer-events: none; }
.rd-pager__pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.rd-pager__num, .rd-pager__arrow {
	display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 6px;
	border-radius: var(--rd-radius); color: var(--rd-ink); font-size: 15px; font-weight: 600;
}
a.rd-pager__num:hover, .rd-pager__arrow:hover { background: #fff; color: var(--rd-blue); }
.rd-pager__num.is-current { background: var(--rd-blue); color: #fff; }

/* ---------- фильтр ---------- */
.rd-cat__side { border: 1px solid var(--rd-line); border-radius: 10px; background: #fff; }
.rd-filter__head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--rd-line); }
.rd-filter__title { margin-right: auto; color: var(--rd-ink); font: 19px/1.2 FuturaPT-Heavy, "Open Sans", sans-serif; }
/* на компьютере «Сбросить» — здесь, у заголовка: внизу колонка узкая, «Показать N товаров» должна влезать целиком */
.rd-filter__reset { padding: 4px 0; border: 0; background: none; color: var(--rd-blue); font-size: 14px; font-weight: 600; }
.rd-filter__reset:hover { color: var(--rd-red); }
.rd-filter__reset[hidden], .rd-filter__close { display: none; }
.rd-cat__side .bx-filter-section { position: static; margin: 0; padding: 0; background: none; }
.rd-cat__side form.smartfilter { margin: 0; }
.rd-cat__side .filter-section { position: relative; margin: 0; padding: 0 16px; border-bottom: 1px solid var(--rd-line); opacity: 1; }
.rd-cat__side .hide-check { opacity: 1; }
.rd-cat__side .bx-filter-parameters-box-title {
	display: flex; align-items: center; gap: 8px; margin: 0; padding: 14px 0;
	color: var(--rd-ink); font: 700 15px/1.3 "Open Sans", sans-serif;
}
.rd-cat__side .price-filter { padding-bottom: 4px; }
.rd-fhead { cursor: pointer; user-select: none; -webkit-user-select: none; }
.rd-fhead::after {
	content: ""; flex-shrink: 0; width: 8px; height: 8px; margin: -4px 4px 0 auto;
	border-right: 2px solid #8a9ab0; border-bottom: 2px solid #8a9ab0; transform: rotate(45deg); transition: transform .2s;
}
.bx-active > .rd-fhead::after { margin-top: 4px; transform: rotate(-135deg); }
.rd-fhead:hover { color: var(--rd-blue); }
.rd-fhead:focus-visible { outline: 2px solid var(--rd-blue); outline-offset: 2px; }
.rd-fcount { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--rd-blue); color: #fff; font-size: 12px; font-weight: 700; line-height: 20px; text-align: center; }
.rd-cat__side .bx_filter_parameters_box_hint { display: inline-flex; color: #a3b1c4; font-size: 15px; }
.rd-cat__side .bx_filter_container_modef { display: none; }

.rd-cat__side .filter-params { display: none; margin: 0; padding: 0 0 12px; }
.rd-cat__side .bx-active > .filter-params { display: block; }
.rd-cat__side .bx-filter-block { margin: 0; }
.rd-cat__side .filter-params .checkbox { display: block; margin: 0; transform: none; transition: none; }
.rd-cat__side .checkbox input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.rd-cat__side .bx-filter-parameters-box .checkbox label,
.rd-cat__side .bx-filter-parameters-box .checkbox label:hover,
.rd-cat__side .bx-filter-parameters-box .checkbox input:checked + label,
.rd-cat__side .bx-filter-parameters-box .checked label {
	display: flex; align-items: flex-start; gap: 10px; width: 100%; margin: 0; padding: 6px 0;
	border: 0; background: none; color: var(--rd-ink); font-size: 14px; line-height: 20px; cursor: pointer;
}
.rd-cat__side .checkbox label::before {
	content: ""; flex: 0 0 18px; height: 18px; margin-top: 1px; border: 1.5px solid #b4c2d6; border-radius: 4px;
	background: #fff no-repeat center / 12px; transition: background-color .12s, border-color .12s;
}
.rd-cat__side .checkbox label:hover::before { border-color: var(--rd-blue); }
.rd-cat__side .checkbox input:checked + label::before {
	border-color: var(--rd-blue); background-color: var(--rd-blue);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 12 10 17 19 7'/%3E%3C/svg%3E");
}
.rd-cat__side .checkbox input:focus-visible + label::before { outline: 2px solid var(--rd-blue); outline-offset: 2px; }
.rd-cat__side .checkbox.is-disabled label { color: #a3b1c4; }
.rd-cat__side .checkbox.is-disabled label::before { border-color: #dbe3ee; }
.rd-cat__side .checkbox.is-extra { display: none; }
.rd-cat__side .is-all .checkbox.is-extra { display: block; }
.rd-fmore { margin: 2px 0 0 28px; padding: 4px 0; border: 0; background: none; color: var(--rd-blue); font-size: 14px; font-weight: 600; }
.rd-fmore:hover { color: var(--rd-blue-dark); text-decoration: underline; }

/* цена: ползунок ion.rangeSlider (skin round) и поля «от / до» */
.rd-cat__side .price-filter + .bx-filter-block { padding: 0 0 16px; }
.rd-cat__side .irs--round { height: 28px; }
.rd-cat__side .irs--round .irs-line, .rd-cat__side .irs--round .irs-bar { top: 12px; height: 4px; }
.rd-cat__side .irs--round .irs-bar { background: var(--rd-blue); }
.rd-cat__side .irs--round .irs-handle { top: 4px; width: 20px; height: 20px; border: 3px solid var(--rd-blue); background: #fff; box-shadow: 0 2px 6px rgba(11, 25, 60, .2); cursor: grab; }
.rd-cat__side .irs--round .irs-handle:hover, .rd-cat__side .irs--round .irs-handle.state_hover { background: var(--rd-yellow); }
.rd-cat__side .irs--round .irs-min, .rd-cat__side .irs--round .irs-max,
.rd-cat__side .irs--round .irs-from, .rd-cat__side .irs--round .irs-to, .rd-cat__side .irs--round .irs-single { display: none; }
.rd-cat__side .price-filter + .bx-filter-block .row { display: flex; gap: 8px; margin: 4px 0 0; }
.rd-cat__side .price-filter + .bx-filter-block .col { flex: 1 1 0; min-width: 0; padding: 0; }
.rd-cat__side .bx-filter-input-container { position: relative; }
.rd-cat__side .bx-filter-input-container::before { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--rd-muted); font-size: 13px; pointer-events: none; }
.rd-cat__side .row .col:first-child .bx-filter-input-container::before { content: "от"; }
.rd-cat__side .row .col:last-child .bx-filter-input-container::before { content: "до"; }
.rd-cat__side .catalog-filter .min-price, .rd-cat__side .catalog-filter .max-price {
	float: none; width: 100%; height: 38px; padding: 0 8px 0 32px; border: 1px solid var(--rd-line); border-radius: var(--rd-radius);
	background: #fff; color: var(--rd-ink); font-size: 14px; text-align: left;
}
.rd-cat__side .catalog-filter .min-price:focus, .rd-cat__side .catalog-filter .max-price:focus { border-color: var(--rd-blue); outline: 0; }
.rd-cat__side .catalog-filter .min-price::placeholder, .rd-cat__side .catalog-filter .max-price::placeholder { color: #9aa8bb; opacity: 1; }

/* кнопки — в конце фильтра; после первого изменения прилипают к низу экрана (на телефоне — всегда) */
.rd-cat__side .bx-filter-button-box { z-index: 3; padding: 12px 16px; border-radius: 0 0 10px 10px; background: #fff; }
.rd-cat__side.is-dirty .bx-filter-button-box { position: sticky; bottom: 0; box-shadow: 0 -6px 14px rgba(11, 25, 60, .08); }
.rd-cat__side .filter-btns { margin: 0; text-align: left; }
.rd-cat__side .filter-btns .bx-filter-parameters-box-container { display: flex; gap: 8px; }
.rd-cat__side .filter-btns .btn { margin: 0; height: 44px; border-radius: var(--rd-radius); font: 700 14px "Open Sans", sans-serif; text-transform: none; }
.rd-cat__side #set_filter { flex: 1 1 auto; min-width: 0; padding: 0 12px; background: var(--rd-yellow); color: var(--rd-ink); }
.rd-cat__side #set_filter:hover { background: var(--rd-yellow-dark); color: var(--rd-ink); }
.rd-cat__side #set_filter:disabled { opacity: .6; cursor: progress; }
.rd-cat__side #del_filter { display: none; flex: 0 0 auto; padding: 0 14px; border: 1px solid var(--rd-line) !important; background: #fff; color: var(--rd-muted); font-weight: 600; }
.rd-cat__side #del_filter:hover { border-color: var(--rd-blue) !important; color: var(--rd-blue); }
.rd-cat__side .btn:active { transform: none; }
.rd-cat__side .bx-filter-popup-result { display: none !important; }

/* статьи по теме и текст раздела */
.rd-about--cat { background: #fff; }
.rd-about--cat .rd-about__text > :first-child { margin-top: 0; }

@media (max-width: 1199.98px) {
	.rd-cat__layout { grid-template-columns: 240px minmax(0, 1fr); gap: 20px; }
	.rd-cards { gap: 12px; }
	.rd-cards .rd-pcard { padding: 14px; }
	.rd-cards .rd-pcard__img { height: 150px; }
	.rd-cards .rd-pcard__price b { font-size: 18px; }
	.rd-cards .rd-pcard__buy { font-size: 14px; }
	.rd-cat__side .bx-filter-input-container::before { left: 8px; font-size: 12px; }
	.rd-cat__side .catalog-filter .min-price, .rd-cat__side .catalog-filter .max-price { padding: 0 4px 0 26px; font-size: 13px; }
}

/* планшет и телефон: фильтр — панель на весь экран по кнопке «Фильтры» */
@media (max-width: 991.98px) {
	.rd-cat__title { font-size: 28px; }
	.rd-subs { flex-wrap: nowrap; margin: 0 -15px 12px; padding: 0 15px 4px; overflow-x: auto; scrollbar-width: none; }
	.rd-subs::-webkit-scrollbar { display: none; }
	.rd-cat__layout { display: block; }
	.rd-cat__bar { position: sticky; top: 56px; z-index: 5; margin: 0 -15px 12px; padding: 8px 15px; background: rgba(243, 247, 251, .96); }
	.rd-cat__fbtn { display: inline-flex; }
	.rd-sort__label { display: none; }

	.rd-cat__side {
		position: fixed; inset: 0; z-index: 1001; display: flex; flex-direction: column;
		border: 0; border-radius: 0; visibility: hidden; transform: translateX(-100%); transition: transform .25s ease, visibility .25s;
	}
	html.rd-filter-open { overflow: hidden; }
	html.rd-filter-open .rd-cat__side { visibility: visible; transform: none; }
	.rd-filter__head { flex-shrink: 0; height: 56px; padding: 0 4px 0 16px; }
	.rd-filter__title { font: 22px/1 FuturaPT-Heavy, "Open Sans", sans-serif; }
	.rd-filter__reset { display: none !important; } /* на телефоне ширины хватает — «Сбросить» внизу рядом с «Показать» */
	.rd-cat__side #del_filter { display: block; }
	.rd-filter__close { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 0; background: none; color: var(--rd-ink); }
	.rd-filter__close .rd-i { width: 24px; height: 24px; }
	.rd-cat__side .bx-filter { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
	.rd-cat__side .catalog-filter { display: block !important; }
	.rd-cat__side .bx-filter-button-box { position: sticky; bottom: 0; border-radius: 0; padding-bottom: max(12px, env(safe-area-inset-bottom)); box-shadow: 0 -6px 14px rgba(11, 25, 60, .08); }
	.rd-cat__side .bx-filter-parameters-box-title { padding: 16px 0; font-size: 16px; }
	.rd-cat__side .bx-filter-parameters-box .checkbox label { padding: 9px 0; font-size: 15px; }
	.rd-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
	.rd-cat { padding-bottom: 32px; }
	.rd-cat__head { margin-bottom: 12px; }
	.rd-cat__title { font-size: 24px; }
	.rd-cat__count { font-size: 13px; }
	.rd-sub { height: 34px; padding: 0 12px; font-size: 13px; }
	.rd-sort__select { max-width: 190px; }
	.rd-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.rd-cards .rd-pcard { padding: 10px; border-radius: 8px; }
	.rd-cards .rd-pcard__img { height: 120px; margin: 4px 0 10px; }
	.rd-cards .rd-pcard__cat { font-size: 11px; }
	.rd-cards .rd-pcard__name { font-size: 13px; line-height: 1.35; }
	.rd-cards .rd-pcard__price { flex-direction: column; gap: 0; margin: 10px 0; }
	.rd-cards .rd-pcard__price s { font-size: 12px; }
	.rd-cards .rd-pcard__price b { font-size: 16px; }
	.rd-cards .rd-pcard__req { font-size: 13px; }
	.rd-cards .rd-pcard__buy, .rd-cards .rd-pcard__status { height: 38px; gap: 6px; font-size: 13px; }
	.rd-cards .rd-pcard__buy .rd-i { width: 16px; height: 16px; }
	.rd-cards .rd-pcard__badges { top: 8px; left: 8px; }
	.rd-cards .rd-pcard__badge { padding: 2px 6px; font-size: 12px; }
	.rd-cards .rd-pcard__cmp { top: 2px; right: 2px; width: 34px; height: 34px; }
	.rd-more { width: 100%; min-width: 0; }
	.rd-pager__num, .rd-pager__arrow { min-width: 36px; height: 36px; font-size: 14px; }
}

/* =====================================================================
   Карточка товара (разметка — proto/product.html; в PHP — catalog.element/.default)
   ===================================================================== */
.rd-prodpage { background: var(--rd-bg); }
.rd-prod { padding: 0 0 24px; }
.rd-prod__top { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px; align-items: start; }
/* более короткая колонка (фото или цена) едет за прокруткой, если целиком помещается в окне (класс ставит redesign.js) */
@media (min-width: 992px) {
	.rd-prod__side.is-sticky, .rd-prod__top > .rd-gal.is-sticky { position: sticky; top: 96px; }
}

/* фото: лента с прокруткой (на телефоне листается пальцем), миниатюры, видео */
.rd-gal { min-width: 0; }
.rd-gal__main { position: relative; overflow: hidden; border: 1px solid var(--rd-line); border-radius: 12px; background: #fff; }
.rd-gal__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.rd-gal__track::-webkit-scrollbar { display: none; }
.rd-gal__slide { display: flex; flex: 0 0 100%; align-items: center; justify-content: center; aspect-ratio: 4 / 3; padding: 28px; scroll-snap-align: start; cursor: zoom-in; }
.rd-gal__slide img { width: auto; max-width: 100%; height: auto; max-height: 100%; object-fit: contain; }
.rd-gal__slide--empty { cursor: default; }
.rd-gal__slide--empty .rd-i { width: 96px; height: 96px; }
.rd-gal__nav {
	position: absolute; top: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-top: -22px;
	padding: 0; border: 1px solid var(--rd-line); border-radius: 50%; background: #fff; color: var(--rd-ink); box-shadow: 0 4px 14px rgba(11, 25, 60, .12);
	opacity: 0; transition: opacity .2s, color .15s;
}
.rd-gal__nav .rd-i { width: 22px; height: 22px; }
.rd-gal__prev { left: 12px; }
.rd-gal__next { right: 12px; }
.rd-gal__main:hover .rd-gal__nav, .rd-gal__nav:focus-visible { opacity: 1; }
.rd-gal__nav:hover { color: var(--rd-blue); }
.rd-gal__nav[disabled] { visibility: hidden; }
.rd-gal--single .rd-gal__nav, .rd-gal--single .rd-gal__count { display: none; }
.rd-gal__count { position: absolute; left: 12px; bottom: 12px; padding: 2px 10px; border-radius: 12px; background: rgba(11, 25, 60, .55); color: #fff; font-size: 13px; font-weight: 600; line-height: 20px; }
.rd-gal__zoom { position: absolute; top: 12px; right: 12px; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, .9); color: var(--rd-muted); pointer-events: none; }
.rd-gal__thumbs { display: flex; gap: 8px; margin-top: 12px; padding-bottom: 2px; overflow-x: auto; scrollbar-width: thin; }
.rd-gal__thumb {
	position: relative; display: flex; flex: 0 0 76px; align-items: center; justify-content: center; height: 76px; padding: 6px;
	border: 1px solid var(--rd-line); border-radius: 8px; background: #fff; cursor: pointer; transition: border-color .15s;
}
.rd-gal__thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rd-gal__thumb:hover { border-color: #c5d3e6; }
.rd-gal__thumb.is-active { border-color: var(--rd-blue); box-shadow: inset 0 0 0 1px var(--rd-blue); }
.rd-gal__thumb--video { padding: 0; overflow: hidden; background: var(--rd-navy); }
.rd-gal__thumb--video img { width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; opacity: .8; }
.rd-gal__thumb--video .rd-i { position: absolute; width: 30px; height: 30px; padding: 7px; border-radius: 50%; background: rgba(217, 38, 38, .92); color: #fff; fill: #fff; stroke: none; }

/* заголовок и метки */
.rd-prod__labels { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.rd-prod__labels:empty { display: none; }
.rd-label { padding: 3px 9px; border-radius: 4px; background: var(--rd-red); color: #fff; font-size: 13px; font-weight: 700; line-height: 1.35; }
.rd-label--new { background: var(--rd-blue); }
.rd-label--off { background: var(--rd-muted); }
.rd-prod__title { color: var(--rd-ink); font: 30px/1.2 FuturaPT-Heavy, "Open Sans", sans-serif; }
.rd-prod__sub { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 10px; color: var(--rd-muted); font-size: 14px; }
.rd-prod__sub:empty { display: none; }
.rd-prod__brand { color: var(--rd-blue); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }

/* блок покупки */
.rd-buy { margin-top: 20px; padding: 24px; border: 1px solid var(--rd-line); border-radius: 12px; background: #fff; }
.rd-buy__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; }
.rd-buy__price b { color: var(--rd-ink); font-size: 34px; font-weight: 800; line-height: 1.1; white-space: nowrap; }
.rd-buy__price s { color: var(--rd-muted); font-size: 18px; white-space: nowrap; }
.rd-buy__badge { align-self: center; padding: 3px 9px; border-radius: 4px; background: var(--rd-red); color: #fff; font-size: 14px; font-weight: 700; line-height: 1.35; white-space: nowrap; }
.rd-buy__price--req b { font-size: 26px; }
.rd-buy__actions { display: flex; gap: 10px; margin-top: 18px; }
.rd-buy__cart {
	display: flex; flex: 1 1 auto; align-items: center; justify-content: center; gap: 10px; height: 52px; border-radius: var(--rd-radius);
	background: var(--rd-yellow); color: var(--rd-ink); font-size: 16px; font-weight: 700;
}
.rd-buy__cart:hover { background: var(--rd-yellow-dark); color: var(--rd-ink); }
.rd-buy__cart .rd-i { width: 20px; height: 20px; }
.rd-buy__cmp {
	display: flex; flex: 0 0 auto; align-items: center; gap: 8px; height: 52px; padding: 0 16px;
	border: 1px solid var(--rd-line); border-radius: var(--rd-radius); color: var(--rd-ink); font-size: 14px; font-weight: 600;
}
.rd-buy__cmp:hover { border-color: var(--rd-blue); color: var(--rd-blue); }
.rd-buy__off { padding: 16px 18px; border-radius: 8px; background: var(--rd-bg); color: var(--rd-muted); font-size: 14px; line-height: 1.5; }
.rd-buy__off b { display: block; margin-bottom: 4px; color: var(--rd-ink); font-size: 20px; }

/* «Узнать цену» (старый обработчик #get-price a в add.js) */
.rd-getprice { margin-top: 16px; }
.rd-getprice__label { display: block; margin-bottom: 8px; color: var(--rd-muted); font-size: 14px; font-weight: 400; line-height: 1.45; }
.rd-getprice__row { display: flex; gap: 8px; }
.rd-getprice .form-input { flex: 1 1 auto; min-width: 0; height: 50px; padding: 0 14px; border: 1px solid var(--rd-line); border-radius: var(--rd-radius); background: #fff; font-size: 15px; }
.rd-getprice .form-input:focus { border-color: var(--rd-blue); outline: 0; }
.rd-getprice .form-input::placeholder { color: #9aa8bb; opacity: 1; }
.rd-getprice .form-input.hasError { border-color: var(--rd-red); }
.rd-getprice .rd-getprice__btn { display: flex; flex: 0 0 auto; align-items: center; height: 50px; margin: 0; padding: 0 20px; border-radius: var(--rd-radius); font-size: 15px; font-weight: 700; text-transform: none; }
.rd-getprice .btn:active { transform: none; }
.rd-getprice .error-mes span { color: var(--rd-red); font-size: 13px; }
.rd-getprice .thank-mes { color: #1f8a5b; font-weight: 600; }

/* мессенджеры */
.rd-ask { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--rd-line); }
.rd-ask__label { display: block; margin-bottom: 8px; color: var(--rd-muted); font-size: 13px; }
.rd-ask__btns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.rd-ask__btns a { display: flex; align-items: center; justify-content: center; gap: 8px; height: 42px; border-radius: 21px; background: var(--rd-navy); color: #fff; font-size: 14px; font-weight: 600; }
.rd-ask__btns a:hover { background: var(--rd-blue); color: #fff; }
.rd-ask__btns img { width: 18px; height: 18px; }

/* недорогая альтернатива */
.rd-alter { display: flex; align-items: center; gap: 12px; margin-top: 16px; padding: 12px; border: 1px solid #f5df7a; border-radius: 10px; background: #fffbe8; color: var(--rd-ink); }
.rd-alter:hover { border-color: var(--rd-yellow-dark); color: var(--rd-ink); }
.rd-alter__img { display: flex; flex: 0 0 64px; align-items: center; justify-content: center; height: 64px; padding: 4px; border-radius: 8px; background: #fff; }
.rd-alter__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rd-alter__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 2px; min-width: 0; }
.rd-alter__kicker { color: #8a6d00; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.rd-alter__name { font-size: 14px; font-weight: 600; line-height: 1.3; }
.rd-alter:hover .rd-alter__name { color: var(--rd-blue); }
.rd-alter__price b { font-weight: 800; }
.rd-alter__price s { margin-left: 8px; color: var(--rd-muted); font-size: 13px; }
.rd-alter > .rd-i { color: var(--rd-muted); }

.rd-buy__lead { margin: 18px 0 0; color: #33435a; font-size: 14px; line-height: 1.6; }
.rd-facts { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 16px; margin: 14px 0 0; font-size: 14px; line-height: 1.45; }
.rd-facts dt { color: var(--rd-muted); font-weight: 400; }
.rd-facts dd { margin: 0; color: var(--rd-ink); font-weight: 600; }
.rd-perks { display: grid; gap: 10px; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--rd-line); color: #33435a; font-size: 13px; line-height: 1.45; list-style: none; }
.rd-perks li { display: flex; align-items: flex-start; gap: 10px; }
.rd-perks .rd-i { margin-top: 1px; color: var(--rd-blue); }
.rd-perks a { color: var(--rd-blue); }

/* разделы: липкая навигация + блоки */
.rd-prodnav { position: sticky; top: 80px; z-index: 8; border-top: 1px solid var(--rd-line); border-bottom: 1px solid var(--rd-line); background: #fff; }
.rd-prodnav__in { display: flex; align-items: center; gap: 16px; }
.rd-prodnav__links { display: flex; flex: 1 1 auto; gap: 4px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.rd-prodnav__links::-webkit-scrollbar { display: none; }
.rd-prodnav__links a {
	display: flex; flex-shrink: 0; align-items: center; height: 54px; padding: 0 14px; border-bottom: 3px solid transparent;
	color: var(--rd-ink); font-size: 15px; font-weight: 600; white-space: nowrap;
}
.rd-prodnav__links a:hover { color: var(--rd-blue); }
.rd-prodnav__links a.is-active { border-bottom-color: var(--rd-yellow); }
.rd-prodnav__buy { display: flex; flex-shrink: 0; align-items: center; gap: 14px; visibility: hidden; opacity: 0; transition: opacity .2s, visibility .2s; }
.rd-prodnav__buy b { font-size: 18px; font-weight: 800; white-space: nowrap; }
.rd-prodpage.is-past-buy .rd-prodnav__buy { visibility: visible; opacity: 1; }
.rd-buybar__btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 40px; padding: 0 18px; border-radius: var(--rd-radius);
	background: var(--rd-yellow); color: var(--rd-ink); font-size: 14px; font-weight: 700; white-space: nowrap;
}
.rd-buybar__btn:hover { background: var(--rd-yellow-dark); color: var(--rd-ink); }
.rd-buybar { display: none; }

.rd-psecs { padding-top: 4px; padding-bottom: 48px; }
.rd-psec { margin-top: 20px; padding: 28px 32px; border: 1px solid var(--rd-line); border-radius: 12px; background: #fff; scroll-margin-top: 150px; }
.rd-psec__title { margin: 0 0 18px !important; color: var(--rd-ink); font: 24px/1.2 FuturaPT-Heavy, "Open Sans", sans-serif; }
.rd-text { position: relative; max-width: 880px; color: #33435a; font-size: 15px; line-height: 1.7; }
.rd-text p, .rd-text li, .rd-text td { color: inherit; font-size: inherit; line-height: inherit; }
.rd-text p { margin: 0 0 12px; }
.rd-text h2 { margin: 24px 0 12px; color: var(--rd-ink); font: 22px/1.25 FuturaPT-Heavy, "Open Sans", sans-serif; }
.rd-text h3 { margin: 20px 0 10px; color: var(--rd-ink); font-size: 18px; font-weight: 700; }
.rd-text a { color: var(--rd-blue); text-decoration: underline; text-underline-offset: 2px; }
.rd-text img { max-width: 100%; height: auto; }
.rd-text iframe { display: block; width: 100%; max-width: 720px; height: auto; aspect-ratio: 16 / 9; margin: 16px 0; border: 0; border-radius: 8px; background: #000; }
.rd-text.type ul { margin: 12px 0 16px; padding: 0; list-style: none; }
.rd-text.type ul li { display: block; position: relative; margin: 6px 0; padding: 0 0 0 22px; list-style: none; }
.rd-text.type ul li:before { content: ""; position: absolute; top: .7em; left: 4px; display: block; width: 6px; height: 6px; margin: 0; border-radius: 50%; background: var(--rd-blue); }
.rd-text.is-clamped { max-height: 520px; overflow: hidden; }
.rd-text.is-clamped::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 110px; background: linear-gradient(rgba(255, 255, 255, 0), #fff); }
.rd-more-text { margin-top: 12px; height: 42px; padding: 0 20px; border: 1px solid var(--rd-line); border-radius: var(--rd-radius); background: #fff; color: var(--rd-ink); font-size: 15px; font-weight: 600; }
.rd-more-text:hover { border-color: var(--rd-blue); color: var(--rd-blue); }

/* характеристики */
.rd-specs { columns: 2 360px; column-gap: 48px; }
.rd-specs__group { margin-bottom: 26px; break-inside: avoid; }
.rd-specs__group h3 { margin: 0 0 6px; color: var(--rd-muted); font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.rd-specs dl { margin: 0; }
.rd-specs dl > div { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 16px; padding: 9px 0; border-bottom: 1px solid #edf1f6; font-size: 14px; line-height: 1.45; }
.rd-specs dt { color: var(--rd-muted); font-weight: 400; }
.rd-specs dd { margin: 0; color: var(--rd-ink); font-weight: 600; }

/* комплектация */
.rd-kit { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.rd-kit__item { display: flex; align-items: center; gap: 12px; padding: 10px 14px 10px 10px; border: 1px solid var(--rd-line); border-radius: 10px; color: var(--rd-ink); }
a.rd-kit__item:hover { border-color: #c5d3e6; color: var(--rd-blue); }
.rd-kit__img { display: flex; flex: 0 0 56px; align-items: center; justify-content: center; height: 56px; }
.rd-kit__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rd-kit__name { flex: 1 1 auto; font-size: 14px; line-height: 1.35; }
.rd-kit__qty { color: var(--rd-muted); font-size: 14px; font-weight: 700; white-space: nowrap; }
.rd-kit__text { margin: 0; color: #33435a; font-size: 15px; line-height: 1.6; }

/* опции товара (свойство OPTIONS) */
.rd-opts { display: grid; gap: 10px; }
.rd-opt { display: flex; align-items: center; gap: 20px; padding: 16px 18px; border: 1px solid var(--rd-line); border-radius: 10px; }
.rd-opt__info { flex: 1 1 auto; min-width: 0; }
.rd-opt__name { color: var(--rd-ink); font-size: 15px; font-weight: 700; line-height: 1.35; overflow-wrap: break-word; }
.rd-opt__art { margin-left: 4px; color: var(--rd-muted); font-size: 13px; font-weight: 600; }
.rd-opt__desc { margin-top: 4px; color: #33435a; font-size: 14px; line-height: 1.5; }
.rd-opt__desc p { margin: 0; }
.rd-opt__buy { display: flex; flex: 0 0 auto; align-items: center; gap: 16px; }
.rd-opt__price { display: flex; flex-direction: column; align-items: flex-end; white-space: nowrap; }
.rd-opt__price s { color: var(--rd-muted); font-size: 13px; }
.rd-opt__price b { color: var(--rd-ink); font-size: 18px; font-weight: 800; }
.rd-opt__req { color: var(--rd-muted); font-size: 14px; font-weight: 600; white-space: nowrap; }
.rd-opt__add { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: var(--rd-radius); background: var(--rd-yellow); color: var(--rd-ink); font-size: 15px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.rd-opt__add:hover { background: var(--rd-yellow-dark); color: var(--rd-ink); }
.rd-opt__add .rd-i { width: 18px; height: 18px; }
@media (max-width: 767.98px) {
	.rd-opt { flex-direction: column; align-items: stretch; gap: 12px; padding: 14px; }
	.rd-opt__buy { justify-content: space-between; }
	.rd-opt__price { align-items: flex-start; }
}

/* документы */
.rd-docs { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; }
.rd-doc { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--rd-line); border-radius: 10px; color: var(--rd-ink); font-size: 14px; font-weight: 600; line-height: 1.35; }
.rd-doc .rd-i { width: 28px; height: 28px; color: var(--rd-red); stroke-width: 1.6; }
.rd-doc__name { flex: 1 1 auto; }
.rd-doc__ext { padding: 1px 6px; border: 1px solid var(--rd-line); border-radius: 4px; color: var(--rd-muted); font-size: 11px; font-weight: 700; }
.rd-doc:hover { border-color: var(--rd-blue); color: var(--rd-blue); }

@media (max-width: 1199.98px) {
	.rd-prod__top { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.rd-prod__title { font-size: 26px; }
	.rd-buy { padding: 20px; }
	.rd-buy__price b { font-size: 30px; }
	.rd-ask__btns a { gap: 6px; font-size: 13px; }
	.rd-psec { padding: 24px; }
}

/* планшет и телефон: заголовок → фото → покупка; внизу — панель «цена + В корзину» */
@media (max-width: 991.98px) {
	.rd-prod__top { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.rd-prod__side { display: contents; }
	.rd-prod__head { order: -1; }
	.rd-buy { margin-top: 0; }
	.rd-gal__nav { display: none; }
	.rd-prodnav { top: 56px; }
	.rd-prodnav__links a { height: 48px; padding: 0 12px; font-size: 14px; }
	.rd-prodnav__buy { display: none; }
	.rd-psec { scroll-margin-top: 120px; }
	.rd-buybar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; display: flex; align-items: center; gap: 12px;
		padding: 10px 15px max(10px, env(safe-area-inset-bottom)); background: #fff; box-shadow: 0 -6px 18px rgba(11, 25, 60, .12);
		visibility: hidden; transform: translateY(110%); transition: transform .25s ease, visibility .25s;
	}
	.rd-prodpage.is-past-buy .rd-buybar { visibility: visible; transform: none; }
	.rd-buybar__price { flex: 1 1 auto; min-width: 0; color: var(--rd-ink); font-size: 19px; font-weight: 800; }
	.rd-buybar__btn { height: 46px; padding: 0 20px; font-size: 15px; }
	html.rd-has-buybar footer.rd-foot { padding-bottom: 72px; }
}

@media (max-width: 767.98px) {
	.rd-prod__title { font-size: 22px; }
	.rd-prod__sub { font-size: 13px; }
	.rd-gal__main { margin: 0 -15px; border-width: 1px 0; border-radius: 0; }
	.rd-gal__slide { padding: 16px; }
	.rd-gal__zoom { display: none; }
	.rd-gal__thumbs { gap: 6px; margin-top: 8px; }
	.rd-gal__thumb { flex-basis: 56px; height: 56px; padding: 4px; }
	.rd-buy { margin: 0 -15px; padding: 18px 15px; border-width: 1px 0; border-radius: 0; }
	.rd-buy__price b { font-size: 28px; }
	.rd-buy__price s { font-size: 16px; }
	.rd-buy__cart, .rd-buy__cmp { height: 50px; }
	.rd-buy__cmp span { display: none; }
	.rd-buy__cmp { width: 50px; padding: 0; justify-content: center; }
	.rd-getprice__row { flex-direction: column; }
	.rd-getprice .rd-getprice__btn { justify-content: center; }
	.rd-ask__btns a { height: 44px; font-size: 13px; }
	.rd-psecs { padding-bottom: 32px; }
	.rd-psec { margin: 12px -15px 0; padding: 20px 15px; border-width: 1px 0; border-radius: 0; }
	.rd-psec__title { font-size: 20px; }
	.rd-text { font-size: 14px; }
	.rd-text.is-clamped { max-height: 420px; }
	.rd-specs dl > div { gap: 12px; font-size: 13px; }
	.rd-kit { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.rd-docs { grid-template-columns: minmax(0, 1fr); }
}

/* =====================================================================
   Корень каталога и поверки, «Акции», услуги поверки
   ===================================================================== */
.rd-roots { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.rd-root {
	position: relative; display: flex; flex-direction: column; overflow: hidden;
	border: 1px solid var(--rd-line); border-radius: 12px; background: #fff; color: var(--rd-ink); transition: border-color .15s, box-shadow .15s;
}
.rd-root:hover { border-color: #c5d3e6; box-shadow: 0 10px 28px rgba(11, 25, 60, .1); color: var(--rd-blue); }
.rd-root__img { display: flex; align-items: center; justify-content: center; height: 190px; padding: 20px; }
.rd-root__img img { max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .25s; }
.rd-root:hover .rd-root__img img { transform: scale(1.04); }
.rd-root__name { flex: 1 1 auto; padding: 0 48px 18px 18px; font-size: 16px; font-weight: 700; line-height: 1.3; }
.rd-root > .rd-i { position: absolute; right: 16px; bottom: 18px; width: 20px; height: 20px; color: var(--rd-muted); transition: transform .2s, color .2s; }
.rd-root:hover > .rd-i { color: var(--rd-blue); transform: translateX(3px); }

/* листинг без фильтра (поверка) — 4 в ряд; «Акции» — тоже */
@media (min-width: 1200px) {
	.rd-cat__layout > .rd-cat__main:first-child .rd-cards, .rd-cards--wide { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.rd-sub__n { margin-left: 6px; padding: 0 6px; border-radius: 9px; background: var(--rd-bg); color: var(--rd-muted); font-size: 12px; line-height: 18px; }
button.rd-sub { font: 600 14px "Open Sans", sans-serif; cursor: pointer; }
.rd-sub.is-current .rd-sub__n { background: rgba(255, 255, 255, .2); color: #fff; }
.rd-cards > .rd-pcard[hidden] { display: none; }

/* услуги поверки таблицей + блок «Есть вопросы» */
.rd-svc-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.rd-svc { overflow: hidden; border: 1px solid var(--rd-line); border-radius: 12px; background: #fff; }
.rd-svc__row { display: grid; grid-template-columns: minmax(0, 1fr) 170px 110px 120px; align-items: center; gap: 16px; padding: 14px 20px; border-top: 1px solid var(--rd-line); }
.rd-svc__row--head { border-top: 0; background: var(--rd-bg); color: var(--rd-muted); font-size: 13px; font-weight: 600; }
.rd-svc__row:not(.rd-svc__row--head):hover { background: #fafcfe; }
.rd-svc__name { color: var(--rd-ink); font-size: 15px; font-weight: 600; line-height: 1.35; }
a.rd-svc__name:hover { color: var(--rd-blue); }
.rd-svc__term { color: var(--rd-muted); font-size: 14px; line-height: 1.35; }
.rd-svc__price { color: var(--rd-ink); font-size: 17px; font-weight: 800; white-space: nowrap; }
.rd-svc__act { text-align: right; }
.rd-svc__btn { display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 0 18px; border-radius: var(--rd-radius); background: var(--rd-yellow); color: var(--rd-ink); font-size: 14px; font-weight: 700; }
.rd-svc__btn:hover { background: var(--rd-yellow-dark); color: var(--rd-ink); }
.rd-svc-help { padding: 22px; border-radius: 12px; background: var(--rd-navy); color: rgba(255, 255, 255, .8); font-size: 14px; line-height: 1.5; }
.rd-svc-help h2 { margin: 0 0 8px !important; color: #fff; font: 20px/1.2 FuturaPT-Heavy, "Open Sans", sans-serif; }
.rd-svc-help p { margin: 0 0 12px; color: inherit; font-size: inherit; line-height: inherit; }
.rd-svc-help__phone { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; color: #fff; font-size: 20px; font-weight: 800; }
.rd-svc-help__phone:hover { color: var(--rd-yellow); }
.rd-svc-help .rd-ask__btns { grid-template-columns: minmax(0, 1fr); }
.rd-svc-help .rd-ask__btns a { justify-content: flex-start; padding: 0 16px; background: rgba(255, 255, 255, .1); }
.rd-svc-help .rd-ask__btns a:hover { background: rgba(255, 255, 255, .2); }

/* =====================================================================
   Текстовые страницы (доставка, контакты, о компании, сервис, техподдержка…),
   статьи и новости, формы, пагинация — поверх старой разметки, только стили
   ===================================================================== */
.text-page, section.articles { margin: 0; padding: 0 0 56px; }
.text-page h1, section.articles h1 { margin: 0 0 20px; color: var(--rd-ink); font: 34px/1.15 FuturaPT-Heavy, "Open Sans", sans-serif; }
.text-page > .container > .row { row-gap: 20px; }
.text-page .text {
	padding: 32px 36px; border: 1px solid var(--rd-line); border-radius: 12px; background: #fff;
	color: #33435a; font-size: 15px; line-height: 1.7;
}
.text-page .text::after { content: ""; display: table; clear: both; }
.text-page .type p, .text-page .type li, .text-page .type td, .text-page .type div { font-size: 15px; line-height: 1.7; }
.text-page .type p { margin: 0 0 12px; color: #33435a; }
.text-page .type h2 { margin: 28px 0 12px; color: var(--rd-ink); font: 24px/1.25 FuturaPT-Heavy, "Open Sans", sans-serif; }
.text-page .type h3 { margin: 22px 0 10px; color: var(--rd-ink); font-size: 18px; font-weight: 700; line-height: 1.35; }
.text-page .type > :first-child, .text-page .type > div:first-child > :first-child { margin-top: 0; }
.text-page .type a { border: 0; color: var(--rd-blue); font-size: inherit; line-height: inherit; text-decoration: underline; text-decoration-color: rgba(54, 86, 152, .35); text-underline-offset: 2px; }
.text-page .type a:hover { color: var(--rd-blue-dark); border: 0; text-decoration-color: currentColor; }
.text-page .type img { max-width: 100%; height: auto; margin: 0 0 16px; border-radius: 8px; }
.text-page .type ul, .text-page .type ol { margin: 12px 0 16px; padding: 0; }
.text-page .type ul li, .text-page .type ol li { margin: 6px 0; padding: 0 0 0 26px; color: #33435a; font-size: 15px; line-height: 1.7; }
.text-page .type ul li:before { top: .72em; left: 6px; width: 6px; height: 6px; background: var(--rd-blue); }
.text-page .type ol li:before { left: 0; color: var(--rd-blue); font-weight: 700; }
.text-page .type table { width: 100%; margin: 12px 0 20px; border-collapse: collapse; font-size: 14px; }
.text-page .type table td, .text-page .type table th { padding: 10px 12px; border-bottom: 1px solid var(--rd-line); color: #33435a; font-size: 14px; line-height: 1.5; text-align: left; vertical-align: top; }
.text-page .type table thead th { background: var(--rd-bg); color: var(--rd-ink); font-weight: 700; }
.text-page .type table tbody tr:nth-child(even) { background: #fafcfe; }
.text-page .type blockquote { margin: 16px 0; padding: 14px 18px; border-left: 3px solid var(--rd-yellow); border-radius: 0 8px 8px 0; background: #fffbe8; }
.text-page .type iframe { max-width: 100%; border: 0; border-radius: 8px; }

/* боковое меню раздела */
.text-page .sidebar { position: sticky; top: 96px; padding: 8px; border: 1px solid var(--rd-line); border-radius: 12px; background: #fff; }
.text-page .sidebar nav ul { display: block; }
.text-page .sidebar nav ul li { margin: 0; }
.text-page .sidebar nav ul li a { display: block; padding: 10px 12px; border: 0; border-radius: 8px; color: var(--rd-ink); font-size: 14px; font-weight: 600; line-height: 1.35; }
.text-page .sidebar nav ul li a:hover { border: 0; background: var(--rd-bg); color: var(--rd-blue); }
.text-page .sidebar nav ul li a.selected { border: 0; background: var(--rd-blue); color: #fff; }

/* статьи и новости: списки карточками, страница статьи */
.category-articles { padding: 0; }
.category-articles > .row { row-gap: 20px; }
.category-articles .article-item { height: 100%; transform: none !important; }
.category-articles .article-item > a {
	display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--rd-line) !important; border-radius: 12px;
	background: #fff; color: var(--rd-ink); text-decoration: none !important; transition: box-shadow .15s;
}
.category-articles .article-item > a:hover { box-shadow: 0 10px 28px rgba(11, 25, 60, .1); }
.category-articles a .article-img { aspect-ratio: 7 / 3; overflow: hidden; background: var(--rd-bg); }
.category-articles a .article-img::after { display: none; }
.category-articles a .article-img img { display: block; width: 100%; height: 100%; margin: 0; border-radius: 0; object-fit: cover; transition: transform .3s; }
.category-articles a:hover .article-img img { transform: scale(1.03); }
.category-articles .article-item .news-date { margin: 16px 20px 0; padding: 0; background: none; color: var(--rd-muted); font-size: 13px; }
.category-articles .article-name { min-height: 0; margin: 6px 20px 20px; color: var(--rd-ink); font-size: 17px; font-weight: 700; line-height: 1.35; }
.category-articles a:hover .article-name { color: var(--rd-blue); }
.text-page .category-articles .article-item > a { border-bottom: 1px solid var(--rd-line) !important; }
.text-page .text:has(> .category-articles) { padding: 0; border: 0; background: none; }
.article-detail { padding-top: 0; }
.article-img-det { position: relative; left: auto; right: auto; top: auto; height: auto; aspect-ratio: 7 / 3; margin: -32px -36px 20px; border-radius: 12px 12px 0 0; }
.article-detail .news-date, .news-detail .news-date { display: inline-block; margin: 0 0 12px; padding: 0; background: none; color: var(--rd-muted); font-size: 13px; }

section.articles .category-articles > .row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; }
section.articles .category-articles > .row > [class*=col-] { width: auto; max-width: none; padding: 0; flex: none; }
/* новости и статьи сбоку; селекторы с .sidebar — старые правила main.min.css весомее (картинка во всю ширину, line-height 15px) */
.text-page .sidebar:not(:only-of-type) { position: static; }  /* два блока подряд не липнут, иначе второй наезжает на первый */
.text-page .sidebar { margin: 0; }  /* в main.min.css margin-bottom: 60px */
.text-page .sidebar + .sidebar { margin-top: 20px; }
.text-page .sidebar-title { margin: 6px 8px 8px; }
.text-page .sidebar-title a { display: inline-flex; align-items: center; gap: 8px; color: var(--rd-ink); font-size: 16px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.text-page .sidebar .sidebar-item { margin: 0; }
.text-page .sidebar .sidebar-item:active { transform: none; }
.text-page .sidebar .sidebar-item a { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 8px; color: var(--rd-ink); text-decoration: none; }
.text-page .sidebar .sidebar-item a:hover { background: var(--rd-bg); color: var(--rd-blue); }
.text-page .sidebar .sidebar-item a img { flex: 0 0 72px; width: 72px; min-width: 0; height: 54px; margin: 0; border-radius: 6px; background: var(--rd-bg); object-fit: cover; }
.text-page .sidebar .sidebar-item a .sidebar-name { min-width: 0; color: inherit; font-size: 13px; font-weight: 600; line-height: 1.35; overflow-wrap: break-word; }
.text-page .sidebar .sidebar-item a .sidebar-name:hover { color: inherit; }

/* пагинация (старая разметка) — как в каталоге */
.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 28px 0 0; }
.pagination a, .pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; margin: 0; padding: 0 6px; border: 0; border-radius: var(--rd-radius); color: var(--rd-ink); font-size: 15px; font-weight: 600; line-height: 1; }
.pagination a:hover { border: 0; background: #fff; color: var(--rd-blue); }
.pagination a.active { border: 0; background: var(--rd-blue); color: #fff; }

/* формы (заявка на ремонт, запрос в техподдержку и др.) */
.text-page .form-row { margin: 0 0 16px; }
.text-page .form-row .form-label { display: block; margin: 0 0 6px; color: var(--rd-ink); font-size: 14px; font-weight: 400; line-height: 1.4; text-transform: none; }
.text-page .form-row .form-label b { font-weight: 600; }
.text-page .form-row .form-label span { margin-left: 2px; color: var(--rd-red); }
.text-page .form-row .inputtext, .text-page .form-row .form-input, .text-page .form-row input[type=text], .text-page .form-row input[type=email],
.text-page .form-row input[type=tel], .text-page .form-row select, .text-page .form-row textarea, .text-page .form-row .inputtextarea {
	width: 100%; max-width: 560px; height: 44px; padding: 0 12px; border: 1px solid #ccd7e5; border-radius: var(--rd-radius);
	background: #fff; color: var(--rd-ink); font: 15px "Open Sans", sans-serif;
}
.text-page .form-row textarea, .text-page .form-row .inputtextarea { height: auto; min-height: 120px; padding: 10px 12px; }
.text-page .form-row input:focus, .text-page .form-row select:focus, .text-page .form-row textarea:focus { border-color: var(--rd-blue); outline: 0; box-shadow: 0 0 0 3px rgba(54, 86, 152, .12); }
.text-page .form-row input[name^=form_date] { max-width: 200px; }
.text-page .form-row .calendar-icon { margin: 0 0 0 8px; vertical-align: middle; cursor: pointer; }
.text-page input[type=submit], .text-page button[type=submit], .text-page .btn-default {
	display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 28px; border: 0; border-radius: var(--rd-radius);
	background: var(--rd-yellow); color: var(--rd-ink); font: 700 15px "Open Sans", sans-serif; text-transform: none; cursor: pointer;
}
.text-page input[type=submit]:hover, .text-page .btn-default:hover { background: var(--rd-yellow-dark); color: var(--rd-ink); }

/* вкладки (контакты) */
.text-page .tabs-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; padding: 0; border: 0; }
.text-page .tabs-list a { display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border: 1px solid var(--rd-line) !important; border-radius: 19px; background: #fff; color: var(--rd-ink); font-size: 14px; font-weight: 600; line-height: 1; text-decoration: none; }
.text-page .tabs-list a.active, .text-page .tabs-list a:hover { border-color: var(--rd-blue) !important; background: var(--rd-blue); color: #fff; }

@media (max-width: 1199.98px) {
	.rd-roots { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rd-svc-layout { grid-template-columns: minmax(0, 1fr) 260px; }
	.rd-svc__row { grid-template-columns: minmax(0, 1fr) 130px 100px 112px; gap: 12px; padding: 12px 16px; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
	.text-page .sidebar .sidebar-item a { gap: 10px; padding: 8px 6px; }
	.text-page .sidebar .sidebar-item a img { flex-basis: 52px; width: 52px; height: 40px; }
	.text-page .sidebar-title a { font-size: 15px; }
	.text-page .sidebar .sidebar-item a .sidebar-name { hyphens: auto; }
}
@media (max-width: 991.98px) {
	.rd-roots { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
	.rd-root__img { height: 150px; }
	.rd-svc-layout { grid-template-columns: minmax(0, 1fr); }
	.text-page h1, section.articles h1 { font-size: 28px; }
	.text-page .text { padding: 24px; }
	.article-img-det { margin: -24px -24px 18px; }
	.text-page .sidebar { position: static; }
	section.articles .category-articles > .row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (max-width: 767.98px) {
	.rd-roots { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.rd-root { border-radius: 10px; }
	.rd-root__img { height: 110px; padding: 12px; }
	.rd-root__name { padding: 0 12px 14px; font-size: 14px; }
	.rd-root > .rd-i { display: none; }
	.rd-svc { border-radius: 0; margin: 0 -15px; border-width: 1px 0; }
	.rd-svc__row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name price" "term act"; gap: 6px 12px; padding: 14px 15px; }
	.rd-svc__row--head { display: none; }
	.rd-svc__name { grid-area: name; }
	.rd-svc__term { grid-area: term; font-size: 13px; }
	.rd-svc__price { grid-area: price; text-align: right; }
	.rd-svc__act { grid-area: act; }
	.rd-svc__btn { height: 36px; padding: 0 14px; font-size: 13px; }
	.text-page, section.articles { padding-bottom: 32px; }
	.text-page h1, section.articles h1 { font-size: 24px; }
	.text-page .text { margin: 0 -15px; padding: 20px 15px; border-width: 1px 0; border-radius: 0; font-size: 14px; }
	.text-page .type p, .text-page .type li, .text-page .type td { font-size: 14px; }
	.text-page .type h2 { font-size: 20px; }
	.text-page .type table { display: block; overflow-x: auto; }
	.article-img-det { margin: -20px -15px 16px; border-radius: 0; }
	.category-articles .article-name { font-size: 16px; }
	section.articles .category-articles > .row { grid-template-columns: minmax(0, 1fr); }
}

/* =====================================================================
   Корзина: панель справа, страница корзины, оформление заказа, «Заказ оформлен»
   ===================================================================== */
.rd-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
#cart.wrap-right { display: none !important; } /* старая панель (если осталась) */
.rd-cartpanel {
	position: fixed; top: 0; right: 0; bottom: 0; z-index: 1002; display: flex; flex-direction: column; width: min(460px, 100%);
	background: #fff; box-shadow: -12px 0 40px rgba(11, 25, 60, .18); visibility: hidden; transform: translateX(100%);
	transition: transform .28s ease, visibility .28s;
}
.rd-cart-overlay { position: fixed; inset: 0; z-index: 1001; background: rgba(11, 25, 60, .45); opacity: 0; visibility: hidden; transition: opacity .28s, visibility .28s; }
html.rd-cart-open { overflow: hidden; }
html.rd-cart-open .rd-cartpanel { visibility: visible; transform: none; }
html.rd-cart-open .rd-cart-overlay { visibility: visible; opacity: 1; }
.rd-cartpanel__head { display: flex; flex-shrink: 0; align-items: center; justify-content: space-between; height: 64px; padding: 0 8px 0 20px; border-bottom: 1px solid var(--rd-line); }
.rd-cartpanel__title { color: var(--rd-ink); font: 22px/1 FuturaPT-Heavy, "Open Sans", sans-serif; }
.rd-cartpanel__close { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 0; border-radius: 50%; background: none; color: var(--rd-ink); cursor: pointer; }
.rd-cartpanel__close:hover { background: var(--rd-bg); }
.rd-cartpanel__close .rd-i { width: 24px; height: 24px; }
.rd-cartpanel__body { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
.rd-cartpanel__body .rd-cartlist { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 20px; }

/* строка товара (панель и страница корзины) */
.rd-citem { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 16px 0; border-bottom: 1px solid var(--rd-line); }
.rd-citem__img { display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; padding: 4px; border: 1px solid var(--rd-line); border-radius: 8px; background: #fff; }
.rd-citem__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rd-citem__img .rd-i { width: 32px; height: 32px; color: #c9d5e5; stroke-width: 1.4; }
.rd-citem__main { min-width: 0; }
.rd-citem__name { display: -webkit-box; overflow: hidden; color: var(--rd-ink); font-size: 14px; font-weight: 600; line-height: 1.35; text-decoration: none; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
a.rd-citem__name:hover { color: var(--rd-blue); }
.rd-citem__unit { display: block; margin-top: 2px; color: var(--rd-muted); font-size: 12px; }
.rd-citem__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-top: 10px; }
.rd-citem__sum { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; }
.rd-citem__sum b { color: var(--rd-ink); font-size: 16px; font-weight: 800; white-space: nowrap; }
.rd-citem__sum s { color: var(--rd-muted); font-size: 12px; }
.rd-qty { display: inline-flex; align-items: center; height: 36px; border: 1px solid var(--rd-line); border-radius: 18px; background: #fff; }
.rd-qty .minus, .rd-qty .plus { display: flex; }
.rd-qty .minus a, .rd-qty .plus a { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; color: var(--rd-ink); font-size: 18px; font-weight: 600; text-decoration: none; }
.rd-qty .minus a:hover, .rd-qty .plus a:hover { background: var(--rd-bg); color: var(--rd-blue); }
.rd-qty .minus.is-off a { color: #c9d5e5; pointer-events: none; }
.rd-qty .input-qty { width: 40px; height: 34px; padding: 0; border: 0; background: none; color: var(--rd-ink); font: 600 15px "Open Sans", sans-serif; text-align: center; }
.rd-qty .input-qty:focus { outline: 0; box-shadow: inset 0 -2px 0 var(--rd-blue); }
.cart-del a { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin: -4px -6px 0 0; border-radius: 50%; color: #a3b1c4; }
.cart-del a:hover { background: #fdeeee; color: var(--rd-red); }
.cart-del .rd-i { width: 18px; height: 18px; }

/* итог корзины */
.rd-cartfoot { flex-shrink: 0; padding: 16px 20px max(16px, env(safe-area-inset-bottom)); border-top: 1px solid var(--rd-line); background: #fff; }
.rd-cartfoot__line { display: flex; justify-content: space-between; gap: 12px; color: var(--rd-muted); font-size: 14px; line-height: 1.8; }
.rd-cartfoot__line--disc span:last-child { color: var(--rd-red); font-weight: 600; }
.rd-cartfoot__total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 6px 0 14px; color: var(--rd-ink); font-size: 16px; font-weight: 700; }
.rd-cartfoot__total b { font-size: 24px; font-weight: 800; white-space: nowrap; }
.rd-cartfoot__checkout {
	display: flex; align-items: center; justify-content: center; height: 52px; border-radius: var(--rd-radius);
	background: var(--rd-yellow); color: var(--rd-ink); font-size: 16px; font-weight: 700; text-decoration: none;
}
.rd-cartfoot__checkout:hover { background: var(--rd-yellow-dark); color: var(--rd-ink); }
.rd-cartfoot__more { display: block; width: 100%; height: 44px; margin-top: 8px; border: 0; border-radius: var(--rd-radius); background: none; color: var(--rd-blue); font: 600 14px "Open Sans", sans-serif; cursor: pointer; }
.rd-cartfoot__more:hover { background: var(--rd-bg); }

/* пустая корзина */
.rd-cartempty { display: flex; flex: 1 1 auto; flex-direction: column; align-items: center; justify-content: center; padding: 48px 24px; color: var(--rd-muted); font-size: 15px; text-align: center; }
.rd-cartempty__ico { width: 56px; height: 56px; margin-bottom: 14px; color: #c9d5e5; stroke-width: 1.4; }
.rd-cartempty b { color: var(--rd-ink); font-size: 20px; }
.rd-cartempty p { margin: 6px 0 20px; color: inherit; font-size: inherit; }
.rd-cartempty__btn { display: inline-flex; align-items: center; height: 46px; padding: 0 22px; border-radius: var(--rd-radius); background: var(--rd-yellow); color: var(--rd-ink); font-weight: 700; text-decoration: none; }
.rd-cartempty__btn:hover { background: var(--rd-yellow-dark); color: var(--rd-ink); }

/* страница корзины: слева список, справа итог */
.rd-cartpage__body { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
.rd-cartpage__body .rd-cartlist { padding: 4px 24px; border: 1px solid var(--rd-line); border-radius: 12px; background: #fff; }
.rd-cartpage__body .rd-citem:last-child { border-bottom: 0; }
.rd-cartpage__body .rd-cartfoot { position: sticky; top: 96px; border: 1px solid var(--rd-line); border-radius: 12px; }
.rd-cartpage__body .rd-cartfoot__more { display: none; }
.rd-cartpage__body .rd-cartempty { grid-column: 1 / -1; border: 1px solid var(--rd-line); border-radius: 12px; background: #fff; }

/* оформление заказа */
.rd-order { padding: 0 0 56px; }
.rd-order__grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; align-items: start; margin: 0; }
.rd-ostep { min-width: 0; margin: 0 0 16px; padding: 24px 28px; border: 1px solid var(--rd-line); border-radius: 12px; background: #fff; }
.rd-ostep__title { display: flex; align-items: center; gap: 12px; float: left; width: 100%; margin: 0 0 18px; padding: 0; color: var(--rd-ink); font: 20px/1.2 FuturaPT-Heavy, "Open Sans", sans-serif; }
.rd-ostep__title + * { clear: both; }
.rd-ostep__n { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; background: var(--rd-yellow); color: var(--rd-ink); font: 700 15px "Open Sans", sans-serif; }
.rd-ostep__note { margin: 12px 0 0; color: var(--rd-muted); font-size: 13px; line-height: 1.5; }
.rd-ostep__note a { color: var(--rd-blue); }
.rd-ofields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.rd-ofield { display: block; margin: 0; }
.rd-ofield--wide { grid-column: 1 / -1; }
.rd-ofield__label { display: block; margin-bottom: 6px; color: var(--rd-ink); font-size: 13px; font-weight: 600; line-height: 1.3; }
.rd-ofield__label i { color: var(--rd-red); font-style: normal; }
.rd-ofield .form-input { display: block; width: 100%; height: 46px; padding: 0 14px; border: 1px solid #ccd7e5; border-radius: var(--rd-radius); background: #fff; color: var(--rd-ink); font: 15px "Open Sans", sans-serif; }
.rd-ofield textarea.form-input { height: auto; min-height: 92px; padding: 12px 14px; resize: vertical; }
.rd-ofield .form-input:focus { border-color: var(--rd-blue); outline: 0; box-shadow: 0 0 0 3px rgba(54, 86, 152, .12); }
.rd-ofield .form-input:user-invalid { border-color: var(--rd-red); }
.rd-ofield .form-input::placeholder { color: #9aa8bb; }
/* переключатель «юрлицо» и согласие */
.rd-switch { position: relative; display: flex; align-items: center; margin: 18px 0 0; }
.rd-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rd-switch label { position: relative; display: inline-flex; align-items: center; gap: 12px; margin: 0; padding: 0; color: var(--rd-ink); font-size: 15px; font-weight: 600; cursor: pointer; }
.rd-switch label::before { content: ""; flex-shrink: 0; width: 40px; height: 24px; border-radius: 12px; background: #c9d5e5; transition: background .2s; }
.rd-switch label::after { content: ""; position: absolute; left: 3px; top: 50%; width: 18px; height: 18px; margin-top: -9px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .2s; }
.rd-switch input:checked + label::before { background: var(--rd-blue); }
.rd-switch input:checked + label::after { transform: translateX(16px); }
.rd-switch input:focus-visible + label::before { outline: 2px solid var(--rd-blue); outline-offset: 2px; }
.rd-switch--small label { gap: 10px; font-size: 13px; font-weight: 400; line-height: 1.4; }
.rd-switch--small label::before { width: 34px; height: 20px; }
.rd-switch--small label::after { width: 14px; height: 14px; margin-top: -7px; }
.rd-switch--small input:checked + label::after { transform: translateX(14px); }
.rd-switch label a { color: var(--rd-blue); }
.rd-order .inn, .rd-order .reg-auto { display: none; }
.rd-oyur { margin-top: 16px; padding: 16px; border-radius: 10px; background: var(--rd-bg); }
.rd-oyur__manual { margin: 10px 0 0; padding: 0; border: 0; background: none; color: var(--rd-blue); font: 600 13px "Open Sans", sans-serif; cursor: pointer; }
.rd-oyur .reg-auto { margin-top: 14px; }
.rd-oyur .reg-auto[style*="block"] { display: grid !important; } /* jQuery slideDown ставит display:block — возвращаем сетку */
.rd-oyur .suggestions-wrapper { position: relative; }
/* варианты доставки и оплаты */
.rd-choices { display: grid; gap: 10px; }
.rd-choice { position: relative; display: block; margin: 0; cursor: pointer; }
.rd-choice input { position: absolute; opacity: 0; }
.rd-choice__box { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; column-gap: 12px; align-items: center; padding: 14px 16px; border: 1px solid var(--rd-line); border-radius: 10px; transition: border-color .15s, background .15s; }
.rd-choice__box::before { content: ""; grid-row: 1 / span 2; width: 20px; height: 20px; border: 2px solid #b4c2d6; border-radius: 50%; background: #fff; transition: border-color .15s, box-shadow .15s; }
.rd-choice__box b { color: var(--rd-ink); font-size: 15px; font-weight: 700; }
.rd-choice__box small { grid-column: 2; color: var(--rd-muted); font-size: 13px; line-height: 1.4; }
.rd-choice__box em { grid-column: 3; grid-row: 1 / span 2; color: var(--rd-ink); font-size: 14px; font-style: normal; font-weight: 600; white-space: nowrap; }
.rd-choice:hover .rd-choice__box { border-color: #c5d3e6; }
.rd-choice input:checked + .rd-choice__box { border-color: var(--rd-blue); background: #f5f8fd; }
.rd-choice input:checked + .rd-choice__box::before { border-color: var(--rd-blue); box-shadow: inset 0 0 0 4px #fff; background: var(--rd-blue); }
.rd-choice input:focus-visible + .rd-choice__box { outline: 2px solid var(--rd-blue); outline-offset: 2px; }
/* состав заказа справа */
.rd-order__side { position: sticky; top: 96px; }
.rd-osum { padding: 22px; border: 1px solid var(--rd-line); border-radius: 12px; background: #fff; }
.rd-osum__head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 8px; }
.rd-osum__head b { color: var(--rd-ink); font: 20px/1.2 FuturaPT-Heavy, "Open Sans", sans-serif; }
.rd-osum__head span { color: var(--rd-muted); font-size: 13px; }
.rd-osum__edit { margin-left: auto; padding: 0; border: 0; background: none; color: var(--rd-blue); font: 600 13px "Open Sans", sans-serif; cursor: pointer; }
.rd-osum__list { max-height: 300px; margin: 0 0 12px; padding: 0; overflow-y: auto; list-style: none; }
.rd-osum__item { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--rd-line); }
.rd-osum__img { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 3px; border: 1px solid var(--rd-line); border-radius: 6px; }
.rd-osum__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rd-osum__img .rd-i { width: 24px; height: 24px; color: #c9d5e5; }
.rd-osum__name { display: flex; flex-direction: column; min-width: 0; color: var(--rd-ink); font-size: 13px; font-weight: 600; line-height: 1.3; }
.rd-osum__name small { color: var(--rd-muted); font-size: 12px; font-weight: 400; }
.rd-osum__sum { color: var(--rd-ink); font-size: 14px; font-weight: 700; white-space: nowrap; }
.rd-osum__line { display: flex; justify-content: space-between; gap: 12px; color: var(--rd-muted); font-size: 14px; line-height: 1.9; }
.rd-osum__line--disc span:last-child { color: var(--rd-red); font-weight: 600; }
.rd-osum__total { display: flex; align-items: baseline; justify-content: space-between; margin: 8px 0 4px; padding-top: 12px; border-top: 1px solid var(--rd-line); color: var(--rd-ink); font-size: 16px; font-weight: 700; }
.rd-osum__total b { font-size: 26px; font-weight: 800; white-space: nowrap; }
.rd-osum .rd-switch { margin: 14px 0 16px; }
.rd-osum__submit { display: flex; align-items: center; justify-content: center; width: 100%; height: 54px; border: 0; border-radius: var(--rd-radius); background: var(--rd-yellow); color: var(--rd-ink); font: 700 16px "Open Sans", sans-serif; cursor: pointer; }
.rd-osum__submit:hover { background: var(--rd-yellow-dark); }
.rd-osum__note { margin: 10px 0 0; color: var(--rd-muted); font-size: 12px; line-height: 1.45; text-align: center; }
/* заказ оформлен */
.rd-done { max-width: 640px; margin: 8px auto 0; padding: 36px 40px; border: 1px solid var(--rd-line); border-radius: 14px; background: #fff; color: #33435a; font-size: 15px; line-height: 1.6; text-align: center; }
.rd-done p { margin: 0 0 12px; color: inherit; font-size: inherit; line-height: inherit; }
.rd-done a { color: var(--rd-blue); }
.rd-done__ico { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 14px; border-radius: 50%; background: #e3f4ec; color: #1f8a5b; }
.rd-done__ico .rd-i { width: 32px; height: 32px; stroke-width: 2.6; }
.rd-done__title { margin: 0 0 10px !important; color: var(--rd-ink); font: 30px/1.2 FuturaPT-Heavy, "Open Sans", sans-serif; }
.rd-done__local { padding: 10px 14px; border-radius: 8px; background: #fff4d6; color: #7a5b00 !important; font-size: 13px !important; }
.rd-done__facts { margin: 18px 0; padding: 16px 18px; border-radius: 10px; background: var(--rd-bg); text-align: left; }
.rd-done__btn { display: inline-flex; align-items: center; height: 46px; margin-top: 6px; padding: 0 22px; border-radius: var(--rd-radius); background: var(--rd-yellow); color: var(--rd-ink) !important; font-weight: 700; text-decoration: none; }

@media (max-width: 991.98px) {
	.rd-cartpage__body, .rd-order__grid { grid-template-columns: minmax(0, 1fr); }
	.rd-cartpage__body .rd-cartfoot, .rd-order__side { position: static; }
	.rd-ostep { padding: 20px; }
}
@media (max-width: 767.98px) {
	.rd-cartpanel { width: 100%; }
	.rd-cartpanel__head { height: 56px; padding-left: 15px; }
	.rd-cartpanel__body .rd-cartlist { padding: 0 15px; }
	.rd-cartfoot { padding-left: 15px; padding-right: 15px; }
	.rd-citem { grid-template-columns: 60px minmax(0, 1fr) auto; gap: 10px; }
	.rd-citem__img { width: 60px; height: 60px; }
	.rd-cartpage__body .rd-cartlist { margin: 0 -15px; padding: 0 15px; border-width: 1px 0; border-radius: 0; }
	.rd-cartpage__body .rd-cartfoot { margin: 0 -15px; border-width: 1px 0; border-radius: 0; }
	.rd-ostep { margin: 0 -15px 12px; padding: 18px 15px; border-width: 1px 0; border-radius: 0; }
	.rd-ofields { grid-template-columns: minmax(0, 1fr); }
	.rd-choice__box { grid-template-columns: 22px minmax(0, 1fr); }
	.rd-choice__box em { grid-column: 2; grid-row: auto; margin-top: 2px; color: var(--rd-muted); font-size: 13px; }
	.rd-osum { margin: 0 -15px; border-width: 1px 0; border-radius: 0; }
	.rd-done { padding: 28px 18px; }
	.rd-done__title { font-size: 24px; }
}

/* сообщение «Добавлено в корзину» и старые уведомления notie — внизу, не поверх шапки */
.rd-toast {
	position: fixed; left: 50%; bottom: 20px; z-index: 1003; display: flex; align-items: center; gap: 12px; width: max-content; max-width: calc(100% - 24px);
	padding: 12px 10px 12px 16px; border-radius: 12px; background: var(--rd-navy); color: #fff; box-shadow: 0 12px 32px rgba(11, 25, 60, .3);
	opacity: 0; visibility: hidden; transform: translate(-50%, 16px); transition: opacity .2s, transform .2s, visibility .2s;
}
.rd-toast.is-on { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.rd-toast__ok { flex-shrink: 0; width: 28px; height: 28px; padding: 5px; border-radius: 50%; background: #2fa66b; color: #fff; stroke-width: 3; }
.rd-toast__text { display: flex; flex-direction: column; min-width: 0; font-size: 13px; line-height: 1.35; }
.rd-toast__text b { font-size: 14px; }
.rd-toast__text span { max-width: 300px; overflow: hidden; color: rgba(255, 255, 255, .75); text-overflow: ellipsis; white-space: nowrap; }
.rd-toast__btn { flex-shrink: 0; height: 38px; padding: 0 14px; border: 0; border-radius: var(--rd-radius); background: var(--rd-yellow); color: var(--rd-ink); font: 700 13px "Open Sans", sans-serif; cursor: pointer; }
.rd-toast__btn:hover { background: var(--rd-yellow-dark); }
.rd-toast__close { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 34px; height: 34px; border: 0; border-radius: 50%; background: none; color: rgba(255, 255, 255, .7); cursor: pointer; }
.rd-toast__close:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.notie-container { top: auto !important; bottom: 20px !important; left: 50% !important; width: auto !important; max-width: calc(100% - 24px); padding: 12px 18px; border-radius: 12px; background: var(--rd-navy) !important; color: #fff; box-shadow: 0 12px 32px rgba(11, 25, 60, .3); font: 14px/1.4 "Open Sans", sans-serif; transform: translateX(-50%); z-index: 1003 !important; }
.notie-container a { color: var(--rd-yellow); }
@media (max-width: 767.98px) {
	.rd-toast { bottom: max(12px, env(safe-area-inset-bottom)); gap: 10px; padding: 10px 6px 10px 12px; }
	.rd-toast__text span { max-width: 140px; }
	.rd-toast__btn { padding: 0 10px; }
	.rd-prodpage.is-past-buy ~ .rd-toast, html.rd-has-buybar .rd-toast { bottom: 84px; }
}
.rd-toast__btn--cmp { display: none; align-items: center; text-decoration: none; }
.rd-toast.is-cmp .js-rd-cart-open { display: none; }
.rd-toast.is-cmp .rd-toast__btn--cmp { display: inline-flex; }

/* =====================================================================
   Сравнение товаров
   ===================================================================== */
.rd-cmp__clear { margin-left: auto; color: var(--rd-blue); font-size: 14px; font-weight: 600; }
.rd-cmp__clear:hover { color: var(--rd-red); }
.rd-cmp__scroll { overflow-x: auto; border: 1px solid var(--rd-line); border-radius: 12px; background: #fff; overscroll-behavior-x: contain; }
.rd-cmp__table { min-width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; }
.rd-cmp__table th, .rd-cmp__table td { padding: 10px 16px; border-bottom: 1px solid #edf1f6; text-align: left; vertical-align: top; }
.rd-cmp__table tbody th { position: sticky; left: 0; z-index: 1; width: 220px; min-width: 180px; background: #fff; color: var(--rd-muted); font-weight: 400; }
.rd-cmp__table td { min-width: 220px; width: 240px; color: var(--rd-ink); font-weight: 600; }
.rd-cmp__corner { position: sticky; left: 0; z-index: 2; background: #fff; vertical-align: bottom !important; }
.rd-cmp__corner .rd-switch { margin: 0; }
.rd-cmp__prod { position: relative; min-width: 220px; padding: 16px !important; background: #fff; vertical-align: top; }
.rd-cmp__del { position: absolute; top: 8px; right: 8px; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; color: #a3b1c4; }
.rd-cmp__del:hover { background: #fdeeee; color: var(--rd-red); }
.rd-cmp__del .rd-i { width: 16px; height: 16px; }
.rd-cmp__img { display: flex; align-items: center; justify-content: center; height: 120px; margin-bottom: 10px; }
.rd-cmp__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rd-cmp__img .rd-i { width: 48px; height: 48px; color: #c9d5e5; }
.rd-cmp__name { display: -webkit-box; min-height: 38px; overflow: hidden; color: var(--rd-ink); font-size: 14px; font-weight: 600; line-height: 1.35; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.rd-cmp__name:hover { color: var(--rd-blue); }
.rd-cmp__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; margin: 8px 0 10px; color: var(--rd-muted); font-weight: 600; }
.rd-cmp__price b { color: var(--rd-ink); font-size: 18px; font-weight: 800; }
.rd-cmp__price s { font-size: 13px; font-weight: 400; }
.rd-cmp__buy { display: flex; align-items: center; justify-content: center; gap: 6px; height: 38px; border-radius: var(--rd-radius); background: var(--rd-yellow); color: var(--rd-ink); font-size: 13px; font-weight: 700; }
.rd-cmp__buy:hover { background: var(--rd-yellow-dark); color: var(--rd-ink); }
.rd-cmp__buy .rd-i { width: 16px; height: 16px; }
.rd-cmp__buy--ghost { border: 1px solid var(--rd-line); background: #fff; color: var(--rd-blue); }
.rd-cmp__buy--ghost:hover { border-color: var(--rd-blue); background: #fff; color: var(--rd-blue); }
.rd-cmp__table thead th { border-bottom: 2px solid var(--rd-line); }
.rd-cmp__group th { position: static !important; padding-top: 18px !important; background: #fafcfe !important; }
.rd-cmp__group span { position: sticky; left: 16px; color: var(--rd-ink); font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.rd-cmp__row:not(.is-same) td { background: #fffdf3; }
.rd-cmp__table.is-diff .is-same { display: none; }
.rd-cmp__none { color: var(--rd-muted) !important; font-weight: 400 !important; }
.rd-cmp-empty { border: 1px solid var(--rd-line); border-radius: 12px; background: #fff; }

/* =====================================================================
   Доставка и оплата, контакты
   ===================================================================== */
.rd-info { padding: 0 0 56px; }
.rd-info__h2 { margin: 32px 0 14px !important; color: var(--rd-ink); font: 24px/1.2 FuturaPT-Heavy, "Open Sans", sans-serif; scroll-margin-top: 110px; }
.rd-info__grid { display: grid; gap: 16px; }
.rd-info__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rd-info__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rd-info__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rd-icard { display: flex; flex-direction: column; align-items: flex-start; padding: 22px; border: 1px solid var(--rd-line); border-radius: 12px; background: #fff; color: #33435a; font-size: 14px; line-height: 1.55; }
.rd-icard p { margin: 0 0 10px; color: inherit; font-size: inherit; line-height: inherit; }
.rd-icard--row { flex-direction: row; gap: 16px; }
.rd-icard--row .rd-icard__ico { margin: 0; }
.rd-icard--note { align-items: center; }
.rd-icard--note p { margin: 0; font-size: 15px; }
.rd-icard__ico { display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: 14px; border-radius: 12px; background: var(--rd-yellow); color: var(--rd-ink); }
.rd-icard__ico .rd-i { width: 24px; height: 24px; stroke-width: 1.8; }
.rd-icard__title { margin: 0 0 4px !important; color: var(--rd-ink); font: 19px/1.25 FuturaPT-Heavy, "Open Sans", sans-serif; }
.rd-icard__price { margin-bottom: 10px; color: var(--rd-blue); font-size: 14px; font-weight: 700; }
.rd-icard__strong { color: var(--rd-ink) !important; font-weight: 600; }
.rd-icard__note { color: var(--rd-muted) !important; font-size: 13px !important; }
.rd-icard__link { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; color: var(--rd-blue); font-weight: 600; }
.rd-icard__link .rd-i { width: 16px; height: 16px; }
.rd-icard__table { width: 100%; margin: 4px 0 12px; border-collapse: collapse; font-size: 14px; }
.rd-icard__table th { padding: 10px 0 4px; color: var(--rd-muted); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.rd-icard__table td { padding: 6px 0; border-bottom: 1px solid #edf1f6; color: var(--rd-ink); }
.rd-icard__table td + td { text-align: right; white-space: nowrap; }
.rd-icard__table b { color: #1f8a5b; }
.rd-icard__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.rd-icard__chips a { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border: 1px solid var(--rd-line); border-radius: 17px; color: var(--rd-ink); font-weight: 600; }
.rd-icard__chips a:hover { border-color: var(--rd-blue); color: var(--rd-blue); }
.rd-info__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 32px; padding: 22px 24px; border-radius: 12px; background: var(--rd-navy); color: #fff; }
.rd-info__cta > div:first-child { display: flex; flex-direction: column; margin-right: auto; }
.rd-info__cta b { font-size: 17px; }
.rd-info__cta span { color: rgba(255, 255, 255, .7); font-size: 13px; }
.rd-info__phone { color: #fff; font-size: 22px; font-weight: 800; white-space: nowrap; }
.rd-info__phone:hover { color: var(--rd-yellow); }
.rd-info__cta .rd-ask__btns { display: flex; gap: 8px; }
.rd-info__cta .rd-ask__btns a { padding: 0 16px; background: rgba(255, 255, 255, .12); }
.rd-info__cta .rd-ask__btns a:hover { background: rgba(255, 255, 255, .22); }
/* контакты */
.rd-clist { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.rd-clist li { display: flex; flex-direction: column; }
.rd-clist a { color: var(--rd-ink); font-size: 16px; font-weight: 700; white-space: nowrap; }
.rd-clist a:hover { color: var(--rd-blue); }
.rd-clist__big { font-size: 20px !important; font-weight: 800 !important; }
.rd-clist span { color: var(--rd-muted); font-size: 12px; line-height: 1.4; }
.rd-ask__btns--col { grid-template-columns: minmax(0, 1fr); width: 100%; }
.rd-ask__btns--col a { justify-content: flex-start; padding: 0 16px; }
.rd-facts--small { grid-template-columns: auto 1fr; margin: 0 0 10px; font-size: 13px; }
.rd-route { overflow: hidden; border: 1px solid var(--rd-line); border-radius: 12px; background: #fff; }
.rd-route__tabs { display: flex; gap: 4px; padding: 8px 8px 0; border-bottom: 1px solid var(--rd-line); overflow-x: auto; }
.rd-route__tab { flex-shrink: 0; height: 44px; padding: 0 16px; border: 0; border-bottom: 3px solid transparent; background: none; color: var(--rd-muted); font: 600 14px "Open Sans", sans-serif; cursor: pointer; }
.rd-route__tab:hover { color: var(--rd-blue); }
.rd-route__tab.is-active { border-bottom-color: var(--rd-yellow); color: var(--rd-ink); }
.rd-route__body { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.rd-route__text { padding: 22px 24px; color: #33435a; font-size: 14px; line-height: 1.65; }
.rd-route__text p { margin: 0 0 10px; color: inherit; font-size: inherit; line-height: inherit; }
.rd-route__end { color: var(--rd-ink) !important; font-weight: 600; }
.rd-route__map { min-height: 420px; background: var(--rd-bg); }
.rd-route__mapbox, .rd-route__mapbox > * { width: 100% !important; }
.rd-reqs { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: start; padding: 22px 24px; border: 1px solid var(--rd-line); border-radius: 12px; background: #fff; }
.rd-reqs__list { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 0; margin: 0; font-size: 14px; }
.rd-reqs__list dt, .rd-reqs__list dd { margin: 0; padding: 8px 0; border-bottom: 1px solid #edf1f6; }
.rd-reqs__list dt { color: var(--rd-muted); font-weight: 400; }
.rd-reqs__list dd { color: var(--rd-ink); font-weight: 600; overflow-wrap: anywhere; }
.rd-reqs__copy { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border: 1px solid var(--rd-line); border-radius: var(--rd-radius); background: #fff; color: var(--rd-blue); font: 600 14px "Open Sans", sans-serif; cursor: pointer; white-space: nowrap; }
.rd-reqs__copy:hover { border-color: var(--rd-blue); }

@media (max-width: 1199.98px) {
	.rd-info__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
	.rd-info__grid--3 { grid-template-columns: minmax(0, 1fr); }
	.rd-route__body { grid-template-columns: minmax(0, 1fr); }
	.rd-route__map { min-height: 360px; }
	.rd-reqs { grid-template-columns: minmax(0, 1fr); }
	.rd-cmp__table tbody th { width: 150px; min-width: 130px; }
}
@media (max-width: 767.98px) {
	.rd-info__grid--2, .rd-info__grid--4 { grid-template-columns: minmax(0, 1fr); }
	.rd-info__h2 { font-size: 20px; }
	.rd-icard { padding: 18px; }
	.rd-info__cta { padding: 18px; }
	.rd-info__cta .rd-ask__btns { width: 100%; }
	.rd-info__cta .rd-ask__btns a { flex: 1 1 0; justify-content: center; padding: 0 8px; }
	.rd-reqs { padding: 16px; }
	.rd-reqs__list { grid-template-columns: minmax(0, 1fr); }
	.rd-reqs__list dt { padding-bottom: 0; border-bottom: 0; font-size: 12px; }
	.rd-reqs__list dd { padding-top: 2px; }
	.rd-cmp__scroll { margin: 0 -15px; border-width: 1px 0; border-radius: 0; }
	.rd-cmp__table tbody th { width: 110px; min-width: 110px; padding: 10px; font-size: 12px; }
	.rd-cmp__table td, .rd-cmp__prod { min-width: 170px; width: 170px; padding: 10px !important; font-size: 13px; }
	.rd-cmp__corner { width: 110px; min-width: 110px; padding: 10px !important; }
	.rd-cmp__img { height: 90px; }
}
