/*
Theme Name: Lausch
Theme URI: https://lauschmusic.com
Author: Lausch
Author URI: https://lauschmusic.com
Description: Schlankes, performantes Block-Theme (Full Site Editing) für die Band LAUSCH. Dunkles, kontrastreiches Design mit dem bestehenden Cyan-Akzent, gebaut ohne Page-Builder-Ballast für maximale Geschwindigkeit und Core-Web-Vitals-Werte.
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lausch
*/

/* ─── Self-hosted Roboto (variable font, latin subset) ─────────────────── */

@font-face {
	font-family: 'Roboto';
	src: url('fonts/roboto-v51-latin-normal.woff2') format('woff2');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Roboto';
	src: url('fonts/roboto-v51-latin-italic.woff2') format('woff2');
	font-weight: 100 900;
	font-style: italic;
	font-display: swap;
}

/* ─── Base ─────────────────────────────────────────────────────────────── */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

.wp-block-cover__image-background {
	height: 100%;
}

/* ─── Header (sticky) ───────────────────────────────────────────────────── */

header.wp-block-template-part {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	background-color: rgba(11, 11, 13, 0.92);
}

/*
 * Blur läuft über ein Pseudo-Element statt direkt auf dem Header:
 * backdrop-filter auf dem Header selbst würde einen "containing block"
 * für alle position:fixed-Nachfahren erzeugen — inkl. des mobilen
 * Navigations-Overlays, das dann auf die Header-Höhe eingesperrt wäre
 * statt den vollen Viewport zu füllen.
 */
header.wp-block-template-part::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

/* Admin-Bar-Offset (eingeloggte User) */
.admin-bar header.wp-block-template-part {
	top: 32px;
}
@media screen and (max-width: 782px) {
	.admin-bar header.wp-block-template-part {
		top: 46px;
	}
}

/* Platz für den fixierten Header schaffen + sticky footer */
.wp-site-blocks {
	padding-top: 84px;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.wp-site-blocks > main {
	flex: 1;
}

/* Footer: subtle icons */
.lausch-footer-socials svg {
	opacity: 0.5;
	transition: opacity 0.2s;
}

.lausch-footer-socials a:hover svg {
	opacity: 1;
}

.lausch-footer-link {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
	transition: color 0.2s;
}
.lausch-footer-link:hover {
	color: var(--wp--preset--color--accent);
}

/* ─── Navigation ────────────────────────────────────────────────────────── */

/* Doppelter Klassen-Selektor übertrifft WordPress-Core-Spezifität */
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
	transition: color 0.2s ease;
}

.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:focus {
	color: var(--wp--preset--color--accent);
	outline: none;
}

.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .current_page_item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent);
}

/* Mobile nav burger */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--foreground) !important;
}

.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--background) !important;
	padding: 2rem;
}

/* ─── Buttons ────────────────────────────────────────────────────────────── */

.wp-element-button,
.wp-block-button__link {
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
	transform: translateY(-1px);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
	background: transparent;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--background);
}

/* ─── Social Links ──────────────────────────────────────────────────────── */

.wp-block-social-links .wp-block-social-link a {
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.wp-block-social-links .wp-block-social-link a:hover {
	opacity: 0.75;
	transform: translateY(-2px);
}

/* ─── Images ────────────────────────────────────────────────────────────── */

.wp-block-image img {
	border-radius: 6px;
}

.wp-block-image img[src=""] {
	min-height: 300px;
	background: var(--wp--preset--color--surface-alt);
}

/* ─── Separator ─────────────────────────────────────────────────────────── */

.wp-block-separator {
	margin-top: var(--wp--preset--spacing--50);
	margin-bottom: var(--wp--preset--spacing--50);
}

/* ─── Video embeds ──────────────────────────────────────────────────────── */

.wp-block-embed__wrapper {
	border-radius: 6px;
	overflow: hidden;
}

/* ─── Tour list ──────────────────────────────────────────────────────────── */

.lausch-tour-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-top: 2rem;
}

.lausch-tour-item {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--wp--preset--color--surface-alt);
	flex-wrap: wrap;
	transition: background-color 0.15s ease;
}

.lausch-tour-item:first-child {
	border-top: 1px solid var(--wp--preset--color--surface-alt);
}

.lausch-tour-date {
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	min-width: 9rem;
	font-size: 0.875rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.lausch-tour-venue {
	flex: 1;
	color: var(--wp--preset--color--foreground);
	font-size: 1rem;
}

.lausch-tour-ticket {
	color: var(--wp--preset--color--background);
	background: var(--wp--preset--color--accent);
	padding: 0.3em 0.9em;
	border-radius: 4px;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.2s ease, transform 0.15s ease;
}

.lausch-tour-ticket:hover {
	background: var(--wp--preset--color--accent-dark);
	transform: translateY(-1px);
}

/* ─── Upcoming tour — Tabellen-Block ────────────────────────────────────── */

figure.lausch-tour-table { margin: 0; }

.lausch-tour-table table {
	width: 100%;
	border-collapse: collapse;
	border: none;
}
.lausch-tour-table td,
.lausch-tour-table th {
	border: none;
	text-align: left;
}
.lausch-tour-table thead th {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	padding-bottom: 0.6rem;
	border-bottom: 1px solid var(--wp--preset--color--surface-alt);
}
.lausch-tour-table td {
	padding: 1rem 1.5rem 1rem 0;
	border-bottom: 1px solid var(--wp--preset--color--surface-alt);
	vertical-align: middle;
}
.lausch-tour-table tbody tr:first-child td {
	border-top: 1px solid var(--wp--preset--color--surface-alt);
}
.lausch-tour-table td:last-child { padding-right: 0; }
.lausch-tour-table td:nth-child(1) {
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	font-size: 0.875rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
	min-width: 9rem;
}
.lausch-tour-table td:nth-child(2) { width: 100%; }
.lausch-tour-table td:nth-child(3) a {
	display: inline-block;
	color: var(--wp--preset--color--background);
	background: var(--wp--preset--color--accent);
	padding: 0.3em 0.9em;
	border-radius: 4px;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.2s ease;
}
.lausch-tour-table td:nth-child(3) a:hover {
	background: var(--wp--preset--color--accent-dark);
}
@media (max-width: 600px) {
	.lausch-tour-table td { padding: 0.75rem 1rem 0.75rem 0; }
	.lausch-tour-table td:nth-child(1) { min-width: 6rem; }
}

/* ─── Past Shows ─────────────────────────────────────────────────────────── */

.lausch-past-list {
	display: grid;
	grid-template-columns: 3.5rem 1fr;
	gap: 0 1.5rem;
	align-items: start;
}
.lausch-past-list > h3.wp-block-heading {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin: 0;
	padding-top: 0.55rem;
	line-height: 1;
}
.lausch-past-list > .wp-block-list {
	list-style: none;
	padding: 0 0 1.5rem;
	margin: 0;
}
.lausch-past-list > .wp-block-list li {
	display: flex;
	gap: 1.5rem;
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--wp--preset--color--surface-alt);
	font-size: 0.875rem;
	align-items: baseline;
}
.lausch-past-list > .wp-block-list li:first-child {
	border-top: 1px solid var(--wp--preset--color--surface-alt);
}
@media (max-width: 600px) {
	.lausch-past-list {
		grid-template-columns: 1fr;
	}
	.lausch-past-list > h3.wp-block-heading {
		padding-top: 1.5rem;
		border-top: 1px solid var(--wp--preset--color--surface-alt);
	}
	.lausch-past-list > h3.wp-block-heading:first-child {
		padding-top: 0;
		border-top: none;
	}
}

