/* Wer predigt? – Farben lassen sich im Theme über diese Variablen anpassen */
.werpredigt {
	--wp-accent: #2d5f7c;
	--wp-accent-soft: #e6eff4;
	--wp-line: #dcdfe2;
	--wp-muted: #5e676e;
	--wp-surface: #ffffff;
	--wp-bg-hover: #f5f7f8;
	--wp-pin: #b0472e;
	font-size: 1rem;
	line-height: 1.5;
	margin: 1.5em 0;
}
.werpredigt *, .werpredigt *::before, .werpredigt *::after { box-sizing: border-box; }

.werpredigt .wp-search { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; margin-bottom: 10px; }
.werpredigt .wp-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.werpredigt .wp-field label { font-size: .8rem; letter-spacing: .03em; color: var(--wp-muted); }
.werpredigt .wp-field input { font: inherit; padding: .6em .75em; border: 1px solid var(--wp-line); border-radius: 6px; background: var(--wp-surface); min-width: 0; width: 100%; }
.werpredigt .wp-btn { align-self: end; font: inherit; font-weight: 700; padding: .6em 1.2em; border: 0; border-radius: 6px; background: var(--wp-accent); color: #fff; cursor: pointer; }
.werpredigt .wp-btn:hover { filter: brightness(1.08); }
.werpredigt :focus-visible { outline: 2px solid var(--wp-accent); outline-offset: 2px; }

.werpredigt .wp-bar { display: flex; justify-content: space-between; align-items: center; gap: 8px 16px; flex-wrap: wrap; margin: 6px 0 12px; font-size: .92rem; }
.werpredigt .wp-check { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.werpredigt .wp-meta { color: var(--wp-muted); }
.werpredigt .wp-meta strong { color: inherit; font-variant-numeric: tabular-nums; }
.werpredigt .wp-msg { background: #fdf3e6; border: 1px solid #f0d3a8; border-radius: 6px; padding: .6em .8em; margin: 0 0 12px; }
.werpredigt [hidden] { display: none !important; }

.werpredigt .wp-finder { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); height: 640px; border: 1px solid var(--wp-line); border-radius: 10px; overflow: hidden; background: var(--wp-surface); }
.werpredigt .wp-list { overflow-y: auto; border-right: 1px solid var(--wp-line); min-width: 0; }
.werpredigt .wp-mapwrap { position: relative; min-width: 0; }
.werpredigt .wp-map { position: absolute; inset: 0; }

.werpredigt .wp-item { border-bottom: 1px solid var(--wp-line); }
.werpredigt .wp-head { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; width: 100%; text-align: left; font: inherit; color: inherit; background: none; border: 0; padding: 12px 16px; cursor: pointer; }
.werpredigt .wp-head:hover { background: var(--wp-bg-hover); }
.werpredigt .wp-item.active .wp-head { background: var(--wp-accent-soft); }
.werpredigt .wp-name { font-weight: 700; line-height: 1.3; }
.werpredigt .wp-km { font-size: .85rem; color: var(--wp-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.werpredigt .wp-sub { grid-column: 1 / -1; font-size: .9rem; color: var(--wp-muted); }
.werpredigt .wp-badge { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .03em; padding: 1px 6px; border-radius: 4px; background: var(--wp-accent-soft); color: var(--wp-accent); vertical-align: 2px; }

.werpredigt .wp-detail { display: none; padding: 4px 16px 16px; font-size: .94rem; background: var(--wp-accent-soft); }
.werpredigt .wp-item.active .wp-detail { display: block; }
.werpredigt .wp-detail p { margin: 0 0 10px; }
.werpredigt .wp-lbl { display: block; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--wp-muted); }
.werpredigt .wp-text { font-style: italic; }
.werpredigt dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 0; }
.werpredigt dt { color: var(--wp-muted); }
.werpredigt dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.werpredigt dd a { color: var(--wp-accent); }
.werpredigt .wp-copy { font: inherit; font-size: .75rem; padding: 0 6px; margin-left: 4px; border: 1px solid var(--wp-line); border-radius: 4px; background: var(--wp-surface); color: var(--wp-muted); cursor: pointer; }
.werpredigt .wp-empty { padding: 24px 16px; color: var(--wp-muted); }

.werpredigt .wp-pin-wrap { background: none; border: 0; }
.werpredigt .wp-pin { display: block; width: 100%; height: 100%; background: var(--wp-pin); border: 2.5px solid #fff; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); box-shadow: 0 1px 4px rgba(0,0,0,.4); }
.werpredigt .wp-pin.on { background: var(--wp-accent); }
.werpredigt .leaflet-container { font: inherit; font-size: .9rem; }

.werpredigt .wp-switch { display: none; }

@media (max-width: 760px) {
	.werpredigt .wp-search { grid-template-columns: 1fr; }
	.werpredigt .wp-btn { align-self: stretch; }
	.werpredigt .wp-switch { display: flex; gap: 0; margin-bottom: 8px; border: 1px solid var(--wp-line); border-radius: 6px; overflow: hidden; }
	.werpredigt .wp-switch button { flex: 1; font: inherit; padding: .5em; border: 0; background: var(--wp-surface); color: inherit; cursor: pointer; }
	.werpredigt .wp-switch button[aria-pressed="true"] { background: var(--wp-accent); color: #fff; font-weight: 700; }
	.werpredigt .wp-finder { grid-template-columns: 1fr; height: auto; }
	.werpredigt .wp-list { border-right: 0; max-height: none; }
	.werpredigt .wp-finder[data-view="liste"] .wp-mapwrap { display: none; }
	.werpredigt .wp-finder[data-view="karte"] .wp-list { display: none; }
	.werpredigt .wp-finder[data-view="karte"] .wp-mapwrap { height: 70vh; }
}
@media (prefers-reduced-motion: reduce) {
	.werpredigt * { transition: none !important; scroll-behavior: auto !important; }
}

/* Breite Darstellung: bricht aus schmalen Inhaltsspalten aus (z. B. Twenty Twenty-Five) */
.werpredigt.werpredigt--breit {
	max-width: none !important;
	/* höchstens --wp-max breit und immer mindestens 5 % Rand links und rechts */
	width: min(var(--wp-max, 1200px), 90vw);
	margin-left: 50% !important;
	margin-right: 0 !important;
	transform: translateX(-50%);
}

/* Tabellenansicht */
.werpredigt .wp-tbar { display: flex; gap: 10px 20px; align-items: end; flex-wrap: wrap; margin-bottom: 8px; }
.werpredigt .wp-grow { flex: 1 1 320px; }
.werpredigt--tabelle .wp-meta { margin: 0 0 10px; font-size: .92rem; }
.werpredigt .wp-tablewrap { border: 1px solid var(--wp-line); border-radius: 10px; overflow-x: auto; background: var(--wp-surface); }
.werpredigt .wp-table { width: 100%; border-collapse: collapse; font-size: .94rem; margin: 0; }
.werpredigt .wp-table th, .werpredigt .wp-table td { text-align: left; vertical-align: top; padding: 10px 14px; border: 0; border-bottom: 1px solid var(--wp-line); }
.werpredigt .wp-table th { font-size: .8rem; letter-spacing: .04em; text-transform: uppercase; color: var(--wp-muted); background: var(--wp-bg-hover); white-space: nowrap; }
.werpredigt .wp-table .wp-c { text-align: center; }
.werpredigt .wp-sortbtn { font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.werpredigt .wp-sortbtn:hover { color: var(--wp-accent); }
.werpredigt .wp-rowbtn { font: inherit; color: var(--wp-accent); background: none; border: 0; padding: 0; text-align: left; cursor: pointer; }
.werpredigt .wp-rowbtn:hover { text-decoration: underline; }
.werpredigt .wp-small { display: block; font-size: .85rem; color: var(--wp-muted); }
.werpredigt .wp-contact { white-space: nowrap; }
.werpredigt .wp-contact a, .werpredigt .wp-more a { color: var(--wp-accent); }
.werpredigt .wp-row.open td { background: var(--wp-accent-soft); border-bottom: 0; }
.werpredigt .wp-more td { background: var(--wp-accent-soft); padding-top: 0; }
.werpredigt .wp-more p { margin: 2px 0 8px; max-width: 75ch; }
.werpredigt .wp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

@media (max-width: 760px) {
	.werpredigt.werpredigt--breit { width: auto; margin-left: 0 !important; transform: none; }
	.werpredigt .wp-table thead { display: none; }
	.werpredigt .wp-table, .werpredigt .wp-table tbody, .werpredigt .wp-table tr, .werpredigt .wp-table td { display: block; width: 100%; }
	.werpredigt .wp-row { padding: 10px 0; border-bottom: 1px solid var(--wp-line); }
	.werpredigt .wp-table td { border: 0; padding: 3px 14px; }
	.werpredigt .wp-table td[data-l]:not(:first-child)::before { content: attr(data-l) ": "; color: var(--wp-muted); font-size: .85rem; }
	.werpredigt .wp-table td.wp-c { text-align: left; }
	.werpredigt .wp-table td:empty { display: none; }
	.werpredigt .wp-contact { white-space: normal; }
}

/* Porträt-Liste */
.werpredigt .wp-field select { font: inherit; padding: .55em .6em; border: 1px solid var(--wp-line); border-radius: 6px; background: var(--wp-surface); color: inherit; }
.werpredigt--liste .wp-meta { margin: 0 0 12px; font-size: .92rem; }
.werpredigt .wp-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); gap: 16px; }
.werpredigt .wp-card { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px; border: 1px solid var(--wp-line); border-radius: 10px; background: var(--wp-surface); min-width: 0; }
.werpredigt .wp-card header { display: flex; flex-direction: column; gap: 2px; }
.werpredigt .wp-cname { margin: 0; font-size: 1.1rem; line-height: 1.3; }
.werpredigt .wp-card .wp-small { margin: 0; }
.werpredigt .wp-quote { margin: 0; padding: 0 0 0 14px; border-left: 3px solid var(--wp-accent); font-style: italic; font-size: .98rem; line-height: 1.55; quotes: none; }
.werpredigt .wp-quote::before, .werpredigt .wp-quote::after { content: none; }
.werpredigt .wp-card dl { font-size: .9rem; margin-top: auto; padding-top: 8px; border-top: 1px solid var(--wp-line); }
