/* ═══ TF26 Editorial — Theme-specific block overrides ═══ */

/* ── Global: Remove WP body margins, ensure full-width ── */
html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}

/* Remove WordPress default body margin/padding that creates gaps */
.wp-site-blocks {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Ensure all alignfull sections truly span full viewport width */
.wp-site-blocks > *,
.wp-site-blocks > .alignfull {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/* Remove any default block gap between header and hero */
.wp-site-blocks > .wp-block-template-part:first-child + *,
.wp-site-blocks > header + * {
	margin-top: 0 !important;
}

/* Remove default block spacing/gaps that WP adds between blocks */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* ── Header ── */
.tf26-header {
	/*
	 * Backdrop-Blur wird bewusst NICHT direkt am Header gesetzt, weil
	 * backdrop-filter am Element selbst einen "containing block" für
	 * position:fixed-Descendants erzeugt. Dadurch würde das responsive
	 * Menü-Overlay (Navigation-Block) auf die Header-Höhe begrenzt
	 * statt volles Viewport einzunehmen. Stattdessen: Blur-Effekt über
	 * ein absolut positioniertes ::before-Pseudoelement (s. u.).
	 */
	position: relative;
	z-index: 1000;
	background: rgba(26, 46, 26, 0.95);
	min-height: 64px;
	max-width: 100% !important;
	margin: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.tf26-header::before {
	content: '';
	position: absolute;
	inset: 0;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	z-index: -1;
	pointer-events: none;
}

/* Mobile-Menü (Navigation-Block im responsive "is-menu-open"-Modus):
 * Der Navigation-Block ist im Desktop rechts justiert (items-justified-right);
 * im geöffneten Mobile-Overlay wird das Alignment neutralisiert, damit
 * die Links zentriert und gleichmäßig lesbar erscheinen.
 */
.tf26-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: center;
	justify-content: flex-start;
}

.tf26-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 1.5rem;
}

/* Ensure sticky header has no gap above it */
.wp-block-template-part[data-type="core/template-part"] header,
header .tf26-header {
	margin-top: 0 !important;
}

.tf26-logo {
	font-family: var(--wp--preset--font-family--gruenetype);
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin: 0;
}

.tf26-logo a {
	color: var(--wp--preset--color--white) !important;
	text-decoration: none;
}

.tf26-logo a .tf26-logo__last {
	color: var(--wp--preset--color--accent) !important;
}

.tf26-nav a {
	transition: color 0.3s;
	padding: 0.5rem 0;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.tf26-nav a:hover {
	color: var(--wp--preset--color--accent) !important;
}

/* ── Hero (Editorial: Split-Screen) ── */
.wp-block-tf26-hero {
	min-height: 100vh;
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: var(--wp--preset--color--charcoal);
	margin-top: 0 !important;
	position: relative;
}

.wp-block-tf26-hero .tf26-hero__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 8rem 4rem 4rem 6rem;
}

.wp-block-tf26-hero .tf26-hero__badge {
	display: inline-block;
	color: var(--wp--preset--color--accent);
	font-weight: 700;
	font-size: 0.8rem;
	letter-spacing: 4px;
	text-transform: uppercase;
	margin-bottom: 2rem;
	border-left: 3px solid var(--wp--preset--color--accent);
	padding-left: 1rem;
	align-self: flex-start;
}

.wp-block-tf26-hero .tf26-hero__name {
	font-size: 7rem;
	color: var(--wp--preset--color--white);
	line-height: 0.95;
	margin-bottom: 2rem;
	letter-spacing: -2px;
}

.wp-block-tf26-hero .tf26-hero__name span {
	display: block;
	color: var(--wp--preset--color--accent);
}

.wp-block-tf26-hero .tf26-hero__subtitle {
	font-size: 1.3rem;
	color: var(--wp--preset--color--text-muted);
	margin-bottom: 1.5rem;
	max-width: 420px;
}

.wp-block-tf26-hero .tf26-hero__claim {
	font-family: var(--wp--preset--font-family--accent);
	font-size: 1.1rem;
	color: var(--wp--preset--color--text-body);
	margin-bottom: 3rem;
	max-width: 400px;
	line-height: 1.8;
}

.wp-block-tf26-hero .tf26-hero__cta {
	display: inline-block;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--charcoal);
	padding: 1rem 2.5rem;
	font-family: var(--wp--preset--font-family--gruenetype);
	font-weight: normal;
	font-size: 1.1rem;
	text-decoration: none;
	letter-spacing: 1px;
	transition: transform 0.3s, box-shadow 0.3s;
	align-self: flex-start;
}

