/* KFC Design · Agentur Baumgartner · 2026-11-15
   Ersetzt das frühere „Zusätzliche CSS“ (Sicherung: sicherung-php83-20261115/zusaetzliches-css-vor-design.css) */

:root {
	--kfc-blau: #004080;
	--kfc-blau-dunkel: #0b2a4f;
	--kfc-blau-tief: #071d38;
	--kfc-gelb: #ffcc00;
	--kfc-gelb-hover: #ffd83d;
	--kfc-text: #1c2735;
	--kfc-text-leise: #556274;
	--kfc-flaeche: #f2f5f9;
	--kfc-linie: #dfe5ec;
	--kfc-radius: 10px;
	--kfc-radius-klein: 6px;
	--kfc-schatten: 0 10px 30px rgba(7, 29, 56, .12);
	--kfc-header: 84px;
	--kfc-trans: 220ms cubic-bezier(.2, .7, .2, 1);
}
@media (max-width: 768px) {
	:root { --kfc-header: 68px; }
}

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

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: 1ms !important; animation-duration: 1ms !important; }
}

body {
	color: var(--kfc-text);
	background: #fff;
	font-size: 17px;
}

.main p,
.main li,
.main .wpb_text_column {
	font-weight: 400;
	color: var(--kfc-text);
	line-height: 1.7;
}
.main p { text-wrap: pretty; }

.main h1, .main h2, .main h3, .main h4, .main h5 {
	color: var(--kfc-blau-tief);
	text-wrap: balance;
}
.main h2 { font-weight: 700; }
.main h3 { font-weight: 700; font-size: 22px; margin: 1.6em 0 .5em; }

.page:not(.woocommerce-page) .blog-post .section-text h2 {
	font-weight: 700;
	text-shadow: none;
}

h1.hestia-title.title-in-content {
	font-size: clamp(32px, 4vw, 44px);
	font-weight: 700;
	letter-spacing: -.015em;
	color: var(--kfc-blau-tief);
	padding-bottom: 12px;
	margin-bottom: 28px;
	position: relative;
}
h1.hestia-title.title-in-content::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 56px;
	height: 4px;
	border-radius: 2px;
	background: var(--kfc-gelb);
}

/* Fließtext-Links */
.main .wpb_text_column a,
.main .entry-content p a,
.main .section-text p a {
	color: var(--kfc-blau);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color var(--kfc-trans);
}
.main .wpb_text_column a:hover,
.main .section-text p a:hover { color: var(--kfc-blau-tief); text-decoration-thickness: 2px; }

/* Lesbare Zeilenlänge für reine Textseiten */
.main .vc_col-sm-12 .wpb_text_column > .wpb_wrapper > p,
.main .vc_col-sm-12 .wpb_text_column > .wpb_wrapper > ul:not([class]) { max-width: 78ch; }

/* Fokus für Tastatur */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--kfc-gelb) !important;
	outline-offset: 2px;
}

/* Inhalt unter dem fixen Header */
.page-header,
.header-small { display: none; }

.main > .blog-post > .container,
.main .blog-post > .container {
	padding-top: calc(var(--kfc-header) + 32px);
}
.title-in-content { padding-bottom: 30px; }

/* Startseiten-Layout: Seitentitel nicht anzeigen */
.kfc-start h1.hestia-title.title-in-content { display: none; }
.kfc-start .main > .blog-post > .container { padding-top: calc(var(--kfc-header) + 20px); }

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

.navbar.navbar-default {
	background: var(--kfc-blau) !important;
	color: #fff;
	box-shadow: 0 2px 14px rgba(7, 29, 56, .28);
	padding-top: 8px;
	padding-bottom: 8px;
	min-height: 0;
	transition: padding var(--kfc-trans);
}
.navbar .title-logo-wrapper { max-width: 440px; }
.navbar .navbar-header .navbar-brand { padding-top: 0; padding-bottom: 0; }
.navbar .navbar-header .navbar-brand img {
	max-height: 66px !important;
	width: auto;
	transition: max-height var(--kfc-trans);
}
.kfc-scrolled .navbar.navbar-default { padding-top: 4px; padding-bottom: 4px; }
.kfc-scrolled .navbar .navbar-header .navbar-brand img { max-height: 48px !important; }

