/* ══════════════════════════════════════════════════════════════════
   Events — /events (portrait-poster list) + /events/{id} (split hero)
   Built around a 3:4 portrait poster. Uses the refresh.css design tokens
   (--cl coral, --g sage, --cr cream, --md brown, --dp slate, --br, --sf).
   ══════════════════════════════════════════════════════════════════ */

/* ── list hero band ── */
.ev-hero { text-align:center; padding-top:4rem; padding-bottom:4rem; }
.ev-hero .eyebrow { margin-bottom:1.25rem; }

/* ── list: portrait-poster rows ── */
.ev-list {
	max-width:1080px;
	margin-inline:auto;
	display:flex;
	flex-direction:column;
	gap:2rem;
}
.ev-row {
	display:grid;
	grid-template-columns:240px 1fr;   /* fixed portrait poster + details */
	align-items:stretch;
	background:var(--cr);
	border:0.5px solid var(--br);
	box-shadow:0 1px 0 rgba(87,102,97,0.04);
	text-decoration:none;
	color:inherit;
	overflow:hidden;
	transition:transform 0.3s ease, box-shadow 0.3s ease;
}
.ev-row:hover {
	transform:translateY(-4px);
	box-shadow:0 22px 46px -26px rgba(87,102,97,0.6);
}
.ev-row-media { overflow:hidden; background:var(--sf); min-height:320px; }
.ev-row-img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; transition:transform 0.6s ease; }
.ev-row:hover .ev-row-img { transform:scale(1.045); }
.ev-row-img--placeholder {
	width:100%; height:100%;
	background:linear-gradient(135deg, var(--sf), rgba(108,158,136,0.18));
}
.ev-row-body {
	padding:2.25rem 2.75rem;
	display:flex;
	flex-direction:column;
	justify-content:center;
	border-left:2px solid var(--cl);   /* editorial accent seam */
}

.ev-card-date {
	font-family:'Jost', sans-serif;
	font-size:var(--fs-h5);
	letter-spacing:0.16em;
	text-transform:uppercase;
	color:var(--g);
	font-weight:600;
	margin-bottom:0.8rem;
}
.ev-card-title {
	font-family:'Cormorant Garamond', serif;
	font-size:clamp(1.9rem, 2.4vw, 2.5rem);
	line-height:1.12;
	color:var(--dp);
	margin-bottom:0.55rem;
}
.ev-card-sub {
	font-family:'Cormorant Garamond', serif;
	font-style:italic;
	font-size:var(--fs-h3);
	color:var(--md);
	line-height:1.35;
	margin-bottom:1rem;
}
.ev-card-loc {
	font-family:'Jost', sans-serif;
	font-size:var(--fs-h5);
	color:var(--md);
	opacity:0.85;
	margin-bottom:1.5rem;
}
.ev-pin { color:var(--g); margin-right:0.5rem; font-size:0.9em; }
.ev-card-more {
	display:inline-flex;
	align-items:center;
	gap:0.55rem;
	font-family:'Jost', sans-serif;
	font-size:13px;
	font-weight:600;
	letter-spacing:0.14em;
	text-transform:uppercase;
	color:var(--cl);
}
.ev-arrow { transition:transform 0.25s ease; }
.ev-row:hover .ev-arrow { transform:translateX(5px); }

/* ── list: empty state ── */
.ev-empty { max-width:640px; margin-inline:auto; text-align:center; padding:2rem 0 3rem; }
.ev-empty-title {
	font-family:'Cormorant Garamond', serif;
	font-size:var(--fs-h1);
	color:var(--dp);
	line-height:1.2;
	margin-bottom:1.25rem;
}
.ev-empty .sec-body { margin:0 auto 2rem; }

/* ══ detail: editorial split hero ══════════════════════════════════ */
.ev-hero2 {
	display:grid;
	grid-template-columns:clamp(340px, 34vw, 520px) 1fr;  /* poster | panel */
	align-items:stretch;
}
.ev-hero2--noimg { grid-template-columns:1fr; }

.ev-hero2-poster { margin:0; overflow:hidden; background:var(--sf); }
.ev-hero2-poster img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }

.ev-hero2-panel {
	background:var(--dp);
	color:var(--cr);
	display:flex;
	align-items:center;
	padding:4rem 4.5rem;
	position:relative;
	overflow:hidden;
}
/* faint flower-of-life echo — radial glow, no external asset */
.ev-hero2-panel::before {
	content:'';
	position:absolute;
	top:-30%; right:-15%;
	width:520px; height:520px;
	background:radial-gradient(circle, rgba(196,169,125,0.10) 0%, rgba(196,169,125,0) 66%);
	pointer-events:none;
}
.ev-hero2-inner { position:relative; z-index:1; max-width:560px; width:100%; }

