:root {
	--mc-bg-dark: #0e0e0e;
	--mc-bg-panel: #1a1a1a;
	--mc-bg-light: #f5f5f5;

	--mc-text-light: #ffffff;
	--mc-text-muted: #b5b5b5;
	--mc-text-dark: #111111;

	--mc-accent: #c0392b;
	--mc-accent-hover: #e74c3c;

	--mc-border: #2a2a2a;
}

/* ===============================
   GLOBAL
================================ */
body {
	background: #111;
	color: #eee;
	font-family: "Oswald", system-ui, sans-serif;
	line-height: 1.6;
}

.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

h1, h2, h3 {
	text-transform: uppercase;
	letter-spacing: 1px;
}

h2 {
	margin-bottom: 30px;
	text-align: center;
}

/* ===============================
   BUTTONS
================================ */
.btn {
	display: inline-block;
	padding: 12px 30px;
	background: #c0392b;
	color: #fff;
	text-decoration: none;
	font-weight: 700;
}

.btn:hover {
	background: #e74c3c;
}
.home-hero {
	position: relative;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
}

.home-hero .overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.6);
}

.home-hero .container {
	position: relative;
	z-index: 2;
	text-align: center;
}

.home-hero h1 {
	font-size: 3rem;
	margin-bottom: 15px;
}
.rides-grid,
.media-grid,
.riders-grid,
.founders-grid,
.mc-chapters-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 25px;
}

.ride-card,
.media-card,
.rider-card,
.post-card,
.founder-card,
.mc-chapter-card{
	background: #1b1b1b;
	padding: 15px;
	border: 1px solid #222;
}

.ride-card img,
.media-card img,
.rider-card img,
.post-card img,
.founder-card img,
.mc-chapter-card img {
	width: 100%;
	height: auto;
	display: block;
}
.media-card video {
	width: 100%;
	height: auto;
	background: #000;
}
section {
	padding: 90px 0;
}

section:nth-child(even) {
	background: var(--mc-bg-panel);
}

section:nth-child(odd) {
	background: var(--mc-bg-dark);
}
.ride-card,
.media-card,
.rider-card,
.post-card, 
.founder-card,
.mc-chapter-card
{
	background: var(--mc-bg-panel);
	border: 1px solid var(--mc-border);
	transition: transform .3s ease, box-shadow .3s ease;
}

.ride-card:hover,
.media-card:hover,
.rider-card:hover,
.founder-card:hover,
.mc-chapter-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 10px 25px rgba(0,0,0,.6);
}

.media-card h3,
.ride-card h3 {
	margin-top: 15px;
	color: var(--mc-text-light);
}
.media-card.media-video::after {
	content: "▶";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 60px;
	color: rgba(255,255,255,.8);
	pointer-events: none;
}
.rider-card,
.founder-card,
.mc-chapter-card {
	text-align: center;
}

.rider-card p,
.founder-card p,
.mc-chapter-card p {
	color: var(--mc-accent);
	font-weight: 600;
}
.home-testimonials blockquote {
	max-width: 800px;
	margin: 0 auto;
	font-style: italic;
	color: var(--mc-text-muted);
}

.home-testimonials cite {
	display: block;
	margin-top: 15px;
	color: var(--mc-accent);
	font-weight: bold;
}
/* ===============================
   FOUNDERS – homepage section
================================ */

.home-founders {
	text-align: center;
}

.home-founders h2 {
	margin-bottom: 30px;
}

.founders-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 25px;
}

/* ===============================
   MOBILE POLISH
================================ */
@media (max-width: 768px) {

	section {
		padding: 60px 0;
	}

	h1 {
		font-size: 2.2rem;
	}

	h2 {
		font-size: 1.6rem;
		margin-bottom: 25px;
	}


	.rides-grid,
	.media-grid,
	.riders-grid,
	.founders-grid,
    .mc-chapters-grid	{
		gap: 18px;
	}

	.btn {
		padding: 10px 24px;
	}
}
.archive-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 25px;
}

.archive-card {
	background: var(--mc-bg-panel);
	border: 1px solid var(--mc-border);
	padding: 15px;
}
.mc-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.9);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
}

.mc-lightbox video {
	max-width: 90%;
	max-height: 90%;
}
/* =================================
   SECTION BACKGROUND OVERLAY
================================= */
section[style*="background-image"] {
	position: relative;
}

/* REMOVE global section overlays */
section[style*="background-image"]::before {
	display: none;
}


section > .container {
	position: relative;
	z-index: 2;
}
/* ===============================
   BENEFITS SECTION
================================ */
.benefits-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 30px;
	margin-top: 40px;
}

.benefit-item {
	background: rgba(0,0,0,0.6);
	padding: 30px;
	text-align: center;
	border: 1px solid var(--mc-border);
}

.benefit-icon {
	font-size: 36px;
	display: block;
	margin-bottom: 15px;
	color: var(--mc-accent);
}

.benefit-item h3 {
	margin-bottom: 10px;
}

.benefit-item p {
	color: var(--mc-text-muted);
}
/* ===============================
   HERO
================================ */
.home-hero {
	position: relative;
	color: #fff;
	text-align: center;
	display: flex;
	align-items: center;
}

.home-hero .container {
	position: relative;
	z-index: 2;
}

.hero-small {
	min-height: 40vh;
}

.hero-medium {
	min-height: 60vh;
}

.hero-large {
	min-height: 80vh;
}
.page-hero {
	position: relative;
	color: #fff;
	display: flex;
	align-items: center;
	text-align: center;
}

.page-hero .container {
	position: relative;
	z-index: 2;
}

.site-header {
	position: relative;
	z-index: 100;
}

.header-overlay-layer {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.4); /* adjust */
	pointer-events: none;
	z-index: 1;
}

.site-header .container {
	position: relative;
	z-index: 2;
}

/* Homepage hero overlay (only when enabled) */
.home-hero.has-overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.45);
	z-index: 1;
}

/* Page hero overlay (only when enabled) */
.page-hero.has-overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.55);
	z-index: 1;
}
.has-header-overlay .page-hero {
	padding-top: 100px;
}

