.mb-pg-titel {
	font-size: 1.2rem;
	margin-bottom: 16px;
}
.mb-pg-shelf {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	padding: 6px 2px 16px;
	scrollbar-width: thin;
	scrollbar-color: var(--wp--preset--color--blau, #004C99) var(--wp--preset--color--blau-hell, #EEF4FA);
}
/* Chrome, Safari, Edge — Firefox nutzt scrollbar-color oben */
.mb-pg-shelf::-webkit-scrollbar { height: 8px; }
.mb-pg-shelf::-webkit-scrollbar-track { background: var(--wp--preset--color--blau-hell, #EEF4FA); border-radius: 10px; }
.mb-pg-shelf::-webkit-scrollbar-thumb { background: var(--wp--preset--color--blau, #004C99); border-radius: 10px; }
.mb-pg-shelf::-webkit-scrollbar-thumb:hover { background: var(--wp--preset--color--blau-dunkel, #00325E); }
.mb-pg-item {
	flex: 0 0 190px;
	border-radius: 16px;
	overflow: hidden;
	position: relative;
	/* 1.53.0 — das Seitenverhältnis kommt vom Einsatzort. Der Block
	   bleibt bei 4:5 (hochformatige Praxisbilder), /training/ nutzt
	   3:2, weil die Trainingsfotos so vorliegen. Die Vorgabe hier
	   hält bestehende Seiten unverändert. */
	aspect-ratio: var(--mb-pg-verhaeltnis, 4/5);
	background: var(--wp--preset--color--blau-hell, #EEF4FA);
	box-shadow: 0 10px 22px rgba(14, 27, 38, 0.10);
	transition: transform 0.18s;
}
.mb-pg-item:hover { transform: translateY(-4px); }
.mb-pg-item img { width: 100%; height: 100%; object-fit: contain; display: block; }
.mb-pg-item .mb-pg-tag {
	position: absolute; left: 10px; bottom: 10px;
	background: rgba(14, 27, 38, 0.72); color: #fff;
	font-size: 0.72rem; padding: 4px 10px; border-radius: 20px;
	font-family: "IBM Plex Mono", monospace;
}
.mb-pg-more {
	flex: 0 0 190px;
	border-radius: 16px;
	border: 1.5px dashed #E1E4E7;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 0.85rem;
	color: var(--wp--preset--color--blau-dunkel, #00325e);
	font-weight: 600;
	padding: 16px;
	text-decoration: none;
	background: none;
	cursor: pointer;
	font-family: "IBM Plex Sans", sans-serif;
}

/* ===== Lightbox ===== */
.mb-pg-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(14, 27, 38, 0.92);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.mb-pg-lightbox[hidden] { display: none; }
.mb-pg-lb-img-wrap {
	position: relative;
	max-width: 90vw;
	max-height: 80vh;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.mb-pg-lb-img-wrap img {
	max-width: 90vw;
	max-height: 74vh;
	object-fit: contain;
	border-radius: 8px;
	display: block;
}
.mb-pg-lb-tag {
	color: #fff;
	font-family: "IBM Plex Mono", monospace;
	font-size: 0.78rem;
	margin-top: 14px;
	opacity: 0.85;
}
.mb-pg-lb-close,
.mb-pg-lb-prev,
.mb-pg-lb-next {
	position: absolute;
	background: rgba(255, 255, 255, 0.12);
	border: none;
	color: #fff;
	cursor: pointer;
	border-radius: 50%;
	width: 44px;
	height: 44px;
	font-size: 1.3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s;
}
.mb-pg-lb-close:hover,
.mb-pg-lb-prev:hover,
.mb-pg-lb-next:hover { background: rgba(255, 255, 255, 0.25); }
.mb-pg-lb-close { top: -56px; right: 0; }
.mb-pg-lb-prev { left: -60px; top: 50%; transform: translateY(-50%); }
.mb-pg-lb-next { right: -60px; top: 50%; transform: translateY(-50%); }

@media (max-width: 640px) {
	.mb-pg-lb-close { top: -50px; right: 0; }
	.mb-pg-lb-prev { left: 4px; top: auto; bottom: -56px; transform: none; }
	.mb-pg-lb-next { right: 4px; top: auto; bottom: -56px; transform: none; }
}


/* --- Querformat-Streifen (1.53.0) ------------------------------------
   Bei 3:2 ist eine 190 px breite Kachel nur 127 px hoch — zu klein, um
   Gesichter zu erkennen. Querformatige Streifen bekommen deshalb
   breitere Kacheln. Auf /training/ sind es sechs Fotos; mit 240 px
   passen am Schreibtisch dreieinhalb ins Bild, und dass es weitergeht,
   sieht man. */
.mb-praxis-galerie.is-quer .mb-pg-item { flex: 0 0 240px; }
@media (max-width: 600px) {
	.mb-praxis-galerie.is-quer .mb-pg-item { flex: 0 0 200px; }
}
