/*
 Pforzheimer-Musikwelt – verbindliches Schwarz-Gold-Design
 Version 2.0.0
 Diese Datei wird absichtlich zuletzt geladen. Sie hält bestehende und künftig
 dynamisch ergänzte Oberflächenelemente im Schwarz-Gold-Farbsystem.
*/
:root{
  color-scheme:dark;
  --pmw-black:#000000;
  --pmw-black-1:#030303;
  --pmw-black-2:#080706;
  --pmw-black-3:#0f0b07;
  --pmw-black-4:#171109;
  --pmw-gold-deep:#6f4e12;
  --pmw-gold-dark:#9f7420;
  --pmw-gold:#c99a35;
  --pmw-gold-bright:#e8be5d;
  --pmw-gold-light:#f8cf7a;
  --pmw-gold-soft:#ffe4a3;
  --pmw-cream:#fff1c2;
  --pmw-muted:#d8c9a9;
  --pmw-shadow:rgba(0,0,0,.72);
  --gold:var(--pmw-gold-light);
  --gold-2:var(--pmw-gold);
  --gold-3:var(--pmw-gold-dark);
  --bg:var(--pmw-black-2);
  --panel:var(--pmw-black-4);
  --line:var(--pmw-gold-dark);
  --text:var(--pmw-cream);
  --muted:var(--pmw-muted);
  --danger:var(--pmw-gold);
  --ok:var(--pmw-gold-bright);
}
html{background:var(--pmw-black-1)!important;scrollbar-color:var(--pmw-gold) var(--pmw-black-2)}
body{background:radial-gradient(circle at 50% 0,var(--pmw-black-4),var(--pmw-black-2) 42%,var(--pmw-black-1) 100%)!important;color:var(--pmw-cream)!important}
::selection{background:var(--pmw-gold);color:var(--pmw-black)!important}
*{accent-color:var(--pmw-gold-bright)}
*::-webkit-scrollbar{width:11px;height:11px}
*::-webkit-scrollbar-track{background:var(--pmw-black-2)}
*::-webkit-scrollbar-thumb{background:linear-gradient(var(--pmw-gold-light),var(--pmw-gold-dark));border:2px solid var(--pmw-black-2);border-radius:99px}

/* Grundlegende Typografie und Links */
body :where(h1,h2,h3,h4,h5,h6,strong,b,label,legend,summary){color:var(--pmw-cream)}
body :where(a,.gold-line,.eyebrow,.brand,.brand strong,.schedule-time,.pending,.approved,.badge,.show,.listeners){color:var(--pmw-gold-light)}
body :where(p,small,.muted,.lead,.hint,.status){color:var(--pmw-muted)}

/* Kopfbereich, Navigation und die obere Goldlinie */
.top-gold-line{background:linear-gradient(90deg,var(--pmw-gold-deep),var(--pmw-gold-light),var(--pmw-gold-deep))!important}
.site-header,.admin-header{background:rgba(3,3,3,.98)!important;border-color:var(--pmw-gold-dark)!important}
.main-nav a,.account-nav a,.admin-header a,.listen-pill,.listener-pill,.theme-button,.nav-toggle{
  background:linear-gradient(180deg,var(--pmw-black-4),var(--pmw-black-3))!important;
  border-color:var(--pmw-gold-dark)!important;
  color:var(--pmw-cream)!important
}
.main-nav a:hover,.main-nav a.active,.account-nav a:hover,.admin-header a:hover,.listen-pill:hover,.theme-button:hover,.nav-toggle:hover{
  color:var(--pmw-gold-soft)!important;border-color:var(--pmw-gold-light)!important;
  box-shadow:0 0 0 1px rgba(248,207,122,.18) inset!important
}