@media (max-width: 768px) {
	.has-header-overlay .page-hero {
		padding-top: 80px;
	}
}

/* ===============================
   HEADER OVER HERO
================================ */
.site-header {
	position: relative;
	z-index: 100;
	background: #000; /* normal header background */
}

.site-header.header-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background: transparent;
}

.site-header.header-overlay .container {
	padding-top: 20px;
	padding-bottom: 20px;
}


/* ===============================
   HEADER & NAVIGATION
================================ */
.site-header {
	background: #000;
}

.site-header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.site-header .logo {
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	font-size: 20px;
}

.main-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 25px;
}

.main-nav li {
	margin: 0;
}

.main-nav a {
	color: #fff;
	text-decoration: none;
	font-weight: 500;
}

.main-nav a:hover {
	color: #f04e23; /* accent color */
}
.main-nav ul li {
	position: relative;
}

.main-nav ul ul {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	background: #000;
	display: none;
	flex-direction: column;
	z-index: 999;
}

@media (min-width: 769px) {
	.main-nav ul li:hover > ul {
		display: block;
	}
}


.main-nav ul ul li a {
	padding: 12px 18px;
	display: block;
}

/* ===============================
   DEFAULT PAGE HEADER (NO HERO)
================================ */
.site-header {
	min-height: 80px;
	display: flex;
	align-items: center;
}

body:not(.home) .site-header {
	background: #000;
}
/* =====================================================
   ADMIN BAR FIX FOR OVERLAY HEADER
   ===================================================== */
.has-header-overlay .site-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

/* Admin bar offset */
body.admin-bar.has-header-overlay .site-header {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar.has-header-overlay .site-header {
		top: 46px;
	}
}
/* ===============================
   HERO BASE (UNIFIED)
================================ */
.home-hero,
.page-hero {
	position: relative;
	color: #fff;
	display: flex;
	align-items: center;
	text-align: center;
	background-size: cover;
	background-position: center;
}
/* ===============================
   HERO SIZES (UNIFIED)
================================ */
.hero-small {
	min-height: 40vh;
}

.hero-medium {
	min-height: 60vh;
}

.hero-large {
	min-height: 80vh;
}
/* ===============================
   HERO OFFSET FOR OVERLAY HEADER
================================ */
.has-header-overlay .home-hero,
.has-header-overlay .page-hero {
	padding-top: 100px;
}

@media (max-width: 768px) {
	.has-header-overlay .home-hero,
	.has-header-overlay .page-hero {
		padding-top: 80px;
	}
}
/* ===============================
   HERO OVERLAY (OPT-IN ONLY)
================================ */
.home-hero.has-overlay::before,
.page-hero.has-overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.55);
	z-index: 1;
}

.home-hero .container,
.page-hero .container {
	position: relative;
	z-index: 2;
}
.site-header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/* Center menu below */
.layout-logo-center-menu-below .container {
	flex-direction: column;
	gap: 15px;
}

/* Split menu */
.layout-logo-center-split .container {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
}

.menu-left {
	justify-self: end;
}

.menu-right {
	justify-self: start;
}
/* ===============================
   LOGO SIZE (CUSTOMIZER)
================================ */
.site-header .custom-logo {
	max-width: var(--mc-logo-width, 180px);
	height: auto;
	display: block;
}

.site-header .custom-logo img {
	width: 100%;
	height: auto;
	display: block;
}
/* ===============================
   HEADER SPACING (CUSTOMIZER)
================================ */
.site-header .container {
	padding-top: var(--mc-header-pad, 20px);
	padding-bottom: var(--mc-header-pad, 20px);
}
/* ===============================
   STICKY HEADER
================================ */
.has-sticky-header .site-header {
	position: sticky;
	top: 0;
	z-index: 999;
}
body.admin-bar.has-sticky-header .site-header {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar.has-sticky-header .site-header {
		top: 46px;
	}
}
.has-header-overlay.has-sticky-header .site-header {
	position: absolute;
}
@media (max-width: 768px) {
	.has-sticky-header .site-header {
		position: relative;
		top: auto;
	}
}

/* ===============================
   MOBILE MENU TOGGLE
================================ */
.mobile-menu-toggle {
	display: none;
	align-items: center;
	gap: 10px;
	background: none;
	border: 0;
	cursor: pointer;
	padding: 10px;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
}

.mobile-menu-toggle .menu-icon {
	display: inline-flex;
	flex-direction: column;
}

.mobile-menu-toggle .bar {
	width: 24px;
	height: 2px;
	background: currentColor;
	margin: 4px 0;
}

.mobile-menu-toggle .menu-label {
	line-height: 1;
}

/* ===============================
   MOBILE MENU STRUCTURE
================================ */
.mobile-menu {
	background: #000;
}

.mobile-menu[hidden] {
	display: none;
}

