/*
 * OVERHEAD-Inserate (Immobilien, Jobs, Seminare) nach dem Layout der Designerin
 * (tagDiv-Cloud-Templates „Blank work Kacheln“, „List Template“, „Immo Kacheln“,
 * „Meeting“): je Bereich eine Akzentfarbe + heller Ton für den Archiv-Kopf,
 * Kacheln/Zeilen mit 15px-Rundung und weichem Schatten.
 * Das Formular „Inserieren“ (weiter unten) bleibt im kantigen OVERHEAD-Look.
 * Die Plugins liefern die Struktur (overhead-core/assets/overhead.css),
 * hier werden nur Variablen und Details überschrieben.
 */
/* Icons für die Ansicht-Buttons und Pfeile (SVG-Masken, Farbe = background) */
:root {
	--oh-accent: var(--color-black);
	--oh-accent-contrast: var(--color-white);
	--oh-tint: var(--color-grey-banner);
	--oh-soft: #f4f4f4;
	--oh-border: var(--color-black);
	--oh-text: var(--color-black);
	--oh-heading: var(--color-black);
	--oh-mid: var(--color-grey-light);
	--oh-muted: #6b6b6b;
	--oh-radius: 0;
	--oh-shadow: var(--shadow-hard);
}

.oh-type-job {
	--oh-accent: var(--job-accent);
	--oh-mid: var(--job-mid);
	--oh-tint: var(--job-tint);
	--oh-heading: var(--job-accent);
}

.oh-type-seminar {
	--oh-accent: var(--seminar-accent);
	--oh-mid: var(--seminar-mid);
	--oh-tint: var(--seminar-tint);
	--oh-heading: var(--seminar-accent);
}

.oh-type-immobilie {
	--oh-accent: var(--immo-accent);
	--oh-mid: var(--immo-mid);
	--oh-tint: var(--immo-tint);
	--oh-heading: var(--immo-accent);
}

.oh-page,
.oh-submit,
.oh-account {
	font-family: var(--font-body);
	font-size: 16px;
}

.oh-submit__intro .oh-title {
	font-family: var(--font-head);
	font-weight: 300;
}

.oh-kicker {
	font-family: var(--font-body);
	font-size: 13px;
	letter-spacing: 0.04em;
	color: var(--oh-accent);
}

/*
 * Unternavigation: weiße Leiste zwischen zwei schwarzen Linien,
 * Großbuchstaben wie das Hauptmenü, aktiver Tab in der Akzentfarbe unterstrichen
 */
.oh-subnav,
.oh-page--archive .oh-subnav {
	background: var(--color-white);
	border-top: 1px solid var(--color-black);
	border-bottom: 1px solid var(--color-black);
}

.oh-page--archive .oh-subnav {
	margin-bottom: 8px;
}

/*
 * Unternavigation bleibt beim Scrollen oben stehen (Archiv, Detailseite, Formular).
 * --oh-subnav-top = Abstand nach oben, z. B. Höhe eines fixierten Hauptmenüs;
 * die WP-Adminleiste wird für eingeloggte Nutzer*innen automatisch berücksichtigt.
 */
.oh-subnav {
	--oh-subnav-top: 0px;
	position: -webkit-sticky;
	position: sticky;
	top: var(--oh-subnav-top);
	z-index: 50;
}

/*
 * tagDiv setzt #td-outer-wrap { overflow: hidden } – das verhindert sticky.
 * "clip" schneidet genauso ab, erzeugt aber keinen Scroll-Container.
 */
#td-outer-wrap:has(.oh-subnav) {
	overflow: clip;
}

.admin-bar .oh-subnav {
	top: calc(var(--oh-subnav-top) + 32px);
}

@media (max-width: 782px) {
	.admin-bar .oh-subnav {
		top: calc(var(--oh-subnav-top) + 46px);
	}
}

/* unter 600px scrollt die Adminleiste mit */
@media (max-width: 600px) {
	.admin-bar .oh-subnav {
		top: var(--oh-subnav-top);
	}
}

.oh-subnav__inner {
	gap: 24px;
	align-items: center;
}

.oh-subnav__tab {
	padding: 10px 0 8px;
	border-bottom: 2px solid transparent;
	color: var(--color-black) !important;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.oh-subnav__tab:hover,
.oh-subnav__tab.is-active {
	background: none;
	border-bottom-color: var(--oh-accent);
}

/*
 * Archiv-Kopf: Fläche im hellen Bereichston über die volle Breite,
 * Titel in Volkhov fett in der Akzentfarbe, Filter im 3-Spalten-Raster
 */
.oh-hero {
	background: var(--oh-tint);
	padding: 40px 0 48px;
	margin-bottom: 40px;
}
.oh-hero .oh-title {
	margin: 0 0 28px;
	font-family: var(--font-head);
	font-weight: 700;
	font-size: 48px;
	line-height: 1.2;
	color: var(--oh-accent) !important; /* gegen base.css (h1–h5 schwarz !important) */
}

.oh-lead {
	margin: -12px 0 24px;
	font-size: 18px;
}

/* Felder, „Filter zurücksetzen“, „Filter erweitern“ und Ansicht laufen gemeinsam im Raster */
.oh-filters {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px 40px;
	align-items: end;
}

.oh-filters__row,
.oh-filters__actions {
	display: contents;
}

.oh-filters__reset {
	order: 1;
	align-self: center;
}

.oh-filters__more {
	order: 2;
	align-self: center;
	margin: 0;
}
.oh-filters__more[open] {
	order: 4;
	grid-column: 1/-1;
}
.oh-filters__more > .oh-filters__row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px 40px;
}

.oh-filters__submit,
.oh-views {
	order: 3;
}

.oh-filter {
	gap: 6px;
	min-width: 0; /* Grid-Element darf schmaler als die Eigenbreite des Inputs werden (sonst Überlauf mobil) */
	max-width: 100%;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
}

.oh-filter--icon {
	padding-left: 0;
}
.oh-filter--icon::before {
	content: none;
}

.oh-filter__label {
	font-size: 14px;
	font-weight: 600;
	color: var(--oh-accent);
}

.oh-filter--checkbox {
	align-self: center;
}
.oh-filter--checkbox .oh-filter__label {
	font-weight: 400;
	color: var(--color-black);
}
.oh-filter--checkbox input {
	accent-color: var(--oh-accent);
}

/* weiße Eingabefelder mit feinem Rand (globale Formular-Regeln von Theme + Core aufheben) */
.oh-filters .oh-filter select,
.oh-filters .oh-filter input:not([type="checkbox"]) {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0;
	max-width: 100%;
	height: 42px !important;
	margin: 0;
	padding: 0 12px !important;
	border: 1px solid #c9c9c9 !important;
	border-radius: 3px;
	background-color: var(--color-white);
	box-shadow: none !important;
	font-family: var(--font-body);
	font-size: 16px;
	color: var(--color-black);
}
.oh-filters .oh-filter select:focus,
.oh-filters .oh-filter input:not([type="checkbox"]):focus {
	outline: 0;
	border-color: var(--oh-mid) !important;
	box-shadow: 0 0 0 2px var(--oh-mid) !important;
}
.oh-filters .oh-filter input[type="search"] {
	-webkit-appearance: none;
	appearance: none;
}
.oh-filters .oh-filter input[type="checkbox"] {
	width: 18px;
	height: 18px;
}

.oh-filters__more > summary,
.oh-filters__reset {
	color: var(--oh-accent) !important;
	font-size: 15px;
	text-decoration: none;
}
.oh-filters__more > summary::before,
.oh-filters__reset::before {
	content: none;
}
.oh-filters__more > summary:hover,
.oh-filters__reset:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.oh-filters__more[open] > summary {
	margin-bottom: 16px;
}

/* Ansicht „Liste“ / „Kacheln“ als Buttons in der Akzentfarbe mit Icon, Hover in der mittleren Farbe */
.oh-views {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	border-radius: 0;
	overflow: visible;
	background: none;
}

