/* =========================================================
   Gedenkportal Core - Frontend
   Farben laufen über CSS-Variablen und lassen sich im
   Customizer bzw. per Custom CSS überschreiben.
   ========================================================= */

:root {
	--gp-accent: #B2975E;
	--gp-accent-dark: #707859;
	--gp-text: #333029;
	--gp-muted: #6f6a60;
	--gp-line: #e3ded4;
	--gp-bg-soft: #f7f5f0;
	--gp-radius: 16px;
	--gp-radius-lg: 28px;
}

.gp-portal,
.gp-block {
	color: var(--gp-text);
}

.gp-block {
	margin: 0 0 1.75rem;
	padding: 1.75rem clamp(1rem, 4vw, 2.25rem);
	background: #fff;
	border: 1px solid var(--gp-line);
	border-radius: var(--gp-radius);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.gp-block:last-child {
	margin-bottom: 0;
}

.gp-block h2 {
	font-size: clamp(1.25rem, 2.5vw, 1.6rem);
	margin: 0 0 1rem;
}
/* ---------- Suche ---------- */

.gp-suche {
	background: var(--gp-bestatter-bg, var(--gp-bg-soft));
	border-radius: var(--gp-radius);
	padding: 1.25rem;
	margin-bottom: 2rem;
}

.gp-suche-felder {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: flex-end;
}

.gp-feld {
	display: flex;
	flex-direction: column;
	flex: 1 1 220px;
	font-size: 0.95rem;
}

.gp-feld span {
	margin-bottom: 0.3rem;
	color: var(--gp-muted);
}

.gp-feld input {
	width: 100%;
	padding: 0.7rem 0.8rem;
	border: 1px solid var(--gp-line);
	border-radius: var(--gp-radius);
	background: #fff;
	font-size: 1rem;
}

.gp-suche-btn,
.gp-kerze-btn,
.gp-mehr,
.gp-btn {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	border: 0;
	border-radius: var(--gp-radius);
	background: var(--gp-accent);
	color: #fff;
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.3;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.2s ease;
}

.gp-suche-btn:hover,
.gp-kerze-btn:hover,
.gp-mehr:hover,
.gp-btn:hover {
	background: var(--gp-accent-dark);
	color: #fff;
}

.gp-suche-btn[disabled],
.gp-kerze-btn[disabled] {
	opacity: 0.6;
	cursor: default;
}

.gp-suche-status {
	margin: 0.75rem 0 0;
	font-size: 0.9rem;
	color: var(--gp-muted);
	min-height: 1.2em;
}
.gp-suche-status:empty {
	margin: 0;
	min-height: 0;
}

/* ---------- Uebersicht ---------- */

.gp-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 1.5rem;
}

.gp-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--gp-line);
	border-radius: var(--gp-radius);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.gp-card:hover,
.gp-card:focus-visible {
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.09);
	transform: translateY(-2px);
	color: inherit;
}

.gp-card-media {
	display: block;
	aspect-ratio: 3 / 4;
	background: var(--gp-bestatter-bg, var(--gp-bg-soft));
	overflow: hidden;
}

.gp-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gp-card-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--gp-bestatter-bg, var(--gp-bg-soft));
}

.gp-card-body {
	display: block;
	padding: 1rem 1.1rem 1.2rem;
}

.gp-card-name {
	display: block;
	font-size: 1.1rem;
	font-weight: 600;
	margin-bottom: 0.3rem;
}

.gp-card-dates,
.gp-card-ort {
	display: block;
	font-size: 0.92rem;
	color: var(--gp-muted);
}

.gp-keine-treffer {
	grid-column: 1 / -1;
	padding: 1.5rem 0;
	color: var(--gp-muted);
}

.gp-mehr-wrap {
	text-align: center;
	margin-top: 2rem;
}

/* ---------- Kopfbereich Gedenkseite ---------- */

.gp-kopf {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	align-items: flex-start;
	margin-bottom: 2.5rem;
}

.gp-portrait {
	position: absolute;
	top: 200px; /* Muss mit .single-gedenkseite .gp-kopf padding-top uebereinstimmen */
	left: 0;
	width: 260px;
	max-width: 100%;
	height: 350px; /* feste Hoehe statt Flex-Geschwister-Vergleich: Bild ragt so IMMER unten ueber das Farb-Oval hinaus, unabhaengig davon ob der Text laenger oder kuerzer ist */
}