.wp-block-tf26-hero .tf26-hero__cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 30px rgba(240, 228, 66, 0.3);
}

.wp-block-tf26-hero .tf26-hero__media {
	background: var(--wp--preset--color--secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

.wp-block-tf26-hero .tf26-hero__media::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(240, 228, 66, 0.05), transparent 60%);
}

/* Hero photo (when image is present) */
.wp-block-tf26-hero .tf26-hero__photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Hero photo placeholder (when no image yet) */
.wp-block-tf26-hero .tf26-hero__photo-placeholder {
	width: 70%;
	aspect-ratio: 3/4;
	border: 1px solid rgba(255, 255, 255, 0.06);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
	background: linear-gradient(160deg, rgba(240, 228, 66, 0.06) 0%, transparent 50%, rgba(0, 84, 55, 0.1) 100%);
}

.wp-block-tf26-hero .tf26-hero__initials {
	font-family: var(--wp--preset--font-family--gruenetype);
	font-size: 12rem;
	font-weight: normal;
	color: rgba(240, 228, 66, 0.08);
	line-height: 1;
	letter-spacing: -0.05em;
	user-select: none;
}

/* ── "Uber mich" Section ── */
/* Photo placeholder in left column */
.tf26-photo-placeholder {
	width: 100%;
	background: linear-gradient(160deg, rgba(240, 228, 66, 0.04) 0%, var(--wp--preset--color--dark-surface, #223322) 40%, rgba(0, 84, 55, 0.08) 100%);
	border: 1px solid rgba(255, 255, 255, 0.06);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--text-muted);
	text-align: center;
	padding: 2rem;
	min-height: 300px;
}

.tf26-photo-placeholder svg {
	width: 100px;
	height: 100px;
	opacity: 0.08;
	margin-bottom: 0;
	display: block;
}

.tf26-photo-placeholder p {
	color: var(--wp--preset--color--text-muted);
	font-size: 0.7rem;
	margin: 0.5rem 0 0;
	opacity: 0.5;
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* ── Programmpunkte Section ── */
.wp-block-tf26-programmpunkte-overview {
	padding: 0;
}

/* Standalone-Variante (außerhalb einer Sektion): eigene Einfassung */
.wp-block-tf26-programmpunkte-overview:not(.tf26-section *) {
	background: var(--wp--preset--color--charcoal);
	padding: 6rem 0;
	border-top: 1px solid var(--wp--preset--color--border);
}

/* Editorial alternating rows (unified class names) */
.wp-block-tf26-programmpunkte-overview .tf26-programm__items {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 0;
}

.wp-block-tf26-programmpunkte-overview .tf26-programm-item + .tf26-programm-item {
	border-top: 1px solid var(--wp--preset--color--border);
}

.wp-block-tf26-programmpunkte-overview .tf26-programm-item__header {
	display: flex;
	align-items: center;
	gap: 2rem;
	padding: 2rem 0;
	cursor: pointer;
	transition: background 0.3s;
}

.wp-block-tf26-programmpunkte-overview .tf26-programm-item__header:hover {
	background: rgba(240, 228, 66, 0.03);
}

/* Content-Wrapper nimmt vollen Platz, Toggle bleibt rechts */
.wp-block-tf26-programmpunkte-overview .tf26-programm-item__content {
	flex: 1 1 auto;
	min-width: 0;
}

/* Toggle indicator (Chevron) — visuell prominent als Auflapp-Hinweis */
.wp-block-tf26-programmpunkte-overview .tf26-programm-item__toggle {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--accent);
	border: 1px solid var(--wp--preset--color--accent);
	transition: transform 0.3s, background 0.3s;
	font-size: 1rem;
}

.wp-block-tf26-programmpunkte-overview .tf26-programm-item__header:hover .tf26-programm-item__toggle {
	background: rgba(240, 228, 66, 0.1);
}

.wp-block-tf26-programmpunkte-overview .tf26-programm-item--open .tf26-programm-item__toggle {
	transform: rotate(180deg);
}

/* Details (Accordion) — kein eigener Background, fließt nahtlos unter dem Header */
.wp-block-tf26-programmpunkte-overview .tf26-programm-item__details {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease;
}

.wp-block-tf26-programmpunkte-overview .tf26-programm-item__details-inner {
	padding: 0 0 2.5rem 0;
	max-width: 820px;
}

.wp-block-tf26-programmpunkte-overview .tf26-programm-item__details-inner p {
	color: var(--wp--preset--color--text-body);
	font-size: 1.05rem;
	line-height: 1.8;
	margin-bottom: 1rem;
}

.wp-block-tf26-programmpunkte-overview .tf26-programm-item__details-inner ul {
	color: var(--wp--preset--color--text-body);
	margin: 1rem 0 1rem 1.2rem;
	line-height: 1.8;
}

.wp-block-tf26-programmpunkte-overview .tf26-programm-item__details-inner ul li::marker {
	color: var(--wp--preset--color--accent);
}

.wp-block-tf26-programmpunkte-overview .tf26-programm-item__title {
	font-family: var(--wp--preset--font-family--gruenetype);
	font-size: 2rem;
	font-weight: normal;
	color: var(--wp--preset--color--white);
	margin-top: 0;
	margin-bottom: 0.8rem;
	line-height: 1;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.wp-block-tf26-programmpunkte-overview .tf26-programm-item__icon {
	font-size: 1em;
	line-height: 1;
	flex-shrink: 0;
}

.wp-block-tf26-programmpunkte-overview .tf26-programm-item__icon img.emoji {
	width: 1em !important;
	height: 1em !important;
	vertical-align: middle;
}

.wp-block-tf26-programmpunkte-overview .tf26-programm-item__desc {
	color: var(--wp--preset--color--text-muted);
	font-size: 1rem;
	line-height: 1.7;
	max-width: 720px;
	margin-bottom: 0;
}


/* ── Grüne Termine Plugin (gt/events-list) ── */
.gt-events-list {
	--gt-primary: #005437;
	--gt-accent: #f0e442;
	--gt-heading: #fff;
	--gt-muted: #8a9a85;
	/* #223322 = dark-surface aus theme.json, einen Tick heller als die
	 * Seite selbst (#1a2e1a), damit sich die Termin-Karten und das
	 * Modal visuell vom Seitenhintergrund abheben. */
	--gt-card-bg: #223322;
}

/* Cards: semi-transparent on dark sections */
.gt-termin-card {
	background: rgba(255, 255, 255, 0.03);
	border-radius: 0;
	box-shadow: none;
	border: 1px solid var(--wp--preset--color--border);
	border-top: 4px solid var(--wp--preset--color--accent);
}

.gt-termin-card:hover {
	box-shadow: 0 4px 20px rgba(240, 228, 66, 0.15);
}

.gt-termin-card__title {
	font-family: var(--wp--preset--font-family--gruenetype);
	font-weight: normal;
}

/* Modal: dark theme overrides */
/*
 * Modal-Overlay: box-sizing: border-box erzwingen. Das Plugin-CSS nutzt
 * width:100% + padding:20px ohne eigenen border-box-Reset. Da weder
 * Theme noch Plugin einen globalen box-sizing-Reset setzen, läuft das
 * Overlay auf schmalen Viewports (< 640 px) sonst um 40 px (2 × 20 px
 * padding) über den rechten Rand → horizontaler Scroll.
 * Gleiches gilt vorsichtshalber für das Modal selbst und dessen Kinder.
 */
.gt-modal-overlay,
.gt-modal-overlay * {
	box-sizing: border-box;
}

/* Overlay-Backdrop einen Tick dunkler, damit der Fokus klar auf dem
 * Modal liegt (statt beinahe transparent wie im Plugin-Default). */
.gt-modal-overlay {
	background: rgba(0, 0, 0, 0.65);
}

.gt-modal__header {
	background: linear-gradient(135deg, var(--wp--preset--color--secondary), var(--wp--preset--color--primary));
	border-radius: 0;
}

.gt-modal {
	border-radius: 0;
	border: 1px solid var(--wp--preset--color--border);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
}

.gt-modal__title {
	font-family: var(--wp--preset--font-family--gruenetype);
	font-weight: normal;
}

.gt-modal__body {
	color: var(--wp--preset--color--text-body);
}

.gt-modal__body p {
	color: var(--wp--preset--color--text-body);
}

.gt-modal__location {
	color: var(--wp--preset--color--accent);
}

.gt-modal__time {
	color: var(--wp--preset--color--text-muted);
}

.gt-modal__content {
	color: var(--wp--preset--color--text-body);
}

.gt-modal__map {
	border-radius: 0;
}

/* iCal button: dark text on gold, green on hover */
.gt-modal__ical {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--charcoal);
	border-radius: 0;
}

.gt-modal__ical:hover {
	background: var(--wp--preset--color--primary);
	color: #fff;
}

/* Toggle button */
.gt-termine-toggle {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
	border-radius: 0;
}

.gt-termine-toggle:hover {
	background: rgba(240, 228, 66, 0.1);
	color: var(--wp--preset--color--accent);
}

/* ── Instagram Block ── */
.wp-block-instagram-block-latest-photo {
	border: 1px solid var(--wp--preset--color--border);
	overflow: hidden;
}

.wp-block-instagram-block-latest-photo a {
	display: block;
	line-height: 0;
}

.wp-block-instagram-block-latest-photo img {
	transition: transform 0.4s, opacity 0.4s;
}

.wp-block-instagram-block-latest-photo a:hover img {
	transform: scale(1.03);
	opacity: 0.85;
}

.wp-block-instagram-block-latest-photo figcaption {
	color: var(--wp--preset--color--text-muted);
	font-size: 0.8rem;
	letter-spacing: 0.5px;
	padding: 0.8rem 1rem;
	margin: 0;
	background: var(--wp--preset--color--charcoal);
	border-top: 1px solid var(--wp--preset--color--border);
}

/* ── Steckbrief (Editorial) ── */
.wp-block-tf26-steckbrief {
	margin-top: 2.5rem;
	padding: 2rem;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--wp--preset--color--border);
	border-left: 3px solid var(--wp--preset--color--accent);
	border-radius: 0;
}

