/* ============================================================
   Parsival Theme – main.css
   ============================================================ */

/* ── Variables ───────────────────────────────────────────────────────────── */
:root {
	--blue:          #1B3A8F;
	--blue-dark:     #122970;
	--blue-mid:      #2A52C9;
	--blue-pale:     #EEF3FF;
	--red:           #D42B2B;
	--red-dark:      #AA1E1E;
	--red-pale:      #FEE2E2;
	--white:         #FFFFFF;
	--color-bg:      #F7F8FC;
	--color-surface: #FFFFFF;
	--dark:          #0F1729;
	--text:          #1E293B;
	--text-muted:    #64748B;
	--border:        #E2E8F0;
	--border-focus:  #2A52C9;

	--shadow-xs: 0 1px 2px rgba(0,0,0,.06);
	--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.05);
	--shadow:    0 2px 8px rgba(0,0,0,.08), 0 8px 24px rgba(0,0,0,.06);
	--shadow-md: 0 4px 16px rgba(0,0,0,.10), 0 12px 40px rgba(0,0,0,.07);
	--shadow-lg: 0 8px 32px rgba(0,0,0,.12), 0 24px 64px rgba(0,0,0,.08);

	--radius-sm:  6px;
	--radius:     10px;
	--radius-md:  14px;
	--radius-lg:  20px;
	--radius-xl:  28px;
	--radius-full: 9999px;

	--font:         'Inter', system-ui, -apple-system, sans-serif;
	--font-heading: 'Poppins', 'Inter', system-ui, sans-serif;

	--transition:     0.2s ease;
	--transition-med: 0.35s cubic-bezier(0.4,0,0.2,1);

	--nav-height:   72px;
	--max-width:    1240px;
	--sidebar-w:    320px;
	--gap:          32px;
}

/* ── Reset ───────────────────────────────────────────────────────────────── */
*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	font-size: 16px;
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	font-family: var(--font);
	font-size: 1rem;
	line-height: 1.7;
	color: var(--text);
	background-color: var(--color-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Prevent body scroll while mobile nav drawer is open */
body.nav-open { overflow: hidden; }

img, video, svg {
	display: block;
	max-width: 100%;
}

a {
	color: var(--blue);
	text-decoration: none;
	transition: color var(--transition);
}
a:hover { color: var(--blue-mid); }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	font-weight: 700;
	line-height: 1.25;
	color: var(--dark);
}

p { margin-bottom: 1em; }
p:last-child { margin-bottom: 0; }

ul, ol { padding-left: 1.5rem; }
li { margin-bottom: .35em; }

input, textarea, select, button {
	font-family: inherit;
	font-size: inherit;
}

/* ── Layout ──────────────────────────────────────────────────────────────── */
.container {
	width: min(100%, var(--max-width));
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 40px);
}

.layout-with-sidebar {
	display: grid;
	grid-template-columns: 1fr var(--sidebar-w);
	gap: var(--gap);
	align-items: start;
	padding-block: 48px 64px;
}

.layout-main { min-width: 0; }

/* ── Site wrapper ────────────────────────────────────────────────────────── */
/* overflow-x: clip prevents any child from creating a horizontal scrollbar
   without creating a new scroll container (unlike hidden), so position:sticky
   on the header still works correctly in all browsers including iOS Safari. */
.site { display: flex; flex-direction: column; min-height: 100vh; overflow-x: clip; }
.site-content { flex: 1; }

/* ── Header ──────────────────────────────────────────────────────────────── */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	height: var(--nav-height);
	background: var(--white);
	border-bottom: 1px solid var(--border);
	transition: box-shadow var(--transition), transform var(--transition-med);
}

.site-header.is-scrolled {
	box-shadow: var(--shadow-md);
}


.header__inner {
	height: 100%;
	display: flex;
	align-items: center;
	gap: 24px;
}

/* Brand */
.header__brand {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
	margin-right: auto;
}

.header__logo img {
	width: 48px;
	height: 48px;
	object-fit: contain;
}

.header__site-name a {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
}

.header__title {
	font-family: var(--font-heading);
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--blue);
	line-height: 1.2;
	white-space: nowrap;
}

.header__tagline {
	font-size: .72rem;
	color: var(--text-muted);
	font-weight: 400;
	letter-spacing: .01em;
}

/* Primary nav */
.nav { display: flex; }

.nav__list {
	display: flex;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 2px;
}

.nav__list > li { position: relative; }

.nav__link {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 8px 14px;
	font-size: .875rem;
	font-weight: 500;
	color: var(--text);
	border-radius: var(--radius-sm);
	transition: color var(--transition), background var(--transition);
	white-space: nowrap;
	text-decoration: none;
}

.nav__link:hover,
.nav__list > li:hover > .nav__link {
	color: var(--blue);
	background: var(--blue-pale);
}

.nav__link.is-active {
	color: var(--blue);
	font-weight: 600;
}

.nav__chevron {
	transition: transform var(--transition);
	flex-shrink: 0;
	opacity: .6;
}

/* ── Dropdown shared base ────────────────────────────────────── */
.nav__dropdown {
	position: absolute;
	min-width: 200px;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-md);
	list-style: none;
	padding: 6px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--transition), transform var(--transition);
	z-index: 200;
}

/* Level 1 — drops BELOW the top nav item */
.nav__list > li > .nav__dropdown {
	top: calc(100% + 6px);
	left: 0;
	transform: translateY(-8px);
}
.nav__list > li.dropdown-open > .nav__dropdown {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
.nav__list > li.dropdown-open > .nav__link .nav__chevron {
	transform: rotate(180deg);
	opacity: 1;
}

/* Level 2+ — flies to the RIGHT of the sub-item */
.nav__dropdown > li {
	position: relative;
	margin: 0;
}
.nav__dropdown > li > .nav__link .nav__chevron {
	transform: rotate(-90deg);
}
.nav__dropdown > li > .nav__dropdown {
	top: -6px;
	left: calc(100% + 4px);
	transform: translateX(-8px);
	z-index: 201;
}
.nav__dropdown > li.dropdown-open > .nav__dropdown {
	opacity: 1;
	pointer-events: auto;
	transform: translateX(0);
}
.nav__dropdown > li.dropdown-open > .nav__link .nav__chevron {
	transform: rotate(-90deg);
	opacity: 1;
}

.nav__link--sub {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 14px;
	font-size: .85rem;
	font-weight: 400;
	color: var(--text);
	border-radius: var(--radius-sm);
	white-space: nowrap;
	transition: color var(--transition), background var(--transition);
}

.nav__link--sub:hover {
	color: var(--blue);
	background: var(--blue-pale);
}

/* Nav toggle (hamburger) */
.nav-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 42px;
	height: 42px;
	padding: 8px;
	background: transparent;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	cursor: pointer;
	flex-shrink: 0;
	transition: background var(--transition);
}
.nav-toggle:hover { background: var(--blue-pale); }

.nav-toggle__bar {
	width: 100%;
	height: 2px;
	background: var(--text);
	border-radius: 2px;
	transition: transform var(--transition), opacity var(--transition);
}

.nav-toggle.is-active .nav-toggle__bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
.nav-toggle.is-active .nav-toggle__bar:nth-child(2) {
	opacity: 0;
}
.nav-toggle.is-active .nav-toggle__bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

/* ── Hero ─────────────────────────────────────────────────────────────────── */
.hero {
	position: relative;
	overflow: hidden;
	min-height: min(70vh, 640px);
	display: flex;
	align-items: center;
	/* Default: pure gradient, no photo */
	background-image: linear-gradient(135deg, var(--blue-dark) 0%, var(--blue) 50%, #1A4FA0 100%);
	background-size: cover;
	background-position: center;
	background-color: var(--blue-dark);
}

/* When an image is set via Customizer, the --hero-bg variable is applied */
.hero.hero--photo {
	background-image: var(--hero-bg);
}

/* Default overlay: strong blue tint for the gradient background */
.hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		135deg,
		rgba(10, 25, 80, .88) 0%,
		rgba(27, 58, 143, .72) 60%,
		rgba(18, 35, 90, .60) 100%
	);
}

/* Photo overlay: strong dark vignette so white text is always readable */
.hero.hero--photo .hero__overlay {
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, .42) 0%,
		rgba(0, 0, 0, .68) 100%
	);
}

.hero__content {
	position: relative;
	z-index: 2;
	padding-block: 80px 100px;
	max-width: 720px;
}

.hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	background: rgba(255,255,255,.15);
	border: 1px solid rgba(255,255,255,.30);
	border-radius: var(--radius-full);
	color: #fff;
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-bottom: 20px;
	backdrop-filter: blur(8px);
}

.hero__title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 900;
	color: #fff;
	line-height: 1.1;
	margin-bottom: 20px;
	letter-spacing: -.02em;
	text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

.hero__subtitle {
	font-size: clamp(1rem, 2vw, 1.2rem);
	color: rgba(255,255,255,.88);
	margin-bottom: 36px;
	font-weight: 300;
	max-width: 560px;
	text-shadow: 0 1px 6px rgba(0,0,0,.3);
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* Wave */
.hero__wave {
	position: absolute;
	bottom: -1px;
	left: 0;
	right: 0;
	line-height: 0;
	z-index: 3;
}
.hero__wave svg {
	width: 100%;
	display: block;
}

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--font);
	font-weight: 600;
	font-size: .9rem;
	line-height: 1;
	border-radius: var(--radius-sm);
	padding: 11px 22px;
	cursor: pointer;
	text-decoration: none;
	border: 2px solid transparent;
	transition: background var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition), transform var(--transition);
	white-space: nowrap;
}
.btn:active { transform: translateY(1px); }

.btn--primary {
	background: var(--red);
	color: var(--white);
	border-color: var(--red);
}
.btn--primary:hover {
	background: var(--red-dark);
	border-color: var(--red-dark);
	color: var(--white);
	box-shadow: 0 4px 16px rgba(212,43,43,.35);
}

.btn--blue {
	background: var(--blue);
	color: var(--white);
	border-color: var(--blue);
}
.btn--blue:hover {
	background: var(--blue-dark);
	border-color: var(--blue-dark);
	color: var(--white);
}

.btn--ghost {
	background: transparent;
	color: var(--white);
	border-color: rgba(255,255,255,.5);
}
.btn--ghost:hover {
	background: rgba(255,255,255,.1);
	border-color: rgba(255,255,255,.8);
	color: var(--white);
}

