/* Antenne Bethel Playlist – übernimmt Schrift und Farben vom Theme */
.abpl {
	--abpl-line: color-mix(in srgb, currentColor 15%, transparent);
	--abpl-soft: color-mix(in srgb, currentColor 6%, transparent);
	--abpl-muted: color-mix(in srgb, currentColor 65%, transparent);
	--abpl-accent: var(--e-global-color-accent, currentColor);
	--abpl-line-strong: color-mix(in srgb, currentColor 25%, transparent);
	--abpl-input-bg: #fff;
	--abpl-h: 46px;
	--abpl-radius: 6px;
	width: 100%;
}

/* Suche
   Höhere Spezifität + einzelne !important, weil Themes (Pro.radio/Elementor)
   Formularfelder je nach Typ unterschiedlich stylen. */
.abpl .abpl-search {
	display: grid;
	grid-template-columns: minmax(0, 220px) minmax(0, 180px) auto;
	align-items: end;
	justify-content: start;
	gap: 16px;
	margin: 0 0 28px;
	padding: 20px;
	background: var(--abpl-soft);
	border-radius: 8px;
}
.abpl .abpl-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	margin: 0;
}
.abpl .abpl-label {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--abpl-muted);
}
.abpl .abpl-search .abpl-input {
	display: block !important;
	width: 100% !important;
	height: var(--abpl-h) !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 12px !important;
	font: inherit;
	font-size: 16px !important; /* verhindert Zoom auf dem iPhone */
	line-height: normal !important;
	color: inherit !important;
	background: var(--abpl-input-bg) !important;
	border: 1px solid var(--abpl-line-strong) !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	-webkit-appearance: none;
	appearance: none;
}
.abpl .abpl-search .abpl-input:hover {
	border-color: var(--abpl-muted) !important;
}
.abpl .abpl-search .abpl-input:focus {
	border-color: var(--abpl-accent) !important;
	outline: 2px solid color-mix(in srgb, var(--abpl-accent) 30%, transparent);
	outline-offset: 0;
}
.abpl .abpl-search .abpl-input::-webkit-date-and-time-value {
	text-align: left; /* iOS zentriert sonst den Wert */
}
.abpl .abpl-actions {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
}
.abpl .abpl-search .abpl-submit {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: var(--abpl-h) !important;
	min-width: 120px;
	margin: 0 !important;
	padding: 0 28px !important;
	line-height: 1 !important;
	white-space: nowrap;
	cursor: pointer;
	box-sizing: border-box;
}
.abpl .abpl-reset {
	font-size: 14px;
	color: var(--abpl-muted);
	white-space: nowrap;
}

.abpl-info {
	margin: 0 0 8px;
	font-weight: 600;
}
.abpl-empty {
	margin: 16px 0;
	color: var(--abpl-muted);
}

/* Tabelle */
.abpl-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border: 0;
}
.abpl-table th,
.abpl-table td {
	padding: 0.65em 0.75em;
	text-align: left;
	vertical-align: top;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--abpl-line);
}
.abpl-table th {
	font-size: 0.75em;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--abpl-muted);
}
.abpl-date,
.abpl-time {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.abpl-date {
	color: var(--abpl-muted);
}
.abpl-artist {
	font-weight: 600;
}
.abpl-table tr.abpl-current td {
	background: var(--abpl-soft);
}
.abpl-table tr.abpl-current td:first-child {
	box-shadow: inset 3px 0 0 var(--abpl-accent);
}

/* Seiten */
.abpl-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin: 20px 0 0;
}
.abpl-pagination a {
	padding: 0.5em 1em;
	border: 1px solid var(--abpl-line);
	border-radius: var(--abpl-radius);
	text-decoration: none;
}
.abpl-pagination span {
	color: var(--abpl-muted);
	font-size: 0.875em;
}