.gp-portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--gp-radius);
	display: block;
	border: 1px solid var(--gp-line);
}

.gp-kopf-text {
	flex: 1 1 320px;
	margin-left: calc(260px + 2rem); /* Platz fuer das jetzt absolut positionierte Portraitbild reservieren */
}

.gp-name {
	margin: 0 0 0.4rem;
	font-size: clamp(1.7rem, 4vw, 2.4rem);
	line-height: 1.2;
}

.gp-orte {
	margin: 0 0 0.4rem;
	color: var(--gp-muted);
}

/* --- Geburtsname jetzt klein inline hinter dem Namen statt eigener Zeile (haelt die Oval-Hoehe unabhaengig davon konsistent) --- */
.gp-name .gp-geburtsname {
	display: inline-block;
	font-size: 0.5em;
	font-weight: 400;
	font-style: italic;
	color: var(--gp-muted);
	margin-left: 0.6rem;
	vertical-align: middle;
}

.gp-daten {
	font-size: 1.15rem;
	margin: 0 0 0.8rem;
	letter-spacing: 0.02em;
}

.gp-nachruf {
	margin: 1.2rem 0 0;
	padding: 0.2rem 0 0.2rem 1.2rem;
	font-style: italic;
	color: var(--gp-muted);
}

/* ---------- Anzeige, Trauerfeier ---------- */

.gp-anzeige-text {
	max-width: 46rem;
	line-height: 1.7;
}

.gp-anzeige-bild img {
	max-width: 100%;
	height: auto;
	border: 1px solid var(--gp-line);
	border-radius: var(--gp-radius);
}

.gp-trauerfeier ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gp-trauerfeier li {
	padding: 0.4rem 0;
	border-bottom: 1px dashed var(--gp-line);
}

.gp-trauerfeier li:last-child {
	border-bottom: 0;
}

/* ---------- Kerze ---------- */

.gp-kerze-inner {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	align-items: center;
	background: var(--gp-bestatter-bg, var(--gp-bg-soft));
	border-radius: var(--gp-radius);
	padding: 1.5rem;
}

.gp-kerze-visual {
	position: relative;
	width: 46px;
	height: 120px;
	flex: 0 0 46px;
}