.oh-views__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 20px;
	background: var(--oh-accent);
	color: var(--color-white) !important;
	font-size: 15px;
	font-weight: 600;
	transition: background 0.15s;
}
.oh-views__btn::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
}
.oh-views__btn:hover {
	background: var(--oh-mid);
}
.oh-views__btn.is-active {
	box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.25);
}

.oh-views__btn--list::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h3v3H3zm5 0h13v3H8zM3 10.5h3v3H3zm5 0h13v3H8zM3 16h3v3H3zm5 0h13v3H8z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h3v3H3zm5 0h13v3H8zM3 10.5h3v3H3zm5 0h13v3H8zM3 16h3v3H3zm5 0h13v3H8z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.oh-views__btn--grid::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h5v5H3zm6.5 0h5v5h-5zM16 3h5v5h-5zM3 9.5h5v5H3zm6.5 0h5v5h-5zM16 9.5h5v5h-5zM3 16h5v5H3zm6.5 0h5v5h-5zM16 16h5v5h-5z'/%3E%3C/svg%3E")
		center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h5v5H3zm6.5 0h5v5h-5zM16 3h5v5h-5zM3 9.5h5v5H3zm6.5 0h5v5h-5zM16 9.5h5v5h-5zM3 16h5v5H3zm6.5 0h5v5h-5zM16 16h5v5h-5z'/%3E%3C/svg%3E")
		center/contain no-repeat;
}

/* Themen-Buttons (Seminare): abgerundete Flächen in der Akzentfarbe */
.oh-topics {
	margin-top: 32px;
}

.oh-topics__title {
	margin: 0 0 20px;
	font-family: var(--font-head);
	font-weight: 700;
	font-size: 26px;
	color: var(--oh-accent) !important;
}
.oh-topics__title::after {
	content: none;
}

.oh-topics__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
}

.oh-topics__btn {
	padding: 8px 14px;
	border-radius: 10px;
	background: var(--oh-accent);
	color: var(--color-white) !important;
	font-size: 15px;
	font-weight: 400;
	transition: background 0.15s;
}
.oh-topics__btn::after {
	content: none;
}
.oh-topics__btn:hover {
	background: var(--oh-mid);
}
.oh-topics__btn.is-active {
	outline: 0;
	box-shadow:
		inset 0 0 0 2px var(--color-white),
		0 0 0 2px var(--oh-accent);
}

/*
 * Buttons: außerhalb der Bereiche schwarz, in Jobs/Seminare/Immobilien in der Akzentfarbe;
 * beim Hover jeweils invertiert
 */
.oh-btn {
	border-radius: 0;
	font-weight: 600;
}
.oh-btn:hover {
	filter: none;
	background: var(--color-white);
	color: var(--color-black) !important;
}

.oh-page .oh-btn {
	border-color: var(--oh-accent);
	background: var(--oh-accent);
}
.oh-page .oh-btn:hover {
	background: var(--color-white);
	color: var(--oh-accent) !important;
}

.oh-btn--ghost,
.oh-page .oh-btn--ghost {
	background: var(--color-white);
	color: var(--oh-accent) !important;
}
.oh-btn--ghost:hover,
.oh-page .oh-btn--ghost:hover {
	background: var(--oh-accent);
	color: var(--color-white) !important;
}

/* Ergebnisse, optional mit Werbe-Spalte rechts (Widgetbereich „Anzeigen: …“) */
.oh-results.has-ad {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 250px;
	gap: 48px;
	align-items: start;
}

.oh-results__count {
	color: var(--oh-muted);
}

.oh-ad--archive {
	margin: 0;
	padding: 0;
	background: none;
}

/* Kacheln: Bild mit Rundung, Logo als weiße Lasche darunter, Inhalt als runde Karte */
/* max. 3 Kacheln pro Zeile: Mindestbreite = ein Drittel der Zeile (abzgl. 2 Lücken), sonst 260px */
.oh-grid {
	--oh-grid-gap-x: 20px;
	grid-template-columns: repeat(auto-fill, minmax(max(260px, calc((100% - 2 * var(--oh-grid-gap-x)) / 3)), 1fr));
	gap: 40px var(--oh-grid-gap-x);
}

.oh-card {
	background: none;
	border: 0;
	box-shadow: none;
}

.oh-card__link {
	display: flex;
	flex-direction: column;
}

/* .oh-card davor: muss overhead.css (Core) schlagen, sonst bleibt dessen grauer/weißer
   Hintergrund mit nur oben gerundeten Ecken hinter dem rundum gerundeten Bild sichtbar */
.oh-card .oh-card__media {
	margin: 0 18px;
	aspect-ratio: 3/2;
	border-radius: var(--card-radius);
	overflow: visible;
	background: transparent;
}
.oh-card__media .oh-card__img,
.oh-card__media .oh-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: var(--card-radius);
}
.oh-card__media .oh-card__placeholder {
	background: var(--oh-tint);
}

.oh-type-job .oh-card__media {
	aspect-ratio: 5/4;
}

.oh-card__logo {
	bottom: -56px;
	width: 55%;
	height: 96px;
	padding: 10px 12px;
	border: 0;
	border-radius: var(--card-radius) var(--card-radius) 0 0;
	background: var(--color-white);
}

.oh-card.has-logo .oh-card__media {
	margin-bottom: 56px;
}

.oh-card__body {
	flex: 1;
	z-index: 1;
	margin-top: -24px;
	padding: 28px 20px 24px;
	background: var(--color-white);
	border: var(--card-border);
	border-radius: var(--card-radius);
	box-shadow: var(--card-shadow);
}

.oh-card.has-logo .oh-card__body {
	margin-top: 16px;
}

.oh-card.is-featured .oh-card__body {
	border: 2px solid var(--oh-accent);
	box-shadow: var(--card-shadow);
}

.oh-card__title {
	margin: 0 0 24px;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 20px;
	line-height: 1.3;
	color: var(--color-black);
}
.oh-card__title::after {
	content: none;
}

/* Eckdaten „Label: / Wert“; Position und Pensum nebeneinander */
.oh-card__meta {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px 16px;
	font-size: 17px;
	font-weight: 600;
}
.oh-card__meta li {
	grid-column: 1/-1;
	margin: 0;
}
.oh-card__meta .oh-meta--position,
.oh-card__meta .oh-meta--briefcase {
	grid-column: auto;
}

.oh-card__meta-label {
	margin: 0 0 6px;
	font-size: 14px;
	font-weight: 400;
	text-transform: none;
	color: var(--label-color);
}

.oh-badge {
	z-index: 2;
	border-radius: 10px;
	background: var(--oh-accent);
	color: var(--color-white);
}

/*
 * Listenzeilen (Grundform = Seminar-Layout „Meeting“): Karte im hellen Bereichston,
 * Bild | Titel + Datumsblock | Eckdaten mit Icons | Pfeil. Die ganze Zeile ist
 * über den Pfeil-Link klickbar. Selektoren mit .oh-page davor gegen overhead-core.
 */
