/* ===== ZZ custom v2: блок доверия у кнопки покупки ===== */
.zz-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 14px 0 6px;
	padding: 12px 16px;
	background: #f8f5fd;
	border: 1px solid #ece5f8;
	border-radius: 12px;
}
.zz-trust__item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	line-height: 1.3;
	color: #4a4a4a;
}
.zz-trust__item i {
	color: #522799;
	font-size: 15px;
	width: 18px;
	text-align: center;
}

/* ===== ZZ custom v2: описание товара ===== */
@keyframes zzFadeUp {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: no-preference) {
	#tab-description { animation: zzFadeUp .45s ease both; }
}

#tab-description {
	font-size: 15px;
	line-height: 1.75;
	color: #3a3a3a;
}
#tab-description p { margin: 0 0 14px; }
#tab-description strong { color: #1e2028; }
#tab-description a { color: #522799; text-decoration: underline; }
#tab-description hr { border: none; border-top: 1px solid #ece6f7; margin: 22px 0; }

/* хлебная строка "IT · Искусственный интеллект" */
#tab-description .zz-crumb {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #522799;
	background: #f3edfc;
	border: 1px solid #e5d9f8;
	padding: 5px 14px;
	border-radius: 999px;
	margin: 0 0 18px;
}
#tab-description .zz-crumb::before {
	content: '';
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #7b4fd0;
}

/* главный заголовок описания */
#tab-description .zz-title {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	color: #1e2028;
	margin: 0 0 16px;
	padding: 0 0 12px;
	border-bottom: none;
	position: relative;
}
#tab-description .zz-title::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 90px;
	height: 3px;
	border-radius: 2px;
	background: linear-gradient(90deg, #522799, #9a6ff2);
}

/* лид-абзац: градиентная карточка */
#tab-description .zz-lead {
	font-size: 16.5px;
	line-height: 1.7;
	color: #333;
	background: linear-gradient(135deg, #f7f3fe 0%, #efe8fc 100%);
	border: 1px solid #e7ddf9;
	border-left: 4px solid #522799;
	padding: 18px 22px;
	border-radius: 0 14px 14px 0;
	margin: 0 0 24px;
	box-shadow: 0 6px 20px rgba(82, 39, 153, .07);
}

/* блок характеристик "Уровень / Для кого / Формат..." */
#tab-description .zz-spec {
	background: #fbfaff;
	border: 1px solid #eee7fa;
	border-radius: 14px;
	padding: 6px 20px;
	margin: 0 0 26px;
	box-shadow: 0 4px 14px rgba(82, 39, 153, .05);
}
#tab-description .zz-spec > p {
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 10px 0;
	margin: 0;
	border-bottom: 1px dashed #e3d9f5;
	font-size: 14.5px;
}
#tab-description .zz-spec > p:last-child { border-bottom: none; }
#tab-description .zz-spec > p::before {
	content: '\f111';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	font-size: 6px;
	color: #7b4fd0;
	flex: 0 0 auto;
	transform: translateY(-2px);
}

/* секционные заголовки */
#tab-description h2:not(.zz-title) {
	font-size: 21px;
	font-weight: 700;
	color: #1e2028;
	margin: 34px 0 16px;
	padding-bottom: 9px;
	border-bottom: 2px solid #ece6f7;
	position: relative;
}
#tab-description h2:not(.zz-title)::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 70px;
	height: 2px;
	background: #522799;
}
#tab-description h3 {
	font-size: 18px;
	font-weight: 600;
	color: #1e2028;
	margin: 26px 0 12px;
}
#tab-description h4 {
	font-size: 16px;
	font-weight: 600;
	color: #2a2a2a;
	margin: 20px 0 10px;
}

/* списки с галочками */
#tab-description ul {
	list-style: none;
	padding: 0;
	margin: 0 0 18px;
}
#tab-description ul > li {
	position: relative;
	padding: 8px 14px 8px 34px;
	margin-bottom: 6px;
	background: #fbfaff;
	border: 1px solid #f0eafb;
	border-radius: 10px;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
#tab-description ul > li:hover {
	transform: translateX(4px);
	border-color: #d9c8f5;
	box-shadow: 0 4px 14px rgba(82, 39, 153, .08);
}
#tab-description ul > li::before {
	content: '\f00c';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: absolute;
	left: 13px;
	top: 11px;
	color: #7b4fd0;
	font-size: 12px;
}

/* нумерованные списки */
#tab-description ol {
	list-style: none;
	counter-reset: zzol;
	padding: 0;
	margin: 0 0 18px;
}
#tab-description ol > li {
	counter-increment: zzol;
	position: relative;
	padding-left: 40px;
	margin-bottom: 12px;
}
#tab-description ol > li::before {
	content: counter(zzol);
	position: absolute;
	left: 0;
	top: 0;
	width: 26px;
	height: 26px;
	line-height: 26px;
	text-align: center;
	background: linear-gradient(135deg, #f0eafa, #e2d5f8);
	color: #522799;
	border-radius: 50%;
	font-size: 12.5px;
	font-weight: 700;
	box-shadow: 0 2px 6px rgba(82, 39, 153, .12);
}

/* врезки-курьезы */
#tab-description p > em:only-child {
	display: block;
	font-style: italic;
	color: #5a5a5a;
	background: #faf8ff;
	border-left: 3px solid #c9b3ef;
	padding: 12px 16px;
	border-radius: 0 10px 10px 0;
	margin: 16px 0;
}

/* таблицы */
#tab-description table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin: 16px 0 20px;
	font-size: 14px;
	border: 1px solid #eee6f9;
	border-radius: 10px;
	overflow: hidden;
}
#tab-description th,
#tab-description td {
	padding: 10px 14px;
	text-align: left;
	border-bottom: 1px solid #f1ecf9;
	vertical-align: top;
}
#tab-description table tr:first-child td,
#tab-description thead th {
	background: #f6f2fc;
	font-weight: 600;
	color: #1e2028;
}
#tab-description table tr:nth-child(even) td { background: #fbfaff; }
#tab-description table tr:last-child td { border-bottom: none; }

#tab-description img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
	box-shadow: 0 4px 18px rgba(82, 39, 153, .10);
	margin: 14px 0;
}