.gp-wachs {
	position: absolute;
	bottom: 0;
	left: 8px;
	width: 30px;
	height: 84px;
	background: linear-gradient(180deg, #fdfaf2, #e8dfc9);
	border-radius: 6px 6px 3px 3px;
	box-shadow: inset -4px 0 6px rgba(0, 0, 0, 0.07);
}

.gp-flamme {
	position: absolute;
	top: 6px;
	left: 50%;
	width: 16px;
	height: 26px;
	margin-left: -8px;
	background: radial-gradient(circle at 50% 70%, #fff3b0 0%, #ffbe3d 45%, #ff8a1f 75%, rgba(255, 138, 31, 0) 100%);
	border-radius: 50% 50% 40% 40%;
	animation: gp-flackern 2.6s ease-in-out infinite;
	transform-origin: 50% 90%;
}

@keyframes gp-flackern {
	0%, 100% { transform: scale(1) rotate(-1deg); opacity: 0.95; }
	50%      { transform: scale(1.08) rotate(2deg); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.gp-flamme { animation: none; }
}

.gp-kerze-aktion {
	flex: 1 1 260px;
}

.gp-kerze-zähler {
	margin: 0 0 0.8rem;
}

.gp-kerze-count {
	font-size: 1.3rem;
}

.gp-kerze-aktion .gp-feld {
	max-width: 320px;
	margin-bottom: 0.8rem;
}

.gp-kerze-status {
	margin: 0.7rem 0 0;
	font-size: 0.95rem;
	color: var(--gp-muted);
	min-height: 1.2em;
}

.gp-kerze-liste {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
	display: flex;
	flex-direction: column; /* Kerzenanzuender/Nachrichten immer einspaltig untereinander, nicht mehr im mehrspaltigen Grid */
}

.gp-kerze-liste li {
	display: block;
	font-size: 0.95rem;
	padding: 0.6rem 0;
	border-bottom: 1px solid var(--gp-line);
}

.gp-kerze-kopf {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.gp-kerze-liste em {
	margin-left: auto;
	font-style: normal;
	color: var(--gp-muted);
	font-size: 0.85rem;
}

.gp-kerze-icon {
	width: 8px;
	height: 14px;
	border-radius: 3px;
	background: linear-gradient(180deg, #ffbe3d, #fdfaf2 40%);
	flex: 0 0 8px;
}

/* ---------- Teilen ---------- */

.gp-teilen-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.gp-share {
	display: inline-block;
	padding: 0.6rem 1.1rem;
	border: 1px solid var(--gp-line);
	border-radius: var(--gp-radius);
	background: #fff;
	color: var(--gp-text);
	text-decoration: none;
	font-family: inherit;
	font-size: 0.95rem;
	cursor: pointer;
}

.gp-share:hover {
	border-color: var(--gp-accent);
	color: var(--gp-accent-dark);
}

.gp-teilen-status {
	font-size: 0.9rem;
	color: var(--gp-muted);
	min-height: 1.2em;
	margin: 0.6rem 0 0;
}
.gp-teilen-status:empty {
	margin: 0;
	min-height: 0;
}

/* ---------- Galerie, Zeitstrahl, Spende ---------- */

.gp-galerie-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 0.8rem;
}

.gp-galerie-grid img {
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--gp-radius);
	display: block;
}

.gp-zeitstrahl ol {
	list-style: none;
	margin: 0;
	padding: 0 0 0 1.5rem;
	border-left: 2px solid var(--gp-line);
}

.gp-zeitstrahl li {
	position: relative;
	padding: 0 0 1.2rem;
}

.gp-zeitstrahl li::before {
	content: "";
	position: absolute;
	left: -1.95rem;
	top: 0.45rem;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--gp-accent);
}

.gp-jahr {
	display: block;
	font-weight: 600;
	color: var(--gp-accent-dark);
}

.gp-station {
	display: block;
	color: var(--gp-muted);
}

/* ---------- Kondolenzbuch ---------- */

.gp-kondolenz-hinweis {
	color: var(--gp-muted);
	font-size: 0.95rem;
}

.gp-kondolenz .comment-list {
	list-style: none;
	margin: 1.5rem 0;
	padding: 0;
}

.gp-kondolenz .comment-list li {
	background: var(--gp-bestatter-bg, var(--gp-bg-soft));
	border-radius: var(--gp-radius);
	padding: 1.1rem 1.3rem;
	margin-bottom: 1rem;
}

.gp-kondolenz .gp-komm-meta {
	font-size: 0.9rem;
	color: var(--gp-muted);
	margin-bottom: 0.4rem;
}

.gp-kondolenz .gp-komm-autor {
	font-weight: 600;
	color: var(--gp-text);
}

.gp-kondolenz textarea,
.gp-kondolenz input[type="text"],
.gp-kondolenz input[type="email"] {
	width: 100%;
	padding: 0.7rem 0.8rem;
	border: 1px solid var(--gp-line);
	border-radius: var(--gp-radius);
	font-size: 1rem;
	font-family: inherit;
}

.gp-kondolenz label {
	display: block;
	margin-bottom: 0.3rem;
	color: var(--gp-muted);
	font-size: 0.95rem;
}

.gp-kondolenz .form-submit input,
.gp-kondolenz .submit {
	background: var(--gp-accent);
	color: #fff;
	border: 0;
	padding: 0.75rem 1.5rem;
	border-radius: var(--gp-radius);
	font-size: 1rem;
	cursor: pointer;
}

/* ---------- QR ---------- */

.gp-qr {
	display: none !important;
}
.gp-qr canvas,
.gp-qr img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* ---------- Barrierefreiheit ---------- */

.gp-card:focus-visible,
.gp-share:focus-visible,
button:focus-visible {
	outline: 3px solid var(--gp-accent);
	outline-offset: 2px;
}

/* ---------- Mobil ---------- */

@media (max-width: 767px) {

	.gp-kopf {
		gap: 1.2rem;
	}

	.gp-portrait {
		position: relative;
		top: auto;
		left: auto;
		flex: 1 1 100%;
		width: 100%;
		max-width: 220px;
		height: auto;
		aspect-ratio: 3 / 4;
		margin: 0 auto;
	}

	.gp-kopf-text {
		margin-left: 0;
	}

	.gp-kopf-text {
		text-align: center;
	}

	.gp-nachruf {
		text-align: left;
	}

	.gp-grid {
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
		gap: 1rem;
	}

	.gp-card-name {
		font-size: 1rem;
	}

	.gp-suche-felder {
		flex-direction: column;
		align-items: stretch;
	}

	.gp-suche-btn {
		width: 100%;
	}

	.gp-kerze-inner {
		padding: 1.1rem;
		gap: 1.2rem;
	}

	.gp-teilen-links .gp-share {
		flex: 1 1 45%;
		text-align: center;
	}
}

@media (max-width: 480px) {

	.gp-grid {
		grid-template-columns: 1fr 1fr;
	}
}

/* ---------- Aufklapp-Bereiche (z. B. Lebensstationen) ---------- */

.gp-aufklapp summary {
	cursor: pointer;
	list-style: none;
}

.gp-aufklapp summary::-webkit-details-marker {
	display: none;
}

.gp-aufklapp summary h2 {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
}

.gp-aufklapp summary h2::after {
	content: '\2304';
	display: inline-block;
	font-size: 1.1rem;
	transform: rotate(0deg);
	transition: transform 0.2s ease;
	color: var(--gp-accent);
}

.gp-aufklapp[open] summary h2::after {
	transform: rotate(180deg);
}

.gp-aufklapp ol {
	margin-top: 1rem;
}

/* --- Fix: Abstand zwischen Titelzeile und Inhalt, wenn Bereich aufgeklappt ist (Round 4b Nachfrage) --- */
.gp-aufklapp[open] summary {
	margin-bottom: 25px;
}

/* ---------- Gedenkkerze: optionaler Bereich fuer Nachricht/Bild ---------- */

.gp-kerze-mehr-btn {
	background: none;
	border: 0;
	padding: 0.25rem 0;
	color: var(--gp-accent);
	font-size: 0.95rem;
	text-decoration: underline;
	cursor: pointer;
	display: block;
	margin: 0.75rem 0;
}

.gp-kerze-mehr-btn:hover {
	color: var(--gp-accent-dark);
}

.gp-kerze-mehr {
	margin: 0 0 1rem;
	padding: 1rem;
	background: var(--gp-bestatter-bg, var(--gp-bg-soft));
	border-radius: var(--gp-radius);
}

.gp-kerze-mehr .gp-feld {
	margin-bottom: 0.75rem;
}

.gp-kerze-mehr textarea,
.gp-kerze-mehr input[type="file"] {
	width: 100%;
}

.gp-kerze-eintrag-text {
	margin: 0.4rem 0 0 1.6rem;
	color: var(--gp-muted);
	font-size: 0.95rem;
	overflow-wrap: break-word;
}

.gp-kerze-eintrag-bilder {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.5rem 0 0 1.6rem;
}

.gp-kerze-eintrag-bilder img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 4px;
}

/* ---------- Abstand unter dem Seiten-Header ---------- */

.content-area {
	padding-top: clamp(1.75rem, 4vw, 3rem);
}

/* --- Fix: Gedenkseite hat eigenes Top-Padding in .gp-kopf (150px wegen transparentem Header) - hier NICHT zusaetzlich einrücken, sonst weisser Spalt oben --- */
.single-gedenkseite .content-area {
	padding-top: 0;
}

/* =========================================================
   Korrekturen (Ueberarbeitung Herbst 2026)
   Gebuendelte Nachbesserungen: Zitat, Name, Zeitstrahl-Punkte,
   Kerze-Sprung, Nachricht/Bild-Feld, Kasten-Abstaende, Ueberschriften.
   ========================================================= */

/* Name im Kopfbereich dezent hervorheben */
.gp-name {
    display: inline-block;
    padding: 0.5rem 1.75rem;
    background: var(--gp-bestatter-bg, var(--gp-bg-soft));
    border-radius: 999px;
    font-size: clamp(1.7rem, 4vw, 2.3rem);
    line-height: 1.3;
}

/* Zitat: Theme-Anfuehrungszeichen-Icon entfernen (ueberlappte bisher den Text) */
.gp-nachruf::before,
.gp-nachruf::after {
    content: none !important;
}

.gp-nachruf {
    margin: 1.5rem 0 0;
    padding: 1rem 1.25rem !important;
    background: var(--gp-bestatter-bg, var(--gp-bg-soft));
    border-left: 3px solid var(--gp-accent);
    border-radius: var(--gp-radius);
    font-style: italic;
    color: var(--gp-text);
}

/* Zeitstrahl: Punkte exakt auf der Linie zentrieren */
.gp-zeitstrahl li::before {
    left: -1.875rem;
}

/* Gedenkkerze: darf beim Aufklappen des Formulars nicht springen */
.gp-kerze-inner {
    align-items: flex-start;
}

/* Nachricht/Bild hinzufuegen: gleiche Optik wie 'Ihr Name (optional)' */
.gp-kerze-mehr {
    padding: 0;
    background: none;
    border-radius: 0;
}

/* Kaesten: Abstand unten etwas reduzieren */
.gp-block {
    padding: 1.75rem clamp(1rem, 4vw, 2.25rem) 1.25rem;
}

/* Kaesten: Ueberschrift farblich hervorheben */
.gp-block h2 {
    display: inline-block;
    padding: 0.45rem 1.2rem;
    margin: 0 0 1.25rem;
    background: var(--gp-bestatter-bg, var(--gp-bg-soft));
    border-radius: 999px;
    font-size: clamp(1.1rem, 2.2vw, 1.35rem);
    color: var(--gp-accent-dark);
}


/* Beitragsnavigation (vorheriger/naechster Beitrag) auf Gedenkseiten ausblenden */
body.single-gedenkseite .post-pagination-wrap {
    display: none !important;
}


/* Button 'Alle Gedenkseiten ansehen' auf der Startseite: Abstand + Zentrierung */
.gp-liste-cta {
    margin-top: 2rem;
    margin-bottom: 2rem;
    text-align: center;
}


/* ---------- Footer: komplette Neugestaltung (Herbst 2026) ---------- */
.footer,
.footerbot {
    background: var(--gp-accent-dark) !important;
    background-image: none !important;
    color: #fff !important;
}



.footerbot {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.footera,
.footera * {
    color: rgba(255, 255, 255, 0.85) !important;
}

.footera a:hover {
    color: #fff !important;
}

.folikeh2,
.folikeh2 * {
    color: #f3ede1 !important;
}

.footer .vcex-button {
    border-radius: 999px !important;
}


/* =========================================================
   Korrekturen Runde 2 (Herbst 2026 – Nutzer-Feedback #52-63)
   ========================================================= */

/* --- #61 Logo-Farben uebernehmen (aus memoria-vida-logo.png) --- */
:root {
	--gp-accent: #B2975E;
	--gp-accent-dark: #707859;
}

/* --- #56 Box-Padding vereinheitlichen: gleiche Innenabstaende auf allen Hauptboxen --- */
.gp-block,
.gp-suche,
.gp-kerze-inner {
	padding: clamp(1.5rem, 4vw, 2rem) !important;
}
.gp-block > *:first-child,
.gp-suche > *:first-child,
.gp-kerze-inner > *:first-child {
	margin-top: 0;
}

/* --- #58 Abstand zwischen Seitenende und Footer --- */
#main,
.content-area,
.wpex-row-content-area {
	padding-bottom: clamp(2.5rem, 6vw, 5rem);
}

/* --- #59 Footer: jetzt einspaltig (Tagline + Kontakt-Button entfernt) --- */
.footerbot {
	border-radius: var(--gp-radius-lg) var(--gp-radius-lg) 0 0 !important;
	border-top: 0 !important;
	padding-top: 1.25rem !important;
	padding-bottom: 1.25rem !important;
}

/* --- #60 Menüpunkt-Typografie --- */
#main-nav a,
.dropdown-menu a {
	font-weight: 500;
	letter-spacing: 0.01em;
}

/* --- #62 Mehr abgerundete Hintergrundbereiche (site-weit) --- */
.wpb_single_image .vc_single_image-wrapper,
.vc_single_image-wrapper img,
.gp-anzeige-bild img {
	border-radius: var(--gp-radius-lg) !important;
	overflow: hidden;
}
.wpb_content_element .wpb_wrapper > .vc_row,
.entry-content .vc_row.wpb_row {
	border-radius: var(--gp-radius-lg);
}

/* --- #53/#54 Header-Bild + Bildverteilung im Content --- */
.gp-header-bild {
	overflow: hidden !important;
	border-radius: 0 !important;
	margin: -50px 0 2.5rem !important;
	position: relative !important;
	display: block !important;
	left: 50% !important;
	right: 50% !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	height: 30vh !important;
	min-height: 220px !important;
	object-fit: cover !important;
}
.gp-header-bild img {
	width: 100% !important;
	height: 30vh !important;
	min-height: 220px !important;
	object-fit: cover !important;
	display: block !important;
}
.gp-content-bild-rechts,
.gp-content-bild-links {
	overflow: hidden;
	border-radius: var(--gp-radius);
	max-width: 45%;
}
.gp-content-bild-rechts img,
.gp-content-bild-links img {
	width: 100%;
	display: block;
}
.gp-content-bild-rechts { float: right; margin: 0.3rem 0 1.5rem 2rem; }
.gp-content-bild-links  { float: left;  margin: 0.3rem 2rem 1.5rem 0; }
.gp-content-bg-abschnitt {
	background-image: linear-gradient(rgba(0,0,0,0.42), rgba(0,0,0,0.42)), url('https://dev4.homepage-balingen.de/wp-content/uploads/2026/09/900x600_3.webp'); /* Dunkles Overlay (42%) fuer Lesbarkeit der weissen Schrift - Fallback/Standardbild, im Backend unter Designeinstellungen ueberschreibbar */
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-size: cover;
	background-position: center;
	border-radius: var(--gp-radius-lg);
	padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.5rem, 5vw, 3rem);
	color: #fff;
	margin: 2.5rem 0;
	overflow: hidden;
	min-height: 320px;
}
.gp-content-bg-abschnitt::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(30,25,18,0.35), rgba(30,25,18,0.68));
	z-index: 0;
}
.gp-content-bg-abschnitt > * {
	position: relative;
	z-index: 1;
}
@media (max-width: 600px) {
	.gp-content-bild-rechts,
	.gp-content-bild-links {
		float: none;
		max-width: 100%;
		margin: 0 0 1.5rem;
	}
}