.btn--outline {
	background: transparent;
	color: var(--blue);
	border-color: var(--blue);
}
.btn--outline:hover {
	background: var(--blue);
	color: var(--white);
}

.btn--sm { padding: 7px 16px; font-size: .82rem; }
.btn--lg { padding: 14px 28px; font-size: 1rem; }

/* ── Cards ───────────────────────────────────────────────────────────────── */
.post-card {
	background: var(--color-surface);
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	border: 1px solid var(--border);
	transition: box-shadow var(--transition-med), transform var(--transition-med);
	display: flex;
	flex-direction: column;
}
.post-card:hover {
	box-shadow: var(--shadow-md);
	transform: translateY(-3px);
}

.post-card__image-wrap {
	overflow: hidden;
	aspect-ratio: 16/10;
	background: var(--blue-pale);
}
.post-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--transition-med);
}
.post-card:hover .post-card__image {
	transform: scale(1.04);
}

.post-card__body {
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.post-card__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.post-cat {
	display: inline-block;
	padding: 4px 10px;
	background: var(--blue-pale);
	color: var(--blue);
	border-radius: var(--radius-full);
	font-size: .75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .05em;
	text-decoration: none;
	transition: background var(--transition), color var(--transition);
}
.post-cat:hover {
	background: var(--blue);
	color: var(--white);
}

.post-card__date {
	font-size: .78rem;
	color: var(--text-muted);
}

.post-card__title {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
	margin: 0;
}
.post-card__title a {
	color: var(--dark);
	text-decoration: none;
	transition: color var(--transition);
}
.post-card__title a:hover { color: var(--blue); }

.post-card__excerpt {
	font-size: .88rem;
	color: var(--text-muted);
	line-height: 1.6;
	flex: 1;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.post-card__readmore {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: .82rem;
	font-weight: 600;
	color: var(--blue);
	text-decoration: none;
	margin-top: 4px;
	min-height: 44px;
	transition: gap var(--transition), color var(--transition);
}
.post-card__readmore:hover {
	gap: 8px;
	color: var(--blue-mid);
}

/* Posts grid */
.posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 24px;
	margin-bottom: 40px;
}

/* ── Section header ──────────────────────────────────────────────────────── */
.section-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 28px;
	flex-wrap: wrap;
}

.section-header__title {
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--dark);
}

.section-header__link {
	font-size: .85rem;
	font-weight: 600;
	color: var(--blue);
}
.section-header__link:hover { color: var(--blue-mid); }

/* ── Sidebar ─────────────────────────────────────────────────────────────── */
.sidebar {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.widget {
	background: var(--color-surface);
	border-radius: var(--radius-md);
	border: 1px solid var(--border);
	padding: 24px;
	box-shadow: var(--shadow-xs);
}

.widget__title {
	font-size: .875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--blue);
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--blue-pale);
	display: flex;
	align-items: center;
	gap: 8px;
}
.widget__title::before {
	content: '';
	display: block;
	width: 3px;
	height: 16px;
	background: var(--red);
	border-radius: 2px;
}

.widget ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.widget ul li {
	padding: 6px 0;
	border-bottom: 1px solid var(--border);
	font-size: .88rem;
}
.widget ul li:last-child { border-bottom: none; }
.widget ul li a {
	color: var(--text);
	text-decoration: none;
	transition: color var(--transition);
}
.widget ul li a:hover { color: var(--blue); }

/* Search widget */
.widget_search .search-form {
	display: flex;
	gap: 8px;
}
.widget_search input[type="search"] {
	flex: 1;
	padding: 9px 14px;
	border: 1.5px solid var(--border);
	border-radius: var(--radius-sm);
	font-size: .875rem;
	transition: border-color var(--transition);
}
.widget_search input[type="search"]:focus {
	outline: none;
	border-color: var(--border-focus);
}
.widget_search button[type="submit"] {
	padding: 9px 16px;
	background: var(--blue);
	color: white;
	border: none;
	border-radius: var(--radius-sm);
	cursor: pointer;
	font-weight: 600;
	font-size: .875rem;
	transition: background var(--transition);
}
.widget_search button[type="submit"]:hover {
	background: var(--blue-dark);
}

/* Calendar widget */
.widget_calendar table {
	width: 100%;
	font-size: .82rem;
	border-collapse: collapse;
}
.widget_calendar th, .widget_calendar td {
	text-align: center;
	padding: 4px;
}
.widget_calendar caption {
	font-weight: 700;
	color: var(--blue);
	margin-bottom: 8px;
	font-size: .85rem;
}
.widget_calendar #today {
	background: var(--blue);
	color: white;
	border-radius: 50%;
}

/* ── Single Post ─────────────────────────────────────────────────────────── */
.single-post {
	background: var(--color-surface);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	border: 1px solid var(--border);
}

.single-post__header {
	padding: 40px 40px 0;
}

.single-post__meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}

.post-meta__date {
	font-size: .8rem;
	color: var(--text-muted);
}

.single-post__title {
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	font-weight: 800;
	line-height: 1.2;
	color: var(--dark);
	margin-bottom: 16px;
	letter-spacing: -.02em;
}

.single-post__author-row {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: .85rem;
	color: var(--text-muted);
	padding-bottom: 24px;
}
.author-avatar {
	border-radius: 50%;
	display: block;
}

.single-post__thumbnail {
	width: 100%;
	aspect-ratio: 2/1;
	overflow: hidden;
}
.single-post__thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single-post__content {
	padding: 40px;
}

.single-post__footer {
	padding: 0 40px 32px;
}

/* Entry content styling */
.entry-content {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--text);
}
.entry-content h2 { font-size: 1.5rem; margin: 2em 0 .75em; }
.entry-content h3 { font-size: 1.25rem; margin: 1.75em 0 .6em; }
.entry-content h4 { font-size: 1.05rem; margin: 1.5em 0 .5em; }
.entry-content p  { margin-bottom: 1.25em; }
.entry-content ul, .entry-content ol { margin-bottom: 1.25em; }
.entry-content li { margin-bottom: .5em; }
.entry-content blockquote {
	border-left: 4px solid var(--blue);
	padding: 16px 20px;
	margin: 1.5em 0;
	background: var(--blue-pale);
	border-radius: 0 var(--radius) var(--radius) 0;
	font-style: italic;
	color: var(--blue-dark);
}
.entry-content img {
	border-radius: var(--radius);
	max-width: 100%;
	height: auto;
}
.entry-content a {
	color: var(--blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.entry-content code {
	background: var(--color-bg);
	border: 1px solid var(--border);
	border-radius: 4px;
	padding: 2px 6px;
	font-size: .88em;
}
.entry-content pre {
	background: var(--dark);
	color: #e2e8f0;
	border-radius: var(--radius);
	padding: 20px;
	overflow-x: auto;
	margin-bottom: 1.5em;
}
.entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.5em;
	font-size: .9em;
}
.entry-content th, .entry-content td {
	padding: 10px 14px;
	border: 1px solid var(--border);
	text-align: left;
}
.entry-content th {
	background: var(--blue-pale);
	font-weight: 600;
	color: var(--blue-dark);
}

/* Tags */
.post-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.tag-pill {
	display: inline-block;
	padding: 4px 12px;
	background: var(--color-bg);
	border: 1px solid var(--border);
	border-radius: var(--radius-full);
	font-size: .78rem;
	color: var(--text-muted);
	text-decoration: none;
	transition: background var(--transition), color var(--transition), border-color var(--transition);
}
.tag-pill:hover {
	background: var(--blue-pale);
	color: var(--blue);
	border-color: var(--blue);
}

/* Post navigation */
.post-navigation {
	margin-top: 40px;
}
.post-navigation__links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.post-navigation__prev,
.post-navigation__next {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px 20px;
	background: var(--color-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	text-decoration: none;
	transition: box-shadow var(--transition), border-color var(--transition);
}
.post-navigation__next { text-align: right; }
.post-navigation__prev:hover,
.post-navigation__next:hover {
	border-color: var(--blue);
	box-shadow: var(--shadow);
}
.post-navigation__label {
	font-size: .75rem;
	color: var(--text-muted);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .05em;
}
.post-navigation__title {
	font-size: .9rem;
	font-weight: 600;
	color: var(--dark);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ── Page article ────────────────────────────────────────────────────────── */
.page-article {
	background: var(--color-surface);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	border: 1px solid var(--border);
}
.page-article__header {
	padding: 40px 40px 24px;
}
.page-article__title {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 800;
	color: var(--dark);
	margin-bottom: 0;
	letter-spacing: -.02em;
}
.page-article__thumbnail {
	aspect-ratio: 21/9;
	overflow: hidden;
}
.page-article__thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page-article__content { padding: 40px; }
.page-article--fullwidth .page-article__header { padding-top: 48px; }

/* Page title bar */
.page-title-bar {
	margin-bottom: 32px;
}
.page-title {
	font-size: clamp(1.5rem, 3.5vw, 2.25rem);
	font-weight: 800;
	color: var(--dark);
}

/* ── Page hero band (used in contact etc.) ───────────────────────────────── */
.page-hero {
	padding: 56px 0 80px;
	position: relative;
	overflow: hidden;
}
.page-hero--blue {
	background: linear-gradient(135deg, var(--blue-dark) 0%, var(--blue) 100%);
}
.page-hero--blue .page-hero__title {
	color: var(--white);
}
.page-hero__title {
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 800;
	letter-spacing: -.02em;
}
.page-hero__label {
	display: inline-flex;
	align-items: center;
	padding: 4px 14px;
	border-radius: var(--radius-full);
	background: var(--red);
	color: var(--white);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	margin-bottom: 16px;
}
.page-hero--blue .page-hero__sub {
	color: rgba(255, 255, 255, 0.85);
	max-width: 600px;
	margin-top: 14px;
	font-size: 1rem;
	line-height: 1.65;
}
.page-hero__wave {
	position: absolute;
	bottom: -1px;
	left: 0;
	right: 0;
	line-height: 0;
	z-index: 2;
}
.page-hero__wave svg { width: 100%; }

/* ── Section page ────────────────────────────────────────────────────────── */
.section-hero {
	padding: 60px 0 50px;
}
.section-hero__inner {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.section-hero__badge {
	display: inline-flex;
	align-items: center;
	padding: 5px 16px;
	border-radius: var(--radius-full);
	color: var(--white);
	font-weight: 700;
	font-size: .8rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	width: fit-content;
}
.section-hero__title {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 900;
	color: var(--dark);
	letter-spacing: -.02em;
}
.section-hero__ages {
	font-size: 1rem;
	color: var(--text-muted);
}

/* ── Card utility (used across templates) ────────────────────────────────── */
.card {
	background: var(--color-surface);
	border-radius: var(--radius-md);
	border: 1px solid var(--border);
	box-shadow: var(--shadow-xs);
}
.card--padded { padding: 32px; }

.card__heading {
	font-size: 1rem;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--border);
}

.section-title {
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--dark);
	margin-bottom: 24px;
}

/* ── Contact page ────────────────────────────────────────────────────────── */
.contact-page__body {
	padding-block: 48px 72px;
}

.contact-section {
	margin-bottom: 52px;
}
.contact-section:last-child { margin-bottom: 0; }

.contact-section__title {
	font-size: .85rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--dark);
	margin-bottom: 20px;
	padding-left: 12px;
	border-left: 3px solid var(--red);
}

.contact-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
}

