/* =========================================================
   БЕСПЛАТНОЕ ПРОБНОЕ ЗАНЯТИЕ — секция на главной (без фото)
   ========================================================= */
.free-lesson {
	position: relative;
	padding: calc(var(--app-em)*2.5) calc(var(--app-em)*2.25);
	border-radius: var(--r-xl);
	background: linear-gradient(145deg, var(--positive-soft), var(--surface));
	box-shadow: var(--shadow-soft);
	overflow: hidden;
}
.free-lesson::before {
	content: "";
	position: absolute;
	width: calc(var(--app-em)*24);
	height: calc(var(--app-em)*24);
	right: calc(var(--app-em)*-8);
	bottom: calc(var(--app-em)*-10);
	border-radius: 50%;
	background: rgba(255,255,255,.5);
	pointer-events: none;
}
.free-lesson::after {
	content: "";
	position: absolute;
	width: calc(var(--app-em)*18);
	height: calc(var(--app-em)*18);
	left: calc(var(--app-em)*-6);
	top: calc(var(--app-em)*-7);
	border-radius: 50%;
	background: rgba(255,255,255,.35);
	pointer-events: none;
}
[data-theme="dark"] .free-lesson {
	background: linear-gradient(145deg, #17291e, var(--surface));
}
[data-theme="dark"] .free-lesson::before {
	background: rgba(79,168,114,.06);
}
[data-theme="dark"] .free-lesson::after {
	background: rgba(79,168,114,.04);
}

/* --- Контент: две колонки (head+list) --- */
.free-lesson__content {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	column-gap: calc(var(--app-em)*2.5);
	row-gap: var(--sp-4);
	align-items: center;
}

/* --- Левая колонка: тег + заголовок + лид --- */
.free-lesson__head {
	display: flex;
	flex-direction: column;
	gap: var(--sp-3);
	min-width: 0;
}

.free-lesson__tag {
	display: inline-flex;
	align-self: flex-start;
	padding: calc(var(--app-em)*0.25) var(--sp-3);
	border-radius: var(--r-pill);
	background: var(--surface);
	color: var(--sage-ink);
	font-size: var(--fs-meta);
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	line-height: 1.5;
	border: var(--hair) solid var(--positive);
}

.free-lesson__title {
	margin: 0;
	font-size: var(--fs-h2);
	line-height: 1.1;
	letter-spacing: -.03em;
	color: var(--text);
	text-wrap: balance;
}

.free-lesson__lead {
	margin: 0;
	max-width: calc(var(--app-em)*34);
	color: var(--news-text);
	font-size: var(--fs-sm);
	line-height: 1.6;
}

/* --- Правая колонка: список преимуществ --- */
.free-lesson__list {
	display: flex;
	flex-direction: column;
	gap: var(--sp-3);
	margin: 0;
	padding: 0;
	list-style: none;
	min-width: 0;
}
.free-lesson__list li {
	position: relative;
	padding-left: var(--sp-6);
	color: var(--text);
	font-size: var(--fs-sm);
	line-height: 1.5;
}
.free-lesson__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(50% - (var(--app-em)*0.3125));
	width: calc(var(--app-em)*0.75);
	height: calc(var(--app-em)*0.375);
	border-left: calc(var(--app-em)*0.125) solid var(--positive);
	border-bottom: calc(var(--app-em)*0.125) solid var(--positive);
	transform: rotate(-45deg);
}

/* --- Кнопки — на всю ширину под обеими колонками --- */
.free-lesson__actions {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-3);
	margin-top: var(--sp-2);
	padding-top: var(--sp-4);
	border-top: var(--hair) solid rgba(0,0,0,.06);
}
[data-theme="dark"] .free-lesson__actions {
	border-top-color: rgba(255,255,255,.08);
}

/* --- Адаптив --- */
@media (max-width: 68.75em) {
	.free-lesson {
		padding: calc(var(--app-em)*2);
	}
	.free-lesson__content {
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: var(--sp-4);
	}
	.free-lesson__actions {
		margin-top: 0;
	}
}

@media (max-width: 48.75em) {
	.free-lesson {
		padding: calc(var(--app-em)*1.5);
	}
	.free-lesson__title {
		font-size: calc(var(--app-em)*1.75);
	}
	.free-lesson__actions {
		flex-direction: column;
		align-items: stretch;
	}
	.free-lesson__actions > * {
		justify-content: center;
	}
}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
	.free-lesson__actions .primary-button,
	.free-lesson__actions .soft-button {
		transition: none;
	}
}

/* =========================================================
   Виджет «Ещё сомневаетесь?» — бесплатное пробное
   ========================================================= */
.widget--free {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--sp-3);
	background: linear-gradient(145deg, var(--positive-soft), var(--surface));
	border: var(--hair) solid var(--positive);
	overflow: hidden;
}
.widget--free::before {
	content: "";
	position: absolute;
	width: calc(var(--app-em)*14);
	height: calc(var(--app-em)*14);
	right: calc(var(--app-em)*-5);
	bottom: calc(var(--app-em)*-6);
	border-radius: 50%;
	background: rgba(255,255,255,.45);
	pointer-events: none;
}
[data-theme="dark"] .widget--free {
	background: linear-gradient(145deg, #17291e, var(--surface));
}
[data-theme="dark"] .widget--free::before {
	background: rgba(79,168,114,.06);
}

/* --- Иконка --- */
.widget--free__icon {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: calc(var(--app-em)*2.75);
	height: calc(var(--app-em)*2.75);
	border-radius: var(--r-lg);
	background: var(--positive);
	color: #fff;
}
.widget--free__icon .icon {
	width: calc(var(--app-em)*1.5);
	height: calc(var(--app-em)*1.5);
	stroke-width: 2;
}

/* --- Заголовок --- */
.widget--free__title {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: var(--fs-h4);
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: 1.15;
	color: var(--text);
}

/* --- Текст --- */
.widget--free__text {
	position: relative;
	z-index: 1;
	margin: 0;
	color: var(--news-text);
	font-size: var(--fs-sm);
	line-height: 1.5;
}
.widget--free__text strong {
	color: var(--sage-ink);
	font-weight: 700;
}
[data-theme="dark"] .widget--free__text strong {
	color: var(--sage-hover-ink);
}

/* --- Компактный список преимуществ --- */
.widget--free__list {
	position: relative;
	z-index: 1;
	display: grid;
	gap: var(--sp-1);
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--fs-meta);
	color: var(--muted);
}
.widget--free__list li {
	position: relative;
	padding-left: var(--sp-5);
	line-height: 1.45;
}
.widget--free__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(50% - (var(--app-em)*0.1875));
	width: calc(var(--app-em)*0.625);
	height: calc(var(--app-em)*0.3125);
	border-left: calc(var(--app-em)*0.125) solid var(--positive);
	border-bottom: calc(var(--app-em)*0.125) solid var(--positive);
	transform: rotate(-45deg);
}

/* --- CTA --- */
.widget--free__cta {
	position: relative;
	z-index: 1;
	width: 100%;
	justify-content: center;
	margin-top: var(--sp-1);
}

/* --- Узкий сайдбар на мобильном — блок не нужен --- */
@media (max-width: 48.75em) {
	.widget--free__icon {
		width: calc(var(--app-em)*2.5);
		height: calc(var(--app-em)*2.5);
	}
}