:root {
    --ink: #080604;
    --deep-ink: #020201;

    --cream: #fff1cf;
    --cream-bright: #fff7df;
    --parchment: #e6c994;

    --barn-red: #8b2a1f;
    --barn-red-light: #c2573d;

    --wood: #a06a38;
    --wood-light: #b98249;
    --wood-dark: #2b180d;

    --brass: #d3a84a;
    --brass-light: #ffd979;

    --smoke: rgba(8, 6, 4, .72);
    --glass-border: rgba(255, 241, 207, .34);
  }

  * {
    box-sizing: border-box;
  }

  html {
    scroll-behavior: smooth;
  }

body {
    margin: 0;
    min-height: 100vh;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--cream-bright);
    background:
      radial-gradient(circle at 15% 28%, rgba(255, 217, 121, .24), transparent 30%),
      radial-gradient(circle at 88% 34%, rgba(194, 87, 61, .26), transparent 32%),
      radial-gradient(circle at 50% 90%, rgba(160, 106, 56, .42), transparent 38%),
      linear-gradient(135deg, #070402 0%, #261408 45%, #050302 100%);
    overflow-x: clip;
  }

  body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(255,241,207,.04) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,241,207,.04) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: radial-gradient(circle at center, black, transparent 74%);
  }

  body::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(90deg, rgba(0,0,0,.24), transparent 18%, transparent 82%, rgba(0,0,0,.24)),
      radial-gradient(circle at center, transparent 0%, rgba(0,0,0,.28) 100%);
    mix-blend-mode: multiply;
  }

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

  button,
  input,
  textarea {
    max-width: 100%;
  }

  header {
    width: min(1220px, calc(100% - 32px));
    margin: 0 auto;
    padding: 22px 0 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 1px solid rgba(255,241,207,.16);
    position: relative;
    z-index: 2;
  }

  .brand {
    display: flex;
    align-items: center;
    min-width: 0;
  }

  .brand-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
  }

  .site-logo {
    display: block;
    width: 200px;
    height: 200px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid rgba(255, 217, 121, .62);
    background: rgba(8, 6, 4, .72);
    box-shadow:
      0 0 0 4px rgba(255, 241, 207, .08),
      0 0 24px rgba(255, 217, 121, .20),
      0 14px 32px rgba(0, 0, 0, .48);
  }

  nav {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
  }

  nav a {
    color: rgba(255,241,207,.88);
    text-decoration: none;
    font-size: .98rem;
    font-weight: 800;
    letter-spacing: .03em;
    position: relative;
  }

  nav a:hover {
    color: var(--brass-light);
  }

  nav a:hover::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -10px;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--brass);
    transform: translateX(-50%);
    box-shadow: 0 0 16px rgba(255, 217, 121, .85);
  }

  .hero {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 54px 0 42px;
    text-align: center;
    position: relative;
    z-index: 1;
  }

  .hero-brand {
    margin: 0 0 12px;
    font-size: clamp(3.2rem, 9vw, 7.8rem);
    line-height: .86;
    letter-spacing: -.075em;
    font-weight: 1000;
    text-transform: uppercase;
    background: linear-gradient(
      90deg,
      var(--brass-light),
      var(--barn-red-light) 50%,
      var(--brass)
    );
    -webkit-background-clip: text;
    color: transparent;
    text-shadow: 0 0 46px rgba(255, 217, 121, .22);
  }

  .hero h1 {
    margin: 0 0 18px;
    font-size: clamp(2.1rem, 5vw, 4.6rem);
    line-height: .98;
    letter-spacing: -.05em;
    font-weight: 950;
    background: linear-gradient(
      90deg,
      var(--cream-bright),
      var(--brass-light) 52%,
      var(--parchment)
    );
    -webkit-background-clip: text;
    color: transparent;
    text-shadow: 0 0 42px rgba(255, 217, 121, .16);
  }

  .hero p {
    max-width: 760px;
    margin: 0 auto;
    font-size: clamp(1.05rem, 2vw, 1.35rem);
    line-height: 1.55;
    color: rgba(255,241,207,.86);
  }


  .site-share-wrap {
    margin-top: 24px;
    display: flex;
    justify-content: center;
  }

  .site-share-actions {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
  }

  .site-share-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid rgba(255, 217, 121, .62);
    border-radius: 999px;
    padding: 13px 20px;
    color: #1a0f08;
    background: linear-gradient(
      135deg,
      var(--brass-light),
      var(--brass) 56%,
      var(--barn-red-light)
    );
    font: inherit;
    font-weight: 950;
    letter-spacing: .04em;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 14px 34px rgba(255, 217, 121, .26);
    transition:
      transform .2s ease,
      box-shadow .2s ease,
      filter .2s ease;
  }

  .site-share-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 44px rgba(255, 217, 121, .40);
    filter: brightness(1.06);
  }

  .site-share-button:active {
    transform: translateY(0);
  }

  .site-share-button svg {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
  }

  .site-share-button--icon {
    width: 52px;
    height: 52px;
    padding: 0;
    gap: 0;
    border-radius: 50%;
  }

  .site-share-button--icon svg {
    width: 24px;
    height: 24px;
  }

  .site-share-button--icon span {
    display: none;
  }

  .site-share-feedback {
    min-height: 1.3em;
    margin-top: 10px;
    color: rgba(255,241,207,.74);
    font-size: .88rem;
    font-weight: 750;
  }

  .player-shell {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 26px;
    border: 1px solid rgba(255, 241, 207, .36);
    border-radius: 34px;
    background:
      linear-gradient(180deg, rgba(185,130,73,.34), rgba(80,42,20,.34)),
      radial-gradient(circle at top left, rgba(255,217,121,.16), transparent 38%);
    backdrop-filter: blur(18px);
    box-shadow:
      0 32px 90px rgba(0, 0, 0, .48),
      inset 0 1px 0 rgba(255,241,207,.22);
    position: relative;
    z-index: 1;
  }

  .now-playing {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 18px;
    align-items: center;
    padding: 18px 20px;
    border-radius: 24px;
    background: rgba(36, 18, 7, .70);
    border: 1px solid rgba(255,241,207,.22);
  }

  .now-playing > div:first-child {
    width: 100%;
    min-height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .track-display {
    width: 100%;
    min-height: 180px;
    display: grid;
    grid-template-columns: minmax(240px, 1fr);
    gap: 14px;
    align-items: center;
    text-align: center;
  }

  .track-art-wrap {
    width: 100%;
    max-width: 620px;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
    border-radius: 22px;
    overflow: hidden;
    background: rgba(8, 6, 4, .62);
    border: 1px solid rgba(255, 241, 207, .24);
    box-shadow:
      0 18px 42px rgba(0, 0, 0, .38),
      0 0 28px rgba(255, 217, 121, .16);
  }

  .track-art {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }

  .track-info {
    display: none;
  }

  .track-title {
    font-size: 1.6rem;
    font-weight: 850;
    margin-bottom: 4px;
    color: var(--brass-light);
    text-align: center;
  }

  .track-meta {
    color: rgba(255,241,207,.78);
    font-size: .95rem;
    text-align: center;
  }

  .track-meta:empty {
    display: none;
  }

  audio {
    display: none;
  }

  .audio-stack {
    width: min(420px, 100%);
    display: grid;
    gap: 14px;
  }

  .vu-meter {
    height: 54px;
    display: flex;
    align-items: end;
    gap: 5px;
    padding: 10px;
    border-radius: 18px;
    background: rgba(36, 18, 7, .70);
    border: 1px solid rgba(255,241,207,.22);
    box-shadow: inset 0 0 24px rgba(0,0,0,.42);
    overflow: hidden;
  }



  .equalizer-panel {
    padding: 14px;
    border-radius: 18px;
    background: rgba(36, 18, 7, .70);
    border: 1px solid rgba(255,241,207,.22);
    box-shadow: inset 0 0 24px rgba(0,0,0,.28);
  }

  .equalizer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
  }

  .equalizer-header strong {
    color: var(--brass-light);
    font-size: .86rem;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .eq-reset-button {
    border: 1px solid rgba(255,241,207,.22);
    border-radius: 999px;
    padding: 6px 10px;
    color: var(--cream-bright);
    background: rgba(74,38,17,.62);
    font: inherit;
    font-size: .72rem;
    font-weight: 850;
    cursor: pointer;
  }

  .eq-reset-button:hover {
    border-color: rgba(255,217,121,.72);
  }

  .equalizer-controls {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .eq-control {
    display: grid;
    justify-items: center;
    gap: 8px;
    min-width: 0;
    padding: 14px 8px 12px;
    border: 1px solid rgba(255,241,207,.16);
    border-radius: 18px;
    color: rgba(255,241,207,.88);
    background:
      radial-gradient(circle at 50% 18%, rgba(255,217,121,.12), transparent 42%),
      linear-gradient(180deg, rgba(86,45,20,.72), rgba(28,14,6,.76));
    box-shadow:
      inset 0 1px 0 rgba(255,241,207,.10),
      inset 0 -14px 24px rgba(0,0,0,.18),
      0 10px 22px rgba(0,0,0,.20);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .eq-control input[type="range"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }

  .eq-knob-wrap {
    position: relative;
    width: 92px;
    height: 92px;
    display: grid;
    place-items: center;
    touch-action: none;
    user-select: none;
  }

  .eq-knob-wrap::before {
    content: "";
    position: absolute;
    inset: 2px;
    border-radius: 50%;
    background:
      repeating-conic-gradient(
        from -135deg,
        rgba(255,241,207,.50) 0deg 1.5deg,
        transparent 1.5deg 15deg
      );
    mask: radial-gradient(circle, transparent 0 68%, #000 69% 100%);
    opacity: .72;
    pointer-events: none;
  }

  .eq-knob {
    --knob-angle: 0deg;
    width: 66px;
    height: 66px;
    border: 2px solid #b98249;
    border-radius: 50%;
    position: relative;
    cursor: grab;
    transform: rotate(var(--knob-angle));
    background:
      repeating-radial-gradient(
        circle at center,
        #0d0a07 0 2px,
        #18110b 2px 4px,
        #0a0705 4px 6px
      );
    box-shadow:
      inset 0 0 0 5px #d3a84a,
      inset 0 0 0 7px #6f461d,
      inset 0 8px 12px rgba(255,217,121,.06),
      inset 0 -10px 14px rgba(0,0,0,.58),
      0 0 0 3px rgba(255,217,121,.08),
      0 10px 20px rgba(0,0,0,.46);
    transition: box-shadow .18s ease, filter .18s ease;
  }

  .eq-knob::before {
    content: "";
    position: absolute;
    inset: 9px;
    border-radius: 50%;
    border: 1px solid rgba(255,217,121,.16);
    box-shadow: inset 0 0 16px rgba(0,0,0,.68);
    pointer-events: none;
  }

  .eq-knob::after {
    content: "";
    position: absolute;
    top: 7px;
    left: 50%;
    width: 4px;
    height: 21px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--brass-light), var(--brass) 58%, #8b5d21);
    box-shadow:
      0 0 0 1px rgba(43,24,13,.52),
      0 1px 4px rgba(0,0,0,.60);
    transform: translateX(-50%);
  }

  .eq-knob:hover,
  .eq-knob:focus-visible,
  .eq-knob.is-dragging {
    outline: none;
    filter: brightness(1.04);
    box-shadow:
      inset 0 0 0 5px var(--brass-light),
      inset 0 0 0 7px #6f461d,
      inset 0 8px 12px rgba(255,217,121,.07),
      inset 0 -10px 14px rgba(0,0,0,.58),
      0 0 0 3px rgba(255,217,121,.12),
      0 10px 20px rgba(0,0,0,.46),
      0 0 20px rgba(255,217,121,.18);
  }

  .eq-value {
    min-width: 62px;
    padding: 5px 8px;
    border: 1px solid rgba(255,241,207,.15);
    border-radius: 999px;
    color: var(--brass-light);
    background: rgba(8,6,4,.42);
    text-align: center;
    font-size: .72rem;
    font-variant-numeric: tabular-nums;
    letter-spacing: .02em;
    text-transform: none;
  }

  @media (max-width: 420px) {
    .equalizer-controls { gap: 8px; }
    .eq-control { padding-inline: 4px; }
    .eq-knob-wrap { width: 78px; height: 78px; }
    .eq-knob { width: 58px; height: 58px; }
  }

  .vu-meter span {
    flex: 1;
    height: 6px;
    min-width: 4px;
    border-radius: 999px 999px 3px 3px;
    background: linear-gradient(
      180deg,
      var(--brass-light),
      var(--brass) 44%,
      var(--barn-red)
    );
    box-shadow:
      0 0 10px rgba(255, 217, 121, .55),
      0 0 18px rgba(194, 87, 61, .30);
    opacity: .45;
    transition:
      height .08s linear,
      opacity .08s linear,
      filter .08s linear;
  }



  .lyrics-panel {
    margin-top: 16px;
    padding: 18px;
    border-radius: 24px;
    background: rgba(36, 18, 7, .70);
    border: 1px solid rgba(255,241,207,.22);
    box-shadow: inset 0 0 24px rgba(0,0,0,.28);
  }

  .lyrics-panel.is-hidden {
    display: none;
  }

  .lyrics-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
    padding: 14px 18px;
    border: 1px solid rgba(255,241,207,.24);
    border-radius: 18px;
    background:
      linear-gradient(180deg, rgba(255,241,207,.12), rgba(74,38,17,.32));
    box-shadow:
      inset 0 1px 0 rgba(255,241,207,.12),
      0 12px 28px rgba(0,0,0,.22);
  }

  .lyrics-header h2 {
    margin: 0;
    color: var(--cream-bright);
    font-size: .92rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 950;
  }

  .lyrics-track-title {
    color: var(--cream-bright);
    font-size: .98rem;
    font-weight: 950;
    text-align: right;
    line-height: 1.2;
  }

  .lyrics-content {
    max-height: 420px;
    overflow: auto;
    padding: 16px;
    border-radius: 18px;
    color: rgba(255,241,207,.90);
    background: rgba(8, 6, 4, .38);
    border: 1px solid rgba(255,241,207,.14);
    font-size: 1rem;
    line-height: 1.62;
    white-space: pre-wrap;
    scroll-behavior: smooth;
  }

  .lyrics-content:empty::before {
    content: "Geen songtekst gekoppeld aan deze track.";
    color: rgba(255,241,207,.58);
  }

  .lyrics-content.is-single-line {
    min-height: 96px;
    max-height: none;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: normal;
  }

  .lyrics-current-line {
    width: 100%;
    padding: 12px 14px;
    border-radius: 16px;
    color: var(--cream-bright);
    background: rgba(255, 241, 207, .10);
    text-shadow: 0 0 16px rgba(255, 241, 207, .18);
    font-size: clamp(1.15rem, 2.5vw, 1.85rem);
    line-height: 1.35;
    font-weight: 950;
  }

  .lyrics-hint {
    margin-bottom: 12px;
    color: rgba(255,241,207,.56);
    font-size: .88rem;
    font-weight: 750;
  }

  .playlist {
    margin-top: 16px;
    padding: 16px;
    border-radius: 24px;
    background: rgba(74, 38, 17, .62);
    border: 1px solid rgba(255,241,207,.24);
  }

  .playlist-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
    color: rgba(255,241,207,.84);
    font-size: .9rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 850;
  }

  .mark-all-seen-button {
    border: 1px solid rgba(255,241,207,.24);
    border-radius: 999px;
    padding: 8px 14px;
    color: var(--cream-bright);
    background: rgba(36,18,7,.62);
    font: inherit;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    transition:
      border-color .2s ease,
      background .2s ease,
      transform .2s ease,
      opacity .2s ease;
  }

  .mark-all-seen-button:hover:not(:disabled) {
    border-color: rgba(255,217,121,.72);
    background: rgba(139,42,31,.48);
    transform: translateY(-1px);
  }

  .mark-all-seen-button:disabled {
    opacity: .45;
    cursor: default;
  }

  .playlist-search {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(330px, 1fr);
    gap: 10px;
    margin-bottom: 14px;
  }

  .playlist-search input,
  .playlist-search select {
    width: 100%;
    border: 1px solid rgba(255,241,207,.26);
    border-radius: 16px;
    padding: 13px 15px;
    color: var(--cream-bright);
    background: rgba(36, 18, 7, .68);
    font: inherit;
    outline: none;
    transition:
      border-color .25s ease,
      background .25s ease,
      box-shadow .25s ease;
  }

  .playlist-search input::placeholder {
    color: rgba(255,241,207,.48);
  }

  .playlist-search select {
    cursor: pointer;
  }

  .playlist-search select option {
    color: #1a0f08;
    background: var(--cream-bright);
  }

  .playlist-search input:focus,
  .playlist-search select:focus {
    border-color: rgba(255,217,121,.72);
    background: rgba(24, 11, 4, .78);
    box-shadow: 0 0 0 4px rgba(255, 217, 121, .18);
  }

  .playlist-empty {
    grid-column: 1 / -1;
    padding: 20px;
    border: 1px dashed rgba(255,241,207,.24);
    border-radius: 16px;
    color: rgba(255,241,207,.72);
    text-align: center;
  }

  .playlist-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    overflow: visible;
    padding-right: 0;
  }

  .playlist-button {
    width: 100%;
    border: 1px solid rgba(255,241,207,.24);
    border-radius: 18px;
    padding: 13px 14px;
    text-align: left;
    color: rgba(255,241,207,.88);
    background:
      linear-gradient(180deg, rgba(255,241,207,.12), rgba(74,38,17,.32));
    cursor: pointer;
    transition:
      border-color .25s ease,
      background .25s ease,
      transform .25s ease,
      box-shadow .25s ease;
  }

  .playlist-button:hover,
  .playlist-button.is-active {
    border-color: rgba(255,217,121,.70);
    background:
      linear-gradient(135deg, rgba(255,217,121,.24), rgba(194,87,61,.28));
    color: var(--cream-bright);
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(0,0,0,.30);
  }

  .playlist-button strong {
    display: block;
    font-size: .98rem;
    line-height: 1.15;
    color: var(--cream-bright);
  }

  .playlist-button span {
    display: block;
    margin-top: 4px;
    font-size: .82rem;
    color: rgba(255,241,207,.72);
    line-height: 1.25;
  }

  .playlist-button span:empty {
    display: none;
  }

  .cta-row {
    width: min(1180px, calc(100% - 32px));
    margin: 40px auto 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }

  .info-card {
    padding: 24px;
    border-radius: 26px;
    background:
      linear-gradient(180deg, rgba(185,130,73,.30), rgba(74,38,17,.46));
    border: 1px solid rgba(255,241,207,.26);
    box-shadow: 0 20px 60px rgba(0,0,0,.30);
  }

  .info-card h3 {
    margin: 0 0 8px;
    font-size: 1.1rem;
    background: linear-gradient(
      90deg,
      var(--brass-light),
      var(--barn-red-light)
    );
    -webkit-background-clip: text;
    color: transparent;
  }

  .info-card p {
    margin: 0;
    color: rgba(255,241,207,.82);
    line-height: 1.45;
  }

  .legend-section {
    width: min(1180px, calc(100% - 32px));
    margin: 44px auto 64px;
    padding: 30px;
    border: 1px solid rgba(255,241,207,.34);
    border-radius: 34px;
    background:
      linear-gradient(180deg, rgba(185,130,73,.30), rgba(74,38,17,.48)),
      radial-gradient(circle at top left, rgba(255,217,121,.15), transparent 38%);
    box-shadow:
      0 32px 90px rgba(0, 0, 0, .46),
      inset 0 1px 0 rgba(255,241,207,.18);
    position: relative;
    z-index: 1;
  }

  .legend-section h2,
  .booking-section h2 {
    margin: 0 0 14px;
    font-size: clamp(2rem, 5vw, 4.2rem);
    line-height: .95;
    letter-spacing: -.055em;
    font-weight: 950;
    background: linear-gradient(
      90deg,
      var(--brass-light),
      var(--barn-red-light) 52%,
      var(--brass)
    );
    -webkit-background-clip: text;
    color: transparent;
    text-align: center;
  }

  .legend-intro {
    max-width: 860px;
    margin: 0 auto 28px;
    color: rgba(255,241,207,.86);
    font-size: clamp(1.05rem, 2vw, 1.22rem);
    line-height: 1.65;
    text-align: justify;
    text-justify: inter-word;
    hyphens: none;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    word-break: normal;
    overflow-wrap: normal;
  }

  .legend-intro p {
    margin: 0 0 16px;
    hyphens: none;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    word-break: normal;
    overflow-wrap: normal;
  }

  .legend-intro strong {
    color: var(--brass-light);
  }

  .legend-images {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    align-items: start;
  }

  .legend-images figure {
    margin: 0;
    padding: 10px;
    border-radius: 24px;
    background: rgba(36, 18, 7, .70);
    border: 1px solid rgba(255,241,207,.22);
    box-shadow: 0 18px 46px rgba(0,0,0,.34);
  }

  .legend-images img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 18px;
  }

  .legend-images figcaption {
    margin-top: 10px;
    color: rgba(255,241,207,.72);
    font-size: .9rem;
    text-align: center;
  }

  .legend-images .legend-image-wide {
    grid-column: 1 / -1;
    width: min(100%, 980px);
    justify-self: center;
    margin-top: 4px;
  }

  .legend-images .legend-image-wide img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
  }

  .booking-section {
    width: min(860px, calc(100% - 32px));
    margin: 44px auto 64px;
    padding: 30px;
    border: 1px solid rgba(255,241,207,.34);
    border-radius: 34px;
    background:
      linear-gradient(180deg, rgba(185,130,73,.34), rgba(74,38,17,.50)),
      radial-gradient(circle at top right, rgba(255,217,121,.16), transparent 38%);
    box-shadow:
      0 32px 90px rgba(0, 0, 0, .46),
      inset 0 1px 0 rgba(255,241,207,.18);
    position: relative;
    z-index: 1;
    text-align: center;
  }

  .booking-section p {
    max-width: 720px;
    margin: 0 auto 16px;
    color: rgba(255,241,207,.86);
    font-size: clamp(1.05rem, 2vw, 1.18rem);
    line-height: 1.65;
    text-align: justify;
    text-justify: inter-word;
    hyphens: none;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    word-break: normal;
    overflow-wrap: normal;
  }

  .price-box {
    margin: 26px auto 24px;
    padding: 22px;
    max-width: 720px;
    border-radius: 24px;
    background:
      linear-gradient(180deg, rgba(36, 18, 7, .72), rgba(74, 38, 17, .58));
    border: 1px solid rgba(255, 241, 207, .26);
    box-shadow:
      inset 0 1px 0 rgba(255, 241, 207, .14),
      0 18px 46px rgba(0, 0, 0, .30);
    text-align: center;
  }

  .price-box h3 {
    margin: 0 0 12px;
    font-size: 1.25rem;
    background: linear-gradient(
      90deg,
      var(--brass-light),
      var(--barn-red-light)
    );
    -webkit-background-clip: text;
    color: transparent;
  }

  .price-box p {
    margin: 0 0 12px;
    color: rgba(255,241,207,.86);
    line-height: 1.55;
  }

  .price-box strong {
    color: var(--brass-light);
  }

  .price-note {
    font-size: .95rem;
    color: rgba(255,241,207,.74);
  }

  .booking-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 12px;
    border-radius: 999px;
    padding: 14px 24px;
    color: #1a0f08;
    background: linear-gradient(
      135deg,
      var(--brass-light),
      var(--brass) 56%,
      var(--barn-red-light)
    );
    text-decoration: none;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
    box-shadow: 0 16px 42px rgba(255, 217, 121, .30);
    transition:
      transform .25s ease,
      box-shadow .25s ease,
      filter .25s ease;
  }

  .booking-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 52px rgba(255, 217, 121, .44);
    filter: brightness(1.06);
  }

  .contact-section {
    width: min(760px, calc(100% - 32px));
    margin: 32px auto 64px;
    padding: 28px;
    border: 1px solid rgba(255,241,207,.34);
    border-radius: 34px;
    background:
      linear-gradient(180deg, rgba(185,130,73,.32), rgba(74,38,17,.48)),
      radial-gradient(circle at top right, rgba(194,87,61,.20), transparent 34%);
    backdrop-filter: blur(18px);
    box-shadow:
      0 32px 90px rgba(0, 0, 0, .46),
      inset 0 1px 0 rgba(255,241,207,.18);
  }

  .contact-section h2 {
    margin: 0 0 10px;
    font-size: clamp(1.8rem, 4vw, 3rem);
    letter-spacing: -.04em;
    line-height: 1;
    background: linear-gradient(
      90deg,
      var(--brass-light),
      var(--barn-red-light),
      var(--brass)
    );
    -webkit-background-clip: text;
    color: transparent;
  }

  .contact-section p {
    margin: 0 0 24px;
    color: rgba(255,241,207,.84);
    font-size: clamp(1.05rem, 2vw, 1.18rem);
    line-height: 1.65;
    text-align: justify;
    text-justify: inter-word;
    hyphens: none;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    word-break: normal;
    overflow-wrap: normal;
  }

  .contact-form {
    display: grid;
    gap: 16px;
  }

  .contact-form label {
    display: grid;
    gap: 8px;
    color: rgba(255,241,207,.92);
    font-size: .95rem;
    font-weight: 850;
    letter-spacing: .04em;
  }

  .contact-form input,
  .contact-form textarea {
    width: 100%;
    border: 1px solid rgba(255,241,207,.26);
    border-radius: 18px;
    padding: 14px 15px;
    color: var(--cream-bright);
    background: rgba(36, 18, 7, .68);
    font: inherit;
    outline: none;
    transition:
      border-color .25s ease,
      background .25s ease,
      box-shadow .25s ease;
  }

  .contact-form input::placeholder,
  .contact-form textarea::placeholder {
    color: rgba(255,241,207,.48);
  }

  .contact-form input:focus,
  .contact-form textarea:focus {
    border-color: rgba(255,217,121,.72);
    background: rgba(24, 11, 4, .78);
    box-shadow: 0 0 0 4px rgba(255, 217, 121, .18);
  }

  .contact-form textarea {
    min-height: 150px;
    resize: vertical;
  }

  .contact-form button {
    justify-self: start;
    border: 0;
    border-radius: 999px;
    padding: 14px 24px;
    color: #1a0f08;
    background: linear-gradient(
      135deg,
      var(--brass-light),
      var(--brass) 56%,
      var(--barn-red-light)
    );
    font: inherit;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 16px 42px rgba(255, 217, 121, .30);
    transition:
      transform .25s ease,
      box-shadow .25s ease,
      filter .25s ease;
  }

  .contact-form button:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 52px rgba(255, 217, 121, .44);
    filter: brightness(1.06);
  }

  .contact-form button:active {
    transform: translateY(0);
  }

  .site-footer {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto 34px;
    padding: 22px;
    text-align: center;
    color: rgba(255,241,207,.62);
    font-size: .9rem;
    border-top: 1px solid rgba(255,241,207,.14);
  }

  .site-footer a {
    color: rgba(255,241,207,.90);
    text-decoration: none;
    border-bottom: 1px solid rgba(255,217,121,.64);
  }

  .site-footer a:hover {
    color: var(--brass-light);
    border-bottom-color: var(--barn-red-light);
  }

  .reveal-block {
    opacity: 0;
    transform:
      translateY(70px)
      rotateX(8deg)
      rotateZ(-1.8deg)
      scale(.97);
    transform-origin: center top;
    transition:
      opacity .9s ease,
      transform .9s cubic-bezier(.2, .8, .2, 1);
    will-change: opacity, transform;
  }

  .reveal-block.reveal-visible {
    opacity: 1;
    transform:
      translateY(0)
      rotateX(0deg)
      rotateZ(0deg)
      scale(1);
  }

  .reveal-block.reveal-alt {
    transform:
      translateY(70px)
      rotateX(8deg)
      rotateZ(1.8deg)
      scale(.97);
  }

  .reveal-block.reveal-alt.reveal-visible {
    transform:
      translateY(0)
      rotateX(0deg)
      rotateZ(0deg)
      scale(1);
  }

  @media (prefers-reduced-motion: reduce) {
    html {
      scroll-behavior: auto;
    }

    .reveal-block,
    .reveal-block.reveal-alt {
      opacity: 1;
      transform: none;
      transition: none;
    }
  }



  /* Mobiel: geen opbouw-/reveal-animatie. Direct alles zichtbaar. */
  @media (max-width: 820px) {
    .reveal-block,
    .reveal-block.reveal-alt {
      opacity: 1 !important;
      transform: none !important;
      transition: none !important;
      will-change: auto !important;
    }
  }

  @media (max-width: 1100px) {
    header,
    .hero,
    .player-shell,
    .cta-row,
    .legend-section,
    .site-footer {
      width: min(100% - 28px, 960px);
    }

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

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

    .cta-row .info-card:last-child {
      grid-column: 1 / -1;
    }
  }

  @media (max-width: 820px) {
    header {
      width: calc(100% - 24px);
      align-items: center;
      flex-direction: column;
      justify-content: center;
      gap: 18px;
      padding: 20px 0 18px;
      text-align: center;
    }

    .brand {
      width: 100%;
      justify-content: center;
    }

    .brand-link {
      justify-content: center;
    }

    .site-logo {
      width: 150px;
      height: 150px;
      margin: 0 auto;
    }

    nav {
      width: 100%;
      justify-content: center;
      gap: 10px;
    }

    nav a {
      font-size: 1rem;
      font-weight: 900;
      padding: 9px 12px;
      border-radius: 999px;
      background: rgba(36, 18, 7, .48);
      border: 1px solid rgba(255, 241, 207, .16);
    }

    nav a:hover::after {
      display: none;
    }

    .hero {
      width: calc(100% - 24px);
      padding: 34px 0 28px;
    }

    .hero-brand {
      font-size: clamp(2.6rem, 14vw, 5rem);
      letter-spacing: -.06em;
    }

    .hero h1 {
      font-size: clamp(2rem, 9vw, 3.2rem);
    }

    .hero p {
      font-size: 1.05rem;
    }

    .player-shell {
      width: calc(100% - 24px);
      padding: 18px;
      border-radius: 26px;
    }

    .now-playing {
      grid-template-columns: 1fr;
      padding: 16px;
      border-radius: 20px;
    }

    .audio-stack {
      width: 100%;
    }



    .lyrics-panel {
      padding: 14px;
      border-radius: 20px;
    }

    .lyrics-header {
      align-items: flex-start;
      flex-direction: column;
      gap: 6px;
      padding: 13px 14px;
      border-radius: 16px;
    }

    .lyrics-track-title {
      text-align: left;
      font-size: .92rem;
    }

    .lyrics-content {
      max-height: 360px;
      padding: 14px;
      font-size: .96rem;
    }

    .playlist {
      padding: 12px;
      border-radius: 20px;
    }

    .playlist-header {
      align-items: flex-start;
      flex-direction: column;
      gap: 4px;
    }

    .mark-all-seen-button {
      width: 100%;
      margin-top: 6px;
    }

    .playlist-search {
      grid-template-columns: 1fr;
    }

    .playlist-list {
      grid-template-columns: 1fr;
      gap: 9px;
    }

    .playlist-button {
      padding: 14px 46px 14px 14px;
      border-radius: 16px;
    }

    .playlist-button strong {
      font-size: 1rem;
    }

    .cta-row {
      width: calc(100% - 24px);
      grid-template-columns: 1fr;
      margin-top: 28px;
    }

    .cta-row .info-card:last-child {
      grid-column: auto;
    }

    .info-card {
      padding: 20px;
      border-radius: 22px;
    }

    .legend-section,
    .booking-section,
    .contact-section {
      width: calc(100% - 24px);
      padding: 20px;
      border-radius: 26px;
      margin-top: 34px;
      margin-bottom: 44px;
    }

    .legend-intro {
      text-align: justify;
      text-justify: inter-word;
      hyphens: none;
      -webkit-hyphens: none;
      -moz-hyphens: none;
      -ms-hyphens: none;
      word-break: normal;
      overflow-wrap: normal;
    }

    .legend-images {
      grid-template-columns: 1fr;
    }

    .booking-section {
      text-align: left;
    }

    .booking-section h2 {
      text-align: center;
    }

    .booking-button,
    .contact-form button {
      width: 100%;
    }

    .site-share-wrap {
      width: 100%;
    }

    .site-share-button {
      width: min(100%, 360px);
    }

    .site-share-button--icon {
      width: 52px;
      min-width: 52px;
      height: 52px;
      padding: 0;
    }

    .contact-section p {
      text-align: justify;
      text-justify: inter-word;
      hyphens: none;
      -webkit-hyphens: none;
      -moz-hyphens: none;
      -ms-hyphens: none;
      word-break: normal;
      overflow-wrap: normal;
    }

    .site-footer {
      width: calc(100% - 24px);
      padding: 18px 12px;
    }
  }

  @media (max-width: 520px) {
    header {
      width: calc(100% - 18px);
      padding-top: 16px;
    }

    .site-logo {
      width: 122px;
      height: 122px;
    }

    nav {
      gap: 8px;
    }

    nav a {
      font-size: .92rem;
      padding: 8px 10px;
    }

    .hero,
    .player-shell,
    .cta-row,
    .legend-section,
    .booking-section,
    .contact-section,
    .site-footer {
      width: calc(100% - 18px);
    }

    .hero {
      padding: 28px 0 22px;
    }

    .hero-brand {
      font-size: clamp(2.35rem, 15vw, 3.8rem);
    }

    .hero h1 {
      font-size: clamp(1.85rem, 10vw, 2.75rem);
      line-height: 1.02;
    }

    .hero p,
    .legend-intro,
    .booking-section p,
    .contact-section p {
      font-size: 1rem;
      line-height: 1.55;
    }

    .player-shell {
      padding: 14px;
      border-radius: 22px;
    }

    .now-playing {
      padding: 14px;
    }

    .track-title {
      font-size: 1.02rem;
    }

    .track-meta {
      font-size: .88rem;
    }

    .vu-meter {
      height: 46px;
      gap: 3px;
      padding: 8px;
    }

    .playlist-button {
      padding: 13px 44px 13px 13px;
    }

    .info-card,
    .legend-section,
    .booking-section,
    .contact-section {
      padding: 18px;
    }

    .legend-section h2,
    .booking-section h2 {
      font-size: clamp(1.9rem, 11vw, 2.8rem);
    }

    .contact-section h2 {
      font-size: clamp(1.8rem, 10vw, 2.5rem);
    }

    .contact-form input,
    .contact-form textarea {
      border-radius: 15px;
      padding: 13px;
    }
  }

  @media (max-width: 380px) {
    .site-logo {
      width: 104px;
      height: 104px;
    }

    nav a {
      font-size: .86rem;
      padding: 7px 9px;
    }

    .hero-brand {
      letter-spacing: -.045em;
    }

    .playlist-header {
      font-size: .78rem;
    }
  }
  

  /* Mobiele/root scroll-fix: precies één verticale scrollbar.
     Alleen het root-element (html) beheert de paginascroll; body blijft gewone inhoud. */
  html {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
  }

  body {
    width: 100%;
    max-width: none;
    overflow: visible;
    touch-action: pan-y;
  }

  @media (max-width: 820px) {
    *,
    *::before,
    *::after {
      max-width: 100%;
    }

    header,
    .hero,
    .player-shell,
    .cta-row,
    .legend-section,
    .booking-section,
    .contact-section,
    .site-footer {
      width: calc(100vw - 18px);
      max-width: calc(100vw - 18px);
      margin-left: auto;
      margin-right: auto;
    }

    .player-shell,
    .now-playing,
    .track-display,
    .track-art-wrap,
    .audio-stack,
    .equalizer-panel,
    .lyrics-panel,
    .lyrics-header,
    .lyrics-content,
    .playlist,
    .playlist-search,
    .playlist-list,
    .playlist-button,
    .info-card,
    .price-box,
    .contact-form,
    .contact-form label,
    .contact-form input,
    .contact-form textarea,
    .contact-form button {
      min-width: 0;
      max-width: 100%;
    }

    .player-shell {
      padding-left: 12px;
      padding-right: 12px;
    }

    .now-playing {
      grid-template-columns: minmax(0, 1fr);
    }

    .track-display {
      grid-template-columns: minmax(0, 1fr);
      width: 100%;
    }

    .track-art-wrap {
      width: 100%;
      max-width: 100%;
    }

    .lyrics-current-line {
      font-size: clamp(1rem, 7vw, 1.55rem);
      overflow-wrap: anywhere;
    }

    .lyrics-track-title,
    .playlist-button strong,
    .playlist-button span,
    .hero-brand,
    .hero h1 {
      overflow-wrap: anywhere;
      word-break: normal;
    }

    .playlist-button {
      width: 100%;
    }
  }

  @media (max-width: 520px) {
    header,
    .hero,
    .player-shell,
    .cta-row,
    .legend-section,
    .booking-section,
    .contact-section,
    .site-footer {
      width: calc(100vw - 12px);
      max-width: calc(100vw - 12px);
    }

    .player-shell {
      padding: 10px;
    }

    .now-playing,
    .lyrics-panel,
    .playlist {
      padding: 10px;
    }

    .lyrics-header {
      padding: 12px 13px;
    }

    .lyrics-content {
      padding: 12px;
    }
  }

  /* Zelf samengestelde optreden-playlists */
  .playlist-manager {
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid rgba(255,217,121,.34);
    border-radius: 20px;
    background: rgba(36,18,7,.58);
  }

  .playlist-manager-row {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto auto auto;
    gap: 10px;
    align-items: center;
  }

  .playlist-manager select,
  .playlist-manager input {
    width: 100%;
    border: 1px solid rgba(255,241,207,.26);
    border-radius: 14px;
    padding: 11px 13px;
    color: var(--cream-bright);
    background: rgba(24,11,4,.76);
    font: inherit;
  }

  .playlist-manager select option { color: #1a0f08; background: var(--cream-bright); }

  .playlist-action-button,
  .track-add-button,
  .playlist-item-button {
    border: 1px solid rgba(255,217,121,.42);
    border-radius: 999px;
    padding: 10px 13px;
    color: var(--cream-bright);
    background: rgba(139,42,31,.44);
    font: inherit;
    font-weight: 900;
    cursor: pointer;
  }

  .playlist-action-button:hover,
  .track-add-button:hover,
  .playlist-item-button:hover { border-color: var(--brass-light); filter: brightness(1.08); }

  .playlist-action-button--start {
    color: #1a0f08;
    background: linear-gradient(135deg, var(--brass-light), var(--brass), var(--barn-red-light));
  }

  .playlist-manager-status {
    margin: 12px 0 0;
    min-height: 1.2em;
    color: rgba(255,241,207,.72);
    font-size: .88rem;
  }

  .custom-playlist-list { display: grid; gap: 8px; margin-top: 14px; }

  .custom-playlist-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    gap: 8px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid rgba(255,241,207,.18);
    border-radius: 15px;
    background: rgba(255,241,207,.07);
  }

  .custom-playlist-item.is-playing { border-color: var(--brass-light); background: rgba(255,217,121,.15); }
  .custom-playlist-item-title { min-width: 0; font-weight: 850; overflow-wrap: anywhere; }
  .playlist-item-button { padding: 7px 10px; min-width: 38px; }

  /* Track-meta: genre blijft altijd rustig zichtbaar */
  .playlist-meta-line {
    min-height: 22px;
    margin-top: 4px;
  }

  .playlist-button .playlist-meta-text {
    display: block;
    margin-top: 0;
  }

  .playlist-track-wrap { position: relative; }
  .playlist-track-wrap .playlist-button { padding-right: 54px; }
  .track-add-button {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    padding: 0;
    z-index: 2;
    font-size: 1.2rem;
    line-height: 1;
  }

  @media (max-width: 820px) {
    .playlist-manager-row { grid-template-columns: 1fr 1fr; }
    .playlist-manager-row select { grid-column: 1 / -1; }
    .custom-playlist-item { grid-template-columns: minmax(0, 1fr) auto auto auto; }
  }



  /* ==========================================================
     PLAYLIST – OPTIE 1
     Ingebouwd hi-fi paneel, visueel afgestemd op de equalizer
     ========================================================== */
  .playlist {
    position: relative;
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(255,241,207,.22);
    border-radius: 24px;
    background:
      radial-gradient(circle at 50% 0%, rgba(255,217,121,.08), transparent 36%),
      linear-gradient(180deg, rgba(58,29,12,.92), rgba(26,12,5,.94));
    box-shadow:
      inset 0 1px 0 rgba(255,241,207,.11),
      inset 0 -18px 34px rgba(0,0,0,.20),
      inset 0 0 28px rgba(0,0,0,.26),
      0 14px 30px rgba(0,0,0,.18);
    overflow: hidden;
  }

  .playlist::before {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px solid rgba(255,217,121,.10);
    border-radius: 18px;
    pointer-events: none;
  }

  .playlist-header {
    position: relative;
    z-index: 1;
    min-height: 58px;
    margin-bottom: 14px;
    padding: 11px 14px;
    border: 1px solid rgba(255,241,207,.16);
    border-radius: 18px;
    background:
      radial-gradient(circle at 50% 10%, rgba(255,217,121,.10), transparent 55%),
      linear-gradient(180deg, rgba(83,42,18,.72), rgba(29,14,6,.80));
    box-shadow:
      inset 0 1px 0 rgba(255,241,207,.10),
      inset 0 -10px 18px rgba(0,0,0,.18),
      0 8px 18px rgba(0,0,0,.18);
  }

  .playlist-header > span:first-child {
    color: var(--brass-light);
    font-size: .92rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-shadow: 0 0 14px rgba(255,217,121,.14);
  }

  #trackCount {
    min-width: 88px;
    padding: 7px 11px;
    border: 1px solid rgba(255,241,207,.14);
    border-radius: 999px;
    color: var(--brass-light);
    background: rgba(8,6,4,.42);
    text-align: center;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .06em;
  }

  .mark-all-seen-button {
    border-color: rgba(255,241,207,.18);
    background:
      linear-gradient(180deg, rgba(96,50,23,.74), rgba(45,21,9,.78));
    box-shadow:
      inset 0 1px 0 rgba(255,241,207,.08),
      0 6px 14px rgba(0,0,0,.18);
  }

  .playlist-manager {
    position: relative;
    z-index: 1;
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid rgba(255,241,207,.16);
    border-radius: 18px;
    background:
      radial-gradient(circle at 50% 15%, rgba(255,217,121,.08), transparent 48%),
      linear-gradient(180deg, rgba(74,38,17,.62), rgba(24,11,4,.72));
    box-shadow:
      inset 0 1px 0 rgba(255,241,207,.08),
      inset 0 -14px 24px rgba(0,0,0,.17),
      0 10px 22px rgba(0,0,0,.15);
  }

  .playlist-manager-row {
    gap: 12px;
  }

  .playlist-manager select,
  .playlist-manager input {
    min-height: 46px;
    border: 1px solid rgba(255,241,207,.18);
    border-radius: 14px;
    padding: 11px 14px;
    color: var(--brass-light);
    background:
      linear-gradient(180deg, rgba(12,7,4,.86), rgba(28,14,7,.92));
    box-shadow:
      inset 0 2px 8px rgba(0,0,0,.52),
      inset 0 1px 0 rgba(255,241,207,.04);
    font-weight: 850;
    outline: none;
  }

  .playlist-manager select:focus,
  .playlist-manager input:focus {
    border-color: rgba(255,217,121,.62);
    box-shadow:
      inset 0 2px 8px rgba(0,0,0,.52),
      0 0 0 3px rgba(255,217,121,.10),
      0 0 16px rgba(255,217,121,.10);
  }

  .playlist-action-button,
  .track-add-button,
  .playlist-item-button {
    border: 1px solid rgba(255,241,207,.18);
    color: var(--cream-bright);
    background:
      radial-gradient(circle at 50% 0%, rgba(255,217,121,.12), transparent 55%),
      linear-gradient(180deg, rgba(96,50,23,.82), rgba(52,24,10,.88));
    box-shadow:
      inset 0 1px 0 rgba(255,241,207,.10),
      inset 0 -7px 12px rgba(0,0,0,.16),
      0 7px 14px rgba(0,0,0,.20);
    transition:
      border-color .18s ease,
      filter .18s ease,
      transform .18s ease,
      box-shadow .18s ease;
  }

  .playlist-action-button:hover,
  .track-add-button:hover,
  .playlist-item-button:hover {
    border-color: rgba(255,217,121,.68);
    filter: brightness(1.05);
    transform: translateY(-1px);
    box-shadow:
      inset 0 1px 0 rgba(255,241,207,.12),
      0 9px 18px rgba(0,0,0,.24),
      0 0 15px rgba(255,217,121,.10);
  }

  .playlist-action-button:active,
  .track-add-button:active,
  .playlist-item-button:active {
    transform: translateY(1px);
    box-shadow:
      inset 0 3px 8px rgba(0,0,0,.30),
      0 3px 8px rgba(0,0,0,.16);
  }

  .playlist-action-button--start {
    color: #1a0f08;
    border-color: rgba(255,217,121,.60);
    background:
      linear-gradient(135deg, var(--brass-light), var(--brass) 58%, #bc673e);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.32),
      inset 0 -6px 12px rgba(101,45,18,.18),
      0 8px 18px rgba(0,0,0,.24),
      0 0 16px rgba(255,217,121,.10);
  }

  .playlist-manager-status {
    position: relative;
    z-index: 1;
    color: rgba(255,241,207,.60);
  }

  .custom-playlist-list {
    position: relative;
    z-index: 1;
  }

  .custom-playlist-item {
    border-color: rgba(255,241,207,.14);
    background:
      linear-gradient(180deg, rgba(255,241,207,.07), rgba(43,21,9,.26));
    box-shadow: inset 0 1px 0 rgba(255,241,207,.05);
  }

  .playlist-search {
    position: relative;
    z-index: 1;
    padding: 14px;
    border: 1px solid rgba(255,241,207,.13);
    border-radius: 18px;
    background: rgba(18,9,4,.38);
    box-shadow: inset 0 0 18px rgba(0,0,0,.18);
  }

  .playlist-search input,
  .playlist-search select {
    border-color: rgba(255,241,207,.17);
    background: rgba(12,7,4,.70);
    box-shadow: inset 0 2px 7px rgba(0,0,0,.32);
  }

  .playlist-list {
    position: relative;
    z-index: 1;
  }

  .playlist-empty {
    min-height: 78px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,241,207,.14);
    border-radius: 16px;
    color: rgba(255,241,207,.62);
    background:
      linear-gradient(180deg, rgba(12,7,4,.46), rgba(32,15,7,.36));
    box-shadow:
      inset 0 2px 10px rgba(0,0,0,.25),
      inset 0 1px 0 rgba(255,241,207,.03);
  }

  @media (max-width: 820px) {
    .playlist {
      padding: 12px;
      border-radius: 20px;
    }

    .playlist-header {
      padding: 12px;
    }

    .playlist-manager {
      padding: 12px;
    }

    .playlist-manager-row {
      gap: 9px;
    }

    .playlist-search {
      padding: 10px;
    }
  }



  /* Definitieve root-scroll override */
  html {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
  body {
    overflow: visible !important;
  }

  /* =========================================================
     TAMPELOERES NEONGLOED
     Warme amberkleurige gloed rond de hoofdpanelen.
     Gebaseerd op de uitstraling van de DJ-modus, maar subtieler.
     ========================================================= */

  .player-shell,
  .legend-section,
  .booking-section,
  .contact-section {
    position: relative;
    isolation: isolate;
    border-color: rgba(255, 183, 63, .68);
    box-shadow:
      0 0 0 1px rgba(255, 195, 79, .18),
      0 0 14px rgba(255, 170, 35, .24),
      0 0 34px rgba(255, 142, 15, .18),
      0 0 78px rgba(255, 118, 0, .11),
      0 32px 90px rgba(0, 0, 0, .48),
      inset 0 1px 0 rgba(255, 241, 207, .22);
  }

  .player-shell::before,
  .legend-section::before,
  .booking-section::before,
  .contact-section::before {
    content: "";
    position: absolute;
    inset: -3px;
    z-index: -1;
    pointer-events: none;
    border-radius: inherit;
    border: 1px solid rgba(255, 190, 66, .82);
    box-shadow:
      0 0 8px rgba(255, 203, 99, .78),
      0 0 18px rgba(255, 164, 32, .48),
      0 0 42px rgba(255, 128, 0, .25);
    opacity: .78;
  }

  /* De speler krijgt iets meer nadruk: dit is het visuele hart van de pagina. */
  .player-shell {
    box-shadow:
      0 0 0 1px rgba(255, 204, 103, .22),
      0 0 18px rgba(255, 179, 46, .34),
      0 0 48px rgba(255, 139, 12, .24),
      0 0 105px rgba(255, 111, 0, .13),
      0 34px 94px rgba(0, 0, 0, .50),
      inset 0 1px 0 rgba(255, 241, 207, .22);
  }

  .player-shell::before {
    border-color: rgba(255, 196, 70, .95);
    box-shadow:
      0 0 8px rgba(255, 218, 128, .92),
      0 0 22px rgba(255, 170, 35, .62),
      0 0 56px rgba(255, 126, 0, .32);
    opacity: .92;
  }

  /* Op kleinere schermen iets minder gloed om clipping en visuele drukte te voorkomen. */
  @media (max-width: 820px) {
    .player-shell,
    .legend-section,
    .booking-section,
    .contact-section {
      box-shadow:
        0 0 0 1px rgba(255, 195, 79, .16),
        0 0 12px rgba(255, 160, 28, .22),
        0 0 28px rgba(255, 126, 0, .15),
        0 20px 56px rgba(0, 0, 0, .42),
        inset 0 1px 0 rgba(255, 241, 207, .18);
    }

    .player-shell::before,
    .legend-section::before,
    .booking-section::before,
    .contact-section::before {
      inset: -2px;
      box-shadow:
        0 0 7px rgba(255, 203, 99, .62),
        0 0 18px rgba(255, 145, 18, .34);
    }
  }


  /* =========================================================
     CONSOLE HEADER + CURRENT TRACK — ontwerp 11
     ========================================================= */
  .console-header {
    width: min(1180px, calc(100% - 32px));
    margin: 30px auto 24px;
    padding: 22px 24px;
    display: grid;
    grid-template-columns: 150px minmax(330px, 1fr) minmax(430px, .92fr);
    align-items: center;
    gap: 24px;
    border: 1px solid rgba(255,196,70,.95);
    border-radius: 28px;
    background:
      radial-gradient(circle at 15% 20%, rgba(255,184,56,.13), transparent 30%),
      linear-gradient(180deg, rgba(47,24,10,.94), rgba(20,10,5,.96));
    box-shadow:
      0 0 0 1px rgba(255,204,103,.18),
      0 0 10px rgba(255,218,128,.80),
      0 0 28px rgba(255,170,35,.50),
      0 0 76px rgba(255,126,0,.22),
      0 28px 70px rgba(0,0,0,.42),
      inset 0 1px 0 rgba(255,241,207,.14);
    position: relative;
    z-index: 3;
  }

  .console-brand-avatar {
    display: block;
    width: 142px;
    height: 142px;
    border-radius: 50%;
    padding: 4px;
    background: rgba(16,8,4,.9);
    border: 2px solid rgba(255,190,66,.86);
    box-shadow: 0 0 15px rgba(255,183,46,.32), 0 0 34px rgba(255,126,0,.16);
  }
  .console-brand-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display:block; }

  .console-brand-copy { min-width: 0; }
  .console-brand-title {
    margin: 0 0 2px;
    font-size: clamp(2.5rem, 5vw, 4.7rem);
    line-height: .92;
    font-weight: 1000;
    letter-spacing: -.055em;
    text-transform: none;
    background: linear-gradient(90deg, #ffc464 0%, #d96945 55%, #e3a23f 100%);
    -webkit-background-clip: text;
    color: transparent;
    text-shadow: 0 0 30px rgba(255,158,49,.10);
  }
  .console-brand-copy h1 {
    margin: 7px 0 5px;
    color: var(--cream-bright);
    font-size: clamp(1.35rem, 2.3vw, 2.25rem);
    line-height: 1.05;
    letter-spacing: -.035em;
  }
  .console-brand-copy p { margin: 0; color: rgba(255,241,207,.74); font-size: .98rem; }
  .console-socials { display:flex; align-items:center; gap:10px; margin-top:14px; min-height:42px; }
  .console-social-button {
    width: 42px; height: 42px; border-radius: 50%; display:grid; place-items:center;
    border: 1px solid rgba(255,188,61,.76); background: rgba(42,20,8,.72); color: var(--brass-light);
    box-shadow: inset 0 1px 0 rgba(255,241,207,.10), 0 0 16px rgba(255,151,23,.14);
    cursor:pointer; text-decoration:none; transition: .2s ease;
  }
  .console-social-button:hover { transform: translateY(-2px); box-shadow: 0 0 22px rgba(255,165,30,.30); }
  .console-social-button svg { width:21px; height:21px; }
  .console-share-feedback { color: rgba(255,241,207,.66); font-size:.78rem; }

  .console-nav { display:grid; grid-template-columns: repeat(4, minmax(92px,1fr)); gap:12px; }
  .console-nav-tile {
    min-height: 106px; padding: 14px 9px 12px; border-radius: 18px;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px;
    color: rgba(255,228,175,.92); text-decoration:none; text-transform:uppercase;
    font-size:.78rem; font-weight:950; letter-spacing:.035em;
    border: 1px solid rgba(255,173,44,.68);
    background: linear-gradient(180deg, rgba(70,34,13,.78), rgba(26,12,5,.82));
    box-shadow: inset 0 1px 0 rgba(255,241,207,.08), 0 0 14px rgba(255,133,0,.12);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, color .2s ease;
  }
  .console-nav-tile svg { width:28px; height:28px; color:#eaaa47; }
  .console-nav-tile::after { display:none !important; content:none !important; }
  .console-nav-tile:hover { transform:translateY(-2px); color:#fff1cf; border-color:rgba(255,203,103,.95); box-shadow:0 0 18px rgba(255,166,30,.26), inset 0 1px 0 rgba(255,241,207,.10); }

  /* De oude hero/header hoeven in deze opzet niet meer mee te doen. */
  body > header:not(.console-header), .hero { display:none !important; }

  .now-playing { grid-template-columns: minmax(0, 2fr) minmax(330px, 1fr); align-items:stretch; }
  .track-display { min-height: 0; }
  .track-art-wrap { max-width:none; height:100%; min-height: 360px; }
  .track-art { object-fit:cover; }
  .audio-stack { width:100%; align-self:stretch; grid-template-rows:auto 1fr; }

  .current-track-panel {
    padding: 15px 16px 14px;
    border-radius: 18px;
    border: 1px solid rgba(255,174,45,.34);
    background: linear-gradient(180deg, rgba(42,20,8,.82), rgba(14,7,3,.86));
    box-shadow: inset 0 1px 0 rgba(255,241,207,.06), inset 0 -16px 34px rgba(0,0,0,.18);
    min-width: 0;
  }
  .current-track-label { color:#f1b550; font-size:.78rem; font-weight:950; text-transform:uppercase; letter-spacing:.08em; margin-bottom:11px; }
  .current-track-main { display:grid; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:12px; }
  .console-play-button, .console-transport button {
    border:1px solid rgba(255,174,45,.44); color:#f4bd5e; background:rgba(44,20,8,.74); cursor:pointer;
    box-shadow: inset 0 1px 0 rgba(255,241,207,.06); transition:.18s ease;
  }
  .console-play-button { width:46px; height:46px; border-radius:14px; font-size:1rem; }
  .console-play-button:hover, .console-transport button:hover { border-color:rgba(255,207,111,.82); box-shadow:0 0 18px rgba(255,155,28,.16); }
  .track-info { display:block !important; min-width:0; }
  .track-title { margin:0 0 3px; font-size:1rem; line-height:1.15; text-align:left; color:var(--cream-bright); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .track-meta { text-align:left; font-size:.82rem; color:rgba(255,222,169,.72); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

  .console-wave { height:34px; display:flex; align-items:center; gap:3px; margin:12px 0 4px; overflow:hidden; }
  .console-wave span { flex:1; min-width:2px; border-radius:999px; background:linear-gradient(180deg,#ffc35f,#cf651f); opacity:.86; }
  .console-wave span:nth-child(4n+1){height:30%}.console-wave span:nth-child(4n+2){height:72%}.console-wave span:nth-child(4n+3){height:46%}.console-wave span:nth-child(4n){height:90%}
  .current-track-panel.is-playing .console-wave span { animation: consoleWave .8s ease-in-out infinite alternate; }
  .current-track-panel.is-playing .console-wave span:nth-child(2n){animation-delay:-.2s}.current-track-panel.is-playing .console-wave span:nth-child(3n){animation-delay:-.45s}
  @keyframes consoleWave { from{transform:scaleY(.45);opacity:.45} to{transform:scaleY(1);opacity:1} }

  .console-progress-row { display:grid; grid-template-columns:38px 1fr 38px; align-items:center; gap:8px; color:rgba(255,228,181,.72); font-size:.7rem; font-variant-numeric:tabular-nums; }
  .console-progress-row input { width:100%; accent-color:#eaa742; cursor:pointer; }
  .console-transport { display:flex; justify-content:center; align-items:center; gap:14px; margin-top:10px; }
  .console-transport button { width:42px; height:38px; border-radius:12px; font-size:1rem; }
  .console-transport .console-main-play { width:50px; height:50px; border-radius:50%; color:#241005; background:linear-gradient(135deg,#ffd271,#e89734); border-color:rgba(255,216,136,.85); box-shadow:0 0 18px rgba(255,163,31,.24); }

  @media (max-width: 1040px) {
    .console-header { grid-template-columns:120px 1fr; }
    .console-brand-avatar { width:116px; height:116px; }
    .console-nav { grid-column:1 / -1; }
    .console-nav-tile { min-height:78px; flex-direction:row; }
    .console-nav-tile svg { width:23px; height:23px; }
    .now-playing { grid-template-columns:1fr; }
    .track-art-wrap { min-height: 0; }
  }
  @media (max-width: 620px) {
    .console-header { width:calc(100% - 24px); margin-top:18px; padding:16px; grid-template-columns:82px 1fr; gap:14px; border-radius:22px; }
    .console-brand-avatar { width:78px; height:78px; }
    .console-brand-title { font-size:clamp(1.85rem,10vw,2.7rem); }
    .console-brand-copy h1 { font-size:1.18rem; }
    .console-brand-copy p { font-size:.82rem; }
    .console-socials { margin-top:10px; }
    .console-social-button { width:36px; height:36px; }
    .console-nav { grid-template-columns:repeat(2,1fr); gap:8px; }
    .console-nav-tile { min-height:58px; border-radius:14px; font-size:.72rem; gap:7px; }
    .console-nav-tile svg { width:20px; height:20px; }
    .current-track-panel { padding:13px; }
    .console-progress-row { grid-template-columns:34px 1fr 34px; }
  }



  /* Gelijke donkere achtergrond voor Legende, Boeken en Contact */
  .legend-section,
  .booking-section,
  .contact-section {
    background: rgba(36, 18, 7, .70);
  }


@media (max-width: 820px){
  .lyrics-header h2,
  .lyrics-header .lyrics-label,
  .lyrics-header .section-title{
    display:none !important;
  }
  .lyrics-header{
    padding-top:14px !important;
    padding-bottom:14px !important;
    justify-content:flex-start !important;
  }
}


@media (max-width:820px){
  .lyrics-track-title,
  .lyrics-title-card,
  .song-title-card,
  .current-song-title{
    display:none !important;
  }
}


@media (max-width:820px){
  .lyrics-header,
  .lyrics-title-card,
  .lyrics-track-title,
  .song-title-card,
  .current-song-title{
    display:none !important;
  }

  /* verwijder de lege ruimte boven de lyrics */
  .lyrics-panel{
    padding-top:0 !important;
  }
  .lyrics-content{
    margin-top:0 !important;
  }
}

/* Geen neonwaas achter de pagina-layout. */
body {
  background: linear-gradient(135deg, #070402 0%, #1b0d06 55%, #050302 100%) !important;
}

/* =========================================================
   DASHBOARD LAYOUT — ontwerp 12
   Gebaseerd op de gekozen mock-up: artwork + playlist links,
   equalizer + huidige track rechts.
   ========================================================= */

/* De hoofdconsole wordt één samenhangend dashboard. */
.player-shell {
  width: min(1180px, calc(100% - 32px));
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(330px, 1fr);
  grid-template-rows: auto auto auto;
  gap: 18px;
  padding: 18px !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(255,181,55,.11), transparent 30%),
    linear-gradient(180deg, rgba(67,36,17,.88), rgba(31,15,7,.94)) !important;
  border: 1px solid rgba(255,184,57,.78) !important;
  box-shadow:
    0 0 0 1px rgba(255,210,120,.12),
    0 0 10px rgba(255,207,108,.66),
    0 0 30px rgba(255,145,12,.34),
    0 0 72px rgba(255,104,0,.13),
    0 30px 76px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,241,207,.12) !important;
}

/* Laat de twee kinderen van .now-playing rechtstreeks in het dashboard-grid vallen. */
.now-playing {
  display: contents !important;
}

.track-display {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.track-art-wrap {
  width: 100%;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  margin: 0;
  border-radius: 22px !important;
  border: 1px solid rgba(255,178,48,.50) !important;
  background: #120904;
  box-shadow:
    inset 0 0 0 1px rgba(255,240,200,.04),
    0 10px 30px rgba(0,0,0,.30) !important;
}

.track-art {
  object-fit: cover !important;
}

.audio-stack {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 100% !important;
  align-self: start;
  display: grid !important;
  grid-template-rows: auto auto !important;
  gap: 18px !important;
}

.equalizer-panel,
.current-track-panel {
  border: 1px solid rgba(255,176,48,.46) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,169,37,.07), transparent 38%),
    linear-gradient(180deg, rgba(49,24,10,.93), rgba(23,11,5,.96)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,241,207,.07),
    inset 0 -20px 34px rgba(0,0,0,.16),
    0 10px 28px rgba(0,0,0,.24) !important;
}

.equalizer-panel {
  padding: 18px !important;
}

.equalizer-header {
  margin-bottom: 16px !important;
}

.equalizer-header strong,
.current-track-label {
  color: #f3bd5c !important;
  font-size: .82rem !important;
  letter-spacing: .07em !important;
}

.equalizer-controls {
  gap: 12px !important;
}

.eq-control {
  padding: 15px 7px 12px !important;
  border-radius: 17px !important;
  border-color: rgba(255,193,80,.22) !important;
  background:
    radial-gradient(circle at 50% 16%, rgba(255,183,52,.10), transparent 42%),
    linear-gradient(180deg, rgba(89,46,20,.60), rgba(29,14,6,.75)) !important;
}

.eq-knob-wrap {
  width: 84px !important;
  height: 84px !important;
}

.eq-knob {
  width: 62px !important;
  height: 62px !important;
}

.current-track-panel {
  padding: 22px 20px 18px !important;
  min-height: 278px;
  display: flex;
  flex-direction: column;
}

.current-track-label {
  margin-bottom: 26px !important;
}

/* In deze versie geen klein play-knopje naast de titel; de grote transportknop is leidend. */
.console-play-button {
  display: none !important;
}

.current-track-main {
  display: block !important;
}

.current-track-panel .track-info {
  display: block !important;
}

.current-track-panel .track-title {
  margin: 0 0 7px !important;
  color: #fff5df !important;
  font-size: clamp(1.35rem, 2.1vw, 1.85rem) !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.current-track-panel .track-meta {
  color: rgba(255,226,180,.74) !important;
  font-size: 1rem !important;
  text-align: left !important;
}

/* De gekozen mock-up is rustiger: waveform uit, voortgangsbalk blijft. */
.console-wave {
  display: none !important;
}

.console-progress-row {
  margin-top: auto;
  padding-top: 26px;
  grid-template-columns: 42px minmax(0,1fr) 42px !important;
  gap: 9px !important;
  color: rgba(255,229,188,.78) !important;
  font-size: .72rem !important;
}

.console-progress-row input[type="range"] {
  accent-color: #efad45;
}

.console-transport {
  margin-top: 18px !important;
  gap: 18px !important;
}

.console-transport button {
  width: 48px !important;
  height: 48px !important;
  border-radius: 15px !important;
}

.console-transport .console-main-play {
  width: 64px !important;
  height: 64px !important;
  font-size: 1.18rem !important;
  box-shadow:
    0 0 0 1px rgba(255,225,160,.16),
    0 0 24px rgba(255,158,23,.26) !important;
}

/* Playlist direct onder het artwork. */
.playlist {
  grid-column: 1;
  grid-row: 2;
  margin-top: 0 !important;
  padding: 14px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,177,47,.42) !important;
  background:
    linear-gradient(180deg, rgba(70,34,13,.72), rgba(31,15,7,.86)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,241,207,.06),
    0 10px 28px rgba(0,0,0,.22) !important;
}

.playlist-header {
  min-height: 54px;
  margin: 0 0 12px !important;
  padding: 10px 12px;
  border-radius: 15px;
  border: 1px solid rgba(255,194,76,.18);
  background: rgba(31,14,5,.34);
}

.playlist-manager {
  margin-top: 0 !important;
}

.playlist-manager-row {
  grid-template-columns: minmax(230px, 1.6fr) auto auto auto !important;
  gap: 10px !important;
}

/* De catalogus blijft beschikbaar, maar krijgt visueel een tweede laag onder het playlistbeheer. */
.playlist-search,
.playlist-list {
  margin-top: 14px;
}

.lyrics-panel {
  grid-column: 1 / -1;
  grid-row: 3;
  margin-top: 0 !important;
}

/* Header iets compacter en dichter bij het dashboard, zoals in de mock-up. */
.console-header {
  margin-bottom: 18px !important;
}

.console-nav-tile {
  min-height: 98px !important;
}

.site-footer {
  border-top-color: rgba(255,177,47,.24) !important;
}

/* Tablet */
@media (max-width: 1040px) {
  .player-shell {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto auto !important;
  }
  .track-display { grid-column: 1; grid-row: 1; }
  .audio-stack { grid-column: 1; grid-row: 2; }
  .playlist { grid-column: 1; grid-row: 3; }
  .lyrics-panel { grid-column: 1; grid-row: 4; }
  .audio-stack {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto !important;
    align-items: stretch;
  }
  .current-track-panel { min-height: 100%; }
}

/* Mobiel */
@media (max-width: 720px) {
  .player-shell {
    width: calc(100% - 24px) !important;
    padding: 12px !important;
    gap: 12px !important;
    border-radius: 22px !important;
  }
  .audio-stack {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .equalizer-panel,
  .current-track-panel,
  .playlist {
    border-radius: 18px !important;
  }
  .current-track-panel {
    min-height: 250px;
  }
  .playlist-manager-row {
    grid-template-columns: 1fr 1fr !important;
  }
  .playlist-manager-row select {
    grid-column: 1 / -1 !important;
  }
  .playlist-action-button--start {
    grid-column: 1 / -1;
  }
}

@media (max-width: 460px) {
  .equalizer-controls { gap: 7px !important; }
  .eq-control { padding-inline: 3px !important; }
  .eq-knob-wrap { width: 72px !important; height: 72px !important; }
  .eq-knob { width: 54px !important; height: 54px !important; }
  .playlist-manager-row { grid-template-columns: 1fr !important; }
  .playlist-manager-row select,
  .playlist-action-button--start { grid-column: 1 !important; }
}

/* Compact dashboard proportions: artwork/playlist left, EQ/player right */
@media (min-width: 1051px){
  .main,
  main,
  .wrap,
  .container{
    overflow: visible;
  }

  /* The dashboard grid introduced in index(12) */
  .dashboard-layout,
  .dashboard-grid,
  .console-dashboard,
  .player-dashboard{
    grid-template-columns: minmax(0, 2fr) minmax(330px, 1fr) !important;
    align-items: start !important;
  }

  /* Keep both columns content-height; prevents the tall empty right-hand panel */
  .dashboard-left,
  .dashboard-right,
  .console-left,
  .console-right{
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .dashboard-right,
  .console-right{
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  /* Artwork should read as a landscape cover, not a zoomed square crop */
  .dashboard-artwork,
  .hero-media,
  .track-artwork,
  .now-artwork,
  .artwork-panel{
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .dashboard-artwork img,
  .hero-media img,
  .track-artwork img,
  .now-artwork img,
  .artwork-panel img{
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  /* Don't let the current-track card stretch to fill the right column */
  .current-track-panel,
  .now-playing-panel,
  .current-track,
  .now-playing{
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
  }
}

/* =========================================================
   HEADER REDESIGN — alleen het bovenste gedeelte
   ========================================================= */

.console-header{
  width: min(1480px, calc(100% - 72px)) !important;
  margin: 34px auto 26px !important;
  padding: 20px 28px !important;
  min-height: 238px !important;

  display: grid !important;
  grid-template-columns: 176px minmax(420px, 1fr) minmax(560px, .95fr) !important;
  align-items: center !important;
  gap: 28px !important;

  border: 1.5px solid rgba(255, 179, 41, .96) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 13% 30%, rgba(255, 187, 59, .11), transparent 26%),
    linear-gradient(180deg, rgba(35, 17, 7, .97), rgba(13, 7, 3, .985)) !important;

  box-shadow:
    0 0 0 1px rgba(255, 218, 128, .16),
    0 0 9px rgba(255, 198, 82, .82),
    0 0 28px rgba(255, 154, 24, .50),
    0 0 62px rgba(255, 116, 0, .20),
    0 24px 58px rgba(0, 0, 0, .52),
    inset 0 1px 0 rgba(255, 241, 207, .11) !important;
}

/* Logo */
.console-brand-avatar{
  width: 162px !important;
  height: 162px !important;
  padding: 4px !important;
  justify-self: center !important;

  border: 2px solid rgba(255, 190, 63, .92) !important;
  background: rgba(12, 6, 3, .92) !important;
  box-shadow:
    0 0 0 3px rgba(255, 207, 102, .08),
    0 0 14px rgba(255, 190, 60, .48),
    0 0 35px rgba(255, 126, 0, .26) !important;
}

/* Tekstblok links */
.console-brand-copy{
  align-self: center !important;
  padding-top: 2px !important;
}

.console-brand-title{
  margin: 0 0 3px !important;
  font-size: clamp(3.45rem, 5vw, 5.4rem) !important;
  line-height: .86 !important;
  letter-spacing: -.065em !important;
  font-weight: 1000 !important;
  background: linear-gradient(
    90deg,
    #ffbd55 0%,
    #e16e45 50%,
    #eba43f 100%
  ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

.console-brand-copy h1{
  margin: 10px 0 6px !important;
  font-size: clamp(1.7rem, 2.25vw, 2.55rem) !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
  color: #fff0cf !important;
}

.console-brand-copy p{
  margin: 0 !important;
  font-size: clamp(.95rem, 1.2vw, 1.13rem) !important;
  color: rgba(255, 238, 207, .78) !important;
}

/* Deelknoppen direct onder de introtekst */
.console-socials{
  margin-top: 15px !important;
  gap: 12px !important;
  min-height: 44px !important;
}

.console-social-button{
  width: 43px !important;
  height: 43px !important;
  border: 1px solid rgba(255, 174, 39, .86) !important;
  background: rgba(24, 11, 4, .82) !important;
  color: #efad42 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 241, 207, .08),
    0 0 13px rgba(255, 145, 16, .14) !important;
}

/* Vier grote consoleknoppen rechts */
.console-nav{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(112px, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.console-nav-tile{
  min-height: 122px !important;
  padding: 17px 10px 14px !important;
  gap: 10px !important;

  border-radius: 17px !important;
  border: 1.4px solid rgba(255, 169, 30, .86) !important;
  background:
    radial-gradient(circle at 50% 28%, rgba(255, 169, 39, .055), transparent 42%),
    linear-gradient(180deg, rgba(31, 14, 5, .92), rgba(12, 6, 3, .95)) !important;

  color: #efb24e !important;
  font-size: .92rem !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;

  box-shadow:
    inset 0 1px 0 rgba(255, 241, 207, .055),
    0 0 8px rgba(255, 173, 36, .12),
    0 0 18px rgba(255, 126, 0, .10) !important;
}

.console-nav-tile svg{
  width: 34px !important;
  height: 34px !important;
  color: #e9a53c !important;
  filter: drop-shadow(0 0 7px rgba(255, 148, 18, .16));
}

.console-nav-tile:hover{
  transform: translateY(-2px) !important;
  border-color: rgba(255, 205, 104, 1) !important;
  color: #ffe2aa !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 241, 207, .09),
    0 0 10px rgba(255, 204, 101, .30),
    0 0 25px rgba(255, 136, 0, .24) !important;
}

/* Tablet */
@media (max-width: 1180px){
  .console-header{
    width: min(100% - 36px, 1060px) !important;
    grid-template-columns: 142px minmax(300px, 1fr) !important;
    gap: 20px !important;
    padding: 20px !important;
  }

  .console-brand-avatar{
    width: 132px !important;
    height: 132px !important;
  }

  .console-nav{
    grid-column: 1 / -1 !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 12px !important;
  }

  .console-nav-tile{
    min-height: 92px !important;
  }
}

/* Mobiel */
@media (max-width: 720px){
  .console-header{
    width: calc(100% - 24px) !important;
    margin: 18px auto 18px !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    text-align: center !important;
    padding: 20px 16px !important;
    border-radius: 24px !important;
  }

  .console-brand-avatar{
    width: 126px !important;
    height: 126px !important;
  }

  .console-brand-copy h1,
  .console-brand-copy p{
    text-align: center !important;
  }

  .console-socials{
    justify-content: center !important;
  }

  .console-nav{
    grid-column: auto !important;
    grid-template-columns: repeat(2, 1fr) !important;
    width: 100% !important;
  }

  .console-nav-tile{
    min-height: 88px !important;
    font-size: .82rem !important;
  }
}

/* Match approved mockup proportions more closely */
@media (min-width: 1051px){

  /* Overall dashboard width */
  .console-header,
  .dashboard-shell,
  .player-shell,
  .dashboard-layout,
  .dashboard-grid,
  .console-dashboard,
  .player-dashboard{
    width: min(1510px, calc(100% - 48px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Header: tighter, more horizontal */
  .console-header{
    grid-template-columns: 180px minmax(480px, 1fr) minmax(610px, 1.12fr) !important;
    min-height: 214px !important;
    padding: 18px 24px !important;
    gap: 24px !important;
    margin-top: 22px !important;
    margin-bottom: 18px !important;
  }

  .console-brand-avatar{
    width: 154px !important;
    height: 154px !important;
  }

  .console-brand-title{
    font-size: clamp(3.2rem, 4.7vw, 5.05rem) !important;
    margin-bottom: 2px !important;
  }

  .console-brand-copy h1{
    font-size: clamp(1.7rem, 2.15vw, 2.35rem) !important;
    margin: 7px 0 4px !important;
  }

  .console-brand-copy p{
    font-size: 1.02rem !important;
  }

  .console-socials{
    margin-top: 10px !important;
  }

  .console-nav{
    grid-template-columns: repeat(4, minmax(120px, 1fr)) !important;
    gap: 20px !important;
  }

  .console-nav-tile{
    min-height: 116px !important;
  }

  /* Main dashboard: ~65/35 split */
  .dashboard-layout,
  .dashboard-grid,
  .console-dashboard,
  .player-dashboard{
    display: grid !important;
    grid-template-columns: minmax(0, 1.95fr) minmax(360px, 1.05fr) !important;
    gap: 18px !important;
    align-items: start !important;
  }

  /* Left column */
  .dashboard-left,
  .console-left{
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    min-width: 0 !important;
  }

  /* Right column */
  .dashboard-right,
  .console-right{
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
  }

  /* Artwork: full wide image like mockup */
  .dashboard-artwork,
  .hero-media,
  .track-artwork,
  .now-artwork,
  .artwork-panel,
  .track-art-wrap{
    width: 100% !important;
    aspect-ratio: 16 / 7.25 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 18px !important;
  }

  .dashboard-artwork img,
  .hero-media img,
  .track-artwork img,
  .now-artwork img,
  .artwork-panel img,
  .track-art{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  /* Equalizer compact */
  .equalizer-panel{
    padding: 16px !important;
    border-radius: 20px !important;
  }

  .equalizer-controls{
    gap: 12px !important;
  }

  .eq-control{
    padding: 13px 8px 11px !important;
  }

  .eq-knob-wrap{
    width: 82px !important;
    height: 82px !important;
  }

  .eq-knob{
    width: 60px !important;
    height: 60px !important;
  }

  /* Current track box should end naturally, no large empty column */
  .current-track-panel,
  .now-playing-panel,
  .current-track{
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 22px !important;
    border-radius: 20px !important;
  }

  /* If old now-playing class is reused, keep it compact in right column */
  .dashboard-right .now-playing,
  .console-right .now-playing{
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 22px !important;
  }

  /* Playlist immediately under artwork */
  .dashboard-left .playlist,
  .console-left .playlist{
    margin-top: 0 !important;
    padding: 0 !important;
    border-radius: 20px !important;
  }

  .dashboard-left .playlist-header,
  .console-left .playlist-header{
    margin-bottom: 0 !important;
  }
}

/* Tablet: two columns until it genuinely gets tight */
@media (min-width: 821px) and (max-width: 1050px){
  .dashboard-layout,
  .dashboard-grid,
  .console-dashboard,
  .player-dashboard{
    grid-template-columns: minmax(0, 1.6fr) minmax(300px, .9fr) !important;
    gap: 14px !important;
  }

  .track-art-wrap{
    aspect-ratio: 16 / 8 !important;
  }
}

/* Mobile: clean single column */
@media (max-width: 820px){
  .dashboard-layout,
  .dashboard-grid,
  .console-dashboard,
  .player-dashboard{
    grid-template-columns: 1fr !important;
  }

  .dashboard-right,
  .console-right{
    height: auto !important;
    min-height: 0 !important;
  }

  .track-art-wrap{
    aspect-ratio: 16 / 9 !important;
  }
}

/* Desktop: artwork links; daaronder playlist + EQ/track naast elkaar.
   Daardoor begint EQ/Huidige track pas onder de bovenkant van de playlistzone. */
@media (min-width: 1051px){
  .dashboard-layout,
  .dashboard-grid,
  .console-dashboard,
  .player-dashboard{
    grid-template-columns: minmax(0, 1.95fr) minmax(360px, 1.05fr) !important;
    grid-template-areas:
      "artwork artwork"
      "playlist side" !important;
    align-items: start !important;
    gap: 16px 18px !important;
  }

  /* Flatten the two old columns so their children can participate
     in the parent grid without changing the audio/player DOM. */
  .dashboard-left,
  .console-left,
  .dashboard-right,
  .console-right{
    display: contents !important;
  }

  .dashboard-artwork,
  .hero-media,
  .track-artwork,
  .now-artwork,
  .artwork-panel,
  .track-art-wrap{
    grid-area: artwork !important;
  }

  /* Playlist occupies the left lower cell */
  .playlist{
    grid-area: playlist !important;
    margin-top: 0 !important;
    align-self: start !important;
  }

  /* Rebuild the right lower cell by grouping its two cards visually */
  .equalizer-panel{
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    margin: 0 !important;
  }

  .current-track-panel,
  .now-playing-panel,
  .current-track{
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    margin-top: 290px !important;
  }
}

/* Slightly smaller desktop: keep enough room between EQ and track */
@media (min-width: 1051px) and (max-width: 1300px){
  .current-track-panel,
  .now-playing-panel,
  .current-track{
    margin-top: 275px !important;
  }
}

/* Tablet/mobile retains the existing stacked responsive behaviour */
@media (max-width: 1050px){
  .dashboard-left,
  .console-left,
  .dashboard-right,
  .console-right{
    display: flex !important;
  }
}

/* =========================================================
   GEWENSTE VOLGORDE:
   1. afbeelding + playlist
   2. equalizer + huidige track
   ========================================================= */

@media (min-width: 821px){

  .dashboard-layout,
  .dashboard-grid,
  .console-dashboard,
  .player-dashboard{
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas: none !important;
    gap: 20px !important;
    align-items: start !important;
  }

  /* Oude display:contents uit vorige versie ongedaan maken */
  .dashboard-left,
  .console-left{
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
    min-width: 0 !important;
    order: 1 !important;
  }

  .dashboard-right,
  .console-right{
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    order: 2 !important;
  }

  /* Verwijder alle geforceerde grid-posities uit de vorige layout */
  .dashboard-artwork,
  .hero-media,
  .track-artwork,
  .now-artwork,
  .artwork-panel,
  .track-art-wrap,
  .playlist,
  .equalizer-panel,
  .current-track-panel,
  .now-playing-panel,
  .current-track,
  .now-playing{
    grid-area: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }

  /* Geen kunstmatige verschuiving van 'Huidige track' meer */
  .current-track-panel,
  .now-playing-panel,
  .current-track,
  .dashboard-right .now-playing,
  .console-right .now-playing{
    margin-top: 0 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* Bovenste blok: artwork breed + playlist direct eronder */
  .track-art-wrap,
  .dashboard-artwork,
  .hero-media,
  .track-artwork,
  .now-artwork,
  .artwork-panel{
    width: 100% !important;
    aspect-ratio: 16 / 7.25 !important;
  }

  .track-art,
  .track-art-wrap img,
  .dashboard-artwork img,
  .hero-media img,
  .track-artwork img,
  .now-artwork img,
  .artwork-panel img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .playlist{
    width: 100% !important;
    margin-top: 0 !important;
  }

  /* Onderste blok blijft als in screenshot 1: EQ boven, track eronder */
  .equalizer-panel,
  .current-track-panel,
  .now-playing-panel,
  .current-track{
    width: 100% !important;
    max-width: none !important;
  }
}

/* Mobiel blijft gewoon één kolom */
@media (max-width: 820px){
  .dashboard-layout,
  .dashboard-grid,
  .console-dashboard,
  .player-dashboard{
    grid-template-columns: 1fr !important;
  }

  .dashboard-left,
  .console-left,
  .dashboard-right,
  .console-right{
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  .current-track-panel,
  .now-playing-panel,
  .current-track{
    margin-top: 0 !important;
  }
}

/* =========================================================
   DEFINITIEVE GOEDGEKEURDE INDELING
   Header
   Artwork
   Playlist
   Equalizer
   Huidige track
   ========================================================= */

.dashboard-layout,
.dashboard-grid,
.console-dashboard,
.player-dashboard{
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  width: min(1510px, calc(100% - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Hef oude grid-layouts definitief op */
.dashboard-left,
.console-left,
.dashboard-right,
.console-right{
  display: contents !important;
}

/* Expliciete visuele volgorde */
.track-art-wrap,
.dashboard-artwork,
.hero-media,
.track-artwork,
.now-artwork,
.artwork-panel{
  order: 1 !important;
  width: 100% !important;
  margin: 0 !important;
}

.playlist{
  order: 2 !important;
  width: 100% !important;
  margin: 0 !important;
}

.equalizer-panel{
  order: 3 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.current-track-panel,
.now-playing-panel,
.current-track,
.now-playing{
  order: 4 !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
}

/* Artwork zoals goedgekeurde mock-up */
.track-art-wrap,
.dashboard-artwork,
.hero-media,
.track-artwork,
.now-artwork,
.artwork-panel{
  aspect-ratio: 16 / 6.1 !important;
  overflow: hidden !important;
  border-radius: 20px !important;
}

.track-art,
.track-art-wrap img,
.dashboard-artwork img,
.hero-media img,
.track-artwork img,
.now-artwork img,
.artwork-panel img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Equalizer over de volle breedte met drie ruime regelaars */
.equalizer-panel{
  padding: 22px 28px 26px !important;
  border-radius: 22px !important;
}

.equalizer-controls{
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 34px !important;
  max-width: 1320px !important;
  margin: 18px auto 0 !important;
}

.eq-control{
  min-height: 215px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Huidige track: breed horizontaal paneel */
.current-track-panel,
.now-playing-panel,
.current-track,
.now-playing{
  padding: 28px 38px !important;
  border-radius: 22px !important;
}

/* Desktop: spelerinformatie links, transportbediening centraal/rechts */
@media (min-width: 900px){
  .current-track-panel,
  .now-playing-panel,
  .current-track,
  .now-playing{
    min-height: 235px !important;
  }
}

/* Tablet */
@media (max-width: 1050px){
  .dashboard-layout,
  .dashboard-grid,
  .console-dashboard,
  .player-dashboard{
    width: min(100% - 28px, 980px) !important;
  }

  .track-art-wrap,
  .dashboard-artwork,
  .hero-media,
  .track-artwork,
  .now-artwork,
  .artwork-panel{
    aspect-ratio: 16 / 7.4 !important;
  }

  .equalizer-controls{
    gap: 16px !important;
  }
}

/* Mobiel */
@media (max-width: 700px){
  .dashboard-layout,
  .dashboard-grid,
  .console-dashboard,
  .player-dashboard{
    width: calc(100% - 20px) !important;
    gap: 12px !important;
  }

  .track-art-wrap,
  .dashboard-artwork,
  .hero-media,
  .track-artwork,
  .now-artwork,
  .artwork-panel{
    aspect-ratio: 16 / 9 !important;
  }

  .equalizer-panel{
    padding: 18px 12px !important;
  }

  .equalizer-controls{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .eq-control{
    min-height: 165px !important;
    padding: 10px 4px !important;
  }

  .current-track-panel,
  .now-playing-panel,
  .current-track,
  .now-playing{
    padding: 22px 18px !important;
    min-height: 0 !important;
  }
}

/* =========================================================
   DEFINITIEVE STRUCTUUR OP DE ECHTE .player-shell
   afbeelding → playlist → equalizer → huidige track → lyrics
   ========================================================= */

.player-shell{
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto auto auto auto !important;
  gap: 18px !important;
  width: min(1180px, calc(100% - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* .now-playing bevat artwork + audio-stack.
   display:contents laat die twee direct in .player-shell meedoen. */
.now-playing{
  display: contents !important;
}

/* 1 — grote afbeelding */
.track-display{
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
}

.track-art-wrap{
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 16 / 6.1 !important;
  margin: 0 !important;
}

.track-art{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* 2 — playlist direct onder de afbeelding */
.playlist{
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  margin-top: 0 !important;
}

/* 3 — equalizer + huidige track als volledig blok onder de playlist */
.audio-stack{
  grid-column: 1 !important;
  grid-row: 3 !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto auto !important;
  gap: 18px !important;
  align-self: start !important;
}

.equalizer-panel{
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.current-track-panel{
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
}

/* Equalizer breed zoals in het goedgekeurde voorbeeld */
.equalizer-controls{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.eq-control{
  min-height: 185px !important;
}

/* 4 — eventuele lyrics daarna */
.lyrics-panel{
  grid-column: 1 !important;
  grid-row: 4 !important;
  width: 100% !important;
  margin-top: 0 !important;
}

/* Laptop/tablet: blijft óók onder elkaar */
@media (max-width: 1040px){
  .player-shell{
    grid-template-columns: 1fr !important;
  }

  .audio-stack{
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
  }

  .track-art-wrap{
    aspect-ratio: 16 / 7.2 !important;
  }
}

/* Mobiel */
@media (max-width: 720px){
  .player-shell{
    width: calc(100% - 24px) !important;
    gap: 12px !important;
  }

  .track-art-wrap{
    aspect-ratio: 16 / 9 !important;
  }

  .equalizer-controls{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .eq-control{
    min-height: 150px !important;
  }
}

/* =========================================================
   V21 — gewenste desktopstructuur
   Header en hoofdblok exact even breed.
   Artwork -> Playlistkop -> Equalizer -> Huidige track
   -> zoeken/filteren -> liedjes.
   Eigen playlistfunctie tijdelijk verwijderd.
   ========================================================= */

.console-header,
.player-shell{
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Hoofdblok is één verticale stroom */
.player-shell{
  display: block !important;
}

/* Bovenaan alleen de grote afbeelding */
.now-playing{
  display: block !important;
  width: 100% !important;
  padding: 18px 20px !important;
}

.track-display{
  width: 100% !important;
  min-height: 0 !important;
}

.track-art-wrap{
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 16 / 6.1 !important;
  min-height: 0 !important;
  height: auto !important;
}

.track-art{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Playlistcontainer blijft de houder voor de lijst,
   maar de eigen playlistmanager is weg. */
.playlist{
  width: 100% !important;
  margin-top: 16px !important;
}

/* Equalizer + huidige track nu direct boven zoeken/liedjes */
.playlist > .audio-stack{
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  margin: 14px 0 16px !important;
}

.playlist > .audio-stack .equalizer-panel,
.playlist > .audio-stack .current-track-panel{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Equalizer breed en rustig over drie kolommen */
.playlist > .audio-stack .equalizer-controls{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.playlist > .audio-stack .eq-control{
  min-height: 170px !important;
}

/* Verwijder eventuele ruimte die oude playlistmanager-CSS reserveerde */
.playlist-manager{
  display: none !important;
}

/* Laptop/tablet: zelfde verticale volgorde */
@media (max-width: 1100px){
  .console-header,
  .player-shell{
    width: min(100% - 28px, 960px) !important;
  }
}

/* Mobiel */
@media (max-width: 820px){
  .console-header,
  .player-shell{
    width: calc(100% - 24px) !important;
  }

  .track-art-wrap{
    aspect-ratio: 16 / 9 !important;
  }

  .playlist > .audio-stack .equalizer-controls{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .playlist > .audio-stack .eq-control{
    min-height: 145px !important;
    padding-inline: 4px !important;
  }
}

.console-header{
  width:min(1180px,calc(100% - 32px)) !important;
  max-width:1180px !important;
  display:grid !important;
  grid-template-columns:180px minmax(0,1fr) !important;
  gap:26px !important;
  align-items:center !important;
  min-height:190px !important;
  padding:20px 28px !important;
  margin:24px auto 14px !important;
}

.console-nav-shell{
  width:min(1180px,calc(100% - 32px));
  max-width:1180px;
  margin:0 auto 14px;
  padding:12px 14px;
  border:1.5px solid rgba(255,179,41,.92);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(38,18,7,.96),rgba(14,7,3,.985));
  box-shadow:
    0 0 0 1px rgba(255,218,128,.12),
    0 0 9px rgba(255,198,82,.70),
    0 0 26px rgba(255,145,18,.35),
    inset 0 1px 0 rgba(255,241,207,.08);
}

.console-nav-shell .console-nav{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 !important;
}

.console-nav-shell .console-nav-tile{
  width:100% !important;
  min-width:0 !important;
  min-height:86px !important;
  padding:12px 8px !important;
  border-radius:15px !important;
}

.player-shell{
  width:min(1180px,calc(100% - 32px)) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:1100px){
  .console-header,
  .console-nav-shell,
  .player-shell{
    width:min(100% - 28px,960px) !important;
  }

  .console-header{
    grid-template-columns:145px minmax(0,1fr) !important;
  }

  .console-nav-shell .console-nav{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .console-nav-shell .console-nav-tile{
    min-height:76px !important;
    font-size:.72rem !important;
  }
}

@media (max-width:720px){
  .console-header,
  .console-nav-shell,
  .player-shell{
    width:calc(100% - 24px) !important;
  }

  .console-header{
    grid-template-columns:92px minmax(0,1fr) !important;
    padding:16px !important;
    min-height:0 !important;
  }

  .console-nav-shell{
    padding:9px !important;
  }

  .console-nav-shell .console-nav{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .console-nav-shell .console-nav-tile:last-child{
    grid-column:1 / -1 !important;
  }
}

/* =========================================================
   V23 — navigatie ín de header, laag rechts zoals voorbeeld
   ========================================================= */

.console-header{
  position: relative !important;
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px !important;
  display: grid !important;
  grid-template-columns: 180px minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  gap: 26px !important;
  align-items: center !important;

  min-height: 250px !important;
  padding: 22px 28px 26px !important;
  margin: 24px auto 16px !important;
}

/* De merkcopy krijgt rechts en onder ruimte voor het menu */
.console-brand-copy{
  min-width: 0 !important;
  padding-right: 20px !important;
  padding-bottom: 58px !important;
}

/* Navigatiecel verliest zijn eigen buitenkader en wordt een
   compact zwevend paneel binnen de header. */
.console-header .console-nav-shell{
  position: absolute !important;
  right: 28px !important;
  bottom: 22px !important;

  width: min(520px, calc(100% - 360px)) !important;
  max-width: 520px !important;

  margin: 0 !important;
  padding: 5px !important;

  border: 1px solid rgba(255, 178, 35, .66) !important;
  border-radius: 13px !important;
  background:
    linear-gradient(180deg, rgba(36, 16, 6, .82), rgba(13, 6, 3, .90)) !important;

  box-shadow:
    0 0 7px rgba(255, 184, 52, .34),
    0 0 18px rgba(255, 131, 0, .15),
    inset 0 1px 0 rgba(255,241,207,.06) !important;
}

.console-header .console-nav{
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 4px !important;
  margin: 0 !important;
}

.console-header .console-nav-tile{
  min-width: 0 !important;
  min-height: 48px !important;
  padding: 5px 4px !important;
  gap: 2px !important;

  border-radius: 8px !important;
  border: 1px solid rgba(255, 165, 25, .48) !important;
  background:
    linear-gradient(180deg, rgba(31, 13, 4, .90), rgba(12, 6, 3, .94)) !important;

  font-size: .53rem !important;
  letter-spacing: .02em !important;

  box-shadow:
    inset 0 1px 0 rgba(255,241,207,.04),
    0 0 5px rgba(255, 148, 20, .08) !important;
}

.console-header .console-nav-tile svg{
  width: 16px !important;
  height: 16px !important;
  margin-bottom: 1px !important;
}

/* Hoofdblok exact uitgelijnd met header */
.player-shell{
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px !important;
}

/* Laptop/tablet */
@media (max-width: 1100px){
  .console-header,
  .player-shell{
    width: min(100% - 28px, 960px) !important;
  }

  .console-header{
    grid-template-columns: 145px minmax(0,1fr) !important;
    min-height: 235px !important;
  }

  .console-header .console-nav-shell{
    width: min(500px, calc(100% - 300px)) !important;
    right: 20px !important;
    bottom: 18px !important;
  }
}

/* Mobiel: menu blijft in header, maar niet absoluut.
   Anders wordt het te krap. */
@media (max-width: 720px){
  .console-header,
  .player-shell{
    width: calc(100% - 24px) !important;
  }

  .console-header{
    display: grid !important;
    grid-template-columns: 92px minmax(0,1fr) !important;
    min-height: 0 !important;
    padding: 16px !important;
  }

  .console-brand-copy{
    padding-bottom: 0 !important;
  }

  .console-header .console-nav-shell{
    position: static !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 12px !important;
  }

  .console-header .console-nav{
    grid-template-columns: repeat(5, minmax(0,1fr)) !important;
    gap: 3px !important;
  }

  .console-header .console-nav-tile{
    min-height: 46px !important;
    font-size: .48rem !important;
  }
}

/* =========================================================
   V24 — goedgekeurde mock-up:
   Equalizer links + Huidige track rechts
   ========================================================= */

/* Het blok waarin beide onderdelen zitten wordt op desktop 2 kolommen */
.playlist > .audio-stack{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  gap: 16px !important;
  width: 100% !important;
  align-items: stretch !important;
  margin: 14px 0 16px !important;
}

/* Equalizer links */
.playlist > .audio-stack .equalizer-panel{
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 20px !important;
}

/* Huidige track rechts */
.playlist > .audio-stack .current-track-panel{
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 24px 28px !important;
}

/* Drie EQ-regelaars naast elkaar binnen de linker helft */
.playlist > .audio-stack .equalizer-controls{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 16px 0 0 !important;
}

.playlist > .audio-stack .eq-control{
  min-width: 0 !important;
  min-height: 190px !important;
  padding: 14px 8px !important;
}

/* Knoppen iets compacter zodat ze goed in de halve breedte passen */
.playlist > .audio-stack .eq-knob-wrap{
  width: 88px !important;
  height: 88px !important;
}

.playlist > .audio-stack .eq-knob{
  width: 64px !important;
  height: 64px !important;
}

/* Tracktitel niet overdreven groot in de rechter helft */
.playlist > .audio-stack .current-track-panel h2,
.playlist > .audio-stack .current-track-panel .current-track-title{
  font-size: clamp(1.45rem, 2.2vw, 2.25rem) !important;
  line-height: 1.08 !important;
}

/* Tablet: nog steeds naast elkaar zolang er genoeg ruimte is */
@media (min-width: 821px) and (max-width: 1050px){
  .playlist > .audio-stack{
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .playlist > .audio-stack .equalizer-panel,
  .playlist > .audio-stack .current-track-panel{
    padding: 16px !important;
  }

  .playlist > .audio-stack .equalizer-controls{
    gap: 6px !important;
  }

  .playlist > .audio-stack .eq-control{
    min-height: 160px !important;
    padding: 10px 3px !important;
  }

  .playlist > .audio-stack .eq-knob-wrap{
    width: 70px !important;
    height: 70px !important;
  }

  .playlist > .audio-stack .eq-knob{
    width: 52px !important;
    height: 52px !important;
  }
}

/* Mobiel: logisch weer onder elkaar voor leesbaarheid */
@media (max-width: 820px){
  .playlist > .audio-stack{
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
  }

  .playlist > .audio-stack .equalizer-panel{
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .playlist > .audio-stack .current-track-panel{
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
}

@media (max-width:820px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:clip!important}
  .console-header{position:relative!important;width:calc(100% - 20px)!important;max-width:none!important;min-height:0!important;margin:12px auto 10px!important;padding:18px 14px 14px!important;display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:12px 14px!important;align-items:start!important;border-radius:22px!important}
  .console-brand-avatar{grid-column:1!important;grid-row:1!important;width:84px!important;height:84px!important;margin:0!important}
  .console-brand-copy{grid-column:2!important;grid-row:1!important;min-width:0!important;padding:0!important;text-align:left!important}
  .console-brand-title{margin:0 0 5px!important;font-size:clamp(2.15rem,11.5vw,3.2rem)!important;line-height:.9!important;letter-spacing:-.05em!important;white-space:normal!important;overflow:visible!important}
  .console-brand-copy h1{margin:0 0 7px!important;font-size:clamp(1.16rem,5.7vw,1.6rem)!important;line-height:1.03!important;text-align:left!important}
  .console-brand-copy p{margin:0!important;font-size:.84rem!important;line-height:1.33!important;text-align:left!important}
  .console-socials{margin-top:9px!important;justify-content:flex-start!important;gap:8px!important}
  .console-social-button{width:38px!important;height:38px!important}
  .console-header .console-nav-shell{position:static!important;grid-column:1/-1!important;grid-row:2!important;width:100%!important;max-width:none!important;margin:2px 0 0!important;padding:7px!important}
  .console-header .console-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;width:100%!important}
  .console-header .console-nav-tile{min-height:58px!important;padding:8px 6px!important;gap:4px!important;font-size:.72rem!important;border-radius:12px!important}
  .console-header .console-nav-tile svg{width:20px!important;height:20px!important}
  .console-header .console-nav-tile:last-child{grid-column:1/-1!important}

  .player-shell{width:calc(100% - 20px)!important;max-width:none!important;margin:0 auto!important;padding:10px!important;border-radius:22px!important}
  .now-playing{display:block!important;width:100%!important;padding:8px!important;border-radius:17px!important}
  .track-display{width:100%!important;min-height:0!important}
  .track-art-wrap{width:100%!important;max-width:none!important;aspect-ratio:16/9!important;min-height:0!important;height:auto!important;border-radius:14px!important}
  .track-art{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}

  .playlist{width:100%!important;margin-top:10px!important;padding:10px!important;border-radius:18px!important}
  .playlist-header{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:8px!important;padding:11px 12px!important;margin-bottom:10px!important;border-radius:14px!important}
  .playlist-header> :first-child{font-size:.92rem!important}
  .mark-all-seen-button{width:auto!important;margin:0!important;padding:7px 10px!important;font-size:.62rem!important}
  #trackCount,.track-count{font-size:.68rem!important;white-space:nowrap!important}

  .playlist>.audio-stack{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;gap:10px!important;width:100%!important;margin:10px 0 12px!important}
  .playlist>.audio-stack .equalizer-panel{grid-column:1!important;grid-row:1!important;width:100%!important;height:auto!important;padding:14px 10px!important;border-radius:16px!important}
  .equalizer-header{margin-bottom:8px!important}
  .playlist>.audio-stack .equalizer-controls{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important;margin:0!important}
  .playlist>.audio-stack .eq-control{min-width:0!important;min-height:136px!important;padding:10px 2px 8px!important;gap:5px!important;border-radius:13px!important;font-size:.66rem!important}
  .playlist>.audio-stack .eq-knob-wrap{width:62px!important;height:62px!important}
  .playlist>.audio-stack .eq-knob{width:46px!important;height:46px!important}
  .playlist>.audio-stack .eq-value{min-width:46px!important;padding:4px 5px!important;font-size:.61rem!important}
  .playlist>.audio-stack .current-track-panel{grid-column:1!important;grid-row:2!important;width:100%!important;height:auto!important;min-height:0!important;padding:16px 14px!important;border-radius:16px!important}
  .playlist>.audio-stack .current-track-panel h2,.playlist>.audio-stack .current-track-title{margin-bottom:10px!important;font-size:clamp(1.22rem,6.2vw,1.65rem)!important;line-height:1.08!important}

  .playlist-search{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:10px 0!important}
  .playlist-search input,.playlist-search select{min-height:46px!important;border-radius:13px!important}
  .playlist-list{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
  .playlist-track-wrap{width:100%!important}
  .playlist-button{min-height:58px!important;padding:11px 48px 11px 12px!important;border-radius:13px!important}
  .playlist-button strong{font-size:.94rem!important;line-height:1.12!important}
  .playlist-button span{font-size:.76rem!important}
  .track-add-button{width:38px!important;height:38px!important;right:9px!important}

  .lyrics-panel,.legend-section,.booking-section,.contact-section{width:calc(100% - 20px)!important;margin-left:auto!important;margin-right:auto!important}
}

@media (max-width: 820px){

  .console-header{
    position: relative !important;
    width: calc(100% - 20px) !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 12px auto 10px !important;
    padding: 16px 14px 14px !important;

    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    gap: 12px 14px !important;
    align-items: center !important;
  }

  /* TAMPELOERES over de volledige breedte */
  .console-brand-title{
    position: static !important;
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;

    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;

    font-size: clamp(2rem, 11vw, 3.3rem) !important;
    line-height: .9 !important;
    letter-spacing: -.055em !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  /* Logo links */
  .console-brand-avatar{
    grid-column: 1 !important;
    grid-row: 2 !important;

    width: 88px !important;
    height: 88px !important;
    margin: 0 !important;
    align-self: start !important;
    justify-self: center !important;
  }

  /* Tekst rechts van logo */
  .console-brand-copy{
    display: contents !important;
  }

  .console-brand-copy h1{
    grid-column: 2 !important;
    grid-row: 2 !important;

    align-self: start !important;
    margin: 0 !important;
    padding-top: 2px !important;

    font-size: clamp(1.18rem, 5.7vw, 1.62rem) !important;
    line-height: 1.05 !important;
    text-align: left !important;
  }

  .console-brand-copy p{
    grid-column: 2 !important;
    grid-row: 2 !important;

    align-self: end !important;
    margin: 38px 0 0 !important;

    font-size: .86rem !important;
    line-height: 1.32 !important;
    text-align: left !important;
  }

  .console-socials{
    grid-column: 2 !important;
    grid-row: 2 !important;

    align-self: end !important;
    justify-content: flex-start !important;
    margin-top: 110px !important;
    gap: 9px !important;
  }

  .console-social-button{
    width: 38px !important;
    height: 38px !important;
  }

  /* Navigatie als derde rij, volle breedte */
  .console-header .console-nav-shell{
    position: static !important;
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;

    width: 100% !important;
    max-width: none !important;
    margin: 4px 0 0 !important;
    padding: 7px !important;
  }

  .console-header .console-nav{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    width: 100% !important;
  }

  .console-header .console-nav-tile{
    min-height: 58px !important;
    padding: 8px 6px !important;
    gap: 4px !important;
    font-size: .72rem !important;
  }

  .console-header .console-nav-tile:last-child{
    grid-column: 1 / -1 !important;
  }
}

/* Extra smalle of sterk vergrote Android-weergave */
@media (max-width: 430px){
  .console-brand-title{
    font-size: clamp(1.75rem, 10vw, 2.65rem) !important;
  }

  .console-header{
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 10px 12px !important;
  }

  .console-brand-avatar{
    width: 80px !important;
    height: 80px !important;
  }

  .console-brand-copy h1{
    font-size: clamp(1.05rem, 5.3vw, 1.45rem) !important;
  }

  .console-brand-copy p{
    font-size: .80rem !important;
  }
}

/* =========================================================
   V27 — SCHONE MOBIELE HEADER
   Geen absolute posities of kunstmatige overlap.
   Desktop blijft ongewijzigd.
   ========================================================= */

.mobile-console-brand-title{
  display: none;
}

@media (max-width: 820px){

  .console-header{
    position: relative !important;
    width: calc(100% - 20px) !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 12px auto 10px !important;
    padding: 16px 14px 14px !important;

    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    grid-template-areas:
      "mobiletitle mobiletitle"
      "avatar copy"
      "nav nav" !important;
    grid-template-rows: auto auto auto !important;
    gap: 14px 16px !important;
    align-items: start !important;

    border-radius: 22px !important;
  }

  /* Nieuwe titel over volledige mobiele breedte */
  .mobile-console-brand-title{
    grid-area: mobiletitle !important;
    display: block !important;

    width: 100% !important;
    margin: 0 !important;

    font-size: clamp(2rem, 10.5vw, 3.15rem) !important;
    line-height: .9 !important;
    letter-spacing: -.055em !important;
    font-weight: 1000 !important;
    text-align: center !important;
    text-transform: none !important;
    white-space: nowrap !important;

    background: linear-gradient(
      90deg,
      #ffbd55 0%,
      #e16e45 52%,
      #eba43f 100%
    ) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
  }

  /* Oude desktoptitel op mobiel weg */
  .console-brand-copy > .console-brand-title{
    display: none !important;
  }

  /* Logo */
  .console-brand-avatar{
    grid-area: avatar !important;
    position: static !important;

    width: 92px !important;
    height: 92px !important;
    margin: 0 !important;
    align-self: start !important;
    justify-self: center !important;
  }

  /* Tekstkolom: alles stroomt natuurlijk onder elkaar */
  .console-brand-copy{
    grid-area: copy !important;
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    min-width: 0 !important;
    width: 100% !important;
    padding: 2px 0 0 !important;
    margin: 0 !important;
    text-align: left !important;
  }

  .console-brand-copy h1{
    position: static !important;
    display: block !important;

    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;

    font-size: clamp(1.2rem, 5.7vw, 1.65rem) !important;
    line-height: 1.05 !important;
    text-align: left !important;
  }

  .console-brand-copy p{
    position: static !important;
    display: block !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    font-size: .86rem !important;
    line-height: 1.36 !important;
    text-align: left !important;
  }

  /* Socials volgen direct onder de tekst */
  .console-socials{
    position: static !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;

    width: auto !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    gap: 10px !important;
  }

  .console-social-button{
    position: static !important;
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px !important;
  }

  .console-share-feedback{
    display: none !important;
  }

  /* Navigatie vormt een derde, onafhankelijke rij in de header */
  .console-header .console-nav-shell{
    grid-area: nav !important;
    position: static !important;

    width: 100% !important;
    max-width: none !important;
    margin: 2px 0 0 !important;
    padding: 7px !important;

    border-radius: 15px !important;
  }

  .console-header .console-nav{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .console-header .console-nav-tile{
    position: static !important;
    min-width: 0 !important;
    min-height: 60px !important;
    padding: 8px 6px !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    border-radius: 12px !important;
    font-size: .72rem !important;
  }

  .console-header .console-nav-tile svg{
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
  }

  .console-header .console-nav-tile:last-child{
    grid-column: 1 / -1 !important;
  }
}

/* Extra robuust bij grotere Android-weergaveschaal */
@media (max-width: 430px){

  .console-header{
    grid-template-columns: 86px minmax(0, 1fr) !important;
    gap: 12px 13px !important;
    padding-inline: 12px !important;
  }

  .mobile-console-brand-title{
    font-size: clamp(1.82rem, 9.6vw, 2.55rem) !important;
  }

  .console-brand-avatar{
    width: 84px !important;
    height: 84px !important;
  }

  .console-brand-copy h1{
    font-size: clamp(1.05rem, 5.1vw, 1.42rem) !important;
  }

  .console-brand-copy p{
    font-size: .80rem !important;
    line-height: 1.33 !important;
  }

  .console-social-button{
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
  }
}

@media (max-width:820px){
  /* Verberg alle navigatieknoppen */
  .console-header .console-nav{
    display:block !important;
  }
  .console-header .console-nav-tile{
    display:none !important;
  }
  /* Laat alleen Contact zien */
  .console-header .console-nav-tile:last-child{
    display:flex !important;
    width:100% !important;
    min-height:64px !important;
    justify-content:center !important;
    align-items:center !important;
    font-size:.9rem !important;
    gap:10px !important;
  }
}

@media (max-width:820px){
  /* Geen apart navigatiepaneel meer op mobiel */
  .console-header .console-nav-shell{
    display:none !important;
  }

  /* Socials: delen, Facebook en Contact netjes op één rij */
  .console-socials{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    margin-top:12px !important;
    width:auto !important;
  }

  .console-social-button{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
  }

  .console-social-button svg{
    width:20px !important;
    height:20px !important;
  }

  /* Omdat de navigatierij verdwijnt, header compacter maken */
  .console-header{
    grid-template-areas:
      "mobiletitle mobiletitle"
      "avatar copy" !important;
    grid-template-rows:auto auto !important;
    padding-bottom:16px !important;
  }
}

@media (max-width:430px){
  .console-socials{
    gap:8px !important;
  }

  .console-social-button{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }
}

.mobile-eq-toggle,
.mobile-library-title{
  display:none;
}

.mobile-mark-all-seen-button {
  display: none;
}

/* Desktop/laptop: full studio mode */
@media (min-width:821px){
  .playlist-manager{
    display:block !important;
  }

  .equalizer-panel{
    display:block !important;
  }

  .mobile-eq-toggle,
  .mobile-library-title{
    display:none !important;
  }
}

/* Mobile: player mode */
@media (max-width:820px){

  /* Hide playlist-building controls completely */
  .playlist-manager{
    display:none !important;
  }

  /* Simplify playlist header: no 'Alles gezien' / count block */
  .playlist-header{
    display:none !important;
  }

  /* Current player stays immediately above library */
  .playlist > .audio-stack{
    margin-top:0 !important;
  }

  /* Collapsible equalizer */
  .mobile-eq-toggle{
    display:flex !important;
    width:100% !important;
    min-height:52px !important;
    margin:0 0 10px !important;
    padding:10px 14px !important;
    align-items:center !important;
    justify-content:space-between !important;

    border:1px solid rgba(255,181,50,.52) !important;
    border-radius:14px !important;
    color:#ffd47c !important;
    background:
      linear-gradient(180deg,rgba(58,28,11,.82),rgba(26,12,5,.90)) !important;
    font:inherit !important;
    font-weight:900 !important;
    letter-spacing:.04em !important;
    cursor:pointer !important;
  }

  .mobile-eq-toggle::after{
    content:"▾";
    font-size:1rem;
    transition:transform .2s ease;
  }

  .audio-stack.mobile-eq-open .mobile-eq-toggle::after{
    transform:rotate(180deg);
  }

  .playlist > .audio-stack .equalizer-panel{
    display:none !important;
  }

  .playlist > .audio-stack.mobile-eq-open .equalizer-panel{
    display:block !important;
  }

  /* Current track remains visible and compact */
  .playlist > .audio-stack .current-track-panel{
    display:block !important;
    margin:0 0 12px !important;
  }

  /* Clear mobile library label */
  .mobile-library-title{
    display:flex !important;
    align-items:center !important;
    gap:.6rem !important;
    margin:14px 2px 10px !important;
    color:#ffd47c !important;
    font-size:1.05rem !important;
    font-weight:950 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }

  .mobile-library-track-count{
    display:inline-flex;
    align-items:center;
    margin-left:auto;
    min-height:1.75rem;
    padding:.18rem .58rem;
    border:1px solid rgba(255,212,124,.42);
    border-radius:999px;
    color:#fff1cf;
    background:rgba(55,25,9,.76);
    font-size:.72rem;
    font-weight:850;
    letter-spacing:.035em;
    text-transform:none;
  }

  .mobile-mark-all-seen-button {
    display: flex !important;
    width: max-content !important;
    max-width: 100% !important;
    min-height: 48px !important;
    margin: 0 auto 12px !important;
    padding: 10px 22px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255, 181, 50, .52) !important;
    border-radius: 999px !important;
    color: #fff1cf !important;
    background: rgba(73, 34, 13, .82) !important;
    font-size: .82rem !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
  }

  /* Search and genre stack vertically */
  .playlist-search{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  /* One-column mobile track list */
  .playlist-list{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .playlist{
    padding-top:12px !important;
  }
}

/* =========================================================
   V31 — MOBILE EQUALIZER POPUP
   Desktop: inline equalizer remains unchanged.
   Mobile: compact icon opens modal equalizer.
   ========================================================= */

.mobile-eq-popup-button{
  display:none;
}

@media (max-width:820px){

  /* Small equalizer button above the library/current-track area */
  .mobile-eq-popup-button{
    display:flex !important;
    width:48px !important;
    height:48px !important;
    margin:0 0 10px auto !important;
    padding:0 !important;

    align-items:center !important;
    justify-content:center !important;

    border:1px solid rgba(255,181,50,.72) !important;
    border-radius:14px !important;
    color:#f5b64e !important;
    background:
      linear-gradient(180deg,rgba(54,25,9,.94),rgba(20,9,4,.98)) !important;

    box-shadow:
      inset 0 1px 0 rgba(255,241,207,.07),
      0 0 10px rgba(255,174,42,.20) !important;

    cursor:pointer !important;
    z-index:1102 !important;
  }

  .mobile-eq-popup-button svg{
    width:24px !important;
    height:24px !important;
  }

  /* Hide legacy collapsed/inline equalizer behavior */
  .playlist > .audio-stack .equalizer-panel,
  .playlist > .audio-stack.mobile-eq-open .equalizer-panel{
    display:none !important;
  }

  /* Modal equalizer when body has popup class */
  body.mobile-eq-popup-open .playlist > .audio-stack .equalizer-panel{
    display:block !important;
    position:fixed !important;

    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;

    width:min(92vw,520px) !important;
    max-width:520px !important;
    max-height:84vh !important;
    overflow:auto !important;

    margin:0 !important;
    padding:18px 14px 16px !important;
    border-radius:22px !important;

    background:
      radial-gradient(circle at 50% 0%,rgba(255,183,61,.08),transparent 36%),
      linear-gradient(180deg,rgba(47,22,8,.99),rgba(18,8,3,.995)) !important;

    border:1.5px solid rgba(255,181,50,.88) !important;
    box-shadow:
      0 0 0 1px rgba(255,225,150,.10),
      0 0 18px rgba(255,174,42,.50),
      0 0 48px rgba(255,122,0,.26),
      0 26px 80px rgba(0,0,0,.72) !important;

    z-index:1101 !important;
  }

  /* Backdrop */
  body.mobile-eq-popup-open::before{
    content:"" !important;
    position:fixed !important;
    inset:0 !important;
    background:rgba(0,0,0,.72) !important;
    backdrop-filter:blur(5px) !important;
    z-index:1100 !important;
  }

  /* Keep EQ controls practical inside popup */
  body.mobile-eq-popup-open .equalizer-controls{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  body.mobile-eq-popup-open .eq-control{
    min-height:150px !important;
    padding:10px 3px !important;
  }

  body.mobile-eq-popup-open .eq-knob-wrap{
    width:66px !important;
    height:66px !important;
  }

  body.mobile-eq-popup-open .eq-knob{
    width:50px !important;
    height:50px !important;
  }

  /* Prevent page scrolling behind modal */
  body.mobile-eq-popup-open{
    overflow:hidden !important;
  }
}

@media (max-width:820px){
  body.mobile-eq-popup-open .playlist > .audio-stack .equalizer-panel{
    left: var(--eq-popup-left, 12px) !important;
    top: var(--eq-popup-top, 80px) !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;

    width: min(92vw, 520px) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: 72vh !important;
    overflow:auto !important;
  }

  /* Arrow pointing to the equalizer button */
  body.mobile-eq-popup-open .playlist > .audio-stack .equalizer-panel::before{
    content:"" !important;
    position:absolute !important;
    top:-9px !important;
    right:22px !important;
    width:16px !important;
    height:16px !important;
    transform:rotate(45deg) !important;
    background:rgba(47,22,8,.99) !important;
    border-left:1px solid rgba(255,181,50,.88) !important;
    border-top:1px solid rgba(255,181,50,.88) !important;
  }
}

@media (max-width:820px){

  /* Geen verduisterde of geblurde achtergrond meer */
  body.mobile-eq-popup-open::before{
    content:none !important;
    display:none !important;
    background:none !important;
    backdrop-filter:none !important;
  }

  /* Laat de pagina zelf gewoon zichtbaar en scrollbaar */
  body.mobile-eq-popup-open{
    overflow:auto !important;
  }

  /* Popup krijgt alleen een warme schaduw/gloed */
  body.mobile-eq-popup-open .playlist > .audio-stack .equalizer-panel{
    box-shadow:
      0 0 0 1px rgba(255,225,150,.10),
      0 0 14px rgba(255,174,42,.42),
      0 0 34px rgba(255,122,0,.18),
      0 18px 42px rgba(0,0,0,.42) !important;
  }
}

/* V34 — Equalizer button joins Share / Facebook / Contact */
.legacy-mobile-eq-button{
  display:none !important;
}

.console-eq-button{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
}

/* Make the four utility icons consistent */
.console-socials{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

.console-social-button{
  flex:0 0 auto !important;
}

.console-eq-button svg{
  width:20px !important;
  height:20px !important;
}

@media (max-width:820px){
  .console-socials{
    gap:9px !important;
    flex-wrap:nowrap !important;
  }

  .console-social-button{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }
}

@media (max-width:430px){
  .console-socials{
    gap:7px !important;
  }

  .console-social-button{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
  }
}

/* Track artwork is optional on both desktop and mobile. */
.track-art-wrap[hidden]{
  display:none !important;
}

/* When artwork is absent, don't reserve an empty image area. */
.track-display:has(.track-art-wrap[hidden]){
  min-height:0 !important;
  height:auto !important;
}

/* Desktop/laptop: behoud de échte verhouding van de artwork-afbeelding.
   Mobiele 16:9-weergave blijft ongewijzigd. */
@media (min-width: 821px){
  .track-art-wrap{
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .track-art{
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}

/* Geen artwork = ook geen lege artwork-container of gereserveerde hoogte. */
.now-playing[hidden],
.track-art-wrap[hidden]{
  display:none !important;
}

/* Als artwork ontbreekt schuift de volgende sectie direct omhoog. */
.player-shell > .now-playing[hidden] + .lyrics-panel.is-hidden + .playlist,
.player-shell > .now-playing[hidden] + .playlist{
  margin-top:0 !important;
}

/* =========================================================
   Desktop/laptop:
   - navigatiemenu rechts weg
   - equalizer-icoon bovenin weg
   - delen, Facebook en Contact blijven
   Mobiel blijft zoals het nu is.
   ========================================================= */

@media (min-width: 821px){

  /* Rechter navigatiemenu volledig verbergen */
  .console-header .console-nav-shell{
    display: none !important;
  }

  /* Equalizer-icoon alleen mobiel */
  .console-header .console-eq-button,
  #headerEqToggle{
    display: none !important;
  }

  /* Header hoeft geen ruimte meer te reserveren voor menu rechts */
  .console-header{
    grid-template-columns: 180px minmax(0, 1fr) !important;
    min-height: 210px !important;
    padding-bottom: 22px !important;
  }

  .console-brand-copy{
    padding-bottom: 0 !important;
    padding-right: 0 !important;
  }

  /* Utility-iconen netjes als compacte rij */
  .console-socials{
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 14px !important;
  }
}

/* Mobiel: equalizer-icoon juist wél zichtbaar */
@media (max-width: 820px){
  .console-header .console-eq-button,
  #headerEqToggle{
    display: flex !important;
  }
}

/* =========================================================
   Playlist: mobiel én desktop inline tussen Huidige track en Tracks
   ========================================================= */

.playlist > .mobile-inline-playlist{
  position:static !important;
  display:none !important;
  width:100% !important;
  max-width:none !important;
  max-height:none !important;
  overflow:visible !important;
  margin:14px 0 18px !important;
  padding:14px !important;
  border:1px solid rgba(255,181,50,.46) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg, rgba(58,28,11,.76), rgba(24,11,4,.88)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,241,207,.06),
    0 8px 22px rgba(0,0,0,.20) !important;
  transform:none !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

.playlist > .mobile-inline-playlist.is-visible-inline{
  display:block !important;
}

.mobile-playlist-sheet-header{
  display:none !important;
}

@media (max-width:820px){
  .playlist > .mobile-inline-playlist{
    margin:10px 0 14px !important;
    padding:12px !important;
    border-radius:16px !important;
  }

  .playlist > .mobile-inline-playlist .playlist-manager-row{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }

  .playlist > .mobile-inline-playlist .playlist-manager-row select{
    grid-column:1 / -1 !important;
  }

  .playlist > .mobile-inline-playlist #startPlaylistButton{
    grid-column:1 / -1 !important;
  }

  .playlist > .mobile-inline-playlist .custom-playlist-list{
    max-height:220px !important;
    overflow-y:auto !important;
  }
}

@media (min-width:821px){
  .playlist > .mobile-inline-playlist{
    margin:16px 0 20px !important;
    padding:16px !important;
  }

  .playlist > .mobile-inline-playlist .custom-playlist-list{
    max-height:280px !important;
    overflow-y:auto !important;
  }
}

/* =========================================================
   V39 — scherpe gouden buitenranden zoals goedgekeurde mock-up
   - geen brede neonhalo meer
   - duidelijke goud/gele lijn rond header en hoofdblok
   - subtiele diepte blijft behouden
   ========================================================= */

.console-header,
.player-shell {
  border: 2px solid #ffb51c !important;
  box-shadow:
    0 0 0 1px rgba(255, 193, 55, .10),
    0 5px 16px rgba(255, 164, 24, .12),
    0 16px 34px rgba(0, 0, 0, .42),
    inset 0 1px 0 rgba(255, 241, 207, .10) !important;
}

/* De oude pseudo-rand maakte vooral bij het onderste blok
   een zachte, dubbele neonrand. Die vervalt volledig. */
.player-shell::before {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

/* Compacte, donkere scheiding tussen beide hoofdblokken. */
.console-header {
  margin-bottom: 22px !important;
}

/* Mobiel: dezelfde scherpe rand, iets compacter. */
@media (max-width: 820px) {
  .console-header,
  .player-shell {
    border-width: 1.5px !important;
    box-shadow:
      0 0 0 1px rgba(255, 193, 55, .08),
      0 4px 12px rgba(255, 164, 24, .10),
      0 12px 26px rgba(0, 0, 0, .38),
      inset 0 1px 0 rgba(255, 241, 207, .08) !important;
  }

  .console-header {
    margin-bottom: 14px !important;
  }
}


/* V39B — dezelfde scherpe gele omlijning voor de onderste hoofdpanelen */
.legend-section,
.booking-section,
.contact-section {
  border: 2px solid #ffb51c !important;
  box-shadow:
    0 0 0 1px rgba(255, 193, 55, .10),
    0 5px 16px rgba(255, 164, 24, .12),
    0 16px 34px rgba(0, 0, 0, .42),
    inset 0 1px 0 rgba(255, 241, 207, .10) !important;
}

.legend-section::before,
.booking-section::before,
.contact-section::before {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

@media (max-width: 820px) {
  .legend-section,
  .booking-section,
  .contact-section {
    margin: 14px auto 0 !important;
    border-width: 1.5px !important;
    box-shadow:
      0 0 0 1px rgba(255, 193, 55, .08),
      0 4px 12px rgba(255, 164, 24, .10),
      0 12px 26px rgba(0, 0, 0, .38),
      inset 0 1px 0 rgba(255, 241, 207, .08) !important;
  }
}



/* V39C — desktop: dezelfde tussenruimte als tussen de eerste twee hoofdpanelen */
@media (min-width: 821px) {
  .legend-section,
  .booking-section,
  .contact-section {
    margin-top: 22px !important;
    margin-bottom: 0 !important;
  }
}


/* =========================================================
   V40 — mobiele huidige-trackmodule compacter
   Goedgekeurd beeld:
   - kleinere titel
   - kleinere transportknoppen
   - minder verticale witruimte
   - geen extra/middelste gele scheidingslijn
   ========================================================= */

@media (max-width: 820px) {
  /* Huidige-trackkaart compacter */
  .current-track-panel {
    padding: 16px 14px 14px !important;
    min-height: 0 !important;
  }

  .current-track-label {
    font-size: .76rem !important;
    line-height: 1.15 !important;
    margin-bottom: 10px !important;
  }

  /* Vangt de verschillende titelselectors uit de bestaande versies af */
  .current-track-title,
  .current-track-panel h2,
  .current-track-panel .track-title,
  .current-track-main h2 {
    font-size: clamp(1.15rem, 5.2vw, 1.55rem) !important;
    line-height: 1.08 !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }

  .console-progress-row {
    margin-top: 4px !important;
    gap: 7px !important;
    font-size: .72rem !important;
  }

  .console-transport {
    gap: 14px !important;
    margin-top: 14px !important;
  }

  /* Vorige/volgende kleiner */
  .console-transport button {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: .9rem !important;
  }

  /* Hoofd-playknop kleiner, maar nog steeds visueel dominant */
  .console-transport .console-main-play {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
    border-radius: 16px !important;
    font-size: 1rem !important;
  }

  /* Geen decoratieve lijn tussen huidige track en tracks.
     De secties worden alleen door ruimte van elkaar gescheiden. */
  .current-track-panel::after,
  .current-track-panel + .tracks-section::before,
  .current-track-panel + .playlist-tracks::before {
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
    background: none !important;
  }
}

/* =========================================================
   V41 — mobiele huidige-trackmodule minimaler
   - minder ruimte tussen titel en voortgangsbalk
   - kleinere transportknoppen
   - geen knopomkadering
   - vorige/volgende als losse pijliconen
   - playknop in dezelfde goudkleur
   ========================================================= */

@media (max-width: 820px) {
  .current-track-panel {
    padding: 14px 14px 12px !important;
    min-height: 0 !important;
  }

  .current-track-label {
    margin-bottom: 8px !important;
  }

  .current-track-title,
  .current-track-panel h2,
  .current-track-panel .track-title,
  .current-track-main h2 {
    font-size: clamp(1.12rem, 5vw, 1.45rem) !important;
    line-height: 1.06 !important;
    margin: 0 0 8px !important;
  }

  /* Trek voortgangsbalk dichter naar de titel */
  .console-progress-row {
    margin-top: 0 !important;
    gap: 7px !important;
    font-size: .7rem !important;
  }

  /* Compactere bedieningsregel */
  .console-transport {
    gap: 26px !important;
    margin-top: 12px !important;
  }

  /* Alle drie knoppen zonder kader of vlak */
  .console-transport button,
  .console-transport .console-main-play {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 4px 6px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #f2ad3d !important;
    filter: none !important;
    line-height: 1 !important;
  }

  /* Vorige / volgende */
  .console-transport button {
    font-size: 1.1rem !important;
  }

  /* Play iets groter, maar dezelfde kleur en stijl */
  .console-transport .console-main-play {
    font-size: 1.55rem !important;
    color: #f2ad3d !important;
  }

  .console-transport button:hover,
  .console-transport button:focus-visible,
  .console-transport .console-main-play:hover,
  .console-transport .console-main-play:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    color: #ffc45b !important;
    transform: none !important;
  }
}

/* =========================================================
   V42 — equalizer mobiel in normale layout
   - niet meer zwevend/overlay
   - opent tussen Huidige track en Tracks
   - schuift de content eronder netjes omlaag
   ========================================================= */

@media (max-width: 820px) {
  .equalizer-panel,
  .playlist > .audio-stack,
  .playlist .equalizer-panel {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 14px 0 18px !important;
    transform: none !important;
    translate: none !important;
    z-index: auto !important;
  }

  /* Oude overlay-/popupstatus neutraliseren */
  .equalizer-panel.is-open,
  .equalizer-panel.open,
  .equalizer-panel.active,
  .audio-stack.is-open,
  .audio-stack.open,
  .audio-stack.active {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    z-index: auto !important;
  }

  /* Geen zwevende schaduw die suggereert dat het paneel los ligt */
  .equalizer-panel {
    box-shadow:
      inset 0 1px 0 rgba(255,241,207,.06),
      inset 0 -12px 24px rgba(0,0,0,.16) !important;
  }
}

/* =========================================================
   V43 — OPTIE 1: compacte equalizer in de mobiele layout
   Huidige track -> Equalizer -> Tracks
   De headerknop blijft de equalizer openen/sluiten.
   Geen popup, geen overlap, geen zwevende positionering.
   ========================================================= */

@media (max-width: 820px) {

  /* Audio-stack wordt één normale verticale flow */
  .playlist > .audio-stack {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 0 !important;
    margin: 0 !important;
    position: static !important;
  }

  /* Huidige track altijd eerst */
  .playlist > .audio-stack .current-track-panel {
    order: 1 !important;
    position: static !important;
    width: 100% !important;
    margin: 0 0 10px !important;
  }

  /* Equalizer direct eronder, standaard dicht */
  .playlist > .audio-stack .equalizer-panel,
  .playlist > .audio-stack.mobile-eq-open .equalizer-panel {
    order: 2 !important;
    display: none !important;
    position: static !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    translate: none !important;

    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important;

    margin: 0 0 12px !important;
    padding: 12px 10px 10px !important;
    border-radius: 16px !important;
    z-index: auto !important;

    background:
      linear-gradient(180deg, rgba(47,22,8,.86), rgba(20,9,4,.92)) !important;
    border: 1px solid rgba(255,181,50,.55) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,241,207,.05) !important;
  }

  /* De bestaande header-equalizerknop gebruikt deze body-class.
     Daarmee tonen we de equalizer nu INLINE in plaats van als popup. */
  body.mobile-eq-popup-open .playlist > .audio-stack .equalizer-panel {
    display: block !important;
    position: static !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;

    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important;

    margin: 0 0 12px !important;
    z-index: auto !important;
  }

  /* Geen backdrop, popup-pijltje of scroll-lock */
  body.mobile-eq-popup-open::before,
  body.mobile-eq-popup-open .playlist > .audio-stack .equalizer-panel::before {
    content: none !important;
    display: none !important;
  }

  body.mobile-eq-popup-open {
    overflow: auto !important;
  }

  /* Compacte optie-1 vormgeving */
  .equalizer-header {
    margin-bottom: 8px !important;
  }

  .equalizer-header strong {
    font-size: .78rem !important;
  }

  .eq-reset-button {
    padding: 5px 9px !important;
    font-size: .66rem !important;
  }

  .playlist > .audio-stack .equalizer-controls,
  body.mobile-eq-popup-open .equalizer-controls {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
  }

  .playlist > .audio-stack .eq-control,
  body.mobile-eq-popup-open .eq-control {
    min-width: 0 !important;
    min-height: 124px !important;
    padding: 8px 2px 7px !important;
    gap: 4px !important;
    border-radius: 13px !important;
    font-size: .64rem !important;
  }

  .playlist > .audio-stack .eq-knob-wrap,
  body.mobile-eq-popup-open .eq-knob-wrap {
    width: 58px !important;
    height: 58px !important;
  }

  .playlist > .audio-stack .eq-knob,
  body.mobile-eq-popup-open .eq-knob {
    width: 44px !important;
    height: 44px !important;
  }

  .playlist > .audio-stack .eq-value {
    min-width: 44px !important;
    padding: 3px 5px !important;
    font-size: .59rem !important;
  }

  /* De oude losse mobiele equalizerknop in de content blijft weg.
     Alleen het icoon in de header wordt gebruikt. */
  .legacy-mobile-eq-button,
  #mobileEqToggle {
    display: none !important;
  }
}

/* =========================================================
   V44 — mobiele volgorde omgedraaid
   Equalizer -> Huidige track -> Tracks
   Alleen mobiel; desktop blijft ongewijzigd.
   ========================================================= */

@media (max-width: 820px) {
  .playlist > .audio-stack {
    display: flex !important;
    flex-direction: column !important;
  }

  /* Equalizer boven Huidige track wanneer geopend */
  .playlist > .audio-stack .equalizer-panel,
  body.mobile-eq-popup-open .playlist > .audio-stack .equalizer-panel {
    order: 1 !important;
  }

  /* Huidige track daar direct onder */
  .playlist > .audio-stack .current-track-panel {
    order: 2 !important;
  }
}

/* =========================================================
   V45 — mobiele omlijning Huidige track gelijk aan Equalizer
   Alleen mobiel; desktop blijft ongewijzigd.
   ========================================================= */

@media (max-width: 820px) {
  .playlist > .audio-stack .current-track-panel {
    border: 1px solid rgba(255,181,50,.55) !important;
    border-radius: 16px !important;
    background:
      linear-gradient(180deg, rgba(47,22,8,.86), rgba(20,9,4,.92)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,241,207,.05) !important;
  }
}

/* =========================================================
   V46 — mobiel: Equalizer en Huidige track exact dezelfde kaartstijl
   + lege huidige-tracktitel op één regel
   ========================================================= */
@media (max-width: 820px) {
  .playlist > .audio-stack .equalizer-panel,
  body.mobile-eq-popup-open .playlist > .audio-stack .equalizer-panel,
  .playlist > .audio-stack .current-track-panel {
    border: 1px solid rgba(255,181,50,.55) !important;
    border-radius: 16px !important;
    background:
      linear-gradient(180deg, rgba(47,22,8,.86), rgba(20,9,4,.92)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,241,207,.05) !important;
  }

  /* "Klik op een nummer om af te spelen" blijft op mobiel op één regel. */
  .playlist > .audio-stack .current-track-panel .track-title,
  .playlist > .audio-stack .current-track-panel h2,
  .playlist > .audio-stack .current-track-title {
    font-size: clamp(.92rem, 4.05vw, 1.08rem) !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* V47 — mobiel: helderheid omlijning Huidige track gelijkgetrokken met Equalizer */
@media (max-width: 820px) {
  .playlist > .audio-stack .current-track-panel {
    border-color: rgba(255,181,50,.88) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,241,207,.08),
      0 0 0 1px rgba(255,225,150,.10),
      0 0 14px rgba(255,174,42,.42),
      0 0 34px rgba(255,122,0,.18) !important;
  }
}

/* V48 — mobiel: Equalizer en Huidige track één rustige gele lijn, zonder neon/glow */
@media (max-width: 820px) {
  .playlist > .audio-stack .equalizer-panel,
  body.mobile-eq-popup-open .playlist > .audio-stack .equalizer-panel,
  .playlist > .audio-stack .current-track-panel {
    border: 1.5px solid #f4b33b !important;
    border-radius: 16px !important;
    box-shadow: none !important;
  }
}

/* V48 — desktop: lege huidige-tracktitel op één regel */
@media (min-width: 821px) {
  .playlist > .audio-stack .current-track-panel .track-title {
    font-size: clamp(1.35rem, 2vw, 1.65rem) !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}

/* Desktop: zoekveld links even breed als de equalizer; playlistinfo rechts. */
@media (min-width: 821px) {
  .playlist-library-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 0 16px !important;
  }

  .playlist-library-toolbar > .playlist-search,
  .playlist-library-toolbar > .playlist-header {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 84px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .playlist-library-toolbar > .playlist-search {
    display: flex !important;
    align-items: center !important;
  }

  .playlist-library-toolbar > .playlist-search input {
    width: 100% !important;
  }

  .playlist-library-toolbar > .playlist-header {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    gap: 16px !important;
  }

  .playlist-library-toolbar > .playlist-header .mark-all-seen-button {
    justify-self: center !important;
  }

  .playlist-library-toolbar > .playlist-header #trackCount {
    justify-self: end !important;
  }
}

@media (max-width: 820px) {
  .playlist-library-toolbar {
    display: block !important;
  }
}

/* Houd de plusknop op dezelfde gecentreerde positie bij hover en klikken. */
.playlist-track-wrap .track-add-button,
.playlist-track-wrap .track-add-button:hover,
.playlist-track-wrap .track-add-button:focus-visible,
.playlist-track-wrap .track-add-button:active {
  transform: translateY(-50%) !important;
}

.playlist-track-wrap .track-add-button {
  transition: border-color .18s ease, filter .18s ease, box-shadow .18s ease !important;
}

.playlist-track-wrap .playlist-button {
  padding-right: 54px !important;
}

.track-share-button {
  /* Tijdelijk verborgen totdat de gedeelde trackpagina apart is getest. */
  display: none !important;
  position: absolute;
  top: 50%;
  right: 52px;
  transform: translateY(-50%) !important;
  width: 34px;
  height: 34px;
  padding: 0;
  z-index: 2;
  place-items: center;
  border: 1px solid rgba(255,241,207,.18);
  border-radius: 999px;
  color: var(--cream-bright);
  background: linear-gradient(180deg, rgba(96,50,23,.82), rgba(52,24,10,.88));
  box-shadow: inset 0 1px 0 rgba(255,241,207,.10), 0 7px 14px rgba(0,0,0,.20);
  font: inherit;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  transition: border-color .18s ease, filter .18s ease, box-shadow .18s ease;
}

.track-share-button:hover,
.track-share-button:focus-visible {
  transform: translateY(-50%) !important;
  border-color: rgba(255,217,121,.68);
  filter: brightness(1.08);
}

.track-share-button:active {
  transform: translateY(-50%) !important;
}

/* Lyricstekst even groot als de titel in het blok Huidige track. */
@media (min-width: 821px) {
  .lyrics-content,
  .lyrics-content .lyrics-current-line {
    font-size: clamp(1.35rem, 2vw, 1.65rem) !important;
  }
}

@media (max-width: 820px) {
  .lyrics-content,
  .lyrics-content .lyrics-current-line {
    font-size: clamp(1.15rem, 5vw, 1.4rem) !important;
  }
}

@media (max-width: 820px) {
  .lyrics-panel:not(.is-hidden) {
    display: block !important;
    position: relative !important;
    min-height: 0 !important;
    margin: 12px auto 14px !important;
    padding: 14px !important;
    border: 1px solid rgba(255,241,207,.22) !important;
    border-radius: 20px !important;
    background: rgba(36,18,7,.70) !important;
    box-shadow: inset 0 0 24px rgba(0,0,0,.28) !important;
    overflow: hidden !important;
  }

  .lyrics-panel:not(.is-hidden)::before {
    content: none !important;
  }

  .lyrics-panel .lyrics-content {
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 96px !important;
    max-height: 250px !important;
    margin: 0 !important;
    padding: 12px !important;
    border: 1px solid rgba(255,241,207,.14) !important;
    border-radius: 18px !important;
    background: rgba(8,6,4,.38) !important;
    box-shadow: none !important;
  }

  .lyrics-panel .lyrics-content.is-single-line {
    min-height: 96px !important;
    max-height: none !important;
  }

  .lyrics-panel .lyrics-current-line {
    padding: 12px 14px !important;
    border-radius: 16px !important;
    background: rgba(255,241,207,.10) !important;
    box-shadow: none !important;
    text-shadow: 0 0 16px rgba(255,241,207,.18) !important;
  }
}

.lyrics-panel .lyrics-header {
  display: none !important;
}

@media (min-width: 821px) {
  .lyrics-panel .lyrics-content {
    margin-top: 0 !important;
  }
}

.console-brand-avatar {
    appearance: none;
    cursor: default;
  }

  .console-brand-avatar:disabled {
    opacity: 1;
  }

  .business-card-lightbox[hidden] {
    display: none;
  }

  .business-card-lightbox {
    position: fixed;
    z-index: 10000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 28px;
    background: rgba(10, 5, 2, .90);
    backdrop-filter: blur(10px);
    cursor: zoom-out;
  }

  .business-card-lightbox-image {
    display: block;
    width: auto;
    max-width: min(94vw, 900px);
    max-height: calc(100dvh - 56px);
    object-fit: contain;
    border: 1px solid rgba(255, 217, 121, .45);
    border-radius: 18px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .70);
    cursor: default;
  }

  .business-card-lightbox-close {
    position: fixed;
    z-index: 1;
    top: max(14px, env(safe-area-inset-top));
    right: max(14px, env(safe-area-inset-right));
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255, 241, 207, .40);
    border-radius: 50%;
    color: var(--cream-bright);
    background: rgba(40, 18, 7, .92);
    font: 800 2rem/1 sans-serif;
    cursor: pointer;
  }

  .business-card-lightbox-close:hover,
  .business-card-lightbox-close:focus-visible {
    border-color: var(--brass-light);
    background: rgba(105, 49, 20, .96);
    outline: none;
  }

  body.business-card-lightbox-open {
    overflow: hidden;
  }

  .playlist-info-dialog[hidden] {
    display: none;
  }

  .playlist-info-dialog {
    position: fixed;
    z-index: 10020;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(10, 5, 2, .88);
    backdrop-filter: blur(9px);
  }

  .playlist-info-card {
    position: relative;
    width: min(92vw, 560px);
    max-height: calc(100dvh - 48px);
    overflow: auto;
    padding: 30px;
    border: 1px solid rgba(255, 204, 105, .55);
    border-radius: 22px;
    color: #fff1cf;
    background: linear-gradient(180deg, rgba(75, 34, 13, .98), rgba(28, 12, 5, .99));
    box-shadow: 0 28px 80px rgba(0, 0, 0, .72), inset 0 1px 0 rgba(255, 241, 207, .12);
  }

  .playlist-info-card h2 {
    margin: 0 48px 14px 0;
    color: #ffd47c;
    font-size: clamp(1.35rem, 5vw, 1.9rem);
  }

  .playlist-info-card p {
    margin: 0 0 14px;
    color: #f5dfba;
    line-height: 1.55;
  }

  .playlist-info-card ol {
    margin: 0;
    padding-left: 1.4rem;
    color: #fff1cf;
    line-height: 1.55;
  }

  .playlist-info-card li + li {
    margin-top: 8px;
  }

  .playlist-info-close {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(255, 241, 207, .4);
    border-radius: 50%;
    color: #fff1cf;
    background: rgba(35, 15, 6, .9);
    font: 800 1.7rem/1 sans-serif;
    cursor: pointer;
  }

  .playlist-info-close:focus-visible,
  .playlist-info-close:hover {
    border-color: #ffd47c;
    outline: none;
  }

  body.playlist-info-open {
    overflow: hidden;
  }

  @media (max-width: 620px) {
    .business-card-lightbox {
      padding: 12px;
    }

    .business-card-lightbox-image {
      max-width: calc(100vw - 24px);
      max-height: calc(100dvh - 24px);
      border-radius: 12px;
    }
  }

  @media (max-width: 820px) {
    .console-brand-avatar:not(:disabled) {
      cursor: zoom-in;
    }

    .console-brand-avatar:not(:disabled):focus-visible {
      outline: 3px solid var(--brass-light);
      outline-offset: 5px;
    }
  }

  @media (max-width: 430px) {
    .console-socials {
      width: 100% !important;
      gap: clamp(3px, 1.4vw, 6px) !important;
    }

    .console-social-button {
      width: 36px !important;
      height: 36px !important;
      min-width: 33px !important;
      flex: 0 1 36px !important;
      aspect-ratio: 1;
    }

    .console-social-button svg {
      width: 18px !important;
      height: 18px !important;
    }
  }

  .playlist-button.is-new {
    border-color: #ffd766;
    background:
      linear-gradient(135deg, rgba(255, 215, 102, .26), rgba(194, 87, 61, .24));
    box-shadow: 0 0 0 1px rgba(255, 215, 102, .20), 0 10px 28px rgba(255, 174, 52, .16);
  }

  .playlist-button.is-new strong {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .playlist-button .playlist-new-badge {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 4px 8px;
    color: #000;
    background: linear-gradient(135deg, #fff1a8, #f4b53f);
    font-size: .66rem;
    font-weight: 1000;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .24);
  }

@media (max-width: 820px) {
  .console-header {
    grid-template-areas:
      "avatar mobiletitle"
      "avatar copy" !important;
    grid-template-rows: auto auto !important;
    row-gap: 0 !important;
  }

  .mobile-console-brand-title {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    align-self: end !important;
    font-size: clamp(1.65rem, 8.5vw, 2.35rem) !important;
    line-height: 1.05 !important;
    text-align: left !important;
  }

  .console-brand-avatar {
    grid-row: 1 / 3 !important;
    align-self: center !important;
  }

  .console-brand-copy {
    padding-top: 0 !important;
  }
}


/* Testomgeving: gedeelde meerpagina-opmaak */
body > header.site-header:not(.console-header) {
  position: relative;
  width: min(1600px, calc(100% - 32px));
  margin: 20px auto 22px;
  min-height: 270px;
  padding: 24px 42px;
  display: grid !important;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 38px;
  align-items: center;
  border: 2px solid #e7a61c;
  border-radius: 34px;
  background: radial-gradient(circle at 13% 24%, rgba(177, 91, 24, .24), transparent 32%), linear-gradient(105deg, #211006, #090402 72%);
  box-shadow: 0 0 28px rgba(255, 157, 31, .16), inset 0 0 36px rgba(141, 64, 18, .16);
}
.site-header__avatar-link {
  width: 180px;
  height: 180px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}
.site-header__avatar {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  border-radius: 0;
  outline: 0;
  object-fit: contain;
  box-shadow: none;
}
.site-header__content {
  min-width: 0;
  padding-right: clamp(180px, 18vw, 290px);
}
.site-header__doendaar {
  position: absolute;
  top: 30px;
  right: 38px;
  width: clamp(170px, 16vw, 270px);
  padding: 8px;
  border: 0;
  border-radius: 10px;
  line-height: 0;
  opacity: .88;
  transition: opacity .18s ease, transform .18s ease;
}
.site-header__doendaar:hover,
.site-header__doendaar:focus-visible {
  opacity: 1;
  transform: translateY(-2px);
  outline: 2px solid rgba(255, 217, 121, .7);
  outline-offset: 3px;
}
.site-header__doendaar::after { display: none; }
.site-header__doendaar img {
  display: block;
  width: 100%;
  height: auto;
}
.site-header__title {
  margin: 0;
  display: inline-block;
  padding-bottom: .08em;
  font-size: clamp(2.8rem, 4.7vw, 4.9rem);
  line-height: 1;
  letter-spacing: -.06em;
  font-weight: 1000;
  background: linear-gradient(90deg, #ffbd55, #e76e45 56%, #eba43f);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.site-header__tagline { margin: 2px 0; color: #fff4d8; font-size: clamp(1.35rem, 2.2vw, 2.2rem); line-height: 1; }
.site-header__subline { margin: 7px 0 14px; color: #d6c2a3; font-size: clamp(.88rem, 1.05vw, 1.05rem); }
.site-header__icons { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.site-header__icons a,
.site-header__icons button {
  width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 44px;
  border: 1px solid #eca51d; border-radius: 50%; color: #f4b23d; background: #160a04;
  padding: 0; text-decoration: none; font: inherit; cursor: pointer;
  transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.site-header__icons a:hover,
.site-header__icons button:hover,
.site-header__icons a:focus-visible,
.site-header__icons button:focus-visible,
.site-header__icons a.is-active {
  color: #211006; border-color: #ffd979; background: linear-gradient(135deg, #ffd06c, #e98a3e);
  transform: translateY(-2px); box-shadow: none; outline: none;
}
.site-header__icons .site-tune-toggle.is-playing {
  color: #211006;
  border-color: #fff0b5;
  background: linear-gradient(135deg, #ffe08b, #e98a3e);
  box-shadow: 0 0 0 4px rgba(255, 208, 108, .16), 0 0 20px rgba(255, 174, 61, .42);
  animation: site-tune-pulse 1.4s ease-in-out infinite;
}
@keyframes site-tune-pulse {
  50% { transform: translateY(-2px) scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
  .site-header__icons .site-tune-toggle.is-playing { animation: none; }
}
.site-header__icons svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.site-header__icons a::after { display: none; }
.site-header__icons .site-header__facebook { fill: currentColor; stroke: none; }
.header-eq-toggle { display: none !important; }
.site-header__icon-divider { width: 1px; height: 30px; margin: 0 2px; background: rgba(255, 217, 121, .28); }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.page-shell { width: min(1600px, calc(100% - 32px)); margin: 0 auto 28px; }
.page-card {
  padding: clamp(24px, 4vw, 58px); border: 2px solid #dfa01d; border-radius: 32px;
  background: linear-gradient(145deg, rgba(91, 40, 13, .78), rgba(21, 8, 3, .97));
  box-shadow: inset 0 0 0 18px rgba(255, 185, 63, .025), 0 18px 50px rgba(0,0,0,.34);
}
.page-card + .page-card { margin-top: 22px; }
.page-kicker { margin: 0 0 8px; color: #f3b849; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.page-title { margin: 0 0 18px; color: #fff2d5; font-size: clamp(2rem, 4vw, 4.1rem); line-height: 1; }
.page-lead { max-width: 920px; color: #e4d1b3; font-size: clamp(1.06rem, 1.55vw, 1.32rem); line-height: 1.65; }
.intro-card .page-title { font-size: clamp(1.7rem, 3vw, 3rem); line-height: 1.12; }
.intro-card .page-lead { width: 100%; max-width: none; text-align: justify; text-justify: inter-word; }
.page-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.page-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 11px 20px; border-radius: 999px; color: #211006; background: linear-gradient(135deg, #ffd06c, #e98a3e); text-decoration: none; font-weight: 900; }
.latest-media { display: block; }
.latest-media__content { width: min(1100px, 100%); margin: 0 auto; }
.latest-media__heading { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; }
.latest-media__heading .page-kicker { grid-column: 1; margin: 0; justify-self: start; }
.latest-media__heading .page-title { grid-column: 2; margin: 0; text-align: center; }
.latest-media .page-title { font-size: clamp(2rem, 3.5vw, 3.4rem); }
.latest-media video { display: block; width: 75%; margin: 18px auto 0; border-radius: 16px; background: #100704; }
.latest-media audio { display: block; width: 75%; margin: 18px auto 0; border-radius: 16px; background: #100704; }
.youtube-player { width: min(900px, 100%); margin: 18px auto 0; overflow: hidden; aspect-ratio: 41 / 30; border-radius: 16px; background: #100704; }
.youtube-player iframe { display: block; width: 100%; height: 100%; border: 0; }
.test-notice { width: min(1600px, calc(100% - 32px)); margin: 12px auto; padding: 9px 14px; color: #211006; background: #ffd06c; border-radius: 12px; text-align: center; font-weight: 900; }
.site-footer { width: min(1600px, calc(100% - 32px)); margin: 20px auto; }
.site-footer { border-top: 0 !important; }
.music-page .player-shell { margin-top: 0 !important; }
.booking-section, .contact-section { margin-top: 0 !important; }
@media (min-width: 821px) and (max-width: 1100px) {
  .site-header { min-height: 240px; padding-inline: 30px; grid-template-columns: 130px minmax(0, 1fr); gap: 28px; }
  .site-header__avatar-link { width: 130px; height: 130px; }
  .site-header__content { padding-right: 150px; }
  .site-header__doendaar { top: 24px; right: 28px; width: 150px; }
  .site-header__icons a, .site-header__icons button { width: 40px; height: 40px; flex-basis: 40px; }
}
@media (max-width: 820px) {
  .site-header { width: calc(100% - 20px); min-height: 0; margin-top: 12px; padding: 18px 16px; grid-template-columns: 86px minmax(0, 1fr); gap: 13px; border-radius: 22px; }
  .site-header__avatar-link { width: 82px; height: 82px; }
  .site-header__content { padding-right: 0; }
  .site-header__doendaar { top: 14px; right: 14px; width: 96px; padding: 4px; }
  .site-header__title { font-size: clamp(1.75rem, 8vw, 2.45rem); line-height: 1; }
  .site-header__tagline { margin-top: 7px; font-size: clamp(1.05rem, 4.9vw, 1.4rem); }
  .site-header__subline { margin: 7px 0 11px; font-size: .8rem; line-height: 1.35; }
  .site-header__icons a, .site-header__icons button { width: 38px; height: 38px; flex-basis: 38px; }
  .site-header__icons svg { width: 19px; height: 19px; }
  .site-header__icons { gap: 8px; }
  .page-shell { width: calc(100% - 20px); }
  .page-card { border-radius: 22px; }
  .latest-media { grid-template-columns: 1fr; }
  .latest-media__heading { display: block; text-align: center; }
  .latest-media__heading .page-kicker { margin-bottom: 8px; text-align: center; }
}
@media (max-width: 430px) {
  .site-header { padding: 15px 12px; grid-template-columns: 78px minmax(0, 1fr); gap: 11px; }
  .site-header__avatar-link { width: 76px; height: 76px; }
  .site-header__doendaar { top: 12px; right: 11px; width: 78px; }
  .site-header__title { font-size: clamp(1.55rem, 7.7vw, 2rem); }
  .site-header__icons a, .site-header__icons button { width: 34px; height: 34px; flex-basis: 34px; }
  .site-header__icons { gap: 6px; }
  .site-header__icon-divider { height: 24px; margin-inline: 0; }
}

/* Rustige buitenlijnen: verwijder neon/gloed van de hoofd-layout. */
body > header.site-header:not(.console-header),
body > main.page-shell > .page-card,
.music-page > .player-shell,
body > main.page-shell > .booking-section,
body > :is(main, div).page-shell > .contact-section {
  box-shadow: none !important;
}

/* Muziekpagina: kop en afspeellijst houden exact dezelfde buitenbreedte. */
body.page-muziek > header.site-header,
body.page-muziek > .test-notice,
body:has(> main.music-page) > header.site-header,
body:has(> main.music-page) > .test-notice {
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px;
}

@media (max-width: 1100px) {
  body.page-muziek > header.site-header,
  body.page-muziek > .test-notice,
  body:has(> main.music-page) > header.site-header,
  body:has(> main.music-page) > .test-notice {
    width: min(calc(100% - 28px), 960px) !important;
  }
}

@media (max-width: 720px) {
  body.page-muziek > header.site-header,
  body.page-muziek > .test-notice,
  body:has(> main.music-page) > header.site-header,
  body:has(> main.music-page) > .test-notice {
    width: calc(100% - 24px) !important;
  }
}

/* Mobiele kop: overschrijf het desktop-raster met gelijke specificiteit. */
@media (max-width: 820px) {
  body.page-boeken .site-header__icons .mobile-home-utility,
  body.page-contact .site-header__icons .mobile-home-utility { display: none !important; }
  body.page-muziek .site-header__icons .header-eq-toggle { display: grid !important; }

  body > header.site-header:not(.console-header) {
    min-height: 0 !important;
    padding: 18px 16px !important;
    grid-template-columns: 86px minmax(0, 1fr) !important;
    gap: 13px !important;
    align-items: center !important;
    border-radius: 22px !important;
    margin-bottom: 82px !important;
    overflow: visible;
  }

  body > header.site-header:not(.console-header) > div {
    min-width: 0;
  }

  .site-header__doendaar {
    position: static;
    grid-column: 1 / -1;
    grid-row: auto;
    width: 112px;
    margin: 4px auto 0;
    padding: 2px;
    justify-self: center;
  }

  .site-header__title,
  .site-header__tagline,
  .site-header__subline {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
  }

  .site-header__icons {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    width: 100%;
    min-height: 62px;
    padding: 10px 12px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1.5px solid #f2ad20;
    border-radius: 18px;
    background: linear-gradient(105deg, rgba(48, 20, 6, .98), rgba(9, 4, 2, .99) 72%);
    box-shadow: none;
    z-index: 3;
  }
}

@media (max-width: 430px) {
  body > header.site-header:not(.console-header) {
    padding: 15px 12px !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    gap: 11px !important;
    margin-bottom: 76px !important;
  }

  .site-header__icons {
    min-height: 56px;
    padding: 8px;
    gap: 5px;
  }

  .site-header__icons a,
  .site-header__icons button {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }
}

/* Alle hoofdpagina's: kop, melding en inhoud exact dezelfde kolombreedte. */
body > .test-notice,
body > header.site-header:not(.console-header),
body > main.page-shell {
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Boeken en Contact: voorkom de oude extra versmalling van 860/760px. */
body > main.page-shell > .booking-section,
body > :is(main, div).page-shell > .contact-section {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Boeken: uitgevulde tekst over de volledige binnenbreedte van het paneel. */
body > main.page-shell > .booking-section p {
  width: 100% !important;
  max-width: none !important;
}

/* Boeken: dezelfde typografie en uitlijning als het introductieblok op home. */
body > main.page-shell > .booking-section {
  padding: clamp(24px, 4vw, 58px) !important;
  text-align: left !important;
}

body > main.page-shell > .booking-section h2 {
  margin: 0 0 18px !important;
  color: #fff2d5 !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  font-family: inherit !important;
  font-size: clamp(1.7rem, 3vw, 3rem) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: normal !important;
  text-align: left !important;
}

body > main.page-shell > .booking-section p {
  color: #e4d1b3 !important;
  font-size: clamp(1.06rem, 1.55vw, 1.32rem) !important;
  line-height: 1.65 !important;
}

/* Contact: dezelfde typografie en uitlijning als home en boeken. */
body > :is(main, div).page-shell > .contact-section {
  padding: clamp(24px, 4vw, 58px) !important;
  text-align: left !important;
}

body > :is(main, div).page-shell > .contact-section h2 {
  margin: 0 0 18px !important;
  color: #fff2d5 !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  font-size: clamp(1.7rem, 3vw, 3rem) !important;
  line-height: 1.12 !important;
  letter-spacing: normal !important;
  text-align: left !important;
}

body > :is(main, div).page-shell > .contact-section p {
  width: 100% !important;
  max-width: none !important;
  color: #e4d1b3 !important;
  font-size: clamp(1.06rem, 1.55vw, 1.32rem) !important;
  line-height: 1.65 !important;
  text-align: justify !important;
  text-justify: inter-word;
}

@media (max-width: 1100px) {
  body > .test-notice,
  body > header.site-header:not(.console-header),
  body > main.page-shell {
    width: min(calc(100% - 28px), 960px) !important;
  }
}

@media (max-width: 720px) {
  body > .test-notice,
  body > header.site-header:not(.console-header),
  body > main.page-shell {
    width: calc(100% - 24px) !important;
  }
}

/* Hoofdpagina: dezelfde buitenbreedte en uitlijning als de muzieklijst. */
body.page-home > .test-notice,
body.page-home > header.site-header,
body.page-home > main.page-shell,
body.page-boeken > .test-notice,
body.page-boeken > header.site-header,
body.page-boeken > main.page-shell,
body.page-contact > .test-notice,
body.page-contact > header.site-header,
body.page-contact > main.page-shell {
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px;
}

@media (max-width: 1100px) {
  body.page-home > .test-notice,
  body.page-home > header.site-header,
  body.page-home > main.page-shell,
  body.page-boeken > .test-notice,
  body.page-boeken > header.site-header,
  body.page-boeken > main.page-shell,
  body.page-contact > .test-notice,
  body.page-contact > header.site-header,
  body.page-contact > main.page-shell {
    width: min(calc(100% - 28px), 960px) !important;
  }
}

@media (max-width: 720px) {
  body.page-home > .test-notice,
  body.page-home > header.site-header,
  body.page-home > main.page-shell,
  body.page-boeken > .test-notice,
  body.page-boeken > header.site-header,
  body.page-boeken > main.page-shell,
  body.page-contact > .test-notice,
  body.page-contact > header.site-header,
body.page-contact > main.page-shell {
  width: calc(100% - 24px) !important;
}
}

/* Eén-paginaweergave: dezelfde vaste tussenruimte tussen muziek en contact
   als tussen de bovenste hoofdcellen. De ruimte staat op de container,
   zodat de marge niet met de sectie kan samenvallen. */
body > main.music-page + .homepage-contact {
  margin-top: 22px !important;
}

body > main.music-page + .homepage-contact > .contact-section {
  margin-top: 0 !important;
}

/* De algemene scroll-reveal verplaatst secties eerst 70px omlaag.
   Bij de direct aansluitende contactcel zou dat de vaste tussenruimte
   visueel vergroten; deze cel staat daarom meteen op zijn eindpositie. */
body > main.music-page + .homepage-contact > .contact-section.reveal-block,
body > main.music-page + .homepage-contact > .contact-section.reveal-block.reveal-alt,
body > main.music-page + .homepage-contact > .contact-section.reveal-block.reveal-visible {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

@media (max-width: 820px) {
  body > main.music-page + .homepage-contact {
    margin-top: 14px !important;
  }
}

/* Rustige vormgeving: verwijder neon- en gloedeffecten overal. */
*,
*::before,
*::after {
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}

/* Zichtbare laadstatus totdat player.js de muzieklijst heeft opgebouwd. */
.playlist-loading {
  grid-column: 1 / -1;
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #e4d1b3;
  font-weight: 800;
  letter-spacing: .02em;
}

.playlist-loading__spinner {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border: 3px solid rgba(244, 179, 59, .25);
  border-top-color: #f4b33b;
  border-radius: 50%;
  animation: playlist-loading-spin .8s linear infinite;
}

@keyframes playlist-loading-spin {
  to { transform: rotate(360deg); }
}

.playlist-track-wrap.is-revealing {
  animation: playlist-track-reveal .22s ease-out both;
}

@keyframes playlist-track-reveal {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .playlist-loading__spinner { animation-duration: 1.8s; }
  .playlist-track-wrap.is-revealing { animation: none; }
}

/* Mobiel staan sociale kanalen als rustige tekstlinks in de voet van de site.
   De hoofdnavigatie blijft daardoor beperkt tot functies van de huidige pagina. */
.mobile-social-links {
  display: none;
}

@media (max-width: 430px) {
  .site-nav__more-toggle,
  body > header.site-nav-cell .site-nav__secondary {
    display: none !important;
  }

  .mobile-social-links {
    display: block;
    width: 100%;
    margin: 0 auto 20px;
    padding: 18px 0;
    border-top: 1px solid rgba(231, 166, 28, .42);
    border-bottom: 1px solid rgba(231, 166, 28, .22);
  }

  .mobile-social-links__title {
    display: block;
    margin-bottom: 11px;
    color: #f4b33b;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
  }

  .mobile-social-links__items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px 18px;
  }

  .mobile-social-links__items a,
  .mobile-social-links__items button {
    width: auto;
    min-width: 0;
    min-height: 32px;
    margin: 0;
    padding: 6px 0;
    border: 0;
    border-bottom: 1px solid transparent;
    border-radius: 0;
    background: transparent;
    color: #f3dfbd;
    font: inherit;
    font-size: .86rem;
    font-weight: 750;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: none;
  }

  .mobile-social-links__items a:focus-visible,
  .mobile-social-links__items button:focus-visible {
    border-bottom-color: #f4b33b;
    color: #fff3d3;
    outline: 2px solid transparent;
  }
}

/* Desktop: chronologie loopt per rij van links naar rechts. */
@media (min-width: 821px) {
  .playlist-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .site-header__doendaar {
    width: 96px;
    margin-top: 2px;
  }

  .playlist-list > .playlist-track-wrap {
    display: block;
    width: 100%;
    margin: 0;
  }

  .playlist-list > .playlist-loading,
  .playlist-list > .playlist-empty {
    grid-column: 1 / -1;
  }
}

/* V49 — mobiel: equalizer permanent in de normale layout, zonder icoon. */
@media (max-width: 820px) {
  body > header.site-header:not(.console-header) {
    margin-top: 12px !important;
  }

  body.page-muziek .site-header__icons .header-eq-toggle,
  body:has(> main.music-page) .site-header__icons .header-eq-toggle,
  #headerEqToggle,
  #mobileEqToggle {
    display: none !important;
  }

  .playlist > .audio-stack .equalizer-panel,
  .playlist > .audio-stack.mobile-eq-open .equalizer-panel,
  body.mobile-eq-popup-open .playlist > .audio-stack .equalizer-panel {
    display: block !important;
    position: static !important;
    order: 1 !important;
    width: 100% !important;
    margin: 0 0 12px !important;
  }
}
