/*
Theme Name: BGmuc
Theme URI: https://bgmuc.de
Author: Board Games Munich e.V.
Description: Ruhiges Block-Theme für Board Games Munich – Richtung „Vertraut, nur klarer“.
Version: 1.0.7
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bgmuc
WPVibe: yes
Update URI: false
*/

/* ==========================================================================
   Grundlagen
   ========================================================================== */

:root {
	--bgmuc-radius: 12px;
	--bgmuc-radius-sm: 8px;
	--bgmuc-line-dark: #dcd8e2;
	--bgmuc-night-line: #2a2830;
	--bgmuc-on-night: #c9c5d0;
	--bgmuc-chevron: "";
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

a {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

img {
	max-width: 100%;
	height: auto;
}

/* Pfeil-Symbol für Textlinks (rein dekorativ) */
.bgmuc-more a::after,
.bgmuc-back a::before,
.bgmuc-linklist a::after,
.bgmuc-termin__link::after,
.wp-block-post-excerpt__more-link::after {
	content: "";
	display: inline-block;
	width: 0.45em;
	height: 0.45em;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
	flex-shrink: 0;
}

.bgmuc-back a::before {
	transform: rotate(-135deg);
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.wp-block-button__link {
	min-height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border: 1.5px solid currentColor;
	padding: calc(0.875rem - 1.5px) calc(1.5rem - 1.5px);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
}

.bgmuc-on-dark.is-style-outline > .wp-block-button__link,
.wp-block-button.bgmuc-on-dark.is-style-outline > .wp-block-button__link {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.45);
}

.bgmuc-on-dark.is-style-outline > .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: #fff;
	color: #fff;
}

.bgmuc-buttons-gap {
	gap: 1rem;
	margin-top: 1.75rem !important;
}

.bgmuc-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 1.5rem;
	border-radius: var(--bgmuc-radius-sm);
	background: var(--wp--preset--color--accent);
	color: #fff !important;
	font-weight: 700;
	font-size: 1rem;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

.bgmuc-btn:hover {
	background: var(--wp--preset--color--accent-dark);
}

/* ==========================================================================
   Kopfbereich
   ========================================================================== */

.bgmuc-header {
	position: relative;
	z-index: 30;
	padding-top: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--bgmuc-night-line);
}

.bgmuc-header__inner {
	gap: 1.5rem;
}

.bgmuc-wordmark {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
	font-size: 1.25rem;
	line-height: 1.05;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.bgmuc-wordmark a,
.bgmuc-wordmark a:hover {
	color: #fff;
	text-decoration: none;
}

.bgmuc-header__nav {
	gap: 2rem;
}

.bgmuc-nav {
	font-size: 1rem;
	font-weight: 500;
	--navigation-layout-justify: flex-end;
}

.bgmuc-nav .wp-block-navigation__container {
	gap: 1.75rem;
}

.bgmuc-nav .wp-block-navigation-item__content {
	color: #e8e6ec;
	text-decoration: none;
	padding-block: 0.5rem;
}

.bgmuc-nav .wp-block-navigation-item__content:hover,
.bgmuc-nav .current-menu-item > .wp-block-navigation-item__content,
.bgmuc-nav [aria-current="page"] {
	color: #fff;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.55em;
}

/* Menü-Knopf (Hamburger) und Schließen-Knopf: 48 px Tippfläche, 36 px Symbol */
.bgmuc-nav .wp-block-navigation__responsive-container-open,
.bgmuc-nav .wp-block-navigation__responsive-container-close {
	color: #fff;
	width: 48px;
	height: 48px;
	padding: 6px;
	align-items: center;
	justify-content: center;
}

.bgmuc-nav .wp-block-navigation__responsive-container-open svg,
.bgmuc-nav .wp-block-navigation__responsive-container-close svg {
	width: 36px;
	height: 36px;
}

.bgmuc-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.5rem clamp(1.25rem, 4vw, 2.5rem);
}

.bgmuc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 3rem;
	align-items: flex-start;
}

.bgmuc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 0.25rem;
	align-items: flex-start;
}

.bgmuc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 1.625rem;
	padding-block: 0.4rem;
}

/* „Zur Anmeldung" nie zusammenquetschen (sonst Umbruch im Editor) */
.bgmuc-header-cta,
.bgmuc-header-cta .wp-block-button {
	margin: 0;
	flex-shrink: 0;
}

