/* Einzelansicht Einsatzbericht: Text links, Datenkasten rechts */
.ffb-einsatz {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 330px);
	gap: 2.5rem;
	align-items: start;
}
.ffb-einsatz-text > :first-child { margin-top: 0; }
.ffb-einsatz-text img { height: auto; border-radius: 6px; }
.ffb-einsatz-daten {
	position: sticky;
	top: calc(var(--admin-bar, 0px) + 1.5rem);
	padding: 1.25rem 1.4rem 1rem;
	background: #F3F4F8;
	border-top: 4px solid #D0080F;
	border-radius: 6px;
	font-size: .95em;
}
.ffb-daten-titel {
	margin: 0 0 .8rem;
	font-size: 1.05rem;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: #1F2A78;
}
.ffb-einsatz-daten dl { margin: 0; }
.ffb-d {
	display: grid;
	grid-template-columns: 9.5em minmax(0, 1fr);
	gap: .6em;
	padding: .45em 0;
	border-bottom: 1px solid #E3E5EE;
}
.ffb-d:last-child { border-bottom: 0; }
.ffb-d dt { margin: 0; font-weight: 600; color: #3A3F5C; }
.ffb-d dd { margin: 0; overflow-wrap: anywhere; }
.ffb-d dd p { margin: 0; }
@media (max-width: 900px) {
	.ffb-einsatz { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
	.ffb-einsatz-daten { position: static; } /* 1.6.5: mobil unter dem Text */
}
@media (max-width: 420px) {
	.ffb-d { grid-template-columns: minmax(0, 1fr); gap: .1em; }
}
.ffb-einsatz-bild:empty { display: none; }
.ffb-einsatz-bild { margin-bottom: 1.5rem; }
.ffb-einsatz-bild a { display: block; }
.ffb-einsatz-bild img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 1;
	max-height: 380px;
	object-fit: cover;
	object-position: center 40%;
	border-radius: 6px;
	cursor: zoom-in;
}
/* weitere Bilder im Bericht: nicht höher als 420 px, ganzes Bild sichtbar */
.ffb-einsatz-text figure.wp-block-image { margin: 1.5rem 0; }
.ffb-einsatz-text figure.wp-block-image img {
	width: auto;
	max-width: 100%;
	max-height: 420px;
	object-fit: contain;
}
@media (max-width: 640px) {
	.ffb-einsatz-bild img { aspect-ratio: 3 / 2; max-height: 260px; }
	.ffb-einsatz-text figure.wp-block-image img { max-height: 300px; }
}
/* Blättern zwischen Einsätzen */
.ffb-einsatz-nav {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 1rem;
	align-items: center;
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid #E3E5EE;
}
.ffb-einsatz-nav a { text-decoration: none; }
.ffb-nav-prev, .ffb-nav-next { display: flex; flex-direction: column; gap: .2em; }
.ffb-nav-next { text-align: right; }
.ffb-nav-label { font-size: .8em; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: #D0080F; }
.ffb-nav-titel { color: #1F2A78; font-weight: 600; line-height: 1.35; }
.ffb-nav-prev:hover .ffb-nav-titel, .ffb-nav-next:hover .ffb-nav-titel { text-decoration: underline; }
.ffb-nav-alle {
	padding: .55em 1.1em;
	border: 2px solid #1F2A78;
	border-radius: 6px;
	color: #1F2A78;
	font-weight: 600;
	white-space: nowrap;
}
.ffb-nav-alle:hover { background: #1F2A78; color: #fff; }
@media (max-width: 640px) {
	.ffb-einsatz-nav { grid-template-columns: 1fr 1fr; }
	.ffb-nav-alle { grid-column: 1 / -1; grid-row: 2; justify-self: center; }
}
/* Bild im Text rechts, Text fließt drumherum */
.ffb-einsatz-text figure.wp-block-image.alignright {
	float: right;
	width: 45%;
	max-width: 420px;
	margin: .35rem 0 1rem 1.75rem;
}
.ffb-einsatz-text figure.wp-block-image.alignright img {
	width: 100%;
	max-height: none;
	height: auto;
	border-radius: 6px;
	cursor: zoom-in;
}
.ffb-einsatz-text::after { content: ""; display: block; clear: both; }
@media (max-width: 640px) {
	.ffb-einsatz-text figure.wp-block-image.alignright { float: none; width: 100%; max-width: none; margin: 1.25rem 0; }
}
/* Blocksatz mit automatischer Silbentrennung (verhindert große Lücken) */
.ffb-einsatz-text p {
	text-align: justify;
	-webkit-hyphens: auto;
	hyphens: auto;
	hyphenate-limit-chars: 6 3 3;
}
/* Großansicht */
.ffb-lb {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3.5rem 1rem 1rem;
	background: rgba(10, 14, 40, .92);
	cursor: zoom-out;
}
.ffb-lb[hidden] { display: none; }
.ffb-lb img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 4px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, .5);
	cursor: default;
}
.ffb-lb-zu {
	position: absolute;
	top: .8rem;
	right: 1rem;
	width: 2.6rem;
	height: 2.6rem;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: #1F2A78;
	font-size: 1.3rem;
	line-height: 1;
	cursor: pointer;
}
.ffb-lb-zu:hover, .ffb-lb-zu:focus-visible { background: #D0080F; color: #fff; outline: none; }
html.ffb-lb-offen { overflow: hidden; }

/* jedes Bild im Bericht ist anklickbar */
.ffb-einsatz-text img { cursor: zoom-in; }
.ffb-einsatz-text a:not([href$=".jpg"]):not([href$=".jpeg"]):not([href$=".png"]):not([href$=".webp"]) img { cursor: pointer; }

/* Neuigkeiten (ab 1.5.0): Bildunterschriften */
.ffb-beitrag-text figure.wp-block-image figcaption,
.ffb-beitrag-text .ffb-bild-unterschrift {
	margin-top: .4em;
	font-size: .85em;
	line-height: 1.35;
	text-align: center;
	color: #3A3F5C;
	hyphens: manual;
}
.ffb-beitrag-text .ffb-bild-unterschrift { margin: .4em 0 0; text-align: center; }

/* Weitere News unter jedem Beitrag (ab 1.5.7) */
.ffb-weitere { clear: both; margin-top: 2.5em; padding-top: 1.5em; border-top: 1px solid #E3E5EE; }
.ffb-weitere-titel { color: #1F2A78; font-size: 1.5em; margin: 0 0 .8em; }
.ffb-weitere-liste { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ffb-weitere-karte { display: flex; flex-direction: column; background: #fff; border: 1px solid #E3E5EE; border-radius: 10px; overflow: hidden; text-decoration: none; color: inherit; transition: box-shadow .2s; }
.ffb-weitere-karte:hover { box-shadow: 0 6px 18px rgba(31, 42, 120, .12); }
.ffb-weitere-bild { display: block; aspect-ratio: 4 / 3; background: #F3F4F8; overflow: hidden; }
.ffb-weitere-bild img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ffb-weitere-meta { font-size: .8em; color: #4A4F6A; padding: 12px 16px 0; }
.ffb-weitere-name { color: #1F2A78; font-weight: 600; line-height: 1.3; padding: 4px 16px 16px; }
.ffb-weitere-karte:hover .ffb-weitere-name { color: #D0080F; }
@media (max-width: 900px) { .ffb-weitere-liste { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ffb-weitere-liste { grid-template-columns: 1fr; } }
