/* Loharo Events — design system matching Loharo Terminal theme tokens.
   Palette: navy #0F2440 / #0A1A30, copper #A3470B, base #F4F5F7, contrast #0B1626.
   Fonts: Literata (display), Inter Tight / system-sans (body), Fira Code (mono accents). */

.mn-ev-page {
	background: var(--wp--preset--color--base, #F4F5F7);
	color: var(--wp--preset--color--contrast, #0B1626);
	font-family: var(--wp--preset--font-family--system-sans, "Inter Tight", system-ui, sans-serif);
}

.mn-ev-page__inner {
	margin: 0;
}

.mn-ev-page__inner--single {
	max-width: 1000px;
}

/* Filters */
.mn-ev__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: flex-end;
	margin-bottom: 24px;
}

.mn-ev__flabel {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-4, #4F5B6B);
}

.mn-ev__flabel select {
	font-family: inherit;
	font-size: 14px;
	padding: 7px 14px;
	border: 1px solid var(--wp--preset--color--accent-5, #E8ECF1);
	border-radius: 99px;
	background: #fff;
	color: var(--wp--preset--color--contrast, #0B1626);
	min-width: 180px;
}

.mn-ev__btn {
	display: inline-block;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	padding: 9px 16px;
	border: 1px solid var(--wp--preset--color--accent-2, #0A1A30);
	border-radius: 2px;
	background: var(--wp--preset--color--accent-2, #0A1A30);
	color: #fff;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.mn-ev__btn:hover {
	background: var(--wp--preset--color--accent-1, #0F2440);
	color: #fff;
}

.mn-ev__btn--ghost {
	background: transparent;
	color: var(--wp--preset--color--accent-2, #0A1A30);
}

.mn-ev__btn--ghost:hover {
	background: var(--wp--preset--color--accent-5, #E8ECF1);
	color: var(--wp--preset--color--accent-2, #0A1A30);
}

/* View toggle */
.mn-ev__view {
	display: flex;
	gap: 4px;
	margin-bottom: 20px;
}

.mn-ev__viewlink {
	font-size: 13px;
	font-weight: 600;
	padding: 6px 12px;
	border: 1px solid var(--wp--preset--color--accent-5, #E8ECF1);
	border-radius: 2px;
	color: var(--wp--preset--color--accent-4, #4F5B6B);
	text-decoration: none;
}

.mn-ev__viewlink.is-active {
	background: var(--wp--preset--color--accent-2, #0A1A30);
	border-color: var(--wp--preset--color--accent-2, #0A1A30);
	color: #fff;
}

/* List */
.mn-ev__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.mn-ev__card {
	display: flex;
	gap: 20px;
	background: #fff;
	border: 1px solid var(--wp--preset--color--accent-5, #E8ECF1);
	border-left: 3px solid var(--wp--preset--color--accent-6, #A3470B);
	border-radius: 2px;
	padding: 18px 20px;
	transition: box-shadow 0.15s ease;
}

.mn-ev__card:hover {
	box-shadow: 0 2px 8px rgba(11, 22, 38, 0.08);
}

.mn-ev__card.is-past {
	opacity: 0.6;
	border-left-color: var(--wp--preset--color--accent-4, #4F5B6B);
}

.mn-ev__carddate {
	flex: 0 0 150px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mn-ev__carddates {
	font-family: var(--wp--preset--font-family--fira-code, "Fira Code", monospace);
	font-size: 13px;
	color: var(--wp--preset--color--accent-2, #0A1A30);
}

.mn-ev__cardbody {
	flex: 1;
}

.mn-ev__cardtitle {
	font-family: var(--wp--preset--font-family--literata, Literata, Georgia, serif);
	font-size: 19px;
	line-height: 1.3;
	margin: 0 0 6px;
}

.mn-ev__cardtitle a {
	color: var(--wp--preset--color--accent-2, #0A1A30);
	text-decoration: none;
}

.mn-ev__cardtitle a:hover {
	color: var(--wp--preset--color--accent-6, #A3470B);
	text-decoration: underline;
}

.mn-ev__cardmeta {
	font-size: 14px;
	color: var(--wp--preset--color--accent-4, #4F5B6B);
	margin: 0 0 4px;
}

.mn-ev__cardtypes {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-6, #A3470B);
	margin: 0 0 8px;
}

.mn-ev__cardstatus {
	margin: 0;
}

/* Badges */
.mn-ev__badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: 2px;
}

.mn-ev__badge--verified {
	background: #E4F0E6;
	color: #1E6B34;
}

.mn-ev__badge--partial {
	background: #FBF0DC;
	color: #8A5A00;
}

.mn-ev__badge--unconfirmed {
	background: #F6E3E1;
	color: #9C2B1F;
}

.mn-ev__badge--past {
	background: var(--wp--preset--color--accent-5, #E8ECF1);
	color: var(--wp--preset--color--accent-4, #4F5B6B);
}

.mn-ev__empty {
	font-size: 15px;
	color: var(--wp--preset--color--accent-4, #4F5B6B);
	padding: 24px 0;
}

/* Calendar */
.mn-ev--cal {
	background: #fff;
	border: 1px solid var(--wp--preset--color--accent-5, #E8ECF1);
	border-radius: 2px;
	padding: 20px;
}

.mn-ev__calnav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}

.mn-ev__calmonth {
	font-family: var(--wp--preset--font-family--literata, Literata, Georgia, serif);
	font-size: 22px;
	margin: 0;
	color: var(--wp--preset--color--accent-2, #0A1A30);
}

.mn-ev__caltable {
	width: 100%;
	border-collapse: collapse;
}

.mn-ev__caltable th {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-4, #4F5B6B);
	text-align: left;
	padding: 8px;
	border-bottom: 2px solid var(--wp--preset--color--accent-5, #E8ECF1);
}

.mn-ev__calcell {
	vertical-align: top;
	border: 1px solid var(--wp--preset--color--accent-5, #E8ECF1);
	padding: 6px;
	min-height: 72px;
	height: 72px;
}

.mn-ev__calcell.is-today {
	background: #FBF0DC;
}

.mn-ev__calday {
	display: block;
	font-family: var(--wp--preset--font-family--fira-code, "Fira Code", monospace);
	font-size: 12px;
	color: var(--wp--preset--color--accent-4, #4F5B6B);
	margin-bottom: 4px;
}

.mn-ev__calevent {
	display: block;
	font-size: 11px;
	line-height: 1.3;
	color: var(--wp--preset--color--accent-2, #0A1A30);
	text-decoration: none;
	background: var(--wp--preset--color--accent-5, #E8ECF1);
	border-left: 2px solid var(--wp--preset--color--accent-6, #A3470B);
	padding: 2px 4px;
	margin-bottom: 2px;
	border-radius: 1px;
}

.mn-ev__calevent:hover {
	background: #fff;
}

.mn-ev__calnote {
	font-size: 13px;
	margin: 16px 0 0;
}

/* Curated */
.mn-ev__curated {
	margin-top: 40px;
	background: var(--wp--preset--color--accent-2, #0A1A30);
	color: #fff;
	border-radius: 2px;
	padding: 28px 32px;
}

.mn-ev__curatedtitle {
	font-family: var(--wp--preset--font-family--literata, Literata, Georgia, serif);
	font-size: 22px;
	margin: 0 0 16px;
	color: #fff;
}

.mn-ev__curatedlist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.mn-ev__curatedlist li {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px;
	align-items: baseline;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	padding-bottom: 10px;
}

.mn-ev__curatedlist a {
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}

.mn-ev__curatedlist a:hover {
	color: var(--wp--preset--color--accent-6, #A3470B);
}

.mn-ev__curatedmeta {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.7);
}

/* Single */
.mn-ev-single__grid {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 32px;
}

.mn-ev-single__types {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-6, #A3470B);
	margin: 0 0 16px;
}

.mn-ev-single__table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 20px;
}

.mn-ev-single__table th,
.mn-ev-single__table td {
	text-align: left;
	padding: 10px 12px;
	border-bottom: 1px solid var(--wp--preset--color--accent-5, #E8ECF1);
	font-size: 15px;
}

.mn-ev-single__table th {
	width: 140px;
	font-weight: 600;
	color: var(--wp--preset--color--accent-4, #4F5B6B);
}

.mn-ev-single__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 24px;
}

.mn-ev-single__desc {
	font-size: 16px;
	line-height: 1.65;
	max-width: 72ch;
}

.mn-ev-single__side {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.mn-ev-single__verify,
.mn-ev-single__submit {
	background: #fff;
	border: 1px solid var(--wp--preset--color--accent-5, #E8ECF1);
	border-radius: 2px;
	padding: 18px 20px;
}

.mn-ev-single__verify h3,
.mn-ev-single__submit h3 {
	font-family: var(--wp--preset--font-family--literata, Literata, Georgia, serif);
	font-size: 17px;
	margin: 0 0 10px;
	color: var(--wp--preset--color--accent-2, #0A1A30);
}

.mn-ev-single__vmeta {
	font-size: 13px;
	color: var(--wp--preset--color--accent-4, #4F5B6B);
	margin: 6px 0 0;
}

.mn-ev-single__vdisclaimer {
	font-size: 12px;
	color: var(--wp--preset--color--accent-4, #4F5B6B);
	margin: 12px 0 0;
	font-style: italic;
}

.mn-ev-single__submit p {
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
}

.mn-ev-single__submit a {
	color: var(--wp--preset--color--accent-6, #A3470B);
}

/* Submission CTA on archive */
.mn-ev-page__submit {
	margin-top: 40px;
	background: #fff;
	border: 1px solid var(--wp--preset--color--accent-5, #E8ECF1);
	border-left: 3px solid var(--wp--preset--color--accent-6, #A3470B);
	border-radius: 2px;
	padding: 24px 28px;
}

.mn-ev-page__submit h2 {
	font-family: var(--wp--preset--font-family--literata, Literata, Georgia, serif);
	font-size: 20px;
	margin: 0 0 8px;
	color: var(--wp--preset--color--accent-2, #0A1A30);
}

.mn-ev-page__submit p {
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
	color: var(--wp--preset--color--accent-4, #4F5B6B);
}

.mn-ev-page__submit a {
	color: var(--wp--preset--color--accent-6, #A3470B);
}

/* Responsive */
@media (max-width: 800px) {
	.mn-ev__card {
		flex-direction: column;
		gap: 8px;
	}
	.mn-ev__carddate {
		flex: none;
	}
	.mn-ev-single__grid {
		grid-template-columns: 1fr;
	}
	.mn-ev-page__inner {
		padding: 32px 16px 56px;
	}
}


/* Keep every event action and view control in the site's rounded pill-button style. */
.mn-ev__btn,
.mn-ev__viewlink {
	border-radius: 999px;
}

.mn-ev__btn {
	border-color: var(--wp--preset--color--accent-2, #0A1A30);
	background: var(--wp--preset--color--accent-2, #0A1A30);
	color: #fff;
}

.mn-ev__btn--ghost {
	background: #fff;
	color: var(--wp--preset--color--accent-2, #0A1A30);
}

.mn-ev__btn:focus-visible,
.mn-ev__viewlink:focus-visible,
.mn-ev__flabel select:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent-6, #A3470B);
	outline-offset: 2px;
}

.mn-ev-page__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
	gap: 28px;
	align-items: start;
}

.mn-ev-page__main { min-width: 0; }
.mn-ev-page__aside { min-width: 0; }
.mn-ev-page__aside .mn-side__cta,
.mn-ev-page__aside .lh-ad,
.mn-ev-page__aside .mn-aside__box { margin-bottom: 16px; }
.mn-ev-page__aside .mn-aside__box p { line-height: 1.55; }

@media (max-width: 860px) {
	.mn-ev-page__layout { grid-template-columns: minmax(0, 1fr); }
	.mn-ev-page__aside { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.mn-ev-page__aside > * { margin-bottom: 0; }
	.mn-ev-page__aside > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
	.mn-ev-page__aside { grid-template-columns: minmax(0, 1fr); }
	.mn-ev-page__aside > :last-child { grid-column: auto; }
}

.mn-ev__cardheading {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 6px;
}

.mn-ev__cardheading .mn-ev__cardtitle {
	margin: 0;
}

.mn-ev__typeicon {
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	display: inline-grid;
	place-items: center;
	border: 1px solid var(--wp--preset--color--accent-5, #E8ECF1);
	border-radius: 10px;
	background: #F4F5F7;
	color: var(--wp--preset--color--accent-2, #0A1A30);
}

.mn-ev__typeicon svg {
	width: 22px;
	height: 22px;
}

@media (max-width: 520px) {
	.mn-ev__cardheading { gap: 9px; }
	.mn-ev__typeicon { flex-basis: 34px; width: 34px; height: 34px; }
	.mn-ev__typeicon svg { width: 20px; height: 20px; }
}

/* v1.0.5: CTA contrast, return navigation and pagination */
.mn-ev-single__actions a.mn-ev__btn:not(.mn-ev__btn--ghost) { color: #fff !important; }
.mn-ev-single__back { margin: 0 0 16px; }
.mn-ev-single__back .mn-ev__btn--ghost { color: var(--wp--preset--color--accent-2, #0A1A30) !important; }
.mn-ev__result-count { margin: 12px 0 8px; color: var(--wp--preset--color--contrast-2, #526174); font-size: 14px; }
.mn-ev__pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 22px 0 8px; }
.mn-ev__page-numbers { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.mn-ev__page-link { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 7px 14px; border: 1px solid var(--wp--preset--color--accent-2, #0A1A30); border-radius: 999px; color: var(--wp--preset--color--accent-2, #0A1A30); background: #fff; font: inherit; font-weight: 600; text-decoration: none; }
.mn-ev__page-link:hover { color: #fff; background: var(--wp--preset--color--accent-1, #0F2440); }
.mn-ev__page-link.is-current { color: #fff; background: var(--wp--preset--color--accent-2, #0A1A30); }
.mn-ev__page-link:focus-visible { outline: 3px solid var(--wp--preset--color--accent-6, #A3470B); outline-offset: 2px; }
@media (max-width: 560px) { .mn-ev__pagination { justify-content: center; } .mn-ev__page-numbers { order: -1; width: 100%; } }


/* v1.0.7: compact, source-aware registration offers and standard Loharo event hero. */
body.single-event .mn-ahead {
	background: linear-gradient(110deg, #0A1A30 0%, #0F2440 100%);
	border-radius: 16px;
	border-bottom: 3px solid #A3470B;
	color: #fff;
	margin: 0 0 24px;
	padding: clamp(22px, 4vw, 32px);
}
body.single-event .mn-ahead__title { color: #fff !important; margin: 0; }
body.single-event .mn-ahead__kick,
body.single-event .mn-ahead__kick a,
body.single-event .mn-ahead__meta,
body.single-event .mn-ahead__meta a { color: rgba(255,255,255,.86) !important; }
.mn-ev-offers {
	margin: 22px 0;
	padding: 18px 20px;
	border: 1px solid var(--wp--preset--color--accent-5, #E8ECF1);
	border-left: 4px solid var(--wp--preset--color--accent-6, #A3470B);
	border-radius: 14px;
	background: #fff;
	color: var(--wp--preset--color--contrast, #0B1626);
}
.mn-ev-offers h2 { margin: 0 0 10px; color: var(--wp--preset--color--accent-2, #0A1A30); font-size: clamp(18px, 2.2vw, 22px); line-height: 1.25; }
.mn-ev-offers p { margin: 8px 0; }
.mn-ev-offers__status { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 10px; font-size: 13px; line-height: 1.3; font-weight: 700; }
.mn-ev-offers__status--verified { color: #20533B; background: #EAF4EE; }
.mn-ev-offers__status--unconfirmed { color: #744000; background: #FFF2D9; }
.mn-ev-offers__status--none { color: #39485B; background: #EEF1F5; }
.mn-ev-offers__details { margin: 8px 0; line-height: 1.6; }
.mn-ev-offers__meta { color: #526174; font-size: 13px; }
.mn-ev-offers__action { margin: 12px 0 0 !important; }
.mn-ev__page-link { min-height: 38px; font-size: 14px; line-height: 1.2; }
@media (max-width: 560px) {
	.mn-ev__filters .mn-ev__btn { min-height: 36px; padding: 6px 12px; font-size: 13px; line-height: 1.2; }
	.mn-ev__calnav { gap: 6px; }
	.mn-ev__calnav .mn-ev__btn { min-height: 36px; padding: 5px 8px; font-size: 12px; line-height: 1.2; white-space: nowrap; }
	.mn-ev.mn-ev--cal .mn-ev__calmonth { font-size: 16px !important; line-height: 1.2 !important; }
	.mn-ev--cal { overflow-x: auto; -webkit-overflow-scrolling: touch; }
	body.single-event .mn-ahead .mn-ahead__title { font-size: clamp(25px, 7vw, 30px) !important; line-height: 1.12 !important; }
	.mn-ev__viewlink { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 5px 10px; font-size: 12px; line-height: 1.2; }
	.mn-ev__page-link { min-height: 36px; padding: 6px 11px; font-size: 13px; line-height: 1.2; }
	.mn-ev__pagination { gap: 7px; }
	.mn-ev__page-numbers { gap: 6px; }
	.mn-ev-single__actions .mn-ev__btn,
	.mn-ev-single__back .mn-ev__btn,
	.mn-ev-offers__action .mn-ev__btn { min-height: 38px; padding: 7px 12px; font-size: 13px; line-height: 1.2; }
	.mn-ev-offers { padding: 15px 16px; border-radius: 12px; }
	body.single-event .mn-ahead { padding: 22px 18px; border-radius: 14px; }
}


/* Strong, consistent control styling: the theme's generic button rules otherwise make event actions oversized and serif. */
.mn-ev__filters .mn-ev__btn,
.mn-ev__calnav .mn-ev__btn,
.mn-ev-single .mn-ev__btn,
.mn-ev__page-link,
.mn-ev__viewlink {
	font-family: "Inter Tight", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	box-sizing: border-box !important;
}
.mn-ev-single .mn-ev__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 38px !important;
	padding: 8px 14px !important;
	font-size: 14px !important;
	border-radius: 999px !important;
}
.mn-ev-single__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
@media (max-width: 560px) {
	.mn-ev__filters .mn-ev__btn { min-height: 36px !important; padding: 6px 11px !important; font-size: 13px !important; }
	.mn-ev__filters .mn-ev__btn--ghost { min-height: 34px !important; padding: 5px 9px !important; font-size: 12px !important; }
	.mn-ev__calnav .mn-ev__btn { min-height: 34px !important; padding: 5px 8px !important; font-size: 12px !important; }
	.mn-ev-single .mn-ev__btn { min-height: 36px !important; padding: 7px 11px !important; font-size: 13px !important; }
}

/* Ensure theme link colors cannot reduce contrast on event-page action pills. */
.mn-ev-single .mn-ev__btn:not(.mn-ev__btn--ghost) {
	background-color: #0A1A30 !important;
	border-color: #0A1A30 !important;
	color: #fff !important;
	text-decoration: none !important;
}
.mn-ev-single .mn-ev__btn:not(.mn-ev__btn--ghost):hover {
	background-color: #0F2440 !important;
	border-color: #0F2440 !important;
	color: #fff !important;
}
.mn-ev-single .mn-ev__btn--ghost {
	background-color: #fff !important;
	border-color: #0A1A30 !important;
	color: #0A1A30 !important;
	text-decoration: none !important;
}
.mn-ev-single .mn-ev__btn--ghost:hover {
	background-color: #E8ECF1 !important;
	color: #0A1A30 !important;
}

/* Center labels in the mobile filter controls; anchors otherwise sit on the text baseline. */
@media (max-width: 560px) {
	.mn-ev__filters .mn-ev__btn {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		box-sizing: border-box !important;
		vertical-align: middle !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		height: 36px !important;
		min-height: 36px !important;
	}
	.mn-ev__filters .mn-ev__btn--ghost {
		height: 34px !important;
		min-height: 34px !important;
		padding-left: 9px !important;
		padding-right: 9px !important;
	}
}