/* Sprachumschalter „DE | EN" (Block aus dem Plugin, Modul „Sprachen"; ohne Modul leer) */
.bgmuc-header__sprache {
	display: flex;
	align-items: center;
	margin: 0;
	color: #e8e6ec;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9375rem;
	font-weight: 500;
	white-space: nowrap;
}

.bgmuc-header__sprache a {
	color: inherit;
}

.bgmuc-header__sprache a[aria-current] {
	color: #fff;
}

/* Fokusrahmen im schwarzen Kopf weiß statt lila (lila ist dort kaum sichtbar) */
.bgmuc-header :where(a, button):focus-visible {
	outline-color: #fff;
}

.bgmuc-header-cta .wp-block-button__link {
	min-height: 44px;
	padding: 0.625rem 1.125rem;
	font-size: 0.9375rem;
}

.bgmuc-wordmark,
.bgmuc-header-cta .wp-block-button__link {
	white-space: nowrap;
}

/* Unter 1100 px: Hamburger-Menü statt umbrechender Navigation */
@media (max-width: 1099px) {
	.bgmuc-header .bgmuc-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
	.bgmuc-header .bgmuc-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
	.bgmuc-header .bgmuc-header__nav {
		gap: 0.75rem;
	}
	.bgmuc-header .bgmuc-header__nav > .bgmuc-nav {
		order: 2;
	}
}

@media (max-width: 599px) {
	.bgmuc-header .bgmuc-header-cta {
		display: none;
	}
	.bgmuc-header .bgmuc-wordmark {
		font-size: 1rem;
	}
}

/* ==========================================================================
   Abschnitte
   ========================================================================== */

.bgmuc-section {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
	margin-top: 0 !important;
}

main > .wp-block-group,
main > .wp-block-cover,
main > .wp-block-post-content {
	margin-top: 0;
	margin-bottom: 0;
}

.bgmuc-section__head {
	gap: 1rem 3rem;
	margin-bottom: var(--wp--preset--spacing--50);
}

.bgmuc-section__intro {
	gap: 0.5rem;
}

.bgmuc-section__head h2,
.bgmuc-section__head p {
	margin: 0;
}

.bgmuc-section__intro p {
	font-size: 1.125rem;
	line-height: 1.5;
}

.bgmuc-more {
	margin: 0;
}

.bgmuc-more a,
.bgmuc-back a {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 44px;
	font-weight: 700;
	text-decoration: none;
}

.bgmuc-more a:hover,
.bgmuc-back a:hover {
	text-decoration: underline;
}

.bgmuc-split {
	gap: var(--wp--preset--spacing--60) !important;
}

.bgmuc-split h2 {
	margin-top: 0;
}

/* ==========================================================================
   Startseite: Hero
   ========================================================================== */

.bgmuc-hero {
	padding-top: var(--wp--preset--spacing--60) !important;
	padding-bottom: var(--wp--preset--spacing--60) !important;
	padding-left: var(--wp--style--root--padding-left, 1.25rem) !important;
	padding-right: var(--wp--style--root--padding-right, 1.25rem) !important;
	color: #fff;
}

.bgmuc-hero__cols {
	gap: var(--wp--preset--spacing--60) !important;
}

.bgmuc-hero__title {
	margin: 0;
	color: #fff !important;
	font-size: clamp(1.875rem, 4.2vw, 3.375rem);
}

.bgmuc-hero__lead {
	max-width: 36rem;
	margin-top: 1.5rem !important;
	color: #d6d2dc;
	font-size: clamp(1.0625rem, 1.4vw, 1.1875rem);
	line-height: 1.6;
}

.bgmuc-hero__buttons {
	gap: 1rem;
	margin-top: 2rem !important;
}

/* Karte „Nächstes Treffen“ */
.bgmuc-event-card {
	display: flex;
	flex-direction: column;
	padding: clamp(1.5rem, 2.5vw, 2rem);
	border-radius: var(--bgmuc-radius);
	background: #fff;
	color: var(--wp--preset--color--contrast);
	box-shadow: 0 24px 48px -24px rgba(0, 0, 0, 0.55);
	text-align: left;
}

.bgmuc-event-card p {
	margin: 0;
}

