:root {
	--heading-font: 'Passion One', cursive;
	--body-font: 'Short Stack', cursive;
	--accent: #5a0c24;
}

body {
	margin: 0;
	font-family: var(--body-font);
	background: #fff;
	color: #111;
}

.events-top {
	padding: 14px 18px 0 18px;
	border-bottom: 1px solid rgba(0,0,0,0.08);
}

.search-row {
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
}

.search-box {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid rgba(0,0,0,0.15);
	border-radius: 10px;
	padding: 10px 12px;
	background: #fff;
}

.search-box input {
	border: none;
	outline: none;
	font-size: 1rem;
	width: 100%;
	font-family: var(--body-font);
}

.find-btn {
	background: #4b0a1d;
	color: white;
	border: none;
	border-radius: 10px;
	padding: 12px 16px;
	font-family: var(--heading-font);
	letter-spacing: 1px;
	text-transform: uppercase;
	font-size: 1.1rem;
	cursor: pointer;
}

.find-btn:hover { filter: brightness(1.1); }

.upcoming-row {
	display: flex;
	align-items: center;
	padding: 12px 0 10px 0;
}

.upcoming-left {
	display: flex;
	align-items: center;
	gap: 10px;
}

.chev {
	color: rgba(0,0,0,0.55);
	font-size: 1.2rem;
	cursor: default;
}

.today-btn {
	border: 1px solid rgba(0,0,0,0.18);
	background: #fff;
	border-radius: 10px;
	padding: 8px 10px;
	font-family: var(--body-font);
}

.upcoming-row h1 {
	margin: 0 0 0 10px;
	font-family: var(--heading-font);
	font-size: 2.4rem;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.no-upcoming {
	padding: 14px 0;
	color: rgba(0,0,0,0.6);
	text-align: center;
}

.events-wrap {
	padding: 18px;
	max-width: 1100px;
	margin: 0 auto;
    padding-bottom: 50px;
}

.past-block h2 {
	font-family: var(--heading-font);
	font-size: 2.2rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 18px 0 12px 0;
}

.event-list { display: grid; gap: 18px; }

.event-row {
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: 18px;
	align-items: start;
	text-decoration: none;
	color: inherit;
	padding: 6px 0;
}

.event-row:hover .title { text-decoration: underline; }

.date-pill {
	width: 90px;
	text-align: center;
}

.date-pill .month {
	font-weight: 700;
	color: rgba(0,0,0,0.6);
}

.date-pill .day {
	font-size: 2.2rem;
	font-family: var(--heading-font);
	line-height: 1;
	margin: 2px 0;
}

.date-pill .year {
	color: rgba(0,0,0,0.6);
	font-size: 0.95rem;
}

.time-line {
	color: rgba(0,0,0,0.6);
	margin-bottom: 6px;
}

.title {
	font-family: var(--heading-font);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-size: 2rem;
	line-height: 1.0;
	margin-bottom: 10px;
}

.venue {
	font-weight: 700;
}

.sep { margin: 0 6px; color: rgba(0,0,0,0.35); }

/* Detail page */
.detail-wrap {
	max-width: 1100px;
	margin: 0 auto;
	padding: 20px 18px 60px 18px;
}

.back-link {
	color: rgba(0,0,0,0.65);
	text-decoration: none;
	display: inline-block;
	margin-bottom: 14px;
}

.back-link:hover { text-decoration: underline; }

.passed-note {
	color: rgba(0,0,0,0.6);
	margin: 6px 0 8px 0;
}

.detail-title {
	font-family: var(--heading-font);
	font-size: 3.2rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0;
}

.detail-date {
	color: rgba(0,0,0,0.65);
	margin-top: 8px;
}

.detail-actions { margin: 18px 0; }

.cal-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border: 1px solid rgba(205,32,33,0.3);
	padding: 10px 14px;
	border-radius: 10px;
	text-decoration: none;
	color: #b3122a;
	font-family: var(--heading-font);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.cal-btn:hover { background: rgba(205,32,33,0.06); }

.hr {
	border: none;
	border-top: 1px solid rgba(0,0,0,0.10);
	margin: 18px 0;
}

.detail-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.detail-col h3 {
	font-family: var(--heading-font);
	letter-spacing: 1px;
	text-transform: uppercase;
	margin: 0 0 12px 0;
}

.kv {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 10px;
	margin: 10px 0;
}

.k { color: rgba(0,0,0,0.6); }
.v { font-weight: 700; }

.map-wrap { margin-top: 12px; }
.osm {
	width: 100%;
	height: 220px;
	border: 1px solid rgba(0,0,0,0.12);
	border-radius: 10px;
}

.map-link {
	display: inline-block;
	margin-top: 8px;
	color: #b3122a;
	text-decoration: none;
}

.map-link:hover { text-decoration: underline; }

.detail-nav {
	display: flex;
	justify-content: space-between;
	gap: 14px;
}

.nav-side { flex: 1; }
.nav-side.right { text-align: right; }

.nav-link {
	color: rgba(0,0,0,0.75);
	text-decoration: none;
	font-weight: 700;
}

.nav-link:hover { text-decoration: underline; }

@media (max-width: 900px) {
	.detail-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
	.search-row { flex-direction: column; align-items: stretch; }
	.find-btn { width: 100%; }
	.event-row { grid-template-columns: 86px 1fr; }
	.title { font-size: 1.6rem; }
}

.footer-content {
	color: black;
}

.hero-clip-section {
	padding-bottom: 0;
}

.page-events .main-footer {
    color: #111;
}

.page-events .social-links a {
    color: #111;
}

.page-events .social-links a:hover {
    color: var(--accent-color);
}

.page-events .footer-newsletter h3, 
.page-events .made-by, 
.page-events .copyright {
    color: #111;
}

.page-events .made-by a {
    color: #4b0a1d;
}

.page-events .inline-form input {
    border: 1px solid rgba(0,0,0,0.2);
    background: #f9f9f9;
    color: #111;
}