/* Each card is an <a> — full card is the mailto link */
.contact-card {
	display: flex;
	flex-direction: column;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	text-decoration: none;
	box-shadow: var(--shadow-sm);
	transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition);
}
.contact-card:hover {
	box-shadow: var(--shadow-md);
	transform: translateY(-2px);
	border-color: var(--cc-color, var(--blue));
}

.contact-card__avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 28px 20px 24px;
	background: var(--cc-bg, var(--blue-pale));
	color: var(--cc-color, var(--blue));
}

.contact-card__body {
	padding: 16px 20px 12px;
	flex: 1;
}

.contact-card__name {
	font-size: 1rem;
	font-weight: 700;
	color: var(--text);
	margin: 0 0 4px;
}

.contact-card__email {
	font-size: .78rem;
	color: var(--text-muted);
	margin: 0;
	word-break: break-all;
}

.contact-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 20px 14px;
	font-size: .8rem;
	font-weight: 600;
	color: var(--cc-color, var(--blue));
	border-top: 1px solid var(--border);
}

@media (max-width: 479px) {
	.contact-grid { grid-template-columns: 1fr; }
}

/* ── Footer ──────────────────────────────────────────────────────────────── */
.site-footer { margin-top: auto; }

.footer__main {
	background: var(--dark);
	padding: 64px 0 48px;
}

.footer__grid {
	display: grid;
	grid-template-columns: 1.5fr repeat(3, 1fr);
	gap: 40px;
}

.footer__logo { margin-bottom: 16px; }
.footer__logo img {
	width: 56px;
	height: 56px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.footer__tagline {
	font-size: .9rem;
	color: rgba(255,255,255,.7);
	line-height: 1.5;
	margin-bottom: 20px;
}

.footer__contact-info {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.footer__contact-link {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: .85rem;
	color: rgba(255,255,255,.65);
	text-decoration: none;
	transition: color var(--transition);
}
.footer__contact-link:hover { color: var(--white); }
.footer__contact-link svg { flex-shrink: 0; color: var(--red); }

.footer__iban {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: .82rem;
	color: rgba(255,255,255,.5);
	font-family: monospace;
	margin: 0;
}
.footer__iban svg { flex-shrink: 0; color: var(--blue-mid); }

.footer__widget-col .widget {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
}
.footer__widget-col .widget__title {
	color: rgba(255,255,255,.9);
	border-bottom-color: rgba(255,255,255,.1);
}
.footer__widget-col .widget__title::before { background: var(--red); }
.footer__widget-col .widget ul li {
	border-bottom-color: rgba(255,255,255,.07);
}
.footer__widget-col .widget ul li a {
	color: rgba(255,255,255,.6);
}
.footer__widget-col .widget ul li a:hover { color: var(--white); }
.footer__widget-col .widget p {
	font-size: .85rem;
	color: rgba(255,255,255,.6);
}

.footer__bottom {
	background: var(--dark);
	padding: 18px 0;
	border-top: 1px solid rgba(255,255,255,.07);
}

.footer__bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.footer__copy {
	font-size: .8rem;
	color: rgba(255,255,255,.4);
	margin: 0;
}
.footer__copy a {
	color: rgba(255,255,255,.6);
}
.footer__copy a:hover { color: var(--white); }

.footer__nav-list {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 20px;
}
.footer__nav-list a {
	font-size: .8rem;
	color: rgba(255,255,255,.45);
	text-decoration: none;
	transition: color var(--transition);
}
.footer__nav-list a:hover { color: rgba(255,255,255,.85); }

.footer__credit {
	font-size: .78rem;
	color: rgba(255,255,255,.3);
	margin: 0;
}
.footer__credit a { color: rgba(255,255,255,.4); }

/* ── Pagination ──────────────────────────────────────────────────────────── */
.pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 40px;
}
.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 12px;
	border-radius: var(--radius-sm);
	font-size: .875rem;
	font-weight: 500;
	color: var(--text);
	background: var(--color-surface);
	border: 1px solid var(--border);
	text-decoration: none;
	transition: background var(--transition), color var(--transition), border-color var(--transition);
}
.pagination .page-numbers:hover {
	background: var(--blue-pale);
	color: var(--blue);
	border-color: var(--blue);
}
.pagination .page-numbers.current {
	background: var(--blue);
	color: var(--white);
	border-color: var(--blue);
}

/* ── Search form ─────────────────────────────────────────────────────────── */
.search-form { display: flex; gap: 8px; }
.search-form label { flex: 1; }
.search-form input[type="search"] {
	width: 100%;
	padding: 10px 16px;
	border: 1.5px solid var(--border);
	border-radius: var(--radius-sm);
	font-size: .9rem;
	background: var(--white);
	transition: border-color var(--transition);
}
.search-form input[type="search"]:focus {
	outline: none;
	border-color: var(--border-focus);
}
.search-form button {
	padding: 10px 18px;
	background: var(--blue);
	color: white;
	border: none;
	border-radius: var(--radius-sm);
	cursor: pointer;
	font-weight: 600;
	font-size: .875rem;
	transition: background var(--transition);
	white-space: nowrap;
}
.search-form button:hover { background: var(--blue-dark); }

.search-term { color: var(--blue); font-style: italic; }
.search-refine { margin-bottom: 32px; }

/* ── 404 ─────────────────────────────────────────────────────────────────── */
.error-404 {
	display: flex;
	justify-content: center;
	padding: 80px 0;
}
.error-404__inner {
	text-align: center;
	max-width: 480px;
}
.error-404__badge {
	font-family: var(--font-heading);
	font-size: 6rem;
	font-weight: 900;
	color: var(--blue);
	line-height: 1;
	margin-bottom: 16px;
	background: linear-gradient(135deg, var(--blue) 40%, var(--red) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.error-404__title {
	font-size: 1.75rem;
	font-weight: 800;
	margin-bottom: 12px;
}
.error-404__description {
	color: var(--text-muted);
	margin-bottom: 28px;
}
.error-404__actions { margin-bottom: 32px; }
.error-404__search p {
	font-size: .9rem;
	color: var(--text-muted);
	margin-bottom: 12px;
}

/* ── No results ──────────────────────────────────────────────────────────── */
.no-results {
	text-align: center;
	padding: 64px 32px;
	background: var(--color-surface);
	border-radius: var(--radius-lg);
	border: 1px solid var(--border);
}
.no-results__icon { color: var(--text-muted); margin: 0 auto 20px; }
.no-results__title { font-size: 1.25rem; font-weight: 700; margin-bottom: 8px; }
.no-results__text { color: var(--text-muted); margin-bottom: 24px; }

/* ── Comments ────────────────────────────────────────────────────────────── */
.comments-section {
	margin-top: 40px;
	padding: 32px 40px;
	background: var(--color-surface);
	border-radius: var(--radius-lg);
	border: 1px solid var(--border);
}
.comments-title {
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 24px;
}
.comment-list {
	list-style: none;
	padding: 0;
}
.comment-list .comment {
	padding: 20px 0;
	border-bottom: 1px solid var(--border);
}
.comment-list .comment:last-child { border-bottom: none; }

/* WP comment form */
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1.5px solid var(--border);
	border-radius: var(--radius-sm);
	font-size: .9rem;
	margin-top: 4px;
	transition: border-color var(--transition);
}
.comment-form input:focus,
.comment-form textarea:focus {
	outline: none;
	border-color: var(--border-focus);
}
.comment-form input[type="submit"] {
	padding: 11px 24px;
	background: var(--blue);
	color: var(--white);
	border: none;
	border-radius: var(--radius-sm);
	font-size: .9rem;
	font-weight: 600;
	cursor: pointer;
	transition: background var(--transition);
	margin-top: 8px;
}
.comment-form input[type="submit"]:hover { background: var(--blue-dark); }

/* ── Scroll animations ───────────────────────────────────────────────────── */
.fade-up {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.5s ease, transform 0.5s ease;
}
.fade-up.in-view {
	opacity: 1;
	transform: none;
}

/* ── Post list item (alternate layout) ──────────────────────────────────── */
.post-list-item {
	background: var(--color-surface);
	border-radius: var(--radius-md);
	border: 1px solid var(--border);
	margin-bottom: 20px;
	overflow: hidden;
	transition: box-shadow var(--transition-med);
}
.post-list-item:hover { box-shadow: var(--shadow); }

.post-list-item__inner {
	display: flex;
	gap: 24px;
}
.post-list-item__image-link {
	flex-shrink: 0;
	display: block;
	width: 200px;
}
.post-list-item__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 4/3;
}
.post-list-item__content {
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.post-list-item__meta {
	display: flex;
	gap: 10px;
	align-items: center;
	font-size: .78rem;
	color: var(--text-muted);
}
.post-list-item__title {
	font-size: 1.1rem;
	font-weight: 700;
}
.post-list-item__title a { color: var(--dark); }
.post-list-item__title a:hover { color: var(--blue); }
.post-list-item__excerpt {
	font-size: .88rem;
	color: var(--text-muted);
	flex: 1;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
	.footer__grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 991px) {
	/* Nav becomes mobile */
	.nav-toggle { display: flex; }

	.nav {
		position: fixed;
		top: var(--nav-height);
		left: 0;
		right: 0;
		bottom: 0;
		background: var(--white);
		padding: 24px;
		overflow-y: auto;
		z-index: 99;
		flex-direction: column;
		/* Hide: invisible, non-interactive, no transform so no overflow */
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity var(--transition-med), visibility var(--transition-med);
	}
	.nav.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		box-shadow: var(--shadow-lg);
	}

	.nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
	}

	.nav__link {
		padding: 12px 16px;
		font-size: 1rem;
		justify-content: space-between;
	}

	.nav__dropdown {
		position: static;
		transform: none !important;
		opacity: 1;
		pointer-events: auto;
		box-shadow: none;
		border: none;
		background: var(--blue-pale);
		border-radius: var(--radius-sm);
		padding: 4px 0 4px 12px;
		display: none;
	}
	/* Reset sub-item chevron to default (down) on mobile */
	.nav__dropdown > li > .nav__link .nav__chevron { transform: none; }
	.has-dropdown.dropdown-open > .nav__dropdown { display: block; }
	.has-dropdown.dropdown-open > .nav__link .nav__chevron { transform: rotate(180deg); }

	.layout-with-sidebar {
		grid-template-columns: 1fr;
	}
	.sidebar { order: 2; }

	.contact-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	:root {
		--nav-height: 64px;
	}

	.posts-grid {
		grid-template-columns: 1fr;
	}

	.footer__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.footer__bottom-inner {
		flex-direction: column;
		text-align: center;
		gap: 8px;
	}

	.post-navigation__links {
		grid-template-columns: 1fr;
	}

	.single-post__header,
	.single-post__content,
	.single-post__footer {
		padding-left: 24px;
		padding-right: 24px;
	}

	.page-article__header { padding: 28px 24px 20px; }
	.page-article__content { padding: 28px 24px; }

	.hero__content { padding-block: 60px 80px; }

	.post-list-item__inner { flex-direction: column; }
	.post-list-item__image-link { width: 100%; }
	.post-list-item__image { aspect-ratio: 16/9; }

	.form-row { flex-direction: column; }

	.comments-section { padding: 24px; }
}

