/* VIXA PL — Visual System */
.hero-home {
  background-image: url("../../img/gallery/11-szczyt-nocy.webp");
  background-position: center 47%;
}
.hero-home::before {
  background: linear-gradient(90deg, #05030df2, #05030d7d 49%, #05030d27 82%),
              linear-gradient(0deg, var(--bg), transparent 40%);
}
.hero-home .hero-actions { align-items: center; }
.hero-home .hero-actions .button { min-width: 12rem; }
.hero-kicker { display: flex; flex-wrap: wrap; gap: .45rem 1rem; align-items: center; }
.hero-kicker .eyebrow { margin-bottom: .9rem; }
.hero-kicker .live-label {
  color: #eeff9d;
  font-size: .72rem;
  letter-spacing: .13em;
}
.live-label::before {
  content: "";
  display: inline-block;
  width: .45rem;
  height: .45rem;
  margin-right: .45rem;
  border-radius: 50%;
  background: #e2ff70;
  box-shadow: 0 0 15px #b8ff40;
}
.page-hero-gallery { background-image: url("../../img/gallery/12-pod-laserami.webp"); }
.page-hero-after { background-image: url("../../img/gallery/19-pusty-parkiet.webp"); }
.page-hero-stream { background-image: url("../../img/gallery/17-pod-scena.webp"); }
.page-hero-youtube { background-image: url("../../img/gallery/13-dym-i-stroboskop.webp"); }
.page-hero-about { background-image: url("../../img/gallery/14-na-skraju-parkietu.webp"); }
.page-hero-gallery::before, .page-hero-after::before, .page-hero-youtube::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #05030dcf, #05030d30 85%);
}
.section-v5 {
  background: radial-gradient(ellipse at 16% 0%, #34123480, transparent 55%), var(--bg);
}
.section-v5 .section-heading p { max-width: 62ch; }
.section-jump { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; }
.section-jump a { min-height: 44px; display: inline-flex; align-items: center; padding: .5rem .8rem; }
.series-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.series-card {
  display: grid;
  position: relative;
  align-content: end;
  aspect-ratio: 5 / 6;
  overflow: hidden;
  isolation: isolate;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  text-decoration: none;
  background: #141020;
}
.series-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}
.series-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(0deg,#05030dfc, #05030d74 36%, transparent 72%);
}
.series-card:hover, .series-card:focus-visible { border-color: var(--cyan); }
.series-copy { display: grid; gap: .25rem; padding: clamp(1rem, 3vw, 1.75rem); }
.series-copy span { color: var(--cyan); font-size: .73rem; letter-spacing: .13em; font-weight: 800; }
.series-copy strong { font-family: "Oswald", sans-serif; font-size: clamp(1.75rem, 3vw, 2.55rem); line-height: 1.14; }
.series-copy small { color: #ddd3e7; font-size: .86rem; }
.gallery-bar { margin-bottom: 1.5rem; }
.gallery-filters { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.gallery-filter {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem .85rem;
  color: var(--text);
  background: #120d20;
  border: 1px solid var(--line);
  border-radius: 999px;
  cursor: pointer;
}
.gallery-filter small { color: #c3b5d6; font-size: .75rem; }
.gallery-filter[aria-pressed="true"] { color: #061010; background: var(--cyan); border-color: var(--cyan); }
.gallery-filter[aria-pressed="true"] small { color: #163235; }
.gallery-count { margin-top: .75rem; min-height: 1.65em; color: var(--muted); font-size: .85rem; }
.visual-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(.75rem, 1.65vw, 1.4rem);
}
.visual-grid .gallery-card {
  grid-column: auto;
  display: block;
  min-height: 0;
  aspect-ratio: 3 / 2;
  text-decoration: none;
}
.visual-grid .gallery-card > span { left: 1rem; bottom: .9rem; right: 1rem; }
.visual-grid .gallery-card small { font-size: .67rem; }
.visual-grid .gallery-card strong { display: block; padding-right: 1.35rem; line-height: 1.22; }
.visual-grid .gallery-card i { position: absolute; right: 0; bottom: .16rem; }
.visual-grid .gallery-card:hover { border-color: var(--pink); }
.gallery-open-file { margin-top: .4rem; font-size: .82rem; color: var(--cyan); }
.lightbox-controls .button { min-width: 3.2rem; }
.lightbox figure { text-align: center; }
.release-panel {
  display: grid;
  grid-template-columns: minmax(10rem, 17rem) minmax(0,1fr);
  align-items: center;
  gap: clamp(1rem, 4vw, 3rem);
  padding: clamp(1rem, 4vw, 2.5rem);
  border: 1px solid #1ed76062;
  border-radius: var(--radius);
  background: radial-gradient(ellipse at 6% 25%,#1ed7602a,transparent 63%), #0c0c16;
}
.release-panel img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  border-radius: .75rem;
  border: 1px solid #ffffff35;
  object-fit: cover;
}
.release-panel h2 { font-family: "Oswald",sans-serif; font-size: clamp(1.9rem,4.3vw,3.65rem); line-height: 1.05; margin-bottom: .8rem; }
.release-panel p { max-width: 52ch; color: var(--muted); margin-bottom: 1.1rem; }
.release-panel .eyebrow { color: #75f6a1; margin-bottom: .65rem; }
.release-actions { display: flex; gap: .65rem; flex-wrap: wrap; }
.button-spotify { background: #1ed760; color: #04130b; border: 1px solid #1ed760; }
.button-spotify:hover { background: #71f5a1; color: #04130b; }
.stream-embed { border: 1px solid var(--line); background: #100b1f; border-radius: var(--radius); margin-top: 1rem; padding: .65rem; }
.stream-embed iframe { width: 100%; height: 360px; display: block; border: 0; border-radius: 12px; }
.album-tracks { columns: 2; column-gap: 3rem; margin: 1.25rem 0 0; padding-left: 1.6rem; color: var(--muted); }
.album-tracks li { break-inside: avoid; padding: .25rem 0; }
.playlist-queue-tools { display: grid; gap: .35rem; margin: 0 0 .8rem; }
.playlist-queue-tools label { font-size: .82rem; font-weight: 800; }
.playlist-queue-tools input {
  width: 100%;
  min-height: 46px;
  border-radius: .65rem;
  background: #100b1f;
  border: 1px solid var(--line);
  padding: .55rem .7rem;
  color: var(--text);
}
.playlist-queue-tools [role="status"] { min-height: 1.4em; font-size: .82rem; color: var(--muted); }
.playlist-queue-stack { min-width: 0; }
.playlist-queue-stack .playlist-queue { grid-template-columns: 1fr; }
.series-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.series-links a {
  display: flex;
  min-height: 74px;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .75rem 1rem;
  border-radius: .75rem;
  border: 1px solid var(--line);
  text-decoration: none;
  background: #100b1f;
  font-weight: 750;
}
.series-links a:hover { border-color: var(--cyan); }
.series-links span { color: var(--cyan); }
@media (max-width: 960px) {
  .hero-home .hero-actions { align-items: stretch; }
  .series-card { aspect-ratio: 4 / 5; }
}
@media (max-width: 760px) {
  .visual-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .series-grid, .series-links { grid-template-columns: 1fr; }
  .series-card { aspect-ratio: 2 / 1; }
}
@media (max-width: 520px) {
  .visual-grid { grid-template-columns: 1fr; }
  .release-panel { grid-template-columns: 1fr; }
  .release-panel img { max-width: 14rem; }
  .release-actions > * { width: 100%; }
  .album-tracks { columns: 1; }
}

.playlist-queue-stack { grid-column: 2; }
.playlist-layout .playlist-tabs { grid-row: 1 / span 2; }
@media (max-width: 960px) {
  .playlist-queue-stack { grid-column: 1; }
  .playlist-layout .playlist-tabs { grid-row: auto; }
}

