:root{
  --bg:#0b0d12;
  --bg2:#12151d;
  --text:#f2ede6;
  --muted:#9a9a9f;
  --gold:#f5a742;
  --blue:#2fb4ff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  line-height:1.6;
}
a{color:var(--gold);text-decoration:none}
a:hover{text-decoration:underline}

/* Navigation */
header.nav{
  position:sticky;top:0;z-index:10;
  background:rgba(11,13,18,.88);
  backdrop-filter:blur(8px);
  border-bottom:1px solid #1d212b;
}
.nav-inner{
  max-width:1000px;margin:0 auto;padding:14px 20px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;
}
.logo{font-weight:800;letter-spacing:.18em;color:var(--text);font-size:1rem}
.logo span{color:var(--gold)}
nav ul{list-style:none;display:flex;gap:20px;flex-wrap:wrap}
nav a{color:var(--muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}
nav a:hover,nav a.active{color:var(--gold);text-decoration:none}

/* Hero */
.hero{
  position:relative;
  min-height:78vh;
  display:flex;align-items:flex-end;
  background:#12151d url("images/dj-tkal-main.jpg") center/cover no-repeat;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,var(--bg) 0%,rgba(11,13,18,.55) 35%,rgba(11,13,18,0) 70%);
}
.hero-text{
  position:relative;z-index:1;
  max-width:1000px;width:100%;margin:0 auto;padding:0 20px 48px;
}
.hero h1{font-size:clamp(2.2rem,7vw,4.2rem);letter-spacing:.12em;line-height:1.1}
.hero h1 span{color:var(--gold)}
.hero p{color:#d8d2c8;margin-top:10px;font-size:1.1rem}

main{max-width:1000px;margin:0 auto;padding:40px 20px 70px}
h2{font-size:1.5rem;letter-spacing:.06em;margin-bottom:18px}
h2 span{color:var(--gold)}
p+p{margin-top:12px}
section{margin-bottom:48px}

.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.tag{
  border:1px solid #2a2f3b;border-radius:99px;
  padding:5px 14px;font-size:.85rem;color:#d8d2c8;
}

/* Buttons / Links */
.links{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px}
.btn{
  display:inline-block;padding:12px 26px;border-radius:99px;
  font-weight:600;font-size:.95rem;
  background:var(--gold);color:#111;
}
.btn:hover{text-decoration:none;filter:brightness(1.1)}
.btn.ghost{background:transparent;color:var(--text);border:1px solid #3a4050}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold)}

/* Cards / Grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px}
.card{
  background:var(--bg2);border:1px solid #1d212b;border-radius:14px;overflow:hidden;
  transition:transform .2s,border-color .2s;
}
.card:hover{transform:translateY(-3px);border-color:#3a4050}
.card .img{
  aspect-ratio:1/1;background:#1a1e28 center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;
  color:#4a5060;font-size:.85rem;
}
.card .body{padding:14px 16px 18px}
.card h3{font-size:1.05rem}
.card p{color:var(--muted);font-size:.88rem;margin-top:4px}
.card a.more{display:inline-block;margin-top:10px;font-size:.88rem}

/* Artists */
.artist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px}
.artist .img{aspect-ratio:4/5}

/* Seiten-Kopf (Unterseiten) */
.page-head{max-width:1000px;margin:0 auto;padding:50px 20px 0}
.page-head h1{font-size:clamp(1.8rem,5vw,2.6rem);letter-spacing:.1em}
.page-head h1 span{color:var(--gold)}
.page-head p{color:var(--muted);margin-top:8px}

/* Rechtstexte */
.legal h2{margin-top:30px;font-size:1.15rem}
.legal p,.legal li{color:#d8d2c8}
.legal ul{margin:10px 0 0 20px}
.todo{background:#2a1f10;border:1px solid var(--gold);padding:14px 18px;border-radius:10px;margin-bottom:26px;color:#f5d9a8;font-size:.92rem}

footer{
  border-top:1px solid #1d212b;
  padding:26px 20px;text-align:center;color:var(--muted);font-size:.85rem;
}
footer a{color:var(--muted);margin:0 10px}
footer a:hover{color:var(--gold)}

@media(max-width:600px){
  .nav-inner{justify-content:center}
  .hero{min-height:68vh}
}

/* Songs: aufklappbare Kategorien */
.page-head h1{text-transform:none;letter-spacing:.04em}
details.cat{background:var(--bg2);border:1px solid #1d212b;border-radius:16px;margin-bottom:16px;overflow:hidden}
details.cat[open]{border-color:#3a4050}
details.cat summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:18px 20px;
}
details.cat summary::-webkit-details-marker{display:none}
details.cat summary:hover{background:#171b25}
details.cat summary:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.ico{
  flex:none;width:52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#1c212d;border:1px solid #2f3544;color:var(--gold);
}
.ico svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ct{flex:1;display:flex;flex-direction:column}
.ct strong{font-size:1.25rem;letter-spacing:.06em}
.ct small{color:var(--muted);font-size:.9rem}
.count{flex:none;color:var(--muted);font-size:.85rem;border:1px solid #2a2f3b;border-radius:99px;padding:2px 12px}
.count::after{content:" Songs"}
.chev{flex:none;width:10px;height:10px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg);transition:transform .2s;margin:0 6px 4px 4px}
details.cat[open] .chev{transform:rotate(-135deg);margin-bottom:-4px}
.songgrid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;
  padding:6px 20px 24px;
}
.song{background:#0e1118;border:1px solid #1d212b;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.song img,.song .noimg{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;background:#1a1e28}
.song .noimg{display:flex;align-items:center;justify-content:center;color:#4a5060;font-size:.85rem}
.sbody{padding:14px 16px 18px;display:flex;flex-direction:column;flex:1}
.sbody h4{font-size:1.05rem;line-height:1.3}
.sbody .meta{color:var(--gold);font-size:.8rem;margin-top:4px;letter-spacing:.04em}
.sbody p{color:#c9c4bb;font-size:.9rem;margin-top:10px;flex:1}
.sbody a.more{margin-top:12px;font-size:.88rem}
@media(max-width:600px){
  details.cat summary{padding:14px 14px;gap:12px}
  .ico{width:44px;height:44px}
  .count::after{content:""}
  .songgrid{padding:4px 14px 20px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
}
@media(max-width:600px){
  nav ul{gap:14px;justify-content:center}
  nav a{font-size:.78rem;letter-spacing:.05em}
}

/* Sample-Player */
.cov{position:relative}
.play{
  position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:8px;
  background:rgba(11,13,18,.82);color:var(--text);border:1px solid rgba(255,255,255,.25);
  border-radius:99px;padding:7px 14px 7px 10px;font:inherit;font-size:.8rem;cursor:pointer;
  backdrop-filter:blur(6px);
}
.play:hover,.play:focus-visible{border-color:var(--gold);color:var(--gold);outline:none}
.play .pi{width:0;height:0;border-left:9px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:2px}
.play.on{background:var(--gold);color:#111;border-color:var(--gold)}
.play.on .pi{width:10px;height:12px;border:0;margin:0;background:linear-gradient(90deg,currentColor 0 35%,transparent 35% 65%,currentColor 65% 100%)}
.play.on .pl::after{content:" läuft"}

/* Sprachumschalter */
.lang{display:flex;border:1px solid #2a2f3b;border-radius:99px;overflow:hidden;font-size:.8rem;letter-spacing:.08em}
.lang a{color:var(--muted);padding:6px 13px}
.lang a:hover{color:var(--gold);text-decoration:none}
.lang a.cur{background:var(--gold);color:#111;font-weight:700}
html[lang="en"] .play.on .pl::after{content:" playing"}

/* Track-Liste (Set) + Pablo-Galerie */
.card .img.r45{aspect-ratio:4/5;background-position:top}
.tracks{list-style:none;margin:12px 0 4px;display:flex;flex-direction:column;gap:7px}
.play.trk{position:static;width:100%;justify-content:flex-start;background:#171b25;font-size:.85rem}
.play.trk.on .pl::after{content:""}
.play.trk.on{background:var(--gold)}
@media(max-width:600px){.nav-inner{gap:8px}}