@media (max-width: 479px) {
	.hero__actions { flex-direction: column; }
	.btn--lg { width: 100%; justify-content: center; }
}

/* ── Utility classes ─────────────────────────────────────────────────────── */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

.text-center { text-align: center; }
.text-muted  { color: var(--text-muted); }

/* ── WP block alignment ──────────────────────────────────────────────────── */
.alignleft  { float: left; margin: 0 1.5em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.5em; }
.aligncenter { margin-left: auto; margin-right: auto; display: block; }
.alignwide {
	max-width: calc(var(--max-width) + 80px);
	margin-left: auto;
	margin-right: auto;
}
.alignfull {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

/* ── Focus styles (accessibility) ───────────────────────────────────────── */
:focus-visible {
	outline: 3px solid var(--blue);
	outline-offset: 2px;
	border-radius: 2px;
}

/* ── Selection ───────────────────────────────────────────────────────────── */
::selection {
	background: var(--blue);
	color: var(--white);
}

/* ═══════════════════════════════════════════════════════════════════════════
   HOMEPAGE ADDITIONS
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Stats bar ───────────────────────────────────────────────────────────── */
.stats-bar {
	background: var(--white);
	border-bottom: 1px solid var(--border);
	position: relative;
	z-index: 1;
}

.stats-bar__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	divide-x: 1px solid var(--border);
}

.stats-bar__item {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 24px 32px;
	border-right: 1px solid var(--border);
	transition: background var(--transition);
}
.stats-bar__item:last-child { border-right: none; }
.stats-bar__item:hover { background: var(--color-bg); }

.stats-bar__icon {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--blue-pale);
	border-radius: var(--radius);
	color: var(--blue);
	flex-shrink: 0;
}
.stats-bar__icon svg { width: 20px; height: 20px; }

.stats-bar__value {
	font-family: var(--font-heading);
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--dark);
	line-height: 1;
	margin-bottom: 2px;
}

.stats-bar__label {
	font-size: .78rem;
	font-weight: 500;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: .06em;
}

/* ── Takken section ──────────────────────────────────────────────────────── */
.takken-section {
	padding: 80px 0 88px;
	background: var(--color-bg);
	scroll-margin-top: var(--nav-height);
}

.takken-section__header {
	text-align: center;
	margin-bottom: 52px;
}

.section-eyebrow {
	display: inline-block;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--red);
	margin-bottom: 10px;
}

.takken-section__title {
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 900;
	color: var(--dark);
	margin-bottom: 14px;
	letter-spacing: -.02em;
}

.takken-section__sub {
	font-size: 1.05rem;
	color: var(--text-muted);
	max-width: 560px;
	margin: 0 auto;
}

/* Takken grid */
.takken-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.tak-card {
	display: flex;
	flex-direction: column;
	background: var(--color-surface);
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 2px solid transparent;
	box-shadow: var(--shadow-sm);
	text-decoration: none;
	transition: box-shadow var(--transition-med), transform var(--transition-med), border-color var(--transition-med);
	position: relative;
}
.tak-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: var(--tak-color);
	border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.tak-card:hover {
	box-shadow: var(--shadow-lg);
	transform: translateY(-5px);
	border-color: var(--tak-color);
}

.tak-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 24px 24px 12px;
}

.tak-card__icon-wrap {
	width: 64px;
	height: 64px;
	border-radius: var(--radius-md);
	background: var(--tak-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--tak-color);
	flex-shrink: 0;
}

.tak-card__logo {
	width: 48px;
	height: 48px;
	object-fit: contain;
}

.tak-card__age {
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--tak-color);
	background: var(--tak-bg);
	padding: 4px 10px;
	border-radius: var(--radius-full);
	white-space: nowrap;
}

.tak-card__body {
	padding: 4px 24px 20px;
	flex: 1;
}

.tak-card__name {
	font-size: 1.3rem;
	font-weight: 800;
	color: var(--dark);
	margin-bottom: 8px;
	letter-spacing: -.01em;
}

.tak-card__desc {
	font-size: .86rem;
	color: var(--text-muted);
	line-height: 1.55;
	margin: 0;
}

.tak-card__footer {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 14px 24px;
	font-size: .82rem;
	font-weight: 600;
	color: var(--tak-color);
	border-top: 1px solid var(--border);
	transition: gap var(--transition);
}
.tak-card:hover .tak-card__footer { gap: 10px; }

/* Homepage news area background */
.fp-news-section {
	background: var(--white);
	padding-top: 0;
}
.fp-news-section .layout-with-sidebar {
	padding-top: 56px;
}

.section-header__eyebrow {
	display: block;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--red);
	margin-bottom: 6px;
}

.section-header__label-group { flex: 1; }

.news-more-link {
	display: flex;
	justify-content: center;
	margin-top: 16px;
}

/* ── CTA band ────────────────────────────────────────────────────────────── */
.cta-band {
	position: relative;
	overflow: hidden;
	padding: 80px 0 84px;
	background: linear-gradient(135deg, var(--blue-dark) 0%, var(--blue) 55%, #1A4FA0 100%);
}

/* Photo background variant */
.cta-band--photo {
	background-image: var(--cta-bg);
	background-size: cover;
	background-position: center;
}
.cta-band--photo::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(10, 22, 60, 0.62);
	z-index: 0;
}
.cta-band--photo .cta-band__bg-shapes { display: none; }

.cta-band__bg-shapes { position: absolute; inset: 0; pointer-events: none; }

.cta-band__shape {
	position: absolute;
	border-radius: 50%;
	opacity: .08;
}
.cta-band__shape--1 {
	width: 400px; height: 400px;
	background: var(--white);
	top: -100px; right: -100px;
}
.cta-band__shape--2 {
	width: 300px; height: 300px;
	background: var(--red);
	bottom: -80px; left: 10%;
	opacity: .15;
}
.cta-band__shape--3 {
	width: 200px; height: 200px;
	background: var(--white);
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
}

.cta-band__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.cta-band__icon {
	margin-bottom: 20px;
	opacity: .9;
}

.cta-band__title {
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 900;
	color: var(--white);
	margin-bottom: 14px;
	letter-spacing: -.02em;
}

.cta-band__sub {
	font-size: 1.05rem;
	color: rgba(255,255,255,.75);
	max-width: 520px;
	margin: 0 auto 36px;
}

.cta-band__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.btn--white {
	background: var(--white);
	color: var(--blue);
	border-color: var(--white);
}
.btn--white:hover {
	background: rgba(255,255,255,.9);
	color: var(--blue-dark);
}

.btn--ghost-white {
	background: transparent;
	color: var(--white);
	border-color: rgba(255,255,255,.4);
}
.btn--ghost-white:hover {
	background: rgba(255,255,255,.12);
	border-color: rgba(255,255,255,.7);
	color: var(--white);
}

/* ═══════════════════════════════════════════════════════════════════════════
   TAKKEN PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Section hero v2 ─────────────────────────────────────────────────────── */
.section-hero-v2 {
	position: relative;
	overflow: hidden;
	background: var(--s-bg);
	padding: 64px 0 72px;
}

.section-hero-v2__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
}

.section-hero-v2__blob {
	position: absolute;
	border-radius: 50%;
	opacity: .12;
}
.section-hero-v2__blob--1 {
	width: 500px; height: 500px;
	background: var(--s-color);
	top: -150px; right: -100px;
}
.section-hero-v2__blob--2 {
	width: 280px; height: 280px;
	background: var(--s-color);
	bottom: -80px; left: 5%;
	opacity: .08;
}

.section-hero-v2__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 40px;
}

.section-hero-v2__text { flex: 1; }

.section-hero-v2__age-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 14px;
	background: var(--s-color);
	color: var(--white);
	border-radius: var(--radius-full);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.section-hero-v2__title {
	font-size: clamp(2.25rem, 5vw, 3.75rem);
	font-weight: 900;
	color: var(--s-color-dk);
	margin-bottom: 12px;
	letter-spacing: -.03em;
	line-height: 1.05;
}

.section-hero-v2__tagline {
	font-size: 1.1rem;
	color: var(--s-color-dk);
	opacity: .75;
	margin-bottom: 20px;
	font-weight: 400;
}

.section-hero-v2__meta {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.section-hero-v2__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .82rem;
	font-weight: 600;
	color: var(--s-color);
	background: rgba(0,0,0,.05);
	padding: 5px 12px;
	border-radius: var(--radius-full);
}

.section-hero-v2__icon {
	flex-shrink: 0;
	width: 140px;
	height: 140px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--s-bg-dark);
	border-radius: 50%;
	color: var(--s-color);
	box-shadow: 0 0 0 8px var(--s-bg), 0 0 0 16px var(--s-bg-dark);
}

.section-hero-v2__logo {
	width: 104px;
	height: 104px;
	object-fit: contain;
}

