.vpt-events-page,
.vpt-event-detail {
	background: var(--vp-color-bg);
}

.vpt-events-hero,
.vpt-event-detail-hero {
	background: var(--vp-color-surface);
	border-bottom: 1px solid var(--vp-color-border);
}

.vpt-events-hero__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--vp-space-6);
	padding-block: clamp(3rem, 7vw, 5.5rem);
}

.vpt-event-eyebrow {
	margin: 0 0 var(--vp-space-2);
	color: var(--vp-bank-primary);
	font-size: var(--vp-font-size-sm);
	font-weight: var(--vp-font-weight-bold);
}

.vpt-events-hero h1,
.vpt-event-detail-hero h1 {
	margin: 0;
	color: var(--vp-color-text-strong);
	font-size: clamp(2.35rem, 1.8rem + 2vw, 3.7rem);
	line-height: 1.04;
	letter-spacing: -0.025em;
}

.vpt-events-hero__intro {
	max-width: 44rem;
	margin: var(--vp-space-4) 0 0;
	color: var(--vp-color-text-muted);
	font-size: var(--vp-font-size-lg);
}

.vpt-events-hero__icon {
	display: grid;
	flex: 0 0 auto;
	width: 4.75rem;
	height: 4.75rem;
	place-items: center;
	border-radius: 50%;
	background: var(--vp-color-surface-selected);
	color: var(--vp-bank-primary);
}

.vpt-events-hero__icon .vpt-icon { width: 2rem; height: 2rem; }

.vpt-events-section,
.vpt-event-detail-section {
	padding-block: clamp(3.5rem, 7vw, 6rem);
}

.vpt-events-list {
	display: grid;
	gap: var(--vp-space-5);
}

.vpt-event-card {
	overflow: hidden;
	border: 1px solid var(--vp-color-border);
	border-radius: var(--vp-radius-2xl);
	background: var(--vp-color-surface);
	box-shadow: var(--vp-shadow-sm);
}

.vpt-event-card__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 7;
	background: var(--vp-color-surface-subtle);
}

.vpt-event-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--vp-duration-fast) var(--vp-ease);
}

.vpt-event-card__media:hover img { transform: scale(1.015); }

.vpt-event-card__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: var(--vp-space-5);
	padding: var(--vp-space-6);
}

.vpt-event-card__date {
	display: grid;
	align-content: center;
	justify-items: center;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: var(--vp-radius-lg);
	background: var(--vp-bank-deep);
	color: #fff;
	text-align: center;
}

.vpt-event-card__date strong {
	font-size: 1.7rem;
	line-height: 1;
}

.vpt-event-card__date span {
	margin-top: 0.15rem;
	font-size: 0.72rem;
	font-weight: var(--vp-font-weight-bold);
	letter-spacing: 0.08em;
}

.vpt-event-card__date .vpt-icon { width: 1.5rem; height: 1.5rem; }
.vpt-event-card__content { min-width: 0; }
.vpt-event-card__title { margin: 0; font-size: clamp(1.35rem, 1.2rem + 0.45vw, 1.75rem); }
.vpt-event-card__title a { color: inherit; text-decoration: none; }
.vpt-event-card__title a:hover { color: var(--vp-bank-primary); text-decoration: underline; text-underline-offset: 0.16em; }

.vpt-event-card__meta,
.vpt-event-detail-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--vp-space-2) var(--vp-space-4);
	margin-top: var(--vp-space-3);
	color: var(--vp-color-text-muted);
	font-size: var(--vp-font-size-sm);
}

.vpt-event-card__meta > span,
.vpt-event-detail-meta > span {
	display: inline-flex;
	align-items: center;
	gap: var(--vp-space-2);
}

.vpt-event-card__meta .vpt-icon,
.vpt-event-detail-meta .vpt-icon {
	width: 1rem;
	height: 1rem;
	color: var(--vp-bank-primary);
}

.vpt-event-card__summary {
	max-width: 54rem;
	margin: var(--vp-space-4) 0 0;
	color: var(--vp-color-text-muted);
}

.vpt-event-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--vp-space-3) var(--vp-space-5);
	margin-top: var(--vp-space-5);
}

.vpt-event-text-link,
.vpt-event-back {
	display: inline-flex;
	align-items: center;
	gap: var(--vp-space-2);
	color: var(--vp-bank-primary);
	font-size: var(--vp-font-size-sm);
	font-weight: var(--vp-font-weight-bold);
	text-decoration: none;
}

.vpt-event-text-link:hover,
.vpt-event-back:hover { text-decoration: underline; text-underline-offset: 0.16em; }
.vpt-event-text-link .vpt-icon,
.vpt-event-back .vpt-icon { width: 1rem; height: 1rem; }
.vpt-event-text-link--muted { color: var(--vp-color-text-muted); }

.vpt-events-empty {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: var(--vp-space-4);
	max-width: 52rem;
	border: 1px solid var(--vp-color-border);
	border-radius: var(--vp-radius-2xl);
	background: var(--vp-color-surface);
	padding: var(--vp-space-6);
	box-shadow: var(--vp-shadow-sm);
}