/* --- #63 Lebensstationen: Pfeil-Icon komplett neu (bisherige Loesung reichte nicht) --- */
.gp-aufklapp summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.gp-aufklapp summary::-webkit-details-marker {
	display: none;
}
.gp-aufklapp summary h2 {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
}
.gp-aufklapp summary h2::after {
	content: none !important;
}
.gp-aufklapp summary::after {
	content: "";
	flex: 0 0 auto;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 50%;
	background: var(--gp-bestatter-accent, var(--gp-accent)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") center / 1.1rem no-repeat;
	transition: transform 0.25s ease, background-color 0.2s ease;
}
.gp-aufklapp[open] summary::after {
	transform: rotate(180deg);
	background-color: var(--gp-bestatter-accent-dark, var(--gp-accent-dark));
}

/* ================================================================
   Ueberarbeitung Herbst 2026 - Runde 3 (Rueckmeldung nach Screenshot)
   Wellen-Form fuer Kopfbereich + Header-Bilder, Box-Padding-Fix,
   einheitliche 50px-Abstaende, echte Schrift-Ueberschreibung,
   Menue-Typografie, Zitat-Hintergrund.
   ================================================================ */

:root {
	--gp-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,0 H1440 V55 A720,45 0 0 1 0,55 Z' fill='white'/%3E%3C/svg%3E");
}

/* Kopfbereich (Name/Datum/Zitat) als zusammenhaengendes Wellen-Panel */
.gp-kopf {
	position: relative;
	background: transparent;
	padding: 2.5rem clamp(1.25rem, 5vw, 3rem) 3.5rem;
	margin: 0 0 4.5rem; /* mehr Abstand: Portraitbild ragt 39px ueber die Box hinaus, daher hier vergroessert fuer sichtbaren Freiraum zur naechsten Box */
}
.gp-kopf::before {
	content: "";
	position: absolute;
	left: 50%;
	right: auto;
	width: 100vw;
	margin-left: -50vw;
	top: 0;
	bottom: -2rem;
	background: var(--gp-bestatter-bg, #f0e9d9);
	-webkit-mask-image: var(--gp-wave);
	        mask-image: var(--gp-wave);
	-webkit-mask-size: 100% 100%;
	        mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	z-index: -1;
}
.gp-nachruf {
	background: transparent !important;
}

/* Weisser Farbverlauf hinter dem transparenten Header, damit die Menuepunkte besser lesbar sind */
#site-header.overlay-header::after {
	content: "";
	visibility: visible;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 340px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.9) 40%, rgba(255, 255, 255, 0.55) 70%, rgba(255, 255, 255, 0) 100%);
	pointer-events: none;
	z-index: 1;
}
/* Farbverlauf nur auf normalen Seiten, nicht auf den Gedenkseiten selbst */
.single-gedenkseite #site-header.overlay-header::after {
	content: none;
	visibility: hidden;
}
#site-header.overlay-header #site-header-inner {
	position: relative;
	z-index: 2;
}