.bgmuc-event-card__label {
	margin-bottom: 1rem !important;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.bgmuc-event-card__date {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
	font-size: clamp(2rem, 3vw, 2.5rem);
	line-height: 1;
	color: var(--wp--preset--color--accent);
}

.bgmuc-event-card__title {
	margin-top: 0.875rem !important;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
}

.bgmuc-event-card__meta {
	margin-top: 0.25rem !important;
	font-size: 1rem;
	color: var(--wp--preset--color--muted);
}

.bgmuc-event-card__rule {
	width: 100%;
	margin: 1.25rem 0 !important;
	border: 0;
	border-top: 1px solid var(--wp--preset--color--line);
}

.bgmuc-event-card.is-empty .bgmuc-event-card__meta {
	margin-bottom: 1.5rem !important;
}

.bgmuc-badge {
	align-self: flex-start;
	margin-bottom: 1.25rem !important;
	padding: 0.25rem 0.625rem;
	border-radius: 6px;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.5;
}

.bgmuc-badge.is-full {
	background: var(--wp--preset--color--waitlist);
	color: #6b4a00;
}

.bgmuc-badge.is-open {
	background: #e3f3e6;
	color: #1e5e2c;
}

.bgmuc-badge.is-soon,
.bgmuc-badge.is-other {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--muted);
}

/* ==========================================================================
   Startseite: Terminliste
   ========================================================================== */

.bgmuc-termine {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--wp--preset--color--line);
}

.bgmuc-termin {
	position: relative;
	display: grid;
	grid-template-columns: 8.75rem minmax(0, 1fr) 15rem 7.5rem;
	gap: 2rem;
	align-items: center;
	padding: 1.5rem 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.bgmuc-termin__date,
.bgmuc-termin__main {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.bgmuc-termin__day {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 1.625rem;
	line-height: 1;
	color: var(--wp--preset--color--accent);
}

.bgmuc-termin__weekday,
.bgmuc-termin__meta,
.bgmuc-termin__status {
	font-size: 0.9375rem;
	color: var(--wp--preset--color--muted);
}

.bgmuc-termin__title {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.35;
}

.bgmuc-termin__status.is-full {
	color: #6b4a00;
	font-weight: 700;
}

.bgmuc-termin__status.is-open {
	color: #1e5e2c;
	font-weight: 600;
}

.bgmuc-termin__link {
	justify-self: end;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 44px;
	font-weight: 700;
	text-decoration: none;
}

/* ganze Zeile klickbar */
.bgmuc-termin__link::before {
	content: "";
	position: absolute;
	inset: 0;
}

.bgmuc-termin:hover .bgmuc-termin__title {
	color: var(--wp--preset--color--accent);
}

.bgmuc-termine-leer {
	margin: 0;
	padding: 1.5rem 0;
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--muted);
}

/* ==========================================================================
   Startseite: Über uns – Fakten
   ========================================================================== */

.bgmuc-facts {
	border-top: 1px solid var(--bgmuc-line-dark);
}

.bgmuc-fact {
	margin: 0 !important;
	padding: 1.5rem 0;
	border-bottom: 1px solid var(--bgmuc-line-dark);
}

.bgmuc-fact h3 {
	margin: 0 0 0.375rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0;
}

.bgmuc-fact p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}

/* Zitat unter „Über uns" */
.bgmuc-quote {
	max-width: 46rem;
	margin: var(--wp--preset--spacing--60) auto 0 !important;
	padding: var(--wp--preset--spacing--50) 0 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--bgmuc-line-dark) !important;
	text-align: center;
}

.bgmuc-quote p {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: clamp(1.375rem, 2.4vw, 1.875rem);
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--contrast);
}

.bgmuc-quote cite {
	display: block;
	margin-top: 1rem;
	font-style: normal;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--muted);
}

/* ==========================================================================
   Startseite: Team
   ========================================================================== */

/* Raster auf der Startseite. Nicht „bgmuc-team": so heißt der Team-Block des Plugins „BGmuc Funktionen". */
.bgmuc-teamgrid {
	gap: 1.5rem 1rem !important;
}