.mobile-menu ul {
	list-style: none;
	margin: 0;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

/* ===============================
   MOBILE MENU LINKS
================================ */
.mobile-menu a,
.mobile-menu a:visited,
.mobile-menu a:hover,
.mobile-menu a:active {
	color: #fff;
	text-decoration: none;
}

/* ===============================
   MOBILE BREAKPOINT
================================ */
@media (max-width: 768px) {

	.main-nav {
		display: none;
	}

	.mobile-menu-toggle {
		display: inline-flex;
	}
}
/* Desktop: mobile menu must never show */
.mobile-menu {
	display: none;
}
@media (max-width: 768px) {
	.mobile-menu {
		display: block;
	}
}
@media (max-width: 768px) {
	.mobile-menu li ul {
		display: none;
		padding-left: 15px;
	}
}

/* ===============================
   MOBILE MENU ANIMATION (SAFE)
================================ */
.mobile-menu {
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	transition:
		max-height 0.45s ease,
		opacity 0.35s ease;
}

/* Open state */
.mobile-menu:not([hidden]) {
	max-height: 600px; /* large enough for menu */
	opacity: 1;
}

/* Closed state */
.mobile-menu[hidden] {
	max-height: 0;
	opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
	.mobile-menu {
		transition: none;
	}
}
/* ===============================
   SUBMENU INDICATORS
================================ */
/* Submenu indicator */
.main-nav li.menu-item-has-children > a::after,
.mobile-menu li.menu-item-has-children > a::after {
	content: "▾";
	margin-left: 6px;
	font-size: 0.8em;
	opacity: 0.7;
}
/* ===============================
   MOBILE SUBMENUS
================================ */
@media (max-width: 768px) {

	.mobile-menu li ul {
		display: none;
		padding-left: 15px;
	}

	.mobile-menu li.submenu-open > ul {
		display: block;
	}
}
@media (max-width: 768px) {
	.mobile-menu li.menu-item-has-children > a::after {
		transition: transform 0.25s ease;
	}

	.mobile-menu li.submenu-open > a::after {
		transform: rotate(180deg);
	}
}
/* ===============================
   MOBILE SUBMENU ANIMATION
================================ */
@media (max-width: 768px) {

	.mobile-menu li ul {
		overflow: hidden;
		max-height: 0;
		transition: max-height 0.3s ease;
	}

	.mobile-menu li.submenu-open > ul {
		max-height: 500px; /* enough for submenu */
	}
}
/* ===============================
   HEADER CTA BUTTON
================================ */
.header-cta {
	background: var(--mc-accent);
	color: #fff;
	padding: 10px 22px;
	border-radius: 3px;
	text-decoration: none;
	font-weight: 700;
	white-space: nowrap;
	transition: background 0.25s ease;
}

.header-cta:hover {
	background: var(--mc-accent-hover);
	color: #fff;
}
@media (max-width: 768px) {
	.header-cta {
		display: none;
	}
}
.site-header .container {
	display: flex;
	align-items: center;
	gap: 20px;
}

.header-cta {
	margin-left: auto; /* pushes CTA to the far right */
}
/* ===============================
   MOBILE MENU CTA
================================ */
.mobile-menu-cta {
	margin-top: 25px;
	padding: 0 20px 20px;
}

.mobile-menu-cta .header-cta {
	display: block;
	text-align: center;
}
/* ===============================
   ABOUT HOMEPAGE SECTION CSS
================================ */
/* Flexible 3-column layout */
.section-flex-container {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    justify-content: space-between;
}

/* Base column settings */
.section-column {
    flex: 1; /* Distributes space equally */
}

/* Specific column widths */
.section-image-col {
    max-width: 300px;
}

.section-content-col {
    flex: 2; /* Gives the middle column more space */
}

.section-links-col {
    max-width: 250px;
    border-left: 1px solid #eee;
    padding-left: 20px;
}

/* Vertical list styling */
.submenu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.submenu-list li {
    margin-bottom: 10px;
}

.submenu-list li a {
    text-decoration: none;
    color: #0073aa;
    font-weight: bold;
}

/* Responsive adjustment for mobile */
@media (max-width: 768px) {
    .section-flex-container {
        flex-direction: column;
    }
    .section-column {
        max-width: 100%;
        border-left: none;
        padding-left: 0;
    }
}
/* ===============================
   CHAPTERS HOMEPAGE SECTION CSS
================================ */
/* Ensure the image stays inside the card */
.mc-chapter-card a {
    display: block;
    width: 100%;
    overflow: hidden; /* Prevents visual overflow */
}
.mc-chapter-card img {
    width: 100%;       /* Resizes width to fit the column */
    height: 300px;     /* Set a fixed height to match your Rider cards */
    display: block;
    object-fit: cover; /* Crops the image to fill the box without distortion */
}

/* Ensure the H3 inside the link inherits the white color */
.mc-chapter-card a h3 {
    color: #ffffff;
    margin-top: 10px; /* Optional: adds space between image and text */
}

/* Optional: Add a hover effect so users know it's still a link */
.mc-chapter-card a:hover h3 {
    color: #cccccc; /* Light grey on hover */
    text-decoration: none;
}
.mc-chapter-card-title {
	margin-top: 10px;
	color: #fff;
	font-size: 1.1rem;
	text-align: center;
}
.mc-chapter-card {
	display: block;
	text-decoration: none;
	color: #fff;
}

/* =========================
   Footer Widgets
========================= */

.site-footer-widgets {
	background: #111;
	color: #fff;
	padding: 60px 0;
}

.site-footer .footer-widgets-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 40px;
}

.site-footer .footer-column {
	min-width: 0;
}

.footer-widget-title {
	font-size: 16px;
	margin-bottom: 15px;
	text-transform: uppercase;
}

.footer-widget {
	font-size: 14px;
	line-height: 1.6;
}

/* =========================
   Responsive
========================= */

@media (max-width: 1024px) {
	.site-footer .footer-widgets-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.site-footer .footer-widgets-grid {
		grid-template-columns: 1fr;
		text-align: center;
	}
}
/* =========================
   Footer Widget Alignment
========================= */

.site-footer .footer-column {
	text-align: center;
}

.site-footer .footer-widget {
	text-align: center;
}

.site-footer .footer-widget ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.site-footer .footer-widget li {
	margin-bottom: 8px;
}
/* =========================
   Footer Widget Card Style
========================= */

.site-footer .footer-column {
	background: rgba(255, 255, 255, 0.04);
	padding: 30px 20px;
	border-radius: 12px;
}
/* =========================
   Footer Links
========================= */