/* Header-Bilder: exakt dieselbe Wellen-Form wie der Kopfbereich */
.gp-header-bild {
	-webkit-mask-image: var(--gp-wave);
	        mask-image: var(--gp-wave);
	-webkit-mask-size: 100% 100%;
	        mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
}

/* Header-Bilder als WP-Bakery-Row-Hintergrund (Design Options), damit der Kunde das Bild spaeter selbst im Row-Editor aendern kann */
.gp-header-row {
	position: relative !important;
	left: 50% !important;
	right: auto !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: -50vw !important;
	margin-right: 0 !important;
	margin-top: -50px !important;
	margin-bottom: 1rem !important;
	min-height: max(50vh, 220px) !important; /* Ueberschreibt die pro Seite im Backend unter "Zeile bearbeiten" -> Designeinstellungen -> "Minimale Hoehe" eingestellten 40vh einheitlich auf 50vh */
	background-position: 50% 50% !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	-webkit-mask-image: var(--gp-wave);
	        mask-image: var(--gp-wave);
	-webkit-mask-size: 100% 100%;
	        mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
}
.gp-header-row::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: auto !important;
	height: auto !important;
	background: rgba(255, 255, 255, .65) !important;
	pointer-events: none !important;
	clear: none !important;
}

/* Boxen: kein zusaetzlicher Abstand unten durch Kind-Margin (z.B. .gp-aufklapp) */
.gp-block > *:last-child {
	margin-bottom: 0 !important;
}
.gp-block > *:last-child > *:last-child {
	margin-bottom: 0 !important;
}