/* ===== ZZ custom v2: FAQ-аккордеон ===== */
#tab-description .zz-faq {
	margin: 0 0 22px;
}
#tab-description .zz-faq__item {
	border: 1px solid #eee7fa;
	border-radius: 12px;
	background: #fbfaff;
	margin-bottom: 8px;
	overflow: hidden;
	transition: box-shadow .2s ease, border-color .2s ease;
}
#tab-description .zz-faq__item:hover {
	border-color: #d9c8f5;
}
#tab-description .zz-faq__item[open] {
	background: #fff;
	border-color: #d9c8f5;
	box-shadow: 0 6px 18px rgba(82, 39, 153, .08);
}
#tab-description .zz-faq__q {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	list-style: none;
	padding: 13px 16px;
	font-weight: 600;
	font-size: 15px;
	color: #1e2028;
	position: relative;
	user-select: none;
}
#tab-description .zz-faq__q::-webkit-details-marker { display: none; }
#tab-description .zz-faq__q::before {
	content: '\f067';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	font-size: 11px;
	color: #7b4fd0;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	background: #f0eafa;
	border-radius: 50%;
	flex: 0 0 auto;
	transition: transform .25s ease, background .25s ease;
}
#tab-description .zz-faq__item[open] .zz-faq__q::before {
	content: '\f068';
	background: #522799;
	color: #fff;
}
#tab-description .zz-faq__a {
	padding: 0 16px 14px 46px;
	color: #4a4a4a;
	font-size: 14.5px;
}
@media (prefers-reduced-motion: no-preference) {
	#tab-description .zz-faq__item[open] .zz-faq__a { animation: zzFadeUp .3s ease both; }
}
#tab-description .zz-faq__a p { margin: 0 0 8px; }
#tab-description .zz-faq__a p:last-child { margin-bottom: 0; }

/* ===== ZZ custom v3: карточки товаров ===== */
/* мягкая тень при наведении, без сдвига */
.uni-module .product-thumb:not(.hover),
.grid-view .product-thumb:not(.hover) {
	transition: box-shadow .25s ease;
}
.uni-module .product-thumb:not(.hover):hover,
.grid-view .product-thumb:not(.hover):hover {
	box-shadow: 0 8px 26px rgba(82, 39, 153, .13);
}
/* фото: аккуратное скругление, без растяжения на всю ширину */
.uni-module .product-thumb__image,
.grid-view .product-thumb__image {
	overflow: hidden;
	border-radius: 8px;
}
/* сердечко и сравнение с тенью, чтобы не терялись на фото */
.uni-module .product-thumb__wishlist,
.uni-module .product-thumb__compare,
.grid-view .product-thumb__wishlist,
.grid-view .product-thumb__compare {
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}
/* название: полностью, без обрезки */
.uni-module .product-thumb__name,
.grid-view .product-thumb__name {
	font-weight: 600;
}
/* число отзывов скрыто */
.uni-module .product-thumb__rating-text,
.grid-view .product-thumb__rating-text {
	display: none;
}
/* цена заметнее */
.uni-module .product-thumb__price,
.grid-view .product-thumb__price {
	font-weight: 700;
	color: #1e2028;
}
/* кнопка покупки: плавная смена цвета */
.uni-module .product-thumb__add-to-cart,
.grid-view .product-thumb__add-to-cart {
	transition: background .2s ease, transform .15s ease;
}
.uni-module .product-thumb__add-to-cart:active,
.grid-view .product-thumb__add-to-cart:active {
	transform: scale(.96);
}
/* микро-строка доверия под кнопкой покупки */
.uni-module .product-thumb__price-cart,
.grid-view .product-thumb__price-cart {
	flex-wrap: wrap;
}
.uni-module .product-thumb__price-cart::after,
.grid-view .product-thumb__price-cart::after {
	content: '\2713\00a0 Доступ сразу после оплаты';
	font-size: 11.5px;
	color: #6f6390;
	flex: 1 1 100%;
	margin-top: 9px;
	text-align: center;
}
/* бейджи: плотнее и заметнее */
.uni-module .sticker__item,
.grid-view .sticker__item {
	opacity: 1;
	font-weight: 600;
	font-size: 11.5px;
	padding: 3px 11px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}

/* ===== ZZ custom v3: характеристики в карточке (чипсы с подписями) ===== */
body:not(.touch-support) .product-thumb .attribute { display: block !important; }
.uni-module .product-thumb__attribute,
.grid-view .product-thumb__attribute {
	display: flex !important;
	flex-wrap: wrap;
	gap: 5px 6px;
	margin: 0 0 12px !important;
	font-size: 0;
}
.uni-module .product-thumb__attribute-value,
.grid-view .product-thumb__attribute-value {
	display: inline-flex;
	align-items: center;
	font-size: 11.5px;
	line-height: 1.3;
	color: #4a4a4a;
	background: #f3effb;
	border: 1px solid #e6dcf7;
	padding: 3px 9px;
	border-radius: 999px;
}
.uni-module .product-thumb__attribute-value:not(:last-child):after,
.grid-view .product-thumb__attribute-value:not(:last-child):after { content: none; }

/* ===== ZZ custom v2: описание категории ===== */
.category-info__description {
	font-size: 14.5px;
	line-height: 1.7;
	color: #3a3a3a;
}
.category-info__description h2 {
	font-size: 20px;
	font-weight: 700;
	color: #1e2028;
	margin: 28px 0 12px;
	padding-bottom: 8px;
	border-bottom: 2px solid #ece6f7;
	position: relative;
}
.category-info__description h2::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 60px;
	height: 2px;
	background: #522799;
}
.category-info__description h3 {
	font-size: 17px;
	font-weight: 600;
	margin: 20px 0 10px;
	color: #1e2028;
}
.category-info__description p { margin: 0 0 12px; }
.category-info__description ul {
	list-style: none;
	padding: 0;
	margin: 0 0 14px;
}
.category-info__description ul > li {
	position: relative;
	padding-left: 24px;
	margin-bottom: 7px;
}
.category-info__description ul > li::before {
	content: '\f111';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: absolute;
	left: 2px;
	top: 6px;
	color: #7b4fd0;
	font-size: 6px;
}
.category-info__description img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
	margin: 12px 0;
}
.category-info__description div[class*="card"],
.category-info__description .zz-card {
	transition: transform .25s ease, box-shadow .25s ease;
}
.category-info__description div[class*="card"]:hover,
.category-info__description .zz-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 24px rgba(82, 39, 153, .12);
}

/* ===== ZZ custom v6: карточка курса - дизайн v2 ===== */

