/*
 * Телепрограмма (com_jltv) — часть стилей шаблона, вынесенная из user.css 01.10.2026.
 * Подключается только в своём разделе (index.php); общее — в user.css.
 */

/* --- Телепрограмма ------------------------------------------------------------ */

.afisha-tv__head {
	margin-bottom: 1.75rem;
}

.afisha-tv__head .afisha-title {
	margin-bottom: .35rem;
}

.afisha-tv__date {
	margin: 0 0 1rem;
	color: var(--af-muted);
	font-size: 1.05rem;
}

.afisha-tv__date::first-letter {
	text-transform: uppercase;
}

/* Лента дней: тот же рисунок, что у дат афиши */
.afisha-tv-days {
	display: flex;
	gap: .25rem;
	overflow-x: auto;
	scrollbar-width: none;
}

.afisha-tv-days::-webkit-scrollbar {
	display: none;
}

.afisha-tv-days__day {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: center;
	min-width: 4.2rem;
	padding: .55rem .6rem;
	border-radius: var(--af-radius);
	color: var(--af-text);
	text-decoration: none;
}

.afisha-tv-days__day:hover {
	background: var(--af-surface);
	color: var(--af-text);
}

.afisha-tv-days__num {
	font-family: var(--af-display);
	font-size: 1.35rem;
	font-weight: 600;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

.afisha-tv-days__label {
	color: var(--af-muted);
	font-size: .8rem;
}

.afisha-tv-days__day.is-weekend .afisha-tv-days__label {
	color: var(--af-accent);
}

.afisha-tv-days__day.is-current {
	background: var(--af-warm);
	color: var(--af-warm-ink);
}

.afisha-tv-days__day.is-current .afisha-tv-days__label {
	color: var(--af-warm-ink);
}

/* Карточки каналов */
.afisha-tv__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.25rem;
}

.afisha-tv-card {
	display: flex;
	flex-direction: column;
	padding: 1.1rem 1.25rem 1rem;
	border-radius: var(--af-radius);
	background: var(--af-surface);
}

.afisha-tv-card__name {
	margin: 0 0 .75rem;
	font-family: var(--af-display);
	font-size: 1.05rem;
	font-weight: 600;
}

.afisha-tv-card__name a {
	color: var(--af-text);
	text-decoration: none;
}

.afisha-tv-card__name a:hover {
	color: var(--af-accent);
}

.afisha-tv-card__empty {
	flex: 1;
	margin: 0;
	color: var(--af-muted);
}

.afisha-tv-card__all {
	margin-top: auto;
	padding-top: .75rem;
	color: var(--af-accent);
	font-size: .9rem;
	font-weight: 600;
	text-decoration: none;
}

.afisha-tv-card__all:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Список передач: время слева колонкой, название справа */
.afisha-tv-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.afisha-tv-list__item {
	display: grid;
	grid-template-columns: 3.4rem minmax(0, 1fr);
	gap: .75rem;
	padding: .4rem 0;
	line-height: 1.4;
}

.afisha-tv-list__item + .afisha-tv-list__item {
	border-top: 1px solid var(--af-border);
}

.afisha-tv-list__time {
	color: var(--af-muted);
	font-variant-numeric: tabular-nums;
}

.afisha-tv-list__title a {
	color: var(--af-text);
	text-decoration: underline;
	text-decoration-color: var(--af-border);
	text-underline-offset: 3px;
}

.afisha-tv-list__title a:hover {
	color: var(--af-accent);
}

/* Сейчас в эфире: тёплая метка слева и полоска прошедшего времени */
.afisha-tv-list__item.is-now {
	margin-inline: -.6rem;
	padding-inline: .6rem;
	border-radius: 6px;
	background: color-mix(in srgb, var(--af-warm) 14%, transparent);
	border-top-color: transparent;
}

.afisha-tv-list__item.is-now + .afisha-tv-list__item {
	border-top-color: transparent;
}