.bgmuc-person {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.bgmuc-person > * {
	margin: 0 !important;
}

.bgmuc-person__photo {
	margin-bottom: 0.875rem !important;
}

.bgmuc-person__photo img,
.bgmuc-person__initial {
	display: block;
	width: min(120px, 100%);
	height: auto;
	aspect-ratio: 1;
	border-radius: 50%;
	object-fit: cover;
	object-position: 50% 18%;
}

.bgmuc-person__photo img {
	width: 120px;
	max-width: 100%;
}

.bgmuc-person__initial {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	max-width: 100%;
	margin-bottom: 0.875rem !important;
	/* Ohne Foto: Vereinslogo statt Anfangsbuchstabe */
	background: var(--wp--preset--color--accent-soft) url("/wp-content/uploads/2026/01/BGmucLogo_500x500px.png") center / 64% no-repeat;
	color: transparent;
	font-size: 0;
	line-height: 1;
}

.bgmuc-person__name {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
}

.bgmuc-person__role {
	margin-top: 0.125rem !important;
	font-size: 0.875rem;
	line-height: 1.4;
	color: var(--wp--preset--color--muted);
}

@media (max-width: 1000px) {
	.bgmuc-teamgrid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 600px) {
	.bgmuc-teamgrid {
		gap: 1.25rem 0.625rem !important;
	}
	.bgmuc-person__photo img,
	.bgmuc-person__initial {
		width: 72px;
	}
	.bgmuc-person__initial {
		font-size: 1.5rem;
	}
	.bgmuc-person__name {
		font-size: 0.8125rem;
	}
	.bgmuc-person__role {
		display: none;
	}
}

/* ==========================================================================
   News-Karten (Startseite, News, Archive)
   ========================================================================== */

.bgmuc-news .wp-block-post-template {
	gap: 2rem;
}

.bgmuc-news-card {
	height: 100%;
	gap: 0 !important;
	align-items: stretch !important;
	overflow: hidden;
	border-radius: var(--bgmuc-radius);
	background: #fff;
}

.bgmuc-section:not(.has-surface-background-color) .bgmuc-news-card {
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--line);
}

.bgmuc-news-card__image {
	margin: 0 !important;
}

