/* MuGeBa Galerie. Farben aus dem Theme, mit Ersatzwerten. */
.mgb-gal,
.mgb-gal-kopf,
.mgb-gal-anlass,
.mgb-album {
	--gal-k: var(--wp--preset--color--schwarz, #1A1A1A);
	--gal-r: var(--wp--preset--color--rot, #E30613);
	--gal-rd: var(--wp--preset--color--rot-dunkel, #A50010);
	--gal-rh: var(--wp--preset--color--rot-hell, #FCE7E4);
	--gal-c: var(--wp--preset--color--creme, #FAF6EE);
	--gal-s: var(--wp--preset--color--sand, #F3EDE2);
	--gal-gr: var(--wp--preset--color--grau, #625A52);
	--gal-linie: var(--mgb-trenner, rgba(26, 26, 26, .1));
	--gal-pad: var(--wp--style--root--padding-left, clamp(20px, 4vw, 40px));
}

/* Jahres-Auswahl */
.mgb-gal__jahre { margin: 0 0 clamp(28px, 4vw, 44px); }
.mgb-gal__jahre ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mgb-gal__jahre a {
	display: inline-block; padding: 7px 14px; border-radius: 999px;
	border: 1.5px solid var(--gal-k); color: var(--gal-k); background: #fff;
	text-decoration: none; font-weight: 600; font-size: 15px; line-height: 1.2;
	font-variant-numeric: tabular-nums; transition: background .15s, color .15s;
}
.mgb-gal__jahre a:hover { background: var(--gal-rh); }
.mgb-gal__jahre a[aria-current="page"] { background: var(--gal-r); border-color: var(--gal-r); color: #fff; }

/* Jahresabschnitte */
.mgb-gal__abschnitt + .mgb-gal__abschnitt { margin-top: clamp(40px, 6vw, 64px); }
.mgb-gal__kopfzeile {
	display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
	border-bottom: 1px solid var(--gal-linie); padding-bottom: 10px; margin: 0 0 22px;
}
.mgb-gal__jahr { margin: 0; font-size: clamp(30px, 4vw, 44px); font-weight: 800; letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.mgb-gal__zahl { color: var(--gal-gr); font-size: 15px; }
.mgb-gal__alle { font-weight: 600; color: var(--gal-k); text-decoration-color: var(--gal-r); text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* Raster der Alben */
.mgb-gal__raster {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 28px 22px;
}
.mgb-gal__karte { margin: 0; min-width: 0; }
.mgb-gal__link { display: block; color: inherit; text-decoration: none; }
.mgb-gal__bild {
	display: block; position: relative; aspect-ratio: 4 / 3; overflow: hidden;
	border-radius: 10px; background: var(--gal-s);
	box-shadow: 0 1px 2px rgba(26, 26, 26, .08);
	transition: transform .2s ease, box-shadow .2s ease;
}
.mgb-gal__bild img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .5s ease; }
.mgb-gal__ohne { position: absolute; inset: 0; background: repeating-linear-gradient(135deg, var(--gal-s) 0 12px, #ece4d6 12px 24px); }
.mgb-gal__link:hover .mgb-gal__bild,
.mgb-gal__link:focus-visible .mgb-gal__bild { transform: translateY(-3px); box-shadow: 0 12px 26px -14px rgba(26, 26, 26, .45); }
.mgb-gal__link:hover .mgb-gal__bild img { transform: scale(1.04); }
.mgb-gal__titel { margin: 12px 0 0; font-size: 18px; font-weight: 700; line-height: 1.25; }
.mgb-gal__link:hover .mgb-gal__titel { text-decoration: underline; text-decoration-color: var(--gal-r); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.mgb-gal__meta { display: block; margin-top: 3px; font-size: 14px; color: var(--gal-gr); }
.mgb-gal__leer { color: var(--gal-gr); }
/* Neueste Alben (Startseite): Karten füllen die ganze Breite */
.mgb-gal--neueste .mgb-gal__raster { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
@media (max-width: 640px) {
	.mgb-gal__raster,
	.mgb-gal--neueste .mgb-gal__raster { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; }
	.mgb-gal--neueste .mgb-gal__karte:nth-child(n+3) { display: none; }
	.mgb-gal__titel { font-size: 16px; }
	.mgb-gal__meta { font-size: 13px; }
}

/* Hinweis auf einer Anlass-Seite: Fotos zum Anlass */
.mgb-gal-anlass {
	display: flex; align-items: center; gap: 16px;
	margin: 0 0 12px; padding: 12px 16px 12px 12px; border: 1px solid var(--gal-linie); border-radius: 12px; background: #fff;
}
.mgb-gal-anlass__bild { flex: none; width: 72px; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: var(--gal-s); }
.mgb-gal-anlass__bild img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mgb-gal-anlass__text { flex: 1; min-width: 0; margin: 0; font-size: 17px; line-height: 1.35; }
.mgb-gal-anlass__text span { display: block; font-size: 14px; color: var(--gal-gr); }
.mgb-gal-anlass a { font-weight: 600; color: var(--gal-k); text-decoration-color: var(--gal-r); text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* Albumseite: Kopf */
.mgb-gal-kopf {
	background: radial-gradient(circle at 94% 0%, rgba(227, 6, 19, .08) 0 200px, transparent 201px), var(--gal-c);
	border-bottom: 1px solid var(--gal-linie);
	padding: clamp(36px, 5vw, 60px) var(--gal-pad);
	margin: 0 !important;
}
.mgb-gal-kopf__innen { max-width: 1200px; margin: 0 auto; }
.mgb-gal-kopf__pfad { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; margin: 0 0 14px; }
.mgb-gal-kopf__pfad a { color: var(--gal-k); text-decoration-color: var(--gal-r); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.mgb-gal-kopf__pfad span { color: var(--gal-gr); }
.mgb-gal-kopf__titel { margin: 0; font-size: clamp(30px, 6vw, 64px); line-height: 1.04; letter-spacing: -.025em; font-weight: 800; hyphens: auto; overflow-wrap: break-word; }
.mgb-gal-kopf__meta { margin: 14px 0 0; font-size: 17px; color: var(--gal-gr); }
.mgb-gal-kopf__text { margin: 14px 0 0; max-width: 62ch; font-size: 18px; line-height: 1.55; }
.mgb-gal-kopf__anlass {
	display: inline-block; margin-top: 18px; padding: 8px 16px; border-radius: 999px;
	background: var(--gal-k); color: var(--gal-c); text-decoration: none; font-weight: 600; font-size: 15px;
}
.mgb-gal-kopf__anlass:hover { background: var(--gal-r); color: #fff; }

/* Albumseite: Fotos */
.mgb-album__fotos { padding: clamp(28px, 4vw, 48px) var(--gal-pad) clamp(40px, 5vw, 64px); }
.mgb-album__fotos > .wp-block-gallery { --wp--style--unstable-gallery-gap: 10px; gap: 10px; }
.mgb-album__fotos .wp-block-gallery .wp-block-image img { border-radius: 6px; }
.mgb-album__fotos .wp-lightbox-container img { cursor: zoom-in; }

/* Grossansicht: dunkler Hintergrund für Fotos */
.single-mgb_album .wp-lightbox-overlay .scrim { background-color: #141414 !important; }
.single-mgb_album .wp-lightbox-overlay button { fill: #fff !important; color: #fff; }
.single-mgb_album .wp-lightbox-overlay .wp-lightbox-close-button { top: 14px; right: 14px; }

/* Albumseite: weitere Alben */
.mgb-album__mehr { background: var(--gal-s); border-top: 1px solid var(--gal-linie); padding: clamp(36px, 5vw, 56px) var(--gal-pad); margin: 0 !important; }
.mgb-album__mehr:not(:has(.mgb-gal)) { display: none; }

/* Platzhalter im Editor */
.mgb-gal-platzhalter { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border: 2px dashed #7B3FBF; border-radius: 10px; background: rgba(123, 63, 191, .06); color: #3c2063; font: 14px/1.4 system-ui, sans-serif; }
