/**
 * Music release single pages — content column over ocean ambience.
 */

body.wrl-ocean-page.wrl-release-single {
	--yak-primary-font: "industry-black", sans-serif;
	--yak-secondary-font: "industry-black", sans-serif;
	--yak-accent-font: "industry-black", sans-serif;

	--wrl-bg-abyss: #080e18;
	--wrl-bg-deep: #0c1a2e;
	--wrl-bg-surface: #132640;
	--wrl-accent: #5ba4c9;
	--wrl-accent-glow: rgba(91, 164, 201, 0.15);
	--wrl-text-heading: #dce8f1;
	--wrl-text-primary: #c9d6e4;
	--wrl-text-body: #b6c6d6;
	--wrl-text-secondary: #8fa3b6;
	--wrl-text-dim: #647892;
	--wrl-border: rgba(91, 164, 201, 0.12);

	font-family: "industry-black", sans-serif;
	color: var(--wrl-text-body);
	background-color: var(--wrl-bg-abyss);
}

body.wrl-ocean-page.wrl-release-single .site-inner,
body.wrl-ocean-page.wrl-release-single .content-sidebar-wrap,
body.wrl-ocean-page.wrl-release-single .content {
	max-width: none;
	width: 100%;
	padding: 0;
}

body.wrl-ocean-page.wrl-release-single .entry {
	padding: 0;
}

/* Main column */
.wrl-release {
	position: relative;
	z-index: 1;
	padding: 2.5rem 0 4rem;
}

.wrl-release__article {
	max-width: 720px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

.wrl-release__section {
	margin-top: 2.5rem;
	padding: 2rem;
	background: rgba(12, 26, 46, var(--wrl-section-bg-alpha, 0.88));
	border: 1px solid var(--wrl-border);
	border-radius: 4px;
}

body.wrl-ocean-off.wrl-release-single .wrl-release__section {
	background: var(--wrl-bg-deep);
}

.wrl-release__header {
	--wrl-release-title-size: clamp(2rem, 5vw, 2.75rem);

	display: grid;
	grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
	gap: 2rem;
	align-items: center;
	padding: 2rem;
	background: rgba(12, 26, 46, var(--wrl-section-bg-alpha, 0.88));
	border: 1px solid var(--wrl-border);
	border-radius: 4px;
}

body.wrl-ocean-off.wrl-release-single .wrl-release__header {
	background: var(--wrl-bg-deep);
}

.wrl-release__header--new {
	border-color: rgba(91, 164, 201, 0.35);
	box-shadow:
		0 12px 36px rgba(0, 0, 0, 0.28),
		0 0 32px rgba(91, 164, 201, 0.12);
}

.wrl-release__header--upcoming {
	border-color: rgba(91, 164, 201, 0.22);
}

.wrl-release__badge-wrap {
	grid-column: 1 / -1;
	margin: 0 0 0.15rem;
	text-align: center;
}

.wrl-release__header-text .wrl-release__badge-wrap {
	grid-column: auto;
	margin-bottom: 0.5rem;
}

.wrl-release__badge {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0.28rem 0.65rem;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	border-radius: 999px;
	line-height: 1.2;
}

.wrl-release__badge--new {
	color: #dff6ff;
	background: rgba(91, 164, 201, 0.22);
	border: 1px solid rgba(91, 164, 201, 0.45);
	box-shadow: 0 0 18px rgba(91, 164, 201, 0.2);
}

.wrl-release__badge--upcoming {
	color: var(--wrl-text-primary);
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(91, 164, 201, 0.2);
}

.wrl-release__cover-wrap {
	max-width: 280px;
	margin: 0 auto;
}

.wrl-release__cover-link {
	display: block;
	text-decoration: none;
	border-radius: 4px;
}

.wrl-release__cover-link:focus-visible {
	outline: 2px solid var(--wrl-accent);
	outline-offset: 4px;
}

.wrl-release__cover-link:hover .wrl-release__cover,
.wrl-release__cover-link:focus-visible .wrl-release__cover {
	box-shadow:
		0 0 48px rgba(91, 164, 201, 0.28),
		0 14px 36px rgba(0, 0, 0, 0.5);
}

.wrl-release__cover {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
	box-shadow:
		0 0 40px rgba(91, 164, 201, 0.15),
		0 12px 32px rgba(0, 0, 0, 0.45);
}

.wrl-release__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: flex-start;
	gap: 0.35rem;
	margin: 0 0 0.35rem;
	font-size: 0.72rem;
	line-height: 1.3;
}

