/* =========================================================================
   Galerie: Uebersicht (/galerie/), Themenreihen (/galerie/thema/<id>/), Objektseiten
   (/galerie/<objekt>/) und die Archive fuer Ort, Objekttyp, Material.
   Laedt nur dort (inc/referenzen.php), nach theme.css. Das Markup kommt aus den Bloecken
   in inc/galerie.php; die Bildreihe (schlenz-reihe, schlenz-reihe__spur, Pfeilknoepfe) und
   das Raster (schlenz-referenzen) sind aus theme.css und werden hier nur ergaenzt.
   Stand 21.09.2026.
   ========================================================================= */

/* ---------- Gemeinsam: Rueckweg, Hinweis, Vorspann, leere Zustaende ---------- */
.schlenz-galerie__zurueck {
	margin: 0 0 1.25rem;
	font-size: var(--wp--preset--font-size--klein);
	font-weight: 600;
}
.schlenz-galerie__zurueck a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 44px;
	color: var(--s-tinte);
	text-decoration: none;
}
.schlenz-galerie__zurueck a:hover,
.schlenz-galerie__zurueck a:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
}
.schlenz-galerie__zurueck svg {
	flex: 0 0 auto;
}
/* Ein Satz nach einer Weiterleitung („Dieses Objekt ist derzeit nicht in der Galerie.“) */
.schlenz-galerie__hinweis {
	max-width: 42rem;
	margin: 0 0 1.5rem;
	padding: 0.75rem 1rem;
	border-left: 3px solid var(--s-licht);
	background: var(--s-papier);
	font-size: var(--wp--preset--font-size--normal);
}
.schlenz-galerie__lead {
	max-width: 42rem;
}
.schlenz-galerie__lead p {
	font-size: var(--wp--preset--font-size--gross);
	line-height: 1.45;
	color: var(--s-nebel);
	margin: 0.75rem 0 0;
}
.schlenz-galerie__lead p + p {
	margin-top: 1rem;
}
.schlenz-galerie__leer {
	max-width: 42rem;
	color: var(--s-nebel);
}
.schlenz-galerie__kopf h1 {
	max-width: 22ch;
	margin-top: 0.35rem;
}

/* ---------- Uebersicht: Themenreihen ---------- */
.schlenz-galerie__reihen {
	margin-top: var(--wp--preset--spacing--60);
}
.schlenz-galerie__reihe + .schlenz-galerie__reihe {
	margin-top: var(--wp--preset--spacing--60);
	padding-top: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--s-linie);
}
.schlenz-galerie__reihenkopf h2 {
	margin: 0;
	font-size: var(--wp--preset--font-size--abschnitt);
	line-height: 1.1;
	letter-spacing: -0.02em;
	max-width: 26ch;
}
.schlenz-galerie__reihenkopf h2 a {
	color: inherit;
	text-decoration: none;
}
.schlenz-galerie__reihenkopf h2 a:hover,
.schlenz-galerie__reihenkopf h2 a:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
	text-decoration-color: var(--s-nebel);
}
.schlenz-galerie__einleitung {
	max-width: 42rem;
}
.schlenz-galerie__einleitung p {
	margin: 0.6rem 0 0;
	color: var(--s-nebel);
	line-height: 1.55;
}
.schlenz-galerie__spurrahmen {
	margin-top: 1.25rem;
}
/* Kachel in der Reihe: Bild 3:2, darunter Objektname (der Link, deckt die Kachel ab) und Kurztext */
.schlenz-galerie__kachel {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.schlenz-galerie__kachelbild {
	margin: 0;
	overflow: hidden;
	background: var(--s-papier);
}
.schlenz-galerie__kachelbild img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.schlenz-galerie__kachel:hover img,
.schlenz-galerie__kachel:focus-within img {
}
.schlenz-galerie__kacheltitel {
	margin: 0.75rem 0 0;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--s-nebel);
	line-height: 1.4;
}
.schlenz-galerie__kacheltitel a {
	color: inherit;
	text-decoration: none;
}
.schlenz-galerie__kacheltitel a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.schlenz-galerie__kachel:hover .schlenz-galerie__kacheltitel a,
.schlenz-galerie__kachel:focus-within .schlenz-galerie__kacheltitel a {
	color: var(--s-tinte);
}
.schlenz-galerie__kacheltitel a:focus-visible {
	outline: none;
}
.schlenz-galerie__kachel:focus-within {
	outline: 3px solid var(--s-nacht);
	outline-offset: 4px;
}
.schlenz-galerie__kurztext {
	margin: 0.3rem 0 0;
	font-size: var(--wp--preset--font-size--normal);
	line-height: 1.45;
	color: var(--s-tinte);
	text-wrap: pretty;
}
.schlenz-galerie__mehr {
	margin: 0.75rem 0 0;
	font-size: var(--wp--preset--font-size--klein);
	font-weight: 600;
}
.schlenz-galerie__mehr a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--s-tinte);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
	text-decoration-color: var(--s-nebel);
}
.schlenz-galerie__mehr a:hover,
.schlenz-galerie__mehr a:focus-visible {
	text-decoration-color: var(--s-nacht);
}

