/**
 * Event detail page (motherland plugin).
 *
 * Styles the theme's peselma/event-detail.php override and cosmetically
 * reskins peselma's embedded ticket selector (scoped to .ml-eventpage;
 * selector behaviour/markup stays peselma's). Derived from the homepage
 * design system (ADR 0001).
 */

/* EventRouter's generic wrapper carries its own 1140px box + padding;
   the motherland reskin boxes via --gutter instead, so neutralize it —
   otherwise the two insets stack and crush the page on wide screens. */
body.peselma-event-route .peselma-event-page {
	max-width: none;
	padding: 0;
}

.ml-eventpage {
	padding: 20px var(--gutter) 60px;
}

.ml-eventpage__back {
	padding-bottom: 18px;
}

.ml-eventpage__back a {
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ml-eventpage__layout {
	display: flex;
	flex-direction: column;
	gap: 26px;
}

.ml-eventpage__poster {
	position: relative;
	border-radius: var(--radius-card);
	overflow: hidden;
	border: 1px solid rgba(244, 241, 234, 0.08);
	background-color: var(--bg-image-fallback);
}

.ml-eventpage__poster img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.ml-eventpage__poster-placeholder {
	aspect-ratio: 4 / 5;
}

.ml-eventpage__aside {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ml-eventpage__header {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ml-eventpage__title {
	font-size: var(--fs-h2);
	line-height: 1.05;
}

.ml-eventpage__meta {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ml-eventpage__meta li {
	position: relative;
	padding-left: 15px;
	font-size: 14px;
	line-height: 1.5;
	color: rgba(244, 241, 234, 0.72);
}

.ml-eventpage__meta li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	width: 5px;
	height: 5px;
	background: var(--gold);
}

.ml-eventpage__status {
	margin: 0;
	padding: 12px 16px;
	border: 1px dashed rgba(201, 162, 75, 0.4);
	border-radius: var(--radius-btn);
	font-size: 13px;
	color: rgba(244, 241, 234, 0.72);
}

.ml-eventpage__tickets {
	padding: 20px 18px;
	border: 1px solid var(--border-gold);
	border-radius: var(--radius-card);
	background: var(--bg-elevated);
}

.ml-eventpage__tickets-heading {
	margin: 0 0 14px;
	font-family: var(--font-ui);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: var(--track-eyebrow);
	text-transform: uppercase;
	color: var(--gold);
}

.ml-eventpage__no-tickets {
	margin: 0;
	font-size: 13.5px;
	color: var(--text-faint);
}

.ml-eventpage__sections {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.ml-eventpage__section {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ml-eventpage__description,
.ml-eventpage__terms {
	font-size: 14.5px;
	line-height: 1.7;
	color: rgba(244, 241, 234, 0.78);
}

.ml-eventpage__description > *:first-child,
.ml-eventpage__terms > *:first-child {
	margin-top: 0;
}

.ml-eventpage__terms {
	font-size: 13px;
	color: var(--text-faint);
}

.ml-eventpage__location {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ml-eventpage__location-name {
	font-size: 15px;
	font-weight: 600;
	color: var(--text);
}

.ml-eventpage__location-address {
	font-size: 13.5px;
	line-height: 1.55;
}

/* ---- Ticket selector reskin (peselma markup, our page scope) ------- */

.ml-eventpage .peselma-ticket-selector {
	font-family: var(--font-ui);
	color: var(--text);
}

.ml-eventpage .peselma-tier-row {
	background: transparent;
	border: 1px solid rgba(244, 241, 234, 0.1);
	border-radius: var(--radius-btn);
}

.ml-eventpage .peselma-tier-name {
	color: var(--text);
	font-weight: 600;
}

.ml-eventpage .peselma-tier-price {
	color: var(--gold-light);
	font-family: var(--font-ui);
}

.ml-eventpage .peselma-tier-stock {
	color: var(--text-faint);
}

.ml-eventpage .peselma-qty-btn {
	background: transparent;
	border: 1px solid rgba(201, 162, 75, 0.35);
	color: var(--gold-light);
}

.ml-eventpage .peselma-qty-btn:hover {
	background: rgba(201, 162, 75, 0.14);
}

.ml-eventpage .peselma-qty-input {
	background: transparent;
	border: 1px solid rgba(244, 241, 234, 0.2);
	color: var(--text);
}

.ml-eventpage .peselma-cart-summary {
	color: rgba(244, 241, 234, 0.72);
}

.ml-eventpage .peselma-btn.peselma-btn--primary {
	background: var(--gold-gradient);
	border: 0;
	border-radius: var(--radius-btn);
	color: var(--on-gold);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ml-eventpage .peselma-btn.peselma-btn--primary:hover {
	filter: brightness(1.08);
}

.ml-eventpage .peselma-trust-text,
.ml-eventpage .peselma-trust-sep {
	color: rgba(244, 241, 234, 0.45);
}

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

@media (min-width: 1024px) {

	.ml-eventpage {
		padding: 40px var(--gutter) 96px;
	}

	.ml-eventpage__back {
		padding-bottom: 28px;
	}

	.ml-eventpage__layout {
		display: grid;
		grid-template-columns: 1.1fr 1fr;
		grid-template-areas:
			"poster   aside"
			"sections aside";
		align-items: start;
		gap: 40px 64px;
	}

	.ml-eventpage__poster {
		grid-area: poster;
	}

	.ml-eventpage__aside {
		grid-area: aside;
		position: sticky;
		top: 106px;
		gap: 24px;
	}

	.ml-eventpage__sections {
		grid-area: sections;
		gap: 40px;
	}

	.ml-eventpage__title {
		line-height: 1;
	}

	.ml-eventpage__meta li {
		font-size: 15px;
	}

	.ml-eventpage__tickets {
		padding: 26px 24px;
	}

	.ml-eventpage__description {
		font-size: 15.5px;
	}
}