.wrl-release__type {
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wrl-accent);
}

.wrl-release__meta-sep {
	opacity: 0.45;
	color: var(--wrl-accent);
}

.wrl-release__date {
	font-size: inherit;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wrl-accent);
}

.wrl-release__meta-link {
	color: var(--wrl-accent);
	text-decoration: none;
	border-bottom: 1px solid rgba(91, 164, 201, 0.35);
	transition: color 0.2s ease, border-color 0.2s ease;
}

.wrl-release__meta-link:hover,
.wrl-release__meta-link:focus-visible {
	color: var(--wrl-text-heading);
	border-bottom-color: var(--wrl-text-heading);
}

.wrl-release__title {
	margin: 0;
	font-size: var(--wrl-release-title-size);
	font-weight: 300;
	line-height: 1.1;
	color: var(--wrl-text-heading);
}

.wrl-release__excerpt {
	margin: 0.65rem 0 0;
	font-size: 1rem;
	line-height: 1.45;
	color: var(--wrl-text-primary);
}

.wrl-release__listen-wrap {
	grid-column: 1 / -1;
	margin-top: 0.75rem;
	padding-top: 0;
}

.wrl-release__listen-kicker {
	margin: 0 0 0.65rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wrl-text-secondary);
	text-align: center;
}

.wrl-release__social-wrap {
	grid-column: 1 / -1;
	margin-top: 0.75rem;
	padding-top: 0;
	text-align: center;
}

.wrl-release__social-wrap:empty {
	display: none;
}

.wrl-release__social-kicker {
	margin: 0 0 0.75rem;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wrl-text-secondary);
}

.wrl-release__social {
	margin: 0;
}

.wrl-release__section-title {
	margin: 0 0 1.25rem;
	font-size: clamp(1.25rem, 3vw, 1.5rem);
	font-weight: 300;
	color: var(--wrl-text-heading);
}

.wrl-release__prose {
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--wrl-text-body);
}

.wrl-release__prose :is(h1, h2, h3, h4, h5, h6) {
	color: var(--wrl-text-heading);
	font-family: "industry-black", sans-serif;
}

.wrl-release__prose a {
	color: var(--wrl-accent);
	text-underline-offset: 3px;
}

.wrl-release__prose--lyrics p,
.wrl-release__prose--credits p {
	margin: 0 0 0.65em;
}

.wrl-release__prose--lyrics p:last-child,
.wrl-release__prose--credits p:last-child {
	margin-bottom: 0;
}

.wrl-release__lyrics-notice {
	margin-top: 1.75rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--wrl-border);
}

.wrl-release__lyrics-notice__credit {
	margin: 0 0 0.85rem;
	font-size: clamp(0.92rem, 2.2vw, 1.02rem);
	line-height: 1.55;
	color: var(--wrl-text-primary);
}

.wrl-release__lyrics-notice__copyright {
	margin: 0;
	font-size: 0.74rem;
	line-height: 1.6;
	color: var(--wrl-text-dim);
}

/* Streaming links — brand-forward icon tiles */
.wrl-release-streaming {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(6.75rem, 1fr));
	gap: 0.85rem;
}

.wrl-release-streaming__item {
	margin: 0;
}

