/**
 * Sitenna Events - single event and events archive.
 *
 * Measurements are taken from the News article template (Elementor "Single Post"):
 *   boxed container 1300px, 30px vertical margin, dark #060A1B title box with
 *   10px radius and 40px padding, logo panel / image and content at 60% width
 *   (80% on tablet, 100% on mobile), 20px between widgets.
 * Colours come from the Elementor global kit where one exists, with fallbacks.
 */

.sitenna-event {
	--sev-ink:          #060A1B;
	--sev-navy:         var(--e-global-color-secondary, #062735);
	--sev-accent:       var(--e-global-color-accent, #EC5F72);
	--sev-accent-hover: var(--e-global-color-34936e0, #EF7D61);
	--sev-white:        var(--e-global-color-f832a4a, #FFFFFF);
	--sev-lightest:     var(--e-global-color-63d9915, #F3F3F7);
	--sev-peach:        #F6B396;
	--sev-muted:        #9FB0B5;
	--sev-on-dark:      #C9D6DA;
	--sev-line:         #E1E8EA;
	--sev-radius:       10px;
	--sev-gap:          20px;
	--sev-content-w:    60%;

	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

.sitenna-event *,
.sitenna-event *::before,
.sitenna-event *::after { box-sizing: border-box; }

/* ---------- Boxed container (matches .e-con-boxed > .e-con-inner) ---------- */

.sitenna-event .sev-wrap {
	width: 100%;
	max-width: min(100%, 1300px);
	margin: 30px auto;
	padding: 0;
}

/* ---------- Title box ---------- */

.sitenna-event .sev-hero {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 40px;
	padding: 40px;
	border-radius: var(--sev-radius);
	background-color: var(--sev-ink);
	background-repeat: no-repeat;
	background-position: center right;
	background-size: 36% auto;
	color: var(--sev-white);
}

.sitenna-event .sev-hero__main {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 64%;
}

.sitenna-event .sev-eyebrow {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--sev-accent);
}

.sitenna-event .sev-title {
	margin: 0 0 10px;
	padding: 0;
	font-size: 48px;
	font-weight: 700;
	line-height: 1.07;
	letter-spacing: -.022em;
	color: var(--sev-white);
}

.sitenna-event .sev-subtitle {
	margin: 0 0 8px;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--sev-peach);
}

.sitenna-event .sev-subtitle--muted {
	max-width: 60ch;
	font-size: 17px;
	font-weight: 400;
	color: var(--sev-on-dark);
}

.sitenna-event .sev-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 36px;
	margin: 22px 0 26px;
	padding: 0;
}

.sitenna-event .sev-fact { margin: 0; }

.sitenna-event .sev-fact dt {
	margin: 0 0 2px;
	font-size: 13px;
	font-weight: 400;
	color: var(--sev-muted);
}

.sitenna-event .sev-fact dd {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--sev-white);
}

/* Centred variant (single event): copy centred, no side artwork */
.sitenna-event .sev-hero--center {
	justify-content: center;
	background-image: none !important;
	text-align: center;
}

.sitenna-event .sev-hero--center .sev-hero__main {
	max-width: 900px;
	margin: 0 auto;
}

.sitenna-event .sev-hero--center .sev-facts,
.sitenna-event .sev-hero--center .sev-btns {
	justify-content: center;
}

.sitenna-event .sev-hero--center .sev-fact { text-align: center; }

/* ---------- Buttons (site button style: accent, 4px radius, 15px/600) ---------- */

.sitenna-event .sev-btns {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
}

.sitenna-event .sev-btn,
.sitenna-event .sev-btn:visited {
	display: inline-block;
	padding: 13px 22px;
	border: 2px solid transparent;
	border-radius: 4px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.sitenna-event .sev-btn--primary,
.sitenna-event .sev-btn--primary:visited {
	background: var(--sev-accent);
	border-color: var(--sev-accent);
	color: var(--sev-lightest);
}

.sitenna-event .sev-btn--primary:hover,
.sitenna-event .sev-btn--primary:focus {
	background: var(--sev-accent-hover);
	border-color: var(--sev-accent-hover);
	color: var(--sev-white);
}

.sitenna-event .sev-btn--outline,
.sitenna-event .sev-btn--outline:visited {
	background: transparent;
	border-color: rgba(255, 255, 255, .75);
	color: var(--sev-white);
}

.sitenna-event .sev-btn--outline:hover,
.sitenna-event .sev-btn--outline:focus {
	background: var(--sev-white);
	border-color: var(--sev-white);
	color: var(--sev-ink);
}

/* ---------- Image, content, CTA band (centred column) ---------- */

.sitenna-event .sev-body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--sev-gap);
	margin-top: 30px;
}

.sitenna-event .sev-image {
	width: var(--sev-content-w);
	max-width: var(--sev-content-w);
	margin: 0;
}

.sitenna-event .sev-image img {
	display: block;
	width: 100%;
	height: auto;
}

/* Event logo area - transparent, sits straight on the page background */
.sitenna-event .sev-image--logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 20px 0 10px;
	background: transparent;
	text-align: center;
}