.wp-block-tf26-steckbrief .tf26-steckbrief__list {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.7rem 2rem;
}

.wp-block-tf26-steckbrief .tf26-steckbrief__item {
	display: contents;
}

.wp-block-tf26-steckbrief dt {
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.wp-block-tf26-steckbrief dd {
	color: var(--wp--preset--color--text-body);
	margin: 0;
}


/* ── Footer ── */
.tf26-footer {
	max-width: 100% !important;
	margin: 0 !important;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* Footer links */
.tf26-footer a {
	transition: opacity 0.3s;
}

.tf26-footer .wp-block-group a:hover {
	opacity: 0.7;
}

/* ── Sections (unified page content) ── */
.tf26-section {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding-top: 6rem;
	padding-bottom: 6rem;
	padding-left: 2rem;
	padding-right: 2rem;
}

/* Hide accent-line separators in Editorial (Klassisch uses them) */
.tf26-section .tf26-accent-line {
	display: none;
}

/* Section Labels */
.tf26-section-label {
	font-weight: 700;
	font-size: 0.8rem;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin-bottom: 1rem;
}

.tf26-section-heading {
	font-family: var(--wp--preset--font-family--gruenetype);
	font-size: 4rem;
	font-weight: normal;
	color: var(--wp--preset--color--white);
	margin-bottom: 1.5rem;
	line-height: 1.05;
}

/* Signatur am Ende des Begrüßungs-Briefs */
.tf26-signature {
	font-family: var(--wp--preset--font-family--gruenetype);
	font-size: 1.6rem;
	color: var(--wp--preset--color--accent);
	margin-top: 1.5rem !important;
}

/* Torsten-Sektion: Foto + Steckbrief nebeneinander */
.tf26-about-columns {
	gap: 3rem !important;
	align-items: start;
}

.tf26-about-photo {
	margin: 0 !important;
	position: relative;
}

/* Dekorativer Akzent-Block hinter dem Foto */
.tf26-about-photo::before {
	content: '';
	position: absolute;
	top: 12px;
	left: 12px;
	right: -12px;
	bottom: -12px;
	border: 2px solid var(--wp--preset--color--accent);
	z-index: 0;
	pointer-events: none;
}

.tf26-about-photo img {
	width: 100%;
	height: auto;
	max-height: 500px;
	object-fit: cover;
	position: relative;
	z-index: 1;
}

/* Akzent-Linie zwischen Hero-Spalten */
.wp-block-tf26-hero .tf26-hero__media::after {
	content: '';
	position: absolute;
	left: 0;
	top: 10%;
	bottom: 10%;
	width: 3px;
	background: linear-gradient(to bottom, transparent, var(--wp--preset--color--accent), transparent);
	z-index: 2;
}

/* Links unter dem Steckbrief */
.tf26-about-link,
.tf26-about-press {
	margin-top: 1.5rem !important;
	color: var(--wp--preset--color--text-muted);
	font-size: 0.95rem;
}

.tf26-about-link a,
.tf26-about-press a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}

.tf26-about-link a:hover,
.tf26-about-press a:hover {
	border-bottom-color: transparent;
}

/* Kontakt-Hinweis unter den Terminen */
.tf26-events-contact {
	margin-top: 2rem !important;
	color: var(--wp--preset--color--text-muted);
	font-size: 0.95rem;
}

.tf26-events-contact a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}