/* Einheitliche 50px Abstaende: oben zum Inhalt, unten zum Footer */
body:not(.has-overlay-header) #primary.content-area,
body:not(.has-overlay-header) #primary {
	padding-top: 50px !important;
}
#primary.content-area,
#primary {
	padding-bottom: 50px !important;
}
/* Kopf-Panel soll bei transparentem Header ganz oben beginnen, damit es unter dem Header liegt (Theme-Standard-Padding von #primary aufheben) */
/* Gedenkseiten: 200px Abstand oben, da der transparente Header (Logo 150px) sonst ueber dem Inhalt liegt */
.single-gedenkseite .gp-kopf {
	margin-top: 0 !important;
	padding-top: 200px;
}

/* ===== Ueberarbeitung Herbst 2026 - Runde 4 (Rueckmeldung nach 2. Screenshot-Runde) ===== */

/* Doppeltes Padding vor dem Footer beheben: Theme-eigenes #main/.site-main hatte */
/* zusaetzlich eigenes padding-bottom, das sich mit dem 50px von #primary addiert hat. */
#main.site-main,
.site-main {
	padding-bottom: 0 !important;
}

/* ---------- Ueberarbeitung Herbst 2026 - Runde 5 ---------- */

/* Abstand nach H1 (Schriftgroesse/-farbe kommt ausschliesslich aus dem Customizer) */
h1 {
	margin-bottom: 1.75rem !important;
}
/* Stilelement direkt vor der Ueberschrift (inline in der gleichen Zeile, nicht als Block darueber) */
h1:not(.gp-name) {
	display: flex;
	align-items: center;
	gap: 1rem;
}
h1:not(.gp-name)::before {
	content: "";
	display: inline-block;
	flex: 0 0 auto;
	width: 40px;
	height: 3px;
	background: var(--gp-accent);
	border-radius: 2px;
}