/* 1. Каркас: белая карточка с рамкой и скруглением */
.uni-module .product-thumb:not(.hover),
.grid-view .product-thumb:not(.hover) {
	background: #fff;
	border: 1px solid #ecedf2;
	border-radius: 12px;
	overflow: hidden;
	transition: box-shadow .25s ease, border-color .25s ease;
}
.uni-module .product-thumb:not(.hover):hover,
.grid-view .product-thumb:not(.hover):hover {
	box-shadow: 0 10px 30px rgba(82, 39, 153, .14);
	border-color: #e2d9f5;
}

/* 2. Фото: на всю ширину карточки, единые пропорции 3:2, плавный зум */
.uni-module .product-thumb__image,
.grid-view .product-thumb__image {
	margin: 0;
	padding: 0;
	border-radius: 0;
	overflow: hidden;
}
.uni-module .product-thumb__image img,
.grid-view .product-thumb__image img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}
.uni-module .product-thumb:not(.hover):hover .product-thumb__image img,
.grid-view .product-thumb:not(.hover):hover .product-thumb__image img {
	transform: scale(1.05);
}

/* 3. Бейдж и сердечко - по углам фото */
.uni-module .product-thumb .sticker,
.grid-view .product-thumb .sticker {
	top: 10px;
	left: 10px;
}
.uni-module .product-thumb__wishlist,
.uni-module .product-thumb__compare,
.grid-view .product-thumb__wishlist,
.grid-view .product-thumb__compare {
	top: 10px;
	right: 10px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}

/* 4. Тело карточки: отступы внутри рамки */
.uni-module .product-thumb__caption,
.grid-view .product-thumb__caption {
	flex: 1 1 auto;
	padding: 14px 14px 14px;
}

/* 5. Название: без обрезки, минимум 2 строки для ровного ритма.
   Свободное место уходит вниз, над ценой */
.uni-module .product-thumb__name,
.grid-view .product-thumb__name {
	margin: 0 0 8px;
	min-height: 2.7em;
	font-weight: 600;
	font-size: 14.5px;
	line-height: 1.35;
}
.uni-module .product-thumb__description,
.grid-view .product-thumb__description {
	display: none !important;
}

/* 6. Характеристики: аккуратный мини-список, без плашек */
.uni-module .product-thumb__attribute,
.grid-view .product-thumb__attribute {
	display: flex !important;
	flex-direction: column;
	gap: 3px;
	margin: 0 0 10px !important;
	padding: 8px 0 2px;
	border-top: 1px solid #f1eef8;
	font-size: 12.5px;
	line-height: 1.4;
}
.uni-module .product-thumb__attribute-value,
.grid-view .product-thumb__attribute-value {
	display: block;
	color: #3a3a3a;
}
.uni-module .product-thumb__attribute-value .attr-name,
.grid-view .product-thumb__attribute-value .attr-name {
	color: #9a93ad;
	font-weight: 400;
}
.uni-module .product-thumb__attribute-value:not(:last-child):after,
.grid-view .product-thumb__attribute-value:not(:last-child):after {
	content: none;
}

/* 7. Наличие и рейтинг - компактно, без числа отзывов */
.uni-module .product-thumb .qty-indicator,
.grid-view .product-thumb .qty-indicator {
	margin: 0 0 6px;
	font-size: 12px;
}
.uni-module .product-thumb__rating,
.grid-view .product-thumb__rating {
	margin: 0;
	font-size: 12px;
}
.uni-module .product-thumb__rating-text,
.grid-view .product-thumb__rating-text {
	display: none;
}

/* 8. Цена и кнопка: прижаты к низу карточки, строка доверия под ними */
.uni-module .product-thumb__price-cart,
.grid-view .product-thumb__price-cart {
	margin-top: auto;
	padding-top: 12px;
	flex-wrap: wrap;
}
.uni-module .product-thumb__price,
.grid-view .product-thumb__price {
	font-weight: 700;
	color: #1e2028;
}
.uni-module .product-thumb__add-to-cart,
.grid-view .product-thumb__add-to-cart {
	transition: background .2s ease, transform .15s ease;
}
.uni-module .product-thumb__add-to-cart:active,
.grid-view .product-thumb__add-to-cart:active {
	transform: scale(.96);
}
.uni-module .product-thumb__price-cart::after,
.grid-view .product-thumb__price-cart::after {
	content: '\2713\00a0 Доступ сразу после оплаты';
	font-size: 11.5px;
	color: #6f6390;
	flex: 1 1 100%;
	margin-top: 9px;
	text-align: center;
}

/* 9. Бейджи: плотные и заметные */
.uni-module .sticker__item,
.grid-view .sticker__item {
	opacity: 1;
	font-weight: 600;
	font-size: 11.5px;
	padding: 3px 11px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}

/* ===== ZZ custom v8: характеристики - финальный сброс плашечных стилей ===== */
.uni-module .product-thumb__attribute-value,
.grid-view .product-thumb__attribute-value {
	background: none !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
}

/* ===== ZZ custom v9: страница товара - доверие, продажи, отзывы, sticky-buy ===== */

/* звезды + число отзывов в колонке покупки */
.zz-buy-rating {
	margin: 10px 0 4px;
	font-size: 14px;
	color: #f5a623;
	cursor: pointer;
}
.zz-buy-rating__count {
	color: #9a93ad;
	font-size: 12.5px;
	margin-left: 6px;
}

/* счетчик продаж */
.zz-sales {
	margin: 0 0 10px;
	font-size: 12.5px;
	color: #6f6390;
}
.zz-sales i {
	margin-right: 5px;
	color: #522799;
}

/* превью отзывов под описанием */
.zz-reviews-preview {
	margin-top: 26px;
	padding-top: 18px;
	border-top: 1px solid #f1eef8;
}
.zz-reviews-preview__heading {
	font-size: 17px;
	font-weight: 700;
	color: #1e2028;
	margin-bottom: 12px;
}
.zz-review {
	margin-bottom: 14px;
	padding: 12px 14px;
	background: #faf9fd;
	border: 1px solid #f0ecf9;
	border-radius: 10px;
}
.zz-review__head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 6px;
	flex-wrap: wrap;
}
.zz-review__author {
	font-weight: 600;
	color: #1e2028;
	font-size: 13.5px;
}
.zz-review__stars {
	color: #f5a623;
	font-size: 12px;
}
.zz-review__date {
	color: #b0aac4;
	font-size: 12px;
}
.zz-review__text {
	font-size: 13.5px;
	line-height: 1.55;
	color: #4a4a4a;
}
.zz-reviews-preview__all {
	display: inline-block;
	font-size: 13px;
	color: #522799;
	text-decoration: underline;
	cursor: pointer;
}

