/**
 * Shared motherland UI components (motherland plugin).
 *
 * Section heads, CTAs, event cards and the events empty state — used by
 * the homepage sections and the events archive. Consumes the theme's
 * design tokens. Mobile-first; desktop at 1024px.
 */

/* ---- Section head --------------------------------------------------- */

.ml-section-head {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ml-eyebrow {
	margin: 0;
	font-size: 10px;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: var(--gold);
}

.ml-h2 {
	margin: 0;
	font-size: var(--fs-h2);
	line-height: 1.08;
}

/* ---- CTAs ----------------------------------------------------------- */

.ml-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 0 18px;
	border-radius: var(--radius-btn);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ml-cta--gold {
	background: var(--gold-gradient);
	color: var(--on-gold);
	font-weight: 700;
}

.ml-cta--gold:hover {
	filter: brightness(1.08);
	color: var(--on-gold);
}

.ml-cta--ghost {
	border: 1px solid rgba(244, 241, 234, 0.24);
	color: var(--text);
}

.ml-cta--ghost:hover {
	border-color: var(--gold);
	color: var(--gold-light);
}

.ml-cta--text {
	min-height: 44px;
	color: var(--gold);
}

.ml-cta--text:hover {
	color: var(--gold-light);
}

.ml-cta--outline {
	border: 1px solid rgba(201, 162, 75, 0.45);
	color: var(--text);
}

.ml-cta--outline:hover {
	background: rgba(201, 162, 75, 0.12);
	color: var(--text);
}

/* ---- Events: link, empty state, card -------------------------------- */

.ml-events__link {
	display: flex;
	align-items: center;
	gap: 6px;
	padding-bottom: 4px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
}

.ml-events__link-text--full {
	display: none;
}

.ml-events__empty {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin: 20px var(--gutter) 6px;
	padding: 24px 18px;
	border: 1px dashed rgba(201, 162, 75, 0.35);
	border-radius: var(--radius-card);
}

.ml-events__empty-text {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: rgba(244, 241, 234, 0.66);
}

.ml-event {
	flex: 0 0 232px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ml-event__flyer {
	position: relative;
	height: 300px;
	border-radius: 5px;
	overflow: hidden;
	border: 1px solid rgba(244, 241, 234, 0.08);
	background-color: var(--bg-image-fallback);
	background-size: cover;
	background-position: center;
}

.ml-event__badge {
	position: absolute;
	left: 10px;
	top: 10px;
	padding: 5px 9px;
	border-radius: 3px;
	background: rgba(6, 5, 5, 0.7);
	border: 1px solid rgba(201, 162, 75, 0.4);
	color: var(--gold-light);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ml-event--featured .ml-event__badge {
	background: var(--gold-light);
	border: 0;
	color: var(--on-gold);
}

.ml-event__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ml-event__title {
	margin: 0;
	font-size: var(--fs-card-title-sm);
	line-height: 1.1;
	letter-spacing: normal;
}

.ml-event__meta {
	margin: 0;
	font-size: 11.5px;
	letter-spacing: 0.04em;
	color: var(--text-faint);
}

.ml-event__cta {
	min-height: 44px;
	margin-top: 4px;
	padding: 0;
	font-size: 12px;
	letter-spacing: 0.08em;
}

/* ---- Desktop -------------------------------------------------------- */

@media (min-width: 1024px) {

	.ml-section-head {
		gap: 14px;
	}

	.ml-eyebrow {
		font-size: 11px;
		letter-spacing: 0.28em;
	}

	.ml-h2 {
		line-height: 1.02;
	}

	.ml-cta {
		min-height: 54px;
		padding: 0 28px;
		border-radius: 3px;
		letter-spacing: 0.12em;
	}

	.ml-events__link {
		gap: 8px;
		padding-bottom: 8px;
		font-size: 12px;
		letter-spacing: 0.12em;
	}

	.ml-events__link-text--full {
		display: inline;
	}

	.ml-events__link-text--short {
		display: none;
	}

	.ml-events__empty {
		margin: 40px var(--gutter) 0;
		padding: 32px 28px;
	}

	.ml-events__empty-text {
		font-size: 15px;
	}

	.ml-event {
		flex-basis: auto;
		gap: 16px;
	}

	.ml-event__flyer {
		height: 470px;
	}

	.ml-event__badge {
		left: 14px;
		top: 14px;
		padding: 6px 11px;
		font-size: 10.5px;
	}

	.ml-event__body {
		gap: 8px;
	}

	.ml-event__meta {
		font-size: 13px;
		letter-spacing: normal;
	}

	.ml-event__cta {
		min-height: 48px;
		margin-top: 6px;
		padding: 0;
		font-size: 12px;
		letter-spacing: 0.1em;
	}
}
