/* ==========================================================================
   Gospelwelt – Styles nach dem Style-Guide (Version 2.1)
   Farben kommen aus der Kadence-Palette (--global-paletteN), damit Änderungen
   im Customizer überall greifen.
   ========================================================================== */

:root {
	--gw-purpur: var(--global-palette1, #3B1F4A);
	--gw-gold: var(--global-palette2, #B8862B);
	--gw-nachtblau: var(--global-palette3, #1B1D36);
	--gw-tinte: var(--global-palette4, #1F1A24);
	--gw-grauviolett: var(--global-palette5, #6A6072);
	--gw-gold-dunkel: var(--global-palette6, #8A6320);
	--gw-fliederlinie: var(--global-palette7, #E4DCE8);
	--gw-flieder: var(--global-palette8, #F5F1F7);
	--gw-creme: var(--global-palette9, #F6F1E6);
	--gw-hellgold: #E0B458;
	--gw-lavendel: #EFE6F2;
	--gw-champagner: #E9D3A4;
	--gw-weiss: #FFFFFF;
	--gw-serif: Georgia, 'Iowan Old Style', 'Palatino Linotype', 'Times New Roman', serif;
	--gw-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	--gw-radius: 6px;
}

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

.gw-portal .entry-content a:not(.wp-block-button__link):not(.gw-pfeil):not(.gw-button-neben):not(.button),
.gw-portal .widget a {
	text-decoration-color: var(--gw-gold);
	text-underline-offset: 3px;
}
.gw-portal .entry-content a:not(.wp-block-button__link):hover { color: var(--gw-gold-dunkel); }

:focus-visible {
	outline: 3px solid var(--gw-hellgold);
	outline-offset: 2px;
}

h1, h2, h3, h4, h5, h6, .entry-title { font-weight: 400; }
.entry-title { color: var(--gw-purpur); }

.is-style-gw-linie,
.gw-bereich__titel {
	padding-bottom: .35em;
	border-bottom: 2px solid var(--gw-gold);
}

.gw-kicker {
	margin: 0 0 .4em;
	font-family: var(--gw-sans);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gw-gold-dunkel);
}
.gw-kicker a { color: inherit; text-decoration: none; }

.gw-einleitung {
	font-size: 1.12em;
	color: var(--gw-tinte);
}

.gw-pfeil {
	font-weight: 600;
	color: var(--gw-purpur);
	text-decoration: none;
	white-space: nowrap;
}
.gw-pfeil:hover { color: var(--gw-gold-dunkel); }

.gw-button-neben,
.wp-block-button.is-style-gw-neben .wp-block-button__link {
	display: inline-block;
	padding: .55em 1.1em;
	border: 1px solid var(--gw-purpur);
	border-radius: var(--gw-radius);
	background: transparent;
	color: var(--gw-purpur);
	font-weight: 600;
	text-decoration: none;
	transition: background .15s, color .15s;
}
.gw-button-neben:hover,
.wp-block-button.is-style-gw-neben .wp-block-button__link:hover {
	background: var(--gw-purpur);
	color: var(--gw-weiss);
}

.gw-leer { color: var(--gw-grauviolett); font-style: italic; }

.gw-admin-hinweis {
	padding: .7em 1em;
	border: 1px dashed var(--gw-gold);
	background: #fffaf0;
	font-size: .9em;
	color: var(--gw-tinte);
}

.gw-platzhalter {
	padding: 1em 1.2em;
	border-left: 4px solid var(--gw-gold);
	background: var(--gw-flieder);
}

/* ---------- Hinweisleiste ---------- */

.gw-hinweisleiste {
	background: var(--gw-nachtblau);
	color: var(--gw-creme);
	font-size: .9rem;
	padding: .55em 0;
	text-align: center;
	border-bottom: 2px solid var(--gw-gold);
}
.gw-hinweisleiste a { color: var(--gw-hellgold); font-weight: 600; }
.gw-hinweisleiste__stern { color: var(--gw-hellgold); }

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

#masthead .site-main-header-wrap .site-header-row-container-inner {
	border-bottom: 1px solid var(--gw-fliederlinie);
}
.site-branding .custom-logo { height: auto; }

.header-navigation .header-menu-container > ul > li > a {
	font-family: var(--gw-sans);
	font-weight: 500;
}
.header-navigation .header-menu-container > ul > li.current-menu-item > a,
.header-navigation .header-menu-container > ul > li.current-menu-ancestor > a {
	box-shadow: inset 0 -3px 0 var(--gw-gold);
}
.header-navigation .sub-menu { border-top: 3px solid var(--gw-gold); }

/* ---------- Bereiche und Raster ---------- */

.gw-bereich { margin: 0 0 3.2rem; }
.gw-bereich__kopf {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: .5rem 1.5rem;
	margin: 0 0 1.4rem;
}
.gw-bereich__kopf .gw-bereich__titel {
	flex: 1 1 auto;
	margin: 0;
	font-size: clamp(1.6rem, 2.4vw, 2.1rem);
	color: var(--gw-purpur);
}
.gw-bereich__kopf .gw-pfeil { padding-bottom: .5em; }

.gw-raster {
	display: grid;
	gap: 1.6rem;
	grid-template-columns: repeat(var(--gw-spalten, 3), minmax(0, 1fr));
}
.gw-raster--1 { --gw-spalten: 1; }
.gw-raster--2 { --gw-spalten: 2; }
.gw-raster--3 { --gw-spalten: 3; }
.gw-raster--4 { --gw-spalten: 4; }
@media (max-width: 1024px) { .gw-raster--3, .gw-raster--4 { --gw-spalten: 2; } }
@media (max-width: 640px) { .gw-raster { --gw-spalten: 1; } }

.gw-mehr { margin: 2rem 0 0; }
.gw-mehr--gross { text-align: center; margin: 3rem auto 0; }

/* ---------- Karten ---------- */

.gw-karte {
	display: flex;
	flex-direction: column;
	background: var(--gw-weiss);
	border: 1px solid var(--gw-fliederlinie);
	border-top: 4px solid var(--gw-gold);
	transition: transform .15s ease, box-shadow .15s ease;
	min-width: 0;
}
.gw-karte:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(27, 29, 54, .10);
}
.gw-karte__bild {
	display: block;
	text-decoration: none;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--gw-nachtblau);
}
.gw-karte__bild img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.gw-karte__text {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 1.1rem 1.25rem 1.3rem;
}
.gw-karte .gw-karte__titel,
.entry-content .gw-karte .gw-karte__titel {
	margin: 0 0 .35em;
	font-size: 1.3rem;
	line-height: 1.25;
}
.gw-karte__titel a { color: var(--gw-purpur); text-decoration: none; }
.gw-karte__titel a:hover { color: var(--gw-gold-dunkel); }
.gw-karte__meta {
	margin: 0 0 .6em;
	font-size: .85rem;
	color: var(--gw-grauviolett);
}
.gw-karte__auszug {
	margin: 0 0 1em;
	font-size: .97rem;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.gw-karte .gw-pfeil { margin-top: auto; }

/* Aufmacher (groß) */
.gw-karte--gross {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	margin-bottom: 2rem;
	border-top-width: 6px;
}
.gw-karte--gross .gw-karte__bild { aspect-ratio: auto; min-height: 320px; }
.gw-karte--gross .gw-karte__text { padding: 2rem 2.2rem; justify-content: center; }
.gw-karte--gross .gw-karte__titel { font-size: clamp(1.7rem, 3vw, 2.4rem); }
.gw-karte--gross .gw-karte__auszug { font-size: 1.05rem; -webkit-line-clamp: 7; }
@media (max-width: 860px) {
	.gw-karte--gross { grid-template-columns: 1fr; }
	.gw-karte--gross .gw-karte__bild { aspect-ratio: 16 / 9; min-height: 0; }
	.gw-karte--gross .gw-karte__text { padding: 1.3rem 1.25rem 1.5rem; }
}

/* Monogramm, wenn kein Bild vorhanden ist */
.gw-monogramm {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 160px;
	background:
		radial-gradient(circle at 30% 20%, rgba(59, 31, 74, .9), transparent 60%),
		var(--gw-nachtblau);
	color: var(--gw-hellgold);
	font-family: var(--gw-serif);
	font-size: clamp(2.4rem, 5vw, 3.6rem);
	letter-spacing: .04em;
}

/* Feed-Karten (Gospelportal.de) */
.gw-karte--feed { border-top-color: var(--gw-purpur); }

/* ---------- Seitenkopf (Magazin) ---------- */

.gw-seitenkopf { margin: 0 0 2rem; }
.gw-seitenkopf__titel {
	margin: 0 0 .3em;
	font-size: clamp(2.2rem, 4.2vw, 3.2rem);
	color: var(--gw-purpur);
}
.gw-seitenkopf__teaser {
	margin: 0;
	font-family: var(--gw-serif);
	font-style: italic;
	font-size: 1.2rem;
	color: var(--gw-grauviolett);
}

.gw-jahrgaenge {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin: 2.6rem 0 0;
	padding-top: 1.2rem;
	border-top: 1px solid var(--gw-fliederlinie);
}

/* Porträt-artiger Kopf (z. B. Medien-Tipps) */
.gw-kopf {
	background: var(--gw-purpur);
	color: var(--gw-weiss);
	padding: 2.4em 2em 2.1em;
	margin: 0 0 2em;
	border-bottom: 6px solid var(--gw-gold);
}
.gw-kopf .gw-rubrik { margin: 0 0 .9em; font-size: .92em; color: var(--gw-champagner); }
.gw-kopf h1, .gw-kopf h2 { margin: 0 0 .45em; font-size: 2.7em; line-height: 1.08; color: var(--gw-weiss); }
.gw-kopf .gw-teaser { margin: 0; font-family: var(--gw-serif); font-style: italic; font-size: 1.2em; color: var(--gw-lavendel); }

/* ---------- Infoboxen ---------- */

.gw-infobox,
.wp-block-group.is-style-gw-box {
	margin: 0 0 2.4rem;
	padding: 1.5rem 1.7rem;
	background: var(--gw-weiss);
	border: 1px solid var(--gw-fliederlinie);
	border-top: 4px solid var(--gw-gold);
}
.gw-infobox__titel { margin: 0 0 .4em; font-size: 1.55rem; color: var(--gw-purpur); }
.gw-infobox p:last-child { margin-bottom: 0; }

.gw-infobox--dunkel,
.wp-block-group.is-style-gw-dunkel {
	background: var(--gw-nachtblau);
	border: 0;
	border-bottom: 6px solid var(--gw-gold);
	color: var(--gw-creme);
	padding: 1.5rem 1.7rem;
}
.gw-infobox--dunkel .gw-kicker { color: var(--gw-hellgold); }
.gw-infobox--dunkel .gw-infobox__titel,
.wp-block-group.is-style-gw-dunkel h2,
.wp-block-group.is-style-gw-dunkel h3 { color: var(--gw-weiss); }
.wp-block-group.is-style-gw-dunkel a { color: var(--gw-hellgold); }

.gw-infobox--portal { background: var(--gw-flieder); border-top-color: var(--gw-purpur); }

.wp-block-group.is-style-gw-flieder {
	background: var(--gw-flieder);
	border-left: 4px solid var(--gw-purpur);
	padding: 1.2em 1.4em;
}

.wp-block-quote.is-style-gw-zitat {
	margin: 2em 0;
	padding: .2em 0 .2em 1.2em;
	border-left: 3px solid var(--gw-gold);
	font-family: var(--gw-serif);
	font-size: 1.4em;
	line-height: 1.45;
	font-style: italic;
	color: var(--gw-purpur);
}
.wp-block-quote.is-style-gw-zitat cite { font-size: .6em; font-style: normal; color: var(--gw-grauviolett); }

/* ---------- Konzert-Leiste (rechte Spalte) ---------- */

.gw-konzertleiste {
	background: var(--gw-nachtblau);
	color: var(--gw-creme);
	border-top: 4px solid var(--gw-hellgold);
	padding: 1.2rem 1.25rem 1.1rem;
}
.gw-konzertleiste__titel {
	margin: 0 0 .8rem;
	font-family: var(--gw-serif);
	font-size: 1.3rem;
	color: var(--gw-weiss);
}
.gw-konzertleiste__titel span { color: var(--gw-hellgold); font-size: .8em; vertical-align: .1em; }
.gw-konzertleiste__info { margin: 0 0 1rem; font-size: .95rem; color: var(--gw-lavendel); }
.gw-konzertleiste__liste { list-style: none; margin: 0 0 1rem; padding: 0; }
.gw-konzertleiste__liste li { border-top: 1px solid rgba(246, 241, 230, .15); }
.gw-konzertleiste__liste a { display: block; padding: .7rem 0; color: var(--gw-creme); text-decoration: none; }
.gw-konzertleiste__liste a:hover .gw-konzertleiste__name { color: var(--gw-hellgold); }
.gw-konzertleiste__name { display: block; font-weight: 600; }
.gw-konzertleiste__meta { display: block; font-size: .85rem; color: var(--gw-champagner); }
.gw-konzertleiste__link { margin: 0; font-size: .9rem; }
.gw-konzertleiste__link a { color: var(--gw-hellgold); font-weight: 600; text-decoration: none; }
#secondary .gw-konzertleiste { position: sticky; top: 120px; }

/* ---------- Visitenkarten (Redaktion, Presse & Technik) ---------- */

.gw-visitenkarten { gap: 1.4rem; margin-bottom: 2.4rem; }
.wp-block-group.gw-visitenkarte {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0;
	padding: 1.4rem 1.4rem 1.2rem;
	background: var(--gw-weiss);
	border: 1px solid var(--gw-fliederlinie);
	border-top: 4px solid var(--gw-gold);
}
.gw-visitenkarte > * { margin-top: 0; margin-bottom: 0; }
.gw-visitenkarte__bild { margin: 0 0 1rem !important; }
.gw-visitenkarte__bild img {
	width: 112px !important;
	height: 112px !important;
	object-fit: cover;
	border-radius: 50%;
	border: 3px solid var(--gw-gold);
}
.gw-visitenkarte__name { margin: 0 0 .15em !important; font-size: 1.35rem; color: var(--gw-purpur); }
.gw-visitenkarte__rolle {
	margin: 0 0 .35em !important;
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--gw-gold-dunkel);
}
.gw-visitenkarte__rubriken { margin: 0 0 .8em !important; font-size: .92rem; color: var(--gw-grauviolett); }
ul.gw-visitenkarte__kontakt {
	list-style: none;
	margin: auto 0 0 !important;
	padding: .7em 0 0;
	width: 100%;
	border-top: 1px solid var(--gw-fliederlinie);
	font-size: .92rem;
}
ul.gw-visitenkarte__kontakt li { margin: .15em 0; }

ul.gw-downloads { list-style: none; padding: 0; }
ul.gw-downloads li { padding: .55em 0; border-bottom: 1px solid var(--gw-fliederlinie); }
ul.gw-downloads li::before { content: "↓ "; color: var(--gw-gold-dunkel); font-weight: 700; }

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

#colophon,
#colophon .site-footer-wrap { color: var(--gw-creme); }
#colophon .site-middle-footer-wrap { border-top: 6px solid var(--gw-gold); }
#colophon .widget-title,
#colophon h2.widget-title {
	margin: 0 0 .8em;
	font-family: var(--gw-serif);
	font-size: 1.2rem;
	font-weight: 400;
	color: var(--gw-weiss);
	text-transform: none;
	letter-spacing: 0;
}
#colophon a { color: var(--gw-creme); text-decoration: none; }
#colophon a:hover { color: var(--gw-hellgold); }
.gw-footer-marke__logo img { width: 260px; max-width: 100%; height: auto; margin-bottom: 1rem; }
.gw-footer-marke p { color: var(--gw-lavendel); font-size: .95rem; max-width: 30em; }
.gw-footer-liste { list-style: none; margin: 0; padding: 0; }
.gw-footer-liste li { margin: 0 0 .45em; }
.gw-footer-portal { margin-top: 1rem; font-size: .9rem; color: var(--gw-lavendel); }
#colophon .gw-footer-portal a { color: var(--gw-hellgold); }
#colophon .site-bottom-footer-wrap { border-top: 1px solid rgba(246, 241, 230, .15); font-size: .88rem; }
#colophon .footer-html { color: var(--gw-lavendel); }

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

.gw-baustein { padding: 1rem 0; }

/* ---------- Startseite (volle Breite) ---------- */

.gw-start > :not(.gw-bereich--pdw) {
	box-sizing: border-box;
	max-width: var(--global-content-width, 1240px);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--global-content-edge-padding, 1.5rem);
	padding-right: var(--global-content-edge-padding, 1.5rem);
}
.gw-start > .gw-bereich:first-child:not(.gw-bereich--pdw) { margin-top: 2.5rem; }
.gw-start .gw-bereich--pdw { margin-top: 0; }

/* ---------- Bewegung reduzieren ---------- */

@media (prefers-reduced-motion: reduce) {
	.gw-karte, .gw-karte:hover { transition: none; transform: none; }
}

/* ---------- Rechtstexte (Impressum, Datenschutz) ---------- */

.gw-rechtstext { max-width: 760px; margin: 0 auto; color: var(--gw-tinte); line-height: 1.75; }
.gw-rechtstext h1 {
	margin: 0 0 .8em;
	padding-bottom: .35em;
	border-bottom: 2px solid var(--gw-gold);
	font-size: 2.2em;
	color: var(--gw-purpur);
}
.gw-rechtstext h2 { margin: 1.8em 0 .5em; font-size: 1.35em; color: var(--gw-purpur); scroll-margin-top: 120px; }
.gw-rechtstext p, .gw-rechtstext ul, .gw-rechtstext ol { margin: 0 0 1.1em; }
.gw-rechtstext__einleitung { font-size: 1.08em; }
.gw-rechtstext__inhalt {
	margin: 1.5em 0 2em;
	padding: 1.1em 1.4em;
	background: var(--gw-flieder);
	border-left: 4px solid var(--gw-purpur);
}
.gw-rechtstext__inhalt ol { margin: .4em 0 0; padding-left: 1.4em; columns: 2; column-gap: 2em; }
@media (max-width: 640px) { .gw-rechtstext__inhalt ol { columns: 1; } }
.gw-rechtstext__box {
	margin: 1.4em 0;
	padding: 1em 1.3em;
	border: 1px solid var(--gw-fliederlinie);
	border-top: 4px solid var(--gw-gold);
	background: var(--gw-weiss);
}
.gw-rechtstext__box p:last-child { margin-bottom: 0; }
.gw-rechtstext__stand { margin-top: 2.4em; padding-top: 1em; border-top: 1px solid var(--gw-fliederlinie); font-size: .88em; color: var(--gw-grauviolett); }


/* ==========================================================================
   Version 1.2.0
   ========================================================================== */

/* ---------- Startseite: Luft zum Footer ---------- */

.gw-start { padding-bottom: 4.5rem; }

/* ---------- Bausteine des Porträt-Plugins im Seitenraster ---------- */

.gw-plugin-rahmen {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--global-content-width, 1240px);
	margin-left: auto;
	margin-right: auto;
}
/* Das Plugin legt einige Bereiche über die volle Fensterbreite.
   Innerhalb des Rahmens bleiben sie in der Inhaltsbreite. */
.gw-plugin-rahmen > *,
.gw-plugin-rahmen > * > *,
.gw-plugin-seite__inhalt > *,
.gw-plugin-seite__inhalt [class*="alignfull"],
.gw-plugin-rahmen [style*="100vw"],
.gw-plugin-seite__inhalt [style*="100vw"] {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
	box-sizing: border-box;
}
.gw-plugin-rahmen [style*="100vw"],
.gw-plugin-seite__inhalt [style*="100vw"] { width: 100% !important; }
.gw-start > .gw-bereich--plugin { overflow-x: clip; }

/* Konzerte und Workshops: Inhalt im Raster, Konzert-Leiste rechts */
.gw-plugin-seite {
	box-sizing: border-box;
	max-width: var(--global-content-width, 1240px);
	margin: 0 auto;
	padding: 0 var(--global-content-edge-padding, 1.5rem) 4rem;
	overflow-x: clip;
}
.gw-plugin-seite--mit-leiste {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 2.5rem;
	align-items: start;
}
.gw-plugin-seite__inhalt { min-width: 0; }
.gw-plugin-seite__leiste .gw-konzertleiste { position: sticky; top: 120px; }
.has-sidebar .gw-plugin-seite--mit-leiste { display: block; padding: 0; }
.has-sidebar .gw-plugin-seite__leiste { display: none; }
@media (max-width: 1024px) {
	.gw-plugin-seite--mit-leiste { grid-template-columns: 1fr; }
	.gw-plugin-seite__leiste .gw-konzertleiste { position: static; }
}
/* Ticket-Buttons und Zeilen nicht am Rand */
.gw-plugin-seite__inhalt a[class*="button"],
.gw-plugin-seite__inhalt .button { margin-right: 0; }

/* Seiten mit voller Breite (z. B. Konzerte): Seitentitel im Raster */
.page.content-width-fullwidth .entry-header,
.page.content-width-fullwidth .page-header {
	box-sizing: border-box;
	max-width: var(--global-content-width, 1240px);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--global-content-edge-padding, 1.5rem);
	padding-right: var(--global-content-edge-padding, 1.5rem);
}

/* ---------- Einzelbeiträge (Porträts mit voller Breite) ---------- */

.single-post.content-width-fullwidth .entry-footer,
.single-post.content-width-fullwidth .post-navigation,
.single-post.content-width-fullwidth .entry-author,
.single-post.content-width-fullwidth .comments-area,
.single-post.content-width-fullwidth .entry-tags {
	box-sizing: border-box;
	max-width: var(--global-content-width, 1240px);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--global-content-edge-padding, 1.5rem);
	padding-right: var(--global-content-edge-padding, 1.5rem);
}
.single-post .post-navigation { margin-top: 2rem; margin-bottom: 1rem; }
.single-post .entry-tags { margin-top: 1rem; }
.single-post .post-navigation .nav-links { gap: 1.5rem; }
.single-post .post-navigation a { text-decoration: none; }