.site-footer a {
	color: #ffffff;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.site-footer a:hover,
.site-footer a:focus {
	opacity: 0.75;
	text-decoration: none;
}
/* =========================
   Footer Bottom
========================= */

.site-footer-bottom {
	text-align: center;
}

.site-footer-bottom p {
	margin: 0;
}
/* =========================
   Footer Navigation Menu Widget
========================= */

.site-footer .widget_nav_menu ul {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer .widget_nav_menu li {
	display: block;
	margin: 10px 0;
}

.site-footer .widget_nav_menu a {
	display: inline-block;
}
.site-footer .widget_nav_menu ul {
	text-align: center;
}
.chapter-empty {
	text-align: center;
	opacity: 0.75;
}
/* ===============================
   CHAPTER HERO BACKGROUND FIX
================================ */

.page-hero {
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: center center !important;
}
.home-about .btn {
	text-decoration: none;
}
/* ===============================
   EVENTS – FEATURED + LIST LAYOUT
================================ */

.events-layout {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 2.5rem;
	margin-top: 2rem;
}

.events-col {
	min-width: 0;
}

/* Featured card */
.event-featured-card {
	background: #111;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 15px 40px rgba(0,0,0,.25);
}

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

.event-featured-card .event-content {
	padding: 1.5rem;
}

.event-date {
	font-size: .9rem;
	opacity: .8;
	margin-bottom: .4rem;
}

.event-title {
	font-size: 1.3rem;
	margin: .2rem 0 1rem;
}

/* Event list */
.events-list {
	background: #0d0d0d;
	border-radius: 14px;
	padding: 1.5rem;
}

.events-list-title {
	font-size: 1rem;
	margin-bottom: 1rem;
	opacity: .85;
}

.events-list-items {
	list-style: none;
	padding: 0;
	margin: 0;
}

.event-list-item {
	display: flex;
	gap: 1rem;
	padding: .6rem 0;
	border-bottom: 1px solid rgba(255,255,255,.08);
}

.event-list-item:last-child {
	border-bottom: none;
}

.event-list-date {
	font-size: .85rem;
	opacity: .75;
	white-space: nowrap;
}

.event-list-title {
	font-weight: 500;
	text-decoration: none;
}

/* Section actions */
.section-actions {
	margin-top: 2rem;
	text-align: center;
}

/* Responsive */
@media (max-width: 900px) {
	.events-layout {
		grid-template-columns: 1fr;
	}
}
/* Featured event title stays white */
.event-featured-card a,
.event-featured-card a:visited {
	color: #fff;
}

.event-featured-card a:hover {
	color: var(--accent, #e53935);
}

/* ===============================
   Events Section – Right Column
================================ */

.events-col-list {
	padding-left: 2rem;
}

.events-subheading {
	margin: 0 0 0.75rem;
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #aaa;
}

.events-list-items {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}

.event-list-item {
	display: flex;
	gap: 1rem;
	align-items: center;
	padding: 0.35rem 0;
}


.events-list-date {
	font-size: 0.85rem;
	color: #888;
	white-space: nowrap;
}

.events-list-item a {
	color: #fff;
	text-decoration: none;
}

.events-list-item a:hover {
	color: var(--accent, #e53935);
}

/* Past events visual de-emphasis */
.events-list-items-past .event-list-item {
	opacity: 0.7;
}
/* ===============================
   Events – List Link Colors
================================ */

.events-list-item a,
.events-list-item a:visited {
	color: var(--accent, #e53935);
}

.events-list-item a:hover {
	color: #fff;
}
/* ===============================
   Events – List Link Color Override
   (Must override global link reset)
================================ */

.chapter-events .events-list-item a,
.chapter-events .events-list-item a:visited {
	color: var(--accent, #e53935);
}

.chapter-events .events-list-item a:hover {
	color: #fff;
}
/* ===============================
   Events Archive – Header Polish
================================ */

.chapter-events-page .section-header {
	text-align: center;
	margin-bottom: 3.5rem;
}

.chapter-events-page .section-header h1 {
	font-size: 2.4rem;
	letter-spacing: 0.04em;
}
/* ===============================
   Events Archive – Card Refinement
================================ */

.ride-card {
	background: #0d0d0d;
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	}

.ride-thumb {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.ride-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
/* Card inner spacing */
.ride-card .ride-title {
	margin-top: 1.2rem;
	font-size: 1.1rem;
	letter-spacing: 0.03em;
}

.ride-card p {
	margin: 0.4rem 0 1rem;
	font-size: 0.9rem;
	opacity: 0.85;
}

.ride-card .btn {
	margin-top: auto;
	align-self: center;
}
/* ===============================
   Events Archive – Section Spacing
================================ */

/* Add breathing room before Past Events title */
.chapter-events-page h2 + .rides-grid {
	margin-bottom: 4rem;
}

.chapter-events-page .rides-grid + h2 {
	margin-top: 4rem;
}
/* ===============================
   Events Archive – Grid Fix
================================ */

.chapter-events-page .rides-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 2rem;
	align-items: stretch;
}
/* ===============================
   MOBILE EVENTS ARCHIVE – SWIPE
================================ */
@media (max-width: 768px) {

	.chapter-events-page .rides-grid {
		display: flex;
		gap: 1rem;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 0.5rem;
	}

	.chapter-events-page .ride-card {
		flex: 0 0 85%;
		scroll-snap-align: start;
	}

	/* Hide scrollbar but keep swipe */
	.chapter-events-page .rides-grid::-webkit-scrollbar {
		display: none;
	}
	.chapter-events-page .rides-grid {
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
}
/* Swipe hint */
.events-swipe-hint {
	font-size: 0.85rem;
	opacity: 0.65;
	margin: 0.25rem 0 0.75rem;
}

@media (min-width: 769px) {
	.events-swipe-hint {
		display: none;
	}
}
/* ===============================
   MOBILE EVENTS ARCHIVE – CONTROLS
   Hide Load More & Collapse
================================ */
@media (max-width: 768px) {

	.chapter-events-page .events-actions {
		display: none !important;
	}

}
/* ===============================
   META DISPLAY ON EVENTS CARD
================================ */
/* Ride meta */
.ride-meta {
	margin: 0.5rem 0 1rem;
	font-size: 0.85rem;
	color: #aaa;
	display: grid;
	gap: 0.25rem;
}

.ride-meta-item {
	line-height: 1.3;
}
/* Featured event meta (chapter page) */
.event-featured-card .event-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	margin: 0.75rem 0 1rem;
	font-size: 0.9rem;
	color: #ccc;
}

.event-featured-card .event-meta-item {
	white-space: nowrap;
}


.event-meta-item {
	line-height: 1.3;
}

/* ===============================
   SINGLE EVENT META DISPLAY
================================ */
/* Single event meta */
.event-meta {
	margin: 1.5rem 0;
	display: grid;
	gap: 0.75rem;
}

.event-meta-item {
	font-size: 0.95rem;
}
.single-event .event-meta-item {
	color: #ddd;
}

.single-event .event-meta-item strong {
	color: #fff;
}
/* ===============================
   SINGLE EVENT – 2 COLUMN LAYOUT
================================ */

.single-event-layout {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 2.5rem;
	align-items: start;
	margin-top: 2rem;
}

.single-event-image {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 14px;
}

.single-event-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Right column */
.single-event-details {
	background: #111;
	color: #eee;
	border-radius: 16px;
	padding: 2rem;
	box-shadow: 0 20px 40px rgba(0,0,0,.35);
}

/* Meta inside white panel */
.single-event-details .event-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	margin: 1rem 0 1.5rem;
	font-size: 0.9rem;
	color: #444;
}
.single-event-details h1 {
	color: #fff;
}

.single-event-details .event-meta {
	color: #ccc;
}

.single-event-details .event-meta-item {
	white-space: nowrap;
}

/* Mobile */
@media (max-width: 900px) {
	.single-event-layout {
		grid-template-columns: 1fr;
	}

	.single-event-details {
		padding: 1.5rem;
	}
}

/* ===============================
   FEATURED EVENT IMAGE – FINAL (LOCKED)
================================ */

.event-featured-card {
	display: grid;
	grid-template-columns: 1fr;
	align-self: start;
}

.event-featured-card .event-image {
	width: 100%;              /* 🔑 THIS IS THE FIX */
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 12px;
}

/* Desktop height control */
@media (min-width: 901px) {
	.event-featured-card .event-image {
		max-height: 360px;      /* adjust 320–380px if needed */
	}
}

.event-featured-card .event-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}

/* Featured event – add breathing room */
.event-featured-card {
	padding: 1rem;
}

/* Ensure image respects the card padding */
.event-featured-card .event-image {
	border-radius: 10px;
}
@media (min-width: 901px) {
	.event-featured-card {
		padding: 1.25rem;
	}
}


/* ===============================
   SINGLE GALLERY – IMAGE GRID
================================ */

.single-gallery .gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1rem;
	margin-top: 2rem;
}

.single-gallery .gallery-item {
	margin: 0;
}

.single-gallery .gallery img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
}
/* ===============================
   EVENTS PAST LINK DISPLAY ON SECTION EVENTS CARD LIST
   
================================ */
.events-past-link {
	margin-top: 1rem;
	font-size: 0.85rem;
	opacity: 0.75;
}

.events-past-link a {
	color: var(--accent, #e53935);
	text-decoration: none;
}

.events-past-link a:hover {
	opacity: 1;
}

/* ===============================
   GALLERIES – CARD GRID
================================ */

.galleries-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 2rem;
	margin-top: 2rem;
}

.media-gallery {
	background: #0d0d0d;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(0,0,0,.25);
	text-align: center;
}

.media-card-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.media-thumb img {
	width: 100%;
	height: auto;
	display: block;
}

.media-body {
	padding: 1.25rem;
}

.media-body h3 {
	margin: 0 0 0.75rem;
	font-size: 1rem;
}

.media-body .btn {
	margin: 0 auto;
	display: inline-block;
}


	
/* ===============================
   VIDEOS GRID
================================ */
/* Video grid layout */
.videos-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 2rem;
}

/* Video card */
.video-card {
	background: var(--card-bg, #111);
	border-radius: 8px;
	overflow: hidden;
}

/* Video embeds & players */
.video-card iframe,
.video-card video {
	width: 100%;
	height: auto;
	display: block;
}

/* Video title */
.video-card .video-title {
	font-size: 1rem;
	padding: 0.75rem 1rem;
}
/* Chapter page video section – single row */
.chapter-videos .videos-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}
@media (max-width: 768px) {
	.chapter-videos .videos-grid {
		grid-template-columns: 1fr;
	}
}
/* Chapter video archive – 4 columns */
.chapter-videos-page .videos-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}
@media (max-width: 1200px) {
	.chapter-videos-page .videos-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.chapter-videos-page .videos-grid {
		grid-template-columns: repeat(1, 1fr);
	}
}
.pagination {
	display: flex;
	justify-content: center;
	margin: 2rem 0;
	gap: 0.5rem;
}