/* Desktop-Menü */
@media (min-width: 769px) {
	.navbar .navbar-nav > li > a {
		color: #fff !important;
		font-size: 14px;
		font-weight: 500;
		letter-spacing: .02em;
		text-transform: none;
		padding: 10px 14px;
		margin: 0 2px;
		border-radius: var(--kfc-radius-klein);
		position: relative;
		transition: background-color var(--kfc-trans);
	}
	.navbar .navbar-nav > li > a:hover,
	.navbar .navbar-nav > li:focus-within > a,
	.navbar .navbar-nav > li.open > a {
		background: rgba(255, 255, 255, .12) !important;
		color: #fff !important;
	}
	.navbar .navbar-nav > li > a::after {
		content: "";
		position: absolute;
		left: 14px;
		right: 14px;
		bottom: 4px;
		height: 3px;
		border-radius: 2px;
		background: var(--kfc-gelb);
		transform: scaleX(0);
		transition: transform var(--kfc-trans);
	}
	.navbar .navbar-nav > li.current-menu-item > a::after,
	.navbar .navbar-nav > li.current-menu-ancestor > a::after,
	.navbar .navbar-nav > li.current-menu-parent > a::after { transform: scaleX(1); }

	.navbar .navbar-nav .caret svg { fill: #fff; }

	.navbar .navbar-nav .dropdown-menu {
		background: var(--kfc-blau-dunkel);
		border: 0;
		border-radius: var(--kfc-radius);
		padding: 8px;
		min-width: 230px;
		box-shadow: 0 16px 36px rgba(7, 29, 56, .35);
	}
	.navbar .navbar-nav .dropdown-menu li > a {
		color: #fff !important;
		font-size: 15px;
		font-weight: 400;
		text-transform: none;
		padding: 10px 14px;
		border-radius: var(--kfc-radius-klein);
		transition: background-color var(--kfc-trans);
	}
	.navbar .navbar-nav .dropdown-menu li > a:hover,
	.navbar .navbar-nav .dropdown-menu li > a:focus {
		background: rgba(255, 255, 255, .12) !important;
		color: #fff !important;
	}
	.navbar .navbar-nav .dropdown-menu li.current-menu-item > a {
		box-shadow: inset 3px 0 0 var(--kfc-gelb);
		background: rgba(255, 255, 255, .06);
	}
	/* Untermenü auch per Tastatur erreichbar */
	.navbar .navbar-nav .dropdown:focus-within > .dropdown-menu {
		display: block;
		opacity: 1;
		visibility: visible;
		transform: none;
	}
}

/* Mobiles Menü */
@media (max-width: 768px) {
	.navbar .navbar-header .navbar-brand img { max-height: 50px !important; }
	.kfc-scrolled .navbar .navbar-header .navbar-brand img { max-height: 44px !important; }
	.navbar .title-logo-wrapper { max-width: calc(100% - 64px); }

	.navbar-default .navbar-toggle {
		width: 48px;
		height: 48px;
		margin: 0;
		padding: 12px;
		border-radius: var(--kfc-radius-klein);
	}
	.navbar-default .navbar-toggle .icon-bar { background: #fff; }

	.navbar.navbar-fixed-top .navbar-collapse {
		top: 0;
		margin-top: var(--kfc-menu-top, var(--kfc-header)) !important;
		max-height: calc(100vh - var(--kfc-menu-top, var(--kfc-header)));
		max-height: calc(100dvh - var(--kfc-menu-top, var(--kfc-header)));
		background: var(--kfc-blau-dunkel) !important;
		border-top: 1px solid rgba(255, 255, 255, .12);
		box-shadow: 0 18px 40px rgba(7, 29, 56, .45);
		padding: 0 0 24px;
	}
	body.menu-open { overflow: hidden; }

	.navbar .nav.navbar-nav {
		background: transparent !important;
		margin: 0;
	}
	.navbar .navbar-nav > li > a {
		display: block;
		color: #fff !important;
		font-size: 17px;
		font-weight: 500;
		letter-spacing: 0;
		text-transform: none;
		line-height: 1.3;
		padding: 15px 68px 15px 22px;
		min-height: 54px;
		border-bottom: 1px solid rgba(255, 255, 255, .1);
	}
	.navbar .navbar-nav > li > a:hover,
	.navbar .navbar-nav > li > a:focus { background: rgba(255, 255, 255, .06); color: #fff !important; }

	.navbar .navbar-nav > li.current-menu-item > a,
	.navbar .navbar-nav > li.current-menu-ancestor > a,
	.navbar .navbar-nav .dropdown-menu li.current-menu-item > a {
		box-shadow: inset 4px 0 0 var(--kfc-gelb);
	}

	/* Auf-/Zu-Pfeil als große Tippfläche */
	.navbar .navbar-nav .dropdown a .caret {
		border: 0;
		border-left: 1px solid rgba(255, 255, 255, .1);
		border-radius: 0;
		color: #fff;
		width: 56px;
		height: 54px;
		top: 0;
		right: 0;
		background: transparent;
	}
	.navbar .navbar-nav .dropdown a .caret svg {
		fill: #fff;
		width: 14px;
		margin: 20px 21px;
	}

	.navbar .navbar-nav .dropdown .dropdown-menu {
		background: rgba(0, 0, 0, .2) !important;
		border-radius: 0;
		padding: 4px 0;
	}
	.navbar .navbar-nav .dropdown .dropdown-menu li a {
		color: #fff !important;
		font-size: 16px;
		font-weight: 400;
		text-transform: none;
		line-height: 1.35;
		padding: 13px 22px 13px 40px;
		border-bottom: 1px solid rgba(255, 255, 255, .06);
	}
	.navbar .navbar-nav .dropdown .dropdown-menu li:last-child a { border-bottom: 0; }
	.navbar .navbar-nav .dropdown .dropdown-menu li a:hover,
	.navbar .navbar-nav .dropdown .dropdown-menu li a:focus {
		color: var(--kfc-gelb) !important;
		background: transparent;
	}
}

/* ---------- Buttons ---------- */

.kfc-btn,
.wpcf7 .wpcf7-submit,
.main .vc_btn3.vc_general,
.main .wpb_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--kfc-gelb) !important;
	color: #14181f !important;
	border: 0 !important;
	border-radius: var(--kfc-radius-klein) !important;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none !important;
	line-height: 1.2;
	padding: 13px 24px !important;
	box-shadow: 0 4px 14px rgba(255, 204, 0, .28);
	cursor: pointer;
	transition: background-color var(--kfc-trans), transform var(--kfc-trans), box-shadow var(--kfc-trans);
}
.kfc-btn:hover,
.wpcf7 .wpcf7-submit:hover,
.main .vc_btn3.vc_general:hover,
.main .wpb_btn:hover {
	background: var(--kfc-gelb-hover) !important;
	box-shadow: 0 6px 18px rgba(255, 204, 0, .38);
	transform: translateY(-1px);
}
.kfc-btn:active,
.wpcf7 .wpcf7-submit:active,
.main .vc_btn3.vc_general:active { transform: translateY(1px) scale(.98); }

.kfc-btn-hell {
	background: rgba(255, 255, 255, .14) !important;
	color: #fff !important;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .7);
}
.kfc-btn-hell:hover {
	background: rgba(255, 255, 255, .24) !important;
	box-shadow: inset 0 0 0 2px #fff;
}

/* Nach oben */
.hestia-scroll-to-top {
	background: var(--kfc-blau) !important;
	color: #fff !important;
	box-shadow: 0 6px 18px rgba(7, 29, 56, .3) !important;
	opacity: .92;
}
.hestia-scroll-to-top:hover { background: var(--kfc-blau-dunkel) !important; opacity: 1; }

/* ---------- Beitrags-Raster (Aktuelles, Vereinsleben, Bildergalerie) ---------- */

/* WPBakery-Raster ragt sonst 30 px über den Rand (waagrechtes Scrollen am Handy) */
.vc_grid-container-wrapper { overflow-x: clip; }

.vc_grid .vc_grid-item-mini {
	border-radius: var(--kfc-radius);
	overflow: hidden;
	background: #fff;
	box-shadow: 0 0 0 1px var(--kfc-linie);
	transition: box-shadow var(--kfc-trans), transform var(--kfc-trans);
	height: 100%;
}
.vc_grid .vc_grid-item-mini:hover {
	box-shadow: var(--kfc-schatten), 0 0 0 1px var(--kfc-linie);
	transform: translateY(-2px);
}
.vc_grid .vc_gitem-zone-a { overflow: hidden; }
.vc_grid .vc_gitem-zone-a .vc_gitem-zone-img { transition: transform 500ms ease; }
.vc_grid .vc_grid-item-mini:hover .vc_gitem-zone-img { transform: scale(1.03); }
.vc_grid .vc_gitem-zone-c {
	background: #fff !important;
	padding: 18px 20px 20px;
}
.vc_grid .vc_gitem-zone-c h4 {
	font-size: 19px !important;
	font-weight: 700;
	line-height: 1.3;
	color: var(--kfc-blau-tief);
	margin: 0 0 8px;
}
.vc_grid .vc_gitem-zone-c p {
	font-size: 15px;
	color: var(--kfc-text-leise);
	line-height: 1.55;
	margin: 0 0 6px;
}
.vc_grid .vc_gitem-zone-c .wpb_btn,
.vc_grid .vc_gitem-zone-c .vc_btn3 {
	background: none !important;
	box-shadow: none !important;
	color: var(--kfc-blau) !important;
	padding: 6px 0 0 !important;
	font-size: 15px;
}
.vc_grid .vc_gitem-zone-c .wpb_btn::after,
.vc_grid .vc_gitem-zone-c .vc_btn3::after { content: "→"; transition: transform var(--kfc-trans); }
.vc_grid .vc_grid-item-mini:hover .wpb_btn::after { transform: translateX(3px); }

/* ---------- Bildkarussell, Video ---------- */

.main .vc_images_carousel { border-radius: var(--kfc-radius); overflow: hidden; }
.main .vc_images_carousel .vc_carousel-indicators li { border-color: var(--kfc-blau); }
.main .vc_images_carousel .vc_carousel-indicators .vc_active { background: var(--kfc-blau); }
.wpb_video_widget { margin-bottom: 28px; }

/* YouTube-Platzhalter (2-Klick) in jeder Spaltenbreite vollständig */
.wpb_video_wrapper:has(.kfc-yt) { padding-top: 0 !important; height: auto !important; }
.kfc-yt {
	aspect-ratio: 16 / 9;
	height: auto !important;
	min-height: 0;
	overflow: visible !important;
	background: linear-gradient(160deg, var(--kfc-blau) 0%, var(--kfc-blau-tief) 100%) !important;
	border-radius: var(--kfc-radius) !important;
}
.kfc-yt:has(iframe) { overflow: hidden !important; }
.kfc-yt-inner { padding: 22px 20px !important; }
.kfc-yt-title { font-size: 16px; line-height: 1.35; }
.kfc-yt-btn {
	border-radius: var(--kfc-radius-klein) !important;
	font-size: 15px;
	transition: background-color var(--kfc-trans), transform var(--kfc-trans);
}
.kfc-yt-btn:active { transform: scale(.98); }
.main .kfc-yt p.kfc-yt-title { color: #fff !important; font-weight: 700; }
.main .kfc-yt p.kfc-yt-note,
.main .kfc-yt p.kfc-yt-note a { font-size: 12px !important; line-height: 1.5; color: rgba(255, 255, 255, .85) !important; }

/* Sparten-Seiten: Text bleibt neben Video und Bildern stehen */
@media (min-width: 769px) {
	.main .wpb-content-wrapper > .vc_row:has(> .vc_col-sm-6 .vc_images_carousel) { display: flex; align-items: flex-start; }
	.main .wpb-content-wrapper > .vc_row:has(> .vc_col-sm-6 .vc_images_carousel) > .vc_col-sm-6:first-child {
		position: sticky;
		top: calc(var(--kfc-header) + 56px);
	}
	.main .wpb-content-wrapper > .vc_row:has(> .vc_col-sm-6 .vc_images_carousel) > .vc_col-sm-6:first-child p { font-size: 17px; }
}

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

.wpcf7 label { display: block; font-size: 15px; font-weight: 700; color: var(--kfc-blau-tief); margin-bottom: 16px; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
	display: block;
	width: 100% !important;
	max-width: 100%;
	height: auto !important;
	margin-top: 6px;
	padding: 12px 14px !important;
	font-size: 16px !important;
	font-weight: 400;
	color: var(--kfc-text);
	background: #fff !important;
	background-image: none !important;
	border: 1px solid #c9d2dd !important;
	border-radius: var(--kfc-radius-klein) !important;
	box-shadow: none !important;
	transition: border-color var(--kfc-trans), box-shadow var(--kfc-trans);
}
.wpcf7 textarea { min-height: 160px; resize: vertical; }
.wpcf7 input:focus,
.wpcf7 textarea:focus {
	border-color: var(--kfc-blau) !important;
	box-shadow: 0 0 0 3px rgba(0, 64, 128, .15) !important;
	outline: none;
}
.wpcf7 .wpcf7-form-control-wrap { display: block; }
.wpcf7 .wpcf7-not-valid-tip { font-size: 14px; color: #b42318; margin-top: 4px; }
.wpcf7 form .wpcf7-response-output { border-radius: var(--kfc-radius-klein); padding: 12px 16px; margin: 16px 0 0; font-size: 15px; }
.wpcf7 .kfc-hinweis { font-size: 14px; color: var(--kfc-text-leise); margin: 4px 0 18px; }

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

footer.footer.footer-black {
	background: var(--kfc-blau-tief) !important;
	color: rgba(255, 255, 255, .8);
	padding-top: 56px;
}
footer.footer .container { padding-top: 0; }
footer.footer h5 {
	color: #fff !important;
	font-size: 16px;
	font-weight: 700;
	text-transform: none;
	letter-spacing: .01em;
	margin: 0 0 14px;
}
footer.footer .textwidget,
footer.footer .textwidget p,
footer.footer .textwidget strong { color: rgba(255, 255, 255, .8) !important; font-size: 15px; line-height: 1.7; }
footer.footer .textwidget strong { color: #fff !important; }
footer.footer a { color: #fff !important; text-decoration: none; transition: color var(--kfc-trans); }
footer.footer a:hover { color: var(--kfc-gelb) !important; }
footer.footer .widget { margin-bottom: 24px; }
footer.footer .widget_media_image img { border-radius: var(--kfc-radius-klein); max-width: 200px; height: auto; }
footer.footer hr { border-color: rgba(255, 255, 255, .14); margin: 16px 0; }
footer.footer .hestia-bottom-footer-content { padding: 6px 0 22px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; }
footer.footer .hestia-bottom-footer-content .pull-left,
footer.footer .hestia-bottom-footer-content .pull-right { float: none !important; }
footer.footer .footer-menu li a { font-size: 14px; font-weight: 500; text-transform: none; color: rgba(255, 255, 255, .85) !important; padding: 6px 12px 6px 0; }
footer.footer .copyright { font-size: 14px; color: rgba(255, 255, 255, .65); text-align: right; }

.kfc-footer-links { list-style: none; margin: 0; padding: 0; }
.kfc-footer-links li { margin: 0 0 8px; }
footer.footer .kfc-footer-links a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 0;
	font-size: 15px;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.6;
}
footer.footer .kfc-footer-links li { margin: 0 0 6px; padding: 0; }
.kfc-footer-links svg { width: 18px; height: 18px; fill: currentColor; flex: none; }
.kfc-footer-dl {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	padding: 9px 14px;
	border-radius: var(--kfc-radius-klein);
	background: rgba(255, 255, 255, .08);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18);
	font-weight: 500;
	transition: background-color var(--kfc-trans), color var(--kfc-trans);
}
.kfc-footer-dl:hover { background: rgba(255, 255, 255, .14); }

@media (max-width: 767px) {
	footer.footer .hestia-bottom-footer-content { justify-content: flex-start; }
	footer.footer .footer-menu { padding-left: 0; margin-left: 0; }
	footer.footer .footer-menu li:first-child a { padding-left: 0; }
	footer.footer .copyright { text-align: left; }
}

/* ---------- Bausteine Startseite ---------- */

.kfc-hero {
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	min-height: clamp(420px, 56vw, 560px);
	display: flex;
	align-items: flex-end;
	isolation: isolate;
	background: var(--kfc-tief);
	margin-bottom: 28px;
}
.kfc-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, rgba(7, 29, 56, .92) 0%, rgba(7, 29, 56, .72) 42%, rgba(7, 29, 56, .1) 78%);
}
.kfc-hero-slides { position: absolute; inset: 0; z-index: -2; }
.kfc-hero-slide {
	position: absolute;
	inset: 0;
	background: center / cover no-repeat;
	opacity: 0;
	transform: scale(1.06);
	transition: opacity 1.2s ease, transform 7s linear;
}
.kfc-hero-slide.is-aktiv { opacity: 1; transform: scale(1); }
.kfc-hero-punkte {
	position: absolute;
	right: clamp(18px, 3vw, 32px);
	bottom: clamp(18px, 3vw, 28px);
	display: flex;
	gap: 4px;
}
.kfc-hero-punkte button {
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	display: grid;
	place-items: center;
}
.kfc-hero-punkte button::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .45);
	transition: background-color var(--kfc-trans), transform var(--kfc-trans);
}
.kfc-hero-punkte button:hover::before { background: rgba(255, 255, 255, .8); }
.kfc-hero-punkte button[aria-current="true"]::before { background: var(--kfc-gelb); transform: scale(1.25); }
.kfc-hero-punkte button:focus-visible { outline: 2px solid var(--kfc-gelb); outline-offset: 2px; border-radius: 50%; }
@media (prefers-reduced-motion: reduce) {
	.kfc-hero-slide, .kfc-hero-slide.is-aktiv { transform: none; transition: opacity .4s ease; }
}
.kfc-hero-inhalt { padding: clamp(28px, 5vw, 64px); max-width: 680px; }
.main .kfc-hero-titel {
	color: #fff;
	font-size: clamp(30px, 4.2vw, 50px);
	line-height: 1.12;
	font-weight: 700;
	letter-spacing: -.02em;
	margin: 0 0 18px;
}
.main .kfc-hero-text {
	color: rgba(255, 255, 255, .9);
	font-size: clamp(16px, 1.6vw, 19px);
	line-height: 1.6;
	margin: 0 0 28px;
	max-width: 58ch;
}
.kfc-hero-buttons { display: flex; flex-wrap: wrap; gap: 12px; }