.lausch-past-year-group {
	display: grid;
	grid-template-columns: 3.5rem 1fr;
	gap: 0 1.5rem;
	align-items: start;
}

.lausch-past-year-label {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	letter-spacing: 0.05em;
	padding-top: 0.6rem;
	line-height: 1;
}

.lausch-past-year-items {
	display: flex;
	flex-direction: column;
}

.lausch-past-item {
	display: flex;
	gap: 1.5rem;
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--wp--preset--color--surface-alt);
	align-items: baseline;
}

.lausch-past-year-items .lausch-past-item:first-child {
	border-top: 1px solid var(--wp--preset--color--surface-alt);
}

.lausch-past-date {
	font-size: 0.8rem;
	color: var(--wp--preset--color--muted);
	min-width: 5.5rem;
	letter-spacing: 0.02em;
	font-variant-numeric: tabular-nums;
	flex-shrink: 0;
}

.lausch-past-info {
	font-size: 0.9rem;
	color: var(--wp--preset--color--foreground);
}

@media (max-width: 600px) {
	.lausch-past-year-group {
		grid-template-columns: 1fr;
	}
	.lausch-past-year-label {
		padding-bottom: 0.5rem;
	}
}

/* ─── Focus styles (accessibility) ──────────────────────────────────────── */

:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	border-radius: 2px;
}

/* ─── Responsive ─────────────────────────────────────────────────────────── */

@media (max-width: 600px) {
	.lausch-tour-item {
		gap: 0.75rem;
	}

	.lausch-tour-venue {
		flex-basis: 100%;
	}

	.wp-block-columns {
		flex-direction: column;
	}
}

/* ─── Video Grid ─────────────────────────────────────────────────────────── */

.lausch-video-grid {
	display: grid;
	gap: 2rem;
}

.lausch-video-grid--1 {
	grid-template-columns: 1fr;
}

.lausch-video-grid--2 {
	grid-template-columns: repeat(2, 1fr);
}

.lausch-video-grid--3 {
	grid-template-columns: repeat(3, 1fr);
}

.lausch-video-wrap {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
	overflow: hidden;
	border-radius: 6px;
	background: var(--wp--preset--color--surface);
}

.lausch-video-wrap iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* YouTube lite-embed facade */
.lausch-yt-facade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-color: #000;
	cursor: pointer;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.lausch-yt-play {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.15s ease, opacity 0.15s ease;
	opacity: 0.9;
	filter: drop-shadow(0 2px 8px rgba(0,0,0,.5));
}
.lausch-yt-facade:hover .lausch-yt-play {
	transform: scale(1.1);
	opacity: 1;
}


@media (max-width: 900px) {
	.lausch-video-grid--3 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.lausch-video-grid--3,
	.lausch-video-grid--2 {
		grid-template-columns: 1fr;
	}
}

/* ─── Selection ──────────────────────────────────────────────────────────── */

::selection {
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--background);
}

/* ─── Header Grid (Logo | Nav zentriert | Socials rechts) ───────────────────── */

.lausch-header-grid {
	display: grid !important;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
}

.lausch-header-grid .wp-block-navigation {
	justify-self: center;
}

.lausch-header-socials {
	justify-self: end;
}

/* Social icons in Akzentfarbe */
.lausch-header-socials .wp-social-link {
	background: transparent !important;
	color: var(--wp--preset--color--accent) !important;
}

.lausch-header-socials .wp-social-link a,
.lausch-header-socials .wp-social-link svg {
	color: var(--wp--preset--color--accent) !important;
	fill: var(--wp--preset--color--accent) !important;
}

.lausch-header-socials .wp-social-link:hover {
	opacity: 0.75;
	transform: translateY(-2px);
}

@media (max-width: 767px) {
	.lausch-header-grid {
		display: flex !important;
		justify-content: space-between;
		align-items: center;
	}
	.lausch-header-socials {
		display: none !important;
	}
}

/* ─── Hero Video ──────────────────────────────────────────────────────────────── */

.lausch-hero-video-wrap {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}

/* ─── Section sublabels ──────────────────────────────────────────────────────── */

.lausch-subsection-label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin-top: 0 !important;
	margin-bottom: 1rem !important;
}

.lausch-subsection-label--divider {
	margin-top: 2.5rem !important;
	padding-top: 1.5rem !important;
	border-top: 1px solid var(--wp--preset--color--surface-alt);
}

/* ─── Single Cards ───────────────────────────────────────────────────────────── */

.lausch-single-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--surface-alt);
	border-radius: 6px;
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.lausch-single-cover {
	aspect-ratio: 1;
	overflow: hidden;
}