.bgmuc-news-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Kontaktformular (Seite „Kontakt") */
.bgmuc-kontakt-bereich {
	padding-bottom: var(--wp--preset--spacing--60);
}

.bgmuc-kontakt__form {
	display: grid;
	gap: 1.25rem;
	max-width: 36rem;
}

.bgmuc-kontakt__form p {
	margin: 0;
}

.bgmuc-kontakt__feld {
	display: grid;
	gap: 0.375rem;
}

.bgmuc-kontakt__feld label {
	font-weight: 600;
}

.bgmuc-kontakt__feld input,
.bgmuc-kontakt__feld select,
.bgmuc-kontakt__feld textarea {
	width: 100%;
	min-height: 48px;
	padding: 0.75rem 0.875rem;
	border: 1px solid var(--bgmuc-line-dark, #b9b4c2);
	border-radius: var(--bgmuc-radius-sm);
	background: #fff;
	color: var(--wp--preset--color--contrast);
	font: inherit;
}

.bgmuc-kontakt__feld textarea {
	resize: vertical;
}

.bgmuc-kontakt__feld :where(input, textarea):focus-visible,
.bgmuc-kontakt__ok input:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

.bgmuc-kontakt__ok {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.bgmuc-kontakt__ok input {
	flex: none;
	width: 1.25rem;
	height: 1.25rem;
	margin-top: 0.125rem;
	accent-color: var(--wp--preset--color--accent);
}

.bgmuc-kontakt__falle {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.bgmuc-kontakt__hinweis {
	padding: 1rem 1.25rem;
	border-radius: var(--bgmuc-radius-sm);
	background: var(--wp--preset--color--accent-soft);
	font-weight: 600;
}

.bgmuc-kontakt__hinweis.is-fehler {
	margin-bottom: 1.25rem !important;
	background: #fbebeb;
	color: #8a1c1c;
}

/* Platzhalter, wenn ein Beitrag kein Beitragsbild hat */
.bgmuc-news-card:not(:has(.wp-block-post-featured-image))::before {
	content: "";
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: var(--wp--preset--color--accent-soft) url("/wp-content/uploads/2026/01/BGmucLogo_500x500px.png") center / auto 62% no-repeat;
}

.bgmuc-news-card__body {
	flex: 1;
	gap: 0.625rem !important;
	align-items: stretch !important;
	padding: 1.75rem;
}

.bgmuc-news-card__body > * {
	margin: 0 !important;
}

.bgmuc-news-card__date {
	font-size: 0.875rem;
}

.bgmuc-news-card__title {
	font-size: 1.25rem !important;
	line-height: 1.35;
	letter-spacing: 0;
}

.bgmuc-news-card__title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.bgmuc-news-card__title a:hover {
	color: var(--wp--preset--color--accent);
}

.bgmuc-news-card__excerpt {
	display: flex;
	flex-direction: column;
	flex: 1;
	color: var(--wp--preset--color--muted);
	font-size: 1rem;
	line-height: 1.6;
}

.bgmuc-news-card__excerpt .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.wp-block-post-excerpt__more-text {
	margin-top: auto !important;
	padding-top: 0.75rem;
}

.wp-block-post-excerpt__more-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 44px;
	font-weight: 700;
	text-decoration: none;
}

.bgmuc-pagination {
	margin-top: var(--wp--preset--spacing--50) !important;
	gap: 0.5rem;
	font-weight: 600;
}

.bgmuc-pagination a,
.bgmuc-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	min-width: 44px;
	justify-content: center;
	text-decoration: none;
}

.bgmuc-pagination .page-numbers.current {
	border-radius: var(--bgmuc-radius-sm);
	background: var(--wp--preset--color--accent);
	color: #fff;
}

@media (max-width: 781px) {
	.bgmuc-news .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 0.75rem;
	}
	.bgmuc-news-card {
		display: grid !important;
		grid-template-columns: 88px minmax(0, 1fr);
		gap: 1rem !important;
		padding: 0.875rem;
		align-items: start !important;
	}
	.bgmuc-news-card__image,
	.bgmuc-news-card:not(:has(.wp-block-post-featured-image))::before {
		width: 88px !important;
		height: 88px !important;
		aspect-ratio: 1 !important;
		overflow: hidden;
		border-radius: var(--bgmuc-radius-sm);
	}
	.bgmuc-news-card:not(:has(.wp-block-post-featured-image))::before {
		background-size: 72%;
	}
	.bgmuc-news-card__body {
		padding: 0;
		gap: 0.375rem !important;
	}
	.bgmuc-news-card__title {
		font-size: 1rem !important;
	}
	.bgmuc-news-card__excerpt {
		display: none;
	}
}

/* ==========================================================================
   Startseite: FAQ-Links
   ========================================================================== */

.bgmuc-linklist {
	margin-top: 1.5rem !important;
	border-top: 1px solid var(--wp--preset--color--line);
}

.bgmuc-linklist > p {
	margin: 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.bgmuc-linklist a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 58px;
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
	text-decoration: none;
}

.bgmuc-linklist a::after {
	color: var(--wp--preset--color--accent);
}

.bgmuc-linklist a:hover {
	color: var(--wp--preset--color--accent);
}

/* ==========================================================================
   Unterseiten: Kopf, Inhalt, Beiträge
   ========================================================================== */

.bgmuc-pagehead {
	padding-top: clamp(2rem, 5vw, 3.5rem);
	padding-bottom: clamp(2rem, 5vw, 3.5rem);
}

.bgmuc-pagehead > * {
	margin-top: 0;
}

.bgmuc-pagehead h1,
.bgmuc-pagehead .wp-block-post-title,
.bgmuc-pagehead .wp-block-query-title {
	margin: 0.5rem 0 0;
	font-size: clamp(2rem, 4vw, 3rem);
}

/* Brotkrumen: WordPress-Block „Breadcrumbs" (ersetzt den Yoast-Block) */
.bgmuc-breadcrumbs {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--muted);
}

.bgmuc-breadcrumbs a {
	text-decoration: none;
	font-weight: 600;
}

.bgmuc-breadcrumbs a:hover {
	text-decoration: underline;
}

.bgmuc-meta {
	gap: 0.25rem 1.25rem;
	margin-top: 1rem !important;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--muted);
}

.bgmuc-meta > * {
	margin: 0;
}

.bgmuc-meta .wp-block-post-author-name::before {
	content: "von ";
}

.bgmuc-content,
.bgmuc-article {
	padding-top: clamp(2rem, 5vw, 4rem);
	padding-bottom: var(--wp--preset--spacing--60);
}

.bgmuc-content > :first-child,
.bgmuc-article > :first-child {
	margin-top: 0;
}

.bgmuc-content h2,
.bgmuc-content h3,
.bgmuc-article h2,
.bgmuc-article h3 {
	margin-top: 2.5rem;
}

.bgmuc-content ul,
.bgmuc-content ol,
.bgmuc-article ul,
.bgmuc-article ol {
	padding-left: 1.25rem;
}

.bgmuc-content li + li,
.bgmuc-article li + li {
	margin-top: 0.5rem;
}