/* ---------- Uebersicht: alle Objekte, und Raster einer Themenreihe ----------
   Das Raster selbst (drei Spalten, Bild 4:3, Titel-Link deckt die Kachel) kommt aus
   theme.css (.schlenz-referenzen). Hier: Kopf linksbuendig, Kurztext, Abstaende. */
.schlenz-galerie__alleobjekte {
	margin-top: var(--wp--preset--spacing--70);
	padding-top: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--s-linie);
}
.schlenz-galerie__allekopf.schlenz-kopf {
	align-items: flex-start;
	text-align: left;
	gap: 0.35rem;
	max-width: none;
	margin: 0 0 2rem;
}
.schlenz-galerie__allekopf h2 {
	margin: 0;
	font-size: var(--wp--preset--font-size--abschnitt);
	line-height: 1.1;
	letter-spacing: -0.02em;
}
.schlenz-galerie__raster {
	margin-top: 0;
}
.schlenz-galerie__raster .wp-block-post-template {
	list-style: none;
	padding: 0;
}
.schlenz-galerie__raster .schlenz-galerie__kachelbild {
	border-radius: var(--s-radius);
}
.schlenz-galerie__raster .schlenz-galerie__kachelbild img {
	aspect-ratio: 4 / 3;
}
.schlenz-galerie__raster .schlenz-galerie__kacheltitel {
	margin-top: 1rem;
	font-size: var(--wp--preset--font-size--unter);
	font-weight: 600;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--s-tinte);
	line-height: 1.25;
}
.schlenz-galerie__raster .schlenz-galerie__kachel:hover .schlenz-galerie__kacheltitel a,
.schlenz-galerie__raster .schlenz-galerie__kachel:focus-within .schlenz-galerie__kacheltitel a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
	text-decoration-color: var(--s-nebel);
}
.schlenz-galerie__raster .schlenz-galerie__kurztext {
	margin-top: 0.4rem;
	color: var(--s-nebel);
}
.schlenz-galerie__raster--thema {
	margin-top: var(--wp--preset--spacing--50);
}

/* ---------- Objektseite ---------- */
.schlenz-galerie-objekt__kopf h1 {
	margin: 0.35rem 0 0;
	max-width: 22ch;
}
/* Ort, Objekttyp, Material als Zeile, nur wenn vorhanden (Block schlenz/galerie-fakten) */
.schlenz-galerie__fakten {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 2.5rem;
	margin: 1.5rem 0 0;
	padding: 1rem 0 0;
	border-top: 1px solid var(--s-linie);
}
.schlenz-galerie__fakten > div {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}
.schlenz-galerie__fakten dt {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--s-nebel);
}
.schlenz-galerie__fakten dd {
	margin: 0;
	font-weight: 500;
}
.schlenz-galerie__fakten dd a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	text-decoration-color: var(--s-nebel);
}
.schlenz-galerie__fakten dd a:hover,
.schlenz-galerie__fakten dd a:focus-visible {
	text-decoration-color: var(--s-nacht);
}
/* Text des Objekts (aus der Textdatei): erster Absatz als Lead, Rest normale Lesebreite */
.schlenz-galerie-objekt .schlenz-galerie-objekt__text {
	margin-top: var(--wp--preset--spacing--50);
	padding-top: 0;
	padding-bottom: 0;
	font-size: 1.125rem;
	line-height: 1.7;
}
.schlenz-galerie-objekt .schlenz-galerie-objekt__text > * {
	max-width: 42rem;
}
.schlenz-galerie-objekt .schlenz-galerie-objekt__text > p:first-child {
	font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.45rem);
	line-height: 1.5;
	font-weight: 500;
	letter-spacing: -0.01em;
	margin-top: 0;
}
.schlenz-galerie-objekt .schlenz-galerie-objekt__text > h2 {
	font-size: var(--wp--preset--font-size--unter);
	margin: 2rem 0 0.5rem;
	text-transform: none;
	letter-spacing: -0.01em;
	color: var(--s-tinte);
}
/* Bilder: Mosaik in zwei Spalten, jedes dritte Bild (1, 4, 7 ...) ueber beide. Alle Kacheln 3:2
   mit Beschnitt; Hochformate werden nicht beschnitten, sondern auf Papiergrau eingepasst. Die
   Lightbox zeigt immer das ganze Bild. */