.lausch-single-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0 !important;
}

.lausch-single-body {
	padding: 1.25rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.lausch-single-label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin: 0 0 0.25rem;
}

.lausch-single-title {
	font-size: 1.125rem;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 0.875rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.lausch-single-title--sm {
	font-size: 0.875rem;
	letter-spacing: 0.04em;
}

/* ─── Cover Overlay Player ───────────────────────────────────────────────────── */

.lausch-single-cover {
	position: relative;
}

.lausch-cover-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.35);
	opacity: 0;
	transition: opacity 0.2s ease;
	cursor: pointer;
}

.lausch-single-cover:hover .lausch-cover-overlay,
.lausch-cover-overlay.is-playing {
	opacity: 1;
}

.lausch-cover-play {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: rgba(0, 188, 212, 0.55);
	border: 2px solid rgba(0, 188, 212, 0.85);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #fff;
	transition: background 0.18s ease, border-color 0.18s ease;
	flex-shrink: 0;
}

.lausch-single-cover:hover .lausch-cover-play {
	background: rgba(0, 188, 212, 1);
	border-color: rgba(0, 188, 212, 1);
}

.lausch-cover-progress {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: rgba(255, 255, 255, 0.2);
}

.lausch-cover-fill {
	height: 100%;
	width: 0%;
	background: var(--wp--preset--color--accent);
	transition: width 0.1s linear;
}

/* ─── Mini Audio Player ──────────────────────────────────────────────────────── */

.lausch-mini-player {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	background: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--surface-alt);
	border-radius: 4px;
	padding: 0.625rem 0.75rem;
	margin-bottom: 0.875rem;
}

.lausch-mini-play {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex-shrink: 0;
	color: var(--wp--preset--color--background);
	padding: 0;
	transition: transform 0.15s ease, opacity 0.15s ease;
}

.lausch-mini-play:hover {
	transform: scale(1.1);
	opacity: 0.88;
}

.lausch-mini-progress {
	flex: 1;
	min-width: 0;
}

.lausch-mini-track {
	height: 3px;
	background: var(--wp--preset--color--surface-alt);
	border-radius: 2px;
	margin-bottom: 4px;
	cursor: pointer;
}

.lausch-mini-fill {
	height: 3px;
	background: var(--wp--preset--color--accent);
	border-radius: 2px;
	width: 0%;
	transition: width 0.1s linear;
}

.lausch-mini-time {
	font-size: 0.7rem;
	color: var(--wp--preset--color--muted);
	font-variant-numeric: tabular-nums;
}

/* ─── Streaming Button (Single) ──────────────────────────────────────────────── */

.lausch-stream-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--background);
	padding: 0.5rem 0.5rem;
	border-radius: 4px;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	text-decoration: none;
	white-space: nowrap;
	transition: opacity 0.2s ease, transform 0.15s ease;
	margin-top: auto;
}

.lausch-stream-btn:hover {
	opacity: 0.88;
	transform: translateY(-1px);
	color: var(--wp--preset--color--background);
}

.lausch-stream-btn--outline {
	background: transparent;
	border: 1px solid var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

.lausch-stream-btn--outline:hover {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--background);
	opacity: 1;
}

.lausch-single-buttons {
	display: flex;
	gap: 0.375rem;
	margin-top: auto;
}

.lausch-single-buttons .lausch-stream-btn {
	flex: 1;
	margin-top: 0;
}

.lausch-single-subtitle {
	font-size: 0.7rem;
	color: var(--wp--preset--color--muted);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: -0.375rem 0 0.625rem;
}

/* ─── Album Release Row ──────────────────────────────────────────────────────── */

.lausch-release-meta {
	font-size: 0.75rem;
	color: var(--wp--preset--color--muted);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0 0 0.375rem !important;
}

/* Bandcamp Placeholder Link */
.lausch-bandcamp-placeholder {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--surface-alt);
	border-radius: 4px;
	padding: 0.75rem 1rem;
	margin-bottom: 0.875rem;
	text-decoration: none;
	color: var(--wp--preset--color--foreground);
	transition: border-color 0.2s ease;
}

.lausch-bandcamp-placeholder:hover {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--foreground);
}

.lausch-bandcamp-icon {
	width: 32px;
	height: 32px;
	background: var(--wp--preset--color--accent);
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.lausch-bandcamp-label {
	font-size: 0.8rem;
	color: var(--wp--preset--color--muted);
}

/* Press Rating */
.lausch-press-rating {
	display: flex;
	align-items: baseline;
	gap: 0.625rem;
	border-left: 2px solid var(--wp--preset--color--accent);
	padding: 0.5rem 0 0.5rem 0.875rem;
	margin-bottom: 1rem;
}

.lausch-press-score {
	font-size: 1.25rem;
	font-weight: 900;
	color: var(--wp--preset--color--accent);
}

.lausch-press-source {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--muted);
}

.lausch-press-quote {
	border-left: 2px solid var(--wp--preset--color--accent);
	padding: 0.5rem 0 0.5rem 0.875rem;
	margin-bottom: 1rem;
}

.lausch-press-text {
	margin: 0 0 0.375rem;
	font-size: 0.9rem;
	font-style: italic;
	color: var(--wp--preset--color--foreground);
	line-height: 1.5;
}

/* Streaming Buttons (Album) */
.lausch-streaming-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.lausch-streaming-btn {
	border: 1px solid var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--muted);
	padding: 0.375rem 0.875rem;
	border-radius: 3px;
	font-size: 0.75rem;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: border-color 0.2s ease, color 0.2s ease;
	white-space: nowrap;
}

