/*
Theme Name:   SV Wittendorf
Theme URI:    https://sv-wittendorf.de
Description:  Theme des SV Wittendorf 1931 e. V. Ursprünglich Real Soccer von Goodlayers, umgebaut auf das Design des Vereins: reduziert auf die genutzten Elemente, deutsche Einstellungen, ohne Abhängigkeit von Goodlayers-Plugins für Spiele und Termine.
Author:       Michael Silzle
Author URI:   https://www.codeunity.de
Version:      2.0.0
Requires PHP: 8.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  sv-wittendorf
*/

/* Aufbau: basis.css (Grundgerüst aus Real Soccer) → style.css (SVW-Design) → stylesheet/style-custom.css (eingefrorene Farben aus den alten Theme-Optionen). */

span.match-result-info-wrapper {
	font-style: normal;
}

/* Homepage kommende Spiele */

.page-id-3220 #content-section-1 .section-container{
	padding-top: 0;
}

.upcoming-match-overlay {
	background-color: #757575 !important;
}

.gdlr-full-size-wrapper {
	border-style: none !important;
}


/* AH */

#ah h4.feature-media-caption{
	display: none;
}

/* Seiten Allgemein */

h3 {
	margin-top: 40px;
}

p {
	font-size: 17px;
}

#trainer-table {
	padding-top: 20px;
	padding-bottom: 20px;
}

.textwidget p {
	font-size: 13px;
}

.gdlr-logo {
	padding-bottom: 30px !important;
}

#gdlr-menu-search-button { display:none !important; }

/* Tabellen */

#tab-vorstand th, td {
	padding-left: 10px !important;
	padding-right: 10px !important;
}

.style-2 p {
	font-size: 15px;
}

/* Freizeit */

#img-kinderturnen {
    margin-left: -220px;
}

#img-kinderturnen img {
    height: 220px !important;
}

@media (max-width:900px) {
    #img-kinderturnen {
        margin-left: 0px;
    }
    #img-kinderturnen img {
        height: 190px !important;
    }
}

@media (max-width:1090px) {
    .gdlr-navigation-wrapper .gdlr-main-menu > li > a {
        font-size: 11px !important;
        padding-left: 34px;
        padding-right: 12px;
        padding-bottom: 15px;
    }

}



#box-kinderturnen {
    margin-top: 40px;
    margin-left: -20px;
}

/* Spielübersicht */

a.gdlr-result-read-more{
   display: none !important;
}

/* meta data */

.gdlr-post-author, .gdlr-comments-area{
	display: none;
}

/* Menü */

.gdlr-navigation-wrapper .gdlr-main-menu > li > a {
    font-size: 14px;
}

@media (max-width: 1200px){

.gdlr-navigation-wrapper .gdlr-main-menu > li > a {
    font-size: 13px;
}

.top-navigation-left-text {
    padding: 0px !important;
}
}

/* (alte Mobile-Menü-Hacks entfernt, siehe Header-Abschnitt) */

/* Sponsoren */

.gdlr-testimonial-item.box-style .testimonial-author-image {
    width: auto;
    height: 50%;
    position: absolute;
    right: 34px;
    bottom: -75px;
}

.gdlr-testimonial-item.carousel .testimonial-item {
    margin-bottom: 200px;
}

.gdlr-page-title-wrapper .gdlr-page-caption {
    font-size: 30px !important;
}

/* Sponsoren-Galerien: alte Grid-Regeln entfernt (28.09.2026), siehe Block "Sponsoring" weiter unten */

/* Social Icons */
.extra-social-icons {
  display: inline-flex;
  gap: 16px;
}

.extra-social-icons a {
  color: #333;
  font-size: 34px;
  text-decoration: none;
  transition: color 0.2s ease;
}

.extra-social-icons .facebook-icon:hover {
  color: #0A66FF;
}

.extra-social-icons .instagram-icon:hover {
  color: #ED7928;
}

.extra-social-icons .whatsapp-icon:hover {
  color: #0BC143;
}

.top-navigation-left {
	display: none;
}

@media only screen and (max-width: 767px) {
    .top-navigation-container {
        line-height: 1.5 !important;
    }
	
	.gdlr-logo {
		max-width: 200px !important;
	}
}

.download-pdf-button,
.whats-app-button {
 	transform: scale(1);
	transition: transform 0.2s ease;
}
.download-pdf-button:hover,
.whats-app-button:hover {
 	transform: scale(1.05);
}

/* Mitgliedschaft: alte #svw-prices-Regeln entfernt (28.09.2026), siehe Preistabelle als Karten weiter unten */

/* Mobil: Inhaltscontainer fließend statt fest 300px (Theme-Vorgabe unter 420px) */
@media only screen and (max-width: 767px) {
	/* höhere Spezifität als "body .container" in stylesheet/style-responsive.css, das nach dieser Datei lädt */
	html body .container {
		max-width: calc(100% - 32px); /* 16px Seitenabstand am Handy */
	}
}

/* Abschnittsabstand: Theme-Vorgabe 60px ist zu viel, 40px reichen (gilt seitenweit) */
.section-container,
.gdlr-item-start-content,
.gdlr-parallax-wrapper,
.gdlr-color-wrapper {
	padding-top: 40px;
}

/* Kommentare sind deaktiviert (inc/svw-kommentare.php) – Reste im Theme-Markup ausblenden */
.blog-info.blog-comment,
.gdlr-blog-info .blog-comment,
.gdlr-comments-area,
#comments,
.comments-area,
.comment-respond,
#respond,
.gdlr-comment-count,
.widget_recent_comments,
.post-comments,
a[href$="#respond"],
a[href$="#comments"] {
	display: none !important;
}

