/*
Theme Name: Feuerwehr Obermässing
Description: Theme der FF Obermässing (Neuaufbau). Ohne externe Ressourcen und ohne Cookies für Besucher.
Version: 0.2.0
Requires at least: 7.0
Requires PHP: 8.2
Text Domain: feuerwehr
License: GPL-2.0-or-later
*/

/* ---------- Grundlagen ---------- */

:root {
	--fw-display: var(--wp--preset--font-family--display);
	--fw-rot: var(--wp--preset--color--rot);
	--fw-dunkelrot: var(--wp--preset--color--dunkelrot);
	--fw-tinte: var(--wp--preset--color--tinte);
	--fw-grau: var(--wp--preset--color--grau);
	--fw-rahmen: var(--wp--preset--color--rahmen);
	--fw-linie: #ECE8E1;
	--fw-abstand: clamp(56px, 7vw, 96px);
}

body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
:where(.wp-site-blocks) > main { margin-block-start: 0; }

.fw-kicker,
.fw-kicker a {
	margin: 0;
	font-family: var(--fw-display);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--fw-dunkelrot);
	text-decoration: none;
}
.fw-kicker--hell { color: #FF8A8A; font-size: 16px; }

.fw-sektion { padding-top: var(--fw-abstand); }
.fw-sektion--letzte { padding-bottom: var(--fw-abstand); }
.fw-sektion-titel { margin: 4px 0 28px; font-size: clamp(36px, 4.5vw, 52px); }
.fw-sektion-titel.is-klein { font-size: clamp(32px, 4vw, 44px); margin-bottom: 24px; }
.fw-sektion-kopf { margin-bottom: 28px; }
.fw-sektion-kopf .fw-sektion-titel { margin-bottom: 0; }
.fw-mehr { margin: 16px 0 0; font-weight: 600; }
.fw-sektion-kopf .fw-mehr { margin: 0; }

/* ---------- Notruf-Leiste ---------- */

.fw-notruf { font-size: 14px; }
.fw-notruf p { margin: 0; }
.fw-notruf a { color: var(--wp--preset--color--grund); text-decoration: none; }
.fw-notruf a:hover { color: #FFFFFF; text-decoration: underline; }
.fw-notruf-nummer { display: flex; align-items: center; gap: 10px; }
.fw-notruf-nummer strong { font-family: var(--fw-display); font-size: 20px; letter-spacing: 0.04em; color: #FFFFFF; }
.fw-social a + a { margin-left: 20px; }

/* ---------- Header ---------- */

.fw-header { border-bottom: 1px solid var(--fw-rahmen); position: relative; z-index: 10; }
.fw-marke { gap: 14px; }
.fw-marke .wp-block-site-logo img { display: block; } /* Feuerwehrwappen: Schildform nicht beschneiden */
.fw-wortmarke { display: flex; flex-direction: column; line-height: 1.05; text-decoration: none; font-family: var(--fw-display); text-transform: uppercase; }
.fw-wortmarke-oben { font-weight: 600; font-size: 14px; letter-spacing: 0.12em; color: var(--fw-grau); }
.fw-wortmarke-unten { font-weight: 800; font-size: 28px; color: var(--fw-tinte); }

.fw-nav a { text-decoration: none; }
.fw-nav .wp-block-navigation-item__content:hover { color: var(--fw-dunkelrot); }
.fw-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--fw-rahmen) !important;
	border-radius: 6px;
	padding: 8px 0;
	min-width: 240px !important;
	box-shadow: 0 8px 24px rgba(22, 24, 27, 0.08);
}
.fw-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 18px; }
.fw-nav .is-cta > .wp-block-navigation-item__content {
	background: var(--fw-rot);
	color: #FFFFFF !important;
	padding: 12px 20px;
	border-radius: 4px;
	font-weight: 600;
}
.fw-nav .is-cta > .wp-block-navigation-item__content:hover { background: var(--fw-dunkelrot); }
@media (max-width: 599px) {
	.fw-nav .wp-block-navigation__responsive-container-open {
		width: 48px; height: 48px;
		align-items: center; justify-content: center;
		border: 1px solid var(--fw-rahmen); border-radius: 4px;
	}
	.fw-nav .wp-block-navigation__responsive-container-open:not([hidden]) { display: inline-flex; }
}
.fw-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 24px; }
.fw-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 18px; }