.lausch-streaming-btn:hover {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

.lausch-streaming-btn--primary {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

/* ─── Videos Section Sublabels ──────────────────────────────────────────────── */

.lausch-video-sublabel {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin-top: 0 !important;
	margin-bottom: 0.875rem !important;
}

.lausch-video-sublabel--divider {
	margin-top: 2rem !important;
	padding-top: 1.5rem !important;
	border-top: 1px solid var(--wp--preset--color--surface-alt);
}

/* Featured single video: etwas schmaler */
.lausch-video-featured {
	max-width: 640px;
}

/* ─── Beardy Mountain CTA ───────────────────────────────────────────────────── */

.lausch-beardy-wrap {
	display: grid;
	grid-template-columns: 3fr 2fr;
	gap: 2rem;
	align-items: center;
}

.lausch-beardy-wrap--reversed {
	grid-template-columns: 2fr 3fr;
}

.lausch-beardy-wrap--divider {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--wp--preset--color--surface-alt);
}

.lausch-beardy-cta {
	padding: 0.5rem 0;
}

.lausch-beardy-heading {
	font-size: 1.5rem;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--foreground);
}

.lausch-beardy-text {
	color: var(--wp--preset--color--foreground);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0 0 1.25rem;
}

.lausch-beardy-btn {
	display: inline-block;
	padding: 0.625rem 1.25rem;
	border: 1px solid var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
	text-decoration: none;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: 3px;
	transition: background 0.15s, color 0.15s;
}

.lausch-beardy-btn:hover {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--background);
}

@media (max-width: 767px) {
	.lausch-beardy-wrap {
		grid-template-columns: 1fr;
	}
}

/* ─── Newsletter ─────────────────────────────────────────────────────────────── */

.lausch-newsletter-wrap {
	max-width: 480px;
	margin: 0 auto;
	text-align: center;
}

/* ─── Discography Page ──────────────────────────────────────────────────────── */

.lausch-disc-heading {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin: 0 0 2.5rem;
}

.lausch-disc-entry + .lausch-disc-entry {
	margin-top: 3rem;
	padding-top: 3rem;
	border-top: 1px solid var(--wp--preset--color--surface-alt);
}

/* Top: cover + player side-by-side, same height */
.lausch-disc-top {
	display: grid;
	grid-template-columns: 2fr 3fr;
	gap: 2.5rem;
	align-items: stretch;
	margin-bottom: 1.5rem;
}

.lausch-disc-entry--reversed .lausch-disc-top {
	grid-template-columns: 3fr 2fr;
}

.lausch-disc-entry--reversed .lausch-disc-cover {
	order: 2;
}

.lausch-disc-entry--reversed .lausch-disc-sidebar {
	order: 1;
}

.lausch-disc-cover img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	display: block;
	border-radius: 4px;
}

.lausch-disc-sidebar {
	display: flex;
	flex-direction: column;
}

.lausch-disc-meta {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin: 0 0 0.375rem;
}

.lausch-disc-title {
	font-size: 1.75rem;
	font-weight: 900;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 1rem;
	line-height: 1.1;
}

/* Player fills remaining sidebar height down to cover bottom */
.lausch-disc-player {
	flex: 1;
	min-height: 160px;
}

.lausch-disc-player iframe {
	border: 0;
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 4px;
}

/* Bottom: quotes span full width */
.lausch-disc-quotes {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.lausch-disc-quotes .lausch-press-quote,
.lausch-press-quote--card {
	margin-bottom: 0;
	border-left: none;
	padding: 1.25rem 1.25rem 1rem;
	background: var(--wp--preset--color--surface-alt);
	border-radius: 6px;
	position: relative;
	overflow: hidden;
}

.lausch-disc-quotes .lausch-press-quote::before,
.lausch-press-quote--card::before {
	content: '»';
	position: absolute;
	top: -0.5rem;
	left: 0.625rem;
	font-size: 6rem;
	font-weight: 900;
	line-height: 1;
	color: var(--wp--preset--color--accent);
	opacity: 0.12;
	pointer-events: none;
	user-select: none;
}

.lausch-disc-quotes .lausch-press-text,
.lausch-press-quote--card .lausch-press-text {
	position: relative;
	padding-left: 0;
}

.lausch-disc-quotes .lausch-press-source,
.lausch-press-quote--card .lausch-press-source {
	display: block;
	margin-top: 0.625rem;
	position: relative;
}

@media (max-width: 767px) {
	.lausch-disc-top,
	.lausch-disc-entry--reversed .lausch-disc-top {
		grid-template-columns: 1fr;
	}

	.lausch-disc-entry--reversed .lausch-disc-cover,
	.lausch-disc-entry--reversed .lausch-disc-sidebar {
		order: unset;
	}

	.lausch-disc-player {
		min-height: 300px;
	}

	.lausch-disc-title {
		font-size: 1.375rem;
	}
}

/* ─── Contact Page ──────────────────────────────────────────────────────────── */
.lausch-contact-section {
	padding: 2rem 0 3rem;
}

.lausch-contact-intro {
	font-size: 1rem;
	color: var(--wp--preset--color--muted);
	margin: 0 0 2rem;
}

.lausch-contact-cta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
}

.lausch-contact-btn {
	display: inline-block;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--background);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 0.875rem 2rem;
	border-radius: 4px;
	transition: opacity 0.2s;
}

.lausch-contact-btn:hover {
	opacity: 0.85;
	color: var(--wp--preset--color--background);
}

.lausch-contact-email {
	font-size: 0.875rem;
	color: var(--wp--preset--color--muted);
	text-decoration: none;
	letter-spacing: 0.03em;
}

.lausch-contact-email:hover {
	color: var(--wp--preset--color--accent);
}

/* ─── Privacy Policy language toggle ───────────────────────────────────── */

.lausch-lang-toggle {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 2.5rem;
}
.lausch-lang-btn {
	background: none;
	border: 1px solid var(--wp--preset--color--muted);
	color: var(--wp--preset--color--muted);
	padding: 0.3rem 0.8rem;
	border-radius: 3px;
	font-size: 0.75rem;
	font-family: inherit;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}
.lausch-lang-btn.active {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--background);
}
.lausch-lang-btn:hover:not(.active) {
	border-color: var(--wp--preset--color--text);
	color: var(--wp--preset--color--text);
}