.wrl-release-streaming__link {
	--wrl-stream-accent: var(--wrl-accent);

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	min-height: 4.75rem;
	padding: 0.75rem 0.65rem;
	border-radius: 6px;
	background: rgba(6, 14, 28, 0.55);
	border: 1px solid rgba(91, 164, 201, 0.14);
	color: var(--wrl-text-heading);
	text-decoration: none;
	text-align: center;
	transition:
		background 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.15s ease;
}

.wrl-release-streaming__link:hover,
.wrl-release-streaming__link:focus-visible {
	background: rgba(6, 14, 28, 0.82);
	border-color: color-mix(in srgb, var(--wrl-stream-accent) 55%, transparent);
	box-shadow:
		0 0 24px color-mix(in srgb, var(--wrl-stream-accent) 22%, transparent),
		inset 0 1px 0 rgba(255, 255, 255, 0.04);
	transform: translateY(-2px);
}

.wrl-release-streaming__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.04);
	color: var(--wrl-stream-accent);
	font-size: 1.25rem;
	line-height: 1;
}

.wrl-release-streaming__icon i {
	display: block;
	line-height: 1;
}

.wrl-release-streaming__label {
	font-size: 0.68rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wrl-text-secondary);
	line-height: 1.25;
}

.wrl-release-streaming__link--spotify {
	--wrl-stream-accent: #1db954;
}

.wrl-release-streaming__link--apple_music {
	--wrl-stream-accent: #fa586a;
}

.wrl-release-streaming__link--youtube {
	--wrl-stream-accent: #ff0033;
}

.wrl-release-streaming__link--amazon_music {
	--wrl-stream-accent: #25d1da;
}

.wrl-release-streaming__link--bandcamp {
	--wrl-stream-accent: #1da0c3;
}

.wrl-release-streaming__link--soundcloud {
	--wrl-stream-accent: #ff5500;
}

.wrl-release-streaming__link--tidal {
	--wrl-stream-accent: #ffffff;
}

.wrl-release-streaming__link--deezer {
	--wrl-stream-accent: #a238ff;
}

.wrl-release-streaming__link--pandora {
	--wrl-stream-accent: #3668ff;
}

.wrl-release-streaming__link--other {
	--wrl-stream-accent: var(--wrl-accent);
}

/* Gallery grid */
.wrl-release-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 0.75rem;
}

.wrl-release-gallery__item {
	margin: 0;
	overflow: hidden;
	border-radius: 4px;
}

.wrl-release-gallery__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 1;
}

/* Footer on release pages */
body.wrl-ocean-page.wrl-release-single .wrl-site-footer--release {
	position: relative;
	z-index: 1;
	margin-top: 0;
	padding: 2.5rem 1.5rem 3rem;
	border-top: 1px solid var(--wrl-border);
	background: linear-gradient(
		180deg,
		rgba(8, 14, 24, 0) 0%,
		rgba(3, 7, 14, 0.72) 100%
	);
}

body.wrl-ocean-off.wrl-release-single .wrl-site-footer--release {
	background: var(--wrl-bg-deep);
}