.ev-eyebrow {
	font-family:'Jost', sans-serif;
	font-size:var(--fs-h5);
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:var(--g);
	font-weight:600;
	margin-bottom:1.35rem;
}
.ev-hero2-title {
	font-family:'Cormorant Garamond', serif;
	font-size:clamp(2.4rem, 3.4vw, 3.5rem);
	line-height:1.06;
	color:var(--cr);
	margin:0;
}
.ev-hero2-sub {
	font-family:'Cormorant Garamond', serif;
	font-style:italic;
	font-size:var(--fs-h2);
	color:rgba(255,248,230,0.82);
	line-height:1.35;
	margin-top:0.85rem;
}
.ev-rule { display:block; width:54px; height:2px; background:var(--cl); margin:2rem 0; }

.ev-meta { display:flex; flex-direction:column; gap:1.2rem; }
.ev-meta-row { display:grid; grid-template-columns:82px 1fr; gap:1.35rem; align-items:baseline; }
.ev-meta-k {
	font-family:'Jost', sans-serif;
	font-size:12px;
	letter-spacing:0.18em;
	text-transform:uppercase;
	color:var(--g);
	font-weight:600;
}
.ev-meta-v {
	font-family:'Jost', sans-serif;
	font-size:var(--fs-p);
	color:var(--cr);
	line-height:1.5;
	white-space:pre-line;   /* honour the date/time line break */
}
.ev-meta-note { display:block; font-style:normal; font-size:14px; color:rgba(255,248,230,0.6); margin-top:0.2rem; }
.ev-inline-link {
	display:inline-block;
	margin-left:0.5rem;
	color:var(--cl);
	font-size:14px;
	font-weight:600;
	text-decoration:none;
	white-space:normal;
}
.ev-inline-link:hover { text-decoration:underline; text-underline-offset:3px; }

.ev-hero2-cta { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.4rem; }
.ev-btn-dark { border-color:rgba(255,248,230,0.5); color:var(--cr); }
.ev-btn-dark:hover { border-color:var(--cr); color:var(--cr); background:rgba(255,248,230,0.08); }

.ev-status {
	display:inline-block;
	margin-top:1.25rem;
	padding:0.4rem 0.9rem;
	font-family:'Jost', sans-serif;
	font-size:12px;
	font-weight:600;
	letter-spacing:0.16em;
	text-transform:uppercase;
	color:var(--cr);
	border:1px solid rgba(255,248,230,0.5);
}
.ev-status--cancelled { background:var(--cl); border-color:transparent; }
.ev-status--rescheduled { background:var(--g); border-color:transparent; }

/* ── detail: prose ── */
.ev-prose-section { padding-top:4rem; padding-bottom:4.5rem; }
.ev-prose { max-width:720px; margin-inline:auto; }
.ev-detail-copy {
	font-family:'Jost', sans-serif;
	font-size:var(--fs-p);
	color:var(--md);
	line-height:1.85;
}
.ev-detail-copy p { margin-bottom:1.15rem; }
.ev-detail-copy h2, .ev-detail-copy h3 {
	font-family:'Cormorant Garamond', serif;
	color:var(--dp);
	font-size:var(--fs-h2);
	margin:2rem 0 0.85rem;
	line-height:1.2;
}
.ev-detail-copy a { color:var(--cl); }
.ev-detail-copy img { max-width:100%; height:auto; }
.ev-detail-copy ul, .ev-detail-copy ol { margin:0 0 1.15rem 1.25rem; }
.ev-detail-copy li { margin-bottom:0.4rem; }

.ev-backlink { text-align:center; margin-top:3rem; }
.ev-backlink a {
	font-family:'Jost', sans-serif;
	font-size:13px;
	letter-spacing:0.14em;
	text-transform:uppercase;
	color:var(--md);
	text-decoration:none;
}
.ev-backlink a:hover { color:var(--cl); }

/* ── responsive ── */
@media (max-width:900px) {
	/* list: stack full-width 3:4 poster above centered details */
	.ev-row { grid-template-columns:1fr; }
	.ev-row-media { min-height:0; aspect-ratio:3/4; max-width:440px; width:100%; margin-inline:auto; }
	.ev-row-body { padding:1.9rem 1.6rem 2.1rem; text-align:center; border-left:none; border-top:2px solid var(--cl); }
	.ev-card-more { align-self:center; }

	/* detail: stack poster above panel */
	.ev-hero2 { grid-template-columns:1fr; }
	.ev-hero2-poster { background:var(--sf); padding:1.75rem 1.25rem; text-align:center; }
	.ev-hero2-poster img { height:auto; max-width:440px; margin-inline:auto; box-shadow:0 20px 48px -30px rgba(28,26,22,0.6); }
	.ev-hero2-panel { padding:2.75rem 1.6rem 3rem; }
	.ev-hero2-panel::before { display:none; }
	.ev-meta-row { grid-template-columns:74px 1fr; gap:1rem; }

	.ev-prose-section { padding-top:2.75rem; }
}