.schlenz-galerie-objekt__bilder {
	margin-top: var(--wp--preset--spacing--60);
}
.schlenz-galerie__bilder {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem 1.25rem;
}
.schlenz-galerie__bilder > figure.wp-block-image {
	width: auto !important;
	margin: 0 !important;
	min-width: 0;
	/* Anker (#bild-03) landen unter der klebenden Kopfzeile, nicht dahinter */
	scroll-margin-top: 6.5rem;
}
.schlenz-galerie__bilder > figure.wp-block-image:nth-child(3n+1),
.schlenz-galerie__bilder > figure.wp-block-image:nth-child(3n+2):last-child {
	grid-column: 1 / -1;
}
.schlenz-galerie__bilder > figure.wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	background: var(--s-papier);
}
.schlenz-galerie__bilder > figure.schlenz-galerie__bild--hoch img {
	object-fit: contain;
}
/* Das angesprungene Bild bekommt kurz einen goldenen Rahmen, damit man weiss, wo man gelandet ist */
.schlenz-galerie__bilder > figure.wp-block-image:target {
	outline: 3px solid var(--s-licht);
	outline-offset: 5px;
}
.schlenz-galerie__bilder figcaption,
.schlenz-galerie__bilder .wp-element-caption {
	margin: 0.6rem 0 0;
	font-size: var(--wp--preset--font-size--klein);
	line-height: 1.45;
	color: var(--s-nebel);
	text-align: left;
	text-wrap: pretty;
}
/* Lightbox-Knopf von WordPress: bleibt sichtbar erreichbar, Farben des Themes */
.schlenz-galerie__bilder .lightbox-trigger {
	color: var(--s-nacht);
	background: rgba(255, 255, 255, 0.9);
}
.schlenz-galerie-objekt__fuss {
	margin-top: var(--wp--preset--spacing--60);
	padding-top: 2rem;
	padding-bottom: var(--wp--preset--spacing--70);
	border-top: 1px solid var(--s-linie);
}
.schlenz-galerie-objekt__fuss .schlenz-galerie__zurueck {
	margin-bottom: 1rem;
}
.schlenz-galerie-objekt__schluss {
	margin: 0;
	max-width: 40rem;
	font-size: var(--wp--preset--font-size--gross);
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: -0.01em;
}
.schlenz-galerie-objekt__schluss a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	text-decoration-color: var(--s-nebel);
	white-space: nowrap;
}
.schlenz-galerie-objekt__schluss a:hover,
.schlenz-galerie-objekt__schluss a:focus-visible {
	text-decoration-color: var(--s-nacht);
}

/* ---------- Schmal ---------- */
@media (max-width: 781px) {
	.schlenz-galerie__bilder {
		gap: 1.5rem 0.75rem;
	}
	.schlenz-galerie__reihe + .schlenz-galerie__reihe {
		margin-top: var(--wp--preset--spacing--50);
		padding-top: var(--wp--preset--spacing--40);
	}
}
@media (max-width: 600px) {
	/* Ein Bild je Zeile, ohne Beschnitt: auf dem Telefon soll man das Foto sehen, nicht einen Ausschnitt */
	.schlenz-galerie__bilder {
		grid-template-columns: minmax(0, 1fr);
	}
	.schlenz-galerie__bilder > figure.wp-block-image {
		grid-column: auto;
	}
	.schlenz-galerie__bilder > figure.wp-block-image img {
		aspect-ratio: auto;
		object-fit: unset;
	}
	.schlenz-galerie__fakten {
		gap: 0.75rem 1.5rem;
	}
}

/* =========================================================================
   Archive fuer Ort, Objekttyp, Material (Templates taxonomy-ort.html u. a., Raster aus theme.css)
   ========================================================================= */

/* Titel-Hover leiser: duenne Linie mit Abstand statt Unterstrich in Schriftstaerke */
.schlenz-referenzen .wp-block-post-title a {
	text-decoration: none;
}
.schlenz-referenzen .wp-block-post-title a:hover,
.schlenz-referenzen .wp-block-post-title a:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
	text-decoration-color: var(--s-nebel);
}

/* Filter nach Ort: kleine Versalien mit Linie darunter statt Kaestchen */
.filter-orte.wp-block-tag-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1.75rem;
	margin-top: var(--wp--preset--spacing--40);
	padding-top: 0.25rem;
	border-top: 1px solid var(--s-linie);
}
.filter-orte a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0;
	margin: 0;
	border: 0;
	border-bottom: 1px solid transparent;
	border-radius: 0;
	font-size: 0.72rem !important;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--s-nebel);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease, border-color 0.2s ease;
}
.filter-orte a:hover,
.filter-orte a:focus-visible {
	color: var(--s-tinte);
	border-color: var(--s-nacht);
}
.filter-orte a:focus-visible {
	outline-offset: 4px;
}
@media (max-width: 781px) {
	.filter-orte.wp-block-tag-cloud {
		flex-wrap: nowrap;
		overflow-x: auto;
		gap: 0 1.5rem;
		border-top: 0;
		padding-top: 0;
	}
}

/* Archiv-Kopf der Ort-, Typ- und Material-Seiten: Eyebrow, Titel, Vorspann */
.schlenz-archiv__kopf .schlenz-archiv__vorspann a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	text-decoration-color: var(--s-nebel);
}
.schlenz-archiv__kopf .schlenz-archiv__vorspann a:hover,
.schlenz-archiv__kopf .schlenz-archiv__vorspann a:focus-visible {
	text-decoration-color: var(--s-nacht);
}
