/* ============================================================
   Афіша · archive (/afisha/) + taxonomy (/afisha/cat/{slug})
   ------------------------------------------------------------
   Namespace .evt-tax-* для архіву/таксономії.
   Стилі-сусіди:
     - .crumbs (chrome.css)
     - .evt-btn / .evt-chip визначені тут (єдине джерело — щоб не залежати
       від .cat-btn/.cat-chip із catalog).
   ============================================================ */

.evt-tax {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 28px 80px;
}
@media (max-width: 720px) {
	.evt-tax { padding: 0 16px 60px; }
}

.evt-crumbs {
	font-size: 13.5px;
	color: var(--muted);
	padding: 18px 0 12px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 0;
}
.evt-crumbs .sep { margin: 0 6px; opacity: .6; }
.evt-crumbs a:hover { color: var(--ink); text-decoration: underline; }
.evt-crumbs.crumbs-bottom { padding: 24px 0 8px; opacity: .8; }

.evt-section__title {
	font-family: 'Unbounded', system-ui, sans-serif;
	font-weight: 700;
	font-size: 22px;
	letter-spacing: -.01em;
	margin: 0 0 16px;
}

/* ============================================================
   HERO
   ============================================================ */
.evt-tax__hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	padding: 18px 24px;
	border-radius: var(--radius-lg);
	background: var(--paper-2);
	border: 1px solid var(--line);
	overflow: hidden;
	margin: 4px 0 14px;
}
.evt-tax__hero.has-cover {
	min-height: 200px;
	background-image: var(--cover);
	background-size: cover;
	background-position: center;
	color: #fff;
	border-color: transparent;
	padding: 22px 24px;
}
.evt-tax__hero.has-cover::before {
	content: "";
	position: absolute; inset: 0;
	background:
		linear-gradient(180deg, transparent 25%, rgba(0,0,0,.55) 100%),
		linear-gradient(135deg, rgba(255,212,0,.18), rgba(229,50,42,.12));
	pointer-events: none;
}
.evt-tax__hero::before {
	content: "";
	position: absolute;
	right: -100px; top: -150px;
	width: 360px; height: 360px;
	border-radius: 50%;
	background: radial-gradient(circle at center, rgba(255,212,0,.40), transparent 60%);
	pointer-events: none;
	z-index: 0;
}
.evt-tax__hero.has-cover::after {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(180deg, transparent 40%, rgba(14,14,15,.5) 100%);
	pointer-events: none;
}
.evt-tax__hero-inner { position: relative; z-index: 1; width: 100%; }
.evt-tax__hero-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 6px;
}
.evt-tax__hero-kicker {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--red);
	margin-bottom: 8px;
}
.evt-tax__hero.has-cover .evt-tax__hero-kicker { color: var(--yellow); }
.evt-tax__title {
	font-family: 'Unbounded', system-ui, sans-serif;
	font-weight: 800;
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.05;
	letter-spacing: -.02em;
	margin: 0;
}
.evt-tax__hero.has-cover .evt-tax__title { color: #fff; }
.evt-tax__lead {
	margin: 6px 0 0;
	color: var(--muted);
	font-size: 14px;
	max-width: 64ch;
}
.evt-tax__hero.has-cover .evt-tax__lead { color: rgba(255,255,255,.92); }

.evt-tax__hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 8px;
	color: var(--muted);
	font-size: 13px;
}
.evt-tax__hero.has-cover .evt-tax__hero-meta { color: rgba(255,255,255,.85); }
.evt-tax__hero-meta b { color: var(--ink); font-weight: 700; }
.evt-tax__hero.has-cover .evt-tax__hero-meta b { color: #fff; }
.evt-tax__count, .evt-tax__today {
	display: inline-flex; align-items: center; gap: 6px;
}

@media (max-width: 720px) {
	.evt-tax__hero { padding: 22px 18px 20px; min-height: 0; }
	.evt-tax__hero.has-cover { min-height: 200px; }
	.evt-tax__hero-top { flex-direction: column; gap: 14px; }
}

/* ============================================================
   BUTTONS / CHIPS (namespace .evt-)
   ============================================================ */
.evt-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: 14px;
	padding: 10px 16px;
	border-radius: 999px;
	border: 1px solid transparent;
	background: var(--paper);
	color: var(--ink);
	transition: transform .15s, background .2s, border-color .2s, color .2s;
	white-space: nowrap;
	cursor: pointer;
}
.evt-btn:hover { transform: translateY(-1px); }
.evt-btn--y { background: var(--yellow); color: var(--ink); }
.evt-btn--y:hover { background: var(--yellow-deep); }
.evt-btn--out { background: transparent; border-color: var(--line-strong); color: var(--ink); }
.evt-btn--out:hover { background: var(--paper-2); }
.evt-btn--ink { background: var(--ink); color: var(--paper); }
.evt-btn__icon { flex-shrink: 0; }