/* Toolbar row: language toggle (left) + download buttons (right) */
.lausch-epk-toolbar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin-bottom: 2.5rem;
}
.lausch-epk-toolbar .lausch-lang-toggle {
	margin-bottom: 0;
}
.lausch-epk-toolbar-downloads {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

/* Download buttons: same size/shape as the language toggle, but only fill on hover */
.lausch-epk-download-btn {
	display: inline-block;
	background: none;
	border: 1px solid var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
	padding: 0.3rem 0.8rem;
	border-radius: 3px;
	font-size: 0.75rem;
	font-family: inherit;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s, color 0.15s;
}
.lausch-epk-download-btn:hover {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--background);
}
.lausch-privacy h2 {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin: 2rem 0 0.75rem;
}
.lausch-privacy h3 {
	font-size: 0.85rem;
	font-weight: 700;
	margin: 1.25rem 0 0.4rem;
}
.lausch-privacy p,
.lausch-privacy li {
	font-size: 0.9rem;
	line-height: 1.7;
	color: var(--wp--preset--color--muted);
}
.lausch-privacy ul {
	padding-left: 1.25rem;
	margin: 0.5rem 0;
}
.lausch-privacy a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}
.lausch-privacy a:hover {
	text-decoration: underline;
}

/* ─── Band member list ──────────────────────────────────────────────────── */

.lausch-members-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 2rem;
	margin-top: 0.5rem;
}
.lausch-members {
	list-style: none;
	padding: 0;
	margin: 0;
}
.lausch-members li {
	padding: 0.7rem 0;
	position: relative;
}
.lausch-members li::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 1px;
	background: var(--wp--preset--color--surface-alt);
}
.lausch-member-name {
	display: block;
	font-size: 1rem;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	letter-spacing: 0.01em;
}
.lausch-member-role {
	display: block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin-top: 0.2rem;
}

/* ─── Band member cards (name + role + short bio, e.g. Band page line-up) ─── */

.lausch-band-members {
	list-style: none;
	padding: 0;
	margin: 0;
}
.lausch-band-member {
	padding: 1rem 0;
	position: relative;
}
.lausch-band-member::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 1px;
	background: var(--wp--preset--color--surface-alt);
}
.lausch-band-member:first-child::before {
	display: none;
}
.lausch-band-member-name {
	display: block;
	font-size: 1rem;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	letter-spacing: 0.01em;
}
.lausch-band-member-role {
	display: block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin: 0.2rem 0 0.5rem;
}
.lausch-band-member-text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
	margin: 0;
}

/* ─── Plain flex layouts (replace wp:columns to avoid Gutenberg block-validation errors on hand-authored content) ─── */

.lausch-flex-row {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}
.lausch-flex-row > * {
	flex: 1 1 0;
	min-width: 240px;
}

.lausch-split-row {
	display: flex;
	gap: 2rem;
	align-items: flex-start;
}
.lausch-split-row > .lausch-col-40 { flex: 0 1 40%; max-width: 40%; }
.lausch-split-row > .lausch-col-60 { flex: 0 1 60%; max-width: 60%; }

@media (max-width: 767px) {
	.lausch-split-row {
		flex-direction: column;
	}
	.lausch-split-row > .lausch-col-40,
	.lausch-split-row > .lausch-col-60 {
		flex-basis: auto;
		max-width: 100%;
		width: 100%;
	}
}

/* ─── Bandcamp lite-embed facade ────────────────────────────────────────── */

.lausch-bc-facade {
	background-color: #111116;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='64' viewBox='0 0 48 64'%3E%3Crect x='2' y='27' width='5' height='10' rx='2.5' fill='%2300bcd4' fill-opacity='0.22'/%3E%3Crect x='11' y='19' width='5' height='26' rx='2.5' fill='%2300bcd4' fill-opacity='0.22'/%3E%3Crect x='20' y='9' width='5' height='46' rx='2.5' fill='%2300bcd4' fill-opacity='0.22'/%3E%3Crect x='29' y='23' width='5' height='18' rx='2.5' fill='%2300bcd4' fill-opacity='0.22'/%3E%3Crect x='38' y='15' width='5' height='34' rx='2.5' fill='%2300bcd4' fill-opacity='0.22'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-position: center;
	background-size: 48px 64px;
	border-radius: 4px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	position: relative;
	overflow: hidden;
}
.lausch-bc-facade::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(17,17,22,0.35) 0%, rgba(17,17,22,0.75) 100%);
	pointer-events: none;
}
.lausch-disc-player .lausch-bc-facade {
	height: 100%;
	min-height: 160px;
}
.lausch-bc-play {
	position: relative;
	z-index: 2;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.15s ease;
}
.lausch-bc-facade:hover .lausch-bc-play {
	transform: scale(1.1);
}
.lausch-bc-play svg {
	width: 14px;
	height: 14px;
	margin-left: 2px;
}

.lausch-contact-divider {
	margin-top: 4.5rem;
	padding-top: 2.5rem;
	border-top: 1px solid var(--wp--preset--color--surface-alt);
}

/* ─── EPK page (Electronic Press Kit) ───────────────────────────────────── */

.lausch-epk-page {
	max-width: 1000px;
	margin: 0 auto;
}

.lausch-epk-banner {
	position: relative;
	background-size: cover;
	background-position: center 30%;
	aspect-ratio: 3.1 / 1;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 2.5rem;
}

.lausch-epk-label {
	position: absolute;
	top: 1rem;
	right: 1.25rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--foreground);
}

.lausch-epk-banner-overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 1.5rem 1.75rem;
	background: linear-gradient(180deg, rgba(11,11,13,0) 0%, rgba(11,11,13,0.85) 70%);
}

.lausch-epk-title {
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 900;
	color: var(--wp--preset--color--foreground);
	margin: 0;
	line-height: 1;
}

.lausch-epk-tagline {
	font-size: 0.9rem;
	color: var(--wp--preset--color--accent);
	margin: 0.4rem 0 0;
}

.lausch-epk-section-label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin: 0 0 0.875rem;
}

.lausch-epk-bio {
	margin-bottom: 2rem;
}

.lausch-epk-bio-text {
	color: var(--wp--preset--color--muted);
	font-size: 0.95rem;
	line-height: 1.6;
	margin: 0;
	max-width: 720px;
}

.lausch-epk-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
}