.section-hero-v2__wave {
	position: absolute;
	bottom: -1px;
	left: 0; right: 0;
	line-height: 0;
	z-index: 2;
}
.section-hero-v2__wave svg { width: 100%; }

/* Photo hero variant — set featured image as background */
.section-hero-v2--photo {
	background-image: var(--s-hero-bg);
	background-size: cover;
	background-position: center;
}
.section-hero-v2--photo::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.52);
	z-index: 0;
}
.section-hero-v2--photo .section-hero-v2__bg { display: none; }
.section-hero-v2--photo .section-hero-v2__age-badge {
	background: rgba(255,255,255,.15);
	color: #fff;
	border-color: rgba(255,255,255,.35);
}
.section-hero-v2--photo .section-hero-v2__title  { color: #fff; }
.section-hero-v2--photo .section-hero-v2__tagline { color: rgba(255,255,255,.85); }
.section-hero-v2--photo .section-hero-v2__meta-item {
	color: rgba(255,255,255,.9);
	background: rgba(255,255,255,.15);
}
.section-hero-v2--photo .section-hero-v2__icon {
	background: rgba(255,255,255,.15);
	color: #fff;
	box-shadow: 0 0 0 8px rgba(255,255,255,.08), 0 0 0 16px rgba(255,255,255,.05);
}

/* Section page body */
.section-page__body {
	padding-block: 40px 64px;
}

/* Text content + events sidebar side by side */
.section-content-layout {
	display: flex;
	gap: 24px;
	align-items: flex-start;
	margin-bottom: 32px;
}
.section-content-layout .section-content {
	flex: 1;
	min-width: 0;
	margin-bottom: 0;
}
.tak-events-sidebar,
.section-content-layout > .upcoming-events {
	width: 280px;
	flex-shrink: 0;
}
.tak-events__empty {
	font-size: .875rem;
	color: var(--text-muted);
	margin: 0;
	padding: 4px 0;
}
@media (max-width: 768px) {
	.section-content-layout {
		flex-direction: column;
	}
	.tak-events-sidebar {
		width: 100%;
	}
}

.section-content {
	margin-bottom: 40px;
}

.section-header--sm .section-header__title {
	font-size: 1.25rem;
}

.section-news { margin-top: 8px; }

/* ── Leiding grid ────────────────────────────────────────────────────────── */
.leiding-section {
	margin-bottom: 48px;
}

.leiding-section__title {
	font-size: 1.3rem;
	font-weight: 800;
	color: var(--s-color, var(--blue));
	margin-bottom: 24px;
}

.leiding-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 20px;
}

.leider-card {
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: box-shadow var(--transition), transform var(--transition);
	text-align: center;
}

.leider-card:hover {
	box-shadow: var(--shadow-md);
	transform: translateY(-2px);
}

.leider-card__photo-wrap {
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--s-bg, var(--blue-pale));
}

.leider-card__photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}

.leider-card:hover .leider-card__photo {
	transform: scale(1.04);
}

.leider-card__photo-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--s-color, var(--blue));
	opacity: .25;
}

.leider-card__body {
	padding: 14px 12px 16px;
}

.leider-card__role {
	display: inline-block;
	font-size: .68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--s-color, var(--blue));
	background: var(--s-bg, var(--blue-pale));
	padding: 2px 9px;
	border-radius: 999px;
	margin-bottom: 6px;
}

.leider-card__totem {
	font-size: .95rem;
	font-weight: 700;
	color: var(--text);
	margin: 4px 0 2px;
	line-height: 1.3;
}

.leider-card__naam {
	font-size: .8rem;
	color: var(--text-muted);
	margin: 0;
}

@media (max-width: 479px) {
	.leiding-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* Section join CTA */
.section-join-cta {
	background: var(--s-bg);
	border-top: 1px solid rgba(0,0,0,.06);
	padding: 48px 0 52px;
}
.section-join-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}
.section-join-cta__title {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--s-color-dk, var(--dark));
	margin-bottom: 6px;
}
.section-join-cta__sub {
	font-size: .9rem;
	color: var(--text-muted);
	margin: 0;
}
.section-join-cta__actions {
	display: flex;
	gap: 12px;
	flex-shrink: 0;
}

.btn--section-primary {
	background: var(--s-color);
	color: var(--white);
	border-color: var(--s-color);
	padding: 11px 24px;
	font-weight: 600;
	font-size: .9rem;
	border-radius: var(--radius-sm);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: filter var(--transition), box-shadow var(--transition), transform var(--transition);
}
.btn--section-primary:hover {
	filter: brightness(0.9);
	box-shadow: 0 4px 16px rgba(0,0,0,.2);
	color: var(--white);
	transform: translateY(-1px);
}

.btn--section-outline {
	background: transparent;
	color: var(--s-color);
	border: 2px solid var(--s-color);
	padding: 9px 22px;
	font-weight: 600;
	font-size: .9rem;
	border-radius: var(--radius-sm);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: background var(--transition), color var(--transition);
}
.btn--section-outline:hover {
	background: var(--s-color);
	color: var(--white);
}

/* ═══════════════════════════════════════════════════════════════════════════
   INFO / GENERAL INFORMATION PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Info page header ────────────────────────────────────────────────────── */
.info-page__header {
	background: var(--white);
	border-bottom: 1px solid var(--border);
	padding: 40px 0 36px;
}

.info-page__header-inner {
	max-width: 900px;
}

/* Breadcrumb */
.breadcrumb { margin-bottom: 16px; }

.breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.breadcrumb__item {
	font-size: .8rem;
	color: var(--text-muted);
}
.breadcrumb__item a {
	color: var(--blue);
	text-decoration: none;
	font-weight: 500;
	transition: color var(--transition);
}
.breadcrumb__item a:hover { color: var(--blue-mid); text-decoration: underline; }
.breadcrumb__sep { color: var(--border); user-select: none; }
.breadcrumb__item--current { font-weight: 500; color: var(--text); }

.info-page__title {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 900;
	color: var(--dark);
	margin-bottom: 8px;
	letter-spacing: -.02em;
}

.info-page__updated {
	font-size: .78rem;
	color: var(--text-muted);
	margin: 0;
}

/* ── Info layout ─────────────────────────────────────────────────────────── */
.info-page__body {
	padding-block: 40px 72px;
}

.info-layout {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 40px;
	align-items: start;
}

/* First column: content box + any sibling sections (e.g. sympathisanten grid) */
.info-main {
	display: flex;
	flex-direction: column;
	gap: 40px;
	min-width: 0;
}

/* Main content area */
.info-content {
	background: var(--color-surface);
	border-radius: var(--radius-lg);
	border: 1px solid var(--border);
	overflow: hidden;
	box-shadow: var(--shadow-xs);
}

.info-page__thumbnail {
	width: 100%;
	aspect-ratio: 21/9;
	overflow: hidden;
}
.info-page__thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.info-content .entry-content {
	padding: 40px;
}

/* ── TOC (table of contents) ─────────────────────────────────────────────── */
.info-toc {
	position: sticky;
	top: calc(var(--nav-height) + 20px);
}

.info-toc__heading {
	display: flex !important;
	align-items: center;
	gap: 8px;
}

.info-toc__nav { margin-top: 4px; }

.info-toc__list {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.toc-link {
	display: flex;
	align-items: center;
	padding: 10px 12px;
	min-height: 44px;
	font-size: .82rem;
	color: var(--text-muted);
	text-decoration: none;
	border-radius: var(--radius-sm);
	border-left: 2px solid transparent;
	transition: color var(--transition), border-color var(--transition), background var(--transition);
	line-height: 1.4;
}
.toc-link:hover {
	color: var(--blue);
	background: var(--blue-pale);
	border-left-color: var(--blue);
}
.toc-link.is-active {
	color: var(--blue);
	font-weight: 600;
	border-left-color: var(--blue);
	background: var(--blue-pale);
}

.toc-link--sub {
	padding-left: 24px;
	font-size: .78rem;
}

/* ── Info sidebar extra widgets ──────────────────────────────────────────── */
.info-sidebar {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.info-subpages a {
	font-size: .88rem;
}

/* ── Info page callout components (for entry-content use) ────────────────── */

/* These can be added in page content as custom HTML blocks */
.callout {
	padding: 20px 24px;
	border-radius: var(--radius);
	margin-block: 1.5em;
	display: flex;
	gap: 16px;
}
.callout--info {
	background: var(--blue-pale);
	border-left: 4px solid var(--blue);
}
.callout--warning {
	background: #FFFBEB;
	border-left: 4px solid #F59E0B;
}
.callout--success {
	background: #F0FDF4;
	border-left: 4px solid #10B981;
}
.callout--danger {
	background: var(--red-pale);
	border-left: 4px solid var(--red);
}
.callout__icon {
	font-size: 1.2rem;
	line-height: 1.5;
	flex-shrink: 0;
}
.callout__body { flex: 1; }
.callout__body p { margin-bottom: .5em; }
.callout__body p:last-child { margin-bottom: 0; }
.callout__title {
	font-weight: 700;
	font-size: .9rem;
	margin-bottom: 4px;
}

/* Info page heading anchors */
.info-content .entry-content h2,
.info-content .entry-content h3 {
	scroll-margin-top: calc(var(--nav-height) + 24px);
}

/* ── Responsive additions ────────────────────────────────────────────────── */
@media (max-width: 1100px) {
	.takken-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.stats-bar__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.stats-bar__item:nth-child(2) { border-right: none; }
	.stats-bar__item:nth-child(3) { border-bottom: 1px solid var(--border); }
	.stats-bar__item:nth-child(4) { border-bottom: 1px solid var(--border); border-right: none; }
}

@media (max-width: 991px) {
	.takken-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.section-hero-v2__icon {
		width: 100px;
		height: 100px;
	}
	.section-hero-v2__logo {
		width: 76px;
		height: 76px;
	}
	.section-join-cta__inner {
		flex-direction: column;
		text-align: center;
	}
	.section-join-cta__actions { justify-content: center; }
	.info-layout {
		grid-template-columns: 1fr;
	}
	.info-toc { position: static; }
	.info-sidebar { order: -1; }
}

@media (max-width: 767px) {
	.takken-grid {
		grid-template-columns: 1fr;
	}
	.stats-bar__grid {
		grid-template-columns: 1fr 1fr;
	}
	.takken-section { padding: 56px 0 60px; }
	.cta-band { padding: 56px 0 60px; }
	.section-hero-v2 { padding: 48px 0 56px; }
	.section-hero-v2__inner { flex-direction: column; align-items: flex-start; }
	.section-hero-v2__icon { display: none; }
	.info-content .entry-content { padding: 28px 24px; }
	.info-page__header { padding: 28px 0 24px; }
}

@media (max-width: 479px) {
	.stats-bar__grid {
		grid-template-columns: 1fr;
	}
	.stats-bar__item {
		border-right: none;
		border-bottom: 1px solid var(--border);
	}
	.stats-bar__item:last-child { border-bottom: none; }
	.cta-band__actions { flex-direction: column; align-items: stretch; }
	.cta-band__actions .btn { justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   NEWS ROLL
   ═══════════════════════════════════════════════════════════════════════════ */

.fp-news-section { background: var(--white); }
.fp-news-section .layout-with-sidebar { padding-top: 56px; }

.news-roll {
	display: flex;
	flex-direction: column;
}

.news-roll__post {
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-sm);
	padding: 32px 36px;
	margin-bottom: 24px;
}
.news-roll__post:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

.news-roll__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}
.news-roll__date {
	font-size: .8rem;
	color: var(--text-muted);
}
.news-roll__author {
	font-size: .8rem;
	color: var(--text-muted);
}
.news-roll__author::before {
	content: '·';
	margin-right: 10px;
}

.news-roll__title {
	font-size: clamp(1.25rem, 2.5vw, 1.65rem);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -.02em;
	margin-bottom: 16px;
}
.news-roll__title a {
	color: var(--dark);
	text-decoration: none;
	transition: color var(--transition);
}
.news-roll__title a:hover { color: var(--blue); }

.news-roll__content {
	font-size: .95rem;
	line-height: 1.75;
	color: var(--text);
}
/* Shrink images inside news roll content so they don't fill the full column */
.news-roll__content img {
	max-width: min(100%, 560px);
	border-radius: var(--radius);
}

.news-roll__readmore {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 16px;
	font-weight: 600;
	font-size: .9rem;
	color: var(--blue);
	text-decoration: none;
	transition: gap var(--transition), color var(--transition);
}
.news-roll__readmore:hover {
	gap: 10px;
	color: var(--blue-mid);
}

.news-more-link {
	display: flex;
	justify-content: center;
	padding-top: 12px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   EVENTS CALENDAR WIDGET
   ═══════════════════════════════════════════════════════════════════════════ */

.events-cal { padding: 20px 18px 16px; }

.events-cal__nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}

.events-cal__month-label {
	font-size: .875rem;
	font-weight: 700;
	color: var(--dark);
}

.events-cal__nav-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: var(--radius-sm);
	color: var(--text-muted);
	text-decoration: none;
	transition: background var(--transition), color var(--transition);
}
.events-cal__nav-btn:hover {
	background: var(--blue-pale);
	color: var(--blue);
}

/* Weekday header row */
.events-cal__weekdays {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	margin-bottom: 4px;
}
.cal-weekday {
	text-align: center;
	font-size: .68rem;
	font-weight: 700;
	color: var(--text-muted);
	padding: 4px 0;
	text-transform: uppercase;
	letter-spacing: .04em;
}

/* Day grid */
.events-cal__grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
}

