/* ============================================
	   EVENTS — empty-state, calm and editorial.
	   prefix: .ev-
	   ============================================ */

	/* === Hero — wide panorama with title overlay === */
	.ev-hero {
		position: relative;
		aspect-ratio: 5000 / 1367;
		min-height: 320px;
		overflow: hidden;
		isolation: isolate;
		background: #1a3d52;
		color: var(--color-white);
		display: grid;
		align-items: center;
		padding-top: var(--jw-header-offset);
		padding-bottom: clamp(1.25rem, 3vw, 2rem);
		box-sizing: border-box;
	}
	.ev-hero__media {
		position: absolute;
		inset: 0;
		z-index: 0;
	}
	.ev-hero__media img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: center center;
		display: block;
		background: #1a3d52;
		filter: saturate(0.92) contrast(1.02);
	}
	.ev-hero__veil {
		position: absolute;
		inset: 0;
		z-index: 1;
		background:
			linear-gradient(180deg, rgba(15, 22, 18, 0.55) 0%, rgba(15, 22, 18, 0.4) 60%, rgba(15, 22, 18, 0.78) 100%),
			radial-gradient(70% 90% at 30% 50%, rgba(180, 88, 38, 0.32), transparent 70%);
	}
	.ev-hero__inner {
		position: relative;
		z-index: 2;
		padding: clamp(2rem, 4vw, 3rem) 0;
		max-width: 720px;
		text-align: center;
		margin: 0 auto;
	}
	.ev-hero__title {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-size: clamp(2.6rem, 6vw, 4.6rem);
		line-height: 1.05;
		font-weight: 400;
		color: rgba(255, 253, 248, 0.96);
		margin: 0 0 1.6rem;
		letter-spacing: -0.01em;
		text-shadow: 0 2px 24px rgba(0, 0, 0, 0.4);
	}
	.ev-hero__title em {
		font-style: italic;
		color: var(--color-accent);
	}
	.ev-hero__sub {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-style: italic;
		font-size: clamp(1rem, 1.4vw, 1.2rem);
		line-height: 1.7;
		color: rgba(245, 232, 211, 0.88);
		max-width: 36rem;
		margin: 0 auto;
	}
	.ev-hero__note {
		margin: 0 auto;
		color: rgba(245, 232, 211, 0.88);
		text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
	}

	/* === Empty state === */
	.ev-empty {
		position: relative;
		background: var(--color-paper, #f5ede0);
		color: var(--color-ink);
		padding: clamp(5rem, 10vh, 8rem) 0;
		overflow: hidden;
		text-align: center;
	}
	.ev-empty::before {
		content: '';
		position: absolute;
		inset: 0;
		background:
			radial-gradient(ellipse at 100% 0%, rgba(221, 135, 30, 0.08), transparent 55%),
			radial-gradient(ellipse at 0% 100%, rgba(95, 123, 69, 0.07), transparent 55%);
		pointer-events: none;
	}
	.ev-empty__inner {
		position: relative;
		z-index: 1;
		max-width: 56rem;
		margin: 0 auto;
	}
	.ev-empty__ornament {
		display: block;
		margin: 0 auto clamp(2rem, 3.5vw, 2.6rem);
		color: var(--color-accent);
	}
	.ev-empty__eyebrow {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-style: italic;
		font-size: clamp(0.85rem, 1vw, 0.95rem);
		letter-spacing: 0.45em;
		text-transform: uppercase;
		color: var(--color-accent);
		display: inline-flex;
		align-items: center;
		gap: 1rem;
		margin: 0 auto 1.6rem;
	}
	.ev-empty__eyebrow::before,
	.ev-empty__eyebrow::after {
		content: '';
		width: 42px;
		height: 1px;
		background: var(--color-accent);
		opacity: 0.6;
	}
	.ev-empty__title {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-size: clamp(2rem, 4vw, 3rem);
		line-height: 1.15;
		font-weight: 400;
		color: var(--color-teal);
		margin: 0 0 1.6rem;
		letter-spacing: -0.005em;
	}
	.ev-empty__title em {
		font-style: italic;
		color: var(--color-accent);
	}
	.ev-empty__copy {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-size: clamp(1.05rem, 1.4vw, 1.2rem);
		line-height: 1.8;
		color: rgba(20, 50, 65, 0.82);
		margin: 0 auto 1rem;
		max-width: 38rem;
	}
	.ev-empty__copy + .ev-empty__copy {
		margin-top: 0;
	}
	.ev-empty__hint {
		display: inline-block;
		margin-top: clamp(2rem, 4vw, 3rem);
		padding: 0.8rem 1.4rem;
		font-family: 'Inter', system-ui, sans-serif;
		font-size: 0.7rem;
		letter-spacing: 0.32em;
		text-transform: uppercase;
		color: rgba(20, 50, 65, 0.6);
		border: 1px dashed rgba(180, 96, 38, 0.45);
		border-radius: 999px;
	}

	/* === Dates listings === */
	.ev-section {
		padding: clamp(4rem, 7vw, 6rem) 0;
		background: var(--color-paper, #f5ede0);
	}
	.ev-section--alt {
		background: var(--color-cream, #f5e8d3);
	}
	.ev-section__head {
		text-align: center;
		max-width: 760px;
		margin: 0 auto clamp(1.5rem, 3vw, 2.4rem);
	}
	.ev-section__title {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-size: clamp(1.9rem, 3.6vw, 2.8rem);
		line-height: 1.1;
		font-weight: 400;
		color: var(--color-teal);
		margin: 0;
	}
	.ev-year {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-style: italic;
		font-size: clamp(1.2rem, 1.8vw, 1.5rem);
		letter-spacing: 0.12em;
		color: var(--color-accent);
		text-align: center;
		margin: clamp(1.6rem, 3vw, 2.4rem) 0 0.6rem;
	}
	.ev-list {
		list-style: none;
		margin: 0 auto;
		padding: 0;
		max-width: 880px;
	}
	.ev-item {
		display: grid;
		gap: 0.5rem 2.4rem;
		padding: clamp(1.5rem, 2.6vw, 2.1rem) 0;
		border-top: 1px solid rgba(20, 57, 72, 0.15);
	}
	.ev-item:last-child {
		border-bottom: 1px solid rgba(20, 57, 72, 0.15);
	}
	@media (min-width: 720px) {
		.ev-item {
			grid-template-columns: 0.55fr 1.45fr;
			align-items: start;
		}
	}
	.ev-item__when {
		display: flex;
		flex-direction: column;
		gap: 0.2rem;
	}
	.ev-item__date {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-size: clamp(1.15rem, 1.6vw, 1.35rem);
		color: var(--color-teal);
		font-weight: 500;
	}
	.ev-item__time {
		font-size: 0.9rem;
		letter-spacing: 0.08em;
		color: rgba(20, 57, 72, 0.7);
	}
	.ev-item__title {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-size: clamp(1.3rem, 2vw, 1.65rem);
		line-height: 1.2;
		color: var(--color-teal);
		margin: 0 0 0.5rem;
	}
	.ev-item__desc {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-style: italic;
		font-size: 1.05rem;
		line-height: 1.65;
		color: rgba(20, 50, 65, 0.85);
		margin: 0 0 0.5rem;
	}
	.ev-item__meta,
	.ev-item__loc {
		font-size: 0.92rem;
		line-height: 1.6;
		color: rgba(20, 50, 65, 0.7);
		margin: 0.2rem 0 0;
	}
	.ev-note {
		text-align: center;
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-style: italic;
		font-size: clamp(1.05rem, 1.4vw, 1.25rem);
		line-height: 1.7;
		color: rgba(20, 50, 65, 0.8);
		max-width: 42rem;
		margin: 0 auto;
	}
	.ev-collab {
		background: var(--color-teal, #143948);
		color: var(--color-cream, #f5e8d3);
		text-align: center;
		padding: clamp(3rem, 5vw, 4.5rem) 0;
	}
	.ev-collab p {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-style: italic;
		font-size: clamp(1.2rem, 2vw, 1.6rem);
		line-height: 1.5;
		margin: 0 auto;
		max-width: 42rem;
	}
	.ev-collab a {
		color: var(--color-accent-soft, #f9a63a);
		text-decoration: underline;
	}

	/* === Closing CTA — soft clay close === */
	.ev-close {
		position: relative;
		background: var(--color-cream);
		padding: clamp(4.5rem, 7vw, 6.5rem) 0;
		text-align: center;
	}
	.ev-close__inner {
		max-width: 640px;
		margin: 0 auto;
	}
	.ev-close__title {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-size: clamp(1.8rem, 3.2vw, 2.6rem);
		line-height: 1.2;
		font-weight: 400;
		color: var(--color-teal);
		margin: 0 0 1.2rem;
		font-style: italic;
	}
	.ev-close__title em {
		font-style: italic;
		color: var(--color-accent);
	}
	.ev-close__copy {
		font-size: clamp(1rem, 1.15vw, 1.08rem);
		line-height: 1.75;
		color: rgba(26, 61, 82, 0.82);
		margin: 0 0 2rem;
	}
	.ev-close__actions {
		display: inline-flex;
		flex-wrap: wrap;
		gap: 0.8rem;
		justify-content: center;
	}
	.ev-close .button-ghost {
		border: 1px solid rgba(20, 57, 72, 0.55);
		color: var(--color-teal);
	}
	.ev-close .button-ghost:hover {
		background: rgba(20, 57, 72, 0.08);
		border-color: rgba(20, 57, 72, 0.75);
		color: var(--color-teal);
	}
	.ev-item__actions {
		margin-top: 0.8rem;
	}
	.ev-item__book {
		display: inline-flex;
		padding: 0.6rem 1.2rem;
		background: var(--color-teal);
		color: var(--color-cream, #f5e8d3);
		font-size: 0.72rem;
		letter-spacing: 0.24em;
		text-transform: uppercase;
		text-decoration: none;
		border-radius: 999px;
		transition: background 220ms ease, transform 220ms ease;
	}
	.ev-item__book:hover {
		background: #1a5568;
		transform: translateY(-1px);
	}
	.ev-book {
		background: var(--color-paper, #f5ede0);
		padding: clamp(4rem, 7vw, 6rem) 0;
	}
	.ev-book__head {
		text-align: center;
		max-width: 40rem;
		margin: 0 auto clamp(2rem, 3vw, 2.8rem);
	}
	.ev-book__title {
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-size: clamp(1.8rem, 3vw, 2.4rem);
		color: var(--color-teal);
		margin: 0 0 0.6rem;
	}
	.ev-book__copy {
		margin: 0;
		font-size: 0.98rem;
		line-height: 1.7;
		color: rgba(20, 50, 65, 0.78);
	}
	.ev-book__grid {
		display: grid;
		gap: 1rem;
		max-width: 880px;
		margin: 0 auto;
	}
	@media (min-width: 640px) {
		.ev-book__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	}
	.ev-book__card {
		display: grid;
		gap: 0.5rem;
		padding: 1.2rem;
		border: 1px solid rgba(20, 57, 72, 0.14);
		border-radius: 14px;
		background: rgba(255, 255, 255, 0.45);
		text-decoration: none;
		color: inherit;
		transition: border-color 220ms ease, transform 220ms ease;
	}
	.ev-book__card:hover {
		border-color: rgba(20, 57, 72, 0.28);
		transform: translateY(-1px);
	}
	.ev-book__card-title {
		margin: 0;
		font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
		font-size: 1.25rem;
		color: var(--color-teal);
	}
	.ev-book__card-copy {
		margin: 0;
		font-size: 0.9rem;
		line-height: 1.55;
		color: rgba(20, 50, 65, 0.75);
	}
	.ev-book__card-cta {
		font-size: 0.7rem;
		letter-spacing: 0.22em;
		text-transform: uppercase;
		color: var(--color-accent, #b45826);
	}
	.ev-section__enquire {
		text-align: center;
		margin-top: 1.5rem;
	}

	@media (max-width: 899px) {
		.ev-hero {
			width: 100%;
			max-width: 100%;
			aspect-ratio: auto;
			min-height: clamp(20rem, 75vw, 28rem);
		}

		.ev-hero__media img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			object-position: center center;
			background: transparent;
		}
	}