/* Weitere Porträts / Ähnliche Beiträge */
.gw-aehnliche {
	margin-top: 3rem;
	padding: 3rem 0 4rem;
	background: var(--gw-flieder);
	border-top: 4px solid var(--gw-gold);
}
.gw-aehnliche__innen {
	box-sizing: border-box;
	max-width: var(--global-content-width, 1240px);
	margin: 0 auto;
	padding: 0 var(--global-content-edge-padding, 1.5rem);
}

/* Porträt-Archive: Karten ohne Datum im Kopf (Datum steuert gw_archiv_meta) */
.gw-portraet .loop-entry .entry-meta:empty { display: none; }

/* ---------- Social Media ---------- */

.gw-social {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: 1.2rem 0 0;
	padding: 0;
	list-style: none;
}
.gw-social a {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-width: 44px;
	min-height: 44px;
	justify-content: center;
	border-radius: 50%;
	text-decoration: none;
	transition: background .15s, color .15s;
}
.gw-social svg { width: 22px; height: 22px; }
.gw-social--dunkel a { color: var(--gw-creme); border: 1px solid rgba(246, 241, 230, .35); }
#colophon .gw-social--dunkel a:hover { color: var(--gw-nachtblau); background: var(--gw-hellgold); border-color: var(--gw-hellgold); }
.gw-social--hell a { color: var(--gw-purpur); border: 1px solid var(--gw-purpur); border-radius: var(--gw-radius); padding: 0 1rem; }
.gw-social--hell a:hover { background: var(--gw-purpur); color: var(--gw-weiss); }

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