.evt-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ink-2);
	background: var(--paper-2);
	border: 1px solid var(--line);
	border-radius: 999px;
	transition: background .15s, border-color .15s, color .15s;
	white-space: nowrap;
}
.evt-chip:hover { background: var(--paper-3); }
.evt-chip.is-on {
	background: var(--ink);
	color: var(--paper);
	border-color: var(--ink);
}
.evt-chip__n {
	display: inline-block;
	margin-left: 2px;
	padding: 1px 7px;
	font-size: 11px;
	font-weight: 700;
	background: var(--paper);
	color: var(--ink);
	border-radius: 999px;
}
.evt-chip.is-on .evt-chip__n { background: var(--yellow); color: var(--ink); }
.evt-chip--reset {
	color: var(--red);
	background: var(--red-soft);
	border-color: transparent;
}
.evt-chip--ghost {
	background: transparent;
	border-color: var(--line);
	color: var(--muted);
}

/* ============================================================
   FILTERS
   ============================================================ */
.evt-tax__filters {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 10px 14px;
	margin-bottom: 16px;
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: var(--radius);
}
.evt-tax__filter-row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.evt-tax__filter-label {
	flex-shrink: 0;
	padding-top: 8px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--muted-2);
	min-width: 64px;
}
.evt-tax__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
@media (max-width: 720px) {
	.evt-tax__filters { padding: 10px 12px; }
	.evt-tax__filter-row { flex-direction: column; gap: 6px; }
	.evt-tax__filter-label { padding-top: 0; }
	.evt-tax__chips {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		padding-bottom: 4px;
	}
	.evt-tax__chips::-webkit-scrollbar { display: none; }
}

/* ============================================================
   FEATURED (top-3 promo)
   ============================================================ */
.evt-tax__featured {
	margin-bottom: 22px;
	/* Розширити трохи за межі main-кoнтейнера на десктопі — щоб скрол-стрічка
	 * мала «дихання» по краях і виглядала природно (як edge-to-edge на mobile-апках). */
}
.evt-tax__featured-head {
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.evt-tax__featured-title {
	font-family: 'Unbounded', system-ui, sans-serif;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: -.01em;
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.evt-tax__featured-dot {
	width: 7px; height: 7px;
	border-radius: 50%;
	background: var(--red);
	box-shadow: 0 0 0 4px var(--red-soft);
}
.evt-tax__featured-hint {
	font-size: 12px;
	color: var(--muted-2);
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.evt-tax__featured-grid {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-padding-inline-start: 0;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	padding: 2px 24px 8px 0; /* right-padding щоб остання картка не «резалась» при скролі */
	margin-right: -24px;     /* …і компенсація щоб не зсувало loayout */
	scrollbar-width: none;
}
.evt-tax__featured-grid::-webkit-scrollbar { display: none; }
.evt-tax__featured-grid > .evt-feat {
	flex: 0 0 240px;
	scroll-snap-align: start;
}
@media (max-width: 720px) {
	.evt-tax__featured-grid {
		padding-right: 16px;
		margin-right: -16px;
	}
	.evt-tax__featured-grid > .evt-feat { flex: 0 0 200px; }
}

.evt-feat {
	position: relative;
	display: block;
	border-radius: var(--radius);
	background: var(--paper);
	border: 1px solid var(--line);
	overflow: hidden;
	transition: transform .2s, box-shadow .2s;
}
.evt-feat:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-2);
}
.evt-feat__media {
	position: relative;
	aspect-ratio: 3 / 4;
	background: var(--paper-2);
	overflow: hidden;
}
.evt-feat__media img {
	width: 100%; height: 100%;
	/* contain — featured strip = головні постери, треба показувати ВЕСЬ poster
	 * (як на single hero). Landscape випадки letterboxа́ть paper-2-фоном. */
	object-fit: contain;
}
.evt-feat__media-fallback {
	position: absolute; inset: 0;
	display: grid; place-items: center;
	font-family: 'Unbounded', system-ui, sans-serif;
	font-weight: 800;
	font-size: 64px;
	color: var(--paper-3);
	background: var(--ink);
}
.evt-feat__badge {
	position: absolute; top: 8px; left: 8px;
	background: var(--yellow);
	color: var(--ink);
	padding: 3px 8px;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	border-radius: 999px;
}
.evt-feat__body { padding: 10px 12px 12px; }
.evt-feat__cat {
	display: inline-block;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--red);
	margin-bottom: 4px;
}
.evt-feat__title {
	font-family: 'Unbounded', system-ui, sans-serif;
	font-weight: 700;
	font-size: 14.5px;
	line-height: 1.22;
	letter-spacing: -.01em;
	margin: 0 0 6px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.evt-feat__meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 12px;
	color: var(--muted);
}
.evt-feat__date b { color: var(--ink); font-weight: 700; }
.evt-feat__price {
	margin-top: 6px;
	font-size: 13px;
	font-weight: 700;
	color: var(--ink);
}