/* Karten, Dialoge, Tabellen und Formulare */
body :where(.panel,.p,.player-card,.song-vote-panel,.login-card,.intro-card,.editor-card,.list-card,.password-card,.icecast-settings-card,.notice,.flash,.schedule-card,.member-card,.permission-user,.group-editor,.admin-member-card,.team-member-card,.team-card,.wish-panel,.chat-panel,.news-panel){
  background:linear-gradient(180deg,rgba(23,17,9,.98),rgba(8,7,6,.98))!important;
  border-color:var(--pmw-gold-dark)!important;
  box-shadow:0 14px 40px var(--pmw-shadow)!important
}
body :where(input,select,textarea){background:var(--pmw-black-2)!important;color:var(--pmw-cream)!important;border-color:var(--pmw-gold-dark)!important}
body :where(input,select,textarea):focus{border-color:var(--pmw-gold-light)!important;outline:none!important;box-shadow:0 0 0 3px rgba(248,207,122,.14)!important}
body :where(button,.button,.primary-link,.outline-button,.file-button,.card-actions a,.back-link){
  background:linear-gradient(180deg,#21180d,#0f0b07)!important;
  color:var(--pmw-gold-soft)!important;border-color:var(--pmw-gold-dark)!important
}
body :where(button,.button,.primary-link,.outline-button,.file-button,.card-actions a,.back-link):hover{
  background:linear-gradient(180deg,var(--pmw-gold),var(--pmw-gold-dark))!important;
  color:var(--pmw-black)!important;border-color:var(--pmw-gold-soft)!important
}
body :where(th,td,.panel-head,.group-row){border-color:var(--pmw-gold-deep)!important}

/* Alle Statusarten bleiben Schwarz-Gold, auch Fehler, Erfolg, Online und Live. */
body :where(.notice,.notice.error,.error,.success,.flash.ok,.flash.error,.danger,.saved-access-note,.online-dot,.status-badge,.status-badge.live,.status-badge.auto,.status-badge.offline,.on-air){
  background:linear-gradient(135deg,var(--pmw-black-4),#21180d)!important;
  color:var(--pmw-gold-soft)!important;border-color:var(--pmw-gold)!important
}
body :where(.online-dot,.status-badge,.status-badge.live,.status-badge.auto,.status-badge.offline) span,
body :where(.online-dot)::first-letter{color:var(--pmw-gold-light)!important;background:var(--pmw-gold-light)!important;box-shadow:0 0 8px var(--pmw-gold)!important}

/* Player, Voting und Team */
.presenter-photo,.photo,.team-card img,.team-member-card img,.admin-member-card img{border-color:var(--pmw-gold)!important;box-shadow:0 0 0 2px var(--pmw-black-2),0 0 18px rgba(201,154,53,.25)!important}
.main-play,.skip-button,.controls button{background:radial-gradient(circle at 40% 35%,#21180d,#080706 68%)!important;color:var(--pmw-gold-light)!important;border-color:var(--pmw-gold)!important}
.song,.last-wish,.rights-list label,.alias-list span{background:var(--pmw-black-3)!important;border-color:var(--pmw-gold-deep)!important}
.song-vote-wrap{background:var(--pmw-black-2)!important}
.song-vote-actions button[data-vote="hot"].selected,.song-vote-actions button[data-vote="schrott"].selected,
.song-vote-actions button[data-vote="hot"]:hover,.song-vote-actions button[data-vote="schrott"]:hover{
  background:linear-gradient(135deg,var(--pmw-gold-light),var(--pmw-gold-dark))!important;
  color:var(--pmw-black)!important;border-color:var(--pmw-gold-soft)!important
}

/* Dynamisch erzeugte Inhalte bekommen eine eindeutige Mandanten-/Theme-Kennung. */
html[data-pmw-theme="black-gold"] body [data-pmw-auto-gold="1"]{color:var(--pmw-gold-soft)!important;border-color:var(--pmw-gold-dark)!important}

/* Druckansicht bleibt lesbar, aber ebenfalls Schwarz-Gold. */
@media print{body{background:#fff1c2!important;color:#000!important}body *{box-shadow:none!important;text-shadow:none!important}a{color:#6f4e12!important}}

/* Hintergrundzone v9.2: Das gewählte Bild beginnt direkt unter dem Player und
   bleibt hinter Titelbewertung sowie dem gesamten Inhaltsbereich sichtbar. */
body.pmw-custom-background .pmw-background-zone>.song-vote-wrap,
body.pmw-custom-background .pmw-background-zone>.content-area{background:transparent!important}


/* Hintergrund v9.3 – Bild ab Titelbewertung bis zum Seitenende sichtbar. */
body.pmw-custom-background .pmw-background-zone{background-color:#080706!important}
body.pmw-custom-background .pmw-background-zone>.song-vote-wrap,
body.pmw-custom-background .pmw-background-zone>.content-area{background:transparent!important}
body.pmw-custom-background .pmw-background-zone .site-footer{background:rgba(8,7,6,.72)!important}


/* Navigation v24: übersichtliche Kategorien ohne horizontales Verschieben. */
.site-header{height:64px;overflow:visible}
.site-header .nav-shell{
  width:min(1600px,calc(100% - 28px));
  max-width:none;
  height:100%;
  gap:18px;
  overflow:visible
}
.site-header .brand{min-width:0;flex:0 1 310px}
.site-header .main-nav{
  display:flex;
  flex:0 1 auto;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:0;
  overflow:visible
}
.site-header .main-nav>.nav-home,
.site-header .nav-parent{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 14px;
  border:1px solid transparent;
  border-radius:8px;
  font-family:inherit;
  font-size:11px;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer
}
.site-header .nav-parent span{font-size:14px;line-height:1;transition:transform .18s ease}
.site-header .nav-group{position:relative;display:flex;align-items:center}
.site-header .nav-dropdown{
  position:absolute;
  top:calc(100% + 9px);
  left:50%;
  z-index:100;
  min-width:215px;
  display:grid;
  gap:4px;
  padding:9px;
  border:1px solid var(--pmw-gold-dark);
  border-radius:11px;
  background:rgba(3,3,3,.99);
  box-shadow:0 18px 44px rgba(0,0,0,.65),0 0 0 1px rgba(248,207,122,.06) inset;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,-5px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease
}
.site-header .nav-dropdown::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-11px;
  height:12px
}
.site-header .nav-dropdown a{
  display:flex;
  align-items:center;
  min-height:36px;
  padding:8px 12px;
  border:1px solid transparent!important;
  border-radius:7px;
  font-size:11px;
  line-height:1.15;
  text-decoration:none;
  white-space:nowrap
}
.site-header .nav-dropdown .admin-link{
  font-size:11px;
  font-weight:700;
  line-height:1.15;
  border-bottom:1px solid transparent!important;
  padding-bottom:8px
}
.site-header .nav-group:hover>.nav-dropdown,
.site-header .nav-group:focus-within>.nav-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0)
}
.site-header .nav-group:hover>.nav-parent span,
.site-header .nav-group:focus-within>.nav-parent span{transform:rotate(180deg)}
.site-header .nav-parent:hover,
.site-header .nav-parent:focus-visible,
.site-header .nav-parent.active{
  color:var(--pmw-gold-soft)!important;
  border-color:var(--pmw-gold-light)!important;
  box-shadow:0 0 0 1px rgba(248,207,122,.18) inset!important;
  outline:none
}
.site-header .nav-actions{margin-left:auto;flex:0 0 auto;gap:8px}
.site-header .nav-actions .listen-pill{padding:0 14px;white-space:nowrap}
.site-header .nav-actions #popupPlayerButton{display:none}
.site-header .nav-actions .listener-pill{min-width:64px}

@media(max-width:1240px){
  .site-header{height:auto;min-height:64px}
  .site-header .nav-shell{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:7px 16px;padding:8px 0 9px}
  .site-header .brand{grid-column:1;grid-row:1;max-width:340px}
  .site-header .nav-actions{grid-column:2;grid-row:1}
  .site-header .main-nav{grid-column:1/-1;grid-row:2;justify-self:center}
}

@media(max-width:760px){
  .site-header .nav-shell{display:flex;flex-wrap:wrap;gap:8px 10px;padding:8px 0}
  .site-header .brand{order:1;flex:1 1 210px;max-width:none}
  .site-header .nav-toggle{order:2;display:flex;align-items:center;justify-content:center;width:42px;height:38px;border:1px solid var(--pmw-gold-dark);border-radius:8px}
  .site-header .nav-actions{order:3;margin-left:0}
  .site-header .nav-actions .listener-pill,
  .site-header .nav-actions .theme-button{display:none}
  .site-header .nav-actions .listen-pill{height:36px;padding:0 12px;font-size:11px}
  .site-header .main-nav{order:4;display:none;width:100%;padding:8px 0 3px;align-items:stretch;justify-content:stretch;gap:7px;flex-direction:column}
  .site-header .main-nav.open{display:flex}
  .site-header .main-nav>.nav-home,
  .site-header .nav-parent{width:100%;justify-content:space-between;min-height:40px;padding:0 13px}
  .site-header .nav-group{display:block;width:100%}
  .site-header .nav-dropdown,
  .site-header .nav-group:hover>.nav-dropdown,
  .site-header .nav-group:focus-within>.nav-dropdown{
    position:static;
    min-width:0;
    width:100%;
    display:grid;
    margin-top:5px;
    padding:5px 5px 5px 15px;
    border-radius:8px;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    box-shadow:none
  }
  .site-header .nav-dropdown::before{display:none}
  .site-header .nav-dropdown a{min-height:38px}
  .site-header .nav-parent span{transform:rotate(180deg)}
}

@media(max-width:430px){
  .site-header .brand strong{font-size:14px}
  .site-header .brand small{font-size:7px}
  .site-header .brand-mark{width:33px;height:33px}
  .site-header .nav-actions{width:100%}
  .site-header .nav-actions .listen-pill{width:100%}
}