.oh-page .oh-list {
	gap: 40px;
}
.oh-page .oh-list > .oh-row {
	position: relative;
	display: grid;
	grid-template-columns: 170px minmax(0, 1.2fr) minmax(0, 1fr) 56px;
	align-items: center;
	gap: 0 32px;
	min-height: 0;
	padding: 12px 20px;
	background: var(--oh-tint);
	border: var(--card-border);
	border-radius: var(--card-radius);
	box-shadow: var(--card-shadow);
}
.oh-page .oh-list > .oh-row:not(.has-media) {
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 56px;
}
.oh-page .oh-list > .oh-row.is-featured {
	border: 2px solid var(--oh-accent);
}
.oh-page .oh-list > .oh-row:focus-within {
	outline: 2px solid var(--oh-accent);
	outline-offset: 3px;
}
.oh-page .oh-list .oh-row__media {
	align-self: stretch;
	aspect-ratio: 1;
}
.oh-page .oh-list .oh-row__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--card-radius);
}
.oh-page .oh-list .oh-row__media.is-logo img {
	box-sizing: border-box;
	padding: 10px;
	object-fit: contain;
	background: var(--color-white);
}
.oh-page .oh-list .oh-row__main {
	min-width: 0;
}
.oh-page .oh-list .oh-row__title {
	margin: 0 0 16px;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 18px;
	line-height: 1.35;
	color: var(--color-black);
}
/* Datumsblock ragt ins Bild hinein */
.oh-page .oh-list .oh-row__badge {
	position: relative;
	z-index: 1;
	display: block;
	margin-left: -70px;
	padding: 10px 16px;
	border: 0;
	border-radius: var(--card-radius);
	background: var(--oh-accent);
	color: var(--color-white) !important;
	text-align: center;
}
.oh-page .oh-list .oh-row:not(.has-media) .oh-row__badge {
	margin-left: 0;
}
.oh-page .oh-list .oh-date {
	flex-direction: row;
	justify-content: center;
	align-items: baseline;
	gap: 8px;
	font-family: var(--font-body);
	line-height: 1.1;
}
.oh-page .oh-list .oh-date__day {
	font-size: 40px;
	font-weight: 700;
}
.oh-page .oh-list .oh-date__prefix,
.oh-page .oh-list .oh-date__year {
	font-size: 18px;
	font-weight: 600;
}
.oh-page .oh-list .oh-row__meta {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 17px;
	font-weight: 600;
}
.oh-page .oh-list .oh-row__meta li {
	margin: 0;
}
.oh-page .oh-list .oh-row__meta .oh-icon::before {
	top: 0;
	width: 24px;
	height: 24px;
}
.oh-page .oh-list .oh-row__meta-label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.oh-page .oh-list .oh-row__link {
	justify-self: end;
	width: 44px;
	height: 36px;
}
.oh-page .oh-list .oh-row__link::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: var(--oh-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 10.6h15.6l-5.3-5.3L14.3 3.3 23 12l-8.7 8.7-2-2 5.3-5.3H2z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 10.6h15.6l-5.3-5.3L14.3 3.3 23 12l-8.7 8.7-2-2 5.3-5.3H2z'/%3E%3C/svg%3E") center/contain no-repeat;
}
/* ganze Zeile klickbar */
.oh-page .oh-list .oh-row__link::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--card-radius);
}
.oh-page .oh-list .oh-row__link:focus {
	outline: 0;
}

/*
 * Jobs (Layout „List Template“): keine Karte, nur Linien in der Akzentfarbe,
 * vier Spalten Firma | Ort | Position | Pensum mit Beschriftung, Pfeil als Chevron
 */
.oh-page.oh-type-job .oh-list {
	gap: 60px;
}
.oh-page.oh-type-job .oh-list > .oh-row {
	grid-template-columns: minmax(0, 1fr) 40px;
	padding: 18px 20px 34px;
	background: none;
	border: 0;
	border-top: 2px solid var(--oh-accent);
	border-bottom: 2px solid var(--oh-accent);
	border-radius: 0;
	box-shadow: none;
}
.oh-page.oh-type-job .oh-list > .oh-row.is-featured {
	background: var(--oh-tint);
}
.oh-page.oh-type-job .oh-list .oh-row__media,
.oh-page.oh-type-job .oh-list .oh-row__main {
	display: none;
}
.oh-page.oh-type-job .oh-list .oh-row__meta {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px 24px;
}
.oh-page.oh-type-job .oh-list .oh-row__meta .oh-icon {
	padding-left: 0;
}
.oh-page.oh-type-job .oh-list .oh-row__meta .oh-icon::before {
	content: none;
}
.oh-page.oh-type-job .oh-list .oh-row__meta-label {
	position: static;
	display: block;
	width: auto;
	height: auto;
	margin: 0 0 10px;
	overflow: visible;
	clip: auto;
	white-space: normal;
	font-size: 14px;
	font-weight: 400;
	color: var(--label-color);
}
.oh-page.oh-type-job .oh-list .oh-row__link {
	width: 22px;
	height: 28px;
}
.oh-page.oh-type-job .oh-list .oh-row__link::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.6 3 6.4 5.2 13.2 12l-6.8 6.8L8.6 21l9-9z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.6 3 6.4 5.2 13.2 12l-6.8 6.8L8.6 21l9-9z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.oh-page.oh-type-job .oh-list .oh-row__link::after {
	border-radius: 0;
}

/*
 * Seminare (Layout „Seminare zugeklappt/aufgeklappt“, Template overhead-seminare/templates/row.php):
 * weiße Karte mit dünnem Rand, Logo | Datumsblock im hellen Ton über die volle Höhe |
 * Kicker, Titel, Kurztext | Ort + Veranstalter | Chevron. Aufgeklappt: Eckdaten + Kontakt
 * unter dem Kurztext, „Mehr Infos“-Button rechts. Zugeklappt ist die ganze Zeile der Toggle.
 */