.bgmuc-content .wp-block-image img,
.bgmuc-article .wp-block-image img {
	border-radius: var(--bgmuc-radius-sm);
}

.bgmuc-article__image {
	margin-bottom: 2rem !important;
}

.bgmuc-article__image img {
	border-radius: var(--bgmuc-radius);
}

.bgmuc-article__foot {
	gap: 1rem 2rem;
	margin-top: 3rem !important;
	padding-top: 1.5rem;
	border-top: 1px solid var(--wp--preset--color--line);
}

.bgmuc-article__foot > * {
	margin: 0;
}

.bgmuc-result {
	padding: 1.5rem 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.bgmuc-result h2 {
	margin: 0 0 0.5rem;
	font-size: 1.25rem;
}

.bgmuc-result h2 a {
	text-decoration: none;
}

.bgmuc-search {
	margin-top: 1.5rem;
	max-width: 36rem;
}

.bgmuc-search .wp-block-search__input {
	min-height: 50px;
	padding: 0 1rem;
	border: 1.5px solid var(--wp--preset--color--contrast);
	border-radius: var(--bgmuc-radius-sm);
	font: inherit;
}

.bgmuc-search .wp-block-search__button {
	min-height: 50px;
	margin-left: 0.5rem;
	border-radius: var(--bgmuc-radius-sm);
}

.bgmuc-404 .wp-block-buttons {
	margin-bottom: 2rem;
}

/* Tabellen (Seiten und News-Beiträge): nur waagrechte Linien statt schwarzem Gitter */
.bgmuc-content table,
.bgmuc-article table {
	width: 100%;
	border-collapse: collapse;
}

.bgmuc-content :where(th, td),
.bgmuc-article :where(th, td),
.bgmuc-content .wp-block-table :where(th, td),
.bgmuc-article .wp-block-table :where(th, td) {
	padding: 0.625rem 0.75rem;
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	text-align: left;
}

.bgmuc-content .wp-block-table thead,
.bgmuc-article .wp-block-table thead {
	border-bottom: 0;
}

.bgmuc-content th,
.bgmuc-article th {
	font-weight: 700;
	background: var(--wp--preset--color--surface);
}

/* ==========================================================================
   Plugins
   ========================================================================== */

/* pretix-Widget (Seite „Unsere Events“) */
.bgmuc-content .pretix-widget-wrapper {
	margin: 2rem 0;
}

.bgmuc-content .pretix-widget {
	border: 0 !important;
	padding: 0 !important;
	font-family: inherit !important;
	color: inherit !important;
}

.bgmuc-content .pretix-widget .pretix-widget-event-list {
	border-top: 1px solid var(--wp--preset--color--line);
}

.bgmuc-content .pretix-widget .pretix-widget-event-list-entry {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.25rem 1.5rem;
	align-items: center;
	padding: 1.25rem 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--contrast) !important;
	text-decoration: none !important;
}

.bgmuc-content .pretix-widget .pretix-widget-event-list-entry:hover .pretix-widget-event-list-entry-name {
	color: var(--wp--preset--color--accent);
}

.bgmuc-content .pretix-widget .pretix-widget-event-list-entry-name {
	grid-column: 1;
	width: auto !important;
	float: none !important;
	font-weight: 600;
	font-size: 1.0625rem;
}

.bgmuc-content .pretix-widget .pretix-widget-event-list-entry-date {
	grid-column: 1;
	width: auto !important;
	float: none !important;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--muted);
}

.bgmuc-content .pretix-widget .pretix-widget-event-list-entry-availability {
	grid-column: 2;
	grid-row: 1 / span 2;
	width: auto !important;
	float: none !important;
	text-align: right;
}

.bgmuc-content .pretix-widget .pretix-widget-event-list-entry-availability span {
	display: inline-block;
	padding: 0.25rem 0.625rem !important;
	border-radius: 6px !important;
	font-size: 0.875rem;
	font-weight: 700;
}

.bgmuc-content .pretix-widget .pretix-widget-event-availability-orange span,
.bgmuc-content .pretix-widget .pretix-widget-event-availability-red span {
	background: var(--wp--preset--color--waitlist) !important;
	color: #6b4a00 !important;
}

.bgmuc-content .pretix-widget .pretix-widget-event-availability-green span {
	background: #e3f3e6 !important;
	color: #1e5e2c !important;
}