/* липкая панель покупки на мобильных */
.zz-sticky-buy {
	display: none;
}
@media (max-width: 767px) {
	.zz-sticky-buy {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1050;
		padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
		background: #fff;
		border-top: 1px solid #ecedf2;
		box-shadow: 0 -4px 20px rgba(30, 32, 40, .08);
		transform: translateY(110%);
		transition: transform .25s ease;
	}
	.zz-sticky-buy.show {
		transform: translateY(0);
	}
	.zz-sticky-buy__price {
		font-size: 19px;
		font-weight: 700;
		color: #1e2028;
		white-space: nowrap;
	}
	.zz-sticky-buy__btn {
		flex: 1 1 auto;
		max-width: 260px;
		background: #522799;
		color: #fff;
		font-weight: 600;
	}
}

/* убрать дубль заголовка: H1 страницы уже есть над фото */
#tab-description .zz-title {
	display: none;
}

/* ===== ZZ custom v10: редизайн страницы товара ===== */

/* 1. Характеристики в центральной колонке: чистые строки "Подпись: значение",
   без пунктира и разрыва слов посередине */
.product-block .product-data__item {
	align-items: baseline;
	font-size: 13.5px;
	word-break: normal;
	overflow-wrap: normal;
	line-height: 1.5;
	margin: 0 0 9px;
}
.product-block .product-data__item-div {
	width: auto;
	min-width: 0;
	color: #9a93ad;
	white-space: nowrap;
}
.product-block .product-data__item-div:first-child:after {
	flex: none;
	min-width: 0;
	margin: 0;
	border-bottom: none;
	content: ':';
	color: #9a93ad;
}
.product-block .product-data__item-div:first-child {
	margin-right: 7px;
}
.product-block .product-data {
	margin: 0 0 15px;
}

/* 2. Ценовая карточка (правая колонка): липкая, аккуратная */
@media (min-width: 1200px) {
	.product-block__right-block {
		position: sticky;
		top: 20px;
		border: 1px solid #ecedf2;
		border-radius: 14px;
		padding: 22px;
		background: #fff;
		box-shadow: 0 6px 24px rgba(82, 39, 153, .06);
	}
}
.product-block__right-block .product-page__price {
	font-size: 28px;
	font-weight: 800;
	color: #1e2028;
	margin: 0 0 4px;
}
.product-block__right-block .product-page__cart {
	margin: 12px 0 0;
}
.product-block__right-block .product-page__add-to-cart {
	flex: 1 1 100%;
	max-width: 100%;
	font-size: 16px;
	padding: 12px 16px;
}
.product-block__right-block .zz-buy-rating {
	margin: 12px 0 4px;
}
.product-block__right-block .zz-trust {
	margin-top: 10px;
	padding-top: 12px;
	border-top: 1px solid #f1eef8;
}
.product-block__right-block .product-page__wishlist-compare {
	margin-top: 10px;
}

/* 3. Выбор количества курсу не нужен - прячем, кнопка на всю ширину */
.product-page__cart .qty-switch {
	display: none;
}
.product-page__cart .product-page__add-to-cart {
	flex: 1 1 auto;
	max-width: 100%;
}

/* 4. «Курс проверен» и прочие баннеры-преимущества - компактные плашки в ряд */
.product-banner.row-flex {
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0 10px;
}
.product-banner__item,
.product-banner__item.width-1,
.product-banner__item.width-2,
.product-banner__item.width-3,
.product-banner__item.width-4,
.product-banner__item.width-5,
.product-banner__item.width-6 {
	width: auto;
	flex: 0 1 auto;
	padding: 0;
}
.product-banner__item-div {
	height: auto;
	margin: 0;
	padding: 9px 14px;
	background: #faf9fd;
	border: 1px solid #f0ecf9;
	border-radius: 10px;
}
.product-banner__item-div:hover:after {
	transform: none;
}
.product-banner__icon {
	min-width: 0;
	font-size: 1.3em;
}
.product-banner__image {
	max-width: 22px;
	max-height: 22px;
}
.product-banner__text {
	padding-left: 9px;
	font-size: 12.5px;
	font-weight: 500;
}

/* 5. Вкладки: чуть воздушнее */
.product-page .nav-tabs {
	margin-bottom: 24px;
}

/* ===== ZZ custom v11: карточка цены - доработка ===== */

/* кнопка покупки: умеренная, по центру, а не гигантская в стиле плашки */
.product-block__right-block .product-page__cart {
	justify-content: center;
	margin: 14px 0 0;
}
.product-block__right-block .product-page__add-to-cart {
	flex: 0 1 auto;
	max-width: 100%;
	font-size: 14.5px;
	padding: 10px 28px;
}

/* характеристики внутри карточки цены: компактный блок */
.product-block__right-block .product-page__short-attribute {
	margin: 14px 0 0;
	padding: 12px 0 0;
	border-top: 1px solid #f1eef8;
}
.product-block__right-block .product-data__item {
	font-size: 12.5px;
	margin: 0 0 6px;
}
.product-block__right-block .product-data__more-attr {
	margin-top: 2px;
}
.product-block__right-block .product-data__more-attr a {
	font-size: 12px;
}

/* ===== ZZ custom v12: характеристики в карточке цены ===== */
.product-block__right-block ul.product-data {
	margin: 14px 0 0;
	padding: 12px 0 0;
	border-top: 1px solid #f1eef8;
}
.product-block__right-block ul.product-data .product-data__item {
	font-size: 12.5px;
	margin: 0 0 6px;
}
.product-block__right-block .product-data__more-attr {
	margin-top: 2px;
}
.product-block__right-block .product-data__more-attr a {
	font-size: 12px;
}