/* ---------- Hero ---------- */

.fw-hero { padding-top: clamp(48px, 7vw, 96px); padding-bottom: clamp(48px, 7vw, 96px); }
.fw-hero-spalten { gap: 48px; }
.fw-hero-titel { margin: 0; font-size: clamp(48px, 7vw, 88px); line-height: 0.95; color: #FFFFFF; }
.fw-hero-text { font-size: 19px; max-width: 520px; color: var(--wp--preset--color--hellgrau); }
.fw-hero .wp-block-buttons { gap: 12px; }
.fw-hero .is-style-outline .wp-block-button__link {
	background: transparent; color: #FFFFFF; border: 1px solid var(--fw-grau);
}
.fw-hero .is-style-outline .wp-block-button__link:hover { border-color: #FFFFFF; background: transparent; }
.fw-hero-bild, .fw-hero-bild img { border-radius: 6px; }
.fw-hero-bild:empty { aspect-ratio: 4 / 3; background: #2A2D32; border: 1px dashed var(--fw-grau); }

/* ---------- Einsatzliste ---------- */

.fw-einsatzliste .wp-block-post-template {
	background: #FFFFFF;
	border: 1px solid var(--fw-rahmen);
	border-radius: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.fw-einsatzliste .wp-block-post + .wp-block-post { border-top: 1px solid var(--fw-linie); }
.fw-einsatz {
	position: relative;
	display: grid;
	grid-template-columns: 112px 56px 112px 1fr 110px;
	gap: 18px;
	align-items: center;
	padding: 14px 24px 14px 14px;
}
.fw-einsatz > * { margin: 0 !important; }
.fw-einsatz:hover { background: #FBFAF8; }
.fw-einsatz:hover .fw-einsatz-bild img { transform: scale(1.04); }
.fw-einsatz-bild { border-radius: 4px; overflow: hidden; background: var(--wp--preset--color--flaeche); aspect-ratio: 4 / 3; }
.fw-einsatz-bild img { transition: transform 0.25s ease; }
.fw-einsatz-nr { font-family: var(--fw-display); font-weight: 800; font-size: 28px; color: var(--fw-dunkelrot); }
.fw-einsatz-titel { font-family: var(--wp--preset--font-family--text) !important; font-size: 17px !important; font-weight: 500 !important; text-transform: none !important; line-height: 1.4 !important; }
.fw-einsatz-titel a { text-decoration: none; }
/* ganze Zeile klickbar */
.fw-einsatz-titel a::after { content: ""; position: absolute; inset: 0; }
.fw-einsatz-datum { text-align: right; }
.fw-einsatzliste .fw-seiten { margin-top: 24px; }

.fw-badge {
	justify-self: start;
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	padding: 4px 10px;
	border-radius: 3px;
	background: #EEECE8;
	color: var(--fw-tinte);
}
.fw-badge:empty { background: none; padding: 0; }
.fw-badge--thl { background: #E7EEF7; color: #1D4E89; }
.fw-badge--rd { background: #EAF4EC; color: #1F6B35; }
.fw-badge--brand { background: #FBE9E7; color: var(--fw-dunkelrot); }
.fw-badge--ubung { background: #EFE9F7; color: #5B3A8C; }
.fw-badge--absicherung { background: #FDF3DC; color: #7A4B00; }

@media (max-width: 700px) {
	.fw-einsatz {
		grid-template-columns: 96px auto 1fr;
		grid-template-areas: "bild nr badge" "bild titel titel" "bild datum datum";
		gap: 4px 12px;
		padding: 12px;
	}
	.fw-einsatz-bild { grid-area: bild; align-self: start; }
	.fw-einsatz-nr { grid-area: nr; font-size: 22px; }
	.fw-einsatz .fw-badge { grid-area: badge; }
	.fw-einsatz-titel { grid-area: titel; }
	.fw-einsatz-datum { grid-area: datum; text-align: left; }
}

/* ---------- Mitmachen ---------- */

.fw-mitmachen {
	border-radius: 8px;
	padding: clamp(32px, 5vw, 64px);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 40px;
	align-items: center;
}
.fw-mitmachen > * { margin: 0 !important; }
.fw-mitmachen-titel { margin: 0 0 16px; font-size: clamp(40px, 5vw, 64px); line-height: 0.95; color: #FFFFFF; }
.fw-mitmachen p { font-size: 18px; max-width: 480px; }
.fw-karten { gap: 16px; }
.fw-karte {
	position: relative;
	background: #FFFFFF;
	color: var(--fw-tinte);
	border-radius: 6px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.fw-karte > * { margin: 0 !important; }
.fw-karte:hover { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18); }
.fw-mitmachen .fw-karte p { font-size: 15px; }
.fw-karte-titel { font-family: var(--fw-display); font-weight: 800; font-size: 26px !important; text-transform: uppercase; line-height: 1.1; }
.fw-karte-text { color: var(--fw-grau); }
.fw-karte-link a { font-weight: 600; color: var(--fw-dunkelrot); text-decoration: none; }
.fw-karte-link a::after { content: ""; position: absolute; inset: 0; }

/* ---------- Fahrzeuge ---------- */

.fw-fahrzeug-spalten { gap: 20px; }
.fw-fahrzeuge .wp-block-post-template { gap: 20px; }
.fw-fahrzeug {
	position: relative;
	height: 100%;
	border: 1px solid var(--fw-rahmen);
	border-radius: 6px;
	overflow: hidden;
}
.fw-fahrzeug > * { margin: 0 !important; }
.fw-fahrzeug .wp-block-post-featured-image { background: var(--wp--preset--color--flaeche); }
.fw-fahrzeug-titel { padding: 20px 20px 0; font-size: 28px !important; }
.fw-fahrzeug-titel a { text-decoration: none; }
.fw-fahrzeug-titel a::after { content: ""; position: absolute; inset: 0; }
.fw-fahrzeug-art { margin: 4px 0 0 !important; padding: 0 20px 20px; font-size: 15px; color: var(--fw-grau); }
.fw-kacheln { display: flex; flex-direction: column; gap: 12px; }
.fw-kacheln > * { margin: 0 !important; }
.fw-kachel {
	position: relative;
	flex-grow: 1;
	border-radius: 6px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 8px;
}
.fw-kachel > * { margin: 0 !important; }
.fw-kachel:hover { background: #24272B !important; }
.fw-kachel-titel a { font-family: var(--fw-display); font-weight: 800; font-size: 24px; text-transform: uppercase; color: #F4F2EE; text-decoration: none; }
.fw-kachel-titel a::after { content: ""; position: absolute; inset: 0; }
.fw-kachel-text { font-size: 15px; color: var(--wp--preset--color--hellgrau); }

/* ---------- Termine und Neuigkeiten ---------- */

.fw-verein-spalten { gap: 40px; }
.fw-termine .wp-block-post-template { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.fw-termin { gap: 16px; align-items: center; border: 1px solid var(--fw-rahmen); border-radius: 6px; padding: 14px 18px; }
.fw-termin p, .fw-termin h3 { margin: 0; }
.fw-termin-datum { width: 60px; flex-shrink: 0; text-align: center; line-height: 1; }
.fw-termin-tag { font-family: var(--fw-display); font-weight: 800; font-size: 30px; color: var(--fw-dunkelrot); }
.fw-termin-monat { font-size: 13px; text-transform: uppercase; color: var(--fw-grau); }
.fw-termin-titel { font-family: var(--wp--preset--font-family--text) !important; font-size: 17px !important; font-weight: 600 !important; text-transform: none !important; line-height: 1.4 !important; }
.fw-termin-titel a { text-decoration: none; }
.fw-termin-details { font-size: 14px; color: var(--fw-grau); }
.fw-leer { padding: 18px; border: 1px dashed var(--fw-rahmen); border-radius: 6px; color: var(--fw-grau); }

.fw-neuigkeiten .wp-block-post-template { gap: 16px; }
.fw-beitrag { position: relative; height: 100%; border: 1px solid var(--fw-rahmen); border-radius: 6px; overflow: hidden; }
.fw-beitrag > * { margin: 0 !important; }
.fw-beitrag .wp-block-post-featured-image { background: var(--wp--preset--color--flaeche); }
.fw-beitrag .wp-block-post-date { padding: 16px 16px 0; font-size: 13px; }
.fw-beitrag-titel { padding: 4px 16px 16px; font-family: var(--wp--preset--font-family--text) !important; font-size: 16px !important; font-weight: 600 !important; text-transform: none !important; line-height: 1.4 !important; }
.fw-beitrag-titel a { text-decoration: none; }
.fw-beitrag-titel a::after { content: ""; position: absolute; inset: 0; }

/* ---------- Service ---------- */

.fw-service-raster { gap: 16px; }
.fw-service {
	height: 100%;
	box-sizing: border-box;
	background: #FFFFFF;
	border: 1px solid var(--fw-rahmen);
	border-radius: 6px;
	padding: 24px;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.fw-service:hover { border-color: var(--fw-dunkelrot); }
.fw-service svg { color: var(--fw-dunkelrot); }
.fw-service-titel { font-weight: 600; font-size: 18px; }
.fw-service-text { font-size: 15px; color: var(--fw-grau); }

/* ---------- Footer ---------- */

.fw-footer { font-size: 15px; margin-top: 0; }
.fw-footer p { margin: 0; }
.fw-footer a { color: var(--wp--preset--color--hellgrau); }
.fw-footer a:hover { color: #FFFFFF; }
.fw-footer-spalten { gap: 32px; }
.fw-footer-marke { font-family: var(--fw-display); font-weight: 800; font-size: 26px; text-transform: uppercase; color: #FFFFFF; }
.fw-footer-titel { font-weight: 600; color: #FFFFFF; }
.fw-footer-copy { margin-top: 32px !important; padding-top: 20px; border-top: 1px solid #2E3136; font-size: 14px; color: #9EA3AA; }

/* ---------- Inhaltsseiten ---------- */

.fw-inhalt { padding-top: clamp(40px, 6vw, 72px); padding-bottom: var(--fw-abstand); }
.fw-seitentitel { margin: 4px 0 16px; font-size: clamp(36px, 5vw, 56px); }
.fw-meta { gap: 12px; align-items: center; font-size: 14px; color: var(--fw-grau); margin-bottom: 32px; }
.fw-meta > * { margin: 0 !important; }
.fw-meta-nr::before { content: "Einsatz Nr. "; }
.fw-blaettern { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--fw-rahmen); font-weight: 600; }

.wp-block-post-content h2 { font-size: clamp(28px, 3.5vw, 36px); margin-top: 1.6em; }
.wp-block-post-content h3 { font-size: 24px; margin-top: 1.4em; }
.wp-block-post-content a { color: var(--fw-dunkelrot); }
.wp-block-post-content img { border-radius: 4px; }
.wp-block-post-content video { max-width: 100%; height: auto; }

/* Uebernommene Inhalte der alten Seite */
.alignleft { float: left; margin: 0 1.5rem 1rem 0; }
.alignright { float: right; margin: 0 0 1rem 1.5rem; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 0.85em; text-align: center; color: var(--fw-grau); }
@media (max-width: 600px) { .alignleft, .alignright { float: none; margin: 1rem auto; display: block; } }

.wp-block-table table { border-collapse: collapse; width: 100%; background: #FFFFFF; border: 1px solid var(--fw-rahmen); border-radius: 6px; overflow: hidden; }
.wp-block-table td { border-top: 1px solid var(--fw-linie); padding: 10px 16px; vertical-align: top; }
.wp-block-table tr:first-child td { border-top: 0; }
.wp-block-table td:first-child { font-weight: 600; width: 38%; color: var(--fw-grau); }

/* Klassische [gallery]-Shortcodes */
.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 1.5rem 0; }
.gallery-columns-1 { grid-template-columns: 1fr; }
.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.gallery br { display: none; }
.gallery-item { margin: 0; }
.gallery-item img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: 4px; }
.gallery-caption { font-size: 0.85em; color: var(--fw-grau); }
@media (max-width: 600px) { .gallery { grid-template-columns: repeat(2, 1fr); } }

/* Externe Inhalte (statt Einbettung) */
.fw-extern span { font-size: 0.85em; color: var(--fw-grau); }

/* Beitragsraster (Aktuelles, Kategorien) */
.fw-raster .wp-block-post-template { gap: 20px; }
.fw-raster .wp-block-post { position: relative; background: #FFFFFF; border: 1px solid var(--fw-rahmen); border-radius: 6px; overflow: hidden; display: flex; flex-direction: column; }
.fw-raster .wp-block-post > * { margin: 0 !important; padding-inline: 16px; }
.fw-raster .wp-block-post > .wp-block-post-featured-image { padding: 0; background: var(--wp--preset--color--flaeche); }
.fw-raster .wp-block-post-title { padding-top: 8px; font-family: var(--wp--preset--font-family--text) !important; font-size: 17px !important; font-weight: 600 !important; text-transform: none !important; line-height: 1.4 !important; }
.fw-raster .wp-block-post-title a { text-decoration: none; }
.fw-raster .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.fw-raster .wp-block-post-date { padding-top: 16px; }
.fw-raster .wp-block-post-excerpt { padding-bottom: 16px; font-size: 15px; color: var(--fw-grau); }
.fw-raster .wp-block-post-excerpt__more-link { display: none; }
.wp-block-query-pagination { margin-top: 32px; gap: 12px; font-weight: 600; }

/* ---------- Kontaktformular ---------- */

.fw-kontakt form { display: grid; gap: 18px; max-width: 640px; }
.fw-kontakt form > p { margin: 0 !important; }
.fw-kontakt label { display: block; font-weight: 600; margin-bottom: 6px; }
.fw-kontakt input[type="text"],
.fw-kontakt input[type="email"],
.fw-kontakt textarea {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	padding: 12px 14px;
	border: 1px solid #B9B3A9;
	border-radius: 4px;
	background: #FFFFFF;
	color: var(--fw-tinte);
}
.fw-kontakt input:focus, .fw-kontakt textarea:focus { outline: 2px solid var(--fw-rot); outline-offset: 1px; border-color: var(--fw-rot); }
.fw-kontakt button { cursor: pointer; border: 0; }
.fw-kontakt-hinweis { font-size: 14px; color: var(--fw-grau); }
.fw-kontakt-meldung { padding: 14px 18px; border-radius: 6px; font-weight: 600; }
.fw-kontakt-meldung.is-ok { background: #EAF4EC; color: #1F6B35; }
.fw-kontakt-meldung.is-fehler { background: #FBE9E7; color: var(--fw-dunkelrot); }
.fw-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Bedienbarkeit ---------- */

a:focus-visible, button:focus-visible { outline: 3px solid var(--fw-rot); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
html { scroll-behavior: smooth; }
.fw-termin-rhythmus { display: inline-block; margin-top: 4px !important; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; padding: 2px 8px; border-radius: 3px; background: #F4F2EE; color: var(--fw-grau); }

/* ---------- Beitraege und Seiten ---------- */

.fw-termine .wp-block-post-template > .wp-block-post { margin: 0; }

.fw-artikel { padding-bottom: var(--fw-abstand); }
.fw-kopf { padding-top: clamp(40px, 6vw, 80px); padding-bottom: clamp(40px, 6vw, 72px); }
.fw-kopf > * { margin-block: 0; }
.fw-kopf .fw-kicker a { color: #FF8A8A; }
.fw-kopf .fw-kicker a:hover { color: #FFFFFF; }
.fw-kopf .wp-block-post-terms__separator { color: #FF8A8A; }
.fw-kopf-titel { margin-top: 10px !important; font-size: clamp(38px, 5.5vw, 68px); line-height: 0.98; color: #FFFFFF; }
.fw-kopf .fw-meta { margin-top: 20px !important; margin-bottom: 0 !important; color: var(--wp--preset--color--hellgrau); font-size: 15px; }
.fw-kopf .wp-block-post-date { color: var(--wp--preset--color--hellgrau); font-size: 15px; }
.fw-meta-nr { font-family: var(--fw-display); font-weight: 700; font-size: 18px; letter-spacing: 0.04em; color: #FFFFFF; }

/* Kopfbild ragt in das dunkle Band hinein */
.fw-kopf:has(+ .fw-kopfbild) { padding-bottom: clamp(96px, 12vw, 180px); }
.fw-kopfbild { margin-top: calc(-1 * clamp(64px, 9vw, 140px)) !important; position: relative; }
.fw-kopfbild img { border-radius: 8px; box-shadow: 0 18px 40px rgba(22, 24, 27, 0.18); }

.fw-text { margin-top: clamp(32px, 5vw, 56px) !important; font-size: 18px; line-height: 1.7; }
.fw-text > * + * { margin-top: 1.1em; }
.fw-text p:has(> strong:only-child) { margin-top: 1.8em; font-size: 20px; }
.fw-text ul, .fw-text ol { padding-left: 1.3em; }
.fw-text li + li { margin-top: 0.35em; }
.fw-text li::marker { color: var(--fw-rot); }
.fw-text blockquote { margin-inline: 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--fw-rot); font-size: 20px; }
.fw-text hr { border: 0; border-top: 1px solid var(--fw-rahmen); margin-block: 2.5em; }
.fw-text > p > img.aligncenter, .fw-text > p > img.alignnone,
.fw-text > .wp-caption, .fw-text > figure.wp-caption { box-shadow: 0 10px 30px rgba(22, 24, 27, 0.10); border-radius: 6px; }
.fw-text .wp-caption { background: #FFFFFF; padding: 8px 8px 4px; border-radius: 6px; box-sizing: border-box; }
.fw-text .wp-caption img { border-radius: 4px; display: block; }
.fw-text .gallery { margin-block: 2em; gap: 12px; }
.fw-text .gallery-item a { display: block; overflow: hidden; border-radius: 6px; cursor: zoom-in; }
.fw-text .gallery-item img { transition: transform 0.3s ease; }
.fw-text .gallery-item a:hover img { transform: scale(1.05); }

/* Einsatzdaten-Tabelle am Anfang eines Einsatzberichts */
.fw-einsatzbericht .fw-text > figure.wp-block-table:first-child {
	position: relative;
	background: #FFFFFF;
	border: 1px solid var(--fw-rahmen);
	border-radius: 8px;
	padding: 56px 0 4px;
	overflow: hidden;
}
.fw-einsatzbericht .fw-text > figure.wp-block-table:first-child::before {
	content: "Einsatzdaten";
	position: absolute;
	top: 0; left: 0; right: 0;
	padding: 12px 20px;
	background: var(--fw-tinte);
	color: #FFFFFF;
	font-family: var(--fw-display);
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.fw-einsatzbericht .fw-text > figure.wp-block-table:first-child table { border: 0; border-radius: 0; font-size: 16px; }
.fw-einsatzbericht .fw-text > figure.wp-block-table:first-child td { padding: 10px 20px; }
.fw-einsatzbericht .fw-text > figure.wp-block-table:first-child td:first-child { font-size: 13px; text-transform: uppercase; letter-spacing: 0.06em; padding-top: 13px; }

.fw-weitere { margin-top: var(--fw-abstand) !important; padding-top: 48px; border-top: 1px solid var(--fw-rahmen); }
.fw-weitere .fw-blaettern { margin-top: 40px; padding-top: 0; border-top: 0; }

/* Lightbox */
.fw-lb-offen { overflow: hidden; }
.fw-lightbox {
	position: fixed; inset: 0; z-index: 1000;
	background: rgba(12, 13, 15, 0.94);
	display: grid; grid-template-columns: 64px 1fr 64px; align-items: center;
	padding: 24px 8px;
}
.fw-lightbox[hidden] { display: none; }
.fw-lightbox figure { margin: 0; grid-column: 2; text-align: center; }
.fw-lightbox img { max-width: 100%; max-height: calc(100vh - 120px); object-fit: contain; border-radius: 4px; }
.fw-lightbox figcaption { margin-top: 12px; color: var(--wp--preset--color--hellgrau); font-size: 15px; }
.fw-lightbox button {
	width: 48px; height: 48px; border: 0; border-radius: 50%;
	background: rgba(255, 255, 255, 0.1); color: #FFFFFF;
	font-size: 30px; line-height: 1; cursor: pointer;
}
.fw-lightbox button:hover { background: var(--fw-rot); }
.fw-lb-zurueck { grid-column: 1; grid-row: 1; justify-self: center; }
.fw-lb-weiter { grid-column: 3; grid-row: 1; justify-self: center; }
.fw-lb-zu { position: absolute; top: 16px; right: 16px; }
.fw-lb-zaehler { position: absolute; top: 26px; left: 24px; margin: 0; color: var(--wp--preset--color--hellgrau); font-size: 14px; }
.fw-lightbox.ist-einzeln .fw-lb-zurueck, .fw-lightbox.ist-einzeln .fw-lb-weiter { visibility: hidden; }
@media (max-width: 600px) {
	.fw-lightbox { grid-template-columns: 0 1fr 0; }
	.fw-lb-zurueck, .fw-lb-weiter { position: absolute; bottom: 20px; }
	.fw-lb-zurueck { left: 24px; }
	.fw-lb-weiter { right: 24px; }
}