/* Footer im Design der Karten: dunkel, rote Linie oben, Barlow, drei Spalten, rechte Spalte unten ausgerichtet */
footer.footer-wrapper {
	background-color: #15171c;
	color: #d5d5d5;
	font-family: 'Barlow', 'Open Sans', sans-serif;
	font-size: 15px;
	line-height: 1.6;
}
footer.footer-wrapper .footer-container {
	display: flex;
	align-items: stretch;
	border-top: 4px solid #c8102e; /* rote Linie nur in Inhaltsbreite */
	padding-top: 52px;
	padding-bottom: 40px;
}
footer.footer-wrapper .footer-container .clear { display: none; }
footer.footer-wrapper .footer-column { float: none; display: flex; flex-direction: column; }
footer.footer-wrapper #footer-widget-3 { justify-content: flex-end; }
footer.footer-wrapper .widget.gdlr-widget { margin-bottom: 0; }
footer.footer-wrapper .gdlr-widget-title {
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: 24px;
	line-height: 1;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
}
footer.footer-wrapper .textwidget p { font-size: 15px; line-height: 1.6; margin: 0 0 14px; color: #d5d5d5; }
footer.footer-wrapper .textwidget p:last-child { margin-bottom: 0; }
footer.footer-wrapper .textwidget strong { color: #fff; font-weight: 700; }
footer.footer-wrapper .footer-hours { border-collapse: collapse; margin: 0; width: auto; background: transparent; }
footer.footer-wrapper .footer-hours th,
footer.footer-wrapper .footer-hours td { border: 0; padding: 2px 0; text-align: left; font-size: 15px; line-height: 1.6; background: transparent; }
footer.footer-wrapper .footer-hours th { color: #fff; font-weight: 700; padding-right: 20px; white-space: nowrap; }
footer.footer-wrapper .footer-hours td { color: #d5d5d5; }
footer.footer-wrapper .footer-legal a { color: #d5d5d5; text-decoration: underline; }
footer.footer-wrapper .footer-legal a:hover { color: #fff; }
footer.footer-wrapper .footer-legal .footer-copyright { font-size: 14px; color: #bfbfbf; }
/* Social-Icons im Footer (Widget text-11), Hover in Netzwerkfarbe wie auf der Kontaktseite */
footer.footer-wrapper .footer-social { display: flex; gap: 10px; margin: 0 0 16px; }
footer.footer-wrapper .footer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid #2c2f37;
	color: #fff !important;
	font-size: 18px;
	line-height: 1;
	text-decoration: none !important;
	transition: background .25s ease, border-color .25s ease;
}
footer.footer-wrapper .footer-social a i { color: inherit; display: block; width: 1em; height: 1em; line-height: 1; margin: 0 !important; text-align: center; vertical-align: middle; } /* Theme gibt Icons 5px Rechtsabstand, das verschiebt die Mitte */
footer.footer-wrapper .footer-social a i:before { display: block; line-height: 1; }
footer.footer-wrapper .footer-social a:hover { border-color: transparent; color: #fff !important; }
footer.footer-wrapper .footer-social .footer-social__instagram:hover { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); }
footer.footer-wrapper .footer-social .footer-social__facebook:hover { background: #1877f2; }
footer.footer-wrapper .footer-social .footer-social__whatsapp:hover { background: #25d366; }
@media only screen and (max-width: 767px) {
	footer.footer-wrapper .footer-container { flex-direction: column; gap: 32px; padding-top: 36px; }
	footer.footer-wrapper #footer-widget-3 { justify-content: flex-start; }
}

/* ------------------------------------------------------------------ */
/* Header: dunkle Leiste, Logo + Wortmarke links, Menü rechts          */
/* (Menüstruktur unverändert; Vorlage header.php im Child-Theme)       */
/* ------------------------------------------------------------------ */
header.gdlr-header-wrapper {
	background-color: #0e0f12 !important;
	background-image: none !important;
	border-bottom: 1px solid #24272e;
}
header.gdlr-header-wrapper .gdlr-header-inner { padding: 0; background: transparent; }
header.gdlr-header-wrapper .gdlr-header-container.container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 18px 0;
	position: relative;
}
header.gdlr-header-wrapper .gdlr-header-container > .clear { display: none; }
header.gdlr-header-wrapper .gdlr-logo {
	float: none;
	flex: none;
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
	display: flex;
	align-items: center;
	line-height: 1;
}
header.gdlr-header-wrapper .gdlr-logo > a { display: flex; align-items: center; gap: 14px; text-decoration: none; color: #fff; }
header.gdlr-header-wrapper .gdlr-logo img { height: 52px !important; width: auto !important; max-width: none !important; display: block; }
.svw-wordmark { display: flex; flex-direction: column; line-height: 1; }
.svw-wordmark__name {
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: 26px;
	text-transform: uppercase;
	color: #fff;
	white-space: nowrap;
}
.svw-wordmark__sub {
	font-family: 'Barlow', 'Open Sans', sans-serif;
	font-weight: 500;
	font-size: 15px;
	letter-spacing: normal;
	color: #a3a7b0;
	margin-top: 4px;
}
header.gdlr-header-wrapper .gdlr-navigation-wrapper {
	float: none;
	flex: 1 1 auto;
	min-width: 0;
	background: transparent !important;
	margin: 0 !important;
	line-height: normal;
	text-align: right;
	position: static;
}
header.gdlr-header-wrapper .gdlr-navigation-wrapper .gdlr-navigation-container { display: flex; justify-content: flex-end; }
header.gdlr-header-wrapper .gdlr-navigation { display: block; float: none; }
header.gdlr-header-wrapper .gdlr-main-menu { display: flex; float: none; margin: 0; }
header.gdlr-header-wrapper .gdlr-navigation-container.container { width: auto; max-width: none; margin: 0; padding: 0; }
header.gdlr-header-wrapper .gdlr-navigation { display: block; float: none; text-align: left; line-height: 1; }
header.gdlr-header-wrapper .gdlr-main-menu > li > a {
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif !important;
	font-weight: 700;
	font-size: 17px !important;
	letter-spacing: normal;
	text-transform: uppercase;
	color: #fff !important;
	padding: 12px 10px !important;
	white-space: nowrap;
	background: transparent !important;
	border: 0 !important;
	line-height: 1.2;
	transition: color .2s ease;
}
header.gdlr-header-wrapper .gdlr-main-menu > li:last-child > a { padding-right: 0 !important; }
header.gdlr-header-wrapper .gdlr-main-menu > li > a:hover,
header.gdlr-header-wrapper .gdlr-main-menu > li.current-menu-item > a,
header.gdlr-header-wrapper .gdlr-main-menu > li.current-menu-ancestor > a,
header.gdlr-header-wrapper .gdlr-main-menu > li.sfHover > a { color: #ff4a5f !important; }
/* Dropdowns am PC im Stil des mobilen Panels */
header.gdlr-header-wrapper .gdlr-main-menu > li > ul { margin-top: 0; }
header.gdlr-header-wrapper .gdlr-main-menu ul {
	background: #1a1c21 !important;
	border: 0 !important;
	padding: 0 !important;
	min-width: 220px;
	box-shadow: 0 10px 24px rgba(0, 0, 0, .35);
}
header.gdlr-header-wrapper .gdlr-main-menu ul li { border: 0 !important; background: transparent !important; }
header.gdlr-header-wrapper .gdlr-main-menu ul li a {
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif !important;
	font-weight: 700 !important;
	font-size: 17px !important;
	letter-spacing: normal;
	text-transform: uppercase;
	color: #fff !important;
	background: transparent !important;
	padding: 14px 20px !important;
	border: 0 !important;
	border-bottom: 1px solid #24272e !important;
	line-height: 1.2;
	transition: color .2s ease;
}
header.gdlr-header-wrapper .gdlr-main-menu ul li:last-child > a { border-bottom: 0 !important; }
header.gdlr-header-wrapper .gdlr-main-menu ul li a:hover,
header.gdlr-header-wrapper .gdlr-main-menu ul li.current-menu-item > a { color: #ff4a5f !important; background: transparent !important; }
header.gdlr-header-wrapper #gdlr-menu-search-button,
header.gdlr-header-wrapper .gdlr-menu-search { display: none !important; }
#gdlr-header-substitute { display: none !important; }
/* Beiträge: Das Theme hängt im Header noch seinen Seitentitel-Block an (100px dunkel). Unser Beitragstemplate bringt den Titel selbst mit. */
body.single header.gdlr-header-wrapper .gdlr-page-title-wrapper,
body.archive header.gdlr-header-wrapper .gdlr-page-title-wrapper,
body.search header.gdlr-header-wrapper .gdlr-page-title-wrapper { display: none !important; }
@media only screen and (min-width: 960px) and (max-width: 1139px) {
	header.gdlr-header-wrapper .gdlr-main-menu > li > a { font-size: 15px !important; padding: 12px 7px !important; }
	.svw-wordmark__name { font-size: 22px; }
	.svw-wordmark__sub { font-size: 13px; }
}
@media only screen and (min-width: 960px) {
	header.gdlr-header-wrapper { position: sticky; top: 0; z-index: 99; }
	header.gdlr-header-wrapper .gdlr-responsive-navigation { display: none !important; }
}
@media only screen and (max-width: 959px) {
	header.gdlr-header-wrapper .gdlr-header-container.container { padding: 14px 0; }
	header.gdlr-header-wrapper .gdlr-navigation-wrapper { display: none !important; }
	header.gdlr-header-wrapper .gdlr-responsive-navigation {
		display: block !important;
		position: relative !important;
		top: auto !important;
		right: auto !important;
		margin: 0 0 0 auto !important;
		padding: 0 !important;
		float: none;
		width: 44px !important;
		max-width: none !important;
		height: 44px !important;
		line-height: 0;
		flex: none;
		display: flex !important;
		align-items: center;
	}
	header.gdlr-header-wrapper .gdlr-responsive-navigation .dl-trigger { display: block; }
	/* Menü-Panel in Header-Optik */
	header.gdlr-header-wrapper .dl-menuwrapper .dl-menu,
	header.gdlr-header-wrapper .dl-menuwrapper .dl-submenu { background: #1a1c21 !important; }
	header.gdlr-header-wrapper .dl-menuwrapper li a {
		font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif !important;
		font-weight: 700;
		font-size: 19px !important;
		text-transform: uppercase;
		letter-spacing: normal;
		color: #fff !important;
		border-bottom: 1px solid #24272e !important;
	}
	header.gdlr-header-wrapper .dl-menuwrapper li a:hover { color: #ff4a5f !important; background: transparent !important; }
	/* Hamburger: drei schmale weiße Linien, kein Farbblock */
	header.gdlr-header-wrapper .gdlr-responsive-navigation .dl-trigger {
		position: relative !important;
		top: auto !important;
		right: auto !important;
		margin: 0 !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0;
		width: 44px !important;
		height: 44px !important;
		padding: 0;
		-webkit-tap-highlight-color: transparent; /* kein blaues Aufblitzen beim Tippen */
		outline: none;
		-webkit-appearance: none;
		appearance: none;
	}
	header.gdlr-header-wrapper .gdlr-responsive-navigation .dl-trigger:focus,
	header.gdlr-header-wrapper .gdlr-responsive-navigation .dl-trigger:active { background: transparent !important; outline: none; box-shadow: none; }
	header.gdlr-header-wrapper .dl-menuwrapper li a { -webkit-tap-highlight-color: transparent; }
	header.gdlr-header-wrapper .gdlr-responsive-navigation .dl-trigger:hover,
	header.gdlr-header-wrapper .gdlr-responsive-navigation .dl-trigger.dl-active { background: transparent !important; }
	header.gdlr-header-wrapper .gdlr-responsive-navigation .dl-trigger:after {
		content: '';
		position: absolute;
		left: 10px;
		top: 13px;
		width: 24px;
		height: 2px;
		background: #fff;
		border-radius: 1px;
		box-shadow: 0 8px 0 #fff, 0 16px 0 #fff;
		transition: background .2s ease, box-shadow .2s ease;
	}
	header.gdlr-header-wrapper .gdlr-responsive-navigation .dl-trigger.dl-active:after { background: #ff4a5f; box-shadow: 0 8px 0 #ff4a5f, 0 16px 0 #ff4a5f; }
	header.gdlr-header-wrapper .dl-menuwrapper > .dl-menu,
	header.gdlr-header-wrapper .dl-menuwrapper > .dl-submenu {
		width: min(320px, calc(100vw - 32px)) !important;
		left: auto !important;
		right: 0 !important;
		top: 100% !important;    /* unter dem Button; ohne top würde das Flex-Zentrieren das Panel nach oben schieben */
		bottom: auto !important;
		margin: 10px 0 0 !important;
	}
	.svw-wordmark__name { font-size: 22px; }
	.svw-wordmark__sub { font-size: 13px; }
	header.gdlr-header-wrapper .gdlr-logo img { height: 44px !important; }
}

/* Inhaltskanten an den Header angleichen:
   PC: Header-Inhalt bekommt die 15px, die jeder Page-Builder-Block (.gdlr-item) als Seitenabstand hat.
   Handy: der 15px-Blockabstand entfällt, Inhalt nutzt die volle Containerbreite wie Logo und Menü. */
@media only screen and (min-width: 768px) {
	header.gdlr-header-wrapper .gdlr-header-container.container { padding-left: 15px; padding-right: 15px; box-sizing: border-box; }
}
@media only screen and (max-width: 767px) {
	.gdlr-item, .gdlr-gallery-item.gdlr-item, .gdlr-item-title-wrapper.gdlr-item { margin-left: 0 !important; margin-right: 0 !important; }
	footer.footer-wrapper .footer-column { padding-left: 0; padding-right: 0; }
}

/* ------------------------------------------------------------------ */
/* Basis: ersetzt die entfernten Theme-Optionen "Font Setting"          */
/* (body-Schrift und -Größe, Überschriften-Schrift, Menü-Schrift)       */
/* ------------------------------------------------------------------ */
body, input, textarea, select, button { font-family: 'Barlow', 'Open Sans', sans-serif; }
body { font-size: 13px; }
h1, h2, h3, h4, h5, h6, .gdlr-title-font { font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif; }

/* ------------------------------------------------------------------ */
/* Typografie nach Design (Vorstand Dark / 4a / 5a), helle Variante    */
/* ------------------------------------------------------------------ */
/* Fließtext: Barlow 17px/1.6, #444, Fettes in Tiefschwarz */
.gdlr-content, .gdlr-content p, .gdlr-content li, .gdlr-content td, .gdlr-content th,
.gdlr-content .textwidget, .gdlr-content .gdlr-content-item {
	font-family: 'Barlow', 'Open Sans', sans-serif;
}
.gdlr-content p, .gdlr-content li { font-size: 17px; line-height: 1.6; color: #444; }
.gdlr-content .gdlr-content-item strong, .gdlr-content p strong { color: #15171c; font-weight: 700; }
.gdlr-content a:not([class]) { color: #c8102e; }
.gdlr-content a:not([class]):hover { color: #8f0b20; }

/* Page-Builder-Titel (Abschnitte): Barlow Condensed, Versalien, kein "ll"-Präfix. Farbe kommt aus der Theme-Option "Item Title Color" (style-custom.css) */
.gdlr-content .gdlr-item-title-wrapper .gdlr-item-title {
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif !important;
	font-weight: 900 !important;
	font-size: 34px !important;
	line-height: 1 !important;
	letter-spacing: 0;
	text-transform: uppercase;
	margin-top: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
.gdlr-content .gdlr-item-title-wrapper.pos-left .gdlr-item-title:before,
.gdlr-content .gdlr-item-title-wrapper .gdlr-item-title:before { content: none !important; display: none !important; }
.gdlr-content .gdlr-item-title-wrapper.gdlr-item { margin-bottom: 22px !important; }
.gdlr-content .gdlr-item-title-wrapper.pos-left .gdlr-item-title-caption {
	font-family: 'Barlow', 'Open Sans', sans-serif;
	font-size: 15px;
	color: #555;
	margin-left: 14px;
	vertical-align: baseline;
}

/* „Right Text“ eines Titel-Elements (Builder: Right Text + Right Text Link, z. B. „Sponsor werden“, „Alle Termine“): der normale Button
   (.svw-button .svw-button--weiter, die Klassen setzt inc/svw-titel.php). Das Parent-Theme setzt display und 13 px mit drei Klassen, deshalb hier nachgezogen. */
.gdlr-content .gdlr-item-title-wrapper .gdlr-item-title-link.svw-button { display: inline-flex; font-size: 22px; }
.gdlr-content .gdlr-item-title-wrapper.pos-left .gdlr-item-title-link { float: right; margin: -7px 0 0 16px; }
@media only screen and (max-width: 767px) {
	.gdlr-content .gdlr-item-title-wrapper .gdlr-item-title-link.svw-button { display: flex; font-size: 20px; }
	.gdlr-content .gdlr-item-title-wrapper.pos-left .gdlr-item-title-link { float: none; margin: 14px 0 0; }
}

/* Seitentitel = erstes Titel-Element einer Seite (als h1 gerendert, inc/svw-titel.php): groß, tiefschwarz, enge Zeile */
.gdlr-content .gdlr-item-title-wrapper h1.gdlr-item-title {
	font-size: clamp(34px, 5.5vw, 64px) !important;
	line-height: .92 !important;
}
.gdlr-content .gdlr-item-title-wrapper.gdlr-item:has(> .gdlr-item-title-head > h1.gdlr-item-title) { margin-bottom: 28px !important; }

/* Kicker (kleine Zeile über einem Titel), bei Bedarf im Text-Element: <p class="svw-kicker">Verein</p> */
.gdlr-content .svw-kicker {
	font-family: 'Barlow', 'Open Sans', sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: normal;
	text-transform: uppercase;
	color: #c8102e;
	margin: 0 0 10px;
}

/* Überschriften im Fließtext */
.gdlr-content .gdlr-content-item h1, .gdlr-content .gdlr-content-item h2,
.gdlr-content .gdlr-content-item h3, .gdlr-content .gdlr-content-item h4,
.gdlr-content .gdlr-content-item h5 {
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 900;
	line-height: 1.02;
	text-transform: uppercase;
	color: #15171c;
	margin: 1.4em 0 .5em;
}
.gdlr-content .gdlr-content-item h1 { font-size: clamp(34px, 5.5vw, 64px); line-height: .92; margin-top: 0; }
.gdlr-content .gdlr-content-item h2 { font-size: 40px; }
.gdlr-content .gdlr-content-item h3 { font-size: 26px; }
.gdlr-content .gdlr-content-item h4 { font-size: 20px; }
.gdlr-content .gdlr-content-item h5 { font-size: 17px; }
.gdlr-content .gdlr-content-item > h1:first-child, .gdlr-content .gdlr-content-item > h2:first-child,
.gdlr-content .gdlr-content-item > h3:first-child { margin-top: 0; }

@media only screen and (max-width: 767px) {
	.gdlr-content p, .gdlr-content li { font-size: 16px; }
	.gdlr-content .gdlr-item-title-wrapper .gdlr-item-title { font-size: 28px !important; }
	.gdlr-content .gdlr-item-title-wrapper.pos-left .gdlr-item-title-caption { display: block; margin: 8px 0 0; }
	.gdlr-content .gdlr-content-item h2 { font-size: 30px; }
	.gdlr-content .gdlr-content-item h3 { font-size: 22px; }
}

/* ------------------------------------------------------------------ */
/* Mitglieder (Design "Mitglieder Dark", helle Variante)               */
/* Nur Umstyling der Page-Builder-Elemente, Inhalte bleiben im Backend */
/* pflegbar. Wiederverwendbare Klassen: .svw-sub, .svw-steps,          */
/* .svw-button, .svw-note. Preistabellen-Karten gelten seitenweit.     */
/* ------------------------------------------------------------------ */
/* Untertitel unter dem Seitentitel */
.gdlr-content .gdlr-content-item .svw-sub {
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 700;
	font-size: 30px;
	line-height: 1.1;
	text-transform: uppercase;
	color: #15171c;
	margin: 0 0 28px;
	max-width: 900px;
}
/* Kurzer Einleitungstext unter dem Untertitel */
.gdlr-content .gdlr-content-item .svw-intro { max-width: 720px; font-size: 18px; line-height: 1.55; color: #444; margin: 0; text-wrap: pretty; }
.gdlr-content .gdlr-content-item .svw-sub:has(+ .svw-intro) { margin-bottom: 12px; }
/* Schritte 01 02 03 */
.gdlr-content .gdlr-content-item ol.svw-steps {
	list-style: none;
	counter-reset: svw-step;
	margin: 0;
	padding: 0;
	max-width: 560px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.gdlr-content .gdlr-content-item ol.svw-steps li {
	counter-increment: svw-step;
	position: relative;
	display: block;
	margin: 0;
	padding: 18px 20px 18px 76px;
	background: #f4f3f0;
	font-size: 17px;
	line-height: 1.4;
	color: #15171c;
}
.gdlr-content .gdlr-content-item ol.svw-steps li:before {
	content: counter(svw-step, decimal-leading-zero);
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: 28px;
	line-height: 1;
	color: #c8102e;
	position: absolute;
	left: 20px;
	top: 17px;
}
.gdlr-content .gdlr-content-item ol.svw-steps li a { color: #c8102e; }
.gdlr-content .gdlr-content-item ol.svw-steps li a:hover { color: #8f0b20; }
/* Normaler Button (rot, gefüllt; Vorbild „Mitgliedsantrag herunterladen“): .svw-button mit Pfeil nach unten, .svw-button--weiter mit Pfeil nach rechts.
   Gilt seitenweit, auch für Titel-Links (inc/svw-titel.php) und „Vergangene Termine“ (inc/svw-termine.php). */
.gdlr-content .gdlr-content-item p:has(> .svw-button) { margin: 0; }
.gdlr-content .svw-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px 24px;
	background: #c8102e;
	color: #fff;
	text-decoration: none;
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: 22px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: uppercase;
	border-radius: 0;
	box-sizing: border-box;
	cursor: pointer;
	transition: background .2s ease;
}
.gdlr-content .svw-button::after { content: "\2193"; }
.gdlr-content .svw-button--weiter::after { content: "\2192"; }
.gdlr-content .svw-button:hover, .gdlr-content .svw-button:focus { background: #a50d26; color: #fff; text-decoration: none; }
/* Fußnote */
.gdlr-content .gdlr-content-item .svw-note { font-size: 15px; line-height: 1.5; color: #666; margin: 0; }

/* Preistabelle als Karten (seitenweit). Spaltenzahl folgt der Page-Builder-Einstellung "Columns" (Theme vergibt twelve/six/four/three columns) */
.gdlr-content .gdlr-price-table-item {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 12px;
}
.gdlr-content .gdlr-price-table-item:has(> .gdlr-price-item.twelve) { grid-template-columns: 1fr; }
.gdlr-content .gdlr-price-table-item:has(> .gdlr-price-item.six) { grid-template-columns: repeat(2, 1fr); }
.gdlr-content .gdlr-price-table-item:has(> .gdlr-price-item.four) { grid-template-columns: repeat(3, 1fr); }
.gdlr-content .gdlr-price-table-item:has(> .gdlr-price-item.three) { grid-template-columns: repeat(4, 1fr); }
.gdlr-content .gdlr-price-table-item > .clear { display: none; }
.gdlr-content .gdlr-price-table-item .gdlr-price-item { float: none; width: auto; margin: 0; padding: 0; min-height: 0; display: flex; } /* Karte füllt die Zeilenhöhe, alle Karten gleich hoch */
.gdlr-content .gdlr-price-table-item .gdlr-price-item > .gdlr-price-inner-item { flex: 1 1 auto; width: 100%; }
.gdlr-content .gdlr-price-table-item .gdlr-price-inner-item,
.gdlr-content .gdlr-price-table-item .gdlr-price-inner-item.best-price {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 28px;
	margin: 0;
	padding: 24px;
	min-height: 200px;
	box-sizing: border-box;
	background: #f4f3f0 !important;
	border: 0 !important;
	border-bottom: 4px solid #c8102e !important;
	box-shadow: none;
}
.gdlr-content .gdlr-price-table-item .price-title-wrapper { padding: 0; text-align: left; background: transparent !important; }
.gdlr-content .gdlr-price-table-item .price-title,
.gdlr-content .gdlr-price-table-item .best-price .price-title {
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.1;
	text-transform: uppercase;
	color: #15171c !important;
	padding: 0;
	margin: 0 0 28px;
	text-wrap: pretty;
}
.gdlr-content .gdlr-price-table-item .price-tag,
.gdlr-content .gdlr-price-table-item .best-price .price-tag {
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: 72px;
	line-height: .9;
	padding: 0;
	text-align: left;
	color: #15171c !important;
	background: transparent !important;
}
.gdlr-content .gdlr-price-table-item .price-content:empty { display: none; }
.gdlr-content .gdlr-price-table-item .price-content { text-align: left; font-size: 16px; color: #444; }

/* Mitglieder-Seite: Kontaktkarte aus Text-Element + Box mit Icon. Hintergrund liegt auf den beiden Elementen (nicht auf .container), damit die Kartenkante mit der Inhaltskante der anderen Elemente fluchtet */
.page-id-9204 section:has(.gdlr-box-with-icon-item) .container {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
.page-id-9204 section:has(.gdlr-box-with-icon-item) .container > .clear { display: none; }
.page-id-9204 section:has(.gdlr-box-with-icon-item) .container > .columns {
	order: 1;
	float: none;
	width: auto;
	margin: 0;
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding: 32px 56px 32px 32px;
	background: #f4f3f0;
	margin-left: 15px; /* wie .gdlr-item: Kartenkante = Inhaltskante */
}
.page-id-9204 section:has(.gdlr-box-with-icon-item) .container > .gdlr-content-item {
	order: 2;
	flex: 1 1 360px;
	margin: 0 15px 0 0 !important;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding: 32px 32px 32px 0;
	background: #f4f3f0;
}
.page-id-9204 section:has(.gdlr-box-with-icon-item) .container > .gdlr-content-item p { font-size: 18px; line-height: 1.55; color: #444; margin: 0; text-wrap: pretty; }
.page-id-9204 .gdlr-box-with-icon-ux { width: 100%; }
.page-id-9204 .gdlr-box-with-icon-item.pos-top.type-circle {
	padding: 0;
	margin: 0;
	text-align: left;
	background: transparent !important;
	color: #15171c;
}
.page-id-9204 .gdlr-box-with-icon-item .box-with-circle-icon { display: none; }
.page-id-9204 .gdlr-box-with-icon-item .box-with-icon-title {
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: 28px;
	line-height: 1;
	text-transform: uppercase;
	color: #15171c !important;
	margin: 0 0 6px;
}
.page-id-9204 .gdlr-box-with-icon-item .box-with-icon-caption p { text-align: left !important; margin: 0 0 6px; font-size: 17px; line-height: 1.4; }
.page-id-9204 .gdlr-box-with-icon-item .box-with-icon-caption a { color: #15171c; text-decoration: none; }
.page-id-9204 .gdlr-box-with-icon-item .box-with-icon-caption a[href^="mailto:"] { color: #c8102e; }
.page-id-9204 .gdlr-box-with-icon-item .box-with-icon-caption a:hover { color: #8f0b20; }

@media only screen and (max-width: 767px) {
	.gdlr-content .gdlr-content-item .svw-sub { font-size: 24px; }
	.gdlr-content .svw-button { width: 100%; font-size: 20px; }
	.gdlr-content .gdlr-price-table-item, .gdlr-content .gdlr-price-table-item:has(> .gdlr-price-item.columns) { grid-template-columns: 1fr !important; }
	.gdlr-content .gdlr-price-table-item .price-tag, .gdlr-content .gdlr-price-table-item .best-price .price-tag { font-size: 56px; }
	.gdlr-content .gdlr-price-table-item .gdlr-price-inner-item, .gdlr-content .gdlr-price-table-item .gdlr-price-inner-item.best-price { min-height: 0; gap: 20px; }
	.page-id-9204 section:has(.gdlr-box-with-icon-item) .container > .columns { flex-basis: 100%; padding: 24px 16px 8px; margin-left: 0; }
	.page-id-9204 section:has(.gdlr-box-with-icon-item) .container > .gdlr-content-item { padding: 0 16px 24px; margin: 0 !important; }
}

/* ------------------------------------------------------------------ */
/* Kontakt (Design "Kontakt Dark", helle Variante)                     */
/* Box-mit-Icon-Elemente mit Page-Item-ID "svw-kontaktkarte-…" werden  */
/* zu Kontaktkarten, mit "svw-social-…" zu Social-Karten. Inhalte im   */
/* Backend pflegbar: Titel = Label, 1. Absatz = Wert, Link = Aktion.   */
/* ------------------------------------------------------------------ */
.gdlr-content .gdlr-box-with-icon-item[id^="svw-kontaktkarte"] {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 32px;
	min-height: 220px;
	padding: 28px;
	margin: 0 0 12px;
	box-sizing: border-box;
	text-align: left;
	background: #f4f3f0 !important;
	border-bottom: 4px solid #c8102e;
	color: #15171c;
}
.gdlr-content .gdlr-box-with-icon-item[id^="svw-kontaktkarte"] .box-with-icon-caption a:hover { color: #8f0b20; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-kontaktkarte"] > i,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-kontaktkarte"] > br,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-kontaktkarte"] > .clear { display: none; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-kontaktkarte"] .box-with-icon-title {
	font-family: 'Barlow', 'Open Sans', sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
	color: #c8102e !important;
	margin: 0;
}
.gdlr-content .gdlr-box-with-icon-item[id^="svw-kontaktkarte"] .box-with-icon-caption { display: flex; flex-direction: column; gap: 14px; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-kontaktkarte"] .box-with-icon-caption p {
	margin: 0;
	font-size: clamp(22px, 2.6vw, 30px);
	font-weight: 600;
	line-height: 1.25;
	color: #15171c;
	overflow-wrap: anywhere;
}
.gdlr-content .gdlr-box-with-icon-item[id^="svw-kontaktkarte"] .box-with-icon-caption a {
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: 18px;
	line-height: 1.2;
	text-transform: uppercase;
	color: #c8102e;
	text-decoration: none;
}
.gdlr-content .gdlr-box-with-icon-item[id^="svw-kontaktkarte"] .box-with-icon-caption a:after { content: " \2192"; }
/* Porträt in einer Kontaktkarte: <p><img …></p> vor dem Namen wird rund und klein */
.gdlr-content .gdlr-box-with-icon-item[id^="svw-kontaktkarte"] .box-with-icon-caption p:has(> img:only-child) { line-height: 0; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-kontaktkarte"] .box-with-icon-caption img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; display: block; margin: 0; background: #fff; }
/* Aktionszeile dichter an den Wert, nächster Wert mit etwas mehr Abstand */
.gdlr-content .gdlr-box-with-icon-item[id^="svw-kontaktkarte"] .box-with-icon-caption p + p:has(> a:only-child) { margin-top: -8px; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-kontaktkarte"] .box-with-icon-caption p:has(> a:only-child) + p { margin-top: 10px; }
/* kein Overlay über der Karte, damit Adresse, Telefon und E-Mail markier- und kopierbar bleiben; klickbar ist der Aktionslink */

.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"] {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-areas: "icon title arrow" "icon sub arrow";
	column-gap: 18px;
	row-gap: 4px;
	align-items: center;
	padding: 24px 28px;
	margin: 0 0 12px;
	text-align: left;
	background: #f4f3f0 !important;
	color: #15171c;
	cursor: pointer; /* ganze Kachel ist der Link */
	transition: color .25s ease;
}
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"] > i { grid-area: icon; float: none; margin: 0; font-size: 36px; line-height: 1; color: inherit !important; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"] > br,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"] > .clear { display: none; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"] .box-with-icon-title {
	grid-area: title;
	align-self: end;
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: 28px;
	line-height: 1;
	text-transform: uppercase;
	color: inherit !important;
	margin: 0;
}
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"] .box-with-icon-caption { grid-area: sub; align-self: start; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"] .box-with-icon-caption p { margin: 0; font-size: 16px; line-height: 1.3; color: inherit; opacity: .65; overflow-wrap: anywhere; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"] .box-with-icon-caption a { color: inherit; text-decoration: none; transition: none; } /* Theme-Transition auf Links (0.3s) aus, sonst hinkt die URL der Kartenfarbe hinterher */
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"] .box-with-icon-caption a:before { content: ""; position: absolute; inset: 0; } /* ganze Karte klickbar */
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"]:after {
	content: "\2192";
	grid-area: arrow;
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: 28px;
	line-height: 1;
}
/* Hover: Netzwerkfarbe als Overlay einblenden (Verläufe lassen sich nicht animieren, Opacity schon) */
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"]:before { content: ""; position: absolute; inset: 0; z-index: 0; opacity: 0; transition: opacity .25s ease; pointer-events: none; }
.gdlr-content .gdlr-box-with-icon-item#svw-social-instagram:before { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); }
.gdlr-content .gdlr-box-with-icon-item#svw-social-facebook:before { background: #1877f2; }
.gdlr-content .gdlr-box-with-icon-item#svw-social-whatsapp:before { background: #25d366; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"]:hover { color: #fff; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"]:hover:before { opacity: 1; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"] > i,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"] .box-with-icon-title,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"] .box-with-icon-caption,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"]:after { position: relative; z-index: 1; }
/* Theme-Einblendanimation (gdlr-ux) für die Karten aus: kein Flackern beim Scrollen */
.gdlr-content .gdlr-box-with-icon-ux:has(> [id^="svw-"]) { opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; }

/* Gleiche Kartenhöhen: Spalten-Container als Flexbox, Titel-Element bleibt volle Breite */
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-kontaktkarte"]) .container,
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-social"]) .container,
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-bereich"]) .container,
.gdlr-content section:has(.gdlr-service-with-image-item[id^="svw-angebot"]) .container,
.gdlr-content section:has(.gdlr-image-frame-item[id^="svw-mosaik"]) .container { display: flex; flex-wrap: wrap; align-items: stretch; }
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-kontaktkarte"]) .container > .clear,
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-social"]) .container > .clear,
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-bereich"]) .container > .clear,
.gdlr-content section:has(.gdlr-service-with-image-item[id^="svw-angebot"]) .container > .clear,
.gdlr-content section:has(.gdlr-image-frame-item[id^="svw-mosaik"]) .container > .clear { display: none; }
/* alles außer Spalten (Titel, Text-Elemente, Banner, Bilder) bleibt volle Breite */
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-kontaktkarte"]) .container > :not(.columns):not(.clear),
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-social"]) .container > :not(.columns):not(.clear),
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-bereich"]) .container > :not(.columns):not(.clear),
.gdlr-content section:has(.gdlr-service-with-image-item[id^="svw-angebot"]) .container > :not(.columns):not(.clear),
.gdlr-content section:has(.gdlr-image-frame-item[id^="svw-mosaik"]) .container > :not(.columns):not(.clear) { flex: 1 1 100%; }
/* Spalten: gleiche Breite, 12px Abstand wie bei den Preistabellen-Karten, außen 15px wie .gdlr-item */
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-kontaktkarte"]) .container > .columns,
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-social"]) .container > .columns,
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-bereich"]) .container > .columns,
.gdlr-content section:has(.gdlr-service-with-image-item[id^="svw-angebot"]) .container > .columns,
.gdlr-content section:has(.gdlr-image-frame-item[id^="svw-mosaik"]) .container > .columns { float: none; display: flex; flex: 1 1 0; width: auto; min-width: 0; margin: 0 6px; }
/* Spaltenbreiten 2/3, 3/4 usw. über flex-grow abbilden */
/* Basis = Anteil an (100% minus Außen- und Zwischenabständen), Rest verteilt flex-grow */
.gdlr-content section:has([id^="svw-"]) .container > .columns.four { flex: 1 1 calc(33.333% - 18px); }
.gdlr-content section:has([id^="svw-"]) .container > .columns.eight { flex: 1 1 calc(66.666% - 28px); }
.gdlr-content section:has([id^="svw-"]) .container > .columns.six { flex: 1 1 calc(50% - 21px); }
.gdlr-content section:has([id^="svw-"]) .container > .columns.three { flex: 1 1 calc(25% - 16.5px); }
/* Spalte mit mehreren Elementen: untereinander stapeln, letztes füllt auf */
.gdlr-content section:has([id^="svw-"]) .container > .columns > .clear { display: none; }
/* Spalte mit mehreren Boxen: Grid mit gleich hohen Zeilen (alle Kacheln gleich groß) */
.gdlr-content section:has([id^="svw-"]) .container > .columns:has(> .gdlr-box-with-icon-ux ~ .gdlr-box-with-icon-ux) { display: grid; grid-auto-rows: 1fr; align-items: stretch; }
.gdlr-content section:has([id^="svw-"]) .container > .columns:has(> .gdlr-box-with-icon-ux ~ .gdlr-box-with-icon-ux) > .gdlr-box-with-icon-ux { display: flex; width: 100%; }
.gdlr-content section:has([id^="svw-"]) .container > .columns:has(> .gdlr-box-with-icon-ux ~ .gdlr-box-with-icon-ux) > .gdlr-box-with-icon-ux > .gdlr-box-with-icon-item { flex: 1 1 auto; min-height: 0; margin-bottom: 12px; }
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-kontaktkarte"]) .container > .columns:not(.columns + .columns),
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-social"]) .container > .columns:not(.columns + .columns),
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-bereich"]) .container > .columns:not(.columns + .columns),
.gdlr-content section:has(.gdlr-service-with-image-item[id^="svw-angebot"]) .container > .columns:not(.columns + .columns),
.gdlr-content section:has(.gdlr-image-frame-item[id^="svw-mosaik"]) .container > .columns:not(.columns + .columns) { margin-left: 15px; }
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-kontaktkarte"]) .container > .columns:not(:has(+ .columns)),
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-social"]) .container > .columns:not(:has(+ .columns)),
.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-bereich"]) .container > .columns:not(:has(+ .columns)),
.gdlr-content section:has(.gdlr-service-with-image-item[id^="svw-angebot"]) .container > .columns:not(:has(+ .columns)),
.gdlr-content section:has(.gdlr-image-frame-item[id^="svw-mosaik"]) .container > .columns:not(:has(+ .columns)) { margin-right: 15px; }
.gdlr-content .columns > .gdlr-box-with-icon-ux:has(> [id^="svw-kontaktkarte"]),
.gdlr-content .columns > .gdlr-box-with-icon-ux:has(> [id^="svw-social"]),
.gdlr-content .columns > .gdlr-box-with-icon-ux:has(> [id^="svw-bereich"]),
.gdlr-content .columns > .gdlr-box-with-icon-ux:has(> [id^="svw-liste"]) { display: flex; width: 100%; }
.gdlr-content .columns > .gdlr-box-with-icon-ux > .gdlr-box-with-icon-item[id^="svw-kontaktkarte"],
.gdlr-content .columns > .gdlr-box-with-icon-ux > .gdlr-box-with-icon-item[id^="svw-social"],
.gdlr-content .columns > .gdlr-box-with-icon-ux > .gdlr-box-with-icon-item[id^="svw-bereich"],
.gdlr-content .columns > .gdlr-box-with-icon-ux > .gdlr-box-with-icon-item[id^="svw-liste"] { flex: 1 1 auto; }

@media only screen and (max-width: 1139px) {
	/* schmalere Spalten: kompakter, Pfeil weg (Karte bleibt komplett klickbar) */
	.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"] { padding: 22px 20px; column-gap: 14px; grid-template-columns: auto 1fr; grid-template-areas: "icon title" "icon sub"; }
	.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"]:after { display: none; }
	.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"] .box-with-icon-caption p { font-size: 15px; }
}
@media only screen and (max-width: 767px) {
	.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-kontaktkarte"]) .container > .columns,
	.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-social"]) .container > .columns,
	.gdlr-content section:has(.gdlr-box-with-icon-item[id^="svw-bereich"]) .container > .columns,
	.gdlr-content section:has(.gdlr-service-with-image-item[id^="svw-angebot"]) .container > .columns,
	.gdlr-content section:has(.gdlr-image-frame-item[id^="svw-mosaik"]) .container > .columns,
	.gdlr-content section:has([id^="svw-"]) .container > .columns.four, .gdlr-content section:has([id^="svw-"]) .container > .columns.six,
	.gdlr-content section:has([id^="svw-"]) .container > .columns.eight, .gdlr-content section:has([id^="svw-"]) .container > .columns.three { flex: 1 1 100% !important; margin: 0 !important; }
	.gdlr-content .gdlr-box-with-icon-item[id^="svw-kontaktkarte"] { min-height: 0; gap: 20px; padding: 22px 20px; }
	.gdlr-content .gdlr-box-with-icon-item[id^="svw-social"] { padding: 20px; }
}

/* ------------------------------------------------------------------ */
/* Footer immer mindestens am unteren Viewport-Rand (kurze Seiten)     */
/* ------------------------------------------------------------------ */
html body .body-wrapper {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	/* Theme setzt overflow: hidden, das macht den Wrapper zum Scroll-Container und hebelt den Sticky-Header aus. clip schneidet weiterhin ab, ohne Scroll-Container. */
	overflow: clip;
}
body.admin-bar .body-wrapper { min-height: calc(100vh - 32px); min-height: calc(100dvh - 32px); }
html body .body-wrapper > .gdlr-header-wrapper,
html body .body-wrapper > .footer-wrapper { flex: 0 0 auto; }
html body .body-wrapper > .content-wrapper { flex: 1 0 auto; width: 100%; }

/* ------------------------------------------------------------------ */
/* Verein / Vereinschronik (Design "Verein Dark", helle Variante)      */
/* Meilensteine: Preistabelle mit Page-Item-ID "svw-meilensteine".    */
/* Chronik: Text-Element mit ID "svw-chronik" und gdlr_process-        */
/* Shortcode, Tab-Titel = Zeitraum, erster Absatz .svw-chapter-title.  */
/* ------------------------------------------------------------------ */
.gdlr-content .gdlr-price-table-item#svw-meilensteine .gdlr-price-inner-item,
.gdlr-content .gdlr-price-table-item#svw-meilensteine .gdlr-price-inner-item.best-price { min-height: 0; padding: 20px; gap: 0; }
.gdlr-content .gdlr-price-table-item#svw-meilensteine .price-title-wrapper { display: flex; flex-direction: column-reverse; gap: 8px; }
.gdlr-content .gdlr-price-table-item#svw-meilensteine .price-tag,
.gdlr-content .gdlr-price-table-item#svw-meilensteine .best-price .price-tag { font-size: 44px; line-height: 1; }
.gdlr-content .gdlr-price-table-item#svw-meilensteine .price-title,
.gdlr-content .gdlr-price-table-item#svw-meilensteine .best-price .price-title {
	font-family: 'Barlow', 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 15px;
	line-height: 1.4;
	text-transform: none;
	color: #444 !important;
	margin: 0;
}

#svw-chronik .gdlr-shortcode-wrapper { margin-left: 0; margin-right: 0; } /* Theme setzt -15px, Kapitel sollen an der Inhaltskante stehen */
#svw-chronik .gdlr-process-wrapper { counter-reset: svw-kapitel; }
#svw-chronik .gdlr-process-wrapper .gdlr-process-tab {
	counter-increment: svw-kapitel;
	display: grid;
	grid-template-columns: minmax(200px, 1fr) minmax(0, 3fr);
	grid-template-rows: auto auto 1fr; /* Kapitel, Zeitraum, Rest: überschüssige Höhe des Texts landet in Zeile 3 */
	column-gap: 56px;
	row-gap: 10px;
	align-items: start;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 48px 0 !important;
	border-top: 1px solid #e2e0da;
}
#svw-chronik .gdlr-process-wrapper .gdlr-process-icon,
#svw-chronik .gdlr-process-wrapper .process-line { display: none; }
#svw-chronik .gdlr-process-wrapper .gdlr-process-tab-content { display: contents; }
#svw-chronik .gdlr-process-wrapper .gdlr-process-tab:before {
	content: "Kapitel " counter(svw-kapitel, decimal-leading-zero);
	grid-column: 1;
	grid-row: 1;
	font-family: 'Barlow', 'Open Sans', sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
	color: #c8102e;
}
#svw-chronik .gdlr-process-wrapper .gdlr-process-title {
	grid-column: 1;
	grid-row: 2;
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: 56px;
	line-height: .95;
	text-transform: uppercase;
	color: #15171c !important;
	margin: 0;
}
#svw-chronik .gdlr-process-wrapper .gdlr-process-caption {
	grid-column: 2;
	grid-row: 1 / span 3;
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 720px;
	min-width: 0;
}
#svw-chronik .gdlr-process-wrapper .gdlr-process-caption p { margin: 0; font-size: 18px; line-height: 1.65; color: #444; text-wrap: pretty; }
#svw-chronik .gdlr-process-wrapper .gdlr-process-caption p:empty { display: none; }
#svw-chronik .gdlr-process-wrapper .gdlr-process-caption p.svw-chapter-title {
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 700;
	font-size: 28px;
	line-height: 1.05;
	text-transform: uppercase;
	color: #666;
}
#svw-chronik .gdlr-process-wrapper .gdlr-process-caption p.svw-quote {
	padding: 20px 24px;
	background: radial-gradient(ellipse 130% 90% at 50% 100%, rgba(13, 13, 16, .7) 0%, rgba(13, 13, 16, .35) 45%, rgba(13, 13, 16, 0) 90%), linear-gradient(180deg, #c8102e 0%, #5a0a16 100%);
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: 28px;
	line-height: 1.15;
	text-transform: uppercase;
	color: #fff;
}
#svw-chronik > p:empty, #svw-chronik .gdlr-shortcode-wrapper > p:empty { display: none; }

@media only screen and (max-width: 767px) {
	#svw-chronik .gdlr-process-wrapper .gdlr-process-tab { grid-template-columns: 1fr; grid-template-rows: auto auto auto; row-gap: 8px; padding: 32px 0 !important; }
	#svw-chronik .gdlr-process-wrapper .gdlr-process-title { font-size: 40px; }
	#svw-chronik .gdlr-process-wrapper .gdlr-process-caption { grid-column: 1; grid-row: 3; margin-top: 12px; }
	#svw-chronik .gdlr-process-wrapper .gdlr-process-caption p { font-size: 17px; }
	#svw-chronik .gdlr-process-wrapper .gdlr-process-caption p.svw-quote { font-size: 24px; }
	.gdlr-content .gdlr-price-table-item#svw-meilensteine .price-tag, .gdlr-content .gdlr-price-table-item#svw-meilensteine .best-price .price-tag { font-size: 40px; }
}

/* ------------------------------------------------------------------ */
/* Vorstand (Design "Vorstand Dark", helle Variante)                   */
/* Box mit Icon "svw-sprecher" = rotes Banner, "svw-bereich-…" =       */
/* Bereichskarten (Titel = Bereich, Absätze = Rollen mit               */
/* <span class="svw-rolle">Rolle</span> Name), .svw-caption = Bildtext */
/* ------------------------------------------------------------------ */
.gdlr-content .gdlr-box-with-icon-item#svw-sprecher,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-banner"] {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 32px 28px;
	margin: 0 15px 12px;
	text-align: left;
	background: radial-gradient(ellipse 130% 90% at 50% 100%, rgba(13, 13, 16, .7) 0%, rgba(13, 13, 16, .35) 45%, rgba(13, 13, 16, 0) 90%), linear-gradient(180deg, #c8102e 0%, #5a0a16 100%) !important;
	color: #fff;
}
.gdlr-content .gdlr-box-with-icon-item#svw-sprecher > i,
.gdlr-content .gdlr-box-with-icon-item#svw-sprecher > br,
.gdlr-content .gdlr-box-with-icon-item#svw-sprecher > .clear,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-banner"] > i,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-banner"] > br,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-banner"] > .clear { display: none; }
.gdlr-content .gdlr-box-with-icon-item#svw-sprecher .box-with-icon-title,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-banner"] .box-with-icon-title {
	font-family: 'Barlow', 'Open Sans', sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
	color: #fff !important;
	margin: 0;
}
.gdlr-content .gdlr-box-with-icon-item#svw-sprecher .box-with-icon-caption p,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-banner"] .box-with-icon-caption p {
	margin: 0;
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: clamp(40px, 5vw, 64px);
	line-height: .95;
	text-transform: uppercase;
	color: #fff;
}

.gdlr-content .gdlr-box-with-icon-item[id^="svw-liste"],
.gdlr-content .gdlr-box-with-icon-item[id^="svw-bereich"] {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 24px;
	margin: 0 0 12px;
	box-sizing: border-box;
	text-align: left;
	background: #f4f3f0 !important;
	border-bottom: 4px solid #c8102e;
	color: #15171c;
}
.gdlr-content .gdlr-box-with-icon-item[id^="svw-bereich"] > i,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-liste"] > i,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-bereich"] > br,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-liste"] > br,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-liste"] > .clear,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-bereich"] > .clear { display: none; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-liste"] .box-with-icon-title,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-bereich"] .box-with-icon-title {
	margin: 0;
	padding-bottom: 18px;
	border-bottom: 2px solid #c8102e;
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: clamp(18px, 1.8vw, 24px);
	line-height: 1;
	text-transform: uppercase;
	color: #15171c !important;
}
.gdlr-content .gdlr-box-with-icon-item[id^="svw-bereich"] .box-with-icon-title:before {
	content: "Geschäftsbereich";
	display: block;
	font-family: 'Barlow', 'Open Sans', sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	color: #c8102e;
	margin-bottom: 6px;
}
.gdlr-content .gdlr-box-with-icon-item[id^="svw-liste"] .box-with-icon-caption,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-bereich"] .box-with-icon-caption { display: flex; flex-direction: column; gap: 14px; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-liste"] .box-with-icon-caption p,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-bereich"] .box-with-icon-caption p { margin: 0; font-size: 17px; font-weight: 500; line-height: 1.3; color: #2a2d33; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-liste"] .box-with-icon-caption p + p,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-bereich"] .box-with-icon-caption p + p { padding-top: 14px; border-top: 1px solid #dedcd6; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-bereich"] .box-with-icon-caption p:first-child { font-weight: 700; color: #15171c; }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-liste"] .box-with-icon-caption .svw-rolle,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-bereich"] .box-with-icon-caption .svw-rolle { display: block; font-size: 12px; font-weight: 400; line-height: 1.3; text-transform: uppercase; color: #666; margin-bottom: 2px; }

.gdlr-content .gdlr-content-item .svw-caption { font-size: 16px; line-height: 1.55; color: #444; margin: 0; }
.gdlr-content .gdlr-content-item .svw-caption strong { color: #15171c; }
.gdlr-content .gdlr-content-item .svw-caption__note { color: #666; }

@media only screen and (max-width: 767px) {
	.gdlr-content .gdlr-box-with-icon-item#svw-sprecher,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-banner"] { padding: 24px 20px; }
	.gdlr-content .gdlr-box-with-icon-item#svw-sprecher .box-with-icon-caption p,
.gdlr-content .gdlr-box-with-icon-item[id^="svw-banner"] .box-with-icon-caption p { font-size: 40px; }
	.gdlr-content .gdlr-box-with-icon-item[id^="svw-bereich"] .box-with-icon-title { font-size: 22px; }
}

/* ------------------------------------------------------------------ */
/* Sponsoring (Design "Sponsoring Dark", helle Variante)               */
/* Angebotskarten: "Service mit Bild"-Elemente mit ID svw-angebot-…   */
/* (Bild = Hintergrund, Titel unten, Nummer per CSS-Counter).          */
/* Ansprechpartner: Text-Element + Box mit Icon svw-ansprechpartner.   */
/* Partnerlogos: Galerien mit ID sponsors-… als weiße Kacheln.         */
/* ------------------------------------------------------------------ */
.gdlr-content section:has(.gdlr-service-with-image-item[id^="svw-angebot"]) .container { counter-reset: svw-angebot; }
.gdlr-content .gdlr-service-with-image-item[id^="svw-angebot"] {
	counter-increment: svw-angebot;
	position: relative;
	width: 100%;
	height: 380px;
	overflow: hidden;
	margin: 0 0 12px;
	padding: 0;
	background: #f4f3f0;
	border-bottom: 4px solid #c8102e;
	transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}
.gdlr-content .gdlr-service-with-image-item[id^="svw-angebot"]:hover { transform: translateY(-6px); }
.gdlr-content .gdlr-service-with-image-item[id^="svw-angebot"] .service-with-image-thumbnail { position: absolute; inset: 0; margin: 0; padding: 0; float: none; width: auto; max-width: none; background: transparent !important; border: 0; border-radius: 0; }
.gdlr-content .gdlr-service-with-image-item[id^="svw-angebot"] .service-with-image-thumbnail img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
.gdlr-content .gdlr-service-with-image-item[id^="svw-angebot"]:after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(14, 15, 18, 0) 0%, rgba(14, 15, 18, .15) 45%, rgba(14, 15, 18, .92) 100%);
	pointer-events: none;
}
.gdlr-content .gdlr-service-with-image-item[id^="svw-angebot"]:before {
	content: counter(svw-angebot, decimal-leading-zero);
	position: absolute;
	top: 18px;
	left: 24px;
	z-index: 2;
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: 88px;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(255, 255, 255, .55);
	pointer-events: none;
}
.gdlr-content .gdlr-service-with-image-item[id^="svw-angebot"] .service-with-image-content-wrapper { position: absolute; left: 24px; right: 24px; bottom: 24px; z-index: 2; margin: 0; padding: 0; overflow: visible; }
.gdlr-content .gdlr-service-with-image-item[id^="svw-angebot"] .service-with-image-title {
	margin: 0;
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: 30px;
	line-height: 1.02;
	text-transform: uppercase;
	color: #fff !important;
}
.gdlr-content .gdlr-service-with-image-item[id^="svw-angebot"] .service-with-image-content:empty,
.gdlr-content .gdlr-service-with-image-item[id^="svw-angebot"] > .clear { display: none; }
/* Karte 2 ohne Bild: Spieler vor rotem Verlauf */
.gdlr-content .gdlr-service-with-image-item#svw-angebot-2 {
	background:
		url(https://sv-wittendorf.de/wordpress/wp-content/uploads/kader/1-mannschaft/trainer-markus-bradtke-s.webp) 50% 100% / auto 88% no-repeat,
		url(https://sv-wittendorf.de/wordpress/wp-content/uploads/kader/1-mannschaft/03-robin-schillinger-s.webp) 0% 100% / auto 88% no-repeat,
		url(https://sv-wittendorf.de/wordpress/wp-content/uploads/kader/1-mannschaft/torwart-lucas-finkbeiner-s.webp) 100% 100% / auto 88% no-repeat,
		radial-gradient(ellipse 130% 90% at 50% 100%, rgba(13, 13, 16, .7) 0%, rgba(13, 13, 16, .35) 45%, rgba(13, 13, 16, 0) 90%),
		linear-gradient(180deg, #c8102e 0%, #5a0a16 100%);
}

/* Ansprechpartner-Karte: Text links, Person rechts */
.gdlr-content .gdlr-content-item .svw-lead {
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 700;
	font-size: 26px;
	line-height: 1.1;
	text-transform: uppercase;
	color: #15171c;
	margin: 0;
}
.gdlr-content section:has(#svw-ansprechpartner) .container { display: flex; flex-wrap: wrap; align-items: stretch; }
.gdlr-content section:has(#svw-ansprechpartner) .container > .clear { display: none; }
.gdlr-content section:has(#svw-ansprechpartner) .container > .gdlr-content-item {
	order: 1;
	flex: 1 1 360px;
	margin: 0 0 0 15px !important;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding: 32px 32px 32px 32px;
	background: #f4f3f0;
}
.gdlr-content section:has(#svw-ansprechpartner) .container > .columns {
	order: 2;
	float: none;
	width: auto;
	flex: 0 0 auto;
	margin: 0 15px 0 0;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding: 32px 32px 32px 0;
	background: #f4f3f0;
}
.gdlr-content .gdlr-box-with-icon-ux:has(> #svw-ansprechpartner) { width: 100%; }
.gdlr-content .gdlr-box-with-icon-item#svw-ansprechpartner { padding: 0; margin: 0; text-align: left; background: transparent !important; color: #15171c; }
.gdlr-content .gdlr-box-with-icon-item#svw-ansprechpartner .box-with-circle-icon,
.gdlr-content .gdlr-box-with-icon-item#svw-ansprechpartner > i,
.gdlr-content .gdlr-box-with-icon-item#svw-ansprechpartner > br,
.gdlr-content .gdlr-box-with-icon-item#svw-ansprechpartner > .clear { display: none; }
.gdlr-content .gdlr-box-with-icon-item#svw-ansprechpartner .box-with-icon-title {
	font-family: 'Barlow Condensed', 'Open Sans Condensed', sans-serif;
	font-weight: 800;
	font-size: 28px;
	line-height: 1;
	text-transform: uppercase;
	color: #15171c !important;
	margin: 0 0 6px;
}
.gdlr-content .gdlr-box-with-icon-item#svw-ansprechpartner .box-with-icon-caption p { text-align: left !important; margin: 0 0 6px; font-size: 17px; line-height: 1.4; }
.gdlr-content .gdlr-box-with-icon-item#svw-ansprechpartner .box-with-icon-caption a { color: #15171c; text-decoration: none; }
.gdlr-content .gdlr-box-with-icon-item#svw-ansprechpartner .box-with-icon-caption a[href^="mailto:"] { color: #c8102e; }
.gdlr-content .gdlr-box-with-icon-item#svw-ansprechpartner .box-with-icon-caption a:hover { color: #8f0b20; }

/* Partnerlogos */
.gdlr-content section:has(.gdlr-gallery-item[id^="sponsors-"]) .gdlr-color-wrapper { border-top: 4px solid #c8102e; }
.gdlr-content .gdlr-content-item .svw-partner-text { font-size: 16px; line-height: 1.5; color: #555; margin: 0; }
.gdlr-content .gdlr-item-title-wrapper:has(+ .gdlr-gallery-item[id^="sponsors-"]) { margin-bottom: 12px !important; }
.gdlr-content .gdlr-item-title-wrapper:has(+ .gdlr-gallery-item[id^="sponsors-"]) .gdlr-item-title {
	font-family: 'Barlow', 'Open Sans', sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	line-height: 1.2 !important;
	text-transform: uppercase;
	color: #555 !important;
}
.gdlr-content .gdlr-gallery-item[id^="sponsors-"] { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-left: 15px !important; margin-right: 15px !important; }
.gdlr-content .gdlr-gallery-item[id^="sponsors-"] > .clear { display: none; }
.gdlr-content .gdlr-gallery-item[id^="sponsors-"] .gallery-column { float: none; margin: 0; padding: 0; min-height: 0; width: calc((100% - 36px) / 4) !important; }
.gdlr-content .gdlr-gallery-item[id^="sponsors-"] .gallery-column.one-fifth { width: calc((100% - 48px) / 5) !important; }
.gdlr-content .gdlr-gallery-item[id^="sponsors-"] .gallery-column.four { width: calc((100% - 24px) / 3) !important; }
.gdlr-content .gdlr-gallery-item[id^="sponsors-"] .gallery-column.six { width: calc((100% - 12px) / 2) !important; }
.gdlr-content .gdlr-gallery-item[id^="sponsors-"] .gallery-column.twelve { width: 100% !important; }
.gdlr-content .gdlr-gallery-item[id^="sponsors-"] .gallery-item {
	margin: 0 !important;
	aspect-ratio: 3 / 2;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px;
	box-sizing: border-box;
	background: #fff;
	transition: background .25s, transform .25s;
}
.gdlr-content .gdlr-gallery-item[id^="sponsors-"] .gallery-item:hover { background: #faf9f6; transform: translateY(-3px); }
.gdlr-content .gdlr-gallery-item[id^="sponsors-"] .gallery-item a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.gdlr-content .gdlr-gallery-item[id^="sponsors-"] .gallery-item img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; margin: 0; }

@media only screen and (max-width: 767px) {
	.gdlr-content .gdlr-service-with-image-item[id^="svw-angebot"] { height: 300px; }
	.gdlr-content .gdlr-service-with-image-item[id^="svw-angebot"]:before { font-size: 64px; }
	.gdlr-content .gdlr-service-with-image-item[id^="svw-angebot"] .service-with-image-title { font-size: 26px; }
	.gdlr-content section:has(#svw-ansprechpartner) .container > .gdlr-content-item { flex-basis: 100%; margin: 0 !important; padding: 24px 16px 12px; }
	.gdlr-content section:has(#svw-ansprechpartner) .container > .columns { flex-basis: 100%; margin: 0; padding: 0 16px 24px; }
	.gdlr-content .gdlr-gallery-item[id^="sponsors-"] .gallery-column, .gdlr-content .gdlr-gallery-item[id^="sponsors-"] .gallery-column.one-fifth, .gdlr-content .gdlr-gallery-item[id^="sponsors-"] .gallery-column.four { width: calc((100% - 12px) / 2) !important; }
}

/* ------------------------------------------------------------------ */
/* Bild-Mosaik: Bild-Elemente mit Page-Item-ID svw-mosaik-… in         */
/* Spalten. Das Bild füllt die Spaltenhöhe (Cover), Nachbarspalten     */
/* geben die Höhe vor. Banner in schmalen Spalten: kleinere Schrift.   */
/* ------------------------------------------------------------------ */
.gdlr-content .gdlr-image-frame-item[id^="svw-mosaik"] { margin: 0 0 12px !important; line-height: 0; overflow: hidden; }
.gdlr-content .gdlr-image-frame-item[id^="svw-mosaik"] img { width: 100%; height: auto; display: block; }
@media only screen and (min-width: 768px) {
	.gdlr-content .columns > .gdlr-image-frame-item[id^="svw-mosaik"] { position: relative; flex: 1 1 auto; width: 100%; min-height: 240px; }
	.gdlr-content .columns > .gdlr-image-frame-item[id^="svw-mosaik"] .gdlr-frame,
	.gdlr-content .columns > .gdlr-image-frame-item[id^="svw-mosaik"] .gdlr-image-link-shortcode { position: absolute; inset: 0; }
	.gdlr-content .columns > .gdlr-image-frame-item[id^="svw-mosaik"] img { width: 100%; height: 100%; object-fit: cover; }
	/* Zeile nur aus Bildern (z. B. 1/2 + 1/2): Höhe über Seitenverhältnis */
	.gdlr-content .columns.six > .gdlr-image-frame-item[id^="svw-mosaik"] { aspect-ratio: 3 / 2; }
}
@media only screen and (max-width: 767px) {
	.gdlr-content .gdlr-image-frame-item[id^="svw-mosaik"] { aspect-ratio: 3 / 2; }
	.gdlr-content .gdlr-image-frame-item[id^="svw-mosaik"] img { height: 100%; object-fit: cover; }
}
/* Banner in einer Spalte: volle Spaltenbreite, kein eigener Seitenrand */
.gdlr-content .columns > .gdlr-box-with-icon-ux:has(> [id^="svw-banner"]) { display: flex; width: 100%; }
.gdlr-content .columns .gdlr-box-with-icon-item[id^="svw-banner"] { flex: 1 1 auto; margin-left: 0; margin-right: 0; }
.gdlr-content .columns.four .gdlr-box-with-icon-item[id^="svw-banner"] .box-with-icon-caption p:first-child { font-size: clamp(30px, 3vw, 40px); }
.gdlr-content .gdlr-box-with-icon-item[id^="svw-banner"] .box-with-icon-caption p + p {
	font-family: 'Barlow', 'Open Sans', sans-serif;
	font-weight: 500;
	font-size: 17px;
	line-height: 1.4;
	text-transform: none;
	opacity: .9;
	margin-top: 8px;
}

/* Impressum: lesbare Zeilenlänge für lange Rechtstexte */
.page-id-5602 .gdlr-content .gdlr-content-item p { max-width: 880px; }