.bgmuc-content .pretix-widget .pretix-widget-attribution {
	margin-top: 1rem;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--muted);
	text-align: left !important;
}

/* FAQ-Akkordeon (Responsive Accordion and Collapse) */
#inhalt .wpsm_panel-group .wpsm_panel {
	border: 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
}

#inhalt .wpsm_panel-group {
	border-top: 1px solid var(--wp--preset--color--line);
	margin-bottom: 2.5rem !important;
}

#inhalt .wpsm_panel-group .wpsm_panel-default > .wpsm_panel-heading,
#inhalt .wpsm_panel-group .acc-a {
	background: transparent !important;
	border: 0 !important;
}

#inhalt .wpsm_panel-group .wpsm_panel-title a {
	display: flex !important;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 60px;
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: var(--wp--preset--color--contrast) !important;
}

#inhalt .wpsm_panel-group .wpsm_panel-title a:hover {
	color: var(--wp--preset--color--accent) !important;
}

#inhalt .wpsm_panel-group .ac_title_class {
	padding: 0.875rem 0 !important;
}

#inhalt .wpsm_panel-group .ac_open_cl_icon {
	float: none !important;
	flex-shrink: 0;
	padding: 0.5rem !important;
	border-radius: 6px;
	background: var(--wp--preset--color--accent-soft) !important;
	color: var(--wp--preset--color--accent) !important;
	font-size: 0.75rem !important;
}

#inhalt .wpsm_panel-group .wpsm_panel-body {
	padding: 0 0 1.25rem !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--wp--preset--color--contrast) !important;
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 1rem !important;
	line-height: 1.65;
}

#inhalt .bgmuc-content h3 {
	font-size: 1.5rem;
}

/* FAQ-Akkordeon: WordPress-Block „Akkordeon" (löst das Plugin ab; gleicher Look) */
#inhalt .bgmuc-content .wp-block-accordion {
	border-top: 1px solid var(--wp--preset--color--line);
	margin-bottom: 2.5rem;
}

#inhalt .bgmuc-content .wp-block-accordion-item {
	margin: 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

#inhalt .bgmuc-content .wp-block-accordion-heading {
	margin: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0;
}

#inhalt .bgmuc-content .wp-block-accordion-heading__toggle {
	gap: 1rem;
	min-height: 60px;
	padding: 0.875rem 0;
	color: var(--wp--preset--color--contrast);
}

#inhalt .bgmuc-content .wp-block-accordion-heading__toggle:hover {
	color: var(--wp--preset--color--accent);
}

#inhalt .bgmuc-content .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
	text-decoration: none;
}

#inhalt .bgmuc-content .wp-block-accordion-heading__toggle-icon {
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 6px;
	background: var(--wp--preset--color--accent-soft);
	color: var(--wp--preset--color--accent);
	font-weight: 700;
}

#inhalt .bgmuc-content .wp-block-accordion-panel {
	margin: 0;
	padding-bottom: 1.25rem;
}

#inhalt .bgmuc-content .wp-block-accordion-panel > :first-child {
	margin-top: 0;
}

#inhalt .bgmuc-content .wp-block-accordion-panel > :last-child {
	margin-bottom: 0;
}

/* Kalender (ICS Calendar) */
.bgmuc-content .ics-calendar {
	font-size: 0.9375rem;
}

.bgmuc-content .ics-calendar select {
	min-height: 44px;
	padding: 0 0.75rem;
	border: 1.5px solid var(--wp--preset--color--contrast);
	border-radius: var(--bgmuc-radius-sm);
	font: inherit;
	background: #fff;
}

.bgmuc-content .ics-calendar h3,
.bgmuc-content .ics-calendar .ics-calendar-label {
	font-family: var(--wp--preset--font-family--heading);
}

.bgmuc-content .ics-calendar a {
	color: var(--wp--preset--color--accent);
}

/* Complianz: schwebenden Button ausblenden – „Cookie-Einstellungen“ steht im Footer */
#cmplz-manage-consent .cmplz-manage-consent {
	display: none !important;
}

/* ==========================================================================
   Fußbereich
   ========================================================================== */

.bgmuc-footer {
	margin-top: 0 !important;
	padding-top: clamp(3rem, 6vw, 4.5rem);
	padding-bottom: 2.5rem;
	color: var(--bgmuc-on-night);
}

.bgmuc-footer a {
	color: var(--bgmuc-on-night);
	text-decoration: none;
}