.sitenna-event .sev-image__logo {
	display: block;
	line-height: 0;
}

.sitenna-event .sev-image--logo img {
	display: inline-block;
	width: auto;
	max-width: 100%;
	height: var(--sev-logo-h, 180px);
	object-fit: contain;
	margin: 0 auto;
}

.sitenna-event .sev-image__caption {
	margin: 16px 0 0;
	font-size: 14px;
	line-height: 1.5;
	color: #3F5760;
}

.sitenna-event .sev-content {
	width: var(--sev-content-w);
	max-width: var(--sev-content-w);
}

.sitenna-event .sev-content > *:first-child { margin-top: 0; }

.sitenna-event .sev-content p {
	margin: 0 0 20px;
}

.sitenna-event .sev-content p.lede,
.sitenna-event .sev-content .lede p {
	font-size: 18px;
	line-height: 1.55;
}

.sitenna-event .sev-content h2,
.sitenna-event .sev-content h3,
.sitenna-event .sev-content h4 {
	margin: 32px 0 12px;
	line-height: 1.25;
	color: var(--sev-navy);
}

.sitenna-event .sev-content h2 { font-size: 28px; font-weight: 600; }
.sitenna-event .sev-content h3 { font-size: 22px; font-weight: 600; }
.sitenna-event .sev-content h4 { font-size: 18px; font-weight: 600; }

.sitenna-event .sev-content ul,
.sitenna-event .sev-content ol {
	margin: 0 0 20px 30px;
	padding: 0;
}

.sitenna-event .sev-content li { margin-bottom: 8px; }

.sitenna-event .sev-content li strong { color: var(--sev-navy); }

.sitenna-event .sev-content a { color: var(--sev-accent); }

.sitenna-event .sev-content img,
.sitenna-event .sev-content video,
.sitenna-event .sev-content iframe {
	max-width: 100%;
	height: auto;
}

.sitenna-event .sev-content figure { margin: 0 0 20px; }

.sitenna-event .sev-content blockquote {
	margin: 0 0 20px;
	padding: 4px 0 4px 20px;
	border-left: 3px solid var(--sev-accent);
	font-size: 18px;
}

.sitenna-event .sev-cta {
	display: grid;
	grid-template-columns: 1.3fr auto;
	gap: 32px;
	align-items: center;
	width: var(--sev-content-w);
	max-width: var(--sev-content-w);
	margin-top: 10px;
	padding: 40px;
	border-radius: var(--sev-radius);
	background: var(--sev-navy);
	color: var(--sev-white);
}

.sitenna-event .sev-cta__heading {
	margin: 0 0 10px;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--sev-white);
}

.sitenna-event .sev-cta__text {
	margin: 0;
	font-size: 16px;
	line-height: 1.55;
	color: var(--sev-on-dark);
}

.sitenna-event .sev-btns--band {
	flex-direction: column;
	align-items: stretch;
}

.sitenna-event .sev-btns--band .sev-btn { text-align: center; }

.sitenna-event .sev-back {
	width: var(--sev-content-w);
	max-width: var(--sev-content-w);
	margin: 10px 0 0;
	font-size: 14px;
}

.sitenna-event .sev-back a {
	color: var(--sev-navy);
	text-decoration: none;
}