/* v13: доступность + баннер «Курс проверен» в карточке цены */
.zz-avail { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.zz-avail__dot { width: 8px; height: 8px; border-radius: 50%; background: #2ecc71; flex: 0 0 auto; }
.zz-banners .product-banner { margin: 12px 0 0; }
.zz-banners .product-banner__item { flex: 0 0 100%; max-width: 100%; width: 100%; padding: 0; }
.zz-banners .product-banner__item-div { display: flex; align-items: center; gap: 8px; background: #f7f4fb; border-radius: 10px; padding: 7px 12px; }
.zz-banners .product-banner__image { width: 20px; height: 20px; margin: 0; }
.zz-banners .product-banner__icon { font-size: 15px; margin: 0; }
.zz-banners .product-banner__text-span { font-size: 13px; color: #444; font-weight: 600; }

/* v14: шапка карточки (цена + проверен/иконки), кнопка на всю ширину */
.zz-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.zz-card-head__main { flex: 1 1 auto; min-width: 0; }
.zz-card-head__side { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.zz-card-icons { display: flex; gap: 8px; }
.zz-icon-btn { width: 34px; height: 34px; padding: 0; border-radius: 50%; border: 1px solid #e6ddf5; background: #fff; color: #522799; font-size: 14px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; }
.zz-icon-btn:hover { background: #522799; color: #fff; }
.zz-banners--top .product-banner { margin: 0; }
.zz-banners--top .product-banner__item-div { background: transparent; padding: 0; gap: 6px; }
.zz-banners--top .product-banner__image { width: 20px; height: 20px; }
.zz-banners--top .product-banner__text-span { font-size: 12.5px; color: #555; font-weight: 600; white-space: nowrap; }
.product-block .product-page__add-to-cart { flex: 1 1 100%; max-width: 100%; }

/* ===== ZZ custom v15: грамотная сборка карточки цены ===== */

/* 1. Кнопка «Купить» — умеренная, по центру, НЕ растянута */
.product-block .product-page__add-to-cart { flex: 0 1 auto; }
.product-block .product-page__cart { justify-content: center; margin: 16px 0 0; }
.product-block__right-block .product-page__add-to-cart { font-size: 15px; padding: 11px 34px; }

/* 2. Характеристики сразу под шапкой карточки */
.product-block__right-block ul.product-data { margin: 14px 0 0; padding: 0; border-top: none; }
.product-block__right-block ul.product-data .product-data__item { font-size: 13px; margin: 0 0 7px; }
.product-block__right-block .zz-avail { font-size: 13px; }

/* 3. Преимущества — компактная сетка 2×2, без сироты в строке */
.product-block__right-block .zz-trust,
.product-block .zz-trust { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; margin: 16px 0 0; padding: 12px 14px; }
.zz-trust__item { font-size: 12.5px; gap: 7px; }
.zz-trust__item i { font-size: 13px; width: 16px; }

/* 4. Воздух внизу карточки */
.product-block__right-block .zz-buy-rating { margin: 12px 0 0; }

/* ===== ZZ custom v16: кнопка, колонки, шаги доступа ===== */

/* 1. Кнопка «Купить»: ровный текст (icon+text по центру оси), слева */
.product-block .product-page__cart { justify-content: flex-start; }
.product-block .product-page__add-to-cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	line-height: 1;
	font-weight: 600;
	letter-spacing: .2px;
}
.product-block .product-page__add-to-cart i { line-height: 1; }

/* 2. Карточка прижата к изображению: пустая центральная колонка схлопывается */
@media (min-width: 1200px) {
	.product-block__left-block { flex: 0 1 0%; min-width: 0; padding-right: 0; }
	.product-block__right-block { flex: 0 0 380px; min-width: 0; }
}

/* 3. Шаги получения доступа + гарантия */
.zz-steps { margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid #f1eef8; }
.zz-steps__title { font-size: 13px; font-weight: 700; color: #1e2028; margin: 0 0 8px; }
.zz-steps__list { margin: 0; padding: 0 0 0 18px; }
.zz-steps__list li { font-size: 12.5px; color: #555; line-height: 1.45; margin: 0 0 6px; }
.zz-steps__list li::marker { color: #522799; font-weight: 700; }
.zz-guarantee { display: flex; align-items: center; gap: 8px; margin: 10px 0 0; font-size: 12px; color: #6f6a80; }
.zz-guarantee i { color: #522799; font-size: 13px; }

/* ===== ZZ custom v17: баланс трёх колонок ===== */

/* 1. Отмена схлопывания: центральная колонка снова гибкая, карточка справа */
@media (min-width: 1200px) {
	.product-block__left-block { flex: 1 1 auto; min-width: 0; padding-right: 28px; }
	.product-block__right-block { flex: 0 0 380px; min-width: 0; }
}

/* 2. Центральная колонка: «О курсе» + превью отзывов */
.zz-middle { padding-top: 4px; }
.zz-about__title { font-size: 16px; font-weight: 700; color: #1e2028; margin: 0 0 10px; }
.zz-about__text { font-size: 13.5px; line-height: 1.7; color: #4c4858; margin: 0 0 8px; }
.zz-about__more { font-size: 12.5px; color: #522799; text-decoration: underline; cursor: pointer; }
.zz-rev-side { margin: 22px 0 0; padding: 16px 0 0; border-top: 1px solid #f1eef8; }
.zz-rev-side__title { font-size: 14px; font-weight: 700; color: #1e2028; margin: 0 0 10px; }
.zz-rev-side__total { color: #9a93ad; font-weight: 600; }
.zz-rev-side__item { margin: 0 0 12px; }
.zz-rev-side__stars { display: block; font-size: 12px; color: #f5a623; margin: 0 0 4px; }
.zz-rev-side__text { font-size: 13px; line-height: 1.6; color: #4c4858; }
.zz-rev-side__all { font-size: 12.5px; color: #522799; text-decoration: underline; cursor: pointer; }

/* ===== ZZ custom v18: финальная стилистика карточки ===== */

/* 1. Шапка: бейдж «Курс проверен» и иконки — одна строка, без «дырки» под ценой */
.zz-card-head { align-items: center; }
.zz-card-head__side { flex-direction: row; align-items: center; gap: 12px; }
.zz-banners--top .product-banner__text-span { font-size: 12px; white-space: nowrap; }

/* 2. Характеристики плотнее к шапке */
.product-block__right-block ul.product-data { margin: 10px 0 0; }

/* 3. Кнопка «Купить» — заметная, по центру, ровная */
.product-block .product-page__cart { justify-content: center; margin: 18px 0 0; }
.product-block__right-block .product-page__add-to-cart {
	font-size: 15px;
	padding: 12px 44px;
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba(82, 39, 153, .28);
}
.product-block__right-block .product-page__add-to-cart:hover { box-shadow: 0 6px 18px rgba(82, 39, 153, .38); }

/* 4. Доверие: элементы строго в одну строку */
.product-block .zz-trust { gap: 8px 12px; }
.zz-trust__item { font-size: 12px; white-space: nowrap; gap: 6px; }
.zz-trust__item i { font-size: 12px; width: 14px; }

/* 5. Шаги доступа — компактный финал карточки */
.zz-steps { margin: 14px 0 0; padding: 12px 0 0; }
.zz-steps__list li { font-size: 12px; margin: 0 0 4px; }

/* 6. «О курсе» — мягкая плашка в центральной колонке */
.zz-about {
	background: #faf8fd;
	border: 1px solid #efe9f8;
	border-radius: 12px;
	padding: 18px 20px;
}
.zz-about__title { margin: 0 0 8px; font-size: 15px; }
.zz-about__text { margin: 0 0 10px; }
.zz-about__more { display: inline-block; font-size: 12.5px; font-weight: 600; color: #522799; text-decoration: none; border-bottom: 1px dashed #b9a3e0; cursor: pointer; }
.zz-about__more:hover { color: #3d1c73; border-bottom-color: #3d1c73; }
.zz-middle { padding-top: 0; }

/* ===== ZZ custom v19: секции вместо вкладок + характеристики в центре ===== */

/* 1. Все панели всегда видимы, лентой друг под другом */
.product-page .tab-content > .tab-pane { display: block; }
.product-page .tab-content > .fade { opacity: 1; }

/* 2. Заголовки секций */
.zz-sec-title { font-size: 20px; font-weight: 700; color: #1e2028; margin: 38px 0 16px; }
.tab-content > .zz-sec-title:first-child { margin-top: 8px; }
.zz-sec-count { color: #9a93ad; font-size: 14px; font-weight: 600; }

/* ===== ZZ custom v20: фикс видимости секций + стили характеристик ===== */

/* 1. Панели секций всегда видимы (bootstrap скрывает .tab-pane без .active;
   .tab-content лежит ВНЕ .product-page, поэтому селектор v19 не срабатывал) */
.tab-content.zz-sections > .tab-pane { display: block; }
.tab-content.zz-sections > .tab-pane.fade { opacity: 1; }

/* 2. «Характеристики курса» в центральной колонке */
.zz-specs {
	background: #faf8fd;
	border: 1px solid #efe9f8;
	border-radius: 12px;
	padding: 18px 20px;
	margin: 16px 0 0;
}
.zz-specs__title { font-size: 15px; font-weight: 700; color: #1e2028; margin: 0 0 10px; }
.zz-specs__list { list-style: none; margin: 0; padding: 0; }
.zz-specs__item {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 14px;
	padding: 7px 0;
	border-bottom: 1px dashed #e6dff2;
	font-size: 13px;
	line-height: 1.45;
}
.zz-specs__item:last-child { border-bottom: none; }
.zz-specs__name { color: #9a93ad; flex: 0 0 auto; }
.zz-specs__val { color: #333; font-weight: 600; text-align: right; }

/* ===== ZZ custom v21: секции «Отзывы» и «Вопрос-ответ» ===== */

/* 1. Сводная плашка секции: счётчик/оценка слева, кнопка справа */
.review-info, .question-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 22px;
	background: #faf8fd;
	border: 1px solid #efe9f8;
	border-radius: 12px;
	padding: 12px 18px;
	margin: 0 0 16px;
}
.review-info__total, .question-info__total { font-size: 14px; font-weight: 700; color: #1e2028; }
.review-info__score { font-size: 13px; color: #6f6a80; }
.review-info .rating { font-size: 14px; color: #f5a623; }
.review-info .btn, .question-info .btn { margin-left: auto; border-radius: 8px; padding: 7px 18px; font-size: 13px; }

/* 2. Пустые состояния — аккуратная заглушка */
#review > div > p:only-child, .question-list > p:only-child {
	display: block;
	margin: 0;
	padding: 22px 18px;
	border: 1px dashed #ddd3ee;
	border-radius: 12px;
	background: #fdfcff;
	color: #9a93ad;
	font-size: 13.5px;
	text-align: center;
}

/* 3. Карточка отзыва */
.review-list__item {
	background: #fff;
	border: 1px solid #efe9f8;
	border-radius: 12px;
	padding: 16px 20px;
	margin: 0 0 14px;
}
.review-list__item .row { display: flex; gap: 20px; }
.review-list__item [class*="col-"] { float: none; width: auto; flex: 0 0 auto; }
.review-list__item [class*="col-sm-10"], .review-list__item [class*="col-xxl-17"] { flex: 1 1 auto; }
.review-list__rating { color: #f5a623; font-size: 13px; margin-bottom: 6px; }
.review-list__name { font-weight: 700; font-size: 14px; color: #1e2028; }
.review-list__real { display: inline-block; font-size: 11.5px; color: #2e9e5b; margin-top: 6px; }
.review-list__date, .question-list__date { font-size: 12px; color: #9a93ad; margin-top: 4px; }
.review-list__info-text { font-size: 13.5px; line-height: 1.65; color: #4c4858; }
.review-list__plus, .review-list__minus, .review-list__comment { margin: 0 0 10px; }
.review-list__plus-heading, .review-list__minus-heading, .review-list__comment-heading {
	display: block;
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .4px;
	color: #522799;
	margin-bottom: 3px;
}
.review-list__votes { display: flex; gap: 8px; margin-top: 8px; }
.review-list__votes .btn { border: 1px solid #ece5f8; background: #fff; border-radius: 8px; font-size: 12px; padding: 3px 10px; color: #6f6a80; }

/* 4. Карточка вопроса */
.question-list__item {
	background: #fff;
	border: 1px solid #efe9f8;
	border-radius: 12px;
	padding: 16px 20px;
	margin: 0 0 14px;
}
.question-list__name { font-weight: 700; font-size: 14px; color: #1e2028; }
.question-list__comment { font-size: 14px; line-height: 1.6; color: #1e2028; margin-bottom: 12px; }
.question-list__reply {
	background: #faf8fd;
	border: 1px solid #efe9f8;
	border-radius: 10px;
	padding: 12px 16px;
}
.question-list__reply-heading { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: #522799; margin-bottom: 6px; }
.question-list__reply { font-size: 13.5px; line-height: 1.6; color: #4c4858; }

/* 5. Формы отзыва/вопроса — компактнее */
.review-form-wrapper .form-group, .question-form-wrapper .form-group { margin-bottom: 10px; }

/* ===== ZZ custom v23: кнопки секций + ровная высота плашек ===== */

/* 1. Единый стиль кнопок действий */
.review-info .btn-primary,
.question-info .btn-primary,
.desc-collapse .btn {
	background: linear-gradient(135deg, #7b4bd6, #522799);
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 8px 22px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .2px;
	box-shadow: 0 3px 10px rgba(82, 39, 153, .22);
}
.review-info .btn-primary:hover,
.question-info .btn-primary:hover,
.desc-collapse .btn:hover {
	background: linear-gradient(135deg, #8656e0, #5d2fa8);
	color: #fff;
	box-shadow: 0 5px 14px rgba(82, 39, 153, .3);
}
.desc-collapse { text-align: center; margin: 12px 0 0; }

/* 2. Правая плашка растягивается на высоту центральной колонки */
@media (min-width: 1200px) {
	.product-block__wrapper { align-items: stretch; }
	.product-block__right-block {
		height: auto;
		align-self: stretch;
		display: flex;
		flex-direction: column;
	}
	/* «Как получить доступ» прижат к низу карточки — воздух распределяется равномерно */
	.product-block__right-block .zz-steps { margin-top: auto; }
}

/* ===== ZZ custom v24: выравнивание плашек и текста кнопок ===== */

/* 1. Пустой список в центральной колонке не оттесняет «О курсе» вниз —
   все три плашки начинаются на одной высоте */
.product-block__left-block > ul.product-data { margin: 0; padding: 0; }
.product-block__left-block > ul.product-data:empty { display: none; }

/* 2. Текст кнопок — строго по центру кнопки */
.review-info .btn-primary,
.question-info .btn-primary,
.desc-collapse .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	gap: 6px;
}

/* ===== ZZ custom v25: редизайн шапки категории ===== */

/* --- Раскладка: изображение-плашка + описание --- */
.category-page.category-info {
	display: flex;
	gap: 28px;
	align-items: flex-start;
	background: transparent;
	padding: 0;
	overflow: visible;
	margin: 0 0 30px;
}

/* Плашка под изображение категории */
.category-info__image {
	float: none;
	flex: 0 0 280px;
	max-width: 280px;
	margin: 0;
	background: linear-gradient(165deg, #f3edff 0%, #faf8ff 55%, #ffffff 100%);
	border: 1px solid rgba(82, 39, 153, .08);
	border-radius: 24px;
	padding: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 14px 34px rgba(82, 39, 153, .12);
}
.category-info__image img {
	border-radius: 16px;
	box-shadow: 0 6px 18px rgba(82, 39, 153, .14);
	margin: 0;
}

.category-info__description {
	flex: 1 1 auto;
	min-width: 0;
}

/* --- Смягчение карточки описания (km-cat) --- */
.km-cat {
	padding: 24px 24px 28px;
	margin: 0;
}
.km-cat__title {
	font-size: 24px;
	line-height: 1.35;
}
.km-cat__lead {
	max-width: 72ch;
}

/* --- Адаптив --- */
@media (max-width: 991px) {
	.category-page.category-info {
		flex-direction: column;
		gap: 16px;
	}
	.category-info__image {
		flex: none;
		max-width: 100%;
		width: 100%;
		padding: 16px;
	}
	.category-info__image img {
		max-width: 240px;
	}
	.km-cat__title {
		font-size: 21px;
	}
}

/* ===== ZZ custom v26: изображение категории — внутри блока, справа вверху ===== */

/* Откатываем flex-раскладку v25: блок описания снова единая колонка */
.category-page.category-info {
	display: block;
	padding: 0;
	background: transparent;
	overflow: visible;
	margin: 0 0 30px;
}

/* Картинка — компактная плашка, обтекание текстом справа вверху */
.category-info__image {
	float: right;
	flex: none;
	width: 190px;
	max-width: 190px;
	margin: 2px 0 16px 24px;
	padding: 12px;
	border-radius: 18px;
	background: linear-gradient(165deg, #f3edff 0%, #faf8ff 55%, #ffffff 100%);
	border: 1px solid rgba(82, 39, 153, .08);
	box-shadow: 0 10px 26px rgba(82, 39, 153, .12);
	display: flex;
	align-items: center;
	justify-content: center;
}
.category-info__image img {
	border-radius: 12px;
	box-shadow: 0 4px 14px rgba(82, 39, 153, .14);
	margin: 0;
}

/* --- Адаптив --- */
@media (max-width: 767px) {
	.category-info__image {
		width: 130px;
		max-width: 130px;
		margin: 2px 0 12px 16px;
		padding: 8px;
		border-radius: 14px;
	}
}

/* ===== ZZ custom v27: km-cat «маршмеллоу» — мягкие тени, скругления, воздух ===== */

/* --- Базовая карточка описания --- */
.km-cat {
	background: linear-gradient(180deg, #fdfcff 0%, #ffffff 40%);
	border: 1px solid rgba(82, 39, 153, .06);
	border-radius: 28px;
	box-shadow: 0 10px 40px rgba(82, 39, 153, .08), 0 2px 8px rgba(82, 39, 153, .04);
	padding: 30px 30px 34px;
}
.km-cat::before {
	opacity: .35;
}

/* --- Заголовочная зона --- */
.km-cat__badge {
	background: #f0e9ff;
	color: #6a3fc0;
	font-size: 11px;
	padding: 5px 14px;
}
.km-cat__badge-dot {
	background: #7b4fd0;
	box-shadow: 0 0 0 4px rgba(123, 79, 208, .18);
}
.km-cat__title {
	font-size: 23px;
	font-weight: 800;
	letter-spacing: -.2px;
	color: #23203a;
}
.km-cat__lead {
	color: #5b5f6b;
	font-size: 14.5px;
	max-width: 70ch;
}

/* --- Чипы направлений: без рамок, мягкая заливка --- */
.km-cat__chip {
	background: #f4f0ff;
	border: none;
	box-shadow: none;
	color: #5a5470;
	font-size: 12.5px;
	padding: 6px 13px;
}
.km-cat__chip-dot {
	background: #9a7bdd;
}
.km-cat__chip:hover {
	background: #ece4ff;
	box-shadow: none;
	transform: none;
	border: none;
}

/* --- Стикер-карточки с иконками --- */
.km-cat__icon-card {
	background: #ffffff;
	border: 1px solid rgba(82, 39, 153, .07);
	box-shadow: 0 6px 22px rgba(82, 39, 153, .07);
	border-radius: 20px;
	padding: 16px 16px;
}
.km-cat__icon-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(82, 39, 153, .13);
	border-color: rgba(82, 39, 153, .14);
}
.km-cat__icon-card-icon {
	width: 42px;
	height: 42px;
	border-radius: 14px;
	background: linear-gradient(135deg, #f0e9ff, #faf7ff);
	box-shadow: none;
	color: #7b4fd0;
	font-size: 17px;
}

/* --- Колонки-карточки --- */
.km-cat__grid {
	gap: 16px;
	margin-top: 22px;
}
.km-cat__card {
	background: #ffffff;
	border: 1px solid rgba(82, 39, 153, .07);
	box-shadow: 0 6px 22px rgba(82, 39, 153, .06);
	border-radius: 20px;
	padding: 20px 18px;
}
.km-cat__card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(82, 39, 153, .12);
	border-color: rgba(82, 39, 153, .14);
}
.km-cat__card--accent {
	background: linear-gradient(150deg, #f6f2ff 0%, #ffffff 70%);
	border-color: rgba(82, 39, 153, .12);
}
.km-cat__card h3 { font-size: 16px; color: #23203a; }
.km-cat__card p, .km-cat__card li { color: #5b5f6b; }

/* --- Шаги: мягкие лавандовые кружки --- */
.km-cat__steps li::before {
	background: #f0e9ff;
	color: #7b4fd0;
	width: 22px;
	height: 22px;
	font-size: 12px;
}

/* --- Выделенный блок --- */
.km-cat__highlight {
	background: linear-gradient(135deg, #f6f2ff 0%, #fdfcff 80%);
	border: none;
	border-radius: 20px;
	box-shadow: 0 6px 22px rgba(82, 39, 153, .06);
}
.km-cat__highlight h3 { color: #23203a; }
.km-cat__highlight li { color: #5b5f6b; }

/* --- FAQ: мягкие белые плашки --- */
.km-cat__faq-item {
	background: #ffffff;
	border: 1px solid rgba(82, 39, 153, .08);
	border-radius: 16px;
	box-shadow: 0 4px 14px rgba(82, 39, 153, .05);
	margin-bottom: 10px;
}
.km-cat__faq-item[open] {
	background: #ffffff;
	border-color: rgba(123, 79, 208, .3);
	box-shadow: 0 8px 24px rgba(82, 39, 153, .09);
}
.km-cat__faq-item summary { color: #2c2a3e; }
.km-cat__faq-toggle {
	background: #f0e9ff;
	border: none;
	color: #7b4fd0;
}
.km-cat__faq-item[open] .km-cat__faq-toggle {
	background: #7b4fd0;
	color: #ffffff;
}

/* --- Ссылки внутри описания: мягче --- */
.km-cat a { border-bottom-color: rgba(123, 79, 208, .3); }

/* ===== ZZ custom v28: убираем «прыгающий» подъём при наведении ===== */
/* Карточки в описании категории — информационные, lift-эффект искажает текст */

.km-cat__icon-card,
.km-cat__card,
.km-cat__chip {
	transition: box-shadow .2s ease, border-color .2s ease, background-color .2s ease;
}

.km-cat__icon-card:hover,
.km-cat__card:hover {
	transform: none;
	box-shadow: 0 8px 26px rgba(82, 39, 153, .09);
	border-color: rgba(82, 39, 153, .16);
}

.km-cat__chip:hover {
	transform: none;
	background: #ece4ff;
	box-shadow: none;
}

/* ===== ZZ custom v29: отключаем все hover-эффекты в описании категории ===== */
/* Причина: старое правило div[class*="card"]:hover цепляло внутренние блоки
   (km-cat__icon-card-body) — текст «подпрыгивал» отдельно от карточки */

.category-info__description div[class*="card"],
.category-info__description .zz-card {
	transition: none;
}
.category-info__description div[class*="card"]:hover,
.category-info__description .zz-card:hover {
	transform: none;
	box-shadow: none;
}

/* ===== ZZ custom v30: аватары-инициалы продавцов + «Чему вы научитесь» ===== */

/* Аватар-инициал вместо заглушки «скоро появится» */
.zz-seller-avatar {
	width: 100px;
	height: 100px;
	margin: 0 auto;
	border-radius: 50%;
	background: linear-gradient(135deg, #7b4fd0 0%, #522799 100%);
	color: #ffffff;
	font-size: 40px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 26px rgba(82, 39, 153, .22);
}
.zz-seller-avatar--big {
	width: 200px;
	height: 200px;
	font-size: 80px;
}

/* Секция «Чему вы научитесь» */
.zz-learn {
	background: linear-gradient(150deg, #f6f2ff 0%, #ffffff 70%);
	border: 1px solid rgba(82, 39, 153, .07);
	border-radius: 20px;
	padding: 22px 26px;
	box-shadow: 0 6px 22px rgba(82, 39, 153, .06);
}
.zz-learn__list {
	list-style: none;
	margin: 0;
	padding: 0;
	columns: 2;
	column-gap: 36px;
}
.zz-learn__item {
	position: relative;
	padding: 8px 0 8px 34px;
	font-size: 14.5px;
	line-height: 1.6;
	color: #3a3a3a;
	break-inside: avoid;
}
.zz-learn__item::before {
	content: "\f00c";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	left: 0;
	top: 9px;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: #ece4ff;
	color: #6a3fc0;
	font-size: 11px;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 767px) {
	.zz-learn__list { columns: 1; }
	.zz-seller-avatar--big { width: 140px; height: 140px; font-size: 56px; }
}

/* ===== Нормализация описания: вставки из Word/блокнота не ломают типографику ===== */
#tab-description, #tab-description * { font-family: inherit !important; letter-spacing: normal !important; }
#tab-description p, #tab-description div, #tab-description span, #tab-description li, #tab-description td, #tab-description font {
	font-size: 15px !important;
	color: inherit !important;
	line-height: 1.75 !important;
	text-align: left !important;
}
#tab-description h1, #tab-description h2, #tab-description h3, #tab-description h4, #tab-description h5, #tab-description h6,
#tab-description h1 *, #tab-description h2 *, #tab-description h3 *, #tab-description h4 *, #tab-description h5 *, #tab-description h6 * {
	font-size: inherit !important;
	color: inherit !important;
	line-height: 1.35 !important;
	text-align: left !important;
}
#tab-description img { max-width: 100% !important; height: auto !important; }
#tab-description table { max-width: 100%; }

/* ===== Контейнер описания: карточка с отступами ===== */
#tab-description {
	background: #fff;
	border: 1px solid #efe9fb;
	border-radius: 14px;
	padding: 28px 32px;
	box-shadow: 0 6px 24px rgba(82, 39, 153, .05);
}
#tab-description > div > *:first-child,
#tab-description > div > *:first-child > *:first-child { margin-top: 0; }
#tab-description > div > *:last-child { margin-bottom: 0; }
