*{box-sizing:border-box}
:root{--bg:#f3f1eb;--card:#fff;--ink:#20231f;--muted:#6e706a;--line:#ddd8cc;--green:#315f4a;--green-dark:#274d3c;--green-soft:#e6eee8;--sand:#ebe5d8}
html,body,button,input,select,textarea{font-family:Inter,Arial,Helvetica,sans-serif;font-weight:400}
body{margin:0;background:var(--bg);color:var(--ink)}
a{color:var(--green-dark)}
.wrap{width:min(1080px,calc(100% - 32px));margin:0 auto}
.hero{position:sticky;top:0;z-index:1000;background:var(--green);color:#fff;box-shadow:0 3px 14px #0002}
.header-home{display:block;color:inherit;text-decoration:none}
.hero-inner{min-height:104px;display:flex;align-items:center;gap:24px;padding:15px 0}
.hero-logo{width:112px;max-height:74px;object-fit:contain}
.hero-copy p{margin:0;font-size:1.15rem;font-weight:700}
.site-nav{background:#fff;border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;padding:7px 0}
.nav-inner a{padding:6px 0;text-decoration:none;font-weight:700;color:var(--green-dark)}
.nav-inner a:hover{text-decoration:underline}
.nav-inner .back-link{display:inline-flex;align-items:center}
.page{padding:38px 0 54px}
.intro{max-width:760px}.eyebrow{margin:0 0 7px;color:var(--green);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
h1{font-size:clamp(2.4rem,6vw,4.1rem);line-height:1;margin:0 0 14px;font-weight:700}h2,h3{font-weight:700}.intro>p:last-child{margin:0;color:var(--muted);font-size:1.04rem;line-height:1.55}
.visibility-note{margin-top:10px!important;font-size:.9rem!important;color:var(--muted)!important}
.search{display:flex;gap:9px;margin:28px 0 12px}.search input{flex:1;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:1rem}.search button,.search .clear{border:0;border-radius:12px;padding:13px 18px;background:var(--green);color:#fff;font-weight:700;text-decoration:none;cursor:pointer}.search .clear{background:#77736b}.filter-note{margin:8px 0 0;color:var(--muted)}
.start-hint,.empty{margin:25px 0;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:13px;color:var(--muted)}
.results,.playlist-overview{margin-top:38px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:13px}.section-head h2{margin:0;font-size:1.45rem}.section-head>span{color:var(--muted);font-size:.88rem}
.track-list{display:grid;gap:12px}.track-card{display:grid;grid-template-columns:86px minmax(0,1.25fr) minmax(220px,.9fr);gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;box-shadow:0 6px 18px #0000000b}.cover{width:86px;height:86px;border-radius:10px;overflow:hidden;background:var(--sand);display:grid;place-items:center;color:var(--green);font-size:2rem}.cover img{width:100%;height:100%;object-fit:cover}.artist{font-weight:700;color:var(--green-dark);margin-bottom:3px}.track-main h3{margin:0;font-size:1.22rem}.track-meta{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:7px;color:var(--muted);font-size:.82rem}.spotify{display:inline-block;margin-top:9px;font-size:.88rem;font-weight:700;text-decoration:none}.spotify.fallback{color:var(--muted);font-weight:600}.track-playlists{border-left:1px solid #eee9df;padding-left:18px}.track-playlists .label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--muted);margin-bottom:6px}.track-playlists ul{list-style:none;margin:0;padding:0}.track-playlists li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:3px;align-items:start;padding:3px 0}.track-playlists a{text-decoration:none}.track-playlists a:hover{text-decoration:underline}.check{display:inline-block;width:24px;min-width:24px}.muted{color:var(--muted)}.legend{margin:11px 0 0;color:var(--muted);font-size:.84rem}
.playlist-list{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff}.playlist-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:11px 16px;border-bottom:1px solid #eee9df;text-decoration:none;color:var(--ink)}.playlist-row.public-row{grid-template-columns:minmax(0,1fr) auto}
.playlist-row:last-child{border-bottom:0}.playlist-row:hover{background:#faf8f3}.playlist-name{font-weight:700}.count{color:var(--muted);font-size:.83rem}
footer{border-top:1px solid var(--line);background:#ebe7dd;color:#6c6c67}.footer-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.86rem}.footer-inner nav{display:flex;gap:16px;flex-wrap:wrap}.footer-inner a{text-decoration:none;color:inherit}
@media(max-width:760px){.hero-inner{min-height:82px}.hero-logo{width:86px;max-height:58px}.hero-copy p{font-size:.96rem}.track-card{grid-template-columns:72px minmax(0,1fr)}.cover{width:72px;height:72px}.track-playlists{grid-column:1/-1;border-left:0;border-top:1px solid #eee9df;padding:12px 0 0}.footer-inner{align-items:flex-start;flex-direction:column;padding:20px 0}.page{padding-top:28px}}
@media(max-width:540px){.wrap{width:min(100% - 22px,1080px)}.hero-copy{display:none}.search{flex-wrap:wrap}.search input{flex-basis:100%}.search button,.search .clear{flex:1}.playlist-row{grid-template-columns:25px minmax(0,1fr)}.playlist-row .count{grid-column:2}.section-head{align-items:flex-start;flex-direction:column;gap:4px}}


/* Nu getikt v1.2.0 */
.now-playing-widget{
  margin:0 0 24px;
  padding:14px;
  display:grid;
  grid-template-columns:88px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  background:#fff;
  border:1px solid #ddd6c9;
  border-radius:15px;
  box-shadow:0 8px 22px rgba(28,35,30,.05);
}
.now-playing-widget[hidden]{display:none!important}
.now-playing-cover{
  width:88px;height:88px;border-radius:11px;overflow:hidden;
  display:grid;place-items:center;background:#e9e3d7;color:#315f4a;
  font-size:2rem;font-weight:700;
}
.now-playing-cover img{width:100%;height:100%;object-fit:cover;display:block}
.now-playing-body{min-width:0}
.now-playing-topline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:5px}
.now-playing-eyebrow{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#315f4a}
.now-playing-status{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:#77736b}
.now-playing-status i{width:7px;height:7px;border-radius:50%;background:#a29d92;display:inline-block}
.now-playing-widget.is-playing .now-playing-status i{background:#315f4a;box-shadow:0 0 0 4px rgba(49,95,74,.10)}
.now-playing-artist{font-size:.86rem;color:#315f4a;font-weight:700;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.now-playing-title{display:block;font-size:1.15rem;line-height:1.2;color:#20231f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.now-playing-album{margin-top:4px;font-size:.8rem;color:#77736b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.now-playing-progress{height:4px;margin-top:9px;background:#ebe7df;border-radius:999px;overflow:hidden}
.now-playing-progress span{display:block;height:100%;width:0;background:#315f4a;transition:width 1s linear}
.now-playing-link{justify-self:end;padding:9px 12px;border:1px solid #315f4a;border-radius:9px;color:#315f4a;text-decoration:none;font-size:.82rem;font-weight:700;white-space:nowrap}
.now-playing-link:hover{background:#eef3ef}
@media(max-width:680px){
  .now-playing-widget{grid-template-columns:70px minmax(0,1fr);gap:12px}
  .now-playing-cover{width:70px;height:70px}
  .now-playing-link{grid-column:1/-1;justify-self:stretch;text-align:center}
  .now-playing-title,.now-playing-artist,.now-playing-album{white-space:normal}
}

/* Vandaag geluisterd v1.2.2 */
.today-listened{
  margin:18px 0 28px;
  padding:16px 18px 14px;
  border:1px solid #ddd8cf;
  border-radius:14px;
  background:#fbfaf7;
}
.today-listened[hidden]{display:none!important}
.today-listened-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}
.today-listened-eyebrow{display:block;margin-bottom:2px;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#315f4a}
.today-listened h2{margin:0;font-size:1.05rem;line-height:1.2;color:#20231f}
.today-listened-count{font-size:.76rem;color:#77736b;white-space:nowrap}
.today-listened-list{list-style:none;padding:0;margin:0}
.today-listened-item+ .today-listened-item{border-top:1px solid #ebe7df}
.today-listened-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 2px;color:inherit;text-decoration:none}
a.today-listened-row:hover .today-listened-copy strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.today-listened-cover{width:38px;height:38px;border-radius:7px;overflow:hidden;background:#e9e5dd;display:flex;align-items:center;justify-content:center;color:#77736b;font-weight:700}
.today-listened-cover img{width:100%;height:100%;object-fit:cover;display:block}
.today-listened-copy{min-width:0;display:block}
.today-listened-copy strong,.today-listened-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.today-listened-copy strong{font-size:.88rem;color:#20231f;line-height:1.25}
.today-listened-copy span{margin-top:2px;font-size:.76rem;color:#68645d}
.today-listened-time{font-size:.75rem;font-variant-numeric:tabular-nums;color:#77736b}
.today-listened-toggle{display:block;margin:9px auto 0;border:0;background:transparent;color:#315f4a;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;padding:5px 8px}
.today-listened-toggle:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){
  .today-listened{padding:14px 14px 11px}
  .today-listened-row{grid-template-columns:34px minmax(0,1fr) auto;gap:9px}
  .today-listened-cover{width:34px;height:34px}
}


/* Getikte deuntjes header / zoekopbouw v1.2.6 */
.music-top{
  display:grid;
  grid-template-columns:230px minmax(0,1fr);
  gap:28px;
  align-items:center;
  margin:0 0 24px;
}
.music-brand{display:flex;align-items:center;justify-content:flex-start;min-width:0}
.getikte-deuntjes-logo{
  display:block;
  width:100%;
  max-width:220px;
  height:auto;
  object-fit:contain;
}
.music-top .now-playing-widget{margin:0;min-width:0}
.music-search-intro{margin:0 0 12px;max-width:920px}
.music-search-intro>p:first-child{margin:0;color:var(--muted);font-size:1.04rem;line-height:1.55}
.music-search-intro>p:first-child strong{color:var(--green-dark);font-weight:800}
.music-search-intro .visibility-note{margin:7px 0 0!important}
.music-search-intro + .search{margin-top:16px}
.search + .today-listened{margin-top:18px}
.search + .results,.filter-note + .results{margin-top:16px}
.results + .today-listened{margin-top:22px}

@media(max-width:820px){
  .music-top{grid-template-columns:180px minmax(0,1fr);gap:18px}
  .getikte-deuntjes-logo{max-width:172px}
  .music-top .now-playing-widget{grid-template-columns:70px minmax(0,1fr);gap:12px}
  .music-top .now-playing-cover{width:70px;height:70px}
  .music-top .now-playing-link{grid-column:1/-1;justify-self:stretch;text-align:center}
}
@media(max-width:620px){
  .music-top{grid-template-columns:1fr;gap:16px}
  .music-brand{justify-content:center}
  .getikte-deuntjes-logo{max-width:185px}
  .music-search-intro>p:first-child{font-size:.98rem}
}