.vpt-events-empty > span {
	display: grid;
	width: 3rem;
	height: 3rem;
	place-items: center;
	border-radius: 50%;
	background: var(--vp-color-surface-selected);
	color: var(--vp-bank-primary);
}

.vpt-events-empty > span .vpt-icon { width: 1.3rem; height: 1.3rem; }
.vpt-events-empty h1,
.vpt-events-empty h2 { margin: 0; font-size: var(--vp-font-size-xl); }
.vpt-events-empty p { margin: var(--vp-space-2) 0 0; color: var(--vp-color-text-muted); }
.vpt-events-empty .vpt-button { margin-top: var(--vp-space-5); }

.vpt-event-detail-hero { overflow: visible; }
.vpt-event-back { margin-top: var(--vp-space-6); }
.vpt-event-detail-hero__grid {
	display: grid;
	gap: var(--vp-space-6);
	align-items: center;
	padding-block: clamp(2.25rem, 5vw, 4.5rem);
}
.vpt-event-detail-hero__copy { min-width: 0; }
.vpt-event-detail-hero__summary {
	max-width: 46rem;
	margin: var(--vp-space-5) 0 0;
	color: var(--vp-color-text-muted);
	font-size: var(--vp-font-size-lg);
}
.vpt-event-detail-hero__media {
	overflow: hidden;
	border-radius: var(--vp-radius-2xl);
	background: var(--vp-color-surface-subtle);
	aspect-ratio: 16 / 10;
	box-shadow: var(--vp-shadow-sm);
}
.vpt-event-detail-hero__media img { width: 100%; height: 100%; object-fit: cover; }

.vpt-event-detail-section__grid {
	display: grid;
	gap: var(--vp-space-7);
	align-items: start;
}

.vpt-event-detail-content {
	min-width: 0;
	font-size: var(--vp-font-size-lg);
}
.vpt-event-detail-content > :first-child { margin-top: 0; }
.vpt-event-detail-content > :last-child { margin-bottom: 0; }
.vpt-event-detail-content img { border-radius: var(--vp-radius-xl); }

.vpt-event-detail-aside {
	border: 1px solid var(--vp-color-border);
	border-left: 4px solid var(--vp-bank-accent);
	border-radius: var(--vp-radius-2xl);
	background: var(--vp-color-surface-subtle);
	padding: var(--vp-space-6);
}
.vpt-event-detail-aside h2 { margin: 0; font-size: var(--vp-font-size-2xl); }

.vpt-event-facts {
	display: grid;
	gap: 0;
	margin: var(--vp-space-5) 0 0;
}
.vpt-event-facts > div {
	padding-block: var(--vp-space-4);
	border-top: 1px solid var(--vp-color-border);
}
.vpt-event-facts > div:first-child { border-top: 0; padding-top: 0; }
.vpt-event-facts dt {
	display: flex;
	align-items: center;
	gap: var(--vp-space-2);
	color: var(--vp-color-text-soft);
	font-size: var(--vp-font-size-xs);
	font-weight: var(--vp-font-weight-bold);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.vpt-event-facts dt .vpt-icon { width: 1rem; height: 1rem; color: var(--vp-bank-primary); }
.vpt-event-facts dd { margin: var(--vp-space-1) 0 0; color: var(--vp-color-text-strong); font-weight: var(--vp-font-weight-medium); }
.vpt-event-external { margin-top: var(--vp-space-5); gap: var(--vp-space-2); }
.vpt-event-external .vpt-icon { width: 1rem; height: 1rem; }

@media (min-width: 48rem) {
	.vpt-event-card--with-image {
		display: grid;
		grid-template-columns: minmax(15rem, 0.7fr) minmax(0, 1.3fr);
	}
	.vpt-event-card--with-image .vpt-event-card__media { aspect-ratio: auto; min-height: 100%; }
}

@media (min-width: 64rem) {
	.vpt-events-list { gap: var(--vp-space-6); }
	.vpt-event-detail-hero--with-image .vpt-event-detail-hero__grid {
		grid-template-columns: minmax(0, 1.05fr) minmax(24rem, 0.72fr);
		padding-bottom: var(--vp-space-6);
	}
	.vpt-event-detail-hero--with-image .vpt-event-detail-hero__media {
		position: relative;
		z-index: 2;
		transform: translateY(var(--vp-space-6));
	}
	.vpt-event-detail-section__grid { grid-template-columns: minmax(0, 1.65fr) minmax(18rem, 0.72fr); }
}

@media (max-width: 39.99rem) {
	.vpt-events-hero__inner { align-items: flex-start; }
	.vpt-events-hero__icon { width: 3.5rem; height: 3.5rem; }
	.vpt-event-card__inner { grid-template-columns: 1fr; padding: var(--vp-space-5); }
	.vpt-event-card__date { width: 4rem; height: 4rem; }
	.vpt-events-empty { grid-template-columns: 1fr; }
	.vpt-event-detail-meta { flex-direction: column; align-items: flex-start; }
	.vpt-event-detail-aside { padding: var(--vp-space-5); }
}
