/* =========================================================
   НАБОР ГРУПП — фильтр и карточки филиалов
   ========================================================= */
.groups-schedule {
	padding-top: calc(var(--app-em)*2.25);
	padding-bottom: calc(var(--app-em)*2.25);
}

/* --- Фильтр --- */
.groups-filter {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-2);
	justify-content: center;
	margin: calc(var(--app-em)*1.5) 0 calc(var(--app-em)*2);
}
.groups-filter__btn {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
	min-height: calc(var(--app-em)*2.75);
	padding: 0 calc(var(--app-em)*1.25);
	border: 0;
	border-radius: var(--r-pill);
	background: var(--surface);
	color: var(--muted);
	font-family: inherit;
	font-size: var(--fs-ui);
	font-weight: 600;
	cursor: pointer;
	box-shadow: var(--shadow-tiny);
	transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.groups-filter__btn:hover {
	background: var(--accent-soft);
	color: var(--accent-strong);
	transform: translateY(calc(var(--app-em)*-0.0625));
}
.groups-filter__btn.is-active {
	background: var(--accent-strong);
	color: var(--accent-ink);
	box-shadow: var(--shadow-soft);
}
.groups-filter__btn.is-active:hover {
	background: var(--accent);
	transform: none;
}
.groups-filter__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: calc(var(--app-em)*1.5);
	height: calc(var(--app-em)*1.5);
	padding: 0 var(--sp-2);
	border-radius: var(--r-pill);
	background: var(--surface-soft);
	color: var(--muted);
	font-size: var(--font-size-xs);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.groups-filter__btn.is-active .groups-filter__count {
	background: rgba(255,255,255,.22);
	color: var(--accent-ink);
}

/* --- Сетка --- */
.groups-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--sp-4);
}

/* --- Карточка филиала --- */
.group-card {
	display: flex;
	flex-direction: column;
	gap: var(--sp-3);
	padding: calc(var(--app-em)*1.5);
	border-radius: var(--r-xl);
	background: var(--surface);
	box-shadow: var(--shadow-soft);
	border: var(--hair) solid transparent;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.group-card:hover {
	border-color: var(--accent-soft);
	box-shadow: var(--shadow);
	transform: translateY(calc(var(--app-em)*-0.125));
}
.group-card[hidden] {
	display: none;
}

/* Шапка карточки */
.group-card__head {
	display: flex;
	flex-direction: column;
	gap: var(--sp-2);
	padding-bottom: var(--sp-3);
	border-bottom: var(--hair) solid var(--line);
}

/* Бейдж формата */
.group-card__badge {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: calc(var(--app-em)*0.375);
	padding: calc(var(--app-em)*0.125) var(--sp-2);
	border-radius: var(--r-xs);
	font-size: var(--fs-meta);
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.5;
}
.group-card__badge .icon {
	width: calc(var(--app-em)*0.875);
	height: calc(var(--app-em)*0.875);
}
.group-card__badge--mixed {
	background: var(--cta-soft);
	color: var(--cta-strong);
}
.group-card__badge--online {
	background: var(--sage-soft);
	color: var(--sage-ink);
}

/* Название */
.group-card__name {
	margin: 0;
	font-size: var(--fs-h4);
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--text);
	line-height: 1.2;
}

/* Факты */
.group-card__facts {
	display: flex;
	flex-direction: column;
	gap: var(--sp-2);
	margin: 0;
	padding: 0;
	list-style: none;
}
.group-card__fact {
	display: flex;
	align-items: flex-start;
	gap: var(--sp-2);
	font-size: var(--fs-sm);
	line-height: 1.4;
	color: var(--news-text);
}
.group-card__fact .icon {
	width: calc(var(--app-em)*1.125);
	height: calc(var(--app-em)*1.125);
	flex: none;
	margin-top: calc(var(--app-em)*0.125);
	color: var(--accent);
}
.group-card__fact span {
	min-width: 0;
	overflow-wrap: anywhere;
}

/* Примечание «старт в день договора» */
.group-card__note {
	display: flex;
	align-items: flex-start;
	gap: var(--sp-2);
	padding: calc(var(--app-em)*0.75) calc(var(--app-em)*1);
	border-radius: var(--r-md);
	background: var(--positive-soft);
	color: var(--sage-ink);
	font-size: var(--fs-meta);
	line-height: 1.45;
}
.group-card__note .icon {
	width: calc(var(--app-em)*1.125);
	height: calc(var(--app-em)*1.125);
	flex: none;
	margin-top: calc(var(--app-em)*0.125);
}
[data-theme="dark"] .group-card__note {
	color: var(--sage-hover-ink);
}

/* CTA */
.group-card__cta {
	width: 100%;
	justify-content: center;
	margin-top: auto;
}

/* Пустой результат */
.groups-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--sp-3);
	padding: calc(var(--app-em)*3) calc(var(--app-em)*1.5);
	text-align: center;
	color: var(--muted);
}
.groups-empty[hidden] {
	display: none;
}
.groups-empty .icon {
	width: calc(var(--app-em)*3);
	height: calc(var(--app-em)*3);
	color: var(--accent-soft);
}
.groups-empty p {
	margin: 0;
	font-size: var(--fs-sm);
}

/* --- Адаптив --- */
@media (max-width: 68.75em) {
	.groups-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 48.75em) {
	.groups-grid {
		grid-template-columns: 1fr;
	}
	.groups-filter {
		justify-content: flex-start;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: var(--sp-2);
		scrollbar-width: thin;
		margin-left: calc(var(--app-em)*-0.75);
		margin-right: calc(var(--app-em)*-0.75);
		padding-left: calc(var(--app-em)*0.75);
		padding-right: calc(var(--app-em)*0.75);
	}
	.groups-filter__btn {
		flex: none;
	}
}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
	.groups-filter__btn,
	.group-card {
		transition: none;
	}
	.groups-filter__btn:hover,
	.group-card:hover {
		transform: none;
	}
}
