/* =====================================================================
   ÖWR Tirol – Unterseiten (.owr3-*)
   Modernes Seitenlayout: Header, Sub-Navigation, Inhalt, Personen-Karten
   ===================================================================== */
:root {
	--owr3-navy: #0D2A50;
	--owr3-blau: #0E478F;
	--owr3-akzent: #A53A57;
	--owr3-text: #313847;
	--owr3-grau: #6B7280;
	--owr3-linie: #E4E7EE;
	--owr3-hell: #F7F8FA;
	--owr3-radius: 20px;
	--owr3-schatten: 0 10px 30px -18px rgba(13, 42, 80, .35);
	--owr3-schatten-hover: 0 24px 48px -22px rgba(13, 42, 80, .45);
	--owr3-ease: cubic-bezier(.2, .7, .2, 1);
}

.owr3-page { background: #fff; padding-top: 206px; }
@media screen and (max-width: 1024px) { .owr3-page { padding-top: 168px; } }
@media screen and (max-width: 767px) { .owr3-page { padding-top: 118px; } }
.owr3-subnav { top: 0; }
.owr3-wrap { width: min(960px, 100% - 48px); margin-inline: auto; }
.owr3-wrap--breit { width: min(1160px, 100% - 48px); }
.owr3-page .owr3-pagehead__inner,
.owr3-page .owr3-subnav__inner { width: min(1160px, 100% - 48px); }

/* ---------- Seiten-Header ---------- */
.owr3-pagehead {
	position: relative;
	padding: 56px 0 44px;
	background: linear-gradient(180deg, #F4F7FC 0%, #fff 100%);
	border-bottom: 1px solid var(--owr3-linie);
	overflow: hidden;
}
.owr3-pagehead::before {
	content: "";
	position: absolute; top: -140px; right: -120px;
	width: 420px; height: 420px; border-radius: 50%;
	background: radial-gradient(circle, rgba(14, 71, 143, .10) 0%, rgba(14, 71, 143, 0) 70%);
	pointer-events: none;
}
.owr3-pagehead__inner { position: relative; display: flex; flex-direction: column; gap: 14px; }
.owr3-pagehead__title {
	margin: 0 !important;
	font-size: clamp(2.1rem, 4vw, 3.4rem) !important;
	line-height: 1.04 !important;
	font-weight: 800 !important;
	letter-spacing: -.035em;
	color: var(--owr3-navy) !important;
	max-width: 18ch;
}
.owr3-pagehead__intro {
	margin: 0; max-width: 62ch;
	font-size: 1.2rem; line-height: 1.6; color: var(--owr3-grau);
}

/* Header mit Beitragsbild */
.owr3-pagehead--bild { background: var(--owr3-navy); border-bottom: 0; padding: 120px 0 52px; }
.owr3-pagehead--bild::before { display: none; }
.owr3-pagehead__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.owr3-pagehead__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,12,16,.2) 0%, rgba(10,12,16,.55) 55%, rgba(10,12,16,.85) 100%); }
.owr3-pagehead--bild .owr3-pagehead__title { color: #fff !important; }
.owr3-pagehead--bild .owr3-pagehead__intro { color: rgba(255,255,255,.88); }
.owr3-pagehead--bild .owr3-crumbs a { color: rgba(255,255,255,.8) !important; }
.owr3-pagehead--bild .owr3-crumbs span { color: rgba(255,255,255,.45); }

/* Brotkrumen */
.owr3-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: .85rem; font-weight: 600; }
.owr3-crumbs a { color: var(--owr3-grau) !important; text-decoration: none; }
.owr3-crumbs a:hover { color: var(--owr3-akzent) !important; }
.owr3-crumbs a:last-child { color: var(--owr3-akzent) !important; }
.owr3-crumbs span { color: #C3C8D4; }

/* ---------- Sub-Navigation ---------- */
.owr3-subnav { position: relative; z-index: 5; background: rgba(255,255,255,.94); border-bottom: 1px solid var(--owr3-linie); }
.owr3-subnav__inner { display: flex; align-items: center; gap: 16px; padding: 12px 0; }
.owr3-subnav__up { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; font-size: .88rem; font-weight: 700; color: var(--owr3-navy) !important; text-decoration: none; padding-right: 16px; border-right: 1px solid var(--owr3-linie); }
.owr3-subnav__up:hover { color: var(--owr3-akzent) !important; }
.owr3-subnav__list { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.owr3-subnav__list::-webkit-scrollbar { display: none; }
.owr3-subnav__item {
	flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px;
	border-radius: 999px; background: var(--owr3-hell); color: var(--owr3-text) !important;
	font-size: .88rem; font-weight: 600; text-decoration: none !important; white-space: nowrap;
	transition: background .2s, color .2s;
}
.owr3-subnav__item:hover { background: #E8EEF7; color: var(--owr3-blau) !important; }
.owr3-subnav__item.is-aktiv { background: var(--owr3-navy); color: #fff !important; }

/* ---------- Inhalt ---------- */
.owr3-content { padding: 56px 0 72px; font-size: 1.08rem; line-height: 1.75; color: var(--owr3-text); }
.owr3-content > * { margin-block: 0 0; }
.owr3-content > * + * { margin-top: 1.1em; }
.owr3-content p { margin: 0; }
.owr3-content a:not([class]) { color: var(--owr3-blau) !important; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.owr3-content a:not([class]):hover { color: var(--owr3-akzent) !important; }

.owr3-content h2, .owr3-content .owr3-h2 {
	margin: 2.4em 0 0 !important; font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
	line-height: 1.2 !important; font-weight: 800 !important; letter-spacing: -.025em; color: var(--owr3-navy) !important;
	scroll-margin-top: 90px;
}
.owr3-content h2::after, .owr3-content .owr3-h2::after {
	content: ""; display: block; width: 52px; height: 3px; border-radius: 2px;
	background: var(--owr3-akzent); margin-top: 14px;
}
.owr3-content h3 { margin: 2em 0 0 !important; font-size: 1.28rem !important; font-weight: 700 !important; line-height: 1.3 !important; color: var(--owr3-navy) !important; }
.owr3-content h4 { margin: 1.6em 0 0 !important; font-size: 1.1rem !important; font-weight: 700 !important; color: var(--owr3-navy) !important; }
.owr3-content > h2 + *, .owr3-content > h3 + *, .owr3-content > h4 + * { margin-top: .9em; }
.owr3-content strong { color: var(--owr3-navy); font-weight: 700; }

/* Listen mit Häkchen (alle Inhaltslisten, außer Navigations-/Bausteinlisten) */
.owr3-content ul:not([role="list"]):not(.menu):not(.sub-menu):not(.submenu):not(.owr3-downloads) {
	list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px;
}
.owr3-content ul:not([role="list"]):not(.menu):not(.sub-menu):not(.submenu) > li {
	position: relative; padding-left: 36px; line-height: 1.65; list-style: none;
}
.owr3-content ul:not([role="list"]):not(.menu):not(.sub-menu):not(.submenu) > li::before {
	content: ""; position: absolute; left: 0; top: .28em; width: 22px; height: 22px; border-radius: 50%;
	background: #E8EEF7 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E478F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center / 12px no-repeat;
}
.owr3-content ul ul { margin-top: 12px; }

.owr3-content ol:not([role="list"]) {
	counter-reset: owr3; list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px;
}
.owr3-content ol:not([role="list"]) > li { position: relative; padding-left: 46px; list-style: none; min-height: 32px; }
.owr3-content ol:not([role="list"]) > li::before {
	counter-increment: owr3; content: counter(owr3);
	position: absolute; left: 0; top: 0; width: 32px; height: 32px; border-radius: 50%;
	background: var(--owr3-navy); color: #fff; font-size: .88rem; font-weight: 800;
	display: flex; align-items: center; justify-content: center;
}
/* Verschachtelte Listen: kein Marker-Reset des Elternzählers */
.owr3-content ol ol { counter-reset: owr3; margin-top: 12px; }
/* Baderegeln-Stil: fette Kurzfassung + Erklärung */
.owr3-content ol > li > strong:first-child { display: block; color: var(--owr3-navy); margin-bottom: 2px; }

/* Bilder */
.owr3-content figure { margin: 2em 0 0; }
.owr3-content img { max-width: 100%; height: auto; border-radius: var(--owr3-radius); display: block; }
.owr3-content figcaption { margin-top: 10px; font-size: .88rem; color: var(--owr3-grau); text-align: left; }
/* Kleine Icon-Bilder (Ausbildungs-Abzeichen) nicht aufblasen */
.owr3-content figure.wp-block-image img[src*="/icons/"] { width: 140px; border-radius: 16px; }

/* Zitate / Hinweise */
.owr3-content blockquote {
	margin: 2em 0 0; padding: 22px 26px; border-radius: 16px;
	background: var(--owr3-hell); border-left: 4px solid var(--owr3-akzent); color: var(--owr3-text);
}
.owr3-content .owr3-hinweis {
	margin: 1.6em 0 0; padding: 20px 24px; border-radius: 16px;
	background: #F4F7FC; border: 1px solid #DDE6F3;
	display: flex; gap: 16px; align-items: flex-start;
}
.owr3-hinweis__icon { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; background: #E1EAF7; color: var(--owr3-blau); display: flex; align-items: center; justify-content: center; }
.owr3-hinweis__text { display: flex; flex-direction: column; gap: 6px; font-size: .98rem; line-height: 1.6; color: var(--owr3-text); }
.owr3-hinweis__text strong { color: var(--owr3-navy); font-weight: 800; }
.owr3-hinweis__text p { margin: 0 !important; }
.owr3-hinweis__text p + p { margin-top: 6px !important; }
.owr3-content blockquote p { margin: 0; }
.owr3-content em { color: var(--owr3-grau); }
/* "Hinweis:"-Blöcke als Infokarte */
.owr3-content > p:has(> strong:only-child) + p > em:only-child,
.owr3-content > p > em:only-child { color: var(--owr3-grau); font-style: italic; }

/* Trenner */
.owr3-content hr { border: 0; border-top: 1px solid var(--owr3-linie); margin: 2.6em 0 0; }

/* ---------- Tabellen ---------- */
.owr3-tabelle { margin-top: 1.6em; overflow-x: auto; border-radius: 16px; border: 1px solid var(--owr3-linie); }
.owr3-tabelle table { width: 100%; border-collapse: collapse; font-size: .98rem; }
.owr3-tabelle td, .owr3-tabelle th { padding: 14px 18px; text-align: left; border-bottom: 1px solid var(--owr3-linie); vertical-align: top; }
.owr3-tabelle tr:last-child td { border-bottom: 0; }
.owr3-tabelle tr:nth-child(even) td { background: #FAFBFC; }
.owr3-tabelle td:first-child { font-weight: 600; color: var(--owr3-navy); }
.owr3-tabelle a { color: var(--owr3-blau) !important; text-decoration: none; font-weight: 600; }
.owr3-tabelle a:hover { text-decoration: underline; }

/* ---------- Downloads ---------- */
.owr3-downloads { margin-top: 1.4em; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.owr3-download {
	display: flex; align-items: center; gap: 14px; padding: 16px 18px;
	border-radius: 16px; border: 1px solid var(--owr3-linie); background: #fff;
	text-decoration: none !important; color: var(--owr3-navy) !important; font-weight: 600;
	transition: border-color .2s, box-shadow .25s var(--owr3-ease), transform .25s var(--owr3-ease);
}
.owr3-download:hover { border-color: #C9D5E8; box-shadow: var(--owr3-schatten); transform: translateY(-2px); }
.owr3-download__icon { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px; background: #E8EEF7; color: var(--owr3-blau); display: flex; align-items: center; justify-content: center; }
.owr3-download__text { flex-grow: 1; line-height: 1.35; }
.owr3-download__meta { flex: 0 0 auto; font-size: .7rem; font-weight: 800; letter-spacing: .1em; color: var(--owr3-grau); }
.owr3-content p > .owr3-download { display: inline-flex; }

/* ---------- Personen-Karten (Funktionäre) ---------- */
.owr3-personen {
	margin-top: 1.8em;
	display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px;
}
.owr3-person {
	display: flex; flex-direction: column;
	background: #fff; border: 1px solid var(--owr3-linie); border-radius: var(--owr3-radius);
	overflow: hidden; box-shadow: var(--owr3-schatten);
	transition: transform .3s var(--owr3-ease), box-shadow .3s var(--owr3-ease), border-color .2s;
}
.owr3-person:hover { transform: translateY(-4px); box-shadow: var(--owr3-schatten-hover); border-color: #C9D5E8; }
.owr3-person__bild {
	position: relative; aspect-ratio: 3 / 4; overflow: hidden;
	background: linear-gradient(160deg, #E8EEF7 0%, #D6E1F2 100%);
	display: flex; align-items: center; justify-content: center;
}
.owr3-person__bild img {
	width: 100%; height: 100%; object-fit: cover; object-position: center 12%;
	border-radius: 0 !important; display: block; transition: transform .5s var(--owr3-ease);
}
.owr3-person:hover .owr3-person__bild img { transform: scale(1.04); }
.owr3-person__initialen {
	font-size: 2.6rem; font-weight: 800; letter-spacing: -.03em; color: rgba(14, 71, 143, .35);
}
.owr3-person__body { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 20px; flex-grow: 1; }
.owr3-person__pos {
	font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
	color: var(--owr3-akzent); line-height: 1.35;
}
.owr3-content .owr3-person .owr3-person__name,
.owr3-person__name {
	margin: 0 !important; font-size: 1.14rem !important; font-weight: 800 !important;
	line-height: 1.25 !important; letter-spacing: -.015em; color: var(--owr3-navy) !important;
}
.owr3-person__name::after { display: none !important; }
.owr3-person__kontakt { display: flex; flex-direction: column; gap: 6px; margin-top: auto; padding-top: 14px; }
.owr3-person__mail, .owr3-person__tel {
	display: inline-flex; align-items: center; gap: 9px; min-height: 36px;
	font-size: .84rem; font-weight: 600; text-decoration: none !important; color: var(--owr3-blau) !important;
	word-break: break-word; line-height: 1.35; transition: color .2s;
}
.owr3-person__mail svg, .owr3-person__tel svg { flex: 0 0 auto; opacity: .7; }
.owr3-person__mail:hover, .owr3-person__tel:hover { color: var(--owr3-akzent) !important; }
.owr3-person__tel { color: var(--owr3-grau) !important; font-weight: 500; }
.owr3-person__adresse { margin-top: 10px; font-size: .84rem; line-height: 1.5; color: var(--owr3-grau); }

/* ---------- Ausbildungs-Kacheln ---------- */
.owr3-kacheln { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important; gap: 18px !important; margin-top: 1.6em !important; }
.owr3-kacheln .ausbildung-box {
	display: flex !important; flex-direction: column-reverse !important; align-items: center !important; justify-content: flex-end !important;
	gap: 14px !important; padding: 22px 16px !important; margin: 0 !important; width: auto !important; min-height: 0 !important;
	background: #fff !important; border: 1px solid var(--owr3-linie) !important; border-radius: 18px !important;
	box-shadow: none !important; text-decoration: none !important;
	transition: transform .25s var(--owr3-ease), box-shadow .25s var(--owr3-ease), border-color .2s;
}
.owr3-kacheln .ausbildung-box:hover { transform: translateY(-4px); box-shadow: var(--owr3-schatten); border-color: #C9D5E8; }
.owr3-kacheln .ausbildung-box-bild { margin: 0 !important; padding: 0 !important; }
.owr3-kacheln .ausbildung-box-bild img { width: 96px !important; height: 96px !important; object-fit: contain; border-radius: 0 !important; }
.owr3-kacheln .ausbildung-box-text, .owr3-kacheln .ausbildung-box-text * {
	font-size: .98rem !important; font-weight: 700 !important; color: var(--owr3-navy) !important; text-align: center; line-height: 1.3 !important;
}

/* ---------- Akkordeon (FAQ, Baderegeln) ---------- */
.owr3-content .faq-item {
	margin: 0 0 12px 0 !important; border: 1px solid var(--owr3-linie) !important; border-radius: 16px !important;
	background: #fff !important; overflow: hidden; transition: box-shadow .25s var(--owr3-ease), border-color .2s;
}
.owr3-content .faq-item:hover { border-color: #C9D5E8; box-shadow: var(--owr3-schatten); }
.owr3-content .faq-header { padding: 6px 20px !important; gap: 16px; align-items: center !important; }
.owr3-content .faq-title, .owr3-content .faq-frage {
	font-size: 1.05rem !important; font-weight: 700 !important; color: var(--owr3-navy) !important;
	padding: 14px 0 !important; margin: 0 !important; line-height: 1.4 !important;
}
.owr3-content .faq-toggle-icon {
	flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; background: #E8EEF7;
	color: var(--owr3-blau) !important; font-size: 1.25rem !important; font-weight: 700 !important; min-width: 0 !important;
	display: flex; align-items: center; justify-content: center; line-height: 1; transition: background .2s, color .2s;
}
.owr3-content .faq-header:hover .faq-toggle-icon { background: var(--owr3-blau); color: #fff !important; }
.owr3-content .faq-content { background: transparent !important; padding: 0 20px 20px 20px !important; margin: 0 !important; color: var(--owr3-text); }
.owr3-content .faq-content p:first-child { margin-top: 0; }

/* ---------- Seiten-Navigation unten ---------- */
.owr3-pagenav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding-bottom: 72px; }
.owr3-pagenav__item {
	display: flex; flex-direction: column; gap: 6px; padding: 20px 24px;
	border-radius: 18px; border: 1px solid var(--owr3-linie); background: #fff;
	text-decoration: none !important; transition: border-color .2s, box-shadow .25s var(--owr3-ease), transform .25s var(--owr3-ease);
}
.owr3-pagenav__item:hover { border-color: #C9D5E8; box-shadow: var(--owr3-schatten); transform: translateY(-2px); }
.owr3-pagenav__item--next { text-align: right; }
.owr3-pagenav__label { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--owr3-akzent); }
.owr3-pagenav__titel { font-size: 1.05rem; font-weight: 700; color: var(--owr3-navy); line-height: 1.3; }

/* ---------- Abschluss-Band ---------- */
.owr3-cta { background: var(--owr3-navy); color: #fff; }
.owr3-cta__inner { width: min(1160px, 100% - 48px); display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 56px 0; }
.owr3-cta__text { display: flex; flex-direction: column; gap: 8px; }
.owr3-cta__label { font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.65); }
.owr3-cta__titel { margin: 0 !important; font-size: clamp(1.6rem, 2.6vw, 2.2rem) !important; font-weight: 800 !important; letter-spacing: -.03em; color: #fff !important; line-height: 1.1 !important; }
.owr3-cta__sub { margin: 0; font-size: 1.02rem; line-height: 1.55; color: rgba(255,255,255,.8); max-width: 52ch; }
.owr3-cta__buttons { display: flex; flex-wrap: wrap; gap: 12px; flex: 0 0 auto; }
.owr3-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 26px; border-radius: 999px; font-weight: 700; font-size: .98rem; text-decoration: none !important; transition: transform .2s var(--owr3-ease), filter .2s, background .2s, color .2s; }
.owr3-btn:hover { transform: translateY(-2px); }
.owr3-btn--accent { background: var(--owr3-akzent); color: #fff !important; }
.owr3-btn--accent:hover { filter: brightness(1.12); }
.owr3-btn--ghost { border: 1.5px solid rgba(255,255,255,.45); color: #fff !important; }
.owr3-btn--ghost:hover { background: #fff; color: var(--owr3-navy) !important; }

/* ---------- Mobil ---------- */
@media (max-width: 900px) {
	.owr3-cta__inner { flex-direction: column; align-items: flex-start; padding: 44px 0; }
	.owr3-pagenav { grid-template-columns: 1fr; }
	.owr3-pagenav__item--next { text-align: left; }
}
@media (max-width: 767px) {
	.owr3-wrap, .owr3-page .owr3-pagehead__inner, .owr3-page .owr3-subnav__inner, .owr3-cta__inner { width: calc(100% - 32px); }
	.owr3-pagehead { padding: 32px 0 28px; }
	.owr3-pagehead--bild { padding: 90px 0 32px; }
	.owr3-pagehead__title { max-width: none; }
	.owr3-pagehead__intro { font-size: 1.05rem; }
	.owr3-content { padding: 36px 0 48px; font-size: 1.04rem; }
	.owr3-subnav__inner { flex-direction: column; align-items: stretch; gap: 10px; }
	.owr3-subnav__up { border-right: 0; padding-right: 0; }
	.owr3-personen { grid-template-columns: repeat(auto-fill, minmax(155px, 1fr)); gap: 14px; }
	.owr3-person__body { padding: 14px 15px 16px; }
	.owr3-content .owr3-person .owr3-person__name, .owr3-person__name { font-size: 1rem !important; }
	.owr3-person__mail, .owr3-person__tel { font-size: .78rem; }
	.owr3-kacheln { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important; }
	.owr3-downloads { grid-template-columns: 1fr; }
}


/* ---------- Beitrag ---------- */
.owr3-beitrag__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: .84rem; font-weight: 600; color: var(--owr3-grau); }
.owr3-beitrag__kat {
	display: inline-flex; align-items: center; height: 28px; padding: 0 14px; border-radius: 999px;
	background: #E8EEF7; color: var(--owr3-blau); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
}
.owr3-pagehead--bild .owr3-beitrag__meta { color: rgba(255,255,255,.85); }
.owr3-pagehead--bild .owr3-beitrag__kat { background: rgba(255,255,255,.2); color: #fff; }
.owr3-beitrag .owr3-pagehead__title { max-width: 24ch; }
.owr3-beitrag__alle { padding-bottom: 72px; }
.owr3-btn--outline-dark { border: 1.5px solid var(--owr3-navy); color: var(--owr3-navy) !important; }
.owr3-btn--outline-dark:hover { background: var(--owr3-navy); color: #fff !important; }

/* ---------- Nachrichten-Übersicht ---------- */
.owr3-archiv { padding: 48px 0 72px; }
.owr3-news-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.owr3-news-grid .news-card {
	display: flex; flex-direction: column; height: 100%; background: #fff;
	border: 1px solid var(--owr3-linie); border-radius: var(--owr3-radius); overflow: hidden;
	box-shadow: var(--owr3-schatten); text-decoration: none !important; color: inherit;
	transition: transform .3s var(--owr3-ease), box-shadow .3s var(--owr3-ease), border-color .2s;
}
.owr3-news-grid .news-card:hover { transform: translateY(-5px); box-shadow: var(--owr3-schatten-hover); border-color: #C9D5E8; }
.owr3-news-grid .news-card__image { aspect-ratio: 3 / 2; overflow: hidden; }
.owr3-news-grid .news-card__image img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; transition: transform .6s var(--owr3-ease); }
.owr3-news-grid .news-card:hover .news-card__image img { transform: scale(1.05); }
.owr3-news-grid .news-card__content { display: flex; flex-direction: column; gap: 10px; padding: 22px 22px 6px; flex-grow: 1; }
.owr3-news-grid .news-card__title { margin: 0 !important; font-size: 1.16rem !important; font-weight: 800 !important; line-height: 1.3 !important; color: var(--owr3-navy) !important; letter-spacing: -.015em; }
.owr3-news-grid .news-card__title::after { display: none !important; }
.owr3-news-grid .news-card__excerpt { font-size: .96rem; line-height: 1.55; color: var(--owr3-grau) !important; }
.owr3-news-grid .news-card__excerpt p { margin: 0; }
.owr3-news-grid .news-card__readmore { font-size: .88rem; font-weight: 700; color: var(--owr3-blau) !important; margin-top: auto; }
.owr3-news-grid .news-card__meta { padding: 12px 22px 20px; }
.owr3-news-grid .news-card__date { font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9AA1AF !important; }

.owr3-pagination { margin-top: 40px; }
.owr3-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.owr3-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 14px;
	border-radius: 999px; background: var(--owr3-hell); color: var(--owr3-navy) !important;
	font-weight: 700; font-size: .95rem; text-decoration: none !important; transition: background .2s, color .2s;
}
.owr3-pagination .page-numbers:hover { background: #E8EEF7; color: var(--owr3-blau) !important; }
.owr3-pagination .page-numbers.current { background: var(--owr3-navy); color: #fff !important; }
.owr3-leer { padding: 40px 0; color: var(--owr3-grau); font-size: 1.05rem; }

/* ---------- Kurs-Detail ---------- */
.owr3-kursinfo {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 2px;
	background: var(--owr3-linie); border: 1px solid var(--owr3-linie); border-radius: 18px; overflow: hidden;
	margin-bottom: 2em;
}
.owr3-kursinfo__item { display: flex; flex-direction: column; gap: 6px; padding: 20px 22px; background: #fff; }
.owr3-kursinfo__label { font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--owr3-akzent); }
.owr3-kursinfo__wert { font-size: 1.02rem; font-weight: 600; color: var(--owr3-navy); line-height: 1.4; }
.owr3-kurs-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 2.4em; }

@media (max-width: 767px) {
	.owr3-wrap--breit { width: calc(100% - 32px); }
	.owr3-news-grid { grid-template-columns: 1fr; gap: 18px; }
	.owr3-archiv { padding: 32px 0 48px; }
}


/* ---------- Kompakte Infokarten (Kontaktdaten o. Ä.) ---------- */
.owr3-infokarten { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; margin-top: 1.8em; }
.owr3-infokarte { display: flex; flex-direction: column; gap: 6px; padding: 20px 22px; border-radius: 16px; border: 1px solid var(--owr3-linie); background: #fff; }
.owr3-infokarte__label { font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--owr3-akzent); }
.owr3-infokarte__wert { font-size: 1.05rem; font-weight: 700; color: var(--owr3-navy); line-height: 1.4; word-break: break-word; }
.owr3-infokarte__wert a { color: var(--owr3-blau) !important; text-decoration: none; }
.owr3-infokarte__wert a:hover { color: var(--owr3-akzent) !important; text-decoration: underline; }

/* ---------- Notfall-Seite ---------- */
.owr-notfall {
	display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 32px; align-items: center;
	margin-bottom: 2.4em; padding: 32px; border-radius: 24px;
	background: linear-gradient(135deg, #FFF4F5 0%, #FDEBEE 100%); border: 1px solid #F7CED5;
}
.owr-notfall__nummer {
	display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 28px 24px;
	border-radius: 20px; background: #C8102E; color: #fff !important; text-decoration: none !important;
	box-shadow: 0 18px 40px -18px rgba(200, 16, 46, .8);
	transition: transform .25s var(--owr3-ease), filter .2s;
}
.owr-notfall__nummer:hover { transform: translateY(-3px); filter: brightness(1.08); }
.owr-notfall__label { font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.9); text-align: center; }
.owr-notfall__zahl { font-size: 5rem; font-weight: 800; line-height: 1; letter-spacing: -.04em; color: #fff; }
.owr-notfall__sub { font-size: .88rem; color: rgba(255,255,255,.9); text-align: center; line-height: 1.4; }
.owr-notfall__intro { display: flex; flex-direction: column; gap: 14px; font-size: 1.08rem; line-height: 1.65; color: var(--owr3-text); }
.owr-notfall__intro p { margin: 0 !important; }
.owr-notfall__intro strong { color: var(--owr3-navy); }

.owr-notrufe { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; margin-top: 1.6em; }
.owr-notruf {
	display: flex; align-items: center; gap: 16px; padding: 18px 20px; border-radius: 16px;
	border: 1px solid var(--owr3-linie); background: #fff; text-decoration: none !important;
	transition: border-color .2s, box-shadow .25s var(--owr3-ease), transform .25s var(--owr3-ease);
}
.owr-notruf:hover { border-color: #F0C4CB; box-shadow: var(--owr3-schatten); transform: translateY(-2px); }
.owr-notruf__zahl { flex: 0 0 auto; font-size: 1.85rem; font-weight: 800; letter-spacing: -.03em; color: #C8102E; line-height: 1; min-width: 62px; }
.owr-notruf__text { font-size: .95rem; font-weight: 700; color: var(--owr3-navy); line-height: 1.35; }
.owr-notruf__text small { font-size: .8rem; font-weight: 500; color: var(--owr3-grau); }

@media (max-width: 767px) {
	.owr-notfall { grid-template-columns: 1fr; gap: 24px; padding: 22px; }
	.owr-notfall__zahl { font-size: 4rem; }
	.owr-notrufe { grid-template-columns: 1fr; }
}

/* =====================================================================
   Veranstaltungen aus SYBOS (.owr-vt = Terminzeile, .owr-vd = Detail)
   ===================================================================== */
.owr-veranstaltungen { margin: 32px 0; }
.owr-vt-liste { display: flex; flex-direction: column; gap: 12px; }

.owr-vt {
	display: flex; align-items: center; gap: 20px;
	padding: 16px 20px; border-radius: 16px;
	background: #fff; box-shadow: inset 0 0 0 1px rgba(13,42,80,.1), 0 10px 26px -20px rgba(13,42,80,.5);
	text-decoration: none !important; color: inherit !important;
	transition: transform .18s ease-out, box-shadow .18s ease-out;
}
@media (hover: hover) {
	.owr-vt:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1px rgba(13,42,80,.18), 0 16px 32px -20px rgba(13,42,80,.6); }
	.owr-vt:hover .owr-vt__pfeil { transform: translateX(3px); }
}
.owr-vt:focus-visible { outline: 3px solid var(--owr3-blau); outline-offset: 3px; }

/* Datumsblock links – wie ein Kalenderblatt */
.owr-vt__datum {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	flex: 0 0 auto; width: 64px; padding: 8px 0; border-radius: 12px;
	background: var(--owr3-navy); color: #fff; line-height: 1;
}
.owr-vt__tag   { font-size: 1.5rem; font-weight: 800; letter-spacing: -.02em; }
.owr-vt__monat { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; margin-top: 3px; }
.owr-vt__jahr  { font-size: .66rem; font-weight: 600; opacity: .7; margin-top: 3px; }

.owr-vt__inhalt { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 auto; }
.owr-vt__titel  { font-size: 1.05rem; font-weight: 700; color: var(--owr3-navy); line-height: 1.3; }
.owr-vt__meta   { font-size: .875rem; color: #5A6478; }

.owr-vt__rechts  { display: flex; align-items: center; gap: 14px; flex: 0 0 auto; }
.owr-vt__plaetze {
	font-size: .8rem; font-weight: 700; padding: 5px 11px; border-radius: 999px;
	background: #E7F3EA; color: #1E6B38; white-space: nowrap;
}
.owr-vt__plaetze--voll { background: #F6E7EA; color: #A5203A; }
.owr-vt__pfeil { color: var(--owr3-blau); font-size: 1.15rem; transition: transform .18s ease-out; }
.owr-vt--voll  { opacity: .72; }

@media (max-width: 640px) {
	.owr-vt { flex-wrap: wrap; gap: 14px; padding: 14px 16px; }
	.owr-vt__datum { width: 54px; }
	.owr-vt__inhalt { flex-basis: calc(100% - 68px); }
	.owr-vt__rechts { width: 100%; justify-content: space-between; }
}

/* Marken in der Terminzeile: Einsatzstelle und Kursbeitrag */
.owr-vt__marken { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.owr-vt__marke {
	font-size: .72rem; font-weight: 700; letter-spacing: .02em;
	padding: 3px 9px; border-radius: 999px;
	background: #EEF2F8; color: #41597F;
}
.owr-vt__marke--es { background: #E8EEF9; color: var(--owr3-blau); }

/* ---------- Detailansicht ---------- */
.owr-vd__zurueck {
	display: inline-block; margin-bottom: 22px; font-weight: 600;
	color: var(--owr3-blau) !important; text-decoration: none !important;
}
.owr-vd__zurueck:hover { text-decoration: underline !important; }

.owr-vd__kopf { margin-bottom: 28px; }
.owr-vd__marken { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 10px; }
.owr-vd__art { font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--owr3-akzent); }
.owr-vd__es {
	font-size: .72rem; font-weight: 700; padding: 3px 10px; border-radius: 999px;
	background: #E8EEF9; color: var(--owr3-blau);
}
.owr3-content .owr-vd__titel, .owr-vd__titel {
	margin: 0 !important; font-size: clamp(1.7rem, 3vw, 2.4rem) !important;
	line-height: 1.15 !important; color: var(--owr3-navy) !important;
}
.owr3-content .owr-vd__titel::after { display: none; }
.owr-vd__untertitel { margin: 10px 0 0; color: #5A6478; font-size: 1.05rem; }

/* Eckdaten: eine ruhige Definitionsliste statt einer Kachelwand */
.owr-vd__eckdaten {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 0; margin: 0 0 26px !important; padding: 4px 0;
	border-top: 1px solid var(--owr3-linie); border-bottom: 1px solid var(--owr3-linie);
}
.owr-vd__eck { padding: 18px 22px 18px 0; }
.owr-vd__eck dt {
	font-size: .68rem; font-weight: 800; letter-spacing: .12em;
	text-transform: uppercase; color: var(--owr3-akzent); margin-bottom: 6px;
}
.owr-vd__eck dd { margin: 0; }
.owr-vd__wert { display: block; font-size: 1.05rem; font-weight: 700; color: var(--owr3-navy); line-height: 1.35; }
.owr-vd__zusatz { display: block; margin-top: 3px; font-size: .875rem; color: #5A6478; line-height: 1.45; }

/* Anmeldung: der eine Knopf, um den es geht */
.owr-vd__anmeldung {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 18px; margin: 0 0 32px; padding: 20px 24px; border-radius: 16px;
	background: #F0F5EF; border: 1px solid #CFE0CC;
}
.owr-vd__anmeldung--zu { background: #F4F6FA; border-color: #DDE6F3; }
.owr-vd__anmeldung-text { display: flex; flex-direction: column; gap: 3px; }
.owr-vd__anmeldung-text strong { font-size: 1.05rem; color: var(--owr3-navy); }
.owr-vd__anmeldung-text span { font-size: .9rem; color: #5A6478; }

/* Beschreibung */
.owr-vd__beschreibung > h3:first-child { margin-top: 0 !important; }
.owr-vd__fuss { margin-top: 28px !important; font-size: .9rem; color: #5A6478; }

@media (max-width: 640px) {
	.owr-vd__eckdaten { grid-template-columns: 1fr; }
	.owr-vd__eck { padding: 14px 0; border-bottom: 1px solid var(--owr3-linie); }
	.owr-vd__eck:last-child { border-bottom: 0; }
	.owr-vd__anmeldung { flex-direction: column; align-items: stretch; }
	.owr-vd__anmeldung .owr3-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.owr-vt, .owr-vt__pfeil { transition: none; }
	.owr-vt:hover { transform: none; }
}
.owr-vd__art { font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--owr3-akzent); }
.owr-veranstaltungen .owr3-hinweis { margin: 0; padding: 22px 26px; border-radius: 16px; background: #F4F7FC; border: 1px solid #DDE6F3; display: block; }
.owr-veranstaltungen .owr3-hinweis p { margin: 0 !important; font-size: 1rem; line-height: 1.6; color: var(--owr3-text); }
/* Lange Dienstadressen sollen nur umbrechen, wenn es nicht anders geht –
   break-word zerlegt sonst mitten im Wort („wasserrettun g.at"). */
.owr3-person__mail span { overflow-wrap: anywhere; word-break: normal; hyphens: none; }
.owr3-person__kontakt a { align-items: flex-start; }

/* Einzeltermine eines Kurses (Stundenplan aus SYBOS) */
.owr-vd__ablauf { margin-bottom: 32px; }
.owr-vd__ablauf h3 { margin-top: 0 !important; }
.owr3-content ol.owr-vt-plan,
ol.owr-vt-plan { list-style: none !important; margin: 0 !important; padding: 0 !important; counter-reset: none; display: flex; flex-direction: column; gap: 0; }
.owr3-content ol.owr-vt-plan > li::before { display: none !important; }
.owr-vt-plan__zeile {
	display: flex; gap: 22px; align-items: baseline;
	padding: 14px 0 !important; margin: 0 !important;
	border-bottom: 1px solid var(--owr3-linie);
}
.owr-vt-plan__zeile:first-child { border-top: 1px solid var(--owr3-linie); }
.owr-vt-plan__wann { flex: 0 0 210px; display: flex; flex-direction: column; gap: 2px; }
.owr-vt-plan__wann strong { color: var(--owr3-navy); font-weight: 700; }
.owr-vt-plan__wann span { font-size: .875rem; color: #5A6478; }
.owr-vt-plan__was { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.owr-vt-plan__titel { font-weight: 600; color: var(--owr3-text); }
.owr-vt-plan__meta { font-size: .875rem; color: #5A6478; }

@media (max-width: 640px) {
	.owr-vt-plan__zeile { flex-direction: column; gap: 4px; }
	.owr-vt-plan__wann { flex-basis: auto; }
}

/* ---------------------------------------------------------------------
 * Geteilter Facebook-Beitrag (Platzhalter + Einbettung)
 * ------------------------------------------------------------------- */
.owr-fb-post {
	margin: 2.25rem 0;
	padding: 0;
	border: 1px solid #e3e6ec;
	border-radius: 14px;
	background: #f7f8fa;
	overflow: hidden;
}
.owr-fb-post__marke {
	margin: 0;
	padding: .65rem 1.1rem;
	border-bottom: 1px solid #e3e6ec;
	background: #fff;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #6b7383;
	text-align: left;
}
.owr-fb-post__box { padding: 1.4rem 1.1rem 1.5rem; text-align: center; }
.owr-fb-post__text {
	margin: 0 auto .95rem;
	max-width: 34rem;
	font-size: .95rem;
	line-height: 1.5;
	color: #5a6170;
}
.owr-fb-post__aktion {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem 1.2rem;
	align-items: center;
	justify-content: center;
	margin: 0;
}
/* Hohe Spezifität mit Absicht: modern.css wird nach dieser Datei geladen
   und faerbt sonst jeden Knopf im Inhaltsbereich um. */
.owr-fb-post .owr-fb-post__laden,
.owr-fb-post button.owr-fb-post__laden {
	appearance: none;
	border: 0 !important;
	border-radius: 10px !important;
	padding: .7rem 1.35rem !important;
	background: #0E478F !important;
	color: #fff !important;
	font: inherit;
	font-weight: 600;
	font-size: .95rem;
	line-height: 1.2;
	cursor: pointer;
	box-shadow: none !important;
	transition: background .15s ease;
}
.owr-fb-post .owr-fb-post__laden:hover,
.owr-fb-post .owr-fb-post__laden:focus-visible { background: #0D2A50 !important; }
.owr-fb-post__extern { font-size: .9rem; color: #0E478F; text-decoration: underline; }

/* Nach dem Klick trägt die Einbettung ihren eigenen Rahmen. */
.owr-fb-post.ist-geladen { background: #fff; padding: 0 0 .25rem; }
.owr-fb-post .fb-post { display: block; margin: 0 auto; max-width: 100%; }
.owr-fb-post .fb-post span,
.owr-fb-post .fb-post iframe { max-width: 100% !important; }

/* ---------------------------------------------------------------------
 * Impressum und Datenschutz
 * ------------------------------------------------------------------- */
.owr-recht__liste { margin: 0 0 2.4rem; padding: 0; }
.owr-recht__zeile {
	display: grid;
	grid-template-columns: minmax(11rem, 17rem) 1fr;
	gap: .4rem 1.6rem;
	padding: .8rem 0;
	border-bottom: 1px solid #e6e9ef;
}
.owr-recht__zeile:first-child { border-top: 1px solid #e6e9ef; }
.owr-recht__zeile dt { margin: 0; font-weight: 600; color: #0D2A50; }
.owr-recht__zeile dd { margin: 0; color: #414756; }
.owr-recht h2 { margin-top: 2.4rem; }
.owr-recht__warnung {
	margin: 0 0 1.6rem;
	padding: .9rem 1.1rem;
	border-left: 4px solid #A53A57;
	border-radius: 0 8px 8px 0;
	background: #fdf2f4;
	font-size: .95rem;
	color: #6b2233;
}
@media (max-width: 640px) {
	.owr-recht__zeile { grid-template-columns: 1fr; gap: .15rem; padding: .7rem 0; }
}

/* =========================================================================
 * ÖWR-Vorlagen und Kernbausteine aus dem Editor
 *
 * Gegenstück zu editor.css: was dort im Editor zu sehen ist, sieht hier
 * auf der Website genauso aus. Die Klassen `owr-hinweis`, `owr-kasten`
 * und `owr-zweitknopf` kommen aus den Vorlagen in inc/vorlagen.php.
 * ========================================================================= */

/* Leere Absätze aus nicht ausgefüllten Vorlagen erzeugen keine Lücke. */
.owr3-content > p:empty { display: none; }

/* Hinweis-Box */
.owr3-content .wp-block-group.owr-hinweis {
	position: relative; margin-top: 1.6em; padding: 20px 24px 20px 78px; border-radius: 16px;
	background: #F4F7FC; border: 1px solid #DDE6F3; font-size: .98rem; line-height: 1.6;
}
.owr3-content .wp-block-group.owr-hinweis::before {
	content: ""; position: absolute; left: 22px; top: 18px; width: 38px; height: 38px; border-radius: 50%;
	background: #E1EAF7 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E478F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M12 16v-4M12 8h.01'/></svg>") center / 20px no-repeat;
}
.owr3-content .wp-block-group.owr-hinweis > * { margin: 0; }
.owr3-content .wp-block-group.owr-hinweis > * + * { margin-top: .6em; }
.owr3-content .wp-block-group.owr-hinweis strong { font-weight: 800; }
@media (max-width: 600px) {
	.owr3-content .wp-block-group.owr-hinweis { padding: 64px 20px 18px; }
	.owr3-content .wp-block-group.owr-hinweis::before { left: 20px; top: 16px; }
}

/* Hervorgehobener Kasten */
.owr3-content .wp-block-group.owr-kasten {
	margin-top: 2em; padding: 28px 30px; border-radius: 20px; background: #EEF3FA; border: 1px solid #DDE6F3;
}
.owr3-content .wp-block-group.owr-kasten > * { margin: 0; }
.owr3-content .wp-block-group.owr-kasten > * + * { margin-top: .9em; }
.owr3-content .wp-block-group.owr-kasten > h3:first-child { margin-top: 0 !important; }
.owr3-content .wp-block-group.owr-kasten .wp-block-buttons { margin-top: 1.2em; }

/* Aufklappbare Fragen */
.owr3-content .wp-block-details {
	border: 1px solid var(--owr3-linie); border-radius: 14px; background: #fff; overflow: hidden;
	transition: box-shadow .25s var(--owr3-ease);
}
.owr3-content .wp-block-details + .wp-block-details { margin-top: 10px; }
.owr3-content .wp-block-details[open] { box-shadow: var(--owr3-schatten); }
.owr3-content .wp-block-details summary {
	padding: 16px 56px 16px 20px; font-weight: 700; color: var(--owr3-navy); cursor: pointer;
	list-style: none; position: relative;
}
.owr3-content .wp-block-details summary::-webkit-details-marker { display: none; }
.owr3-content .wp-block-details summary::after {
	content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%);
	width: 28px; height: 28px; border-radius: 50%; background: #E8EEF7; color: var(--owr3-blau);
	display: flex; align-items: center; justify-content: center; font-weight: 800; line-height: 1;
}
.owr3-content .wp-block-details[open] summary::after { content: "–"; }
.owr3-content .wp-block-details summary:focus-visible { outline: 2px solid var(--owr3-blau); outline-offset: -2px; border-radius: 14px; }
.owr3-content .wp-block-details > :not(summary) { padding: 0 20px 18px; margin: 0; }

/* Tabelle */
.owr3-content .wp-block-table { margin-top: 1.6em; overflow-x: auto; border-radius: 16px; border: 1px solid var(--owr3-linie); }
.owr3-content .wp-block-table table { width: 100%; border-collapse: collapse; font-size: .98rem; }
.owr3-content .wp-block-table th, .owr3-content .wp-block-table td {
	padding: 14px 18px; text-align: left; border: 0; border-bottom: 1px solid var(--owr3-linie); vertical-align: top;
}
.owr3-content .wp-block-table thead { border: 0; }
.owr3-content .wp-block-table thead th { background: var(--owr3-navy); color: #fff; font-weight: 700; }
.owr3-content .wp-block-table tbody tr:last-child td { border-bottom: 0; }
.owr3-content .wp-block-table tbody tr:nth-child(even) td { background: #FAFBFC; }
.owr3-content .wp-block-table td:first-child { font-weight: 600; color: var(--owr3-navy); }
.owr3-content .wp-block-table figcaption { padding: 10px 18px; }

/* Knöpfe – wie die Knöpfe im Band „Wir helfen dir weiter" */
.owr3-content .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.6em; }
.owr3-content .wp-block-button .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 26px;
	border-radius: 999px; border: 0; background: var(--owr3-akzent); color: #fff !important;
	font-weight: 700; font-size: .98rem; text-decoration: none !important;
	transition: transform .2s var(--owr3-ease), filter .2s;
}
.owr3-content .wp-block-button .wp-block-button__link:hover { transform: translateY(-2px); filter: brightness(1.12); }
.owr3-content .wp-block-button.owr-zweitknopf .wp-block-button__link {
	background: #fff; color: var(--owr3-navy) !important; border: 1.5px solid var(--owr3-navy);
}
.owr3-content .wp-block-button.owr-zweitknopf .wp-block-button__link:hover { background: var(--owr3-navy); color: #fff !important; filter: none; }

/* Bild und Text */
.owr3-content .wp-block-media-text { margin-top: 2em; gap: 32px; align-items: center; }
.owr3-content .wp-block-media-text .wp-block-media-text__content { padding: 0; }
.owr3-content .wp-block-media-text .wp-block-media-text__content > * { margin: 0; }
.owr3-content .wp-block-media-text .wp-block-media-text__content > * + * { margin-top: .9em; }
.owr3-content .wp-block-media-text .wp-block-media-text__content > h3:first-child { margin-top: 0 !important; }
.owr3-content .wp-block-media-text__media img { border-radius: var(--owr3-radius); }
@media (max-width: 600px) {
	.owr3-content .wp-block-media-text.is-stacked-on-mobile { gap: 18px; }
}

/* Spalten */
.owr3-content .wp-block-columns { margin-top: 2em; gap: 28px; }
.owr3-content .wp-block-column > * { margin: 0; }
.owr3-content .wp-block-column > * + * { margin-top: .9em; }
.owr3-content .wp-block-column > h3:first-child { margin-top: 0 !important; }

/* Trenner */
.owr3-content .wp-block-separator { border: 0; border-top: 1px solid var(--owr3-linie); margin: 2.6em 0 0; opacity: 1; }

/* Datei – normalerweise macht inc/seiten.php daraus eine Download-Karte,
   das hier greift nur, falls der Umbau einmal nicht passt. */
.owr3-content .wp-block-file {
	display: flex; align-items: center; gap: 14px; padding: 16px 18px;
	border: 1px solid var(--owr3-linie); border-radius: 16px; background: #fff;
}

/* Listen direkt nach einem Absatz oder einer Überschrift bekamen durch die
   Listenregel oben `margin: 0` und klebten am Text darüber. Im Editor
   stehen sie mit Abstand – hier jetzt auch. */
.owr3-content > * + :is(ul, ol):not([role="list"]):not(.menu) { margin-top: .9em !important; }

/* ---------- Kacheln aus Bausteinen (Gruppe „owr-kacheln" mit Bildern) ----------
   Gleiches Aussehen wie die alten Ausbildungs-Kacheln, aber im Editor
   bearbeitbar: Bild tauschen, Beschriftung tippen, Link setzen. Die ganze
   Karte ist klickbar (der Link des Bildes wird über die Karte gezogen). */
.owr3-content .owr-kacheln, .owr3-content .owr-kacheln > .wp-block-group__inner-container {
	display: grid !important; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important; gap: 18px !important; margin-top: 1.6em !important;
}
.owr3-content .owr-kacheln > .wp-block-group__inner-container { margin: 0 !important; }
.owr3-content .owr-kacheln .wp-block-image {
	position: relative; display: flex !important; flex-direction: column; align-items: center; gap: 14px;
	margin: 0 !important; padding: 22px 16px !important; background: #fff; border: 1px solid var(--owr3-linie); border-radius: 18px;
	transition: transform .25s var(--owr3-ease), box-shadow .25s var(--owr3-ease), border-color .2s;
}
.owr3-content .owr-kacheln .wp-block-image:hover { transform: translateY(-4px); box-shadow: var(--owr3-schatten); border-color: #C9D5E8; }
.owr3-content .owr-kacheln .wp-block-image img {
	width: 96px !important; height: 96px !important; max-width: none !important; object-fit: contain; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important;
}
.owr3-content .owr-kacheln .wp-block-image a::after { content: ""; position: absolute; inset: 0; border-radius: 18px; }
.owr3-content .owr-kacheln .wp-block-image figcaption {
	font-style: normal !important;
	margin: 0 !important; font-size: .98rem !important; font-weight: 700 !important; color: var(--owr3-navy) !important; text-align: center; line-height: 1.3 !important;
	overflow-wrap: anywhere; hyphens: auto;
}
.owr3-content h2 + .owr-kacheln, .owr3-content h3 + .owr-kacheln { margin-top: 1em !important; }

/* =====================================================================
 * Kontaktseite (Baustein „Kontaktdaten", inc/kontakt.php)
 * ================================================================== */
.owr-k { display: grid; gap: 22px; margin-top: 0 !important; }
.owr-k .owr-k__i { flex: none; }
.owr-k__oben { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: 22px; }

.owr-k__haupt {
	position: relative; overflow: hidden; padding: 38px 40px 36px; border-radius: 24px; color: #fff;
	background: radial-gradient(120% 140% at 100% 0%, #1B5CA8 0%, var(--owr3-blau) 38%, var(--owr3-navy) 100%);
	box-shadow: var(--owr3-schatten);
}
.owr-k__haupt::after {
	content: ""; position: absolute; right: -60px; bottom: -80px; width: 280px; height: 280px; border-radius: 50%;
	border: 42px solid rgba(255, 255, 255, .06); pointer-events: none;
}
.owr-k__marke { font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .72); display: flex; align-items: center; gap: 10px; }
.owr-k__marke::before { content: ""; width: 26px; height: 2px; background: currentColor; }
.owr-k__marke--dunkel { color: var(--owr3-akzent); }
.owr3-content .owr-k .owr-k__name { margin: 12px 0 0 !important; font-size: clamp(1.6rem, 3vw, 2.15rem) !important; line-height: 1.15 !important; color: #fff !important; font-weight: 800 !important; }
.owr3-content .owr-k h2::after, .owr3-content .owr-k h3::after { display: none !important; }
.owr-k__adresse { display: flex; gap: 12px; align-items: flex-start; margin: 20px 0 0 !important; font-size: 1.08rem; line-height: 1.55; color: rgba(255, 255, 255, .92); }
.owr-k__adresse .owr-k__i { margin-top: 3px; opacity: .8; }
.owr-k__knoepfe { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; position: relative; z-index: 1; }
.owr3-content .owr-k__knopf {
	display: inline-flex; align-items: center; gap: 9px; padding: 12px 20px; border-radius: 999px; font-weight: 700; font-size: .95rem;
	color: #fff !important; text-decoration: none !important; border: 1.5px solid rgba(255, 255, 255, .45);
	transition: background .2s var(--owr3-ease), transform .2s var(--owr3-ease), border-color .2s;
}
.owr3-content .owr-k__knopf .owr-k__i { width: 18px; height: 18px; }
.owr3-content .owr-k__knopf:hover { background: rgba(255, 255, 255, .12); border-color: #fff; transform: translateY(-1px); }
.owr3-content .owr-k__knopf--voll { background: #fff; color: var(--owr3-navy) !important; border-color: #fff; }
.owr3-content .owr-k__knopf--voll:hover { background: #fff; color: var(--owr3-akzent) !important; }

.owr3-content .owr-k__notruf {
	display: flex; flex-direction: column; justify-content: center; padding: 32px 30px; border-radius: 24px; text-decoration: none !important;
	color: #fff !important; background: linear-gradient(160deg, #C2415F 0%, var(--owr3-akzent) 55%, #7E2A42 100%);
	box-shadow: 0 18px 40px -22px rgba(165, 58, 87, .8); transition: transform .25s var(--owr3-ease), box-shadow .25s;
}
.owr3-content .owr-k__notruf:hover { transform: translateY(-3px); box-shadow: 0 26px 50px -24px rgba(165, 58, 87, .9); }
.owr-k__notruf-label { font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.owr-k__notruf-zahl { font-size: clamp(3.4rem, 7vw, 4.6rem); font-weight: 900; line-height: 1; letter-spacing: -.02em; margin: 8px 0 10px; }
.owr-k__notruf-text { font-size: .98rem; line-height: 1.5; opacity: .92; }
.owr-k__notruf-knopf { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; align-self: flex-start; padding: 9px 16px; border-radius: 999px; background: rgba(255, 255, 255, .16); font-weight: 700; font-size: .9rem; }
.owr-k__notruf-knopf .owr-k__i { width: 16px; height: 16px; }

.owr-k__karten { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; }
.owr-k__karte {
	padding: 22px 22px 20px; border-radius: 20px; background: #fff; border: 1px solid var(--owr3-linie);
	box-shadow: 0 1px 2px rgba(13, 42, 80, .04); transition: box-shadow .25s var(--owr3-ease), transform .25s var(--owr3-ease);
}
.owr-k__karte:hover { box-shadow: var(--owr3-schatten); transform: translateY(-2px); }
.owr-k__kopf { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.owr-k__symbol { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #EAF1FA; color: var(--owr3-blau); }
.owr3-content .owr-k .owr-k__kopf h3 { margin: 0 !important; font-size: 1.02rem !important; }
.owr-k__liste { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 12px; }
.owr-k__liste li { display: flex; flex-direction: column; gap: 2px; margin: 0 !important; padding: 0 !important; }
.owr-k__liste li::before { display: none !important; }
.owr-k__klein { font-size: .8rem; color: var(--owr3-grau); line-height: 1.35; }
.owr3-content .owr-k__liste a { font-weight: 700; font-size: 1.02rem; color: var(--owr3-navy) !important; text-decoration: none !important; word-break: break-word; line-height: 1.35; }
.owr3-content .owr-k__liste a:hover { color: var(--owr3-akzent) !important; }
.owr-k__social { display: flex; flex-direction: column; gap: 8px; }
.owr3-content .owr-k__social a { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 12px; background: var(--owr3-hell); font-weight: 700; font-size: .95rem; color: var(--owr3-navy) !important; text-decoration: none !important; transition: background .2s, color .2s; }
.owr3-content .owr-k__social a:hover { background: #EAF1FA; color: var(--owr3-blau) !important; }
.owr-k__daten { margin: 0 !important; display: grid; gap: 10px; }
.owr-k__daten div { display: grid; gap: 1px; }
.owr-k__daten dt { font-size: .8rem; color: var(--owr3-grau); font-weight: 400; }
.owr-k__daten dd { margin: 0; font-weight: 700; color: var(--owr3-navy); font-size: .98rem; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.owr-k__iban { font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.owr-k__kopie { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--owr3-linie); background: #fff; color: var(--owr3-blau); font: inherit; font-size: .75rem; font-weight: 700; cursor: pointer; }
.owr-k__kopie .owr-k__i { width: 13px; height: 13px; }
.owr-k__kopie:hover { border-color: var(--owr3-blau); }
.owr-k__kopie.is-ok { background: #E7F6EE; border-color: #2E8B57; color: #1F6B42; }

.owr-k__leute { margin-top: 26px; }
.owr-k__leute-kopf { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.owr3-content .owr-k .owr-k__leute h2 { margin: 8px 0 0 !important; }
.owr3-content .owr-k__mehr { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--owr3-blau) !important; text-decoration: none !important; }
.owr-k__mehr .owr-k__i { width: 16px; height: 16px; transition: transform .2s; }
.owr-k__mehr:hover .owr-k__i { transform: translateX(3px); }
.owr-k__leute .owr3-personen { margin-top: 18px; }

.owr-k__hinweis { margin-top: 6px !important; padding: 16px 20px; border-radius: 16px; background: var(--owr3-hell); font-size: .95rem; line-height: 1.6; color: var(--owr3-text); }

@media (max-width: 820px) {
	.owr-k__oben { grid-template-columns: 1fr; }
	.owr-k__haupt { padding: 28px 24px; }
	.owr-k__notruf { padding: 24px; }
}
@media (max-width: 480px) {
	.owr3-content .owr-k__knopf { flex: 1 1 100%; justify-content: center; }
}
.owr3-content .owr-k .owr-k__kopie { display: inline-flex !important; flex-direction: row !important; align-items: center; gap: 5px; width: auto !important; min-height: 0 !important; margin: 0 !important; padding: 4px 11px !important; border-radius: 999px !important; border: 1px solid var(--owr3-linie) !important; background: #fff !important; color: var(--owr3-blau) !important; font-size: .75rem !important; line-height: 1.2 !important; box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; }
.owr3-content .owr-k .owr-k__kopie:hover { border-color: var(--owr3-blau) !important; }
.owr3-content .owr-k .owr-k__kopie.is-ok { background: #E7F6EE !important; border-color: #2E8B57 !important; color: #1F6B42 !important; }
.owr-k__leute .owr3-personen { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.owr-k__leute .owr3-person__bild { aspect-ratio: 16 / 11 !important; height: auto !important; }
.owr3-content .owr-k__hinweis { max-width: none !important; }
.owr-k__leute .owr3-person__bild img { object-position: center 22%; }
@media (max-width: 600px) {
	.owr-k__leute .owr3-personen { grid-template-columns: 1fr; gap: 12px; }
	.owr-k__leute .owr3-person { display: grid !important; grid-template-columns: 92px minmax(0, 1fr); align-items: stretch; }
	.owr-k__leute .owr3-person__bild { aspect-ratio: auto !important; height: 100% !important; min-height: 110px; }
	.owr-k__leute .owr3-person__initialen { font-size: 1.6rem !important; }
	.owr-k__leute .owr3-person__body { padding: 12px 14px !important; }
}

/* Übernommene Knöpfe aus alten Seiten (Kadence „Advanced Button"): wie unsere Knöpfe aussehen lassen. */
.kb-buttons-wrap { display: flex; flex-wrap: wrap; gap: 10px; margin: 1.4em 0; }
a.kb-button, .owr3-content a.kb-button {
	display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 999px;
	background: var(--owr3-akzent, #A53A57); color: #fff !important; font-weight: 700; text-decoration: none !important;
	transition: background .2s, transform .2s;
}
a.kb-button:hover, .owr3-content a.kb-button:hover { background: #8E2F49; transform: translateY(-1px); }

/* Logo-Galerie (Unterstützer): Logos ganz zeigen, nicht beschneiden. */
.wp-block-gallery.owr-logos { gap: 14px !important; }
.wp-block-gallery.owr-logos .wp-block-image { background: #fff; border: 1px solid var(--owr3-linie, #E4E7EE); border-radius: 14px; display: flex !important; align-items: center; justify-content: center; padding: 14px; }
.wp-block-gallery.owr-logos .wp-block-image img { height: 110px !important; width: 100% !important; object-fit: contain !important; border-radius: 0 !important; }