.gw-kontakt { max-width: 760px; margin: 0 auto; }
.gw-kontakt__social { margin: 0 0 2rem; padding-bottom: 1.6rem; border-bottom: 1px solid var(--gw-fliederlinie); }
.gw-kontakt__social .gw-social { margin-top: .4rem; }
.gw-kontakt__form {
	padding: 1.8rem 1.8rem 1.2rem;
	background: var(--gw-weiss);
	border: 1px solid var(--gw-fliederlinie);
	border-top: 4px solid var(--gw-gold);
}
.gw-feld { margin: 0 0 1.2rem; }
.gw-feld label,
.gw-feld__label { display: block; margin: 0 0 .35rem; font-weight: 600; color: var(--gw-tinte); }
.gw-pflicht { color: var(--gw-gold-dunkel); }
.gw-optional { font-weight: 400; font-size: .88em; color: var(--gw-grauviolett); }
.gw-feld input[type="text"],
.gw-feld input[type="email"],
.gw-feld input[type="tel"],
.gw-feld select,
.gw-feld textarea {
	box-sizing: border-box;
	width: 100%;
	padding: .65rem .8rem;
	border: 1px solid #cfc6d6;
	border-radius: var(--gw-radius);
	background: var(--gw-weiss);
	color: var(--gw-tinte);
	font: inherit;
}
.gw-feld input:focus,
.gw-feld select:focus,
.gw-feld textarea:focus { border-color: var(--gw-purpur); outline: 3px solid var(--gw-hellgold); outline-offset: 1px; }
.gw-feld--fehler input,
.gw-feld--fehler select,
.gw-feld--fehler textarea { border-color: #7A1F1F; background: #fffafa; }
.gw-feld__fehler { display: block; margin-top: .3rem; font-size: .9rem; color: #7A1F1F; }
.gw-feld__hinweis { display: block; margin-top: .3rem; font-size: .85rem; color: var(--gw-grauviolett); }
.gw-feld__hinweis--knapp { color: #7A1F1F; }
.gw-felder-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.2rem; }
@media (max-width: 640px) { .gw-felder-2 { grid-template-columns: 1fr; } .gw-kontakt__form { padding: 1.2rem 1rem .8rem; } }
.gw-feld--dateien input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.gw-feld--dateien input[type="file"]:focus + .gw-datei-liste,
.gw-feld--dateien input[type="file"]:focus-visible ~ .gw-datei-button { outline: 3px solid var(--gw-hellgold); }
.gw-datei-button { cursor: pointer; font-weight: 600; }
.gw-datei-liste { list-style: none; margin: .6rem 0 0; padding: 0; font-size: .9rem; }
.gw-datei-liste li { padding: .3rem 0; border-bottom: 1px solid var(--gw-fliederlinie); }
.gw-datei-liste--fehler { color: #7A1F1F; }
.gw-honig { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.gw-kontakt__datenschutz { font-size: .88rem; color: var(--gw-grauviolett); }
.gw-button-haupt {
	display: inline-block;
	padding: .75em 1.5em;
	border: 0;
	border-radius: var(--gw-radius);
	background: var(--gw-hellgold);
	color: var(--gw-nachtblau);
	font-weight: 700;
	font-size: 1rem;
	cursor: pointer;
}
.gw-button-haupt:hover { background: var(--gw-gold); }
.gw-kontakt__fehler { margin: 0 0 1.4rem; padding: 1rem 1.2rem; border-left: 4px solid #7A1F1F; background: #F6E3E3; color: #7A1F1F; }
.gw-kontakt__fehler p { margin: 0 0 .3rem; }
.gw-kontakt__erfolg { padding: 1.6rem 1.8rem; background: var(--gw-flieder); border-top: 4px solid var(--gw-gold); }
.gw-kontakt__erfolg h2 { margin-top: 0; color: var(--gw-purpur); }

/* E-Mail-Adresse als Grafik (Impressum, Datenschutz) */
a.gw-email-bild { text-decoration: none !important; }
a.gw-email-bild img { display: inline; height: 1.175em; width: auto; margin: 0; vertical-align: -0.247em; }
a.gw-email-bild:hover img,
a.gw-email-bild:focus img { filter: brightness(1.25); }

/* ---------- Willkommensbeitrag ---------- */

.gw-willkommen-ziele { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0 2rem; padding: 0; list-style: none; }
.gw-willkommen-ziele li { padding: 1rem 1.1rem; background: var(--gw-weiss); border: 1px solid var(--gw-fliederlinie); border-top: 4px solid var(--gw-gold); }
.gw-willkommen-ziele strong { display: block; margin-bottom: .25rem; font-family: var(--gw-serif); font-weight: 400; font-size: 1.15rem; color: var(--gw-purpur); }
@media (max-width: 640px) { .gw-willkommen-ziele { grid-template-columns: 1fr; } }

/* Buttons im Plugin (z. B. „Tickets“) nicht umbrechen */
.gw-plugin-seite__inhalt [class*="button"],
.gw-plugin-seite__inhalt [class*="ticket"],
.gw-plugin-rahmen [class*="button"],
.gw-plugin-rahmen [class*="ticket"] { white-space: nowrap; flex-shrink: 0; }