/* ============================================================
   LAYOUT (main + side)
   ============================================================ */
.evt-tax__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 28px;
}
@media (max-width: 980px) {
	.evt-tax__layout { grid-template-columns: 1fr; }
}

.evt-tax__main { min-width: 0; }

/* ============================================================
   LIST + CARDS
   ============================================================ */
.evt-tax__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.evt-tax__month-row {
	margin-top: 18px;
	padding-bottom: 4px;
}
.evt-tax__month-row:first-child { margin-top: 0; }
.evt-tax__month {
	font-family: 'Unbounded', system-ui, sans-serif;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--muted-2);
	margin: 0;
	padding: 8px 0 6px;
	border-bottom: 1px solid var(--line);
}

.evt-card {
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	transition: transform .15s, box-shadow .15s, border-color .15s;
}
.evt-card:hover {
	border-color: var(--line-strong);
	box-shadow: var(--shadow-2);
}
.evt-card.is-promo {
	background: linear-gradient(180deg, var(--yellow-soft) 0%, var(--paper) 30%);
	border-color: var(--yellow-deep);
}
.evt-card.is-past { opacity: .55; }

.evt-card__link {
	display: grid;
	grid-template-columns: 88px 120px 1fr;
	align-items: stretch;
	gap: 16px;
	padding: 14px;
	border-radius: var(--radius);
}
.evt-card__date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	background: var(--paper-2);
	border-radius: var(--radius-sm);
	padding: 10px 6px;
	font-family: 'JetBrains Mono', 'Menlo', monospace;
}
.evt-card__dow {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--muted-2);
}
.evt-card__day {
	font-family: 'Unbounded', system-ui, sans-serif;
	font-weight: 800;
	font-size: 28px;
	line-height: 1;
	color: var(--ink);
}
.evt-card__time {
	font-size: 11.5px;
	color: var(--muted);
}
.evt-card.is-promo .evt-card__date { background: rgba(255,255,255,.6); }

.evt-card__media {
	position: relative;
	aspect-ratio: 3 / 4;
	background: var(--paper-2);
	border-radius: var(--radius-sm);
	overflow: hidden;
}
.evt-card__media img {
	width: 100%; height: 100%;
	/* cover — у списку маленькі прев'ю; портретний контейнер 3/4 + типовий
	 * вертикальний постер 3/4 → fits edge-to-edge без crop. Landscape (рідко)
	 * crops по сторонам. */
	object-fit: cover;
}
.evt-card__media-fallback {
	position: absolute; inset: 0;
	display: grid; place-items: center;
	font-family: 'Unbounded', system-ui, sans-serif;
	font-weight: 800;
	font-size: 32px;
	color: var(--paper-3);
	background: var(--ink);
}
.evt-card__badge {
	position: absolute; top: 6px; left: 6px;
	font-size: 10px;
	font-weight: 800;
	padding: 3px 7px;
	border-radius: 999px;
	letter-spacing: .03em;
	text-transform: uppercase;
}
.evt-card__badge--promo { background: var(--yellow); color: var(--ink); }

.evt-card__body { display: flex; flex-direction: column; min-width: 0; gap: 6px; padding: 4px 0; }
.evt-card__cat {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--red);
}
.evt-card__title {
	font-family: 'Unbounded', system-ui, sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.25;
	margin: 0;
	color: var(--ink);
}
.evt-card__venue {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--muted);
}
.evt-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 4px;
}
.evt-card__price {
	font-size: 12px;
	font-weight: 700;
	color: var(--ink);
	background: var(--yellow-soft);
	padding: 3px 9px;
	border-radius: 999px;
}
.evt-card__tag {
	font-size: 12px;
	color: var(--muted);
	background: var(--paper-2);
	padding: 3px 9px;
	border-radius: 999px;
}