.tf26-section-sub {
	color: var(--wp--preset--color--text-muted);
	font-size: 1.1rem;
	max-width: 550px;
	margin-left: 0 !important;
	margin-right: auto;
	margin-bottom: 3rem;
}

/* Lesbare Zeilenlänge für Body-Text in Sektionen */
.tf26-section > p,
.tf26-section > h3.wp-block-heading {
	max-width: 720px;
	margin-left: 0 !important;
	margin-right: auto;
}

/* ── Full-width enforcement for all editorial sections ── */
.wp-block-tf26-hero.alignfull,
.wp-block-tf26-programmpunkte-overview.alignfull,
.wp-block-gt-events-list.alignfull,
.wp-block-group.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(-50vw + 50%);
	margin-right: calc(-50vw + 50%);
	padding-left: 0;
	padding-right: 0;
}

/* In wp-site-blocks context the calc trick is not needed */
.wp-site-blocks > .wp-block-tf26-hero.alignfull,
.wp-site-blocks > .wp-block-tf26-programmpunkte-overview.alignfull,
.wp-site-blocks > .wp-block-gt-events-list.alignfull,
.wp-site-blocks > .wp-block-group.alignfull,
.wp-site-blocks > .wp-block-template-part {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

/* ── Responsive ── */
@media (max-width: 1000px) {
	.wp-block-tf26-hero {
		grid-template-columns: 1fr;
	}

	.wp-block-tf26-hero .tf26-hero__content {
		padding: 8rem 2rem 4rem;
	}

	.wp-block-tf26-hero .tf26-hero__name {
		font-size: 4.5rem;
	}

	.wp-block-tf26-hero .tf26-hero__media {
		min-height: 50vh;
	}

	/* Uber mich columns stack */
	#ueber-mich .wp-block-columns {
		flex-direction: column;
	}

	.tf26-section-heading {
		font-size: 3rem;
	}
}

