/* ============================================================
   BÜCHLER MUSIKPRODUKTION - EINHEITLICHES FARBSCHEMA
   Grün / Schwarz / Weiß
   ============================================================ */

:root{
  --bmp-green:#1ed760;
  --bmp-green-soft:rgba(30,215,96,.12);
  --bmp-green-line:rgba(30,215,96,.28);

  --bmp-black:#080808;
  --bmp-black-2:#121212;
  --bmp-black-3:#181818;
  --bmp-black-4:#202020;

  --bmp-white:#ffffff;
  --bmp-muted:#b3b3b3;

  --bmp-danger:#ff5c5c;
  --bmp-warning:#ffd166;
}

/* Grundlayout */
html{
  scroll-behavior:smooth;
}

body{
  background:
    radial-gradient(circle at top left, rgba(30,215,96,.10), transparent 32rem),
    linear-gradient(180deg,#080808,#121212 58%,#080808) !important;
  color:#ffffff !important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

/* Fokus */
a,
button,
input,
select,
textarea{
  -webkit-tap-highlight-color:transparent;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(30,215,96,.42) !important;
  outline-offset:3px !important;
}

/* Links */
a{
  color:#ffffff !important;
}

a:hover{
  color:#1ed760 !important;
}

/* Hauptbereiche */
main,
.page,
.content,
.main-content,
.app-content,
.site-content,
.container,
.wrapper{
  color:#ffffff !important;
}

/* Hero / Headerbereiche */
.hero,
.page-hero,
.bmp-hero,
.bmp-med-hero{
  background:
    radial-gradient(circle at 16% 18%, rgba(255,255,255,.08), transparent 12rem),
    radial-gradient(circle at 88% 12%, rgba(30,215,96,.13), transparent 18rem),
    linear-gradient(145deg,#181818,#080808 68%,#121212) !important;
  border-color:rgba(255,255,255,.10) !important;
  color:#ffffff !important;
}

.hero h1,
.hero h2,
.page-hero h1,
.page-hero h2,
.bmp-hero h1,
.bmp-hero h2,
.bmp-med h1,
h1,h2,h3{
  color:#ffffff !important;
}

/* Texte */
p,
span,
small,
label,
td,
th,
li{
  color:inherit;
}

.muted,
.text-muted,
.subtitle,
.lead,
.bmp-med-lead,
.bmp-med-card-artist,
.bmp-med-card-album{
  color:#b3b3b3 !important;
}

/* Karten */
.card,
.panel,
.box,
.tile,
.track-card,
.track-item-card,
.bmp-track-card,
.bmp-med-card,
.bmp-admin-shortcut{
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 32%),
    radial-gradient(circle at top right, rgba(30,215,96,.09), transparent 12rem),
    linear-gradient(145deg,#181818,#080808 68%,#121212) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:#ffffff !important;
  box-shadow:0 18px 60px rgba(0,0,0,.35) !important;
  backdrop-filter:blur(10px);
}

.card:hover,
.panel:hover,
.box:hover,
.tile:hover,
.track-card:hover,
.track-item-card:hover,
.bmp-track-card:hover,
.bmp-med-card:hover{
  border-color:rgba(30,215,96,.42) !important;
  box-shadow:0 24px 80px rgba(0,0,0,.48),0 0 30px rgba(30,215,96,.08) !important;
}

/* Buttons */
button,
.btn,
.button,
input[type="submit"],
.bmp-med-btn,
.bmp-med-play,
.bmp-discman-main{
  background:linear-gradient(135deg,#1ed760,#ffffff) !important;
  color:#080808 !important;
  border:1px solid rgba(30,215,96,.35) !important;
  user-select:none;
  transition:transform .14s ease, background .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease !important;
}

button:hover,
.btn:hover,
.button:hover,
input[type="submit"]:hover,
.bmp-med-btn:hover,
.bmp-med-play:hover{
  transform:translateY(-1px);
  filter:brightness(1.06);
}

button:active,
.btn:active,
.button:active{
  transform:translateY(0) scale(.99);
}

/* Sekundäre Buttons */
.btn.secondary,
.btn-muted,
button.secondary,
.bmp-discman-small,
.bmp-discman-close{
  background:#181818 !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.12) !important;
}

/* Formulare */
input,
select,
textarea,
.search,
.bmp-med-search,
.bmp-med-select{
  background:#121212 !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.12) !important;
}

input::placeholder,
textarea::placeholder{
  color:#8f8f8f !important;
}

input:focus,
select:focus,
textarea:focus,
.bmp-med-search:focus,
.bmp-med-select:focus{
  border-color:rgba(30,215,96,.55) !important;
  box-shadow:0 0 0 4px rgba(30,215,96,.12) !important;
}

/* Tabellen */
.table-wrap{
  border-radius:18px;
  overflow:hidden;
}

table{
  border-collapse:separate !important;
  border-spacing:0 !important;
}

thead,
th{
  background:#181818 !important;
  color:#ffffff !important;
}

td{
  border-color:rgba(255,255,255,.08) !important;
}

tbody tr{
  transition:background .14s ease;
}

tbody tr:hover{
  background:rgba(30,215,96,.045) !important;
}

/* Badges */
.badge,
.tag,
.chip,
.bmp-med-chip,
.bmp-med-mode,
.bmp-med-badge-top,
.bmp-med-kicker{
  background:rgba(30,215,96,.10) !important;
  color:#1ed760 !important;
  border:1px solid rgba(30,215,96,.26) !important;
  white-space:nowrap;
}

/* Cover / Songkarten */
.cover,
.cover-wrap,
.bmp-track-cover,
.detail-cover,
.bmp-med-cover{
  background:
    radial-gradient(circle at 24% 20%, rgba(255,255,255,.16), transparent 18%),
    linear-gradient(135deg,#181818 0%,#080808 48%,rgba(30,215,96,.82) 100%) !important;
}

.cover img,
.cover-wrap img,
.bmp-track-cover img,
.detail-cover img,
.bmp-med-cover img{
  filter:saturate(1.04) contrast(1.03);
}

/* Mediathek */
.bmp-med{
  --bg:#080808 !important;
  --panel:#121212 !important;
  --panel2:#181818 !important;
  --card:#121212 !important;
  --line:rgba(255,255,255,.10) !important;
  --line2:rgba(30,215,96,.22) !important;
  --text:#ffffff !important;
  --muted:#b3b3b3 !important;
  --gold:#1ed760 !important;
  --gold2:#169c46 !important;
  --cyan:#1ed760 !important;
  --pink:#1ed760 !important;
  --green:#1ed760 !important;

  background:
    radial-gradient(circle at top left, rgba(30,215,96,.14), transparent 34%),
    linear-gradient(180deg,#080808,#121212 58%,#080808) !important;
  color:#ffffff !important;
}

.bmp-med-stat strong,
.bmp-discman-title,
.bmp-now-playing .track-title,
.bmp-now-playing h2{
  color:#1ed760 !important;
}

.bmp-med-vinyl{
  background:
    radial-gradient(circle,#1ed760 0 9%,#080808 10% 18%,#181818 19% 21%,#080808 22% 100%),
    repeating-radial-gradient(circle,rgba(255,255,255,.12) 0 1px,transparent 1px 6px) !important;
  box-shadow:inset 0 0 26px rgba(255,255,255,.08),0 0 30px rgba(30,215,96,.14) !important;
}

/* Discman */
.bmp-discman{
  background:
    radial-gradient(circle at top left, rgba(30,215,96,.14), transparent 34%),
    linear-gradient(160deg,#181818,#080808) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:#ffffff !important;
}

.bmp-discman-display{
  background:#080808 !important;
  border-color:rgba(30,215,96,.28) !important;
  color:#ffffff !important;
  box-shadow:inset 0 0 24px rgba(30,215,96,.08) !important;
}

.bmp-discman-display span{
  color:#b3b3b3 !important;
}

.bmp-discman-bar{
  background:linear-gradient(90deg,#1ed760,#ffffff) !important;
}

/* Sidebar nur optisch über globales CSS, keine Sidebar-Datei wird geändert */
aside,
.sidebar,
.bmp-sidebar,
.app-sidebar,
.site-sidebar,
#sidebar{
  background:
    radial-gradient(circle at top left, rgba(30,215,96,.14), transparent 34%),
    linear-gradient(180deg,#080808,#121212) !important;
  border-right:1px solid rgba(255,255,255,.10) !important;
  color:#ffffff !important;
  scrollbar-width:thin;
  scrollbar-color:rgba(30,215,96,.55) rgba(255,255,255,.08);
}

aside a,
.sidebar a,
.bmp-sidebar a,
.app-sidebar a,
.site-sidebar a,
#sidebar a{
  color:#ffffff !important;
}

aside a:hover,
.sidebar a:hover,
.bmp-sidebar a:hover,
.app-sidebar a:hover,
.site-sidebar a:hover,
#sidebar a:hover{
  background:rgba(30,215,96,.12) !important;
  color:#ffffff !important;
}

aside a.active,
.sidebar a.active,
.bmp-sidebar a.active,
.app-sidebar a.active,
.site-sidebar a.active,
#sidebar a.active,
aside .active > a,
.sidebar .active > a,
.bmp-sidebar .active > a,
.app-sidebar .active > a,
.site-sidebar .active > a,
#sidebar .active > a{
  background:rgba(30,215,96,.18) !important;
  color:#ffffff !important;
  border:1px solid rgba(30,215,96,.35) !important;
}

/* Audio */
audio{
  width:100%;
  min-height:40px;
}

audio::-webkit-media-controls-panel{
  background-color:#181818;
}

/* Status */
.bmp-system-ok{
  color:#1ed760 !important;
}

.bmp-system-warn{
  color:#ffd166 !important;
}

.bmp-system-bad{
  color:#ff5c5c !important;
}

@media(max-width:720px){
  .bmp-search-top{
    grid-template-columns:1fr;
  }

  .hero{
    padding:22px !important;
    border-radius:24px !important;
  }

  .hero h1{
    font-size:clamp(32px,12vw,52px) !important;
    letter-spacing:-1.8px !important;
  }

  .card{
    border-radius:20px !important;
  }

  .actions{
    gap:8px !important;
  }

  .actions .btn,
  .actions button{
    width:100%;
    justify-content:center;
  }
}