.lausch-epk-highlights-card {
	background: var(--wp--preset--color--surface-alt);
	border-radius: 6px;
	padding: 1.25rem 1.5rem;
	margin-bottom: 2rem;
}

.lausch-epk-highlights-card ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lausch-epk-highlights-card li {
	position: relative;
	padding-left: 1.1rem;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	font-size: 0.9rem;
	line-height: 1.9;
}

.lausch-epk-highlights-card li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: var(--wp--preset--color--accent);
}

.lausch-epk-discography {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lausch-epk-discography li {
	display: flex;
	justify-content: space-between;
	color: var(--wp--preset--color--muted);
	font-size: 0.9rem;
	padding: 0.4rem 0;
}

.lausch-epk-quotes .lausch-press-quote--card {
	margin-bottom: 1rem;
}

.lausch-epk-footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 2rem;
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--wp--preset--color--surface-alt);
}

.lausch-epk-footer-contact a.lausch-contact-email {
	display: block;
	font-size: 1rem;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	margin-bottom: 0.25rem;
}

.lausch-epk-footer-contact a.lausch-contact-email:hover {
	color: var(--wp--preset--color--accent);
}

.lausch-epk-footer-website {
	font-size: 0.85rem;
	color: var(--wp--preset--color--muted);
}

.lausch-epk-footer-socials {
	text-align: right;
}

.lausch-epk-footer-socials-links a {
	color: var(--wp--preset--color--foreground);
	text-decoration: none;
	font-size: 0.9rem;
}

.lausch-epk-footer-socials-links a:hover {
	color: var(--wp--preset--color--accent);
}

.lausch-epk-footer-socials-links span {
	color: var(--wp--preset--color--muted);
	margin: 0 0.4rem;
}

@media (max-width: 700px) {
	.lausch-epk-columns {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.lausch-epk-footer {
		flex-direction: column;
	}
	.lausch-epk-footer-socials {
		text-align: left;
	}
}


/* ============================================================
   PRESS KIT (/press-kit/) — Booker-Seite
   Zurückhaltend gehalten: Akzentfarbe nur für den Haupt-Download
   und die Abschnitts-Labels, alles andere Graustufen. Die Fotos
   liefern die Farbe.
   ============================================================ */

.lausch-pk {
	--pk-line: rgba(255,255,255,.10);
	--pk-line-strong: rgba(255,255,255,.18);
	color: var(--wp--preset--color--foreground);
}

.lausch-pk-label {
	font-size: 0.7rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	font-weight: 600;
	margin: 0 0 0.9rem;
}

.lausch-pk-label--spaced {
	margin-top: 3rem;
}

.lausch-pk-section {
	margin-top: 4.5rem;
}

.lausch-pk-note {
	font-size: 0.82rem;
	color: var(--wp--preset--color--muted);
	line-height: 1.6;
	margin: 1rem 0 0;
}

.lausch-pk-note a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
	border-bottom: 1px solid rgba(0,188,212,.35);
}

/* ---------- Masthead: bewusst asymmetrisch, CTA unten bündig ---------- */

.lausch-pk-masthead {
	display: grid;
	grid-template-columns: 1.45fr 1fr;
	gap: 3rem;
	align-items: end;
	padding-bottom: 2.5rem;
	border-bottom: 1px solid var(--pk-line);
}

.lausch-pk-eyebrow {
	font-size: 0.7rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	font-weight: 600;
	margin: 0 0 0.75rem;
}

.lausch-pk-title {
	font-size: clamp(3.4rem, 9vw, 6.5rem);
	line-height: 0.92;
	letter-spacing: -0.03em;
	font-weight: 800;
	margin: 0;
}

.lausch-pk-sub {
	font-size: 1rem;
	color: var(--wp--preset--color--muted);
	margin: 0.9rem 0 0;
}

.lausch-pk-intro {
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--wp--preset--color--foreground);
	max-width: 46ch;
	margin: 1.5rem 0 0;
	opacity: 0.85;
}