@media (max-width: 720px) {
	.evt-card__link {
		grid-template-columns: 72px 1fr;
		grid-template-areas:
			"date body"
			"media body";
		gap: 12px;
	}
	.evt-card__date { grid-area: date; padding: 8px 4px; }
	.evt-card__media {
		grid-area: media;
		aspect-ratio: 3 / 4;
	}
	.evt-card__body { grid-area: body; padding-top: 2px; }
	.evt-card__day { font-size: 24px; }
}

/* ============================================================
   EMPTY STATE
   ============================================================ */
.evt-tax__empty {
	text-align: center;
	padding: 48px 24px;
	background: var(--paper);
	border: 1px dashed var(--line-strong);
	border-radius: var(--radius);
	color: var(--muted);
}
.evt-tax__empty svg { margin-bottom: 12px; color: var(--muted-2); }
.evt-tax__empty h2 { color: var(--ink); margin-top: 0; }
.evt-tax__empty p { margin: 0 0 14px; }

/* ============================================================
   SHOW MORE + PAGER
   ============================================================ */
.evt-tax__show-more-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin: 28px 0 8px;
}
.evt-tax__show-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--ink);
	color: var(--paper);
	font-weight: 700;
	font-size: 14px;
	padding: 12px 22px;
	border-radius: 999px;
	cursor: pointer;
	transition: opacity .2s, transform .2s;
}
.evt-tax__show-more:hover { transform: translateY(-1px); }
.evt-tax__show-more.is-loading { opacity: .55; pointer-events: none; }
.evt-tax__show-more.is-depleted { display: none; }
.evt-tax__show-more-spinner { display: none; width: 14px; height: 14px; border: 2px solid var(--paper); border-top-color: transparent; border-radius: 50%; animation: evt-spin .8s linear infinite; }
.evt-tax__show-more.is-loading .evt-tax__show-more-spinner { display: inline-block; }
@keyframes evt-spin { to { transform: rotate(360deg); } }
.evt-tax__show-more-info { font-size: 13px; color: var(--muted); margin: 0; }
.evt-tax__show-more-info b { color: var(--ink); font-weight: 700; }

.pager.evt-tax__pager {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin: 22px 0 8px;
	flex-wrap: wrap;
}
.pager.evt-tax__pager .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px; height: 36px;
	padding: 0 12px;
	border-radius: 8px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ink);
	background: var(--paper);
	border: 1px solid var(--line);
}
.pager.evt-tax__pager .page-numbers:hover { background: var(--paper-2); }
.pager.evt-tax__pager .page-numbers.current { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.pager.evt-tax__pager .page-numbers.dots { background: transparent; border-color: transparent; }

/* ============================================================
   ABOUT (taxonomy term description)
   ============================================================ */
.evt-tax__about {
	margin-top: 36px;
	padding: 24px;
	background: var(--paper-2);
	border-radius: var(--radius);
}
.evt-tax__about-body { font-size: 15px; line-height: 1.6; color: var(--ink-2); }
.evt-tax__about-body p:last-child { margin-bottom: 0; }

/* ============================================================
   SIDE — sticky-колонка яка слідує за скролом до кінця layout'у.
   ------------------------------------------------------------
   Логіка:
     1. align-self: start — щоб grid не розтягував aside на всю висоту main
        (інакше sticky нікуди не липне).
     2. position: sticky + top: header-h + quick-h + 12 — фіксує до viewport
        коли користувач скролить нижче.
     3. max-height + overflow-y: auto — якщо сайдбар вищий за viewport,
        він має власний внутрішній скрол. Інакше нижні widgets лишалися б
        невидимими (поза екраном).
     4. Сайдбар «розпалюється» одразу під hero+filters і тримається у viewport
        весь час доки main-column має контент — через rubrics + description
        аж до bottom-crumbs.
     5. На mobile (≤980) sticky вимикається — колонки укладаються одна під
        одну, sidebar стає просто секцією знизу.
   ============================================================ */
.evt-tax__side {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
	position: sticky;
	top: calc(var(--header-h) + var(--quick-h) + 12px);
	align-self: start;
}
@media (max-width: 980px) {
	.evt-tax__side { position: static; }
}

.evt-side__title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: 'Unbounded', system-ui, sans-serif;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: -.01em;
	margin: 0 0 12px;
}
.evt-side__title-dot {
	width: 7px; height: 7px;
	border-radius: 50%;
	background: var(--yellow);
	box-shadow: 0 0 0 4px var(--yellow-soft);
}