@media (max-width: 700px) {
	.wp-block-tf26-hero {
		min-height: auto;
	}

	.wp-block-tf26-hero .tf26-hero__content {
		padding: 5rem 1.5rem 2.5rem;
	}

	.wp-block-tf26-hero .tf26-hero__name {
		font-size: 3rem;
		letter-spacing: -1px;
	}

	.wp-block-tf26-hero .tf26-hero__subtitle {
		font-size: 1.1rem;
	}

	.wp-block-tf26-hero .tf26-hero__claim {
		font-size: 1rem;
		margin-bottom: 2rem;
	}

	.wp-block-tf26-hero .tf26-hero__media {
		height: 60vw;
		max-height: 350px;
		overflow: hidden;
	}

	/* Reduce section padding on mobile */
	.tf26-section {
		padding-top: 3rem !important;
		padding-bottom: 3rem !important;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	.tf26-section-heading {
		font-size: 2.2rem;
	}

	/* Tighter programmpunkte items */
	.wp-block-tf26-programmpunkte-overview .tf26-programm-item__header {
		gap: 1rem;
		padding: 1.5rem 0;
	}

	.wp-block-tf26-programmpunkte-overview .tf26-programm-item__details-inner {
		padding: 1.5rem 0 2rem 0;
	}

	.wp-block-tf26-programmpunkte-overview .tf26-programm-item__title {
		font-size: 1.5rem;
	}

	/* Block-eigenes Padding entfällt in Sektionen (Section hat bereits Padding) */
	.tf26-section .wp-block-tf26-programmpunkte-overview,
	.tf26-section .wp-block-gt-events-list {
		padding-left: 0;
		padding-right: 0;
	}

	/* Standalone-Blöcke behalten eigenes Padding */
	.wp-block-tf26-programmpunkte-overview,
	.wp-block-gt-events-list {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	/* Nav link tap targets on mobile */
	.tf26-nav a {
		padding: 0.5rem 0;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
	}

	/* Footer responsive */
	.tf26-footer .wp-block-group[style*="flex"] {
		flex-direction: column;
		gap: 0.8rem;
	}

	/* Modal responsive */
	.tf26-modal-overlay {
		padding: 1rem;
	}

	.tf26-modal__header h3 {
		font-size: 1.4rem;
	}
}

@media (max-width: 480px) {
	.wp-block-tf26-hero .tf26-hero__name {
		font-size: 2.2rem;
	}

	.wp-block-tf26-hero .tf26-hero__content {
		padding: 4rem 1.2rem 2rem;
	}

	.wp-block-tf26-hero .tf26-hero__media {
		height: 50vw;
		max-height: 250px;
	}

	/* Smaller logo on tiny phones */
	.tf26-logo {
		font-size: 1.1rem;
	}

}
