/* Slovenski oktet – album */
.kw-album-hero { background: var(--kw-black); color: var(--kw-white); padding: clamp(32px, 4.2vw, 80px) 0 clamp(48px, 4.6vw, 88px); }
.kw-album-hero__grid { display: grid; grid-template-columns: 500px 1fr; gap: 58px; align-items: start; margin-top: 4px; }
.kw-album-hero__cover img { width: 100%; }
.kw-album-hero__title { color: var(--kw-white); font-size: clamp(32px, 2.4vw, 46px); letter-spacing: .06em; text-transform: uppercase; line-height: 1.15; margin: 0 0 22px; }
.kw-album-hero .kw-meta { color: var(--kw-g-9a); margin-bottom: 34px; }
.kw-album-hero__desc { color: var(--kw-g-c9); margin-bottom: 24px; }
.kw-specs { display: grid; gap: 22px; margin: 0 0 48px; }
.kw-specs > div, .kw-specs dt, .kw-specs dd { display: block; float: none; width: auto; }
.kw-specs dt { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--kw-g-6b); font-weight: 400; margin: 0 0 4px; }
.kw-specs dd { margin: 0; font-size: 16px; color: var(--kw-white); }
.kw-album-hero .kw-btn-row .kw-btn { min-width: 276px; }
.kw-album-hero .kw-btn-row .kw-btn--outline-light { min-width: 276px; }
.kw-tracks { list-style: none; margin: 30px 0 0; padding: 0; counter-reset: t; }
.kw-track { display: flex; align-items: center; gap: 22px; min-height: 64px; padding: 10px 0; border-bottom: 1px solid var(--kw-g-e4); margin: 0; }
.kw-track__no { width: 34px; flex: none; text-align: right; font-size: 13px; letter-spacing: .08em; color: var(--kw-g-6b); }
.kw-track__title { flex: 1; font-size: 17px; color: var(--kw-black); }
.kw-track__title small { font-size: 13px; color: var(--kw-g-6b); margin-left: 6px; }
.kw-track__audio { width: 360px; flex: none; }
.kw-player { display: flex; align-items: center; gap: 12px; height: 40px; padding: 0 14px; background: var(--kw-black); color: var(--kw-white); font-size: 12px; user-select: none; }
.kw-player button { all: unset; display: flex; align-items: center; justify-content: center; width: 18px; height: 18px; cursor: pointer; color: var(--kw-white); flex: none; }
.kw-player button:focus-visible, .kw-player__rail:focus-visible, .kw-player__vol:focus-visible { outline: 1px solid var(--kw-white); outline-offset: 3px; }
.kw-player .i-pause, .kw-player.is-playing .i-play { display: none; }
.kw-player.is-playing .i-pause { display: block; }
.kw-player .i-x, .kw-player.is-muted .i-wave { display: none; }
.kw-player.is-muted .i-x { display: block; }
.kw-player__time { font-variant-numeric: tabular-nums; flex: none; min-width: 36px; }
.kw-player__rail { position: relative; flex: 1; height: 4px; background: var(--kw-g-3d); cursor: pointer; }
.kw-player__rail::before, .kw-player__vol::before { content: ""; position: absolute; inset: -10px 0; }
.kw-player__fill, .kw-player__vfill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: var(--kw-white); }
.kw-player__vol { position: relative; width: 50px; height: 4px; background: var(--kw-g-3d); cursor: pointer; flex: none; }
.kw-player__vfill { width: 80%; }
.kw-album-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 64px; }
.kw-anav { display: flex; flex-direction: column; gap: 18px; text-decoration: none; color: var(--kw-black); }
.kw-anav__item { display: flex; align-items: center; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--kw-g-e4); }
.kw-anav__item img { width: 72px; height: 72px; object-fit: cover; flex: none; }
.kw-anav__item strong { display: block; font-family: var(--kw-serif); font-weight: 400; font-size: 19px; letter-spacing: .04em; text-transform: uppercase; line-height: 1.25; }
.kw-anav__item small { font-size: 13px; color: var(--kw-g-6b); text-transform: uppercase; letter-spacing: .04em; }
.kw-anav__dir { font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.kw-anav--next { text-align: right; }
.kw-anav--next .kw-anav__item { flex-direction: row-reverse; }
.kw-anav:hover .kw-arrow { transform: translateX(4px); }
.kw-anav--prev:hover .kw-arrow { transform: translateX(-4px); }
@media (max-width: 1279px) {
	.kw-album-hero__grid { grid-template-columns: 400px 1fr; }
	.kw-track__audio { width: 300px; }
}
@media (max-width: 849px) {
	.kw-album-hero__grid { grid-template-columns: 1fr; gap: 32px; }
	.kw-track { flex-wrap: wrap; gap: 8px 14px; }
	.kw-track__audio { width: 100%; padding-left: 48px; }
	.kw-album-nav { grid-template-columns: 1fr; }
	.kw-anav--next { text-align: left; }
	.kw-anav--next .kw-anav__item { flex-direction: row; }
}
@media (max-width: 549px) {
	.kw-album-hero .kw-btn-row .kw-btn { min-width: 0; width: 100%; }
}
.kw-specs dd { text-transform: none; letter-spacing: 0; font-weight: 400; }