.kfc-logos {
	list-style: none;
	margin: 0 0 56px;
	padding: 18px 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-around;
	gap: 18px 32px;
	background: var(--kfc-flaeche);
	border-radius: var(--kfc-radius);
}
.kfc-logos li { margin: 0; padding: 0; }
.kfc-logos img { height: 84px; width: auto; max-width: 230px; object-fit: contain; display: block; transition: transform var(--kfc-trans); }
.kfc-logos .kfc-logo-hoch img { height: 140px; max-width: 90px; }
.kfc-logos a:hover img { transform: translateY(-2px); }

.main .kfc-abschnitt {
	font-size: clamp(24px, 2.6vw, 30px);
	font-weight: 700;
	letter-spacing: -.01em;
	color: var(--kfc-blau-tief);
	margin: 0 0 20px;
}

.kfc-kacheln {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 64px;
}
.kfc-kachel {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: var(--kfc-radius);
	overflow: hidden;
	background: var(--kfc-blau-dunkel);
	color: #fff !important;
	text-decoration: none !important;
	isolation: isolate;
}
.kfc-kachel img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms cubic-bezier(.2, .7, .2, 1);
	z-index: -2;
}
.kfc-kachel::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(7, 29, 56, 0) 35%, rgba(7, 29, 56, .88) 100%);
	z-index: -1;
	transition: background var(--kfc-trans);
}
.kfc-kachel:hover img { transform: scale(1.05); }
.kfc-kachel-text { position: absolute; left: 0; right: 0; bottom: 0; padding: 20px 22px; }
.kfc-kachel-titel { display: flex; align-items: center; gap: 8px; font-size: 22px; font-weight: 700; line-height: 1.2; }
.kfc-kachel-titel::after { content: "→"; color: var(--kfc-gelb); transition: transform var(--kfc-trans); }
.kfc-kachel:hover .kfc-kachel-titel::after { transform: translateX(4px); }
.kfc-kachel-info {
	display: block;
	margin-top: 6px;
	font-size: 14px;
	line-height: 1.45;
	color: rgba(255, 255, 255, .88);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.kfc-dreier {
	display: grid;
	grid-template-columns: 1.15fr 1fr 1fr;
	gap: 28px;
	margin-bottom: 64px;
	align-items: start;
}
.kfc-dreier > div { min-width: 0; }

.kfc-beitrag-link {
	display: block;
	border-radius: var(--kfc-radius);
	overflow: hidden;
	background: #fff;
	box-shadow: 0 0 0 1px var(--kfc-linie);
	text-decoration: none !important;
	transition: box-shadow var(--kfc-trans), transform var(--kfc-trans);
}
.kfc-beitrag-link:hover { box-shadow: var(--kfc-schatten), 0 0 0 1px var(--kfc-linie); transform: translateY(-2px); }
.kfc-beitrag-link img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.kfc-beitrag-text { display: block; padding: 16px 18px 18px; }
.kfc-beitrag-datum { display: block; font-size: 13px; font-weight: 500; color: var(--kfc-text-leise); margin-bottom: 4px; }
.kfc-beitrag-titel { display: block; font-size: 19px; font-weight: 700; line-height: 1.3; color: var(--kfc-blau-tief); }
.kfc-beitrag-mehr { display: inline-block; margin-top: 10px; font-size: 15px; font-weight: 700; color: var(--kfc-blau); }
.kfc-beitrag-mehr::after { content: " →"; }

.kfc-termine { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.kfc-termine li { margin: 0; padding: 0; }
.kfc-termine a {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 14px;
	border-radius: var(--kfc-radius);
	background: var(--kfc-flaeche);
	text-decoration: none !important;
	color: var(--kfc-text) !important;
	transition: background-color var(--kfc-trans), transform var(--kfc-trans);
}
.kfc-termine a:hover { background: #e7edf4; transform: translateX(2px); }
.kfc-termin-datum {
	flex: none;
	width: 60px;
	height: 62px;
	border-radius: var(--kfc-radius-klein);
	background: var(--kfc-blau);
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 1;
	box-shadow: inset 0 -4px 0 var(--kfc-gelb);
}
.kfc-termin-tag { font-size: 24px; font-weight: 700; font-variant-numeric: tabular-nums; }
.kfc-termin-monat { font-size: 13px; font-weight: 500; margin-top: 4px; }
.kfc-termin-offen .kfc-termin-monat { margin: 0; }
.kfc-termin-text { min-width: 0; }
.kfc-termin-titel { display: block; font-size: 17px; font-weight: 700; line-height: 1.3; color: var(--kfc-blau-tief); }
.kfc-termin-info { display: block; font-size: 14px; color: var(--kfc-text-leise); margin-top: 2px; }
.main .kfc-mehr { margin: 14px 0 0; font-size: 15px; }
.main .kfc-mehr a { color: var(--kfc-blau); font-weight: 700; text-decoration: none; }
.main .kfc-mehr a::after { content: " →"; }
.main .kfc-leer { color: var(--kfc-text-leise); background: var(--kfc-flaeche); padding: 16px 18px; border-radius: var(--kfc-radius); font-size: 15px; }

.kfc-ueber {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 40px;
	align-items: center;
	background: var(--kfc-flaeche);
	border-radius: 14px;
	padding: clamp(28px, 4vw, 52px);
	margin-bottom: 24px;
}
.kfc-ueber p { margin: 0 0 14px; }
.kfc-ueber-aktion { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.kfc-ueber-aktion .kfc-btn-blau {
	background: var(--kfc-blau) !important;
	color: #fff !important;
	box-shadow: 0 4px 14px rgba(0, 64, 128, .25);
}
.kfc-ueber-aktion .kfc-btn-blau:hover { background: var(--kfc-blau-dunkel) !important; }
.kfc-ueber-aktion p { margin: 0; }
.kfc-ueber-aktion p:has(a) { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.kfc-ueber-aktion br { display: none; }
.main .kfc-ueber-aktion a.kfc-link { color: var(--kfc-blau); font-weight: 700; text-decoration: none; font-size: 15px; }
.main .kfc-ueber-aktion a.kfc-link::after { content: " →"; }
.main .kfc-ueber-zahl { font-size: 46px; font-weight: 700; line-height: 1; color: var(--kfc-blau); margin: 0; font-variant-numeric: tabular-nums; }
.main .kfc-ueber-zahl-text { font-size: 15px; color: var(--kfc-text-leise); margin: 4px 0 16px; }

/* Termine-Seite */
.kfc-termine-seite .kfc-termine { max-width: 760px; }
.kfc-termine-seite .kfc-termin-datum { width: 68px; height: 70px; }
.kfc-termine-seite .kfc-termin-tag { font-size: 27px; }
.kfc-termine-seite .kfc-termine a { padding: 14px 18px; }

@media (max-width: 991px) {
	.kfc-kacheln { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kfc-dreier { grid-template-columns: 1fr 1fr; }
	.kfc-dreier > div:first-child { grid-column: 1 / -1; }
	.kfc-ueber { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 600px) {
	.kfc-hero {
		min-height: 0;
		border-radius: var(--kfc-radius);
	}
	.kfc-hero::before { background: linear-gradient(180deg, rgba(7, 29, 56, .35) 0%, rgba(7, 29, 56, .9) 55%, rgba(7, 29, 56, .97) 100%); }
	.kfc-hero-slide { background-position: center top; }
	.kfc-hero-punkte { top: 12px; right: 10px; bottom: auto; }
	.kfc-hero-inhalt { padding: 160px 22px 26px; }
	.kfc-hero-buttons .kfc-btn { flex: 1 1 100%; }
	.kfc-logos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-items: center; gap: 18px; padding: 18px; margin-bottom: 44px; }
	.kfc-logos img { height: 64px; max-width: 150px; }
	.kfc-logos .kfc-logo-hoch img { height: 110px; max-width: 70px; }
	.kfc-kacheln { grid-template-columns: 1fr; gap: 14px; margin-bottom: 48px; }
	.kfc-kachel { aspect-ratio: 16 / 10; }
	.kfc-dreier { grid-template-columns: 1fr; gap: 36px; margin-bottom: 48px; }
}

/* ---------- Übernommen aus dem früheren Zusätzlichen CSS ---------- */

.vc-hoverbox-wrapper.vc-hoverbox-align--center { max-height: 280px; overflow: hidden; border-radius: var(--kfc-radius); }
.tp-mask-wrap { cursor: pointer; }
.logged-in #respond.comment-respond,
.entry-categories,
.section-comments,
.category.text-info,
.author.meta-in-content,
.section.related-posts { display: none; }

/* Alte Terminliste [recent-posts] */
ul.recent-posts { list-style: none; margin: 0; padding: 0; }
.termine { background: var(--kfc-flaeche); border-radius: var(--kfc-radius-klein); margin-bottom: 8px; padding: 10px 12px; }
.termine .datum { float: none; display: inline-block; background: var(--kfc-blau); color: #fff; font-size: 13px; font-weight: 500; border-radius: 4px; margin: 0 0 4px !important; padding: 2px 8px; }
.termine br { display: none; }
a.termintitel { display: block; color: var(--kfc-blau-tief); font-size: 16px; font-weight: 700; }

/* Beitragsbild im Einzelbeitrag */
.single-post .kfc-beitragsbild{margin:0 0 32px}
.single-post .kfc-beitragsbild img{display:block;width:100%;height:auto;max-height:640px;object-fit:cover;border-radius:6px;box-shadow:0 10px 30px rgba(11,42,79,.15)}
.single-post .kfc-beitragsbild figcaption{margin-top:8px;font-size:14px;color:#5a6b80}
@media (max-width:768px){.single-post .kfc-beitragsbild{margin-bottom:24px}.single-post .kfc-beitragsbild img{border-radius:4px}}

/* Menü-Hover: Theme färbt Text in Akzentfarbe (Blau auf Blau) und dimmt ihn auf 75 %. Beides überstimmen. */
.navbar.navbar-default .navbar-nav > li:not(.btn):hover > a,
.navbar.navbar-default .navbar-nav > li:not(.btn) > a:focus-visible,
.navbar.navbar-default .navbar-nav li:not(.btn):hover > a i,
.navbar.navbar-default .navbar-nav .dropdown-menu li:not(.btn):hover > a,
.navbar.navbar-default .navbar-nav .dropdown-menu li:not(.btn) > a:focus-visible {
	color: #fff !important;
	opacity: 1 !important;
}
.navbar.navbar-default .navbar-nav .dropdown-menu li:not(.btn) > a { opacity: 1 !important; }
@media (min-width: 769px) {
	.navbar.navbar-default .navbar-nav .dropdown-menu li:not(.btn):hover > a,
	.navbar.navbar-default .navbar-nav .dropdown-menu li:not(.btn) > a:focus-visible {
		background: rgba(255, 255, 255, .12) !important;
	}
	.navbar.navbar-default .navbar-nav .dropdown-menu li.current-menu-item:not(.btn) > a { color: var(--kfc-gelb) !important; }
	.navbar.navbar-default .navbar-nav > li:not(.btn):hover > a .caret svg { fill: #fff; }
}