/* Letzter Abschnitt vor Fussbereich soll nicht zusaetzlich Rand mitbringen (z.B. Ihre-Gedenkseite) */
/* WPBakery wrapt Inhalte in .wpb-content-wrapper, daher hier :last-child statt direktem Kind-Selektor */
.single-page-content .gp-content-bg-abschnitt:last-child,
.entry-content .gp-content-bg-abschnitt:last-child {
	margin-bottom: 0 !important;
	padding-bottom: 24px !important;
}

/* --- Fix: CTA-Box "Bereit, eine Gedenkseite einzurichten?" soll oben/unten gleiches Padding haben, auch wenn sie letztes Element vor dem Footer ist --- */
.single-page-content .gp-content-bg-abschnitt:last-child,
.entry-content .gp-content-bg-abschnitt:last-child {
	padding-bottom: clamp(2.5rem, 6vw, 4.5rem) !important;
}


/* --- Kondolenzbuch: Bilder anklickbar + Lightbox (Round 4 Nachfrage) --- */
.gp-kerze-bild-link {
	display: inline-block;
	cursor: zoom-in;
	line-height: 0;
}
.gp-kerze-bild-link img {
	transition: opacity 0.2s ease;
}
.gp-kerze-bild-link:hover img {
	opacity: 0.85;
}