@media (max-width: 640px) {
	.wrl-release__article {
		padding-inline: 0.75rem;
	}

	.wrl-release__header {
		grid-template-columns: 1fr;
		text-align: center;
		gap: 0.85rem;
		padding: 0 0 1rem;
		overflow: hidden;
	}

	.wrl-release__cover-wrap {
		max-width: none;
		width: 100%;
		margin: 0;
	}

	.wrl-release__cover-link {
		border-radius: 4px 4px 0 0;
	}

	.wrl-release__cover {
		border-radius: 4px 4px 0 0;
	}

	.wrl-release__header-text,
	.wrl-release__listen-wrap,
	.wrl-release__social-wrap {
		padding-inline: 1rem;
	}

	.wrl-release__header-text .wrl-release__badge-wrap {
		margin-bottom: 0.35rem;
	}

	.wrl-release__meta {
		justify-content: center;
	}

	.wrl-release__section {
		padding: 1.25rem 1rem;
	}

	.wrl-release__listen-wrap {
		margin-top: 0.5rem;
		padding-top: 0;
	}

	.wrl-release__listen-kicker {
		margin-bottom: 0.5rem;
	}

	.wrl-release__social-wrap {
		margin-top: 0.5rem;
		padding-top: 0;
	}

	.wrl-release-streaming {
		grid-template-columns: 1fr;
		gap: 0.55rem;
	}

	.wrl-release-streaming__link {
		flex-direction: row;
		justify-content: flex-start;
		gap: 0.75rem;
		min-height: 2.85rem;
		padding: 0.55rem 0.85rem;
		border-radius: 4px;
		background: rgba(12, 26, 46, 0.88);
		border: 1px solid var(--wrl-border);
	}

	.wrl-release-streaming__link:hover,
	.wrl-release-streaming__link:focus-visible {
		transform: none;
	}

	.wrl-release-streaming__icon {
		width: 2rem;
		height: 2rem;
		font-size: 1.05rem;
		flex-shrink: 0;
	}

	.wrl-release-streaming__label {
		font-size: 0.82rem;
		letter-spacing: 0.06em;
		text-align: left;
	}
}

/* Homepage Music section — reuses canonical .wrl-release__header card */
.wrl-releases-featured {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1.35rem;
	max-width: 720px;
	margin: 0 auto;
}

.wrl-releases-featured__item {
	margin: 0;
}

/* Homepage teaser card — calmer stack above Listen buttons */
.wrl-section .entry-content .wrl-release__header--teaser .wrl-release__header-text {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.5rem;
}

.wrl-section .entry-content .wrl-release__header--teaser .wrl-release__header-text > * {
	margin: 0;
}

.wrl-section .entry-content .wrl-release__header--teaser .wrl-release__badge-wrap {
	margin: 0;
}

.wrl-section .entry-content .wrl-release__header--teaser .wrl-release__badge--new {
	box-shadow: none;
}

.wrl-section .entry-content .wrl-release__header--teaser .wrl-release__meta {
	justify-content: center;
	align-items: center;
	margin: 0;
	font-size: 0.68rem;
	gap: 0.3rem;
	line-height: 1.2;
}

.wrl-section .entry-content .wrl-release__header--teaser .wrl-release__type,
.wrl-section .entry-content .wrl-release__header--teaser .wrl-release__date {
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wrl-accent);
}

.wrl-section .entry-content .wrl-release__header--teaser .wrl-release__meta-sep {
	color: var(--wrl-accent);
	opacity: 0.45;
}

.wrl-section .entry-content .wrl-release__header--teaser .wrl-release__title {
	margin: 0;
}

.wrl-section .entry-content .wrl-release__header--teaser .wrl-release__details-link-wrap {
	margin: 0;
}

.wrl-release__details-link {
	font-size: 0.68rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wrl-accent);
	text-decoration: none;
	border-bottom: 1px solid rgba(91, 164, 201, 0.35);
	transition: color 0.2s ease, border-color 0.2s ease;
}

.wrl-release__details-link:hover,
.wrl-release__details-link:focus-visible {
	color: var(--wrl-text-heading);
	border-bottom-color: var(--wrl-text-heading);
}

.wrl-section .entry-content .wrl-release__header--teaser .wrl-release__listen-wrap {
	margin-top: 1.1rem;
}

@media (max-width: 640px) {
	.wrl-section .entry-content .wrl-release__header--teaser .wrl-release__header-text .wrl-release__badge-wrap,
	.wrl-section .entry-content .wrl-release__header--teaser .wrl-release__meta {
		margin: 0;
	}

	.wrl-section .entry-content .wrl-release__header--teaser .wrl-release__listen-wrap {
		margin-top: 1rem;
	}
}