.oh-page.oh-type-seminar .oh-list {
	gap: 16px;
}
.oh-page.oh-type-seminar .oh-list > .oh-row,
.oh-page.oh-type-seminar .oh-list > .oh-row:not(.has-media) {
	grid-template-columns: 200px 124px minmax(0, 1fr) 200px 40px;
	align-items: start;
	gap: 0 20px;
	padding: 4px 18px 4px 4px;
	background: var(--color-white);
	border: 1px solid var(--oh-mid);
	border-radius: 0;
	box-shadow: none;
}
.oh-page.oh-type-seminar .oh-list > .oh-row.is-featured,
.oh-page.oh-type-seminar .oh-list > .oh-row:not(.has-media).is-featured {
	border: 2px solid var(--oh-accent);
}
.oh-page.oh-type-seminar .oh-list > .oh-row:not(.has-media) {
	grid-template-columns: 124px minmax(0, 1fr) 200px 40px;
}
.oh-page.oh-type-seminar .oh-list .oh-row__media {
	align-self: start;
	aspect-ratio: auto;
	margin: 16px 0 16px 30px;
}
.oh-page.oh-type-seminar .oh-list .oh-row__media img,
.oh-page.oh-type-seminar .oh-list .oh-row__media.is-logo img {
	width: 100%;
	height: auto;
	max-height: 120px;
	padding: 0;
	object-fit: contain;
	border-radius: 0;
	background: none;
}
/* Datumsblock: eigener Blauton über die volle Zeilenhöhe, abgerundet */
.oh-page.oh-type-seminar .oh-list .oh-row__badge,
.oh-page.oh-type-seminar .oh-list .oh-row:not(.has-media) .oh-row__badge {
	align-self: stretch;
	margin: 6px 0;
	padding: 20px 6px;
	border-radius: 8px;
	background: #82ccd5;
	color: var(--color-black) !important;
}
.oh-page.oh-type-seminar .oh-list .oh-date {
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.oh-page.oh-type-seminar .oh-list .oh-date__day {
	font-family: var(--font-head);
	font-size: 40px;
	font-weight: 700;
	line-height: 1.1;
}
.oh-page.oh-type-seminar .oh-list .oh-date__prefix,
.oh-page.oh-type-seminar .oh-list .oh-date__year {
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 0.04em;
}
.oh-page.oh-type-seminar .oh-list .oh-row__main {
	padding: 18px 0 20px;
}
.oh-page.oh-type-seminar .oh-list .oh-row__kicker {
	margin: 0 0 8px;
	font-size: 14px;
	text-transform: uppercase;
}
.oh-page.oh-type-seminar .oh-list .oh-row__title {
	margin: 0 0 14px;
	font-size: 21px;
	font-weight: 600;
}
.oh-page.oh-type-seminar .oh-list .oh-row__title a {
	position: relative;
	z-index: 2;
	color: var(--color-black);
	text-decoration: none;
}
.oh-page.oh-type-seminar .oh-list .oh-row__title a:hover,
.oh-page.oh-type-seminar .oh-list .oh-row__title a:focus {
	color: var(--oh-accent);
}
.oh-page.oh-type-seminar .oh-list .oh-row__teaser {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.4;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}
/* Aufgeklappter Bereich: Eckdaten mit Akzent-Beschriftung, Kontakt-Links darunter */
.oh-page.oh-type-seminar .oh-list .oh-row__more {
	position: relative;
	z-index: 2;
	margin-top: 12px;
	border-top: 1px solid var(--oh-accent);
	font-size: 14px;
}
.oh-page.oh-type-seminar .oh-list .oh-row__more[hidden] {
	display: none;
}
.oh-page.oh-type-seminar .oh-list .oh-row__info {
	margin: 0;
	padding: 6px 0 14px;
	border-bottom: 1px solid var(--oh-accent);
}
.oh-page.oh-type-seminar .oh-list .oh-row__info dt {
	margin: 14px 0 6px;
	font-weight: 600;
	color: var(--oh-accent);
}
.oh-page.oh-type-seminar .oh-list .oh-row__info dd {
	margin: 0;
	line-height: 1.5;
}
.oh-page.oh-type-seminar .oh-list .oh-row__contact {
	margin: 0;
	padding: 8px 0 0;
	list-style: none;
}
.oh-page.oh-type-seminar .oh-list .oh-row__contact li {
	margin: 12px 0 0;
	font-size: 16px;
	font-weight: 600;
}
.oh-page.oh-type-seminar .oh-list .oh-row__contact a {
	color: var(--oh-accent);
	text-decoration: none;
	word-break: break-word;
}
.oh-page.oh-type-seminar .oh-list .oh-row__contact a:hover,
.oh-page.oh-type-seminar .oh-list .oh-row__contact a:focus {
	text-decoration: underline;
}
.oh-page.oh-type-seminar .oh-list .oh-row__info .oh-icon::before,
.oh-page.oh-type-seminar .oh-list .oh-row__contact .oh-icon::before {
	background: var(--oh-accent);
}
.oh-page.oh-type-seminar .oh-list .oh-row__aside {
	padding: 22px 0 20px;
}
.oh-page.oh-type-seminar .oh-list .oh-row__meta {
	gap: 28px;
	font-size: 16px;
}
.oh-page.oh-type-seminar .oh-list .oh-row__meta .oh-icon::before {
	background: var(--oh-accent);
}
.oh-page.oh-type-seminar .oh-list .oh-row__cta {
	position: relative;
	z-index: 2;
	display: inline-block;
	margin-top: 40px;
	padding: 14px 28px;
	background: var(--oh-accent);
	color: var(--color-white) !important;
	font-size: 14px;
	text-decoration: none;
}
.oh-page.oh-type-seminar .oh-list .oh-row__cta:hover,
.oh-page.oh-type-seminar .oh-list .oh-row__cta:focus {
	background: var(--oh-mid);
	color: var(--color-black) !important;
}
/* „Mehr Infos“ erst aufgeklappt (ohne JS immer sichtbar) */
.js .oh-page.oh-type-seminar .oh-list .oh-row:not(.is-open) .oh-row__cta {
	display: none;
}
.oh-page.oh-type-seminar .oh-list .oh-row__toggle {
	justify-self: end;
	width: 28px;
	height: 28px;
	margin-top: 22px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}
.oh-page.oh-type-seminar .oh-list .oh-row__toggle::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: var(--oh-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 8.6 5.2 6.4 12 13.2l6.8-6.8L21 8.6l-9 9z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 8.6 5.2 6.4 12 13.2l6.8-6.8L21 8.6l-9 9z'/%3E%3C/svg%3E") center/contain no-repeat;
	transition: transform 0.2s;
}
.oh-page.oh-type-seminar .oh-list .oh-row__toggle[aria-expanded="true"]::before {
	transform: rotate(180deg);
}
.oh-page.oh-type-seminar .oh-list .oh-row__toggle:focus-visible {
	outline: 2px solid var(--oh-accent);
	outline-offset: 3px;
}
.oh-page.oh-type-seminar .oh-list .oh-row__toggle .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
/* zugeklappt: ganze Zeile öffnet den Bereich */
.oh-page.oh-type-seminar .oh-list .oh-row:not(.is-open) .oh-row__toggle::after {
	content: "";
	position: absolute;
	inset: 0;
}
.oh-page.oh-type-seminar .oh-list .oh-row:hover .oh-row__toggle::before {
	background: var(--oh-mid);
}

/* Seminaranbieter (?ansicht=anbieter): weiße Box mit Rand in der Akzentfarbe, leicht gerundet, ohne Schatten */
.oh-page .oh-provider {
	border: 1px solid var(--oh-accent);
	border-radius: 8px;
	box-shadow: none;
	transition:
		border-color 0.15s,
		box-shadow 0.15s;
}
.oh-page .oh-provider:hover,
.oh-page .oh-provider:focus-visible {
	box-shadow: 0 0 0 1px var(--oh-accent);
}

/* Shortcode [overhead_listings]: Inserate auf beliebigen Seiten */
.oh-shortcode__title {
	font-family: var(--font-head);
	font-weight: 700;
	font-size: 32px;
	line-height: 1.2;
	color: var(--oh-accent) !important; /* gegen base.css (h1–h5 schwarz !important) */
}

/*
 * Seminar-Kacheln (nur Shortcode, view="grid", Template overhead-seminare/templates/card.php):
 * weiße Karte; Kopf mit Logo links und Datumsblock (Lasche) rechts, darunter Titel (Volkhov)
 * sowie Ort und Veranstalter mit Icons. Ohne Logo steht das erste Bild an Stelle des Logos.
 */
.oh-page.oh-type-seminar .oh-grid {
	--oh-grid-gap-x: 46px;
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: 2px;
	background: var(--color-white);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}
.oh-page.oh-type-seminar .oh-card--seminar.is-featured .oh-card__link {
	box-shadow:
		0 0 0 2px var(--oh-accent),
		0 2px 8px rgba(0, 0, 0, 0.18);
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-card__head {
	display: flex;
	align-items: stretch;
	gap: 16px;
	padding: 0 5% 0 20px;
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-card__mark {
	position: relative;
	display: flex;
	flex: 1;
	min-width: 0;
	align-items: center;
	padding: 20px 0 8px;
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-card__mark .oh-card__img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 110px;
	object-fit: contain;
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-card__mark.is-photo .oh-card__img {
	width: 100%;
	height: 110px;
	max-height: none;
	object-fit: cover;
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-card__date {
	flex: 0 0 41%;
	align-self: flex-start;
	box-sizing: border-box;
	padding: 22px 6px 16px;
	border-radius: 0 0 15px 15px;
	background: #82ccd5;
	color: var(--color-black);
	text-align: center;
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-date {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-date__day {
	font-family: var(--font-head);
	font-size: 44px;
	font-weight: 700;
	line-height: 1.1;
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-date__prefix,
.oh-page.oh-type-seminar .oh-card--seminar .oh-date__year {
	font-size: 20px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.04em;
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-card__body,
.oh-page.oh-type-seminar .oh-card--seminar.is-featured .oh-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	margin: 0;
	padding: 22px 20px 20px;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-card__title {
	margin: 0 0 24px;
	font-family: var(--font-head);
	font-weight: 700;
	font-size: 26px;
	line-height: 1.25;
	hyphens: auto;
	color: var(--color-black) !important; /* gegen base.css (h1–h5 schwarz !important) */
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-card__link:hover .oh-card__title,
.oh-page.oh-type-seminar .oh-card--seminar .oh-card__link:focus .oh-card__title {
	text-decoration: underline;
	text-decoration-color: var(--oh-accent);
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-card__meta {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: auto 0 0;
	padding: 0;
	list-style: none;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.35;
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-card__meta li {
	margin: 0;
	padding-left: 34px;
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-card__meta .oh-icon::before {
	top: 0;
	width: 24px;
	height: 24px;
	background: var(--oh-accent);
}
.oh-page.oh-type-seminar .oh-card--seminar .oh-badge {
	top: 12px;
	right: auto;
	left: 0;
}
@media (max-width: 767px) {
	.oh-page.oh-type-seminar .oh-card--seminar .oh-date__day {
		font-size: 36px;
	}
	.oh-page.oh-type-seminar .oh-card--seminar .oh-card__title {
		font-size: 22px;
	}
}

/* Tablet hoch + Phone: Logo über dem Datumsblock links, Text rechts, Ort/Veranstalter darunter */
@media (min-width: 768px) and (max-width: 1018px) {
	.oh-page.oh-type-seminar .oh-list > .oh-row,
	.oh-page.oh-type-seminar .oh-list > .oh-row:not(.has-media) {
		grid-template-columns: 110px minmax(0, 1fr) 28px;
		/* leere 1fr-Zeile, damit der Datumsblock beim Aufklappen oben bleibt */
		grid-template-rows: auto auto 1fr auto;
		grid-template-areas: "media main toggle" "badge main toggle" ". main toggle" "aside aside aside";
		gap: 0 16px;
		padding: 4px 12px 4px 4px;
	}
	.oh-page.oh-type-seminar .oh-list > .oh-row:not(.has-media) {
		grid-template-rows: auto 1fr auto;
		grid-template-areas: "badge main toggle" ". main toggle" "aside aside aside";
	}
	.oh-page.oh-type-seminar .oh-list .oh-row__media {
		grid-area: media;
		margin: 10px 8px;
	}
	.oh-page.oh-type-seminar .oh-list .oh-row__badge,
	.oh-page.oh-type-seminar .oh-list .oh-row:not(.has-media) .oh-row__badge {
		grid-area: badge;
		align-self: start;
		padding: 12px 6px;
	}
	.oh-page.oh-type-seminar .oh-list .oh-row__main {
		grid-area: main;
		padding: 12px 0 16px;
	}
	.oh-page.oh-type-seminar .oh-list .oh-row__toggle {
		grid-area: toggle;
		margin-top: 14px;
	}
	.oh-page.oh-type-seminar .oh-list .oh-row__aside {
		grid-area: aside;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 12px 24px;
		padding: 12px 0 14px 12px;
		border-top: 1px solid var(--oh-tint);
	}
	.oh-page.oh-type-seminar .oh-list .oh-row__meta {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px 24px;
	}
	.oh-page.oh-type-seminar .oh-list .oh-row__cta {
		margin-top: 0;
	}
	.oh-page.oh-type-seminar .oh-list .oh-date__day {
		font-size: 28px;
	}
	.oh-page.oh-type-seminar .oh-list .oh-date__prefix,
	.oh-page.oh-type-seminar .oh-list .oh-date__year {
		font-size: 17px;
	}
}
@media (max-width: 767px) {
	.oh-page.oh-type-seminar .oh-list > .oh-row,
	.oh-page.oh-type-seminar .oh-list > .oh-row:not(.has-media) {
		grid-template-columns: 110px minmax(0, 1fr) 28px;
		/* leere 1fr-Zeile, damit der Datumsblock beim Aufklappen oben bleibt */
		grid-template-rows: auto auto 1fr auto;
		grid-template-areas: "media main toggle" "badge main toggle" ". main toggle" "aside aside aside";
		gap: 0 16px;
		padding: 4px 12px 4px 4px;
	}
	.oh-page.oh-type-seminar .oh-list > .oh-row:not(.has-media) {
		grid-template-rows: auto 1fr auto;
		grid-template-areas: "badge main toggle" ". main toggle" "aside aside aside";
	}
	.oh-page.oh-type-seminar .oh-list .oh-row__media {
		grid-area: media;
		margin: 10px 8px;
	}
	.oh-page.oh-type-seminar .oh-list .oh-row__badge,
	.oh-page.oh-type-seminar .oh-list .oh-row:not(.has-media) .oh-row__badge {
		grid-area: badge;
		align-self: start;
		padding: 12px 6px;
	}
	.oh-page.oh-type-seminar .oh-list .oh-row__main {
		grid-area: main;
		padding: 12px 0 16px;
	}
	.oh-page.oh-type-seminar .oh-list .oh-row__toggle {
		grid-area: toggle;
		margin-top: 14px;
	}
	.oh-page.oh-type-seminar .oh-list .oh-row__aside {
		grid-area: aside;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 12px 24px;
		padding: 12px 0 14px 12px;
		border-top: 1px solid var(--oh-tint);
	}
	.oh-page.oh-type-seminar .oh-list .oh-row__meta {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px 24px;
	}
	.oh-page.oh-type-seminar .oh-list .oh-row__cta {
		margin-top: 0;
	}
	.oh-page.oh-type-seminar .oh-list .oh-date__day {
		font-size: 28px;
	}
	.oh-page.oh-type-seminar .oh-list .oh-date__prefix,
	.oh-page.oh-type-seminar .oh-list .oh-date__year {
		font-size: 17px;
	}
	.oh-page.oh-type-seminar .oh-list > .oh-row,
	.oh-page.oh-type-seminar .oh-list > .oh-row:not(.has-media) {
		grid-template-columns: 84px minmax(0, 1fr) 24px;
		gap: 0 12px;
	}
	.oh-page.oh-type-seminar .oh-list .oh-row__title {
		font-size: 18px;
	}
	.oh-page.oh-type-seminar .oh-list .oh-date__day {
		font-size: 22px;
	}
	.oh-page.oh-type-seminar .oh-list .oh-date__prefix,
	.oh-page.oh-type-seminar .oh-list .oh-date__year {
		font-size: 15px;
	}
}
/*
 * Archiv, Detailseite und Inserieren-Seite: Container am Desktop so breit wie der Header (1200px).
 * Die Inserieren-Seite ist eine normale WP-Seite → deren tagDiv-Container über :has() ansprechen.
 */
@media only screen and (min-width: 1141px) {
	.oh-page--archive .td-container.oh-container,
	.oh-page--single .td-container.oh-container,
	.td-container:has(.oh-submit) {
		width: 100%;
		max-width: var(--container-header);
	}
}

/*
 * Detailseite (Layout „Custom Post Type“): Titel und Abschnitte in Volkhov fett
 * in der Akzentfarbe, Kontakt im hellen Bereichston, Bilder gerundet
 */
.oh-page--single .oh-title,
.oh-type-immobilie.oh-page--single .oh-title {
	font-family: var(--font-head);
	font-weight: 700;
	font-size: 38px;
	line-height: 1.3;
	color: var(--oh-accent) !important;
}

.oh-single__teaser {
	font-size: 18px;
}

.oh-single__hero img,
.oh-slider__slide img {
	border-radius: var(--card-radius);
}

.oh-section__title,
.oh-related__title,
.oh-box__title,
.oh-page .oh-single__text h2,
.oh-page .oh-single__text h3 {
	font-family: var(--font-head);
	font-weight: 700;
	font-size: 26px;
	color: var(--oh-accent) !important;
}
.oh-section__title::after,
.oh-related__title::after,
.oh-box__title::after,
.oh-page .oh-single__text h2::after,
.oh-page .oh-single__text h3::after {
	content: none;
}

.oh-section > .oh-section__title {
	font-size: 22px;
}

.oh-info {
	border-color: var(--oh-accent);
	border-width: 2px 0;
}

.oh-info__label,
.oh-contact__label,
.oh-logo-box__person span {
	font-size: 13px;
	color: var(--label-color);
}

.oh-box {
	background: var(--oh-tint);
}

.oh-details__row {
	border-top: 1px solid rgba(0, 0, 0, 0.15);
	padding: 10px 0;
}

.oh-logo-box__logo {
	border: var(--card-border);
	border-radius: var(--card-radius);
	box-shadow: var(--card-shadow);
}

.oh-slider__nav {
	border-radius: 4px;
	background: var(--oh-accent);
}

.oh-single__footer {
	border-bottom: 2px solid var(--oh-accent);
}

.oh-related__item {
	overflow: hidden;
	border: var(--card-border);
	border-radius: var(--card-radius);
	box-shadow: var(--card-shadow);
}

.oh-related__item-title {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 16px;
}

/* Anzeigen-Label wie im restlichen Auftritt */
.oh-ad {
	background: var(--color-grey-banner);
	/*
   * Werbemittel (Adning, iframes) setzen oft eigene z-index-Werte – in einer eigenen
   * Ebene einschließen, damit sie nicht über das Dropdown-Menü des Headers ragen.
   */
	position: relative;
	z-index: 0;
	isolation: isolate;
}

.oh-ad__label {
	color: var(--color-ad-label);
	font-size: 10px;
	text-align: left;
}

@media (min-width: 768px) and (max-width: 1018px) {
	.oh-filters,
	.oh-filters__more > .oh-filters__row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 24px;
	}
	.oh-results.has-ad {
		grid-template-columns: 1fr;
	}
	.oh-page.oh-type-job .oh-list .oh-row__meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
/*
 * Inserieren: Intro, Paket-Kacheln und Formular (MB Frontend Submission)
 * Look: kantige Box mit hartem Schatten, Abschnitte mit Volkhov-Überschrift,
 * Felder nur mit Unterstrich (wie Contact Form 7), Buttons schwarz/invertiert.
 * Selektoren mit .oh-submit davor, damit sie sicher vor overhead-core/tagDiv greifen.
 */
/* Intro, Formular und Hinweis nutzen die volle Containerbreite (Core begrenzt auf 720px) */
.oh-submit .oh-submit__intro,
.oh-submit .oh-submit__note {
	max-width: none;
}
.oh-submit__intro .oh-title {
	margin: 0 0 16px;
}

.oh-submit__text {
	font-size: 18px;
	line-height: 1.5;
}

.oh-submit__title {
	font-family: var(--font-head);
	font-weight: 300;
	font-size: 32px;
	margin: 0 0 24px;
}

/* Preis-Kacheln im Intro */
.oh-submit .oh-submit__package {
	background: var(--color-white);
	border: 1px solid var(--color-black);
	box-shadow: 5px 5px 0 0 var(--color-black);
}

.oh-submit__package-name {
	font-family: var(--font-head);
	font-weight: 400;
	font-size: 18px;
}

.oh-submit__price {
	font-family: var(--font-body);
	font-size: 30px;
}

.oh-submit__package-desc {
	color: var(--color-black);
}

/* Hilfe-Kontakt als graue Box */
.oh-submit__help {
	background: var(--color-grey-banner);
	padding: 16px 20px;
	margin: 24px 0 16px;
}
.oh-submit__help p {
	margin: 0 0 4px;
}

.oh-submit__required,
.oh-submit__note {
	font-size: 14px;
	color: #6b6b6b;
}

/* Formular-Box */
.oh-submit .oh-submit__form {
	max-width: none;
	box-sizing: border-box;
	margin: 0 0 24px;
	padding: 32px 40px 40px;
	background: var(--color-white);
	border: 1px solid var(--color-black);
	box-shadow: var(--shadow-hard);
	/* MB-Layout: Label über dem Feld, volle Breite (MB setzt :where(.rwmb-field) { display: flex }) */
}
.oh-submit .oh-submit__form .rwmb-field {
	display: block;
	margin: 0 0 24px;
}
.oh-submit .oh-submit__form .rwmb-field.rwmb-hidden-wrapper {
	display: none;
}
/* Radio-/Checkbox-Listen und Gruppen stecken in <fieldset> – Browser-Rahmen entfernen */
.oh-submit .oh-submit__form fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
.oh-submit .oh-submit__form legend {
	padding: 0;
}
.oh-submit .oh-submit__form .rwmb-label,
.oh-submit .oh-submit__form .rwmb-input {
	float: none;
	width: 100%;
	padding: 0;
}
.oh-submit .oh-submit__form .rwmb-label {
	margin: 0 0 4px;
}
.oh-submit .oh-submit__form .rwmb-label label {
	font-family: var(--font-body);
	font-size: 18px !important;
	font-weight: 600 !important;
}
/* Pflichtstern in derselben Zeile (Theme-Regel „form label span { display: block }“ aufheben) */
.oh-submit .oh-submit__form .rwmb-label .rwmb-required,
.oh-submit .oh-submit__form label .rwmb-required {
	display: inline;
	margin: 0 0 0 3px;
	color: var(--color-red);
}
.oh-submit .oh-submit__form .rwmb-description {
	margin: 6px 0 0;
	font-size: 13px;
	font-style: normal;
	color: #6b6b6b;
}
/* Spalten (columns) mit Abstand */
.oh-submit .oh-submit__form .rwmb-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0 24px;
}
.oh-submit .oh-submit__form .rwmb-row > .rwmb-column {
	flex: 1 1 0;
	min-width: 200px;
	margin: 0;
	float: none;
	width: auto;
}
/* Abschnittsüberschriften (Feldtyp heading) */
.oh-submit .oh-submit__form .rwmb-heading-wrapper {
	margin: 40px 0 20px;
	padding-top: 24px;
	border-top: 1px solid var(--color-black);
}
.oh-submit .oh-submit__form .rwmb-heading-wrapper h4 {
	margin: 0;
	font-family: var(--font-head);
	font-weight: 400;
	font-size: 24px;
	line-height: 1.3;
}
.oh-submit .oh-submit__form .rwmb-heading-wrapper .rwmb-description {
	margin-top: 4px;
}
/* erste Überschrift einer Box ohne Trennlinie */
.oh-submit .oh-submit__form .rwmb-meta-box > .rwmb-heading-wrapper:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}
/* Textfelder: nur Unterstrich (Theme-Regeln für form input/select aufheben) */
.oh-submit .oh-submit__form input[type="text"],
.oh-submit .oh-submit__form input[type="email"],
.oh-submit .oh-submit__form input[type="tel"],
.oh-submit .oh-submit__form input[type="number"],
.oh-submit .oh-submit__form input[type="url"],
.oh-submit .oh-submit__form input[type="date"],
.oh-submit .oh-submit__form input[type="time"],
.oh-submit .oh-submit__form input[type="datetime-local"],
.oh-submit .oh-submit__form select {
	width: 100% !important;
	max-width: 100%;
	height: auto !important;
	min-height: 42px;
	padding: 8px 0;
	border: 0 !important;
	border-bottom: 1px solid var(--color-black) !important;
	border-radius: 0;
	background-color: transparent;
	box-shadow: none;
	font-family: var(--font-body);
	font-size: 16px !important;
	color: var(--color-black);
	transition: box-shadow 0.15s;
}
.oh-submit .oh-submit__form input[type="text"]:focus,
.oh-submit .oh-submit__form input[type="email"]:focus,
.oh-submit .oh-submit__form input[type="tel"]:focus,
.oh-submit .oh-submit__form input[type="number"]:focus,
.oh-submit .oh-submit__form input[type="url"]:focus,
.oh-submit .oh-submit__form input[type="date"]:focus,
.oh-submit .oh-submit__form input[type="time"]:focus,
.oh-submit .oh-submit__form input[type="datetime-local"]:focus,
.oh-submit .oh-submit__form select:focus {
	outline: 0;
	box-shadow: inset 0 -2px 0 0 var(--color-black); /* dickerer Unterstrich (border ist im Theme !important) */
}
.oh-submit .oh-submit__form select {
	padding-right: 24px;
	cursor: pointer;
}
.oh-submit .oh-submit__form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 1px solid var(--color-black) !important;
	border-radius: 0;
	font-family: var(--font-body);
	font-size: 16px;
	resize: vertical;
}
.oh-submit .oh-submit__form textarea:focus {
	outline: 0;
	box-shadow: inset 0 0 0 1px var(--color-black);
}
.oh-submit .oh-submit__form ::placeholder {
	color: #9a9a9a;
}
/* Fehler (Validierung) */
.oh-submit .oh-submit__form input.rwmb-error,
.oh-submit .oh-submit__form select.rwmb-error,
.oh-submit .oh-submit__form textarea.rwmb-error {
	border-bottom-color: var(--color-red) !important;
}
.oh-submit .oh-submit__form textarea.rwmb-error {
	border-color: var(--color-red) !important;
}
.oh-submit .oh-submit__form .rwmb-error:not(input):not(select):not(textarea) {
	display: block;
	margin: 4px 0 0;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--color-red);
}
/* Radio / Checkbox: Theme-Regel „form label span { display: block }“ aufheben */
.oh-submit .oh-submit__form .rwmb-input-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.oh-submit .oh-submit__form .rwmb-input-list li {
	margin: 0 0 6px;
}
.oh-submit .oh-submit__form .rwmb-input-list label {
	display: flex;
	width: fit-content;
	align-items: center;
	gap: 8px;
	margin: 0 0 6px;
	font-size: 16px !important;
	cursor: pointer;
}
.oh-submit .oh-submit__form .rwmb-input-list span {
	display: inline;
	margin-top: 0;
}
.oh-submit .oh-submit__form .rwmb-input-list.rwmb-inline li,
.oh-submit .oh-submit__form .rwmb-input-list.rwmb-inline label {
	display: inline-flex;
	margin-right: 20px;
}
.oh-submit .oh-submit__form input[type="radio"],
.oh-submit .oh-submit__form input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--color-black);
}
/* Paketauswahl als Kacheln (oberstes Feld) */
.oh-submit .oh-submit__form .oh-package-field {
	margin-bottom: 32px;
}
.oh-submit .oh-submit__form .oh-package-field .rwmb-label label {
	font-family: var(--font-head);
	font-weight: 400 !important;
	font-size: 24px !important;
}
.oh-submit .oh-submit__form .oh-package-field .rwmb-input-list {
	display: grid;
	gap: 12px;
}
.oh-submit .oh-submit__form .oh-package-field .rwmb-input-list li,
.oh-submit .oh-submit__form .oh-package-field .rwmb-input-list label {
	margin: 0;
}
.oh-submit .oh-submit__form .oh-package-field .rwmb-input-list label {
	display: flex;
	width: 100%;
	box-sizing: border-box;
	padding: 14px 18px;
	border: 1px solid var(--color-black);
	background: var(--color-white);
	font-weight: 600 !important;
	transition:
		background 0.15s,
		color 0.15s;
}
.oh-submit .oh-submit__form .oh-package-field .rwmb-input-list label:hover {
	background: var(--color-grey-banner);
}
.oh-submit .oh-submit__form .oh-package-field .rwmb-input-list label:has(input:checked) {
	background: var(--color-black);
	color: var(--color-white);
	box-shadow: 5px 5px 0 0 var(--color-gold);
}
.oh-submit .oh-submit__form .oh-package-field .rwmb-input-list label:has(input:checked) input {
	accent-color: var(--color-white);
}
/* Ja/Nein-Schalter (switch) */
.oh-submit .oh-submit__form .rwmb-switch-label {
	border-radius: 0;
}
/* Select2 (select_advanced / taxonomy_advanced) */
.oh-submit .oh-submit__form .select2-container {
	width: 100% !important;
}
.oh-submit .oh-submit__form .select2-container--default .select2-selection--single,
.oh-submit .oh-submit__form .select2-container--default .select2-selection--multiple {
	min-height: 42px;
	border: 0;
	border-bottom: 1px solid var(--color-black);
	border-radius: 0;
	background: transparent;
}
.oh-submit .oh-submit__form .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding-left: 0;
	line-height: 40px;
}
.oh-submit .oh-submit__form .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 40px;
}
.oh-submit .oh-submit__form .select2-container--default.select2-container--focus .select2-selection--multiple,
.oh-submit .oh-submit__form .select2-container--default.select2-container--open .select2-selection--single {
	box-shadow: inset 0 -2px 0 0 var(--color-black);
}
.oh-submit .oh-submit__form .select2-container--default .select2-selection__choice {
	border: 1px solid var(--color-black);
	border-radius: 0;
	background: var(--color-grey-banner);
}
/* Editor (wysiwyg) */
.oh-submit .oh-submit__form .wp-editor-wrap {
	border: 1px solid var(--color-black);
}
.oh-submit .oh-submit__form .wp-editor-tabs button,
.oh-submit .oh-submit__form .wp-switch-editor {
	border-radius: 0;
}
.oh-submit .oh-submit__form .mce-tinymce {
	box-shadow: none;
	border: 0 !important;
}
/* Bilder / Logo / PDF: Upload-Fläche */
.oh-submit .oh-submit__form .rwmb-upload-area,
.oh-submit .oh-submit__form .rwmb-media-list + .rwmb-upload-area {
	padding: 28px 16px;
	border: 1px dashed var(--color-black);
	background: #f6f6f6;
	text-align: center;
	transition: background 0.15s;
}
.oh-submit .oh-submit__form .rwmb-upload-area:hover,
.oh-submit .oh-submit__form .rwmb-upload-area.rwmb-upload-area--drag,
.oh-submit .oh-submit__form .rwmb-media-list + .rwmb-upload-area:hover,
.oh-submit .oh-submit__form .rwmb-media-list + .rwmb-upload-area.rwmb-upload-area--drag {
	background: var(--color-grey-banner);
}
.oh-submit .oh-submit__form .rwmb-upload-area h3,
.oh-submit .oh-submit__form .rwmb-upload-area p,
.oh-submit .oh-submit__form .rwmb-media-list + .rwmb-upload-area h3,
.oh-submit .oh-submit__form .rwmb-media-list + .rwmb-upload-area p {
	margin: 0 0 8px;
	font-family: var(--font-body);
	font-size: 16px;
}
.oh-submit .oh-submit__form .rwmb-media-list {
	gap: 12px;
}
.oh-submit .oh-submit__form .rwmb-media-item,
.oh-submit .oh-submit__form .rwmb-image-item {
	border: 1px solid var(--color-black);
	border-radius: 0;
	box-shadow: none;
}
/* Einfaches Datei-Feld (Frontend ohne Mediathek, MB-Feldtyp image/file) */
.oh-submit .oh-submit__form .rwmb-file-new {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	padding: 16px;
	border: 1px dashed var(--color-black);
	background: #f6f6f6;
}
.oh-submit .oh-submit__form .rwmb-file-new input[type="file"] {
	max-width: 100%;
	font-family: var(--font-body);
	font-size: 15px;
}
.oh-submit .oh-submit__form .rwmb-file-new .rwmb-file-input {
	flex: 1 1 60%;
}
.oh-submit .oh-submit__form .oh-file-remove {
	padding: 4px 12px;
	border: 1px solid var(--color-black);
	border-radius: 0;
	background: var(--color-white);
	color: var(--color-red);
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
.oh-submit .oh-submit__form .oh-file-remove:hover,
.oh-submit .oh-submit__form .oh-file-remove:focus {
	background: var(--color-black);
	color: var(--color-white);
}
.oh-submit .oh-submit__form .oh-file-remove[hidden] {
	display: none;
}
/* Ein Datei-Feld pro Upload (Bilder mit Mehrfachauswahl) – „+ Neue Datei hinzufügen“ wird nicht gebraucht */
.oh-submit .oh-submit__form .rwmb-file-add {
	display: none !important;
}
.oh-submit .oh-submit__form .rwmb-files {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 12px;
	padding: 0;
	list-style: none;
}
.oh-submit .oh-submit__form .rwmb-files > li {
	margin: 0;
	padding: 8px;
	border: 1px solid var(--color-black);
}
/* Gruppen (Seminar-Termine): jede Wiederholung als graue Box */
.oh-submit .oh-submit__form .rwmb-group-clone {
	margin: 0 0 20px;
	padding: 24px 24px 8px;
	background: #f6f6f6;
	border: 1px solid var(--color-black);
}
.oh-submit .oh-submit__form .rwmb-group-collapsible > .rwmb-group-title-wrapper {
	background: var(--color-black);
	color: var(--color-white);
	border-radius: 0;
}
/* Buttons: „+ Termin hinzufügen“, Datei wählen, Entfernen */
.oh-submit .oh-submit__form .rwmb-button,
.oh-submit .oh-submit__form .add-clone,
.oh-submit .oh-submit__form .rwmb-browse-button,
.oh-submit .oh-submit__form .rwmb-file-input-select {
	display: inline-block;
	padding: 10px 20px;
	border: 1px solid var(--color-black);
	border-radius: 0;
	background: var(--color-white);
	color: var(--color-black) !important;
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	box-shadow: none;
	transition:
		background 0.15s,
		color 0.15s;
}
.oh-submit .oh-submit__form .rwmb-button:hover,
.oh-submit .oh-submit__form .rwmb-button:focus,
.oh-submit .oh-submit__form .add-clone:hover,
.oh-submit .oh-submit__form .add-clone:focus,
.oh-submit .oh-submit__form .rwmb-browse-button:hover,
.oh-submit .oh-submit__form .rwmb-browse-button:focus,
.oh-submit .oh-submit__form .rwmb-file-input-select:hover,
.oh-submit .oh-submit__form .rwmb-file-input-select:focus {
	background: var(--color-black);
	color: var(--color-white) !important;
}
.oh-submit .oh-submit__form .remove-clone {
	color: var(--color-red) !important;
}
/* Absenden: „Zur Bezahlung“ / „Änderungen speichern“ */
.oh-submit .oh-submit__form .rwmb-form-submit {
	margin: 40px 0 0;
	padding-top: 32px;
	border-top: 1px solid var(--color-black);
}
.oh-submit .oh-submit__form .rwmb-form-submit button,
.oh-submit .oh-submit__form button.rwmb-button[type="submit"] {
	min-width: 240px;
	padding: 16px 36px;
	border: 1px solid var(--color-black);
	background: var(--color-black);
	color: var(--color-white) !important;
	font-size: 18px;
}
.oh-submit .oh-submit__form .rwmb-form-submit button:hover,
.oh-submit .oh-submit__form .rwmb-form-submit button:focus,
.oh-submit .oh-submit__form button.rwmb-button[type="submit"]:hover,
.oh-submit .oh-submit__form button.rwmb-button[type="submit"]:focus {
	background: var(--color-white);
	color: var(--color-black) !important;
}
/* Kasse: „Jetzt kaufen“ wie „Zur Bezahlung“ (überschreibt WooCommerce-/tagDiv-Buttonstil) */
body.woocommerce-checkout #place_order {
	float: none;
	display: block;
	min-width: 240px;
	margin: 24px 0 0 auto;
	padding: 16px 36px;
	border: 1px solid var(--color-black) !important;
	border-radius: 0 !important;
	background: var(--color-black) !important;
	color: var(--color-white) !important;
	font-family: var(--font-body);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	text-transform: none;
	box-shadow: none !important;
	cursor: pointer;
	transition:
		background 0.15s,
		color 0.15s;
}
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout #place_order:focus {
	background: var(--color-white) !important;
	color: var(--color-black) !important;
}
/* Kasse: „Bearbeiten“ → Warenkorb (review-order.php) */
.woocommerce-checkout-review-order-table .oh-checkout-edit {
	margin-left: 12px;
	color: var(--color-black) !important;
	font-size: 14px;
	font-weight: 400;
	text-decoration: underline;
}
.woocommerce-checkout-review-order-table .oh-checkout-edit:hover,
.woocommerce-checkout-review-order-table .oh-checkout-edit:focus {
	color: var(--color-red) !important;
}
/* Kasse: Hinweis unter „OVERHEAD ABO-Nummer“ (Abo_Discount::hint) */
.woocommerce-checkout .oh-abo-hint {
	display: block;
	position: static;
	margin-top: 6px;
	color: #666;
	font-size: 13px;
	line-height: 1.4;
}
/* Kasse: Produktbild von Germanized ausblenden */
.wc-gzd-cart-item-thumbnail {
	display: none !important;
}
/* Mein Konto → Adressen: „Rechnungsadresse bearbeiten“ / „Lieferadresse hinzufügen“ linksbündig unter dem Titel */
.woocommerce-account .woocommerce-Address-title .edit {
	float: none !important;
	display: inline-block;
	margin: 0 0 12px;
	text-align: left;
}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 {
	float: none !important;
}
/* Bestätigung / Fehlermeldung von MB */
.oh-submit .oh-submit__form .rwmb-confirmation,
.oh-submit .oh-submit__form .rwmb-error-message {
	margin: 0 0 24px;
	padding: 14px 18px;
	border-left: 4px solid var(--color-black);
	background: var(--color-grey-banner);
	font-weight: 600;
}
.oh-submit .oh-submit__form .rwmb-error-message {
	border-left-color: var(--color-red);
}

/* Formulare in Konto und Bewerbung */
.oh-account__renew select,
.oh-apply-form .oh-form input,
.oh-apply-form .oh-form textarea {
	border-radius: 0;
}

.oh-account__renew select {
	width: auto;
	height: auto !important;
}

.oh-status {
	border-radius: 0;
	font-weight: 600;
}

.oh-notice {
	border-left-color: var(--color-black);
	background: var(--color-grey-banner);
}

@media (max-width: 767px) {
	.oh-hero {
		padding: 28px 0 32px;
	}
	.oh-hero .oh-title {
		font-size: 34px;
	}
	.oh-filters,
	.oh-filters__more > .oh-filters__row {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
	.oh-filters {
		width: 100%;
		max-width: 100%;
	}
	.oh-views {
		width: 100%;
	}
	.oh-views__btn {
		flex: 1;
		justify-content: center;
	}
	.oh-results.has-ad {
		grid-template-columns: 1fr;
	}
	.oh-page .oh-list {
		gap: 24px;
	}
	.oh-page .oh-list > .oh-row,
	.oh-page .oh-list > .oh-row:not(.has-media) {
		grid-template-columns: 96px minmax(0, 1fr);
		gap: 12px 16px;
		padding: 12px 56px 12px 12px;
	}
	.oh-page .oh-list > .oh-row:not(.has-media) {
		grid-template-columns: minmax(0, 1fr);
	}
	.oh-page .oh-list .oh-row__meta {
		grid-column: 1/-1;
		gap: 10px;
		font-size: 16px;
	}
	.oh-page .oh-list .oh-row__badge {
		margin-left: 0;
		padding: 6px 10px;
	}
	.oh-page .oh-list .oh-date__day {
		font-size: 26px;
	}
	.oh-page .oh-list .oh-date__prefix,
	.oh-page .oh-list .oh-date__year {
		font-size: 15px;
	}
	.oh-page .oh-list .oh-row__link {
		position: absolute;
		top: 50%;
		right: 12px;
		width: 32px;
		height: 28px;
		margin-top: -14px;
	}
	.oh-page.oh-type-job .oh-list {
		gap: 32px;
	}
	.oh-page.oh-type-job .oh-list > .oh-row {
		grid-template-columns: minmax(0, 1fr);
		padding: 16px 44px 20px 0;
	}
	.oh-page.oh-type-job .oh-list .oh-row__meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
	.oh-page.oh-type-job .oh-list .oh-row__link {
		width: 18px;
		height: 24px;
	}
	.oh-page--single .oh-title,
	.oh-type-immobilie.oh-page--single .oh-title {
		font-size: 30px;
	}
	.oh-submit .oh-submit__form {
		padding: 20px 16px 28px;
		box-shadow: 5px 5px 0 0 var(--color-black);
	}
	.oh-submit .oh-submit__form .rwmb-group-clone {
		padding: 16px 12px 4px;
	}
	.oh-submit .oh-submit__form .rwmb-form-submit button,
	.oh-submit .oh-submit__form button.rwmb-button[type="submit"],
	body.woocommerce-checkout #payment #place_order {
		width: 100%;
		min-width: 0;
	}
}