.evt-side__top-week {
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 16px;
}
.evt-side__list {
	list-style: none;
	margin: 0; padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.evt-side__item + .evt-side__item { border-top: 1px solid var(--line); padding-top: 10px; }
.evt-side__link {
	display: grid;
	grid-template-columns: 44px 60px 1fr;
	align-items: center;
	gap: 10px;
	min-height: 60px;
	transition: opacity .15s;
}
.evt-side__link:hover { opacity: .8; }
.evt-side__date {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: var(--paper-2);
	border-radius: 8px;
	padding: 4px 0;
}
.evt-side__date .dow { font-size: 10px; font-weight: 700; color: var(--muted-2); letter-spacing: .06em; }
.evt-side__date .day { font-family: 'Unbounded', system-ui, sans-serif; font-weight: 800; font-size: 18px; color: var(--ink); line-height: 1; }
.evt-side__media {
	width: 60px; height: 60px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--paper-3);
}
.evt-side__media img { width: 100%; height: 100%; object-fit: cover; }
.evt-side__body { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.evt-side__t {
	font-size: 13px; font-weight: 700; color: var(--ink);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.evt-side__v { font-size: 11.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.evt-side__newsletter {
	background: var(--ink);
	color: var(--paper);
	border-radius: var(--radius);
	padding: 18px;
}
.evt-side__newsletter .evt-side__title { color: var(--yellow); }
.evt-side__newsletter-lead { font-size: 13px; color: rgba(246,241,228,.78); margin: 0 0 12px; }
.evt-side__form { display: flex; flex-direction: column; gap: 8px; }
.evt-side__form input[type="email"] {
	width: 100%;
	padding: 11px 14px;
	border-radius: 999px;
	border: 1px solid rgba(246,241,228,.20);
	background: rgba(246,241,228,.06);
	color: var(--paper);
	font: inherit;
	outline: none;
}
.evt-side__form input[type="email"]:focus { border-color: var(--yellow); }
.evt-side__form input[type="email"]::placeholder { color: rgba(246,241,228,.5); }
.evt-side__form button { justify-content: center; }
.evt-side__form-msg { font-size: 12.5px; margin: 0; }
.evt-side__form-msg.is-ok    { color: var(--yellow); }
.evt-side__form-msg.is-error { color: #ffb1ad; }

/* ============================================================
   RUBRICS GRID — у головній колонці. Картки name + count + slug-URL
   ============================================================ */
.evt-tax__rubrics { margin-top: 36px; }
.evt-tax__rubrics-grid {
	list-style: none;
	margin: 0; padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}
@media (max-width: 980px) {
	.evt-tax__rubrics-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
	.evt-tax__rubrics-grid { grid-template-columns: 1fr; }
}
.evt-tax__rubric { min-width: 0; }
.evt-tax__rubric a {
	display: block;
	padding: 14px 16px;
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	color: var(--ink);
	transition: background .15s, border-color .15s, transform .15s;
	min-height: 84px;
}
.evt-tax__rubric a:hover {
	background: var(--paper-2);
	border-color: var(--line-strong);
	transform: translateY(-1px);
}
.evt-tax__rubric.is-active a {
	background: var(--ink);
	color: var(--paper);
	border-color: var(--ink);
}
.evt-tax__rubric-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
}
.evt-tax__rubric-name {
	font-family: 'Unbounded', system-ui, sans-serif;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: -.01em;
	line-height: 1.2;
}
.evt-tax__rubric-n {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--muted);
	background: var(--paper-2);
	padding: 2px 9px;
	border-radius: 999px;
	flex-shrink: 0;
}
.evt-tax__rubric.is-active .evt-tax__rubric-n {
	background: var(--yellow);
	color: var(--ink);
}
.evt-tax__rubric-slug {
	display: block;
	font-family: 'JetBrains Mono', 'Menlo', monospace;
	font-size: 11.5px;
	color: var(--muted-2);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.evt-tax__rubric.is-active .evt-tax__rubric-slug {
	color: rgba(246,241,228,.55);
}

/* ============================================================
   ARCHIVE DESCRIPTION (editor-managed; wp-admin → Афіша → Опис сторінки)
   2-колонкова верстка тіла на десктопі (≥720px); single-col на mobile.
   ============================================================ */
.evt-tax__description {
	margin-top: 24px;
	padding: 22px 24px;
	background: var(--paper-2);
	border-radius: var(--radius);
}
.evt-tax__description .evt-section__title {
	margin: 0 0 14px;
	font-size: 22px;
}
.evt-tax__description-body {
	font-size: 14.5px;
	line-height: 1.7;
	color: var(--ink-2);
	column-count: 2;
	column-gap: 36px;
}
.evt-tax__description-body > * {
	break-inside: avoid;
}
.evt-tax__description-body p { margin: 0 0 1em; }
.evt-tax__description-body p:last-child { margin-bottom: 0; }
@media (max-width: 720px) {
	.evt-tax__description { padding: 18px 16px; }
	.evt-tax__description-body { column-count: 1; }
}
.evt-tax__description-body h2,
.evt-tax__description-body h3 {
	font-family: 'Unbounded', system-ui, sans-serif;
	font-weight: 700;
	letter-spacing: -.01em;
	color: var(--ink);
	margin-top: 1.4em;
	margin-bottom: .5em;
}
.evt-tax__description-body h2 { font-size: 17px; margin-top: 0; }
.evt-tax__description-body h3 { font-size: 14.5px; margin-top: 1em; }
.evt-tax__description-body a {
	color: var(--ink);
	border-bottom: 1px solid var(--line-strong);
	transition: color .15s, border-color .15s;
}
.evt-tax__description-body a:hover { color: var(--red); border-color: var(--red); }
.evt-tax__description-body ul,
.evt-tax__description-body ol {
	padding-left: 1.4em;
	margin: 0 0 1em;
}
.evt-tax__description-body li { margin-bottom: .3em; }
.evt-tax__description-body img {
	border-radius: var(--radius-sm);
	margin: 14px 0;
	max-width: 100%;
	height: auto;
}
.evt-tax__description-body blockquote {
	border-left: 3px solid var(--yellow);
	padding-left: 16px;
	margin: 18px 0;
	color: var(--muted);
	font-family: 'Lora', serif;
	font-style: italic;
}
@media (max-width: 720px) {
	.evt-tax__description { padding: 20px 18px; }
}

/* ============================================================
   SIDEBAR — «Організовуєте подію?» CTA-картка
   ============================================================ */
.evt-side__organizer {
	background: var(--yellow-soft);
	border: 1px solid var(--yellow-deep);
	border-radius: var(--radius);
	padding: 18px;
}
.evt-side__organizer-title {
	font-family: 'Unbounded', system-ui, sans-serif;
	font-weight: 700;
	font-size: 15px;
	color: var(--ink);
	margin: 0 0 6px;
	letter-spacing: -.01em;
}
.evt-side__organizer-lead {
	font-size: 13px;
	color: var(--ink-2);
	margin: 0 0 12px;
	line-height: 1.45;
}
.evt-side__organizer-btn {
	width: 100%;
	justify-content: center;
	padding: 12px 14px;
	font-size: 14px;
}

/* ============================================================
   SIDEBAR — Локації (топ венью)
   ============================================================ */
.evt-side__venues {
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 14px 18px 6px;
}
.evt-side__venues-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--line);
	margin-bottom: 4px;
}
.evt-side__venues-title {
	font-family: 'Unbounded', system-ui, sans-serif;
	font-weight: 700;
	font-size: 11.5px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--muted-2);
	margin: 0;
}
.evt-side__venues-all {
	font-size: 12px;
	color: var(--muted);
	font-weight: 600;
	transition: color .15s;
}
.evt-side__venues-all:hover { color: var(--ink); }
.evt-side__venues-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.evt-side__venue + .evt-side__venue {
	border-top: 1px solid var(--line);
}
.evt-side__venue-link {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: baseline;
	column-gap: 8px;
	padding: 10px 0;
	color: var(--ink);
	transition: color .15s;
}
a.evt-side__venue-link:hover { color: var(--red); }
a.evt-side__venue-link:hover .evt-side__venue-name { text-decoration: underline; }
.evt-side__venue-name {
	font-size: 13.5px;
	font-weight: 700;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
}
.evt-side__venue-district {
	font-size: 12.5px;
	font-weight: 400;
	color: var(--muted);
	grid-column: 1;
	grid-row: 2;
	margin-top: 2px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.evt-side__venue-n {
	font-family: 'JetBrains Mono', monospace;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--muted);
	grid-column: 2;
	grid-row: 1;
	align-self: center;
}