.cal-day {
	min-height: 52px;
	padding: 4px 3px 3px;
	border-radius: var(--radius-sm);
	background: transparent;
	transition: background var(--transition);
}
.cal-day--empty {
	background: transparent;
}
.cal-day--has-events {
	background: var(--color-bg);
}
.cal-day--today .cal-day__num {
	background: var(--blue);
	color: var(--white);
	border-radius: 50%;
}

.cal-day__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	font-size: .72rem;
	font-weight: 600;
	color: var(--text);
	margin-bottom: 3px;
	border-radius: 50%;
}
.cal-day--empty .cal-day__num { display: none; }

.cal-day__events {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.cal-event {
	display: block;
	font-size: .6rem;
	font-weight: 700;
	padding: 2px 5px;
	border-radius: 3px;
	color: var(--ev-color);
	background: var(--ev-bg);
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	border-left: 2px solid var(--ev-color);
	transition: filter var(--transition);
}
.cal-event:hover {
	filter: brightness(.92);
	color: var(--ev-color);
}

.cal-event-more {
	font-size: .6rem;
	color: var(--text-muted);
	padding-left: 5px;
}

/* Legend */
.events-cal__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid var(--border);
}
.events-cal__legend-item {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: .72rem;
	color: var(--text-muted);
}
.events-cal__legend-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
}

/* ── Responsive: news roll on small screens ──────────────────────────────── */
@media (max-width: 767px) {
	.news-roll__post { padding-bottom: 32px; margin-bottom: 32px; }
	.news-roll__title { font-size: 1.2rem; }
	.news-roll__content { font-size: .9rem; }
}

/* ── Upcoming events list ─────────────────────────────────────────────────── */
.upcoming-events {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 20px;
}
.upcoming-events .widget__title {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--text-muted);
	margin: 0 0 16px;
}
.upcoming-events__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}
.upcoming-event {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 12px 0;
	border-bottom: 1px solid var(--border);
}
.upcoming-event:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
.upcoming-event:first-child {
	padding-top: 0;
}
.upcoming-event__date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	width: 40px;
	height: 44px;
	background: var(--color-bg);
	border-radius: var(--radius);
	border: 1px solid var(--border);
	flex-shrink: 0;
}
.upcoming-event__day {
	font-size: 1.1rem;
	font-weight: 800;
	line-height: 1;
	color: var(--text);
}
.upcoming-event__month {
	font-size: .65rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--text-muted);
	line-height: 1;
	margin-top: 2px;
}
.upcoming-event__body {
	display: flex;
	flex-direction: column;
	gap: 5px;
	min-width: 0;
}
.upcoming-event__cat {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--ev-color, #6B7280);
	background: var(--ev-bg, #F3F4F6);
	border-left: 3px solid var(--ev-color, #6B7280);
	align-self: flex-start;
	line-height: 1.5;
}
.upcoming-event__title {
	font-size: .9rem;
	font-weight: 600;
	color: var(--text);
	line-height: 1.35;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.upcoming-event__title:hover {
	color: var(--color-blue);
}
.upcoming-events__empty {
	font-size: .875rem;
	color: var(--text-muted);
	margin: 0;
}

/* ── Tak-specific upcoming activities (section pages) ───────────────────── */
.tak-events {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 28px 32px;
	margin-bottom: 32px;
	border-left: 4px solid var(--s-color, var(--blue));
}
.tak-events__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.tak-event {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--border);
}
.tak-event:first-child { padding-top: 0; }
.tak-event:last-child  { border-bottom: none; padding-bottom: 0; }
.tak-event__date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	width: 44px;
	height: 48px;
	background: var(--s-bg, var(--color-bg));
	border-radius: var(--radius);
	border: 1px solid var(--border);
	flex-shrink: 0;
}
.tak-event__day {
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1;
	color: var(--s-color, var(--text));
}
.tak-event__month {
	font-size: .65rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--text-muted);
	line-height: 1;
	margin-top: 2px;
}
.tak-event__title {
	font-size: .95rem;
	font-weight: 600;
	color: var(--text);
	text-decoration: none;
	line-height: 1.4;
}