.lausch-pk-mast-aside {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.lausch-pk-cta {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	width: 100%;
	padding: 1.1rem 1.4rem;
	background: var(--wp--preset--color--accent);
	color: #06181c;
	border-radius: 6px;
	text-decoration: none;
	transition: background 0.15s ease, transform 0.15s ease;
}

.lausch-pk-cta:hover {
	background: #22d3ee;
	transform: translateY(-1px);
}

.lausch-pk-cta-label {
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.lausch-pk-cta-meta {
	font-size: 0.78rem;
	font-weight: 600;
	opacity: 0.72;
}

.lausch-pk-updated {
	font-size: 0.78rem;
	color: var(--wp--preset--color--muted);
	margin: 0.85rem 0 0;
}

.lausch-pk-hint {
	font-size: 0.78rem;
	color: var(--wp--preset--color--muted);
	margin: 0.2rem 0 0;
	opacity: 0.7;
}

/* ---------- Video ---------- */

.lausch-pk-video-caption {
	font-size: 0.82rem;
	color: var(--wp--preset--color--muted);
	margin: 0.85rem 0 0;
}

/* ---------- At a glance: Fakten + Besetzung ---------- */

.lausch-pk-atglance {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 3.5rem;
}

.lausch-pk-facts {
	margin: 0;
}

.lausch-pk-fact {
	display: grid;
	grid-template-columns: 8.5rem 1fr;
	gap: 1rem;
	padding: 0.7rem 0;
	border-top: 1px solid var(--pk-line);
}

.lausch-pk-fact:last-child {
	border-bottom: 1px solid var(--pk-line);
}

.lausch-pk-fact dt {
	font-size: 0.78rem;
	color: var(--wp--preset--color--muted);
	letter-spacing: 0.04em;
}

.lausch-pk-fact dd {
	font-size: 0.9rem;
	margin: 0;
	line-height: 1.5;
}

.lausch-pk-members {
	list-style: none;
	margin: 0 0 1.75rem;
	padding: 0;
}

.lausch-pk-members li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.6rem;
	padding: 0.55rem 0;
	border-top: 1px solid var(--pk-line);
}

.lausch-pk-members li:last-child {
	border-bottom: 1px solid var(--pk-line);
}

.lausch-pk-member-name {
	font-size: 0.95rem;
	font-weight: 600;
}

.lausch-pk-member-role {
	font-size: 0.8rem;
	color: var(--wp--preset--color--muted);
}

/* ---------- Fotogalerie ---------- */

.lausch-pk-label-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.lausch-pk-inline-dl {
	font-size: 0.78rem;
	color: var(--wp--preset--color--muted);
	text-decoration: none;
	border-bottom: 1px solid var(--pk-line-strong);
	padding-bottom: 1px;
	margin-bottom: 0.9rem;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.lausch-pk-inline-dl:hover {
	color: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
}

.lausch-pk-gallery {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
}

.lausch-pk-photo {
	margin: 0;
}

.lausch-pk-photo-link {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	background: var(--wp--preset--color--surface);
	line-height: 0;
}

.lausch-pk-photo-link img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.4s ease, filter 0.25s ease;
}

.lausch-pk-photo-link:hover img {
	transform: scale(1.02);
	filter: brightness(0.82);
}

.lausch-pk-photo-dl {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.4rem 0.7rem;
	background: rgba(11,11,13,.82);
	border: 1px solid var(--pk-line-strong);
	border-radius: 4px;
	font-size: 0.72rem;
	line-height: 1;
	color: var(--wp--preset--color--foreground);
	opacity: 0;
	transform: translateY(-4px);
	transition: opacity 0.2s ease, transform 0.2s ease;
	pointer-events: none;
}

.lausch-pk-photo-link:hover .lausch-pk-photo-dl,
.lausch-pk-photo-link:focus-visible .lausch-pk-photo-dl {
	opacity: 1;
	transform: translateY(0);
}

.lausch-pk-photo figcaption {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.6rem;
}

.lausch-pk-photo-caption {
	font-size: 0.8rem;
	color: var(--wp--preset--color--muted);
}

.lausch-pk-credit {
	font-size: 0.72rem;
	color: var(--wp--preset--color--muted);
	opacity: 0.7;
	letter-spacing: 0.02em;
}

.lausch-pk-credit--todo {
	opacity: 0.4;
}

/* Touch-Geräte: Download-Hinweis dauerhaft zeigen, es gibt keinen Hover */
@media (hover: none) {
	.lausch-pk-photo-dl {
		opacity: 1;
		transform: none;
	}
}

/* ---------- Downloads: ruhige Zeilen statt Button-Wand ---------- */

.lausch-pk-downloads {
	border-top: 1px solid var(--pk-line);
}

.lausch-pk-dl-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1rem 0.25rem 1rem 0;
	border-bottom: 1px solid var(--pk-line);
	text-decoration: none;
	color: var(--wp--preset--color--foreground);
	transition: padding-left 0.18s ease, border-color 0.18s ease;
}

a.lausch-pk-dl-row:hover {
	padding-left: 0.6rem;
	border-color: var(--pk-line-strong);
}

a.lausch-pk-dl-row:hover .lausch-pk-dl-name {
	color: var(--wp--preset--color--accent);
}

.lausch-pk-dl-name {
	font-size: 0.95rem;
	transition: color 0.18s ease;
}

.lausch-pk-dl-meta {
	font-size: 0.78rem;
	color: var(--wp--preset--color--muted);
	white-space: nowrap;
}

.lausch-pk-dl-row--pending {
	opacity: 0.55;
}

/* ---------- Belege: Presse + Highlights ---------- */

.lausch-pk-evidence {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	gap: 3.5rem;
}

.lausch-pk-quotes {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.lausch-pk-highlights {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lausch-pk-highlights li {
	font-size: 0.9rem;
	padding: 0.6rem 0 0.6rem 1.1rem;
	border-top: 1px solid var(--pk-line);
	position: relative;
	line-height: 1.45;
}

.lausch-pk-highlights li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 1.05rem;
	width: 5px;
	height: 5px;
	background: var(--wp--preset--color--accent);
	opacity: 0.7;
}

.lausch-pk-highlights li:last-child {
	border-bottom: 1px solid var(--pk-line);
}

/* ---------- Footer ---------- */

.lausch-pk-footer {
	display: flex;
	justify-content: space-between;
	gap: 2.5rem;
	flex-wrap: wrap;
	margin-top: 4.5rem;
	padding-top: 2.5rem;
	border-top: 1px solid var(--pk-line);
}

.lausch-pk-mail {
	font-size: clamp(1.1rem, 2.6vw, 1.6rem);
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--foreground);
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--accent);
	transition: color 0.15s ease;
}

.lausch-pk-mail:hover {
	color: var(--wp--preset--color--accent);
}

.lausch-pk-footer-site {
	margin: 0.85rem 0 0;
	font-size: 0.85rem;
}

.lausch-pk-footer-site a,
.lausch-pk-footer-socials a {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
	transition: color 0.15s ease;
}

.lausch-pk-footer-site a:hover,
.lausch-pk-footer-socials a:hover {
	color: var(--wp--preset--color--accent);
}

.lausch-pk-footer-socials {
	text-align: right;
}

.lausch-pk-footer-socials p {
	margin: 0;
	font-size: 0.85rem;
}

.lausch-pk-footer-socials span {
	color: var(--wp--preset--color--muted);
	margin: 0 0.45rem;
	opacity: 0.5;
}

/* ---------- Mobil ---------- */

