.vsn-hero-band {
	position: relative;
	background: #F1F4F4;
	margin: 0;
	padding: 20px 0 40px;
}
.vsn-hero-band::before,
.vsn-hero-band::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100vw;
	background: #F1F4F4;
	z-index: -1;
}
.vsn-hero-band::before {
	right: 100%;
}
.vsn-hero-band::after {
	left: 100%;
}
.setka-detail--vsn {
	margin-bottom: 0;
}
.setka-detail--vsn .setka-detail__head {
	margin: 0 0 28px;
	max-width: 980px;
}
.setka-detail--vsn .setka-detail__title {
	margin: 0 0 14px;
}
.setka-detail--vsn .setka-detail__subtitle {
	margin: 0;
	max-width: 820px;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.45;
	color: #474A4A;
}
.setka-detail--vsn .setka-detail__wrapper {
	margin-bottom: 0;
}
.setka-detail--vsn .setka-detail__imgbox > a {
	display: block;
	height: 100%;
}
.setka-detail--vsn .setka-detail__imgbox picture {
	display: block;
	width: 100%;
	height: 100%;
}
.setka-detail--vsn .setka-detail__imgbox picture img {
	width: 100%;
	height: 100%;
}
.setka-detail--vsn .setka-detail__container {
	width: calc(69% - 50px / 2);
}
.setka-detail--vsn .super-offer--vsn {
	grid-template-columns: 1fr 320px;
	gap: 20px;
}
.setka-detail--vsn .super-offer--vsn .super-offer__content {
	padding: 28px 30px;
}
.setka-detail--vsn .super-offer--vsn .super-offer__sidebar {
	padding: 28px 30px;
}
.setka-detail--vsn .super-offer--vsn .super-offer__price-value {
	font-size: 40px;
}
.vsn-intro-section {
	position: relative;
	margin: 0;
	padding: 48px 0 40px;
	background: #fff;
}
.vsn-intro-section::before,
.vsn-intro-section::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100vw;
	background: #fff;
	z-index: -1;
}
.vsn-intro-section::before {
	right: 100%;
}
.vsn-intro-section::after {
	left: 100%;
}
.vsn-intro {
	width: 100%;
	padding: 36px 40px 40px;
	border-radius: 24px;
	background: linear-gradient(135deg, #faf8ff 0%, #f5f7f7 52%, #f1f4f4 100%);
	border: 1px solid rgba(134, 57, 241, 0.12);
	box-shadow: 0 12px 40px rgba(44, 47, 55, 0.05);
}
.vsn-intro__lead {
	margin: 0 0 28px;
	padding-bottom: 28px;
	border-bottom: 1px solid rgba(134, 57, 241, 0.14);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.55;
	color: #2C2F37;
}
.vsn-intro__body {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.vsn-intro__body p {
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
	color: #474A4A;
}
.vsn-fit-section {
	margin: 0 0 0;
	padding: 0 0 56px;
}
.vsn-fit-section .setka-detail__fit-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}
.vsn-fit-section .setka-detail__fit-card {
	border-radius: 20px;
	padding: 28px 28px 24px;
	background: #fff;
	border: 1px solid rgba(44, 47, 55, 0.08);
}
.vsn-fit-section .setka-detail__fit-card--yes {
	background: #fff;
	border: 1px solid rgba(134, 57, 241, 0.18);
	box-shadow: 0 8px 24px rgba(134, 57, 241, 0.06);
}
.vsn-fit-section .setka-detail__fit-card--no {
	background: #fff;
}
.vsn-fit-section .setka-detail__fit-title {
	margin: 0 0 18px;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	color: #2C2F37;
}
.vsn-fit-section .setka-detail__fit-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.vsn-fit-section .setka-detail__fit-list li {
	position: relative;
	padding-left: 28px;
	font-size: 16px;
	line-height: 1.45;
	color: #474A4A;
}
.vsn-fit-section .setka-detail__fit-list li::before {
	position: absolute;
	left: 0;
	top: 2px;
	width: 18px;
	height: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	border-radius: 50%;
}
.vsn-fit-section .setka-detail__fit-card--yes .setka-detail__fit-list li::before {
	content: "✓";
	color: #8639F1;
	background: rgba(134, 57, 241, 0.12);
}
.vsn-fit-section .setka-detail__fit-card--no .setka-detail__fit-list li::before {
	content: "×";
	color: #8a9090;
	background: #eef1f1;
}
.vsn-fit-section .setka-detail__fit-list a {
	color: #8639F1;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.vsn-fit-section .setka-detail__fit-list a:hover {
	text-decoration: none;
}
@media (max-width: 1240px) {
	.setka-detail--vsn .super-offer--vsn {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 991px) {
	.vsn-fit-section .setka-detail__fit-grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 768px) {
	.vsn-hero-band {
		padding-bottom: 28px;
	}
	.vsn-intro-section {
		padding: 32px 0 28px;
	}
	.vsn-intro {
		padding: 24px 20px 26px;
		border-radius: 18px;
	}
	.vsn-intro__lead {
		margin-bottom: 22px;
		padding-bottom: 22px;
		font-size: 18px;
		line-height: 1.5;
	}
	.vsn-intro__body p {
		font-size: 16px;
		line-height: 1.55;
	}
	.vsn-fit-section {
		padding: 20px 0 40px;
	}
	.setka-detail--vsn .setka-detail__subtitle {
		font-size: 16px;
	}
	.setka-detail--vsn .setka-detail__wrapper {
		margin-bottom: 0;
	}
	.setka-detail--vsn .setka-detail__container {
		width: 100%;
	}
	.setka-detail--vsn .super-offer--vsn .super-offer__content,
	.setka-detail--vsn .super-offer--vsn .super-offer__sidebar {
		padding: 22px 18px;
	}
	.setka-detail--vsn .super-offer--vsn .super-offer__price-value {
		font-size: 34px;
	}
	.vsn-fit-section .setka-detail__fit-card {
		padding: 20px 18px 18px;
		border-radius: 16px;
	}
	.vsn-fit-section .setka-detail__fit-title {
		font-size: 18px;
		margin-bottom: 14px;
	}
	.vsn-fit-section .setka-detail__fit-list li {
		font-size: 14px;
		padding-left: 24px;
	}
	.setka-detail--vsn .setka-detail__gallery--wrapper {
		width: 100%;
		margin: 0;
	}
	.setka-detail--vsn .setka-detail__carousel {
		max-height: 320px;
	}
	.setka-detail--vsn .setka-detail__carousel .setka-detail__imgbox.swiper-slide {
		max-height: 71px;
		height: 71px;
	}
	.setka-detail--vsn .setka-detail__gallery .setka-detail__imgbox.swiper-slide {
		min-height: 320px;
		max-height: 320px;
	}
	.setka-detail--vsn .setka-detail__gallery .setka-detail__imgbox img {
		height: 320px;
		object-fit: contain;
	}
}

/* Доп. слайды «Почему мы» — в общей карусели */
.advantages .advantages__supplement-slide .advantages__block-imgbox {
	margin: auto 0 0;
	max-height: 100px;
	width: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.advantages .advantages__supplement-slide .advantages__block-imgbox img {
	max-height: 100px;
	width: auto;
	object-fit: contain;
}
.advantages .advantages__supplement-slide .advantages__block-text a {
	color: #7B61FF;
	text-decoration: none;
}
.advantages .advantages__supplement-slide .advantages__block-text a:hover {
	text-decoration: underline;
}

@media (max-width: 768px) {
	.advantages.advantages--vsn h2.advantages__title {
		font-size: 40px !important;
		font-weight: 600 !important;
		line-height: 110% !important;
		margin: 0 0 15px !important;
		padding: 0 !important;
	}
	.engineer.engineer--vsn .form-engineer__info-head {
		align-items: center;
		text-align: center;
	}
	.engineer.engineer--vsn .form-engineer__info-title {
		width: 100%;
		font-size: 50px !important;
		font-weight: 600 !important;
		line-height: 110% !important;
		text-align: center;
		margin: 0 0 16px !important;
	}
	.engineer.engineer--vsn .form-engineer__info-head .form-engineer__imgbox {
		align-self: center;
		margin: 0 auto;
		max-width: 240px;
	}
}

@media (max-width: 480px) {
	.advantages.advantages--vsn h2.advantages__title {
		font-size: 40px !important;
		line-height: 110% !important;
		margin: 0 0 15px !important;
	}
	.engineer.engineer--vsn .form-engineer__info-title {
		font-size: 50px !important;
		line-height: 110% !important;
		margin: 0 0 15px !important;
	}
}

.vsn-sticky-cta {
	display: none;
}
@media (max-width: 768px) {
	.vsn-sticky-cta {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1000;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
		background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.94) 28%, #fff 100%);
		box-shadow: 0 -4px 20px rgba(12, 18, 28, 0.1);
		transform: translateY(110%);
		opacity: 0;
		pointer-events: none;
		transition: transform 0.25s ease, opacity 0.25s ease;
	}
	.vsn-sticky-cta.is-visible {
		transform: translateY(0);
		opacity: 1;
		pointer-events: auto;
	}
	.vsn-sticky-cta__btn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 48px;
		min-height: 48px;
		padding: 0 20px;
		border: none;
		border-radius: 8px;
		font-family: 'Golos Text', sans-serif;
		font-size: 14px;
		font-weight: 600;
		line-height: 1;
		text-decoration: none;
		box-sizing: border-box;
		white-space: nowrap;
	}
	body.vsn-sticky-active {
		padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
	}
	body.vsn-sticky-active .scroll-top {
		bottom: calc(160px + env(safe-area-inset-bottom, 0px));
	}
}
@media (max-width: 480px) {
	.advantages--vsn .advantages__supplement-slide .advantages__block-imgbox {
		margin: 8px auto 0;
		max-height: 72px;
	}
	.advantages--vsn .advantages__supplement-slide .advantages__block-imgbox img {
		max-height: 72px;
	}
	.advantages--vsn .swiper-pagination-clickable,
	.advantages--vsn .swiper-pagination-mobile {
		padding: 6px 0 0;
	}
}

/* Роллетная страница — отступ и контейнер контента после hero */
.setka-body-container{padding-top:40px}
.setka-body-container .setka-detail__content{max-width:100%}
.setka-body-container .setka-detail__content-text{max-width:900px}
.setka-body-container .setka-detail__content-text h3{margin-top:24px}

/* === glass-vision — эмоциональный лид-блок с большой цитатой === */
.glass-vision{position:relative;background:linear-gradient(135deg,#f7f2ff 0%,#efe4ff 100%);border-radius:24px;padding:56px 60px 44px;margin:32px 0;overflow:hidden;max-width:100%}
.glass-vision::before{content:"";position:absolute;top:0;left:0;width:6px;height:100%;background:linear-gradient(180deg,#8639F1 0%,#a866ff 100%)}
.glass-vision__quote-mark{position:absolute;top:24px;right:36px;color:#8639F1;opacity:.14;width:80px;height:64px}
.glass-vision__quote-mark svg{width:100%;height:100%}
.glass-vision__lead{font-family:'Golos Text','FS-4700',Arial,sans-serif;font-size:22px;line-height:1.5;color:#0f1a2b;font-weight:500;margin:0 0 20px;letter-spacing:-.01em;position:relative;z-index:1}
.glass-vision__lead::first-letter{font-family:'FS-4700','Golos Text',Arial,sans-serif;font-size:64px;font-weight:800;color:#8639F1;float:left;line-height:.9;padding:6px 12px 0 0;letter-spacing:-.03em}
.glass-vision__accent{font-size:18px;line-height:1.55;color:#8639F1;font-weight:600;margin:0 0 16px;position:relative;z-index:1}
.glass-vision__note{font-size:15px;line-height:1.6;color:#474A4A;margin:0;font-style:italic;position:relative;z-index:1}
@media(max-width:720px){.glass-vision{padding:36px 24px 28px;border-radius:20px}.glass-vision__lead{font-size:18px}.glass-vision__lead::first-letter{font-size:48px}.glass-vision__accent{font-size:16px}.glass-vision__quote-mark{width:56px;height:44px;top:16px;right:20px}}

/* Роллетная — расширить content-text и vision на всю ширину контейнера */
.setka-body-container .setka-detail__content-text{max-width:none}
.setka-body-container .glass-vision{max-width:none;padding:64px 80px 52px}
@media(max-width:900px){.setka-body-container .glass-vision{padding:40px 28px 32px}}

/* Роллетная — увеличенный отступ после hero-полосы */
.setka-body-container{padding-top:70px}
.js-vsn-hero + .vsn-sticky-cta + .container.setka-body-container,
.vsn-hero-band + .vsn-sticky-cta + .container.setka-body-container{padding-top:70px}
@media(max-width:900px){.setka-body-container{padding-top:44px}}

/* Роллетная — возврат базового padding-top контейнера и отдельный отступ у текста */
.setka-body-container{padding-top:40px}
.setka-body-container .setka-detail__lead{margin-top:30px}
.setka-body-container .setka-detail__lead p:first-child{margin-top:0}
@media(max-width:900px){.setka-body-container{padding-top:24px}.setka-body-container .setka-detail__lead{margin-top:16px}}

/* Роллетная — отступ сверху у lead-параграфов сразу после hero-полосы */
.vsn-sticky-cta + .container .setka-detail__lead,
.js-vsn-sticky-cta + .container .setka-detail__lead{margin-top:0;padding-top:56px}
.setka-detail__lead p:first-child{margin-top:0}
@media(max-width:900px){.vsn-sticky-cta + .container .setka-detail__lead,.js-vsn-sticky-cta + .container .setka-detail__lead{padding-top:32px}}

/* === Почему выбирают — 3 карточки на фиолетовой полосе === */
.why-choose-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0 0}
.why-choose-card{background:#fff;border-radius:20px;padding:32px 28px 28px;transition:.22s;position:relative;border:1px solid transparent}
.why-choose-card:hover{border-color:#8639F1;box-shadow:0 12px 32px rgba(134,57,241,.12);transform:translateY(-4px)}
.why-choose-card__num{font-family:'FS-4700','Golos Text',Arial,sans-serif;font-weight:800;font-size:48px;line-height:1;color:#8639F1;margin-bottom:16px;letter-spacing:-.03em;opacity:.9}
.why-choose-card__t{font-family:'FS-4700','Golos Text',Arial,sans-serif;font-weight:700;font-size:20px;line-height:1.3;color:#0f1a2b;margin:0 0 12px;letter-spacing:-.01em}
.why-choose-card__d{color:#474A4A;font-size:15px;line-height:1.55;margin:0}
@media(max-width:900px){.why-choose-grid{grid-template-columns:1fr;gap:14px}.why-choose-card{padding:26px 22px 22px}.why-choose-card__num{font-size:36px}}

/* === Технические характеристики — двухколоночная таблица параметров === */
.ramochnye-prices__table--tech td:first-child{font-weight:600;color:#0f1a2b;width:35%}
.ramochnye-prices__table--tech td:last-child{color:#3b4757}

/* Почему выбирают — понизить вес заголовков и цифр */
.why-choose-card__num{font-weight:500}
.why-choose-card__t{font-weight:500}

/* === rol-features — Особенности конструкции: 3 колонки, минимальный дизайн === */
.rol-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 40px;counter-reset:rolfeat}
.rol-feature{position:relative;background:#F1F4F4;border-radius:16px;padding:26px 24px 24px 68px;counter-increment:rolfeat;transition:.22s}
.rol-feature::before{content:counter(rolfeat,decimal-leading-zero);position:absolute;left:22px;top:26px;width:34px;height:34px;border-radius:50%;background:#8639F1;color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;letter-spacing:.02em;font-family:'FS-4700','Golos Text',Arial,sans-serif}
.rol-feature:hover{background:#eae2fa;transform:translateY(-2px)}
.rol-feature__t{font-family:'FS-4700','Golos Text',Arial,sans-serif;font-weight:500;font-size:16px;line-height:1.3;color:#0f1a2b;margin:0 0 8px}
.rol-feature__d{color:#474A4A;font-size:14.5px;line-height:1.55;margin:0}
@media(max-width:900px){.rol-features{grid-template-columns:1fr;gap:12px}.rol-feature{padding:22px 22px 20px 62px}}

/* === rol-where — Куда ставим: 2×2 сценарные карточки с тегом-категорией === */
.rol-where{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:24px 0 40px}
.rol-where__card{background:#fff;border:1px solid #ece4ff;border-radius:18px;padding:28px 30px 26px;transition:.22s;position:relative;overflow:hidden}
.rol-where__card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#8639F1 0%,#a866ff 100%)}
.rol-where__card:hover{border-color:#8639F1;box-shadow:0 10px 28px rgba(134,57,241,.10);transform:translateY(-3px)}
.rol-where__tag{display:inline-block;background:#efe4ff;color:#8639F1;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:20px;margin-bottom:14px;font-family:'Golos Text',Arial,sans-serif}
.rol-where__t{font-family:'FS-4700','Golos Text',Arial,sans-serif;font-weight:500;font-size:19px;line-height:1.3;color:#0f1a2b;margin:0 0 10px}
.rol-where__d{color:#474A4A;font-size:15px;line-height:1.55;margin:0}
@media(max-width:720px){.rol-where{grid-template-columns:1fr;gap:14px}.rol-where__card{padding:24px 24px 22px}}

/* Особенности — убрать фон, оставить только номер+текст */
.rol-feature{background:transparent;padding:26px 24px 24px 68px}
.rol-feature:hover{background:transparent;transform:none}

/* Особенности — вернуть фон карточкам, блок остаётся без фона */
.rol-feature{background:#F1F4F4;padding:26px 24px 24px 68px}
.rol-feature:hover{background:#eae2fa;transform:translateY(-2px)}
.rol-features{background:transparent;padding:0}

/* Особенности — блок без серого фона container-bg */
.advantages-product--nobg{background:transparent!important}
.advantages-product--nobg::before,.advantages-product--nobg::after{display:none!important}

/* Особенности — padding-bottom на wrapper */
.advantages-product--nobg{padding-bottom:60px}
@media(max-width:900px){.advantages-product--nobg{padding-bottom:40px}}

/* === Rolletnye subpages: hero media + content polish (2026-09-02) === */
.setka-detail--vsn .rol-hero-media {
	width: calc(31% - 25px);
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(180deg,#f7f4ff 0%,#eee8ff 100%);
	border-radius: 22px;
	padding: 24px;
	box-shadow: 0 8px 28px rgba(76,45,180,.08);
}
.setka-detail--vsn .rol-hero-media img {
	width: 100%;
	height: auto;
	max-height: 420px;
	object-fit: contain;
	display: block;
}
@media (max-width: 1240px) {
	.setka-detail--vsn .rol-hero-media { width: 100%; margin-bottom: 20px; }
	.setka-detail--vsn .rol-hero-media img { max-height: 300px; }
}
@media (max-width: 768px) {
	.setka-detail--vsn .rol-hero-media { padding: 16px; border-radius: 16px; }
	.setka-detail--vsn .rol-hero-media img { max-height: 240px; }
}

/* Content wrap */
.rol-content-wrap {
	padding: 40px 0 20px;
}
.rol-content-block {
	background: #fff;
	border-radius: 22px;
	padding: 36px 40px;
	box-shadow: 0 4px 24px rgba(76,45,180,.06);
	margin-bottom: 28px;
}
.rol-content-block .setka-detail__content-text p {
	font-size: 16px;
	line-height: 1.7;
	color: #2d2d3d;
	margin: 0 0 14px;
}
.rol-content-block .setka-detail__content-text p:last-child { margin-bottom: 0; }
.rol-content-block .setka-detail__content-text a {
	color: #7448ff;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Features as card grid */
.rol-features-block {
	margin-bottom: 40px;
}
.rol-features-block .setka-detail__features-title {
	font-size: 28px;
	line-height: 1.25;
	font-weight: 700;
	color: #1e1e2b;
	margin: 0 0 24px;
	text-align: left;
}
.rol-features-block .setka-detail__features-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
.rol-features-block .setka-detail__features-item {
	background: linear-gradient(180deg,#fff 0%,#faf8ff 100%);
	border: 1px solid #ece5ff;
	border-radius: 18px;
	padding: 24px 26px;
	position: relative;
	transition: transform .2s ease, box-shadow .2s ease;
	margin-top: 0 !important;
}
.rol-features-block .setka-detail__features-item::before {
	content: '';
	position: absolute;
	top: 0; left: 0;
	width: 4px; height: 100%;
	background: linear-gradient(180deg,#7448ff 0%,#a67dff 100%);
	border-radius: 18px 0 0 18px;
}
.rol-features-block .setka-detail__features-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(76,45,180,.1);
}
.rol-features-block .setka-detail__features-name {
	font-size: 17px;
	font-weight: 700;
	color: #1e1e2b;
	margin-bottom: 10px !important;
	line-height: 1.35;
}
.rol-features-block .setka-detail__features-text {
	font-size: 15px;
	line-height: 1.6;
	color: #4a4a5a;
}
@media (max-width: 991px) {
	.rol-features-block .setka-detail__features-list { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
	.rol-content-wrap { padding: 24px 0 12px; }
	.rol-content-block { padding: 22px 20px; border-radius: 18px; }
	.rol-content-block .setka-detail__content-text p { font-size: 15px; }
	.rol-features-block .setka-detail__features-title { font-size: 22px; margin-bottom: 18px; }
	.rol-features-block .setka-detail__features-item { padding: 18px 20px; border-radius: 14px; }
	.rol-features-block .setka-detail__features-name { font-size: 16px; }
	.rol-features-block .setka-detail__features-text { font-size: 14px; }
}

/* === na-balkonnuyu-dver: redesigned content blocks (2026-09-02) === */

/* Lead card — большой цитата-абзац */
.rol-lead-card {
	background: linear-gradient(135deg, #f3edff 0%, #ede4ff 100%);
	border-left: 5px solid #7448ff;
	border-radius: 18px;
	padding: 28px 34px;
	margin-bottom: 32px;
	position: relative;
}
.rol-lead-card::before {
	content: '"';
	position: absolute;
	top: -10px; left: 20px;
	font-size: 90px;
	color: #7448ff;
	opacity: 0.15;
	line-height: 1;
	font-family: Georgia, serif;
}
.rol-lead-card__text {
	font-size: 19px;
	line-height: 1.55;
	color: #1e1e2b;
	margin: 0;
	position: relative;
}

/* Explain grid — 3 карточки с иконками */
.rol-explain-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 32px;
}
.rol-explain-card {
	background: #fff;
	border: 1px solid #ede8fa;
	border-radius: 20px;
	padding: 28px 24px;
	box-shadow: 0 4px 16px rgba(76,45,180,.05);
	transition: transform .25s ease, box-shadow .25s ease;
}
.rol-explain-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(76,45,180,.12);
}
.rol-explain-card__icon {
	width: 56px; height: 56px;
	background: linear-gradient(135deg, #f3edff 0%, #e5d8ff 100%);
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	margin-bottom: 18px;
}
.rol-explain-card__title {
	font-size: 18px;
	font-weight: 700;
	color: #1e1e2b;
	margin: 0 0 12px;
	line-height: 1.3;
}
.rol-explain-card p {
	font-size: 15px;
	line-height: 1.6;
	color: #4a4a5a;
	margin: 0;
}
.rol-explain-card p a {
	color: #7448ff;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Conclusion — итоговый блок с галочкой */
.rol-conclusion {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	background: linear-gradient(135deg, #7448ff 0%, #9a6dff 100%);
	color: #fff;
	border-radius: 20px;
	padding: 26px 32px;
	margin-bottom: 44px;
	box-shadow: 0 12px 30px rgba(116,72,255,.25);
}
.rol-conclusion__badge {
	flex-shrink: 0;
	width: 44px; height: 44px;
	background: rgba(255,255,255,.2);
	border: 2px solid rgba(255,255,255,.4);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	font-weight: 700;
}
.rol-conclusion__text {
	font-size: 17px;
	line-height: 1.55;
	margin: 0;
	color: #fff;
}
.rol-conclusion__text b { color: #fff; }

/* Why-grid — «Почему выбирают» с номерами */
.rol-why-title {
	font-size: 30px;
	font-weight: 700;
	color: #1e1e2b;
	margin: 0 0 24px;
	line-height: 1.25;
}
.rol-why-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 40px;
}
.rol-why-card {
	background: #fff;
	border: 1px solid #ede8fa;
	border-radius: 20px;
	padding: 30px 26px 26px;
	position: relative;
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
}
.rol-why-card::after {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0; height: 4px;
	background: linear-gradient(90deg, #7448ff 0%, #a67dff 100%);
}
.rol-why-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(76,45,180,.12);
}
.rol-why-card__num {
	font-size: 40px;
	font-weight: 800;
	line-height: 1;
	background: linear-gradient(135deg, #7448ff 0%, #b389ff 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	margin-bottom: 14px;
}
.rol-why-card__title {
	font-size: 18px;
	font-weight: 700;
	color: #1e1e2b;
	margin: 0 0 10px;
	line-height: 1.3;
}
.rol-why-card p {
	font-size: 15px;
	line-height: 1.6;
	color: #4a4a5a;
	margin: 0;
}

@media (max-width: 991px) {
	.rol-explain-grid, .rol-why-grid { grid-template-columns: 1fr; }
	.rol-why-title { font-size: 24px; }
}
@media (max-width: 768px) {
	.rol-lead-card { padding: 20px 22px; border-radius: 14px; }
	.rol-lead-card__text { font-size: 16px; }
	.rol-explain-card { padding: 22px 20px; border-radius: 16px; }
	.rol-conclusion { flex-direction: column; padding: 22px 22px; border-radius: 16px; gap: 14px; }
	.rol-conclusion__text { font-size: 15px; }
	.rol-why-title { font-size: 22px; margin-bottom: 18px; }
	.rol-why-card { padding: 24px 22px 22px; border-radius: 16px; }
	.rol-why-card__num { font-size: 34px; }
}

/* balk-topfix (2026-09-02) */
.rol-content-wrap { padding-top: 60px; }
.rol-explain-card__icon { display: none !important; }

/* balk-lead-spacing (2026-09-02) */
.rol-lead-card { margin-top: 40px; padding-top: 44px; }
@media (max-width: 768px) {
	.rol-lead-card { margin-top: 24px; padding-top: 36px; }
}

/* rol-media-nobg (2026-09-02) */
.setka-detail--vsn .rol-hero-media {
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
}

/* rol-why-title-suitable (2026-09-02) */
.rol-why-title {
	font-family: 'Golos Text', sans-serif;
	font-style: normal;
	font-weight: 600;
	font-size: 50px;
	line-height: 110%;
	letter-spacing: 0;
	color: #2C2F37;
	margin: 0 0 30px;
}
@media (max-width: 768px) {
	.rol-why-title { font-size: 24px; }
}

/* === dvernye page: magnit/sizes/mount/guarantee blocks (2026-09-02) === */

/* Магнитная штора-блок */
.rol-magnit-block {
	background: #fff;
	border: 1px solid #ede8fa;
	border-radius: 22px;
	padding: 32px 36px;
	margin-bottom: 40px;
	box-shadow: 0 4px 20px rgba(76,45,180,.05);
}
.rol-magnit-block__lead {
	font-size: 17px;
	line-height: 1.6;
	color: #2d2d3d;
	margin: 0 0 24px;
}
.rol-magnit-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-bottom: 22px;
}
.rol-magnit-card {
	background: linear-gradient(180deg,#faf8ff 0%,#f3edff 100%);
	border-radius: 16px;
	padding: 22px 22px;
}
.rol-magnit-card h3 {
	font-size: 17px;
	font-weight: 700;
	color: #1e1e2b;
	margin: 0 0 10px;
}
.rol-magnit-card p {
	font-size: 15px;
	line-height: 1.6;
	color: #4a4a5a;
	margin: 0;
}
.rol-magnit-block__cta {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin: 0;
}
.rol-magnit-block__btn {
	display: inline-block;
	padding: 14px 24px;
	background: #7448ff;
	color: #fff !important;
	border-radius: 12px;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none !important;
	transition: background .2s ease;
}
.rol-magnit-block__btn:hover { background: #6236e6; }
.rol-magnit-block__btn--outline {
	background: transparent;
	color: #7448ff !important;
	border: 2px solid #7448ff;
	padding: 12px 22px;
}
.rol-magnit-block__btn--outline:hover { background: #f3edff; }

/* Таблица размеров */
.rol-sizes-block {
	background: #fff;
	border: 1px solid #ede8fa;
	border-radius: 22px;
	padding: 32px 36px;
	margin-bottom: 40px;
	box-shadow: 0 4px 20px rgba(76,45,180,.05);
}
.rol-sizes-block__lead, .rol-sizes-block__note {
	font-size: 16px;
	line-height: 1.6;
	color: #2d2d3d;
}
.rol-sizes-block__lead { margin: 0 0 22px; }
.rol-sizes-block__note { margin: 20px 0 0; }
.rol-sizes-block__note a { color: #7448ff; text-decoration: underline; text-underline-offset: 2px; }
.rol-sizes-table-wrap { overflow-x: auto; }
.rol-sizes-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}
.rol-sizes-table th {
	background: linear-gradient(135deg,#7448ff 0%,#9a6dff 100%);
	color: #fff;
	padding: 14px 18px;
	text-align: left;
	font-weight: 600;
}
.rol-sizes-table th:first-child { border-top-left-radius: 12px; }
.rol-sizes-table th:last-child { border-top-right-radius: 12px; }
.rol-sizes-table td {
	padding: 14px 18px;
	border-bottom: 1px solid #ece5ff;
	color: #2d2d3d;
}
.rol-sizes-table td:first-child { font-weight: 600; }
.rol-sizes-table tr:last-child td { border-bottom: none; }
.rol-sizes-table tr:nth-child(even) td { background: #faf8ff; }

/* Монтаж — шаги */
.rol-mount-block { margin-bottom: 40px; }
.rol-mount-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.rol-mount-step {
	background: #fff;
	border: 1px solid #ede8fa;
	border-radius: 20px;
	padding: 28px 26px;
	position: relative;
	box-shadow: 0 4px 16px rgba(76,45,180,.05);
}
.rol-mount-step__num {
	width: 46px; height: 46px;
	background: linear-gradient(135deg,#7448ff 0%,#a67dff 100%);
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 16px;
}
.rol-mount-step h3 {
	font-size: 18px;
	font-weight: 700;
	color: #1e1e2b;
	margin: 0 0 10px;
}
.rol-mount-step p {
	font-size: 15px;
	line-height: 1.6;
	color: #4a4a5a;
	margin: 0;
}

/* Гарантия + CTA */
.rol-guarantee-cta {
	background: linear-gradient(135deg,#f3edff 0%,#ebe0ff 100%);
	border-radius: 22px;
	padding: 36px 40px;
	margin-bottom: 40px;
}
.rol-guarantee-cta__title {
	font-family: 'Golos Text', sans-serif;
	font-size: 32px;
	font-weight: 600;
	color: #2C2F37;
	margin: 0 0 18px;
	line-height: 1.2;
}
.rol-guarantee-cta__body p {
	font-size: 16px;
	line-height: 1.6;
	color: #2d2d3d;
	margin: 0 0 18px;
}
.rol-guarantee-cta__actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin: 22px 0 18px;
}
.rol-guarantee-cta__actions .b-btn {
	padding: 14px 24px;
	font-size: 15px;
	font-weight: 600;
	border-radius: 12px;
	text-decoration: none;
	display: inline-block;
}
.rol-guarantee-cta__actions .b-btn--outline {
	background: transparent;
	color: #7448ff;
	border: 2px solid #7448ff;
	padding: 12px 22px;
}
.rol-guarantee-cta__actions .b-btn--outline:hover { background: #fff; }
.rol-guarantee-cta__hint {
	font-size: 14px !important;
	color: #5a5a6a !important;
	margin: 0 !important;
}

@media (max-width: 991px) {
	.rol-magnit-grid, .rol-mount-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
	.rol-magnit-block, .rol-sizes-block, .rol-guarantee-cta { padding: 22px 20px; border-radius: 16px; }
	.rol-magnit-block__lead, .rol-sizes-block__lead { font-size: 15px; }
	.rol-magnit-card, .rol-mount-step { padding: 20px 18px; border-radius: 14px; }
	.rol-guarantee-cta__title { font-size: 24px; }
	.rol-sizes-table th, .rol-sizes-table td { padding: 10px 12px; font-size: 14px; }
}

/* dvernye-hero-grid (2026-09-02) */
.setka-detail--dvernye {
	display: grid;
	grid-template-columns: minmax(280px, 34%) 1fr;
	grid-template-areas:
		"head  head"
		"media offer";
	gap: 20px 32px;
	align-items: start;
}
.setka-detail--dvernye .setka-detail__head { grid-area: head; }
.setka-detail--dvernye .rol-hero-media { grid-area: media; width: 100% !important; }
.setka-detail--dvernye .setka-detail__container { grid-area: offer; width: 100% !important; }
@media (max-width: 991px) {
	.setka-detail--dvernye {
		grid-template-columns: 1fr;
		grid-template-areas: "head" "media" "offer";
	}
}

/* dvernye-when-cards (2026-09-02) */
.rol-when-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
	margin-bottom: 40px;
}
.rol-when-card {
	background: #fff;
	border-radius: 20px;
	padding: 28px 30px;
	box-shadow: 0 4px 20px rgba(76,45,180,.06);
	border: 1px solid #ece5ff;
}
.rol-when-card--yes { border-top: 4px solid #22c07a; }
.rol-when-card--no  { border-top: 4px solid #ff8f3d; }
.rol-when-card__head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 18px;
}
.rol-when-card__icon {
	flex-shrink: 0;
	width: 40px; height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	line-height: 1;
}
.rol-when-card--yes .rol-when-card__icon { background: #22c07a; }
.rol-when-card--no  .rol-when-card__icon { background: #ff8f3d; }
.rol-when-card__title {
	font-size: 18px;
	font-weight: 700;
	color: #1e1e2b;
	margin: 0;
	line-height: 1.3;
}
.rol-when-card__list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.rol-when-card__list li {
	position: relative;
	padding: 8px 0 8px 26px;
	font-size: 15px;
	line-height: 1.55;
	color: #3a3a4a;
	border-bottom: 1px solid #f3eefc;
}
.rol-when-card__list li:last-child { border-bottom: none; }
.rol-when-card__list li::before {
	content: '';
	position: absolute;
	left: 4px;
	top: 16px;
	width: 8px; height: 8px;
	border-radius: 50%;
}
.rol-when-card--yes .rol-when-card__list li::before { background: #22c07a; }
.rol-when-card--no  .rol-when-card__list li::before { background: #ff8f3d; }
.rol-when-card__list a { color: #7448ff; text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 991px) {
	.rol-when-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
	.rol-when-card { padding: 22px 20px; border-radius: 16px; }
	.rol-when-card__title { font-size: 16px; }
}

/* rol-cardblock (2026-09-02) — унификация фонов с container-bg */
.rol-cardblock.container-bg {
	margin: 0 auto 60px;
	padding: 60px 40px;
	max-width: 1820px;
	border-radius: 30px;
	background: #fff;
}
.rol-cardblock.container-bg .product-advantages__title {
	font-family: 'Golos Text', sans-serif;
	font-size: 40px;
	font-weight: 600;
	text-align: left;
	color: #2C2F37;
	margin: 0 0 30px;
	line-height: 1.15;
}
/* Override guarantee-cta inside cardblock — no gradient bg */
.rol-cardblock .rol-guarantee-cta__body { padding: 0; }
.rol-cardblock .rol-guarantee-cta__body p { font-size: 16px; color: #2d2d3d; }
@media (max-width: 1240px) {
	.rol-cardblock.container-bg { padding: 40px 30px; }
	.rol-cardblock.container-bg .product-advantages__title { font-size: 30px; }
}
@media (max-width: 768px) {
	.rol-cardblock.container-bg { padding: 30px 20px; border-radius: 16px; margin: 0 auto 30px; }
	.rol-cardblock.container-bg .product-advantages__title { font-size: 24px; }
}
/* Reset the standalone rol-guarantee-cta gradient — now it lives inside cardblock */
.rol-guarantee-cta {
	background: transparent !important;
	padding: 0 !important;
	margin-bottom: 0 !important;
}
.rol-guarantee-cta__title { display: none; }

/* Отступы между блоками — ramochnye */
.vsn-fit-section {
	padding-top: 56px;
}
@media (max-width: 768px) {
	.vsn-fit-section {
		padding-top: 40px;
	}
}

/* Отступ между галереей/оффером и статистикой */
.setka-detail--vsn .super-offer-stats {
	margin-top: 32px;
}

/* VSN E-E-A-T meta-band (2026-09-11) */
.vsn-meta-band {
	padding: 20px 0 8px;
}
.vsn-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: #f7f4ff;
	border-left: 4px solid #8639F1;
	border-radius: 14px;
	padding: 16px 22px;
}
.vsn-meta__author {
	display: flex;
	align-items: center;
	gap: 14px;
}
.vsn-meta__avatar {
	width: 44px; height: 44px;
	border-radius: 50%;
	background: linear-gradient(135deg,#8639F1,#a06bff);
	color: #fff;
	display: flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 15px;
	flex-shrink: 0;
}
.vsn-meta__name {
	font-family: 'Mulish','Golos Text',sans-serif;
	font-weight: 700; font-size: 16px; color: #2C2F37;
	line-height: 1.2;
}
.vsn-meta__role {
	font-size: 13px; color: #6c7787; margin-top: 2px;
}
.vsn-meta__date {
	display: flex; align-items: center; gap: 8px;
	font-size: 14px; color: #474A4A;
	background: #fff;
	padding: 8px 14px;
	border-radius: 999px;
}
.vsn-meta__date svg { color: #8639F1; flex-shrink: 0; }
@media (max-width: 640px) {
	.vsn-meta { flex-direction: column; align-items: flex-start; padding: 14px 16px; }
	.vsn-meta__avatar { width: 38px; height: 38px; font-size: 13px; }
}

/* master avatar as image (2026-09-11) */
.vsn-meta__avatar--img {
	padding: 0 !important;
	overflow: hidden;
	background: #eee !important;
	color: transparent !important;
	display: block;
}
.vsn-meta__avatar--img img {
	width: 100%; height: 100%;
	object-fit: cover; display: block;
	border-radius: 50%;
}
.vsn-meta__name a {
	color: inherit; text-decoration: none;
	border-bottom: 1px dashed rgba(134,57,241,.4);
}
.vsn-meta__name a:hover { color: #8639F1; border-bottom-color: #8639F1; }
