/* Афиша: список и страница события. Основа: vkz-home.css (сетка .vkz-home, карточки, правая колонка) и vkz-news.css (верхняя строка, текст, страницы) */

.vkz-events .vkz-news-main {
	gap: 28px;
}
/* верхняя строка и уведомления ближе друг к другу, чем блоки афиши */
.vkz-events:not(.vkz-events--detail) .vkz-news-head {
	margin-bottom: -12px;
}
.vkz-events:not(.vkz-events--detail) .vkz-home-feed-notif:not(:empty) {
	margin-bottom: -12px;
}

/* ---------- Заголовки блоков ---------- */
.vkz-ev-sec {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.vkz-ev-sec-head {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 0 0 10px;
}
.vkz-ev-sec-title {
	margin: 0;
	font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	color: #141414;
}
.vkz-ev-sec-sub {
	font-size: 13px;
	color: #6b6b6b;
}

/* ---------- Предстоящие: по дням ---------- */
.vkz-ev-groups {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.vkz-ev-group-head {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 10px;
}
.vkz-ev-group-day {
	font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	color: #141414;
}
.vkz-ev-group-rel {
	font-size: 13px;
	color: #6b6b6b;
}
.vkz-ev-card {
	padding: 0 20px;
}
.vkz-ev-row {
	display: flex;
	gap: 16px;
	padding: 16px 0;
	border-top: 1px solid rgba(20, 20, 20, 0.08);
}
.vkz-ev-row:first-child {
	border-top: 0;
}
.vkz-ev-row-poster {
	flex: none;
	display: block;
	width: 112px;
}
.vkz-ev-row-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
}
.vkz-ev-row-title {
	margin: 0;
	font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.22;
	color: #222;
	overflow-wrap: anywhere;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.vkz-ev-row-title a {
	color: inherit;
}
.vkz-ev-row-title a:hover {
	color: #1d4ed8;
}
.vkz-ev-row-sub {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 14px;
	font-size: 13px;
	line-height: 1.35;
	color: #6b6b6b;
}
.vkz-ev-row-sub span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

/* ---------- Постер: любой формы целиком на размытой копии ---------- */
.vkz-ev-poster {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	border-radius: 8px;
	overflow: hidden;
	background: #dfe3e8;
}
.vkz-ev-poster img {
	position: absolute;
	display: block;
	max-width: none !important;
}
.vkz-ev-poster img.vkz-ev-poster-bg {
	top: -20px;
	left: -20px;
	width: calc(100% + 40px) !important;
	height: calc(100% + 40px) !important;
	object-fit: cover;
	filter: blur(14px);
	opacity: 0.85;
}
.vkz-ev-poster img.vkz-ev-poster-fg {
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
}

/* ---------- Прошедшие: компактно ---------- */
.vkz-ev-card--past {
	padding: 0 16px;
}
.vkz-ev-prow {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid rgba(20, 20, 20, 0.08);
}
.vkz-ev-prow:first-child {
	border-top: 0;
}
.vkz-ev-pthumb {
	flex: none;
	display: block;
	width: 56px;
	height: 56px;
	border-radius: 8px;
	overflow: hidden;
	background: #dfe3e8;
}
.vkz-ev-pthumb img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}
.vkz-ev-pbody {
	flex: 1;
	min-width: 0;
}
.vkz-ev-ptitle {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	color: #222;
	overflow-wrap: anywhere;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.vkz-ev-ptitle a {
	color: inherit;
}
.vkz-ev-ptitle a:hover {
	color: #1d4ed8;
}
.vkz-ev-pdate {
	flex: none;
	font-size: 13px;
	color: #6b6b6b;
	white-space: nowrap;
	text-align: right;
}

/* ---------- Пусто ---------- */
.vkz-ev-empty {
	padding: 24px 20px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}
.vkz-ev-empty-title {
	font-size: 16px;
	font-weight: 700;
	color: #141414;
}
.vkz-ev-empty-text {
	margin-bottom: 8px;
	font-size: 13px;
	color: #6b6b6b;
}
.vkz-ev-banner {
	min-width: 0;
	margin: 0;
}
/* пока реклама не загрузилась, блок не занимает места (зазор колонки не удваивается) */
.vkz-ev-banner:not(:has(iframe, ins, img, object, embed)) {
	height: 0;
	overflow: hidden;
	margin-top: -28px;
}

/* ---------- Список: правая колонка без «Ближайших событий» (это сама страница) ---------- */
.vkz-events:not(.vkz-events--detail) .vkz-home-rail-events {
	display: none;
}

/* ---------- Страница события ---------- */
.vkz-ev-art {
	display: block;
	padding: 24px;
}
.vkz-ev-art-top {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}
.vkz-ev-art-top.is-nophoto {
	grid-template-columns: minmax(0, 1fr);
}
.vkz-ev-stage {
	display: block;
	min-width: 0;
}
.vkz-ev-stage .vkz-ev-poster {
	border-radius: 10px;
}
.vkz-ev-info {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}
.vkz-ev-status {
	align-self: flex-start;
	display: inline-flex;
	padding: 4px 10px;
	border-radius: 999px;
	background: #eff6ff;
	color: #1d4ed8;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	white-space: nowrap;
}
.vkz-ev-status.is-past {
	background: #e5e7eb;
	color: #6b6b6b;
}
.vkz-ev-title {
	margin: 0;
	font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.18;
	color: #222;
	overflow-wrap: anywhere;
}
.vkz-ev-date {
	display: flex;
	align-items: center;
	gap: 12px;
}
.vkz-ev-datebox {
	flex: none;
	width: 68px;
	box-sizing: border-box;
	padding: 9px 0;
	border-radius: 12px;
	background: #eff6ff;
	color: #1d4ed8;
	text-align: center;
}
.vkz-ev-datebox b {
	display: block;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.1;
}
.vkz-ev-datebox span {
	display: block;
	font-size: 13px;
}
.vkz-ev-datebox em {
	display: block;
	font-size: 11px;
	font-style: normal;
	opacity: 0.8;
}
.vkz-ev-datebox.is-past {
	background: #e5e7eb;
	color: #6b6b6b;
}
.vkz-ev-date-full {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: #141414;
}
.vkz-ev-date-time {
	font-size: 14px;
	color: #6b6b6b;
}
.vkz-ev-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
/* «В избранное» и «Поделиться» как на доске объявлений (.nb-btn.nb-btn-sec, .nbd-share-pop) */
.vkz-ev-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	box-sizing: border-box;
	height: 36px;
	padding: 0 14px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: #fff;
	color: #1a1a1a;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	white-space: nowrap;
}
.vkz-ev-btn:focus-visible {
	outline: 2px solid #2563eb;
	outline-offset: 1px;
}
.vkz-ev-btn[aria-expanded="true"] {
	border-color: #2563eb;
}
.vkz-ev-fav.is-on {
	background: #eff6ff;
	border-color: #2563eb;
	color: #1d4ed8;
}
.vkz-ev-fav.is-on svg {
	fill: #ed1c24;
	stroke: #ed1c24;
}
.vkz-ev-share-wrap {
	position: relative;
}
.vkz-ev-share-pop {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	z-index: 40;
	min-width: 220px;
	box-sizing: border-box;
	padding: 6px;
	background: #fff;
	border: 1px solid rgba(20, 20, 20, 0.12);
	border-radius: 12px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}
.vkz-ev-share-pop[hidden] {
	display: none;
}
.vkz-ev-share-pop a,
.vkz-ev-share-pop button {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 9px 12px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #1a1a1a;
	font: 14px/1.3 inherit;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}
.vkz-ev-share-pop a:hover,
.vkz-ev-share-pop button:hover {
	background: #f3f4f6;
	color: #1a1a1a;
}
.vkz-ev-art-body {
	margin-top: 24px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* ---------- Избранное: афиши отдельным блоком над объявлениями ---------- */
.vkz-ev-fcard {
	margin-bottom: 20px;
}
.vkz-ev-frow {
	align-items: center;
}
.vkz-ev-frow .vkz-home-ev-cal {
	align-self: center;
}
/* статус и название — по верхнему краю миниатюры */
.vkz-ev-frow .vkz-ev-row-body {
	align-self: flex-start;
	justify-content: flex-start;
}
.vkz-ev-frow-ph {
	position: relative;
	flex: none;
	width: 112px;
}
.vkz-ev-frow-ph .vkz-ev-row-poster {
	width: 100%;
}
.vkz-ev-frow-x {
	position: absolute;
	top: 6px;
	right: 6px;
	z-index: 3;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: #3a3a3c;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.vkz-ev-frow-x:hover {
	color: #ed1c24;
}
.vkz-ev-frow-x.is-on {
	color: #ed1c24;
}
.vkz-ev-frow-x.is-on svg {
	fill: #ed1c24;
	stroke: #ed1c24;
}
.vkz-ev-fav-h {
	margin: 4px 0 12px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	color: #141414;
}
html.nb-dk .vkz-ev-fcard {
	background: #2c2c2e;
}
html.nb-dk .vkz-ev-fcard .vkz-ev-row-title,
html.nb-dk .vkz-ev-fav-h,
body.vkz-mn-dark .vkz-ev-fav-h {
	color: #f3f4f6;
}
html.nb-dk .vkz-ev-fcard .vkz-home-ev-cal {
	background: rgba(37, 99, 235, 0.28);
	color: #fff;
}
html.nb-dk .vkz-ev-fcard .vkz-ev-row {
	border-top-color: rgba(240, 240, 240, 0.12);
}
html.nb-dk .vkz-ev-fcard .vkz-ev-status {
	background: rgba(37, 99, 235, 0.28);
	color: #bfdbfe;
}
html.nb-dk .vkz-ev-fcard .vkz-ev-status.is-past {
	background: #3f3f46;
	color: #d1d5db;
}
html.nb-dk .vkz-ev-fcard .vkz-ev-poster {
	background: #3f3f46;
}
html.nb-dk .vkz-ev-frow-x,
body.vkz-mn-dark .vkz-ev-frow-x {
	background: rgba(44, 44, 46, 0.92);
	color: #e5e7eb;
}
html.nb-dk .vkz-ev-frow-x.is-on,
body.vkz-mn-dark .vkz-ev-frow-x.is-on {
	color: #ed1c24;
}

/* Десктоп: плитка даты на 50% крупнее (44 → 66 px) в списке афиш и в избранном */
@media screen and (min-width: 768px) {
	.vkz-ev-frow .vkz-home-ev-cal {
		width: 66px;
		padding: 6px 0;
		border-radius: 12px;
	}
	.vkz-ev-frow .vkz-home-ev-day {
		font-size: 27px;
	}
	.vkz-ev-frow .vkz-home-ev-mo,
	.vkz-ev-frow .vkz-home-ev-tm {
		font-size: 16.5px;
	}
	.vkz-ev-frow .vkz-home-ev-tm {
		margin-top: 3px;
	}
}

/* ---------- Тёмная тема ---------- */
body.vkz-mn-dark .vkz-ev-sec-title,
body.vkz-mn-dark .vkz-ev-group-day,
body.vkz-mn-dark .vkz-ev-row-title,
body.vkz-mn-dark .vkz-ev-ptitle,
body.vkz-mn-dark .vkz-ev-title,
body.vkz-mn-dark .vkz-ev-date-full,
body.vkz-mn-dark .vkz-ev-empty-title {
	color: #f3f4f6;
}
body.vkz-mn-dark .vkz-ev-sec-sub,
body.vkz-mn-dark .vkz-ev-group-rel,
body.vkz-mn-dark .vkz-ev-row-sub,
body.vkz-mn-dark .vkz-ev-pdate,
body.vkz-mn-dark .vkz-ev-date-time,
body.vkz-mn-dark .vkz-ev-empty-text {
	color: #9ca3af;
}
body.vkz-mn-dark .vkz-ev-row,
body.vkz-mn-dark .vkz-ev-prow {
	border-top-color: rgba(240, 240, 240, 0.12);
}
body.vkz-mn-dark .vkz-ev-poster,
body.vkz-mn-dark .vkz-ev-pthumb {
	background: #3f3f46;
}
body.vkz-mn-dark .vkz-ev-status {
	background: rgba(37, 99, 235, 0.28);
	color: #fff;
}
body.vkz-mn-dark .vkz-ev-status.is-past,
body.vkz-mn-dark .vkz-ev-datebox.is-past {
	background: #3a3a3d;
	color: #9ca3af;
}
body.vkz-mn-dark .vkz-ev-datebox {
	background: rgba(37, 99, 235, 0.28);
	color: #fff;
}
body.vkz-mn-dark .vkz-ev-btn {
	background: #2a2a2e;
	border-color: #3f3f46;
	color: #f3f4f6;
}
body.vkz-mn-dark .vkz-ev-fav.is-on {
	background: #1e3a5f;
	border-color: #2563eb;
	color: #93c5fd;
}
body.vkz-mn-dark .vkz-ev-share-pop {
	background: #2c2c2e;
	border-color: #3f3f46;
}
body.vkz-mn-dark .vkz-ev-share-pop a,
body.vkz-mn-dark .vkz-ev-share-pop button {
	color: #f3f4f6;
}
body.vkz-mn-dark .vkz-ev-share-pop a:hover,
body.vkz-mn-dark .vkz-ev-share-pop button:hover {
	background: rgba(255, 255, 255, 0.08);
	color: #f3f4f6;
}

/* ---------- Телефон ---------- */
@media screen and (max-width: 767px) {
	.vkz-events .vkz-news-main {
		gap: 22px;
	}
	.vkz-ev-banner:not(:has(iframe, ins, img, object, embed)) {
		margin-top: -22px;
	}
	/* номера страниц: воздух сверху и снизу, как между блоками (зазор колонки 22 px) */
	.vkz-events .vkz-news-pager {
		padding-top: 22px;
		padding-bottom: 14px;
	}
	.vkz-events:not(.vkz-events--detail) .vkz-news-head {
		margin-bottom: -8px;
	}
	.vkz-ev-card,
	.vkz-ev-card--past {
		padding: 0 12px;
	}
	.vkz-ev-row {
		gap: 12px;
		padding: 12px 0;
	}
	.vkz-ev-row-poster {
		width: 84px;
	}
	.vkz-ev-frow-ph {
		width: 84px;
	}
	.vkz-ev-frow-ph .vkz-ev-row-poster {
		width: 100%;
	}
	.vkz-ev-frow-x {
		top: 4px;
		right: 4px;
		width: 26px;
		height: 26px;
	}
	.vkz-ev-frow-x svg {
		width: 15px;
		height: 15px;
	}
	.vkz-ev-frow .vkz-home-ev-cal {
		width: 40px;
	}
	.vkz-ev-row-title {
		font-size: 16px;
	}
	.vkz-ev-row-sub {
		font-size: 12px;
	}
	.vkz-ev-pthumb {
		width: 48px;
		height: 48px;
	}
	.vkz-ev-ptitle {
		font-size: 14px;
	}
	.vkz-ev-art {
		padding: 14px;
	}
	.vkz-ev-art-top {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
	.vkz-ev-title {
		font-size: 24px;
	}
	.vkz-ev-art-body {
		margin-top: 16px;
	}
}