/* ===============================
   VIDEOS ARCHIVE – GRID
================================ */

.videos-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.5rem;
}

/* ===============================
   VIDEO ARCHIVE ACTIONS
================================ */

.archive-actions {
	margin-top: 2rem;
	display: flex;
	gap: 1rem;
	align-items: center;
}

/* ===============================
   VIDEO CARD – FORCED ASPECT RATIO
================================ */

.video-card .video-preview {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #000;
}

.video-card video,
.video-card iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* ===============================
   VIDEOS ARCHIVE – MOBILE SWIPE
   (FORCE OVERRIDE)
================================ */

@media (max-width: 768px) {

	.chapter-videos-page .videos-grid {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 1rem;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.chapter-videos-page .videos-grid > * {
		flex: 0 0 100% !important;
		scroll-snap-align: start;
	}

	/* Hide desktop controls on mobile */
	.chapter-videos-page .archive-actions {
		display: none !important;
	}

	/* Show swipe hint ONLY on mobile */
	.chapter-videos-page .swipe-hint {
		display: block;
		text-align: center;
		font-size: 0.9rem;
		opacity: 0.7;
		margin-top: 1rem;
	}
}

/* Desktop safeguard */
@media (min-width: 769px) {
	.chapter-videos-page .swipe-hint {
		display: none;
	}
}
/* Swipe hint visibility */
.swipe-hint {
	display: none;
}

@media (max-width: 768px) {
	.swipe-hint {
		display: block;
		text-align: center;
		font-size: 0.9rem;
		opacity: 0.7;
		margin-bottom: 0.75rem;
	}
}
@media (max-width: 768px) {

	.chapter-videos .videos-grid {
		display: flex;
		flex-wrap: nowrap;
		gap: 1rem;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.chapter-videos .videos-grid > * {
		flex: 0 0 100%;
		scroll-snap-align: start;
	}
}
/* ===============================
   VIDEOS ARCHIVE – CENTER TITLE
================================ */

.chapter-videos-page .section-header {
	text-align: center;
}

/* =========================
   News Grid
========================= */

.news-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 2rem;
}

/* News card */
.news-card {
	border: 1px solid #333;
	padding: 1.5rem;
	background: #000; /* or your card bg */
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

/* Title */
.news-title {
	margin: 0 0 0.75rem;
	font-size: 1.1rem;
	line-height: 1.3;
}

.news-title a {
	color: inherit;
	text-decoration: none;
}

.news-title a:hover {
	text-decoration: underline;
}

/* Excerpt */
.news-excerpt {
	font-size: 0.95rem;
	line-height: 1.5;
	margin-bottom: 1rem;
	opacity: 0.9;
}

/* Read more */
.news-read-more {
	align-self: flex-start;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-decoration: none;
}

.news-read-more:hover {
	text-decoration: underline;
}
/* ===============================
   NEWS ARCHIVE – GRID
================================ */

.chapter-news-page .news-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}

@media (max-width: 1200px) {
	.chapter-news-page .news-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.news-grid {
		grid-template-columns: 1fr;
	}
}
/* =========================
   News Card Media
========================= */

.news-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* Card layout */
.news-card {
	display: flex;
	flex-direction: column;
}

/* Content wrapper */
.news-content {
	display: flex;
	flex-direction: column;
	flex: 1;
}

/* Title */
.news-title a {
	color: inherit;
	text-decoration: none;
}

.news-title a:hover {
	text-decoration: underline;
}

/* Remove default link styling */
.news-card a {
	color: inherit;
}

/* Read more button spacing */
.news-read-more {
	margin-top: auto;
	align-self: flex-start;
}
/* ===============================
   NEWS CARD – IMAGE RATIO
================================ */

.news-card .news-image {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #000;
}

.news-card .news-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* ===============================
   NEWS ARCHIVE – MOBILE SWIPE
================================ */

@media (max-width: 768px) {

	.chapter-news-page .news-grid {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 1rem;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.chapter-news-page .news-grid > * {
		flex: 0 0 100% !important;
		scroll-snap-align: start;
	}

	/* Hide desktop controls on mobile */
	.chapter-news-page .archive-actions {
		display: none !important;
	}

	/* Show swipe hint ONLY on mobile */
	.chapter-news-page .swipe-hint {
		display: block;
		text-align: center;
		font-size: 0.9rem;
		opacity: 0.7;
		margin-bottom: 0.75rem;
	}
}

/* Desktop safeguard */
@media (min-width: 769px) {
	.chapter-news-page .swipe-hint {
		display: none;
	}
}
@media (max-width: 768px) {

	.chapter-news-page .news-grid {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 0 !important; /* 🔑 REMOVE GAP */
		padding-left: 0;
		padding-right: 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.chapter-news-page .news-grid > * {
		flex: 0 0 100vw !important; /* 🔑 FORCE VIEWPORT WIDTH */
		max-width: 100vw;
		scroll-snap-align: start;
	}
}
/* ===============================
   NEWS CARD – IMAGE / TITLE SPACING
================================ */

.news-card .news-image {
	margin-bottom: 1rem;
}

/* ===============================
   NEWS ARCHIVE – MOBILE VIEWPORT FIX
================================ */

@media (max-width: 768px) {

	.chapter-news-page .container {
		padding-left: 0;
		padding-right: 0;
	}

	.chapter-news-page .news-grid > * {
		padding-left: 1rem;
		padding-right: 1rem;
		box-sizing: border-box;
	}
}
/* ===============================
   NEWS ARCHIVE – FINAL MOBILE SWIPE FIX
================================ */

@media (max-width: 768px) {

	/* Prevent cards from exceeding viewport width */
	.chapter-news-page .news-grid > .news-card {
		width: 100vw;
		max-width: 100vw;
		margin: 0;
		padding-left: 1rem;
		padding-right: 1rem;
		box-sizing: border-box;
	}

	/* Remove outer card padding to avoid double padding */
	.chapter-news-page .news-card {
		padding-left: 0;
		padding-right: 0;
	}
}
/* ===============================
   NEWS ARCHIVE – CENTER TITLE
================================ */

.chapter-news-page .section-header {
	text-align: center;
}
/* ===============================
   NEWS ARCHIVE – HARD VIEWPORT ALIGN
   (FINAL FIX)
================================ */

@media (max-width: 768px) {

	/* Force swipe track to align with viewport edges */
	.chapter-news-page .news-grid {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Ensure cards remain readable */
	.chapter-news-page .news-grid > .news-card {
		width: 100vw;
		max-width: 100vw;
		padding-left: 1rem;
		padding-right: 1rem;
		box-sizing: border-box;
	}
}

/* =========================
   Mobile Carousel UX
========================= */

@media (max-width: 768px) {

	/* Shared carousel behaviour */
	.mobile-carousel {
		display: flex;
		overflow-x: auto;
		gap: 1rem;
		padding-bottom: 0.5rem;

		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.mobile-carousel > * {
		flex: 0 0 80%;
		scroll-snap-align: start;
	}

	/* Hide scrollbar (optional) */
	.mobile-carousel::-webkit-scrollbar {
		display: none;
	}
}
@media (max-width: 768px) {

	/* Videos */
	.chapter-videos .videos-grid {
		display: flex;
		overflow-x: auto;
		gap: 1rem;
		scroll-snap-type: x mandatory;
	}

	.chapter-videos .videos-grid > * {
		flex: 0 0 80%;
		scroll-snap-align: start;
	}

	/* Galleries */
	.chapter-galleries .galleries-grid {
		display: flex;
		overflow-x: auto;
		gap: 1rem;
		scroll-snap-type: x mandatory;
	}

	.chapter-galleries .galleries-grid > * {
		flex: 0 0 80%;
		scroll-snap-align: start;
	}

	/* News */
	.chapter-news .news-grid {
		display: flex;
		overflow-x: auto;
		gap: 1rem;
		scroll-snap-type: x mandatory;
	}

	.chapter-news .news-grid > * {
		flex: 0 0 80%;
		scroll-snap-align: start;
	}
}
@media (min-width: 600px) and (max-width: 768px) {
	.chapter-news .news-grid > *,
	.chapter-videos .videos-grid > *,
	.chapter-galleries .galleries-grid > * {
		flex: 0 0 60%;
	}
}

/* Single news featured image – mobile safe */
.single-post .post-thumbnail img,
.single-post .wp-post-image {
	width: 100%;
	height: auto;
	display: block;
	max-width: 100%;
}
@media (max-width: 768px) {

	.chapter-videos .videos-grid > * {
		flex: 0 0 100%;
	}
}
@media (max-width: 768px) {
	.chapter-galleries .galleries-grid > * {
		flex: 0 0 100%;
	}
}

/* ===============================
   Gallery Lightbox – Full Viewer
================================ */

.mc-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.95);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mc-lightbox-inner {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.mc-lightbox-image {
	max-width: 90vw;
	max-height: 70vh;
	object-fit: contain;
}

/* Close button */
.mc-lightbox-close {
	position: absolute;
	top: 1rem;
	right: 1.25rem;
	font-size: 2rem;
	background: none;
	border: none;
	color: #fff;
	cursor: pointer;
}

/* Arrows */
.mc-lightbox-prev,
.mc-lightbox-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 3rem;
	background: none;
	border: none;
	color: #fff;
	cursor: pointer;
	padding: 0 1rem;
}

.mc-lightbox-prev { left: 0; }
.mc-lightbox-next { right: 0; }

/* Thumbnails */
.mc-lightbox-thumbs {
	display: flex;
	gap: 0.5rem;
	margin-top: 1rem;
	padding: 0.5rem;
	overflow-x: auto;
	max-width: 90vw;
}

.mc-lightbox-thumbs img {
	height: 60px;
	opacity: 0.6;
	cursor: pointer;
	border: 2px solid transparent;
}

.mc-lightbox-thumbs img.active {
	opacity: 1;
	border-color: #fff;
}

/* Mobile tuning */
@media (max-width: 768px) {
	.mc-lightbox-image {
		max-height: 60vh;
	}

	.mc-lightbox-thumbs img {
		height: 48px;
	}
}


/* =========================
   Mobile Carousel – Leadership / Riders
========================= */

@media (max-width: 768px) {

	.riders-grid {
		display: flex;
		overflow-x: auto;
		gap: 1rem;
		padding-bottom: 0.5rem;

		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.rider-card {
		flex: 0 0 100%;
		scroll-snap-align: start;
	}

	.riders-grid::-webkit-scrollbar {
		display: none;
	}
}

/* =========================
   Mobile Carousel 
========================= */

/* Ensure swipe stays inside section only */
.riders-grid,
.videos-grid,
.news-grid,
.galleries-grid {
	overflow-x: auto;
	overflow-y: hidden;
}

/* =========================
   Center Card Titles
========================= */

.news-card,
.video-card,
.gallery-card,
.mc-chapter-card,
.rider-card,
.ride-card {
	text-align: center;
}
/* =========================
   Center Card Buttons
========================= */

.news-card .btn,
.video-card .btn,
.gallery-card .btn,
.mc-chapter-card .btn,
.rider-card .btn,
.ride-card .btn {
	margin-left: auto;
	margin-right: auto;
	display: inline-block;
}
/* =========================
   Horizontal Swipe Indicator (Robust)
========================= */

@media (max-width: 768px) {

	/* Sections WITH .section-header */
	.chapter-videos .section-header::after,
	.chapter-news .section-header::after,
	.chapter-galleries .section-header::after,
	.chapter-chapters .section-header::after,
	.chapter-leadership .section-header::after,
	.chapter-events .section-header::after {

		content: '←  Swipe left or right  →';
		display: block;
		margin-top: 0.35rem;
		text-align: center;

		font-size: 0.75rem;
		opacity: 0.55;
		letter-spacing: 0.02em;

		pointer-events: none;
	}

	/* Sections WITHOUT .section-header (title directly in container) */
	.chapter-galleries > .container > h2::after,
	.chapter-chapters > .container > h2::after,
	.chapter-leadership > .container > h2::after,
	.chapter-events > .container > h2::after {

		content: '\A←  Swipe left or right  →';
		white-space: pre;
		display: block;
		margin-top: 0.35rem;
		text-align: center;

		font-size: 0.75rem;
		opacity: 0.55;
		letter-spacing: 0.02em;

		pointer-events: none;
	}
}


/* =========================
   Prevent Viewport Side Scroll
========================= */

html,
body {
	overflow-x: hidden;
}

/* =========================
   Hero Image – Mobile Responsive
========================= */

.hero img,
.chapter-hero img,
.hero-media img {
	width: 100%;
	height: auto;
	max-width: 100%;
	display: block;
}

/* If hero uses background-image */
@media (max-width: 768px) {
	.hero,
	.chapter-hero {
		background-size: cover;
		background-position: center;
		min-height: 40vh;
	}
}
/* =========================
 Home page custom template css
========================= */
.page-template-page-main-club-home .site-main {
	max-width: none;
	width: 100%;
	padding: 0;
}

.page-template-page-main-club-home .container {
	max-width: 1200px;
	margin: 0 auto;
}
/* =========================
 Breadcrumns CSS
========================= */
.mc-breadcrumbs {
	margin: 1rem 0 2rem;
	font-size: 0.9rem;
}

.mc-breadcrumbs ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 0.4rem;
}

.mc-breadcrumbs li {
	color: #777;
	white-space: nowrap;
}

.mc-breadcrumbs li a {
	color: inherit;
	text-decoration: none;
}

.mc-breadcrumbs li a:hover {
	text-decoration: underline;
}

.mc-breadcrumbs li::after {
	content: "›";
	margin-left: 0.4rem;
	color: #bbb;
}

.mc-breadcrumbs li:last-child::after {
	content: "";
}

.mc-breadcrumbs li[aria-current="page"] {
	color: #c62828; /* red endpoint */
	font-weight: 600;
}
body.has-sticky-header .mc-breadcrumbs {
	margin-top: var(--header-height, 80px);
}
.mc-breadcrumbs li a {
	color: #555;
	text-decoration: none;
}

.mc-breadcrumbs li a:hover {
	text-decoration: underline;
}
.mc-breadcrumbs li a {
	color: #555;
	text-decoration: none;
}

.mc-breadcrumbs li a:hover {
	text-decoration: underline;
}

/* ===============================
   CHAPTERS – SHARED GRID BASE
================================ */

/* Constrain chapter grids to container width */
.mc-section-chapters .mc-chapters-grid,
.chapters-directory .mc-chapters-grid {
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}

/* Center cards when row is not full */
.mc-chapters-grid {
	justify-items: center;
}

/* Chapter card containment */
.mc-chapter-card {
	overflow: hidden;
	text-decoration: none;
	color: #fff;
	text-align: center;
}

/* Force square images everywhere */
.mc-chapter-card img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
}

/* Desktop image height consistency */
@media (min-width: 769px) {
	.mc-chapter-card img {
		height: 300px;
	}
}

/* ===============================
   CHAPTERS DIRECTORY PAGE
================================ */

/* Center page title */
.chapters-directory .page-header h1 {
	text-align: center;
}

/* Reduce gap between title and grid */
.chapters-directory .page-header {
	margin-bottom: 25px;
}

/* Vertical spacing for chapters grid */
.chapters-directory section.chapter-chapters {
	padding-top: 40px;
	padding-bottom: 40px;
}

/* ===============================
   MOBILE SWIPE – SAFE PATTERN
   (matches News / Videos / Galleries)
================================ */
@media (max-width: 768px) {

	/* Enable horizontal swipe */
	.mc-section-chapters .mc-chapters-grid,
	.chapters-directory .mc-chapters-grid {
		display: flex;
		gap: 1rem;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	/* One clean card at a time (NO overlap) */
	.mc-section-chapters .mc-chapters-grid > *,
	.chapters-directory .mc-chapters-grid > * {
		flex: 0 0 80%;
		scroll-snap-align: start;
	}
}

/* ===============================
   SWIPE HINTS (MOBILE ONLY)
================================ */
@media (max-width: 768px) {

	/* Swipe hint on chapter sections */
	.mc-section.mc-section-chapters h2::after {
		content: "←  Swipe left or right  →";
		display: block;
		margin-top: 6px;
		font-size: 0.75rem;
		opacity: 0.6;
		text-align: center;
		letter-spacing: 0.04em;
		pointer-events: none;
	}

	/* Swipe hint on chapters directory page */
	.chapters-directory h1::after {
		content: "←  Swipe left or right  →";
		display: block;
		margin-top: 8px;
		font-size: 0.75rem;
		opacity: 0.6;
		text-align: center;
		letter-spacing: 0.04em;
		pointer-events: none;
	}
}
/* ===============================
   CHAPTERS — MOBILE SWIPE (FINAL)
================================ */
@media (max-width: 768px) {

	/* Enable swipe WITHOUT overlap */
	.mc-section-chapters .mc-chapters-grid,
	.chapters-directory .mc-chapters-grid {
		display: flex;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		gap: 0;
		padding: 0;
		margin: 0;
	}

	/* Exactly ONE card per viewport */
	.mc-section-chapters .mc-chapter-card,
	.chapters-directory .mc-chapter-card {
		flex: 0 0 100%;
		max-width: 100%;
		scroll-snap-align: start;
	}
}
/* Vertical spacing belongs to section */
.mc-section-chapters,
.chapters-directory section.chapter-chapters {
	padding-top: 40px;
	padding-bottom: 40px;
}
/* Fix mobile chapter card width overflow */
.mc-chapter-card {
	box-sizing: border-box;
}
/* ===============================
   FIX: Chapters grid too wide on mobile
   (preserves no-overlap behaviour)
================================ */
@media (max-width: 768px) {

	/* Remove horizontal padding from the scrolling grid ONLY */
	.mc-section-chapters .mc-chapters-grid,
	.chapters-directory .mc-chapters-grid {
		padding-left: 0;
		padding-right: 0;
	}

	/* Move spacing responsibility to the section */
	.mc-section-chapters,
	.chapters-directory section.chapter-chapters {
		padding-left: 20px;
		padding-right: 20px;
	}
}
.mc-drag-handle {
	cursor: grab;
	margin-right: 6px;
	opacity: 0.6;
	user-select: none;
}
.mc-drag-handle:hover {
	opacity: 1;
}
/* ===============================
   Global Link Behavior (Safe)
================================ */

/* Normal text links only */
a:not(.btn),
a:not(.btn):visited {
	color: inherit;
	text-decoration: none;
}

/* Hover ONLY for text links, not buttons */
a:not(.btn):hover,
a:not(.btn):focus {
	color: var(--accent, #e53935);
	text-decoration: none;
}
/* Featured event button text must NOT change on hover */
.event-featured-card .btn,
.event-featured-card .btn:hover,
.event-featured-card .btn:focus {
	color: #fff !important;
}

/* ===============================
   FORCE Events List Link Colors
   (Override global inherit rule)
================================ */

.chapter-events .events-list .event-list-item a,
.chapter-events .events-list .event-list-item a:visited {
	color: var(--accent, #e53935);
}

.chapter-events .events-list .event-list-item a:hover,
.chapter-events .events-list .event-list-item a:focus {
	color: #ffffff;
}
.mc-collapse {
	display: none;
	margin-left: 0.75rem;
}

.mc-collapse.is-visible {
	display: inline-block;
}
.events-actions {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin-top: 1.5rem;
}

/* ===============================
   ARCHIVE ACTIONS – CENTERED
================================ */

.archive-actions {
	margin-top: 2rem;
	display: flex;
	justify-content: center; /* center horizontally */
	align-items: center;
	gap: 1rem;
}

/* Optional: keep buttons visually flat */
.archive-actions .btn {
	box-shadow: none;
}