.sitenna-event .sev-back a:hover { color: var(--sev-accent); }

/* ---------- Archive ---------- */

.sitenna-event .sev-archive {
	margin-top: 30px;
}

.sitenna-event .sev-archive__section + .sev-archive__section { margin-top: 48px; }

.sitenna-event .sev-archive__heading {
	margin: 0 0 20px;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--sev-navy);
}

.sitenna-event .sev-archive__empty {
	margin: 0;
	font-size: 17px;
}

.sitenna-event .sev-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.sitenna-event .sev-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--sev-line);
	border-radius: var(--sev-radius);
	background: var(--sev-white);
}

.sitenna-event .sev-card__media {
	display: block;
	aspect-ratio: 16 / 9;
	background: var(--sev-ink);
}

.sitenna-event .sev-card__media img,
.sitenna-event .sev-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sitenna-event .sev-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 22px 24px 24px;
}

.sitenna-event .sev-card__title {
	margin: 0 0 6px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
}

.sitenna-event .sev-card__title a {
	color: var(--sev-navy);
	text-decoration: none;
}

.sitenna-event .sev-card__title a:hover { color: var(--sev-accent); }

.sitenna-event .sev-card__sub {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.45;
}

.sitenna-event .sev-card__meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0 0 16px;
	font-size: 14px;
	color: #3F5760;
}

.sitenna-event .sev-card__link {
	margin-top: auto;
	font-size: 14px;
	font-weight: 600;
	color: var(--sev-accent);
	text-decoration: none;
}

.sitenna-event .sev-card--past .sev-eyebrow { color: var(--sev-muted); }

.sitenna-event .pagination,
.sitenna-event .navigation { margin-top: 32px; }

/* ---------- Tablet (Elementor md breakpoint) ---------- */

@media (max-width: 1024px) {
	.sitenna-event .sev-wrap { padding: 20px; }

	.sitenna-event .sev-image { --sev-content-w: 100%; }
	.sitenna-event .sev-content,
	.sitenna-event .sev-cta,
	.sitenna-event .sev-back { --sev-content-w: 80%; }

	.sitenna-event .sev-hero__main { max-width: 100%; }

	.sitenna-event .sev-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Mobile (Elementor sm breakpoint) ---------- */

@media (max-width: 767px) {
	.sitenna-event .sev-wrap { margin: 0 auto; padding: 20px; }

	.sitenna-event .sev-hero {
		padding: 20px;
		background-image: none !important;
	}

	.sitenna-event .sev-image--logo { padding: 10px 0 0; }
	.sitenna-event .sev-image--logo img { height: min(var(--sev-logo-h, 180px), 45vw); }

	.sitenna-event .sev-title {
		font-size: 34px;
		line-height: 1.2;
	}

	.sitenna-event .sev-subtitle { font-size: 19px; }

	.sitenna-event .sev-facts { gap: 12px 24px; }

	.sitenna-event .sev-btns .sev-btn {
		flex: 1 1 100%;
		text-align: center;
		white-space: normal;
	}

	.sitenna-event .sev-body { margin-top: 20px; }

	.sitenna-event .sev-image,
	.sitenna-event .sev-content,
	.sitenna-event .sev-cta,
	.sitenna-event .sev-back { --sev-content-w: 100%; }

	.sitenna-event .sev-cta {
		grid-template-columns: 1fr;
		padding: 24px;
	}

	.sitenna-event .sev-grid { grid-template-columns: 1fr; }
}

/* ---------- Content-type tag on Elementor loop cards (News & Articles) ---------- */

.e-loop-item { position: relative; }

.e-loop-item .sev-card-tag {
	position: absolute;
	left: 60px;
	bottom: 22px;
	z-index: 2;
	display: inline-block;
	padding: 5px 12px;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	line-height: 1.3;
	text-transform: uppercase;
	color: #fff;
	pointer-events: none;
}

.e-loop-item .sev-card-tag--event {
	border-color: var(--e-global-color-accent, #EC5F72);
	background: var(--e-global-color-accent, #EC5F72);
}

@media (max-width: 1024px) {
	.e-loop-item .sev-card-tag { left: 20px; bottom: 10px; }
}