.gp-lightbox-overlay {
	position: fixed;
	inset: 0;
	background: rgba(20, 16, 10, 0.9);
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem;
}
.gp-lightbox-overlay img {
	max-width: 100%;
	max-height: 100%;
	border-radius: 4px;
	box-shadow: 0 10px 40px rgba(0,0,0,0.5);
}
.gp-lightbox-close {
	position: absolute;
	top: 1rem;
	right: 1.5rem;
	background: none;
	border: none;
	color: #fff;
	font-size: 2.5rem;
	line-height: 1;
	cursor: pointer;
	padding: 0.25rem 0.75rem;
}
.gp-lightbox-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255,255,255,0.15);
	border: none;
	color: #fff;
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
	padding: 0.5rem 1rem;
	border-radius: 4px;
}
.gp-lightbox-prev { left: 1rem; }
.gp-lightbox-next { right: 1rem; }
@media (max-width: 600px) {
	.gp-lightbox-nav { font-size: 1.5rem; padding: 0.4rem 0.7rem; }
	.gp-lightbox-close { font-size: 2rem; top: 0.5rem; right: 0.75rem; }
}

.gp-galerie-bild-link {
	display: block;
	cursor: zoom-in;
}
.gp-galerie-bild-link img {
	transition: opacity 0.2s ease;
}
.gp-galerie-bild-link:hover img {
	opacity: 0.85;
}


/* ---------- Bestatter-Badge (Gedenkseite): fixiert oben rechts ---------- */
.gp-bestatter-badge {
	position: fixed;
	top: 200px;
	right: clamp(1rem, 3vw, 2rem);
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 0.9rem 1.4rem;
	background: rgba(255, 255, 255, 0.92);
	border-radius: var(--gp-radius);
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.12);
	flex-wrap: wrap;
	z-index: 999;
}
.gp-bestatter-logo {
	max-height: 70px;
	width: auto;
	max-width: 280px;
	height: auto;
	object-fit: contain;
}
@media (max-width: 782px) {
	.gp-bestatter-badge {
		top: auto;
		bottom: 1rem;
		right: 1rem;
		padding: 0.6rem 0.9rem;
	}
	.gp-bestatter-logo {
		max-height: 44px;
		max-width: 180px;
	}
}


/* ---------- Footer in Bestatter-Farbe (nur auf Gedenkseiten) ---------- */
.single-gedenkseite .footerbot {
	background-color: var(--gp-bestatter-accent-dark, #707859) !important;
}


/* --- Mobile-Anpassungen: Rundung Header/Gedenkseite flacher, Suchformular-Abstaende korrigiert (max-width: 767px) --- */
@media (max-width: 767px) {

	.gp-header-row {
		min-height: max(25vh, 160px) !important;
	}

	.gp-kopf::before {
		bottom: auto;
		height: max(25vh, 160px); /* exakt gleiche Hoehe/Rundung wie .gp-header-row auf den anderen Seiten */
	}

	.gp-feld {
		flex: none; /* verhindert, dass die alte "flex: 1 1 220px" (Zeilen-Basis) im column-Layout eine Hoehe von 220px erzwingt */
	}

	.single-gedenkseite .gp-kopf {
		padding-top: 170px; /* mobil weniger Abstand unter dem transparenten Header statt 200px */
	}

	.gp-kopf {
		padding-bottom: 1.5rem; /* war 3.5rem, nur fuer das auf Desktop ueberstehende Portraitbild gedacht */
		margin-bottom: 2rem; /* war 4.5rem, gleicher Grund - auf Mobil steht das Bild nicht mehr ueber */
	}

}