@media (max-width: 860px) {
	.lausch-pk-masthead {
		grid-template-columns: 1fr;
		gap: 2rem;
		align-items: start;
	}
	.lausch-pk-atglance,
	.lausch-pk-evidence {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
	.lausch-pk-section {
		margin-top: 3.5rem;
	}
}

@media (max-width: 600px) {
	.lausch-pk-gallery {
		grid-template-columns: 1fr;
	}
	.lausch-pk-fact {
		grid-template-columns: 1fr;
		gap: 0.15rem;
	}
	.lausch-pk-footer-socials {
		text-align: left;
	}
	.lausch-pk-dl-row {
		flex-direction: column;
		gap: 0.3rem;
	}
}

/* Abstand, wenn nach einem Hinweistext direkt das nächste Label folgt */
.lausch-pk-note + .lausch-pk-label {
	margin-top: 1.9rem;
}

/* Galerie: einheitliche Kachelform hält das Raster ruhig — heruntergeladen
   wird immer das ungeschnittene Original. Ein bewusst breites Motiv
   (Publikumsweite) läuft über beide Spalten. */
/* Pressefotos behalten ihr echtes Seitenverhältnis — der Booker muss Hoch-
   und Querformat auf einen Blick unterscheiden können. Sortiert nach Format
   teilen sich gleich hohe Bilder eine Zeile, das Raster bleibt trotzdem ruhig.
   Die Live-Galerie ist durchgehend quer und wird auf 4:3 vereinheitlicht. */
.lausch-pk-gallery--live .lausch-pk-photo-link img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center 35%;
}

.lausch-pk-photo--feature {
	grid-column: 1 / -1;
}

.lausch-pk-photo--feature .lausch-pk-photo-link img {
	aspect-ratio: 2 / 1;
	object-position: center 45%;
}

@media (max-width: 600px) {
	.lausch-pk-photo--feature .lausch-pk-photo-link img {
		aspect-ratio: 4 / 3;
	}
}

/* Live-Galerie: ein breites Motiv über die volle Breite, darunter drei
   gleich große — gibt dem Raster Rhythmus, ohne unruhig zu werden. */
.lausch-pk-gallery--live {
	grid-template-columns: repeat(3, 1fr);
	gap: 1.1rem;
}

@media (max-width: 700px) {
	.lausch-pk-gallery--live {
		grid-template-columns: 1fr;
	}
}

/* Seitenabstand auf schmalen Viewports. Bewusst nur auf .lausch-pk
   begrenzt — das Theme setzt global keinen Rand, das hier zu ändern
   würde alle anderen Seiten mitverändern. */
@media (max-width: 782px) {
	.lausch-pk {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
}

/* Format- und Auflösungsangabe dauerhaft sichtbar, nicht erst bei Hover —
   sie ist für die Auswahl relevant, nicht bloß Dekoration. */
.lausch-pk-photo-dl {
	opacity: 0.55;
	transform: none;
}

.lausch-pk-photo-link:hover .lausch-pk-photo-dl,
.lausch-pk-photo-link:focus-visible .lausch-pk-photo-dl {
	opacity: 1;
}

/* ─── Newsletter-Anmeldung, /newsletter/ ────────────────────────────────── */

/* Das Formular auf dieser Seite ist eine Kopie aus Brevo. Seine Farben,
   Abstaende und Schriften stehen dort als Inline-Style an jedem einzelnen
   Element, deshalb die !important: gegen einen Inline-Style gewinnt eine
   gewoehnliche Regel nicht. Derselbe Grund gilt fuer Brevos Stylesheet: es
   wird im Inhalt der Seite geladen und steht damit hinter dieser Datei. Bei
   gleicher Spezifitaet, und #sib-container hat dieselbe, gewinnt Brevo.
   Alles Sichtbare steht hier und nicht im Markup,
   damit es einen erneuten Lauf von _werkzeuge/newsletter_formular_einsetzen.py
   mit neuem Brevo-Code uebersteht. */

.lausch-newsletter-intro {
	font-size: 1rem;
	color: var(--wp--preset--color--muted);
	margin: 0 0 2rem;
	max-width: 540px;
}

/* Schrift. Brevo verdrahtet Helvetica an jedem Element, Roboto ist dort
   nicht waehlbar, geprueft am 01.09.2026. */
#sib-container,
#sib-container * {
	font-family: Roboto, Arial, Helvetica, sans-serif !important;
}

/* Brevos cyanfarbener Rahmen faellt weg. Das Formular steht allein auf der
   Seite und braucht keine zweite Einfassung, schon gar nicht in der
   Akzentfarbe. Die 540px bleiben: eine Spalte aus Eingabefeldern ueber die
   volle Inhaltsbreite von 720px liest sich schlecht.

   Linksbuendig statt mittig, entgegen der ersten Ueberlegung. Mittig in der
   720er-Spalte steht das Formular um 90 Pixel eingerueckt gegenueber
   Ueberschrift und Unterzeile, und diese zweite Kante sieht man sofort. Der
   seitliche Innenabstand von Brevo faellt aus demselben Grund weg.

   Warum display statt Rand: Brevo gibt dem Container inline-block, und
   zentriert wird er dadurch nicht ueber seine Raender, sondern ueber das
   text-align:center des Rahmens darum. Ein margin-left allein bewirkt hier
   also nichts. */
.sib-form {
	padding-top: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

#sib-container {
	border-width: 0 !important;
	display: block !important;
	margin-left: 0 !important;
	margin-right: auto !important;
	padding-top: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Die linke Kante. Brevo rueckt jeden Block um 16px ein, damit stuenden
   Beschriftungen und Felder gegenueber Ueberschrift und Unterzeile
   verschoben. Jetzt hat die Seite eine einzige linke Kante.

   Der Abstand darueber kam bisher aus drei Quellen: 32px unter der
   Unterzeile, 32px ueber dem Formular, 17px ueber dem Container. Zusammen
   89px, und das Formular sah aus, als gehoere es nicht mehr zum Text
   darueber. Die beiden oberen sind oben abgeraeumt, es bleiben die 32px
   der Unterzeile und 8px, die Brevo um jeden Block legt. */
#sib-container .sib-form-block {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Dunkle Eingabefelder. In Brevo nicht einstellbar, hier schon, und der
   einzige sichtbare Grund fuer die HTML-Variante statt des iframe. Den
   Platzhaltertext setzt Brevo bereits auf #f5f5f5, auf weissem Grund war er
   unsichtbar. */
#sib-container .input {
	background-color: var(--wp--preset--color--surface) !important;
	color: var(--wp--preset--color--foreground) !important;
	border: 1px solid var(--wp--preset--color--surface-alt) !important;
}

#sib-container .input:focus {
	border-color: var(--wp--preset--color--accent) !important;
}