.afisha-tv-list__item.is-now .afisha-tv-list__time {
	color: var(--af-text);
	font-weight: 600;
}

.afisha-tv-list__item.is-now .afisha-tv-list__title {
	font-weight: 600;
}

.afisha-tv-list__badge {
	display: inline-block;
	margin-left: .35rem;
	padding: .05rem .45rem;
	border-radius: 999px;
	background: var(--af-warm);
	color: var(--af-warm-ink);
	font-size: .75rem;
	font-weight: 600;
	vertical-align: .1em;
}

.afisha-tv-list__bar {
	display: block;
	height: 3px;
	margin-top: .4rem;
	border-radius: 2px;
	background: color-mix(in srgb, var(--af-warm) 25%, transparent);
	overflow: hidden;
}

.afisha-tv-list__bar > span {
	display: block;
	height: 100%;
	background: var(--af-warm);
}

.afisha-tv-list__item.is-past {
	color: var(--af-muted);
}

.afisha-tv-list__item.is-past .afisha-tv-list__title a {
	color: var(--af-muted);
}

/* Программа канала на день — части суток колонками */
.afisha-tv-day {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 1.25rem;
	align-items: start;
}

.afisha-tv-day__part {
	padding: 1.1rem 1.25rem;
	border-radius: var(--af-radius);
	background: var(--af-surface);
}

.afisha-tv-day__title {
	margin: 0 0 .5rem;
	font-family: var(--af-display);
	font-size: 1rem;
	font-weight: 600;
}

.afisha-tv-others {
	margin-top: 2.5rem;
}

.afisha-tv-others ul {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.afisha-tv-others a {
	display: block;
	padding: .45rem .9rem;
	border-radius: 999px;
	background: var(--af-surface);
	color: var(--af-text);
	font-weight: 500;
	text-decoration: none;
}

.afisha-tv-others a:hover {
	color: var(--af-accent);
}

/* Страница передачи */
.afisha-tv-program {
	display: grid;
	grid-template-columns: minmax(0, 44rem) minmax(0, 18rem);
	gap: 1.5rem 3rem;
	align-items: start;
}

.afisha-tv-program__desc {
	line-height: 1.65;
}

.afisha-tv-program__when {
	padding: 1.1rem 1.25rem;
	border-radius: var(--af-radius);
	background: var(--af-surface);
}

.afisha-tv-program__when .afisha-section__title {
	margin: 0 0 .5rem;
	font-size: 1rem;
}

.afisha-tv-program__when ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.afisha-tv-program__when li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: .35rem 0;
}

.afisha-tv-program__when li + li {
	border-top: 1px solid var(--af-border);
}

.afisha-tv-program__when time {
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.afisha-tv-program__when li:has(.afisha-tv-program__times) {
	display: block;
	padding: .5rem 0;
}

.afisha-tv-program__when li > a {
	flex: 0 0 auto;
	color: var(--af-text);
	text-decoration: none;
}

.afisha-tv-program__when li > a:hover {
	color: var(--af-accent);
}

/* День строкой, время показов под ним в ряд */
.afisha-tv-program__times {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem .9rem;
	margin-top: .25rem;
}

.afisha-tv-program__last {
	margin: 0;
	color: var(--af-muted);
}
@media (max-width: 767.98px) {


	.afisha-tv-program {
		grid-template-columns: minmax(0, 1fr);
	}
}


/* Телепрограмма: вся сетка дня под «ещё» */
.afisha-tv-card__more {
	margin-top: .6rem;
}

.afisha-tv-card__more summary {
	color: var(--af-accent);
	font-size: .88rem;
	cursor: pointer;
}

.afisha-tv-list--compact .afisha-tv-list__item {
	padding-block: .2rem;
	font-size: .88rem;
}

.afisha-tv-list__item.is-past {
	color: var(--af-muted);
}