/* ── Password-protected page form ────────────────────────────────────────── */
.password-form-wrap {
	display: flex;
	justify-content: center;
	padding: 64px 24px;
}
.password-form {
	background: var(--color-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow);
	padding: 48px 40px;
	width: 100%;
	max-width: 400px;
	text-align: center;
}
.password-form__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	background: var(--blue-pale);
	border-radius: 50%;
	color: var(--blue);
	margin-bottom: 20px;
}
.password-form__title {
	font-family: var(--font-heading);
	font-size: 1.35rem;
	color: var(--text);
	margin: 0 0 8px;
}
.password-form__desc {
	font-size: .9rem;
	color: var(--text-muted);
	margin: 0 0 28px;
}
.password-form__form {
	display: flex;
	flex-direction: column;
	gap: 12px;
	text-align: left;
}
.password-form__label {
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text);
}
.password-form__input {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	background: var(--color-bg);
	color: var(--text);
	font-size: .95rem;
	font-family: var(--font);
	transition: border-color var(--transition), box-shadow var(--transition);
	box-sizing: border-box;
}
.password-form__input:focus {
	outline: none;
	border-color: var(--border-focus);
	box-shadow: 0 0 0 3px rgba(42,82,201,.15);
	background: var(--color-surface);
}
.password-form__btn {
	width: 100%;
	padding: 8px 16px;
	background: var(--blue);
	color: #fff;
	border: none;
	border-radius: var(--radius-sm);
	font-family: var(--font-heading);
	font-size: .9rem;
	font-weight: 700;
	letter-spacing: .03em;
	cursor: pointer;
	transition: background var(--transition);
	display: flex;
	align-items: center;
	justify-content: center;
}
.password-form__btn:hover { background: var(--blue-dark); }
.tak-event__title:hover { color: var(--s-color, var(--blue)); }

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE PHONE OPTIMIZATIONS
   Prevent horizontal overflow and improve layout on narrow screens (≤ 767px).
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 767px) {
	/* Hide tagline to free up horizontal space in the header */
	.header__tagline { display: none; }

	/* Reduce news-roll post side padding so content isn't cramped */
	.news-roll__post { padding-left: 20px; padding-right: 20px; }

	/* Reduce tak-events panel side padding */
	.tak-events { padding: 20px; }

	/* Tables in post content scroll horizontally inside their box */
	.entry-content table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

@media (max-width: 479px) {
	/* ── Header ── */
	/* Allow the brand block to shrink so it never overflows the header row */
	.header__brand {
		min-width: 0;
		flex-shrink: 1;
		overflow: hidden;
	}
	.header__site-name {
		min-width: 0;
		overflow: hidden;
	}
	.header__title {
		font-size: .9rem;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	/* ── Stats bar ── */
	.stats-bar__item { padding: 16px 20px; }

	/* ── News roll ── */
	.news-roll__post { padding: 16px; }

	/* ── Tak-events sidebar ── */
	.tak-events { padding: 16px; }

	/* ── Hero ── */
	.hero__content { padding-block: 48px 64px; }

	/* ── Password-protected page form ── */
	.password-form { padding: 28px 20px; }
}

/* ══════════════════════════════════════════════════════════════════════════ */
/*  The Events Calendar — Parsival theming                                    */
/* ══════════════════════════════════════════════════════════════════════════ */

/* ── Top bar: title + nav arrows + Today/This-month button ─────────────── */
.tribe-events-c-top-bar {
	padding-block: 20px;
}

.tribe-events-c-top-bar__today-button,
.tribe-events-c-top-bar .tribe-common-c-btn-border-small,
.tribe-events-c-top-bar .tribe-common-c-btn-border {
	background: var(--color-surface) !important;
	border: 1px solid var(--border) !important;
	border-radius: 999px !important;
	color: var(--blue) !important;
	font-family: 'Inter', system-ui, sans-serif !important;
	font-weight: 600 !important;
	padding: 8px 18px !important;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.tribe-events-c-top-bar__today-button:hover,
.tribe-events-c-top-bar .tribe-common-c-btn-border-small:hover,
.tribe-events-c-top-bar .tribe-common-c-btn-border:hover {
	background: var(--blue-pale) !important;
	border-color: var(--blue-mid) !important;
	color: var(--blue-dark) !important;
}

.tribe-events-c-top-bar__nav-list-item .tribe-common-c-btn-icon,
.tribe-events-c-top-bar button[class*="tribe-common-c-btn-icon"] {
	background: var(--color-surface);
	border: 1px solid var(--border);
	border-radius: 50%;
	width: 36px;
	height: 36px;
	color: var(--blue);
	transition: background .2s ease, border-color .2s ease;
}

.tribe-events-c-top-bar__nav-list-item .tribe-common-c-btn-icon:hover,
.tribe-events-c-top-bar button[class*="tribe-common-c-btn-icon"]:hover {
	background: var(--blue-pale);
	border-color: var(--blue-mid);
}

.tribe-events-c-top-bar__datepicker-button {
	color: var(--blue) !important;
	font-family: 'Poppins', 'Inter', sans-serif !important;
	font-weight: 700 !important;
	font-size: 1.5rem !important;
	text-transform: capitalize;
}

/* ── View switcher (right side: month/list toggle) ─────────────────────── */
.tribe-events-c-view-selector__button {
	border-radius: 10px !important;
	border: 1px solid var(--border) !important;
	background: var(--color-surface) !important;
	color: var(--blue) !important;
}

.tribe-events-c-view-selector__button:hover {
	background: var(--blue-pale) !important;
	border-color: var(--blue-mid) !important;
}

.tribe-events-c-view-selector__list-item-link {
	color: var(--blue);
	font-family: 'Inter', sans-serif;
	font-weight: 600;
}

.tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link {
	color: var(--blue-dark);
	background: var(--blue-pale);
}

/* ── Month view: grid cells + headers ──────────────────────────────────── */
.tribe-events-calendar-month__header-column-title,
.tribe-events-calendar-month__header-column-title-mobile {
	font-family: 'Inter', system-ui, sans-serif !important;
	font-size: .72rem !important;
	font-weight: 700 !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #64748B !important;
}

.tribe-events-calendar-month__day {
	border-color: var(--border) !important;
	background: var(--color-surface);
	transition: background .2s ease;
}

.tribe-events-calendar-month__day:hover {
	background: var(--blue-pale);
}

.tribe-events-calendar-month__day--past {
	background: #FAFBFD;
}

.tribe-events-calendar-month__day-date,
.tribe-events-calendar-month__day-date-link {
	color: #1E293B !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 700 !important;
}

/* Highlight the current day with a soft circle BEHIND the number
   (number itself keeps its default size and position) */
.tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,
.tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link {
	position: relative;
	isolation: isolate;
	color: var(--blue) !important;
	background: transparent !important;
}

.tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date::before,
.tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 1.8em;
	height: 1.8em;
	background: var(--blue-pale);
	border-radius: 50%;
	z-index: -1;
}

/* ── Event blocks inside a day cell ────────────────────────────────────── */
.tribe-events-calendar-month__calendar-event {
	border-left-width: 3px !important;
	border-radius: 6px;
	padding: 6px 8px;
	background: var(--color-bg);
	transition: background .2s ease, transform .2s ease;
}

.tribe-events-calendar-month__calendar-event:hover {
	background: var(--blue-pale);
	transform: translateX(2px);
}

.tribe-events-calendar-month__calendar-event-title,
.tribe-events-calendar-month__calendar-event-title-link {
	font-family: 'Inter', sans-serif !important;
	font-weight: 600 !important;
	color: #1E293B !important;
}

.tribe-events-calendar-month__calendar-event-datetime {
	font-family: 'Inter', sans-serif !important;
	font-size: .72rem !important;
	color: #64748B !important;
	font-weight: 500;
}

/* Multi-day event ribbon (the grey "Parsival KNALT" strip) */
.tribe-events-calendar-month__multiday-event-bar,
.tribe-events-calendar-month__multiday-event-bar-inner {
	background: var(--blue) !important;
	border-radius: 999px;
	padding: 4px 10px;
}

.tribe-events-calendar-month__multiday-event-bar-title {
	color: #fff !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 700 !important;
}

/* ── List view: card-style event rows ──────────────────────────────────── */
.tribe-events-calendar-list__event {
	background: var(--color-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-xs);
	padding: 20px 24px !important;
	margin-bottom: 16px;
	transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}

.tribe-events-calendar-list__event:hover {
	box-shadow: var(--shadow-sm);
	border-color: var(--blue-mid);
	transform: translateY(-2px);
}

.tribe-events-calendar-list__event-row {
	gap: 24px;
}

/* Date tag on the left of each list row */
.tribe-events-calendar-list__event-date-tag {
	background: var(--blue-pale);
	border-radius: 12px;
	padding: 10px 14px;
	min-width: 72px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.tribe-events-calendar-list__event-date-tag-datetime {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
}

.tribe-events-calendar-list__event-date-tag-weekday {
	color: var(--blue) !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 700 !important;
	font-size: .7rem !important;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.tribe-events-calendar-list__event-date-tag-daynum,
.tribe-events-calendar-list__event-date-tag-daynum-link {
	color: var(--blue-dark) !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.6rem !important;
	line-height: 1;
}

/* List event title + time */
.tribe-events-calendar-list__event-title {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 700 !important;
	font-size: 1.15rem !important;
	color: #0F172A !important;
	margin-bottom: 6px;
}

.tribe-events-calendar-list__event-title-link,
.tribe-events-calendar-list__event-title-link:link,
.tribe-events-calendar-list__event-title-link:visited,
.tribe-events-calendar-list__event-title-link:hover,
.tribe-events-calendar-list__event-title-link:focus,
.tribe-events-calendar-list__event-title-link:active,
.entry-content .tribe-events-calendar-list__event-title-link,
.entry-content .tribe-events-calendar-list__event-title-link:hover,
.entry-content .tribe-events-calendar-list__event-title-link:focus {
	color: inherit !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
	text-underline-offset: 0 !important;
	border-bottom: none !important;
}

.tribe-events-calendar-list__event-title-link:hover,
.entry-content .tribe-events-calendar-list__event-title-link:hover {
	color: var(--blue) !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

.tribe-events-calendar-list__event-datetime {
	color: #64748B !important;
	font-family: 'Inter', sans-serif !important;
	font-size: .85rem !important;
	font-weight: 500;
}

/* Month heading separator in list view ("november 2026") */
.tribe-events-calendar-list__month-separator-text {
	color: var(--blue) !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 700 !important;
	font-size: 1rem;
}

.tribe-events-calendar-list__month-separator-horizontal-line {
	background: var(--border) !important;
}

/* Tak color-dot labels (already visible on list rows — just tighten) */
.tribe-events .tribe-common-h8,
.tribe-events-c-small-cta,
.tribe-events-c-small-cta__text {
	font-family: 'Inter', sans-serif !important;
	font-weight: 600 !important;
}

/* ── Single event detail page ──────────────────────────────────────────── */
.single-tribe_events {
	background: var(--color-bg);
}

/* Wrap the whole event page in a card — flex column so we can reorder */
#tribe-events,
.tribe-events-single {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 900px;
	margin: 48px auto !important;
	padding: 40px !important;
	background: var(--color-surface);
	border: none;
	border-radius: var(--radius-lg);
	box-shadow: none;
}

/* Reset child margins — the parent's gap handles spacing between sections */
#tribe-events > *,
.tribe-events-single > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* DOM order is handled by JS (reorderSingleEvent in main.js) because TEC nests
   elements inside wrappers that CSS `order` can't reach. */

/* Kill any float/absolute positioning on the meta box so it stacks full-width */
.tribe-events-event-meta,
.tribe-events-event-meta--left-column,
.tribe-events-event-meta--right-column,
.tribe-events-single .tribe-events-event-meta {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	position: static !important;
	clear: both;
}

/* Back link: no border, no padding */
.tribe-events-back {
	padding: 0 !important;
	border: none !important;
	font-size: .9rem;
}

/* Event title */
.tribe-events-single .tribe-events-single-event-title,
.tribe-events-single-event-title {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 800 !important;
	font-size: 2.4rem !important;
	color: var(--blue-dark) !important;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

/* Schedule block: calendar icon + gradient pop */
.tribe-events-schedule {
	background: linear-gradient(135deg, var(--blue-pale) 0%, #ffffff 100%) !important;
	border-left: 4px solid var(--blue);
	border-radius: 12px;
	padding: 18px 24px !important;
	box-shadow: var(--shadow-xs);
	display: flex;
	align-items: center;
	gap: 14px;
}

.tribe-events-schedule::before {
	content: "📅";
	font-size: 1.5rem;
	flex-shrink: 0;
}

.tribe-events-schedule h2,
.tribe-events-schedule__datetime,
.tribe-events-schedule .tribe-events-start-date,
.tribe-events-schedule .tribe-events-start-time {
	color: var(--blue-dark) !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 600 !important;
	margin: 0 !important;
	font-size: 1.05rem !important;
}

/* Description body */
.tribe-events-single-event-description,
.tribe-events-content {
	font-family: 'Inter', sans-serif;
	color: #334155;
	line-height: 1.75;
	font-size: 1rem;
}

.tribe-events-single-event-description h2,
.tribe-events-single-event-description h3,
.tribe-events-content h2,
.tribe-events-content h3 {
	font-family: 'Poppins', sans-serif !important;
	color: var(--blue-dark) !important;
	font-weight: 700 !important;
	margin-top: 24px !important;
	margin-bottom: 12px !important;
}

/* Meta sections (venue, organizer, cost, website) */
.tribe-events-event-meta {
	background: var(--color-bg);
	border: 1px solid var(--border);
	border-top: none;
	border-radius: 12px;
	padding: 22px 26px !important;
}

.tribe-events-event-meta .tribe-events-single-section-title,
.tribe-events-event-meta h2,
.tribe-events-event-meta h3 {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 700 !important;
	font-size: .9rem !important;
	color: var(--blue) !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	margin: 0 0 12px !important;
	border: none !important;
	border-bottom: none !important;
	padding-bottom: 12px !important;
}

.tribe-events-event-meta .tribe-events-single-section-title::after,
.tribe-events-event-meta h2::after,
.tribe-events-event-meta h3::after {
	display: none !important;
}

.tribe-events-event-meta .tribe-events-meta-group {
	border-top: none !important;
	padding-top: 0 !important;
}

.tribe-events-event-meta hr {
	display: none !important;
}

/* Remove any dividers or lines above meta box */
.tribe-events-single-event-description::after,
.tribe-events-content::after {
	display: none !important;
}

.tribe-events-single-section {
	border: 0 !important;
	border-top: 0 !important;
	border-bottom: 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-width: 0 !important;
}

.tribe-events-single-section.tribe-events-event-meta {
	border: 0 !important;
	border-width: 0 !important;
}

/* Hide any hr elements in the entire event container */
#tribe-events hr,
.tribe-events-single hr {
	display: none !important;
}

/* Remove borders from potential wrapper divs */
[class*="tribe-events-single-section"],
[class*="tribe-events-meta-section"] {
	border: none !important;
	border-top: none !important;
}

/* ─── NUCLEAR LINE REMOVAL ────────────────────────────────────────────────
   Kill every border, outline, pseudo-element line, and divider inside the
   single event page. The line was almost certainly from a TEC default style
   on one of these wrappers (likely `.tribe-events-single-section` border-top). */

#tribe-events,
#tribe-events-pg-template,
.tribe-events-single,
.tribe-events-single *,
#tribe-events * {
	outline: none !important;
}

/* Any element with these classes: no top/bottom borders anywhere */
.tribe-events-single-section,
.tribe-events-event-meta,
.tribe-events-event-meta.primary,
.tribe-events-event-meta.secondary,
.tribe-events-single-event-description,
.tribe-events-content,
#tribe-events-content,
#tribe-events-pg-template,
.tribe-events-single > *,
#tribe-events > * {
	border-top: 0 !important;
	border-bottom: 0 !important;
	border-top-width: 0 !important;
	border-bottom-width: 0 !important;
	border-top-style: none !important;
	border-bottom-style: none !important;
	box-shadow: none !important;
}

/* Kill all ::before and ::after that could render as lines */
.tribe-events-single-section::before,
.tribe-events-single-section::after,
.tribe-events-event-meta::before,
.tribe-events-event-meta::after,
#tribe-events::before,
#tribe-events::after,
#tribe-events-pg-template::before,
#tribe-events-pg-template::after,
.tribe-events-single::before,
.tribe-events-single::after,
.tribe-clearfix::before,
.tribe-clearfix::after {
	display: none !important;
	content: none !important;
	border: 0 !important;
	background: transparent !important;
	height: 0 !important;
	width: 0 !important;
}

.tribe-events-event-meta dt {
	font-family: 'Inter', sans-serif;
	font-weight: 600;
	color: #64748B;
	font-size: .85rem;
}

.tribe-events-event-meta dd,
.tribe-events-event-meta p {
	font-family: 'Inter', sans-serif;
	color: #1E293B;
	margin-bottom: 8px;
}

.tribe-events-event-meta a {
	color: var(--blue) !important;
	text-decoration: none;
}

.tribe-events-event-meta a:hover {
	color: var(--blue-dark) !important;
	text-decoration: underline;
}

/* Hide date, time, and category from Details box — keep only location and description */
.tribe-events-event-meta .tribe-events-meta-group:has(.tribe-events-single-section-title:contains("Date")),
.tribe-events-event-meta .tribe-events-meta-group:has(.tribe-events-single-section-title:contains("Time")),
.tribe-events-event-meta .tribe-events-meta-group:has(.tribe-events-single-section-title:contains("Category")),
.tribe-events-event-meta dt:contains("Date"),
.tribe-events-event-meta dt:contains("Time"),
.tribe-events-event-meta dt:contains("Category") {
	display: none !important;
}

/* Alternatively, hide by common TEC class patterns if available */
.tribe-events-event-meta [data-section="dates"],
.tribe-events-event-meta [data-section="category"],
.tribe-events-event-meta .tribe-events-meta-group--dates,
.tribe-events-event-meta .tribe-events-meta-group--category {
	display: none !important;
}

/* "Add to calendar" dropdown — centered, at the bottom of the card */
.tribe-events-c-subscribe-dropdown__container,
.tribe-events-c-subscribe-dropdown {
	display: flex !important;
	justify-content: center;
	padding-top: 8px;
	position: relative;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

/* The button — solid blue so it stands out from the page */
.tribe-events-c-subscribe-dropdown__button,
.tribe-events-c-subscribe-dropdown button.tribe-events-c-subscribe-dropdown__button,
.tribe-events-c-subscribe-dropdown__button--primary,
a.tribe-events-c-subscribe-dropdown__button {
	background: var(--blue) !important;
	background-color: var(--blue) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 14px 32px !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	transition: background .2s ease !important;
	box-shadow: var(--shadow-sm) !important;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px;
	text-decoration: none !important;
}

/* Hover — darker blue */
.tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events-c-subscribe-dropdown__button:focus,
.tribe-events-c-subscribe-dropdown button.tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events-c-subscribe-dropdown__button--primary:hover,
a.tribe-events-c-subscribe-dropdown__button:hover {
	background: var(--blue-dark) !important;
	background-color: var(--blue-dark) !important;
	color: #fff !important;
	box-shadow: var(--shadow-md) !important;
}

/* Button inner text/icon — inherit color, no own background */
.tribe-events-c-subscribe-dropdown__button-text,
.tribe-events-c-subscribe-dropdown__button-icon {
	background: transparent !important;
	border: none !important;
	color: inherit !important;
	pointer-events: none;
}

/* Dropdown menu — white card with border, positioned below button */
.tribe-events-c-subscribe-dropdown__content {
	position: absolute !important;
	top: 100% !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	margin-top: 8px !important;
	border: 1px solid var(--border) !important;
	border-radius: 10px !important;
	box-shadow: var(--shadow-md) !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	min-width: 220px;
	z-index: 20;
	padding: 6px 0 !important;
}

.tribe-events-c-subscribe-dropdown__list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.tribe-events-c-subscribe-dropdown__list-item {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}

.tribe-events-c-subscribe-dropdown__list-item-link {
	display: block !important;
	padding: 10px 18px !important;
	color: var(--blue) !important;
	background: transparent !important;
	font-family: 'Inter', sans-serif !important;
	text-decoration: none !important;
	border: none !important;
}

.tribe-events-c-subscribe-dropdown__list-item-link:hover,
.tribe-events-c-subscribe-dropdown__list-item-link:focus {
	background: var(--blue-pale) !important;
	color: var(--blue-dark) !important;
}

/* Prev/next event navigation at the very bottom */
#tribe-events-footer,
.tribe-events-cal-links,
.tribe-events-c-nav {
	border-top: none !important;
	border-bottom: none !important;
	padding-top: 20px !important;
	width: 100% !important;
	max-width: 100% !important;
}

.tribe-events-c-nav__list,
#tribe-events-footer ul {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	gap: 16px;
	width: 100% !important;
}

.tribe-events-c-nav__list-item,
#tribe-events-footer ul li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

/* Explicitly push prev to the far left, next to the far right */
.tribe-events-c-nav__list-item--prev,
.tribe-events-c-nav__prev {
	margin-right: auto !important;
}

.tribe-events-c-nav__list-item--next,
.tribe-events-c-nav__next {
	margin-left: auto !important;
}

.tribe-events-c-nav__list a,
.tribe-events-c-nav__prev,
.tribe-events-c-nav__next,
#tribe-events-footer a {
	color: var(--blue) !important;
	text-decoration: none !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 600 !important;
}

.tribe-events-c-nav__list a:hover,
#tribe-events-footer a:hover {
	color: var(--blue-dark) !important;
	text-decoration: none !important;
}

/* Featured image */
.tribe-events-event-image {
	border-radius: 12px;
	overflow: hidden;
}

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

/* ── Responsive event page ─────────────────────────────────────────────────── */
@media (max-width: 900px) {
	#tribe-events,
	.tribe-events-single {
		max-width: 100%;
		margin: 32px auto !important;
		padding: 24px 20px !important;
		gap: 18px;
	}

	.tribe-events-single .tribe-events-single-event-title,
	.tribe-events-single-event-title {
		font-size: 1.8rem !important;
	}

	.tribe-events-schedule {
		padding: 16px 20px !important;
		gap: 12px;
		font-size: 0.95rem;
	}

	.tribe-events-event-meta {
		padding: 18px 20px !important;
		font-size: 0.9rem;
	}

	.tribe-events-c-subscribe-dropdown__button,
	.tribe-events-c-subscribe-dropdown button {
		padding: 10px 24px !important;
		font-size: 0.9rem !important;
	}
}

@media (max-width: 600px) {
	#tribe-events,
	.tribe-events-single {
		max-width: 100%;
		margin: 24px auto !important;
		padding: 16px 16px !important;
		gap: 14px;
	}

	.tribe-events-single .tribe-events-single-event-title,
	.tribe-events-single-event-title {
		font-size: 1.4rem !important;
	}

	.tribe-events-schedule {
		padding: 14px 16px !important;
		gap: 10px;
		font-size: 0.9rem;
	}

	.tribe-events-schedule::before {
		font-size: 1.2rem;
	}

	.tribe-events-event-meta {
		padding: 16px 16px !important;
		font-size: 0.85rem;
	}

	.tribe-events-event-meta dt {
		font-size: 0.75rem;
	}

	.tribe-events-c-subscribe-dropdown__button,
	.tribe-events-c-subscribe-dropdown button {
		padding: 10px 20px !important;
		font-size: 0.85rem !important;
	}

	.tribe-events-c-nav__list,
	#tribe-events-footer ul {
		flex-direction: column;
		gap: 12px;
	}

	.tribe-events-c-nav__list a,
	.tribe-events-c-nav__prev,
	.tribe-events-c-nav__next,
	#tribe-events-footer a {
		font-size: 0.9rem !important;
	}
}