/* Mobil: Uhrzeit + Interpret oben, Datum + Titel darunter */
@media (max-width: 600px) {
	.abpl .abpl-search {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
		padding: 16px;
	}
	.abpl .abpl-actions {
		grid-column: 1 / -1;
	}
	.abpl .abpl-search .abpl-submit {
		flex: 1;
	}
	.abpl-table thead {
		display: none;
	}
	.abpl-table,
	.abpl-table tbody {
		display: block;
	}
	.abpl-table tr {
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-areas:
			"time artist"
			"date title";
		column-gap: 12px;
		row-gap: 2px;
		padding: 10px 8px;
		border-bottom: 1px solid var(--abpl-line);
	}
	.abpl-table td {
		padding: 0;
		border: 0;
	}
	.abpl-time   { grid-area: time; }
	.abpl-artist { grid-area: artist; }
	.abpl-date   { grid-area: date; font-size: 0.8em; }
	.abpl-title  { grid-area: title; }
	.abpl-table tr.abpl-current {
		background: var(--abpl-soft);
		box-shadow: inset 3px 0 0 var(--abpl-accent);
	}
	.abpl-table tr.abpl-current td {
		background: none;
		box-shadow: none;
	}
}

@media (max-width: 360px) {
	.abpl .abpl-search {
		grid-template-columns: 1fr;
	}
}

/* AJAX */
.abpl .abpl-reset[hidden] {
	display: none !important;
}
.abpl .abpl-results {
	transition: opacity 0.15s ease;
}
.abpl.is-loading .abpl-results {
	opacity: 0.45;
	pointer-events: none;
}
.abpl.is-loading .abpl-submit {
	cursor: progress;
}
@media (prefers-reduced-motion: reduce) {
	.abpl .abpl-results {
		transition: none;
	}
}

/* „Weitere Titel laden“ statt „Seite 1 von 1000“ */
.abpl .abpl-pagination {
	flex-direction: column;
	gap: 10px;
}
.abpl .abpl-pagination .abpl-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	min-width: 220px;
	padding: 0 24px;
	border: 1px solid var(--abpl-line-strong);
	border-radius: var(--abpl-radius);
	font-weight: 600;
	text-decoration: none;
}
.abpl .abpl-pagination .abpl-more:hover {
	border-color: var(--abpl-accent);
}
.abpl .abpl-pagination .abpl-more[aria-busy="true"] {
	opacity: 0.6;
	pointer-events: none;
}
.abpl .abpl-pagination .abpl-newer {
	padding: 0;
	border: 0;
	font-size: 14px;
	color: var(--abpl-muted);
}

/* Widget „Zuletzt gespielt“ – [ab_recent] */
.abpl-recent {
	--abpl-muted: color-mix(in srgb, currentColor 60%, transparent);
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.abpl-recent > li {
	margin: 0 !important;
	list-style: none !important;
}
.abpl-recent > li::before,
.abpl-recent > li::marker {
	content: none !important;
	display: none !important;
}
.abpl-recent__item {
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	padding: 10px 18px 10px 10px !important;
	background: #fff;
	border-radius: 3px;
}
.abpl-recent--nocover .abpl-recent__item {
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 14px 18px !important;
}
.abpl-recent__cover {
	display: block;
	width: 80px !important;
	height: 80px !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: cover;
	border-radius: 2px;
	background: #eee;
}
.abpl-recent__text {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.abpl-recent__title {
	overflow: hidden;
	font-weight: 700;
	font-size: 1.05em;
	line-height: 1.3;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.abpl-recent__artist {
	overflow: hidden;
	line-height: 1.3;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.abpl-recent__time {
	color: var(--abpl-muted);
	font-size: 0.95em;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.abpl-recent__empty {
	padding: 14px 18px;
	background: #fff;
	color: var(--abpl-muted);
}
@media (max-width: 400px) {
	.abpl-recent__item {
		grid-template-columns: 64px minmax(0, 1fr) auto;
		gap: 12px;
		padding: 8px 12px 8px 8px !important;
	}
	.abpl-recent__cover {
		width: 64px !important;
		height: 64px !important;
	}
}
