/* Musikportal (Kunden-Center). Werte aus dem Token-Set --cc-* (customer-center.css). */
.music-occasions { display:grid; gap:14px; margin-top:14px; }
.music-occasion { border:1px solid var(--cc-line,#e6dcec); border-radius:12px; overflow:hidden; background:#fff; }
.music-occasion > header { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; padding:12px 16px; background:var(--cc-soft,#f6f1f9); }
.music-occasion > header h3 { margin:0; font:600 15px/1.4 var(--cc-sans,"Segoe UI",Arial,sans-serif); }
.music-occasion > header small { color:var(--cc-muted,#6f667a); }
.music-empty { margin:0; padding:12px 16px; border:0; border-radius:0; background:transparent; font-size:var(--cc-fs-sm,13.5px); color:var(--cc-muted,#6f667a); }
.music-list { list-style:none; margin:0; padding:0; }
.music-list li { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:10px; align-items:start; padding:12px 16px; border-top:1px solid var(--cc-line,#e6dcec); }
.music-list li:first-child { border-top:0; }
.music-order { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--cc-plum,#643182); color:#fff; font-weight:700; font-size:13px; }
.music-list strong { display:block; font-size:14.5px; }
.music-list small { display:block; color:var(--cc-muted,#6f667a); margin-top:2px; line-height:1.45; }
.music-list audio { display:block; width:100%; max-width:420px; margin-top:8px; height:34px; }
.music-note { display:flex; gap:8px; align-items:flex-start; margin:14px 0 0; padding:12px 16px; border-left:3px solid var(--cc-lilac,#b394cc); border-radius:12px; background:var(--cc-soft,#f6f1f9); font-size:14px; line-height:1.55; color:var(--cc-text,#4a3d52); }
.music-note svg { width:16px; height:16px; flex:0 0 16px; color:var(--cc-plum,#643182); margin-top:2px; }
.music-genres { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 12px; }
.music-genres button { padding:8px 14px; border:1px solid var(--cc-line,#e6dcec); border-radius:var(--cc-pill,999px); background:#fff; color:var(--cc-ink,#2b2432); font:600 13.5px/1.3 var(--cc-sans,"Segoe UI",Arial,sans-serif); cursor:pointer; }
.music-genres button[aria-selected=true] { background:var(--cc-plum,#643182); border-color:var(--cc-plum,#643182); color:#fff; }
.music-catalog { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:10px; }
.music-suggestion { display:grid; grid-template-columns:36px minmax(0,1fr); gap:10px; align-items:start; text-align:left; padding:12px; border:1px solid var(--cc-line,#e6dcec); border-radius:12px; background:#fff; cursor:pointer; transition:border-color .15s, box-shadow .15s, transform .15s; }
.music-suggestion:hover { border-color:var(--cc-lilac,#b394cc); box-shadow:var(--cc-shadow-lift,0 6px 16px rgba(100,49,130,.10)); transform:translateY(-1px); }
.music-suggestion.picked { border-color:var(--cc-plum,#643182); box-shadow:0 0 0 2px rgba(100,49,130,.18); background:var(--cc-soft,#f6f1f9); }
.music-suggestion > span:first-child { display:grid; place-items:center; width:36px; height:36px; border-radius:var(--cc-radius-sm,10px); background:var(--cc-lilac-soft,#f1e9f5); color:var(--cc-plum,#643182); }
.music-suggestion svg { width:18px; height:18px; }
.music-suggestion strong { display:block; font-size:14px; line-height:1.3; }
.music-suggestion small { display:block; color:var(--cc-muted,#6f667a); margin-top:2px; }
.music-suggestion em { display:block; font-style:normal; color:var(--cc-muted,#6f667a); font-size:var(--cc-fs-xs,12px); margin-top:4px; }
.music-wish-form { margin-top:22px; padding:18px 20px; border-radius:12px; border:1px dashed var(--cc-line-strong,#d9c6e3); background:var(--cc-soft,#f6f1f9); display:grid; gap:14px; }
.music-wish-form h3 { margin:0; font:600 16px/1.4 var(--cc-sans,"Segoe UI",Arial,sans-serif); }
.music-steps { margin:10px 0 12px; padding-left:22px; display:grid; gap:10px; }
.music-steps strong { display:block; }
.music-steps small { color:var(--cc-muted,#6f667a); }
.music-aside p { font-size:var(--cc-fs-sm,13.5px); color:var(--cc-text,#4a3d52); }
@media (max-width:700px) { .music-list li { grid-template-columns:30px minmax(0,1fr); } .music-list li .status { grid-column:2; justify-self:start; } }

/* Musikbibliothek */
.music-library-tools { display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; justify-content:space-between; margin:16px 0 12px; }
.music-library-tools .music-genres { margin:0; }
.music-search { display:flex; align-items:center; gap:8px; flex:1 1 240px; max-width:340px; padding:0 14px; border:1px solid var(--cc-line-strong,#d9c6e3); border-radius:var(--cc-pill,999px); background:#fff; }
.music-search:focus-within { border-color:var(--cc-plum,#643182); box-shadow:0 0 0 3px var(--cc-lilac-soft,#f1e9f5); }
.music-search svg { width:16px; height:16px; color:var(--cc-muted,#6f667a); }
.music-search input { flex:1; min-height:40px; padding:0; border:0 !important; background:transparent !important; box-shadow:none !important; font-size:14px; outline:0; }
.music-tracks { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.music-track { display:grid; gap:10px; padding:14px 16px; border:1px solid var(--cc-line,#e6dcec); border-radius:var(--cc-radius,14px); background:#fff; transition:border-color .15s, box-shadow .15s; }
.music-track:hover { border-color:var(--cc-lilac,#b394cc); box-shadow:var(--cc-shadow-lift,0 8px 20px rgba(100,49,130,.10)); }
.music-track.picked { border-color:var(--cc-plum,#643182); }
.music-track-head { display:grid; grid-template-columns:40px minmax(0,1fr); gap:12px; align-items:start; }
.music-track-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:var(--cc-lilac-soft,#f1e9f5); color:var(--cc-plum,#643182); }
.music-track-icon svg { width:20px; height:20px; }
.music-track strong { display:block; font-size:15px; }
.music-track small { display:block; color:var(--cc-muted,#6f667a); margin-top:2px; }
.music-track em { display:block; font-style:normal; color:var(--cc-muted,#6f667a); font-size:12.5px; margin-top:4px; }
.music-track audio { width:100%; height:38px; }
.music-track-actions { display:flex; flex-wrap:wrap; gap:8px; }
.music-track-actions .button { min-height:38px; padding:6px 14px; border-radius:var(--cc-pill,999px); font-size:13.5px; }
.music-free-wish { margin-top:18px; }
.music-free-wish summary { cursor:pointer; font-weight:600; color:var(--cc-plum-dark,#4e2555); padding:8px 0; }