.bgmuc-footer a:hover {
	color: #fff;
	text-decoration: underline;
}

.bgmuc-footer .bgmuc-wordmark {
	font-size: 1.125rem;
}

.bgmuc-footer__cols {
	gap: 2rem 3rem !important;
}

.bgmuc-footer__claim {
	margin-top: 1rem !important;
	max-width: 22rem;
	font-size: 0.9375rem;
	line-height: 1.6;
}

.bgmuc-footer__title {
	margin: 0 0 0.75rem;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 700;
}

.bgmuc-footer__list {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.9375rem;
}

.bgmuc-footer__list li {
	margin: 0 0 0.5rem;
}

.bgmuc-footer__bottom {
	gap: 0.75rem 2rem;
	margin-top: clamp(2.5rem, 5vw, 3.5rem) !important;
	padding-top: 1.5rem;
	border-top: 1px solid var(--bgmuc-night-line);
	font-size: 0.875rem;
}

.bgmuc-footer__bottom p {
	margin: 0;
}

.bgmuc-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
}

/* ==========================================================================
   Kleine Bildschirme
   ========================================================================== */

@media (max-width: 781px) {
	.bgmuc-section {
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}

	.bgmuc-hero {
		min-height: 0 !important;
		padding-top: 2.5rem !important;
		padding-bottom: 3rem !important;
	}

	.bgmuc-hero__cols {
		gap: 2rem !important;
	}

	.bgmuc-hero__buttons .wp-block-button {
		width: 100%;
	}

	.bgmuc-hero__buttons .wp-block-button__link {
		width: 100%;
	}

	.bgmuc-termin {
		grid-template-columns: 4.75rem minmax(0, 1fr) 1.25rem;
		gap: 0.25rem 1rem;
		padding: 1.125rem 0;
	}

	.bgmuc-termin__date {
		grid-column: 1;
		grid-row: 1 / span 2;
		align-self: start;
	}

	.bgmuc-termin__main {
		grid-column: 2;
	}

	.bgmuc-termin__status {
		grid-column: 2;
		font-size: 0.875rem;
	}

	.bgmuc-termin__link {
		grid-column: 3;
		grid-row: 1 / span 2;
		min-height: 0;
	}

	.bgmuc-termin__link-text {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
	}

	.bgmuc-termin__day {
		font-size: 1.25rem;
	}

	.bgmuc-termin__title {
		font-size: 1rem;
	}

	.bgmuc-termin__weekday,
	.bgmuc-termin__meta {
		font-size: 0.8125rem;
	}

	.bgmuc-content .pretix-widget .pretix-widget-event-list-entry {
		grid-template-columns: minmax(0, 1fr);
	}

	.bgmuc-content .pretix-widget .pretix-widget-event-list-entry-availability {
		grid-column: 1;
		grid-row: auto;
		text-align: left;
	}
}

/* ==========================================================================
   Feinschliff
   ========================================================================== */

/* Keine Lücken zwischen Kopf, Inhalt und Fuß (Website und Editor) */
.wp-site-blocks > .wp-block-template-part,
.wp-site-blocks > main,
.is-root-container > .wp-block-template-part,
.is-root-container > main {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* Mehrspaltige Inhalte auf Unterseiten nutzen die volle Breite */
.bgmuc-content > .wp-block-columns:not(.alignfull):not(.alignleft):not(.alignright) {
	max-width: var(--wp--style--global--wide-size, 1200px);
}

/* pretix-Widget: Statusetikett ohne farbigen Rand, kleineres Ladesymbol */
.bgmuc-content .pretix-widget .pretix-widget-event-list-entry-availability span {
	border: 0 !important;
}

.bgmuc-content .pretix-widget-loading svg {
	width: 40px !important;
	height: 40px !important;
}

.bgmuc-copyright {
	margin: 0;
}

/* Admin-Leiste (nur eingeloggt): auf dem Handy passen nicht alle Symbole in eine Zeile.
   Plugin-Symbole ausblenden, damit das Profilbild nicht über das Menü rutscht. */
@media (max-width: 600px) {
	#wpadminbar li#wp-admin-bar-wpseo-menu,
	#wpadminbar li#wp-admin-bar-google-site-kit {
		display: none !important;
	}
}

/* Eigene Blöcke im Editor */
.bgmuc-ssr .components-placeholder,
.bgmuc-ssr .block-editor-warning {
	min-height: 0;
}
