.cpm__intro{opacity:.6}.cpm__input{flex:1;min-width:0;font:inherit}.cpm__search-button,.cpm__submit{padding:14px 18px;font:inherit;font-weight:800;cursor:pointer}
.cpm__status{min-height:20px;margin:10px 0;font-size:13px;}
.cpm__artist-picker{border:1px solid #111;box-shadow:0 8px 24px rgba(0,0,0,.08);overflow:hidden}.cpm__artist-toggle{display:flex;justify-content:space-between;width:100%;border:0;border-bottom:1px solid #ddd;background:#f7f7f7;padding:12px 14px;font:inherit;font-weight:800;text-align:left}.cpm__artist-picker.is-closed .cpm__artist-menu{display:none}
.cpm__artist-menu{max-height:330px;overflow:auto}.cpm__artist-option{display:flex;flex-direction:column;width:100%;padding:12px 14px;border:0;border-bottom:1px solid #eee;text-align:left;cursor:pointer}.cpm__artist-name{font-weight:800}.cpm__artist-type{font-size:11px;opacity:.55;margin-top:2px}
.cpm__artist-selected{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:2px solid #111;margin-bottom:24px}.cpm__artist-selected strong{font-size:24px}.cpm__change{border:1px solid #111;background:#fff;padding:8px 11px;font-size:11px;font-weight:800}.cpm__release{display:grid;grid-template-columns:64px 1fr auto;align-items:center;}.cpm__cover{object-fit:cover;}.cpm__release-year{opacity:.6;margin-top:3px}.cpm__tracks,.cpm__choose{cursor:pointer;white-space:nowrap}.cpm__track-list{grid-column:1/-1;margin-top:4px}.cpm__track{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;}.cpm__track-number{font-size:11px;opacity:.45}.cpm__release--single{grid-template-columns:56px 1fr auto}.cpm__release--single .cpm__cover{width:56px;height:56px}.cpm__selected{display:grid;grid-template-columns:64px 1fr;gap:12px;margin-bottom:18px}.cpm__selected img{object-fit:cover}.cpm__request-form{display:grid;gap:8px}.cpm__request-form input,.cpm__request-form textarea{width:100%;box-sizing:border-box;padding:12px;font:inherit}.cpm__request-form label{margin-top:5px}.cpm__hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}
@media(max-width:600px){.cpm__artist-picker{position:absolute;left:0;right:0;z-index:20}.cpm__artist-menu{max-height:280px}.cpm__artist-selected strong{font-size:20px}.cpm__tracks,.cpm__release>.cpm__choose{grid-column:2;justify-self:start}.cpm__release--single .cpm__cover{width:52px;height:52px}.cpm__track .cpm__choose{grid-column:2;justify-self:start}.cpm__artist-picker{box-shadow:0 12px 28px rgba(0,0,0,.14)}}
.cpm__artist-select-wrap{margin:8px 0 18px}.cpm__artist-label{display:block;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
@media(max-width:600px){.cpm__artist-select{font-size:16px;}.cpm__artist-select-wrap{margin-top:10px}}

/* v2.2 — suggestions are attached directly to the search field */
.cpm__search.has-autocomplete{position:relative;z-index:50}
.cpm__autocomplete{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 2px);
  border:1px solid #111;
  border-top:0;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
  max-height:320px;
  overflow-y:auto;
  z-index:100;
}
.cpm__autocomplete-option{
  display:block;
  width:100%;
  padding:13px 16px;
  border:0;
  border-bottom:1px solid #eee;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.cpm__autocomplete-option:last-child{border-bottom:0}
.cpm__autocomplete-option:hover,
.cpm__autocomplete-option:focus{outline:none}
.cpm__autocomplete-option .cpm__artist-name{display:block;font-weight:800}
.cpm__autocomplete-option .cpm__artist-type{display:block;font-size:11px;opacity:.55;margin-top:2px}
@media(max-width:600px){
  .cpm__search{position:relative}
  .cpm__autocomplete{
    left:0;
    right:0;
    top:100%;
    max-height:55vh;
    border-top:0;
    border-radius:0 0 8px 8px;
  }
  .cpm__autocomplete-option{padding:14px 15px}
}

/* v2.3 — compact Spotify action */
.cpm__release-actions{}
@media(max-width:600px){
  .cpm__spotify{padding:8px 9px}
}

/* v2.4 — artist selection is directly attached to the typing field */
.cpm__search{}
.cpm__inline-select{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 2px);
  z-index:120;
  border:1px solid #111;
  border-top:0;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
  padding:10px 12px 12px;
}
.cpm__inline-label{
  display:block;
  margin:0 0 5px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.cpm__artist-select{
  display:block;
  min-height:48px;
  cursor:pointer;
}
.cpm__artist-select:focus{outline-offset:1px}

/* Spotify is deliberately compact and visible next to the release action. */
.cpm__release-actions,.cpm__track-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}
.cpm__spotify{
  white-space:nowrap;
}

@media(max-width:600px){
  .cpm__inline-select{
    top:100%;
    border-radius:0 0 8px 8px;
    padding:9px 10px 10px;
  }
  .cpm__artist-select{min-height:50px}
}

/* v2.5 FINAL — selector is inside the search field area, never a separate block */
.cpm__search{position:relative;z-index:30}
.cpm__artist-select{position:absolute;left:0;right:0;top:100%;z-index:100;width:100%;height:50px;box-sizing:border-box;border:1px solid #111;border-top:0;padding:10px 42px 10px 14px;font:inherit;font-weight:700;appearance:auto;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.cpm__artist-select[hidden]{display:none!important}
.cpm__actions{white-space:nowrap}
.cpm__spotify{text-decoration:none!important;letter-spacing:.03em;visibility:visible!important;opacity:1!important}
@media(max-width:600px){
 .cpm__input{display:block;width:100%;box-sizing:border-box}
 .cpm__artist-select{top:100%;height:50px;border-radius:0 0 7px 7px}
 .cpm__release{grid-template-columns:52px 1fr}
 .cpm__release--single{grid-template-columns:52px 1fr}
 .cpm__track{grid-template-columns:24px 1fr}
}

/* v2.6 — small, high-visibility Spotify button */
.cpm__spotify{
  box-shadow:0 2px 8px rgba(0,0,0,.18);
  transition:transform .15s ease, box-shadow .15s ease;
}
.cpm__spotify:hover,
.cpm__spotify:focus{
  background:#1ED760 !important;
  color:#000 !important;
  transform:scale(1.1);
  box-shadow:0 4px 12px rgba(0,0,0,.25);
}
.cpm__spotify-logo{
  display:block;
  width:18px;
  height:18px;
  position:relative;
  font-size:0;
}
.cpm__spotify-logo:before,
.cpm__spotify-logo:after{
  content:"";
  position:absolute;
  left:1px;
  right:1px;
  height:4px;
  border-top:2px solid #000;
  border-radius:50%;
}
.cpm__spotify-logo:before{top:4px}
.cpm__spotify-logo:after{top:9px}
.cpm__spotify-logo{
  border-bottom:2px solid #000;
  border-radius:50%;
}

/* v2.7 — Spotify logo + durations */
.cpm__spotify{min-width:30px!important;min-height:30px!important;
  padding:5px!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;
}
.cpm__spotify img{display:block!important;width:18px!important;height:18px!important;object-fit:contain!important}
.cpm__spotify:hover{transform:scale(1.12);background:#fff!important}
.cpm__duration{font-size:11px;opacity:.62;white-space:nowrap;font-variant-numeric:tabular-nums}
.cpm__actions{display:flex;align-items:center;justify-content:flex-end}
@media(max-width:600px){
  .cpm__spotify{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important}
  .cpm__spotify img{width:19px!important;height:19px!important}
  .cpm__duration{font-size:11px}
}

/* v3.0 DJ metadata */
.cpm__djmeta{margin-top:5px;font-size:11px;letter-spacing:.02em;font-variant-numeric:tabular-nums}.cpm-admin-tags span{font-variant-numeric:tabular-nums}


/* v3.2 — Wunschliste im gleichen Editorial-Stil wie Album-/Titelansicht */
.cpm--wishes-page{}
.cpm__wish{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
}
.cpm__wish-cover,
.cpm__wish-cover img{
  width:72px;
  height:72px;
}
.cpm__wish-cover{background:#eee;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cpm__wish-cover img{display:block;object-fit:cover}
.cpm__wish-cover span{font-size:24px;opacity:.35}
.cpm__wish-main{min-width:0}
.cpm__wish-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cpm__wish-artist{margin-top:4px;}
.cpm__wish-meta{display:flex;flex-wrap:wrap;gap:0;margin-top:4px;opacity:.62;font-variant-numeric:tabular-nums}
.cpm__wish-meta span:not(:last-child)::after{content:' · ';margin:0 5px}
.cpm__wish-requester{margin-top:7px;opacity:.78}.cpm__wish-requester span{font-weight:800;margin-right:4px}
.cpm__wish-requester b{font-weight:800;opacity:1}
.cpm__wish-note{margin-top:7px;max-width:760px;overflow-wrap:anywhere;}.cpm__wish-note-label{margin-right:4px}
.cpm__wish-note span{font-size:20px;line-height:0;vertical-align:-3px;margin-right:3px}
.cpm__wish-side{display:flex;align-items:center;gap:12px;min-width:92px;justify-content:flex-end}
.cpm__wish-side time{font-size:11px;opacity:.6;white-space:nowrap;font-variant-numeric:tabular-nums}
.cpm__wish-side .cpm__spotify{flex:0 0 auto}
@media(max-width:600px){
  .cpm--wishes-page{padding-left:14px;padding-right:14px}
  .cpm__wish{grid-template-columns:56px minmax(0,1fr);gap:11px;align-items:start}
  .cpm__wish-cover,.cpm__wish-cover img{width:56px;height:56px}
  .cpm__wish-title{font-size:16px}
  .cpm__wish-artist{font-size:13px}
  .cpm__wish-meta{font-size:11px;line-height:1.45}
  .cpm__wish-requester{font-size:10px;margin-top:5px}
  .cpm__wish-note{margin-top:5px}
  .cpm__wish-side{grid-column:2;justify-content:flex-start;min-width:0;margin-top:-3px;gap:9px}
  .cpm__wish-side time{font-size:10px}
  .cpm__wish-side .cpm__spotify{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important}
  .cpm__wish-side .cpm__spotify img{width:17px!important;height:17px!important}
}

/* v3.3 — WordPress Dashboard */
.cpm-admin-spotify{display:inline-flex!important;width:28px!important;height:28px!important;align-items:center;justify-content:center;border:1px solid #111;border-radius:50%;box-sizing:border-box;text-decoration:none}.cpm-admin-spotify img{width:16px!important;height:16px!important;display:block!important;object-fit:contain}.cpm-admin-spotify:hover{transform:scale(1.08)}
.cpm-stats{max-width:1200px}.cpm-stats-intro{font-size:14px;color:#646970;margin-top:0}.cpm-stats-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:14px 16px;}.cpm-stats-filter label{display:flex;flex-direction:column;gap:5px;font-weight:600}.cpm-stats-filter input{min-height:36px}.cpm-stats-total{display:flex;align-items:baseline;gap:12px;margin:18px 0 22px;padding:18px 20px;background:#111;color:#fff}.cpm-stats-total strong{font-size:30px;line-height:1}.cpm-stats-total span{font-size:13px;opacity:.75}.cpm-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cpm-stats-card{background:#fff;border:1px solid #dcdcde;padding:16px}.cpm-stats-card h2{margin:0 0 12px}.cpm-stats-card table{margin:0}.cpm-stats-card th:last-child,.cpm-stats-card td:last-child{text-align:right}.cpm-stats-empty{color:#646970}@media(max-width:900px){.cpm-stats-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.cpm-stats-grid{grid-template-columns:1fr}.cpm-stats-filter{align-items:stretch}.cpm-stats-filter label,.cpm-stats-filter input,.cpm-stats-filter button{width:100%;box-sizing:border-box}}

/* =========================================================
   SONG DNA
   ========================================================= */
.cpm__song-dna{margin-top:6px;line-height:1.35;letter-spacing:.02em;opacity:.78}
.cpm__song-dna span{display:inline-block;margin-right:7px;font-size:9px;font-weight:800;letter-spacing:.12em;opacity:.65}
.cpm__wish-dna{font-weight:600;opacity:.82}
.cpm-admin-dna{font-weight:700!important}

@media (max-width:700px){
  .cpm__song-dna{font-size:10px;margin-top:5px}
  .cpm__song-dna span{font-size:8px}
}

/* v3.9 — letzte 3 Wünsche direkt unter der Suchmaske */
.cpm__latest-wishes{padding:0}
.cpm__latest-item{display:flex;align-items:center;gap:14px;min-width:0;}
.cpm__latest-cover{width:58px;height:58px;flex:0 0 58px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.cpm__latest-cover img{width:100%;height:100%;object-fit:cover;display:block}
.cpm__latest-cover span{font-size:24px;opacity:.35}
.cpm__latest-main{min-width:0;flex:1}
.cpm__latest-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cpm__latest-artist{margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cpm__latest-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.cpm__latest-meta span+span:before{content:'·';margin-right:8px}
.cpm__latest-side{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.cpm__latest-side time{font-size:10px;white-space:nowrap}
.cpm__latest-spotify{width:31px!important;height:31px!important}
.cpm__latest-spotify img{width:20px;height:20px}
@media(max-width:600px){
  .cpm__latest-wishes{margin:20px 0 22px}
  .cpm__latest-item{gap:10px;}
  .cpm__latest-cover{width:48px;height:48px;flex-basis:48px}
  .cpm__latest-main strong{font-size:14px}
  .cpm__latest-artist{font-size:12px}
  .cpm__latest-meta{font-size:10px}
  .cpm__latest-side{gap:6px}
  .cpm__latest-side time{display:none}
  .cpm__latest-spotify{width:28px!important;height:28px!important}
}

.cpm__latest-wishes[hidden]{display:none!important}


/* v3.11 — 3-Minuten-Sperre mit Countdown */
.cpm__cooldown{
  margin:16px 0 22px;
  border-top:1px solid #111;
  border-bottom:1px solid #ddd;
  display:flex;
  align-items:baseline;
  gap:10px;
  font-size:13px;
}
.cpm__cooldown strong{font-size:10px;letter-spacing:.14em;font-weight:900;white-space:nowrap}
.cpm__cooldown span{color:#666}
.cpm__cooldown b{font-variant-numeric:tabular-nums;color:#111;font-size:15px}
.cpm__submit:disabled{cursor:not-allowed}
.cpm__cooldown[hidden]{display:none!important}
@media(max-width:600px){
  .cpm__cooldown{margin:13px 0 18px;padding:11px 12px;display:block;line-height:1.5}
  .cpm__cooldown strong{display:block;margin-bottom:2px}
}

/* v3.13 — reliable cooldown UI */
.cpm__submit:disabled{pointer-events:none;opacity:.38!important}
.cpm__cooldown b{min-width:42px;display:inline-block;text-align:center}


/* v4.5 — User Voting */
.cpm__vote{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:52px;
  height:34px;
  padding:0 9px;
  border:1px solid #111;
  border-radius:18px;
  background:#fff;
  color:#111;
  cursor:pointer;
  font:inherit;
  font-size:12px;
  font-weight:800;
  line-height:1;
  transition:transform .12s ease,background .12s ease,color .12s ease;
}
.cpm__vote:hover:not(:disabled){background:#111;color:#fff;transform:scale(1.04)}
.cpm__vote span{font-size:14px;line-height:1}
.cpm__vote-count{font-size:11px;min-width:10px;text-align:center}
.cpm__vote.is-voted{background:#111;color:#fff;opacity:1}.cpm__vote:disabled{cursor:default}
.cpm__top-requests>.cpm__section-title,.cpm__latest-public>.cpm__section-title{padding-bottom:8px;margin-bottom:8px
}
.cpm__top-item{
  display:grid;
  grid-template-columns:30px 72px minmax(0,1fr) auto;
  gap:16px;
  align-items:start;
}
.cpm__top-rank{font-size:12px;font-weight:900;padding-top:4px;text-align:left}
.cpm__top-cover{width:72px;height:72px;object-fit:cover;display:flex;align-items:center;justify-content:center;flex:none}
.cpm__top-main{min-width:0;padding-top:1px}
.cpm__top-title{display:block;overflow-wrap:anywhere}
.cpm__top-artist{margin-top:5px;}
.cpm__top-requester,.cpm__top-note{margin-top:8px;line-height:1.45;overflow-wrap:anywhere}
.cpm__top-requester span,.cpm__top-note span{font-weight:800;margin-right:4px}
.cpm__top-requester b{font-weight:800}
.cpm__top-side{display:flex;align-items:center;gap:10px;padding-top:1px}
.cpm__top-side time{font-size:11px;color:#888;white-space:nowrap}
.cpm__top-main .cpm-song-separator{display:inline;margin:0 4px;opacity:.45}
@media(max-width:600px){
  .cpm__top-item{grid-template-columns:24px 56px minmax(0,1fr);gap:10px;}
  .cpm__top-cover{width:56px;height:56px}
  .cpm__top-title{font-size:14px}
  .cpm__top-artist{font-size:13px}
  .cpm__top-meta,.cpm__top-requester,.cpm__top-note{font-size:11px}
  .cpm__top-side{grid-column:3;justify-content:flex-end;gap:7px;margin-top:-2px}
  .cpm__top-side time{display:none}
  .cpm__top-side .cpm__vote{min-width:46px;height:32px;padding:0 7px}
}

/* v4.6 — DJ request status */
.cpm-admin-status-panel{
  margin-top:18px;
  padding:16px;
  border:1px solid #ddd;
  background:#fafafa;
}
.cpm-admin-status-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.cpm-admin-status-actions form{margin:0}
.cpm-admin-status-actions .button{min-height:36px;font-weight:700}
.cpm-admin-status-actions .button:disabled{opacity:.55;cursor:default}


/* v4.6.6 — Editorial section separators / red accent */
:root{}
.cpm__top-requests,
.cpm__latest-public,
.cpm__latest-wishes{
  padding-top:0;
  padding-bottom:0;
}
.cpm__top-requests>.cpm__section-title,
.cpm__latest-public>.cpm__section-title,
.cpm__latest-heading{
  border-bottom:2px solid var(--cpm-accent)!important;
  font-size:11px!important;
  letter-spacing:.16em;
  font-weight:900;
}
.cpm__top-list,
.cpm__wish-list,
.cpm__latest-list{border-bottom:0!important}
.cpm__top-item,
.cpm__wish,
.cpm__latest-item{
  border-bottom:1px solid #b8b8b8!important;
}
.cpm__top-item:last-child,
.cpm__wish:last-child,
.cpm__latest-item:last-child{border-bottom:0!important}
.cpm__top-note,
.cpm__wish-note{
  line-height:1.4!important;
}
.cpm__top-note span,
.cpm__wish-note-label{
  font-size:10px!important;
  font-weight:800;
}
.cpm__top-rank{opacity:1!important}
.cpm__top-requests .cpm__intro{margin:0!important}
.cpm__latest-wishes{margin-top:26px!important}
.cpm__latest-heading{display:flex;align-items:center;gap:14px}
.cpm__wish-list{border-top:0!important}
.cpm--wishes-page .cpm__title{margin-bottom:6px}
@media(max-width:600px){
  .cpm__top-item,.cpm__wish,.cpm__latest-item{padding:12px 0!important}
  .cpm__top-note,.cpm__wish-note{font-size:9px!important}
  .cpm__top-note span,.cpm__wish-note-label{font-size:9px!important}
}

\n/* v4.7.4 — Instagram teaser image restored and centered */
.cpm{
  width:100%;
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}
.cpm__instagram-teaser{
  color:inherit;
  text-decoration:none!important;
  line-height:0;
}
.cpm__instagram-teaser:hover{
  transform:none;
}
@media(max-width:600px){
  .cpm{
    width:100%;
    padding-left:14px;
    padding-right:14px;
  }
  .cpm__instagram-teaser{
    margin:14px auto 10px;
  }
  .cpm__instagram-teaser-image{
    width:100%;
    max-width:420px;
  }
}

/* v4.8 — Cure Club Night visual redesign
   Functionality intentionally untouched: only presentation is changed. */
.cpm-main-nav{
}
.cpm-main-nav__brand{
  flex-direction:column;
}
.cpm-main-nav__brand span{
  opacity:.62;
}
.cpm-main-nav__link:hover{color:#fff!important}
.cpm-main-nav__link.is-active:after{height:3px!important;left:14%!important;right:14%!important}
.cpm__intro{
  margin:0!important;
}
.cpm__intro strong{font-weight:800}

.cpm__search{
  display:flex!important;
  gap:0!important;
  box-shadow:none!important;
}
.cpm__input{
  border:0!important;
  outline:0!important;
  padding:15px 16px!important;
}
.cpm__search-button{
  min-width:112px;
  font-size:11px!important;
  letter-spacing:.16em;
  font-weight:900!important;
}
.cpm__status,.cpm__meta,.cpm__empty{opacity:1!important}

.cpm__results{margin-top:30px!important}
.cpm__section-title:before,.cpm__latest-heading:before{
  content:'';
  width:18px;height:2px;
  margin:0 9px 3px 0;
}
.cpm__release{
  grid-template-columns:64px minmax(0,1fr) auto!important;
  gap:14px!important;
  padding:14px 0!important;
  border-bottom:1px solid #252529!important;
}
.cpm__cover{
  width:64px!important;height:64px!important;
  border-radius:0!important;
}
.cpm__release-title{font-weight:800!important}
.cpm__actions{gap:9px!important}
.cpm__tracks,.cpm__choose{
  border:1px solid #4a4a52!important;
  padding:9px 11px!important;
  border-radius:0!important;
  letter-spacing:.12em!important;
}
.cpm__tracks:hover,.cpm__choose:hover{color:#e52d72!important}
.cpm__spotify{
  width:34px!important;height:34px!important;
  border:1px solid #3b3b41!important;
  filter:none!important;
}
.cpm__spotify:hover{border-color:#e52d72!important}
.cpm__track-list{border-top:1px solid #2b2b30!important}
.cpm__track{padding:11px 0!important;border-bottom:1px solid #222227!important}
.cpm__latest-list{border-bottom:1px solid #252529!important}
.cpm__latest-item{border-bottom:1px solid #252529!important;padding:12px 0!important}
.cpm__latest-spotify{border-color:#3b3b41!important}
.cpm__selected{padding:14px;border:1px solid #29292f}
.cpm__selected img{width:64px!important;height:64px!important}
.cpm__request-form input,.cpm__request-form textarea{
  border:1px solid #36363d!important;
  border-radius:0!important;
}
.cpm__request-form label{letter-spacing:.08em;text-transform:uppercase;font-size:10px!important}
.cpm__submit{
  padding:14px 18px!important;
  letter-spacing:.13em;
  font-size:10px!important;
}

.cpm__instagram-teaser{
  opacity:.96;
}
.cpm__instagram-teaser-image{height:auto!important}

.cpm__cooldown{border:1px solid #e52d72!important;padding:14px!important}

@media(max-width:600px){
  .cpm-main-nav__brand span{font-size:8px;letter-spacing:.13em}
  .cpm-main-nav__link{font-size:8px!important}
  .cpm__intro{font-size:14px!important}
  .cpm__search{display:flex!important}
  .cpm__input{min-height:54px!important}
  .cpm__search-button{display:block!important;min-width:82px!important;padding:0 10px!important}
  .cpm__release{grid-template-columns:52px minmax(0,1fr)!important;gap:11px!important}
  .cpm__cover{width:52px!important;height:52px!important}
  .cpm__release-actions,.cpm__track-actions,.cpm__actions{grid-column:2!important;justify-content:flex-start!important;flex-wrap:wrap!important}
  .cpm__release-title{font-size:14px!important}
  .cpm__release-year{font-size:11px!important}
  .cpm__instagram-teaser{margin-top:26px!important}
}


/* v4.8.1 — Hide the WordPress/Elementor page title on the Music Request page.
   The page URL /cure/wunscheingabe/ remains unchanged. */
body:has(.cpm) .entry-title,
body:has(.cpm) .page-title,
body:has(.cpm) .elementor-page-title,
body:has(.cpm) .elementor-widget-theme-post-title {
  display:none!important;
}


/* v4.8.2 — Light theme: white background, black typography, #b20e0a accent.
   Applied consistently to the public request, wishes and statistics pages. */
:root{}

/* Shared page surfaces */
.cpm,
.cpm-main-nav,
.cpm-live-stats--mobile{background:#fff!important;color:var(--cpm-black)!important}
.cpm-main-nav{box-shadow:none!important}
.cpm-main-nav__brand,
.cpm-main-nav__brand strong,
.cpm-main-nav__brand span{color:var(--cpm-black)!important}
.cpm-main-nav__links{border-color:var(--cpm-line)!important}
.cpm-main-nav__link{background:#fff!important}
.cpm-main-nav__link:hover{background:var(--cpm-soft)!important}
.cpm-main-nav__link.is-active{color:var(--cpm-black)!important}
.cpm-main-nav__link.is-active:after{background:var(--cpm-accent)!important}

/* Request page */
.cpm__eyebrow{color:var(--cpm-accent)!important}
.cpm__title{color:var(--cpm-black)!important}
.cpm__intro{color:#555!important}
.cpm__intro strong{color:var(--cpm-accent)!important}
.cpm__search{border-color:var(--cpm-black)!important;}
.cpm__input{background:#fff!important;color:var(--cpm-black)!important}
.cpm__input::placeholder{color:#777!important}
.cpm__input:focus{box-shadow:inset 0 0 0 1px rgba(178,14,10,.22)!important}
.cpm__search-button{border-left:1px solid var(--cpm-accent)!important;color:#fff!important}
.cpm__search-button:hover{color:#fff!important}
.cpm__status,.cpm__meta,.cpm__empty{color:#666!important}
.cpm__section-title,.cpm__latest-heading{border-color:var(--cpm-accent)!important}
.cpm__section-title:before,.cpm__latest-heading:before{background:var(--cpm-accent)!important}
.cpm__release,.cpm__track,.cpm__latest-item,.cpm__top-item,.cpm__wish{background:#fff!important}
.cpm__release-title,.cpm__latest-main strong{color:var(--cpm-black)!important}
.cpm__release-year,.cpm__latest-artist,.cpm__latest-meta,.cpm__latest-side time{color:#666!important}
.cpm__cover,.cpm__latest-cover,.cpm__top-cover{background:#eee!important}
.cpm__tracks,.cpm__choose{border-color:#999!important;background:#fff!important;color:var(--cpm-black)!important}
.cpm__tracks:hover,.cpm__choose:hover{border-color:var(--cpm-accent)!important;color:var(--cpm-accent)!important;background:#fff!important}
.cpm__spotify,.cpm__latest-spotify,.cpm-admin-spotify{border-color:#999!important;background:#fff!important;color:var(--cpm-black)!important}
.cpm__spotify:hover,.cpm__latest-spotify:hover{color:#fff!important}
.cpm__track-list{border-color:var(--cpm-line)!important}
.cpm__track-number{color:#777!important}
.cpm__track-name{color:#333!important}
.cpm__latest-wishes,.cpm__top-requests,.cpm__latest-public{border-color:var(--cpm-accent)!important;background:#fff!important}
.cpm__top-note,.cpm__wish-note{color:#666!important}
.cpm__top-note span,.cpm__wish-note-label{color:#555!important}
.cpm__top-rank,.cpm__wish-requester,.cpm__top-requester{color:var(--cpm-accent)!important}
.cpm__request{border-color:var(--cpm-accent)!important}
.cpm__selected{background:#f7f7f7!important;border-color:var(--cpm-line)!important}
.cpm__request-form input,.cpm__request-form textarea{background:#fff!important;border-color:#999!important;color:var(--cpm-black)!important}
.cpm__request-form label{color:#444!important}
.cpm__submit{color:#fff!important}
.cpm__submit:hover{color:#fff!important}
.cpm__instagram-teaser{border-color:#ddd!important;background:#000!important}
.cpm__instagram-teaser:hover{border-color:var(--cpm-accent)!important}
.cpm__cooldown{border-color:var(--cpm-accent)!important;background:#faf5f5!important;color:#7f0000!important}
.cpm__artist-select,.cpm__inline-select,.cpm__autocomplete,.cpm__artist-picker{background:#fff!important;border-color:#999!important;color:var(--cpm-black)!important}
.cpm__artist-option,.cpm__autocomplete-option{background:#fff!important;color:var(--cpm-black)!important;border-color:#eee!important}
.cpm__artist-option:hover,.cpm__autocomplete-option:hover,.cpm__autocomplete-option:focus{background:#f7f7f7!important}
.cpm__artist-select:focus{outline:2px solid var(--cpm-accent)!important}

/* Public wishes page */
.cpm--wishes-page .cpm__header{border-color:var(--cpm-accent)!important}
.cpm--wishes-page .cpm__section-title{color:var(--cpm-accent)!important}

/* Statistics page */
.cpm-live-stats--mobile{color:var(--cpm-black)!important}
.cpm-stats-header h1,.cpm-stats-header p,.cpm-stats-kicker{color:var(--cpm-black)!important}
.cpm-stats-kicker{color:var(--cpm-accent)!important}
.cpm-stats-live{color:var(--cpm-accent)!important}
.cpm-stats-live i{background:var(--cpm-accent)!important}
.cpm-stats-filter{background:#fff!important;border:1px solid var(--cpm-line)!important}
.cpm-filter-title{color:var(--cpm-black)!important}
.cpm-live-stats--mobile .cpm-filter-pills button,
.cpm-live-stats--mobile .cpm-filter-custom button{background:#fff!important;color:var(--cpm-black)!important;border-color:#999!important}
.cpm-live-stats--mobile .cpm-filter-pills button:hover,
.cpm-live-stats--mobile .cpm-filter-custom button:hover{border-color:var(--cpm-accent)!important;color:var(--cpm-accent)!important}
.cpm-live-stats--mobile .cpm-filter-pills button.is-active{background:var(--cpm-accent)!important;color:#fff!important;box-shadow:none!important;border-color:var(--cpm-accent)!important}
.cpm-live-stats--mobile .cpm-filter-pills button[value="today"].is-active{background:var(--cpm-accent)!important;color:#fff!important}
.cpm-live-stats--mobile .cpm-filter-active{background:#f7f7f7!important;border-left-color:var(--cpm-accent)!important;color:#444!important}
.cpm-stat-cards>div{background:#fff!important;border:1px solid var(--cpm-line)!important;color:var(--cpm-black)!important}
.cpm-stat-cards strong,.cpm-stat-cards span{color:var(--cpm-black)!important}
.cpm-stat-cards strong{color:var(--cpm-accent)!important}
.cpm-stat-section{background:#fff!important;border-color:var(--cpm-line)!important}
.cpm-section-heading{border-color:var(--cpm-accent)!important}
.cpm-section-heading>span,.cpm-section-heading small{color:var(--cpm-accent)!important}
.cpm-section-heading h2{color:var(--cpm-black)!important}
.cpm-ranking-list,.cpm-ranking-row,.cpm-dna-row,.cpm-hour-row{border-color:var(--cpm-line)!important}
.cpm-ranking-row,.cpm-dna-row,.cpm-hour-row{color:var(--cpm-black)!important}
.cpm-rank{color:var(--cpm-accent)!important}
.cpm-rank-name,.cpm-song-title{color:var(--cpm-black)!important}
.cpm-song-artist{color:#666!important}
.cpm-ranking-row>strong,.cpm-dna-row>strong{color:var(--cpm-accent)!important}
.cpm-hour-row div{background:#ddd!important}
.cpm-hour-row div i{background:var(--cpm-accent)!important}
.cpm-stats-footer{color:#666!important;border-color:var(--cpm-line)!important}

/* Make the public pages use the same neutral outer surface even when the theme adds a background. */
body:has(.cpm),body:has(.cpm-live-stats){background:#fff!important}

@media(max-width:600px){
  .cpm-main-nav{background:#fff!important}
  .cpm{background:#fff!important}
  .cpm-live-stats--mobile{background:#fff!important}
}

/* Graphic placeholder for the MUSIC REQUEST header */
.cpm__graphic-placeholder{
  border:1px dashed var(--cpm-accent,#b20e0a)!important;
  background:#fff!important;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.cpm__graphic-placeholder::before{
  content:"";
  width:42px;
  height:42px;
  border:2px solid var(--cpm-accent,#b20e0a);
  border-radius:4px;
  opacity:.25;
}
@media (max-width:767px){
  .cpm__graphic-placeholder{min-height:76px;margin:8px 0 12px!important}
}

/* v4.8.4 — uploaded public header graphic */
.cpm__graphic{
  background:#fff!important;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
@media (max-width:767px){
  .cpm__graphic{margin:8px 0 12px!important}
}

/* v4.8.5 — Unified header graphic hierarchy across all public pages */
.cpm__graphic{
}
.cpm__header{
  margin-bottom:22px;
}
.cpm-live-stats--mobile > .cpm__graphic{
  margin:0 0 28px!important;
}
.cpm-stats-header{
  margin:0 0 24px!important;
}
.cpm-stats-header h1{
  margin:0 0 8px!important;
}
.cpm-stats-header p{
  margin:0!important;
}
@media(max-width:767px){
  .cpm__graphic,
  .cpm__graphic-placeholder,
  .cpm-live-stats--mobile > .cpm__graphic{
    margin:0 0 20px!important;
  }
  .cpm__header,.cpm--wishes-page .cpm__header,.cpm-stats-header{
    margin-bottom:20px!important;
  }
}


/* v4.8.7 — Subtle public headings; no red divider lines. */
.cpm__title,
.cpm--wishes-page .cpm__title {
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:400!important;
  letter-spacing:.02em!important;
  color:#777!important;
}
.cpm__section-title,
.cpm__latest-heading,
.cpm--wishes-page .cpm__section-title {
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:400!important;
  letter-spacing:.08em!important;
  color:#777!important;
  border:0!important;
  padding-bottom:0!important;
  margin-bottom:10px!important;
}
.cpm--wishes-page .cpm__header {
  border:0!important;
}


/* v4.8.8 — Unified public header navigation across request, wishes and statistics. */
.cpm-top-navigation,
.cpm-main-nav {
  margin-left:auto!important;
  margin-right:auto!important;
}
.cpm-top-navigation__title,
.cpm-main-nav__brand {
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:700!important;
}
.cpm-top-navigation__links,
.cpm-main-nav__links {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  border-top:1px solid #d8d8d8!important;
  border-bottom:1px solid #d8d8d8!important;
}
.cpm-top-navigation__link,
.cpm-main-nav__link {
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:10px 8px!important;
  box-sizing:border-box!important;
  color:#777!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:500!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-align:center!important;
  background:transparent!important;
  text-decoration:none!important;
}
.cpm-top-navigation__link:hover,
.cpm-main-nav__link:hover,
.cpm-top-navigation__link.is-active,
.cpm-main-nav__link.is-active {
  background:transparent!important;
}
.cpm-top-navigation__link.is-active:after,
.cpm-main-nav__link.is-active:after {
  display:none!important;
  content:none!important;
}
@media(max-width:600px){
  .cpm-top-navigation__title, .cpm-main-nav__brand{font-size:9px!important;letter-spacing:.13em!important}
  .cpm-top-navigation__link, .cpm-main-nav__link{padding:8px 4px!important}
}


/* v4.8.9 — Wunschliste: Top 5 + engerer roter Trenner */
.cpm--wishes-page .cpm__header{
  padding-bottom:4px!important;
  margin-bottom:12px!important;
}
.cpm--wishes-page .cpm__title{
  margin:0!important;
}
.cpm--wishes-page .cpm__top-requests{
  margin-top:0!important;
}

/* v4.9.0 — unified public-page styling / single red section divider */
.cpm-main-nav{
}
.cpm-main-nav__brand{
  display:block!important;
  padding:0 0 22px!important;
  color:#111!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  border-bottom:1px solid #d7d7d7!important;
}
.cpm-main-nav__brand strong{
  display:block!important;
}
.cpm-main-nav__brand span{display:none!important}
.cpm-main-nav__links{
  border-top:0!important;
  border-bottom:1px solid #d7d7d7!important;
}
.cpm-main-nav__link{
  min-height:64px!important;
  color:#666!important;
  background:#fff!important;
}
.cpm-main-nav__link:hover,
.cpm-main-nav__link.is-active{
  color:#111!important;
  background:#fff!important;
}
.cpm-main-nav__link.is-active:after{display:none!important}
.cpm__header{
  max-width:900px!important;
  text-align:left!important;
}
.cpm__eyebrow{display:none!important}
.cpm__title{
  color:#111!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(54px,8vw,104px)!important;
  line-height:.95!important;
  letter-spacing:-.035em!important;
  font-weight:700!important;
  text-align:center!important;
  text-transform:none!important;
  margin:0 0 10px!important;
}
.cpm__title span{color:#111!important}
.cpm__intro{
  color:#777!important;
  font-size:15px!important;
  letter-spacing:.02em!important;
}

/* one and only one red divider before TOP 5 REQUESTS */
.cpm__top-requests{
  border-top:2px solid var(--cpm-accent)!important;
  border-bottom:0!important;
  margin:8px auto 34px!important;
  padding:0!important;
}
.cpm__top-requests>.cpm__section-title{
  border:0!important;
  color:#666!important;
  background:#fff!important;
  padding:14px 0 8px!important;
  margin:0!important;
  font-size:15px!important;
  letter-spacing:.08em!important;
  font-weight:700!important;
}
.cpm__top-requests>.cpm__section-title:before{display:none!important}
.cpm__top-requests .cpm__intro{
  color:#888!important;
  padding:0 0 14px!important;
  margin:0!important;
  font-size:14px!important;
}
.cpm__top-list{border:0!important}
.cpm__top-item{
  border-bottom:1px solid #d7d7d7!important;
  padding:18px 0!important;
}
.cpm__top-item:last-child{border-bottom:0!important}
.cpm__top-rank{color:var(--cpm-accent)!important}

/* same restrained section treatment everywhere */
.cpm__latest-public,
.cpm__latest-wishes,
.cpm--wishes-page .cpm__header{
  border-top:1px solid #d7d7d7!important;
  border-bottom:0!important;
}
.cpm__latest-public>.cpm__section-title,
.cpm__latest-heading,
.cpm--wishes-page .cpm__section-title{
  border:0!important;
  color:#666!important;
  padding:14px 0 8px!important;
  margin:0!important;
}

@media(max-width:600px){
  .cpm-main-nav{padding:0 14px!important}
  .cpm-main-nav__brand{padding-bottom:16px!important}
  .cpm-main-nav__brand strong{font-size:13px!important;letter-spacing:.14em!important}
  .cpm-main-nav__link{min-height:52px!important;font-size:10px!important;letter-spacing:.06em!important}
  .cpm{padding:28px 14px 34px!important}
  .cpm__title{font-size:48px!important}
  .cpm__top-requests{margin-top:6px!important}
}


/* v4.9.1 — mobile-first refinement: compact, touch-friendly public pages */
@media (max-width: 767px){
  html,body{overflow-x:hidden!important}
  .cpm-main-nav,.cpm-top-navigation{
    width:100%!important;
    max-width:none!important;
    margin:0 0 12px!important;
    padding:0 10px!important;
  }
  .cpm-main-nav__brand,.cpm-top-navigation__title{
    font-size:9px!important;
    line-height:1.2!important;
    letter-spacing:.12em!important;
    padding:0 0 10px!important;
    margin:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .cpm-main-nav__links,.cpm-top-navigation__links{
    width:100%!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .cpm-main-nav__link,.cpm-top-navigation__link{
    min-height:44px!important;
    padding:7px 3px!important;
    font-size:9px!important;
    line-height:1.15!important;
    letter-spacing:.035em!important;
    font-weight:600!important;
  }

  .cpm{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    padding:14px 12px 28px!important;
  }
  .cpm__graphic,.cpm__graphic-placeholder{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 14px!important;
  }
  .cpm__graphic img{width:100%!important;height:auto!important;max-height:190px!important;object-fit:contain!important}
  .cpm__graphic-placeholder{min-height:58px!important}
  .cpm__header,.cpm--wishes-page .cpm__header{
    width:100%!important;
    max-width:none!important;
    margin:0 0 14px!important;
    padding:0!important;
    border:0!important;
  }
  .cpm__title,.cpm--wishes-page .cpm__title{
    font-size:13px!important;
    line-height:1.25!important;
    letter-spacing:.08em!important;
    font-weight:400!important;
    text-align:left!important;
    margin:0!important;
    color:#777!important;
  }

  /* Exactly one red divider on the wishes page, directly beneath the heading. */
  .cpm--wishes-page .cpm__header{border-bottom:0!important}
  .cpm--wishes-page .cpm__top-requests{
    width:100%!important;
    max-width:none!important;
    margin:0 0 20px!important;
    padding:0!important;
    border-top:2px solid var(--cpm-accent)!important;
    border-bottom:0!important;
  }
  .cpm--wishes-page .cpm__top-requests>.cpm__section-title{
    padding:10px 0 6px!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.25!important;
    letter-spacing:.06em!important;
  }
  .cpm--wishes-page .cpm__top-requests .cpm__intro{
    padding:0 0 8px!important;
    margin:0!important;
    font-size:12px!important;
  }
  .cpm--wishes-page .cpm__latest-public{
    width:100%!important;
    border-top:0!important;
  }
  .cpm--wishes-page .cpm__latest-public>.cpm__section-title{
    font-size:12px!important;
    padding:0 0 8px!important;
  }

  /* Search / request entry */
  .cpm__search{width:100%!important;display:block!important;margin:0!important}
  .cpm__input{
    width:100%!important;
    min-height:50px!important;
    box-sizing:border-box!important;
    padding:13px 14px!important;
    font-size:16px!important;
    border-radius:0!important;
  }
  .cpm__search-button{display:none!important}
  .cpm__artist-select{font-size:16px!important;min-height:50px!important}
  .cpm__autocomplete,.cpm__inline-select{max-height:55vh!important}
  .cpm__status{min-height:18px!important;margin:8px 0!important;font-size:12px!important}

  .cpm__release,.cpm__release--single{
    grid-template-columns:52px minmax(0,1fr)!important;
    gap:10px!important;
    padding:11px 0!important;
  }
  .cpm__cover,.cpm__release--single .cpm__cover{width:52px!important;height:52px!important}
  .cpm__release-title,.cpm__track-name{font-size:14px!important;line-height:1.25!important}
  .cpm__release-year{font-size:12px!important}
  .cpm__release-actions,.cpm__track-actions,.cpm__actions{
    grid-column:2!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    margin-top:2px!important;
  }
  .cpm__track{grid-template-columns:22px minmax(0,1fr)!important;gap:7px!important}
  .cpm__tracks,.cpm__choose{font-size:10px!important;min-height:36px!important}
  .cpm__spotify{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}

  /* Selected request and form */
  .cpm__request{margin-top:18px!important;padding-top:14px!important}
  .cpm__selected{grid-template-columns:52px minmax(0,1fr)!important;gap:10px!important;margin-bottom:14px!important}
  .cpm__selected img{width:52px!important;height:52px!important}
  .cpm__request-form{gap:7px!important}
  .cpm__request-form input,.cpm__request-form textarea{
    min-height:48px!important;
    padding:12px!important;
    font-size:16px!important;
    border-radius:0!important;
  }
  .cpm__request-form textarea{min-height:96px!important}
  .cpm__request-form label{font-size:11px!important;margin-top:5px!important}
  .cpm__submit{width:100%!important;min-height:50px!important;padding:13px 16px!important;font-size:12px!important}

  /* Top-5 list: no horizontal squeeze, comfortable touch targets. */
  .cpm__top-item{padding:13px 0!important}
  .cpm__top-list .cpm__top-item{display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;gap:8px!important;align-items:start!important}
  .cpm__top-rank{font-size:13px!important;padding-top:3px!important}

  /* Statistics */
  .cpm-live-stats--mobile{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    padding:0 12px 28px!important;
  }
  .cpm-stats-header{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;margin:0 0 14px!important}
  .cpm-stats-header h1{font-size:22px!important;line-height:1.1!important;margin:0 0 5px!important}
  .cpm-stats-header p{font-size:12px!important;line-height:1.35!important}
  .cpm-stats-live{font-size:10px!important;white-space:nowrap!important}
  .cpm-filter-pills{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .cpm-filter-pills button{min-height:44px!important;padding:8px 7px!important;font-size:11px!important}
  .cpm-filter-custom{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  .cpm-filter-custom label,.cpm-filter-custom input,.cpm-filter-custom button{min-width:0!important;box-sizing:border-box!important}
  .cpm-filter-custom button{grid-column:1/-1;min-height:44px!important}
  .cpm-stat-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .cpm-stat-cards>div{padding:12px 10px!important}
  .cpm-stat-cards strong{font-size:22px!important}
  .cpm-stat-cards span{font-size:10px!important}
  .cpm-section-heading{gap:8px!important}
  .cpm-section-heading h2{font-size:18px!important}
  .cpm-ranking-row,.cpm-dna-row,.cpm-hour-row{font-size:12px!important}
}

@media (max-width:390px){
  .cpm-main-nav,.cpm-top-navigation{padding:0 8px!important}
  .cpm-main-nav__link,.cpm-top-navigation__link{font-size:8px!important;letter-spacing:.02em!important;padding-left:2px!important;padding-right:2px!important}
  .cpm{padding-left:10px!important;padding-right:10px!important}
  .cpm-live-stats--mobile{padding-left:10px!important;padding-right:10px!important}
  .cpm__title,.cpm--wishes-page .cpm__title{font-size:12px!important}
  .cpm__top-requests>.cpm__section-title,.cpm--wishes-page .cpm__latest-public>.cpm__section-title{font-size:11px!important}
}

/* v4.9.78 — Band-DNA in „Letzte Wünsche“ is informational only. */
.cpm__band-dna-chip--static{
}
.cpm__band-dna-line--latest .cpm__band-dna-chip--static:hover{
  background:transparent!important;
  color:inherit!important;
  border-color:currentColor!important;
}

/* v4.9.78 — compact iPhone date/time filter. */
@media(max-width:600px){
  .cpm-live-stats--mobile .cpm-filter-custom{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  .cpm-live-stats--mobile .cpm-filter-field{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
  }
  .cpm-live-stats--mobile .cpm-filter-field>span{
    font-size:12px!important;
    font-weight:700!important;
    line-height:1!important;
  }
  .cpm-live-stats--mobile .cpm-filter-datetime{
    display:grid!important;
    grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr)!important;
    gap:6px!important;
    min-width:0!important;
  }
  .cpm-live-stats--mobile .cpm-filter-datetime input{
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    min-height:44px!important;
    padding:8px 9px!important;
    box-sizing:border-box!important;
    font-size:14px!important;
    line-height:1.2!important;
    border:1px solid #999!important;
    border-radius:4px!important;
    background:#fff!important;
    color:var(--cpm-black)!important;
    -webkit-appearance:auto!important;
  }
  .cpm-live-stats--mobile .cpm-filter-custom button{
    width:100%!important;
    min-height:44px!important;
    margin-top:2px!important;
  }
}

/* v4.9.3 — identical, restrained logo width on all public views */
.cpm__graphic,
.cpm__graphic-placeholder,
.cpm-live-stats--mobile > .cpm__graphic {
}
.cpm__graphic img {
  margin-left:auto!important;
  margin-right:auto!important;
}
@media (max-width:767px){
  .cpm__graphic,
  .cpm__graphic-placeholder,
  .cpm-live-stats--mobile > .cpm__graphic {
    width:100%!important;
    max-width:980px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .cpm__graphic img {
    width:100%!important;
    max-width:980px!important;
    max-height:none!important;
  }
}

/* v4.9.4 — compact page headings: always small on desktop and mobile */
.cpm__header .cpm__title,
.cpm--wishes-page .cpm__header .cpm__title{
  font-family:inherit!important;
  font-size:13px!important;
  line-height:1.25!important;
  letter-spacing:.08em!important;
  font-weight:500!important;
  text-align:left!important;
  text-transform:uppercase!important;
  color:#777!important;
  margin:0!important;
}
@media (max-width:767px){
  .cpm__header .cpm__title,
  .cpm--wishes-page .cpm__header .cpm__title{
    font-size:12px!important;
    line-height:1.25!important;
    letter-spacing:.06em!important;
    font-weight:500!important;
  }
}

/* v4.9.6 — new Instagram teaser, half the previous displayed size */
.cpm__instagram-teaser-image{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* v4.9.7 — Instagram teaser: use the supplied graphic at approx. 50% width; no black container background */
.cpm__instagram-teaser{
  margin:34px auto 28px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.cpm__instagram-teaser:hover{
  background:transparent!important;
  border:0!important;
  opacity:1!important;
}
.cpm__instagram-teaser-image{
  border:0!important;
  box-shadow:none!important;
}
@media (max-width:600px){
  .cpm__instagram-teaser{
    margin:26px auto 22px!important;
  }
}

/* v4.9.8: clear spacing between Song-DNA labels and counts */
.cpm-dna-row span{margin-right:12px}
.cpm-dna-row strong{white-space:nowrap}


.cpm__top-item--extra[hidden]{display:none!important}
.cpm__top-toggle{
  border:0;
  font:inherit;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  cursor:pointer;
}
.cpm__top-toggle:hover{text-decoration:underline}


.cpm__all-toggle{
  width:100%;
  margin:10px auto 14px;
  padding:10px 0;
  border:0;
  background:transparent;
  color:var(--cpm-accent);
  font:inherit;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-align:center;
  cursor:pointer;
}
.cpm__all-toggle:hover{text-decoration:underline}
.cpm__wish--extra[hidden]{display:none!important}

/* Alle Wünsche exakt so breit wie TOP 5 Requests */
.cpm__wish-list{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
.cpm__wish{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}

/* v4.9.11 – Wünsche und Top-5 exakt auf gleicher Breite */
.cpm--wishes-page .cpm__top-requests,
.cpm--wishes-page .cpm__latest-public{
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

.cpm__top-toggle{
  display:block!important;
  width:auto!important;
  margin:8px auto 12px!important;
  padding:9px 18px!important;
  text-align:center!important;
}

.cpm__all-toggle{
  display:none!important;
}


/* v4.9.13 — Gemeinsamer Header für die Seite "Musik hören" */
.cpm-music-listen-header{
}
.cpm-music-listen-header .cpm-top-navigation{
  margin-bottom:26px;
}
.cpm-music-listen-header .cpm--music-listen-page{
  margin-top:0;
}
.cpm-music-listen-header .cpm__graphic,
.cpm-music-listen-header .cpm__graphic-placeholder{
  margin-top:0;
}
@media(max-width:600px){
  .cpm-music-listen-header .cpm-top-navigation{
    margin-bottom:18px;
  }
}


/* =========================================================
   v4.9.14 — Mobile First / einheitliche Breiten
   ========================================================= */

:root{
  --cpm-content-width:980px;
  --cpm-side-space:14px;
}

/* Alle öffentlichen Bereiche auf dieselbe Breite bringen */
.cpm,
.cpm-live-stats,
.cpm-music-listen-header,
.cpm-top-navigation{
  width:100%;
  max-width:var(--cpm-content-width);
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box;
}

.cpm,
.cpm-live-stats{
  padding-left:var(--cpm-side-space);
  padding-right:var(--cpm-side-space);
}

/* Logo / Header-Grafik: immer exakt dieselbe verfügbare Breite */
.cpm__graphic,
.cpm__graphic-placeholder{
}

/* Suchfeld exakt gleiche Breite wie Logo */
.cpm__search{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box;
  margin-left:auto!important;
  margin-right:auto!important;
}

.cpm__search input,
.cpm__search-button{
  box-sizing:border-box;
}

/* Instagram-Banner ebenfalls auf volle gemeinsame Breite */
.cpm__instagram-teaser{
}

/* Navigation mit vier gleich breiten Feldern */
.cpm-top-navigation{
  padding-left:var(--cpm-side-space)!important;
  padding-right:var(--cpm-side-space)!important;
}

.cpm-top-navigation__links{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

/* Einheitliche Section-Breite */
.cpm__latest-wishes,
.cpm__results,
.cpm__request,
.cpm__cooldown,
.cpm__top-requests,
.cpm__latest-public{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

/* Buttons */
.cpm__top-toggle,
.cpm__info-toggle,
.cpm__submit{
  max-width:100%;
  box-sizing:border-box;
}

/* Tablet */
@media (max-width:800px){
  :root{
    --cpm-side-space:12px;
  }

  .cpm-top-navigation__title{
    font-size:10px!important;
    letter-spacing:.12em!important;
  }

  .cpm-top-navigation__link{
    min-height:46px!important;
    padding:8px 4px!important;
    font-size:10px!important;
    letter-spacing:.055em!important;
    line-height:1.25!important;
  }
}

/* Smartphone */
@media (max-width:600px){
  :root{
    --cpm-side-space:10px;
  }

  .cpm,
  .cpm-live-stats,
  .cpm-music-listen-header,
  .cpm-top-navigation{
    width:100%!important;
    max-width:100%!important;
  }

  .cpm,
  .cpm-live-stats{
    padding-left:10px!important;
    padding-right:10px!important;
  }

  /* Header-Titel niemals über den Bildschirm hinausragen lassen */
  .cpm-top-navigation{
    padding-left:10px!important;
    padding-right:10px!important;
    margin-bottom:18px!important;
  }

  .cpm-top-navigation__title{
    width:100%!important;
    font-size:8px!important;
    line-height:1.4!important;
    letter-spacing:.09em!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
    margin-bottom:8px!important;
  }

  /* Vier gleich große Navigationsfelder */
  .cpm-top-navigation__links{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }

  .cpm-top-navigation__link{
    min-height:44px!important;
    padding:7px 2px!important;
    font-size:8px!important;
    line-height:1.2!important;
    letter-spacing:.025em!important;
    overflow-wrap:anywhere;
  }

  /* Logo exakt auf dieselbe Innenbreite wie Suchfeld und Banner */
  .cpm__graphic,
  .cpm__graphic-placeholder,
  .cpm__search,
  .cpm__instagram-teaser{
    width:100%!important;
    max-width:100%!important;
  }

  .cpm__graphic img,
  .cpm__instagram-teaser-image{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
  }

  /* Suchfeld mobil als saubere volle Zeile */
  .cpm__search{
    display:flex!important;
    flex-wrap:nowrap!important;
  }

  .cpm__search .cpm__input{
    min-width:0!important;
    flex:1 1 auto!important;
  }

  .cpm__search .cpm__search-button{
    flex:0 0 auto!important;
    min-width:92px;
  }

  /* Aufklapp-Buttons immer innerhalb der gemeinsamen Breite */
  .cpm__top-toggle,
  .cpm__info-toggle{
    width:100%!important;
    max-width:100%!important;
    min-height:44px!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .cpm__info-content{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    padding:12px 10px 2px!important;
  }

  /* Abstände kompakt und gleichmäßig */
  .cpm__instagram-teaser{
    margin-top:14px!important;
  }

  .cpm__latest-wishes{
    margin-top:18px!important;
  }
}

/* Sehr kleine Smartphones */
@media (max-width:380px){
  .cpm-top-navigation__title{
    font-size:7px!important;
  }

  .cpm__search .cpm__search-button{
    min-width:82px;
    padding-left:8px!important;
    padding-right:8px!important;
  }
}


/* =========================================================
   v4.9.15 — Logo maximal so breit wie die Navigation
   + einheitliche Akzentfarbe für alle Schaltflächen
   ========================================================= */

/* Das Logo darf niemals breiter werden als die Navigation */
.cpm__graphic,
.cpm__graphic-placeholder{
}

/* Auf großen Displays etwas kleiner als die maximale Navigationsbreite */
.cpm__graphic{
  padding-left:4%!important;
  padding-right:4%!important;
}

/* Alle relevanten Schaltflächen in der Cure-Akzentfarbe */
.cpm button,
.cpm-live-stats button,
.cpm-top-navigation__link,
.cpm__search-button,
.cpm__submit,
.cpm__top-toggle,
.cpm__info-toggle{
  --cpm-button-color:#b20e0a;
}

/* Navigation: aktive/hover Zustände ebenfalls rot */
.cpm-top-navigation__link.is-active,
.cpm-top-navigation__link:hover,
.cpm-top-navigation__link:focus-visible{
  color:#b20e0a!important;
}

/* Rote Buttons */
.cpm__search-button,
.cpm__submit,
.cpm__top-toggle,
.cpm__info-toggle{
  background:#b20e0a!important;
  border-color:#b20e0a!important;
  color:#fff!important;
}

/* Hover nicht auf andere Farben wechseln */
.cpm__search-button:hover,
.cpm__search-button:focus,
.cpm__submit:hover,
.cpm__submit:focus,
.cpm__top-toggle:hover,
.cpm__top-toggle:focus,
.cpm__info-toggle:hover,
.cpm__info-toggle:focus{
  background:#b20e0a!important;
  border-color:#b20e0a!important;
  color:#fff!important;
}

/* Mobile: Logo etwas kleiner halten */
@media(max-width:600px){
  .cpm__graphic{
    padding-left:6%!important;
    padding-right:6%!important;
  }
}

@media(max-width:380px){
  .cpm__graphic{
    padding-left:8%!important;
    padding-right:8%!important;
  }
}


/* =========================================================
   v4.9.16 — MUSIK HÖREN: Header exakt wie die anderen
   öffentlichen Cure-Seiten
   ========================================================= */

/*
 * Die Musik-hören-Seite wird innerhalb des WordPress-Contents
 * gerendert. Der WordPress-/Elementor-Seitentitel darf deshalb
 * nicht zusätzlich über dem Cure-Header erscheinen.
 */
body.page-slug-musik-hoeren .entry-title,
body.page-slug-musik-hoeren .page-title,
body.page-slug-musik-hoeren .elementor-page-title,
body.page-slug-musik-hoeren .elementor-widget-theme-post-title,
body.page-slug-musik-hoeren .wp-block-post-title{
  display:none!important;
}

/* Gemeinsamer Header-Rahmen */
.cpm-music-listen-header.cpm-public-header{
}

/* Navigation und Logo exakt auf derselben Achse */
.cpm-music-listen-header.cpm-public-header .cpm-top-navigation{
  margin:0 auto 26px!important;
}

/* Logo-Section darf nicht die Breite des Browserfensters übernehmen */
.cpm-music-listen-header.cpm-public-header .cpm--music-listen-page{
  padding-left:0!important;
  padding-right:0!important;
}

/* Logo selbst: bewusst etwas schmaler als die Navigation */
.cpm-music-listen-header.cpm-public-header .cpm__graphic,
.cpm-music-listen-header.cpm-public-header .cpm__graphic-placeholder{
  display:block!important;
  width:92%!important;
  max-width:900px!important;
  margin:0 auto 28px!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

.cpm-music-listen-header.cpm-public-header .cpm__graphic img{
  display:block!important;
  width:100%!important;
  max-width:900px!important;
  height:auto!important;
  margin:0 auto!important;
  object-fit:contain!important;
}

/* WordPress-Content darf den Header nicht verbreitern */
body.page-slug-musik-hoeren .cpm-music-listen-header{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Mobile: Navigation und Logo bleiben exakt gleich breit */
@media(max-width:600px){

  .cpm-music-listen-header.cpm-public-header .cpm__graphic,
  .cpm-music-listen-header.cpm-public-header .cpm__graphic-placeholder{
    width:94%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .cpm-music-listen-header.cpm-public-header .cpm__graphic img{
    width:100%!important;
    max-width:100%!important;
  }
}

@media(max-width:380px){

  .cpm-music-listen-header.cpm-public-header .cpm__graphic,
  .cpm-music-listen-header.cpm-public-header .cpm__graphic-placeholder{
    width:92%!important;
  }
}


/* =========================================================
   v4.9.17 — LOGO DEUTLICH KLEINER
   Das Logo darf auf Musik hören niemals die Navigation
   ausfüllen. Desktop max. 760px.
   ========================================================= */

.cpm-music-listen-header .cpm__graphic,
.cpm-music-listen-header .cpm__graphic-placeholder{
  display:block!important;
  min-width:0!important;
  padding:0!important;
  overflow:hidden!important;
}

.cpm-music-listen-header .cpm__graphic img{
  display:block!important;
  min-width:0!important;
  object-fit:contain!important;
}

/* Tablet */
@media(max-width:800px){
  .cpm-music-listen-header .cpm__graphic,
  .cpm-music-listen-header .cpm__graphic-placeholder{
    width:680px!important;
    max-width:82%!important;
  }
}

/* Smartphone */
@media(max-width:600px){
  .cpm-music-listen-header .cpm__graphic,
  .cpm-music-listen-header .cpm__graphic-placeholder{
    width:100%!important;
    max-width:88%!important;
  }
}

/* Sehr kleine Displays */
@media(max-width:380px){
  .cpm-music-listen-header .cpm__graphic,
  .cpm-music-listen-header .cpm__graphic-placeholder{
    max-width:84%!important;
  }
}

/* v4.9.18 — Musik-hören Seitentitel aus WordPress/Elementor ausblenden */
body:has(.cpm-music-listen-header) .entry-title,
body:has(.cpm-music-listen-header) .page-title,
body:has(.cpm-music-listen-header) .elementor-page-title,
body:has(.cpm-music-listen-header) .elementor-widget-theme-post-title,
body:has(.cpm-music-listen-header) .wp-block-post-title{
  display:none!important;
}

/* =========================================================
   v4.9.18 — Header exakt bündig
   Navigation = Logo-Container = identische Außenbreite
   Logo selbst = 82% der Navigation, niemals größer
   ========================================================= */

.cpm-music-listen-header.cpm-public-header{
  display:block!important;
  width:100%!important;
  max-width:980px!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

.cpm-music-listen-header.cpm-public-header .cpm-top-navigation{
  display:block!important;
  width:100%!important;
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

.cpm-music-listen-header.cpm-public-header .cpm--music-listen-page{
  display:block!important;
  width:100%!important;
  max-width:980px!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

/* Der Grafik-Container ist exakt so breit wie die Navigation.
   Das Bild darin ist bewusst kleiner. */
.cpm-music-listen-header.cpm-public-header .cpm--music-listen-page .cpm__graphic,
.cpm-music-listen-header.cpm-public-header .cpm--music-listen-page .cpm__graphic-placeholder{
  display:block!important;
  width:82%!important;
  max-width:82%!important;
  min-width:0!important;
  margin:26px auto 28px!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

.cpm-music-listen-header.cpm-public-header .cpm--music-listen-page .cpm__graphic img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  object-fit:contain!important;
}

/* Mobile */
@media(max-width:600px){
  .cpm-music-listen-header.cpm-public-header{
    width:100%!important;
    max-width:100%!important;
    padding:0 10px!important;
  }

  .cpm-music-listen-header.cpm-public-header .cpm-top-navigation,
  .cpm-music-listen-header.cpm-public-header .cpm--music-listen-page{
    width:100%!important;
    max-width:100%!important;
  }

  .cpm-music-listen-header.cpm-public-header .cpm--music-listen-page .cpm__graphic,
  .cpm-music-listen-header.cpm-public-header .cpm--music-listen-page .cpm__graphic-placeholder{
    width:82%!important;
    max-width:82%!important;
    margin-top:18px!important;
    margin-bottom:20px!important;
  }
}

@media(max-width:380px){
  .cpm-music-listen-header.cpm-public-header{
    padding-left:8px!important;
    padding-right:8px!important;
  }

  .cpm-music-listen-header.cpm-public-header .cpm--music-listen-page .cpm__graphic,
  .cpm-music-listen-header.cpm-public-header .cpm--music-listen-page .cpm__graphic-placeholder{
    width:82%!important;
    max-width:82%!important;
  }
}


/* =========================================================
   v4.9.19 — Standalone "Musik hören"
   Kein Elementor-Seitentitel, keine automatische Content-Injection.
   ========================================================= */

.cpm-music-listen-standalone{
  padding:0;
}

.cpm-music-listen-standalone .cpm-top-navigation{
  width:100%!important;
  max-width:980px!important;
  margin:0 auto 26px!important;
  box-sizing:border-box!important;
}

.cpm-music-listen-standalone .cpm--music-listen-standalone{
  width:100%!important;
  max-width:980px!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
}

.cpm-music-listen-standalone .cpm__graphic,
.cpm-music-listen-standalone .cpm__graphic-placeholder{
  width:82%!important;
  max-width:82%!important;
  margin:26px auto 28px!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

.cpm-music-listen-standalone .cpm__graphic img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:0!important;
}

.cpm-music-listen-embed{
  width:100%;
  max-width:980px;
  margin:0 auto;
  box-sizing:border-box;
}

.cpm-music-listen-embed iframe,
.cpm-music-listen-embed audio,
.cpm-music-listen-embed video{
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

.cpm-music-listen-embed-placeholder{
  padding:24px;
  border:1px dashed #ccc;
  text-align:center;
  color:#777;
}

@media(max-width:600px){
  .cpm-music-listen-standalone{
    padding:0 10px;
  }

  .cpm-music-listen-standalone .cpm-top-navigation{
    width:100%!important;
    max-width:100%!important;
  }

  .cpm-music-listen-standalone .cpm--music-listen-standalone{
    width:100%!important;
    max-width:100%!important;
  }

  .cpm-music-listen-standalone .cpm__graphic,
  .cpm-music-listen-standalone .cpm__graphic-placeholder{
    width:82%!important;
    max-width:82%!important;
    margin-top:18px!important;
    margin-bottom:20px!important;
  }

  .cpm-music-listen-embed{
    width:100%;
    max-width:100%;
  }
}


/* v4.9.20 — Spotify Player passend zum Cure-Header */
.cpm-music-listen-standalone .cpm-music-listen-embed{
  width:100%!important;
  max-width:980px!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}

.cpm-music-listen-standalone .cpm-music-listen-embed iframe{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:352px!important;
  margin:0 auto!important;
  border:0!important;
  box-sizing:border-box!important;
}

@media(max-width:600px){
  .cpm-music-listen-standalone .cpm-music-listen-embed iframe{
    height:352px!important;
    border-radius:12px!important;
  }
}


/* =========================================================
   v4.9.21 — Eigenständige Musik-hören-Seite
   ========================================================= */
.cpm-music-listen-direct{
  width:100%;
  max-width:980px;
  margin:0 auto;
  box-sizing:border-box;
}
.cpm-music-listen-content{
  width:100%;
  max-width:980px;
  margin:0 auto;
  padding:0 0 40px;
  box-sizing:border-box;
}
.cpm-music-listen-content h1,
.cpm-music-listen-content h2,
.cpm-music-listen-content h3{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
.cpm-music-listen-content iframe,
.cpm-music-listen-content audio,
.cpm-music-listen-content video{
  display:block;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box;
}
@media(max-width:600px){
  .cpm-music-listen-direct{
    padding:0 10px;
  }
  .cpm-music-listen-content{
    width:100%;
  }
  .cpm-music-listen-content iframe{
    height:352px!important;
  }
}


/* v4.9.24 — Real WordPress Playlist page */
body.cpm-music-listen-direct-page .site-content,
body.cpm-music-listen-direct-page .content-area,
body.cpm-music-listen-direct-page .site-main,
body.cpm-music-listen-direct-page .entry-content{
  width:100%!important;
  max-width:none!important;
}
body.page .cpm-music-listen-standalone{
  width:100%!important;
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}


/* v4.9.35 — Public navigation: horizontal and touch-friendly on mobile. */
.cpm-top-navigation__links{
}
.cpm-top-navigation__link{
  box-sizing:border-box!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
@media (max-width:767px){
  .cpm-top-navigation{
    width:100%!important;
    max-width:100%!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .cpm-top-navigation__links{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:380px){
  .cpm-top-navigation__link{
    min-height:52px!important;
    font-size:8px!important;
    letter-spacing:.025em!important;
    padding-left:2px!important;
    padding-right:2px!important;
  }
}


/* v4.9.38 — Public navigation: three equal horizontal tabs, first label intentionally two lines. */
.cpm-top-navigation__links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;}
.cpm-top-navigation__link{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-width:0!important;width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-align:center!important;}
.cpm-top-navigation__link span{display:block!important;white-space:nowrap!important;}
.cpm-top-navigation__link--request span+span{margin-top:1px!important;}
@media(max-width:600px){
  .cpm-top-navigation{padding-left:6px!important;padding-right:6px!important;}
  .cpm-top-navigation__links{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .cpm-top-navigation__link{min-height:50px!important;padding:7px 2px!important;font-size:9px!important;letter-spacing:.018em!important;line-height:1.18!important;}
}
@media(max-width:380px){
  .cpm-top-navigation{padding-left:3px!important;padding-right:3px!important;}
  .cpm-top-navigation__link{font-size:8px!important;letter-spacing:0!important;}
}


/* v4.9.40 — mobile public navigation: white touch buttons, black text, small red active accent */
@media (max-width:767px){
  .cpm-top-navigation__links{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    border:0!important;
  }
  .cpm-top-navigation__link{
    min-height:52px!important;
    width:100%!important;
    padding:12px 16px!important;
    box-sizing:border-box!important;
    border:1px solid #d8d8d8!important;
    border-left:1px solid #d8d8d8!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#111!important;
    font-size:12px!important;
    font-weight:800!important;
    letter-spacing:.06em!important;
    line-height:1.2!important;
    box-shadow:0 1px 3px rgba(0,0,0,.04)!important;
  }
  .cpm-top-navigation__link:hover,
  .cpm-top-navigation__link:focus-visible{
    background:#fafafa!important;
    color:#111!important;
    border-color:#c8c8c8!important;
  }
  .cpm-top-navigation__link.is-active{
    background:#fff!important;
    border-color:#d8d8d8!important;
    border-left:4px solid #b20e0a!important;
    padding-left:13px!important;
  }
}

/* v4.9.41 — mobile navigation: active menu label uses the Cure red accent. */
@media (max-width:767px){
  .cpm-top-navigation__link.is-active,
  .cpm-main-nav__link.is-active{
    color:#b20e0a!important;
  }
  .cpm-top-navigation__link.is-active:hover,
  .cpm-top-navigation__link.is-active:focus-visible,
  .cpm-main-nav__link.is-active:hover,
  .cpm-main-nav__link.is-active:focus-visible{
    color:#b20e0a!important;
  }
}


/* v4.9.42 — Instagram-Banner auf ca. zwei Drittel reduzieren und dezent zentrieren; mobil wie Desktop identisch. */
.cpm__instagram-teaser{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:66.6667%!important;
  max-width:66.6667%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.cpm__instagram-teaser-image{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:0 auto!important;
}
@media (max-width:767px){
  .cpm__instagram-teaser{
    width:66.6667%!important;
    max-width:66.6667%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .cpm__instagram-teaser-image{
    width:100%!important;
    max-width:100%!important;
  }
}

/* v4.9.43 — Spotify-Hover in original Spotify-Grün */
.cpm__spotify:hover,
.cpm__spotify:focus-visible,
.cpm__latest-spotify:hover,
.cpm__latest-spotify:focus-visible,
.cpm-admin-spotify:hover,
.cpm-admin-spotify:focus-visible{
  background:#fff!important;
  border-color:#1DB954!important;
  color:#1DB954!important;
}
.cpm__spotify:hover img,
.cpm__spotify:focus-visible img,
.cpm__latest-spotify:hover img,
.cpm__latest-spotify:focus-visible img,
.cpm-admin-spotify:hover img,
.cpm-admin-spotify:focus-visible img{
  filter:brightness(0) saturate(100%) invert(48%) sepia(99%) saturate(438%) hue-rotate(94deg) brightness(94%) contrast(92%)!important;
}

.cpm-popularity{margin-top:24px}
.cpm-popularity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cpm-popularity-grid>div{padding:16px;border:1px solid rgba(0,0,0,.08);border-radius:10px}
.cpm-popularity h3{margin:0 0 10px;font-size:15px}
.cpm-popularity-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid rgba(0,0,0,.06)}
.cpm-popularity-row:first-of-type{border-top:0}
.cpm-popularity-rank{font-variant-numeric:tabular-nums;opacity:.55;min-width:24px}
.cpm-popularity-label{flex:1}
.cpm-popularity-count{font-weight:600;}
@media(max-width:700px){.cpm-popularity-grid{grid-template-columns:1fr}}

.cpm-spotify-popularity{font-size:.78em;font-weight:600;opacity:.7;white-space:nowrap}
.cpm-popularity-count{font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:700px){.cpm-popularity-count{font-size:.9em}}

.cpm-live-rank span{display:flex;flex-direction:column;min-width:0}
.cpm-rank-artist{font-size:.86em;opacity:.65;margin-top:2px}
.cpm-rank-metrics{font-size:.78em;opacity:.72;margin-top:4px;white-space:nowrap}
@media(max-width:700px){.cpm-rank-metrics{white-space:normal;line-height:1.35}}

/* FINAL — public page title: A Strange Night */
.cpm-top-navigation__title{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
@media(max-width:800px){
  .cpm-top-navigation__title{
    color:#b20e0a!important;
    font-size:1.2rem!important;
    font-weight:700!important;
    letter-spacing:.02em!important;
    line-height:1.4!important;
    text-transform:none!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}

/* A Strange Night page heading */
.cpm-top-navigation__title{color:#b20e0a!important;font-size:1.2rem!important;font-weight:700!important;letter-spacing:.02em!important;text-transform:none!important;line-height:1.4!important;text-align:center!important}

/* v4.9.44 — dezente Streaming-Playlist-Links zwischen Suche und Werbung */
.cpm__playlist-links{
  margin:12px auto 4px;
  padding:0;
  text-align:center;
  color:#777;
  font-size:12px;
  line-height:1.45;
}
.cpm__playlist-intro{
  margin-bottom:4px;
  color:#888;
  font-size:11px;
  line-height:1.35;
}
.cpm__playlist-services{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px 14px;
}
.cpm__playlist-service{
  display:inline-flex;
  align-items:center;
  gap:4px;
  white-space:nowrap;
}
.cpm__playlist-dot{
  font-size:9px;
  line-height:1;
}
.cpm__playlist-service--available .cpm__playlist-dot{color:#188038}
.cpm__playlist-service--unavailable{color:#999}
.cpm__playlist-service--unavailable .cpm__playlist-dot{color:#b20e0a}
.cpm__playlist-service a{
  color:#666;
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.cpm__playlist-service a:hover,
.cpm__playlist-service a:focus-visible{
  color:#b20e0a;
  border-bottom-color:#b20e0a;
}
.cpm__playlist-note{
  margin-top:4px;
  color:#999;
  font-size:10px;
  line-height:1.35;
}
@media(max-width:600px){
  .cpm__playlist-links{
    margin:10px auto 3px;
    font-size:11.5px;
  }
  .cpm__playlist-intro{
    margin-bottom:4px;
    font-size:10.5px;
  }
  .cpm__playlist-services{gap:4px 11px}
  .cpm__playlist-note{
    max-width:320px;
    margin:4px auto 0;
    font-size:9.5px;
  }
}

/* v4.9.46 – intelligente freie Suche */
.cpm__search-hint{
  margin:8px 0 0;
  color:#85858d;
  font-size:12px;
  line-height:1.45;
}
.cpm__search-help{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:0 0 20px;
  padding:13px 14px;
  border-left:2px solid var(--cpm-accent,#b20e0a);
  background:rgba(178,14,10,.045);
}
.cpm__search-help strong{font-size:14px;color:var(--cpm-black,#111)}
.cpm__search-help span{font-size:12px;color:#666;line-height:1.45}
.cpm__search-track{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid var(--cpm-line,#ddd);
}
.cpm__search-cover{
  width:56px;height:56px;object-fit:cover;background:#eee;display:block;
}
.cpm__search-main{min-width:0}
.cpm__search-title{font-size:16px;font-weight:800;line-height:1.25;color:var(--cpm-black,#111)}
.cpm__search-artist{margin-top:3px;font-size:13px;font-weight:600;color:#555}
.cpm__search-album{margin-top:3px;font-size:12px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cpm__search-artist-card{
  width:100%;display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:13px;align-items:center;
  padding:11px 0;border:0;border-bottom:1px solid var(--cpm-line,#ddd);background:transparent;text-align:left;cursor:pointer;color:inherit;
}
.cpm__search-artist-card:hover .cpm__search-arrow{color:var(--cpm-accent,#b20e0a)}
.cpm__search-artist-cover{width:56px;height:56px;object-fit:cover;background:#eee;display:block;border-radius:50%}
.cpm__search-artist-card strong{display:block;font-size:15px;color:var(--cpm-black,#111)}
.cpm__search-artist-card small{display:block;margin-top:3px;font-size:11px;color:#777}
.cpm__search-arrow{font-size:28px;line-height:1;color:#999;padding:0 7px}
.cpm__empty{display:flex;flex-direction:column;gap:5px;padding:18px 0}
.cpm__empty strong{font-size:15px;color:var(--cpm-black,#111)}
.cpm__empty span{font-size:13px;color:#777}
@media(max-width:600px){
  .cpm__search-track{grid-template-columns:52px minmax(0,1fr);gap:10px}
  .cpm__search-cover{width:52px;height:52px}
  .cpm__search-track .cpm__actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}
  .cpm__search-artist-card{grid-template-columns:48px minmax(0,1fr) auto;gap:10px}
  .cpm__search-artist-cover{width:48px;height:48px}
  .cpm__search-title{font-size:14px}
}

/* Eigene Mixtape-Wünsche löschen */
.cpm__delete-wrap{}
.cpm__delete{font:inherit;transition:opacity .15s ease;text-align:left}
.cpm__delete:hover{opacity:.85;}
.cpm__delete:disabled{cursor:wait;opacity:.45}
.cpm__delete-countdown{font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:700px){.cpm__delete-wrap{font-size:9px;margin-top:5px}.cpm__delete{font-size:9px}}

/* v4.9.161 — öffentlicher Lesefortschritt */
.cpm__wish-reading{margin:12px 0 4px;padding:10px 0 8px;border-bottom:1px solid #eee}
.cpm__wish-reading-count{font-size:11px;line-height:1.3;color:#555;font-weight:700;font-variant-numeric:tabular-nums}
.cpm__wish-reading-reset{appearance:none;border:0;background:transparent;color:#b20e0a;padding:0;font:inherit;font-size:9px;line-height:1.3;cursor:pointer;white-space:nowrap}
.cpm__wish-reading-reset:hover{text-decoration:underline}
.cpm__wish-reading-reset:disabled{opacity:.35;cursor:default;text-decoration:none}
.cpm__wish-reading-track{height:5px;margin-top:7px;background:#e9e9e9;border-radius:999px;overflow:hidden}
.cpm__wish-reading-fill{display:block;width:0;height:100%;background:#b20e0a;border-radius:999px;transition:width .25s ease}
.cpm__wish-reading-info{margin-top:5px;color:#999;font-size:9px;line-height:1.35}
@media(max-width:600px){
  .cpm__wish-reading{margin:10px 0 3px;}
  .cpm__wish-reading-head{align-items:flex-start;}
  .cpm__wish-reading-info{font-size:8px}
}

/* v4.9.55 — öffentliche Wunschliste: Suche, Sortierung & Pagination */
.cpm__wish-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 0 12px;
  border-bottom:1px solid #e1e1e1;
}
.cpm__wish-search{
  position:relative;
  display:flex;
  align-items:center;
  flex:1 1 auto;
  min-width:0;
}
.cpm__wish-search-icon{
  position:absolute;
  left:11px;
  top:50%;
  transform:translateY(-50%);
  width:16px;
  height:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#777;
  pointer-events:none;
}
.cpm__wish-search-icon:before{
  content:'';
  width:9px;
  height:9px;
  border:1.5px solid currentColor;
  border-radius:50%;
  position:absolute;
  top:1px;
  left:1px;
}
.cpm__wish-search-icon:after{
  content:'';
  width:6px;
  height:1.5px;
  background:currentColor;
  transform:rotate(45deg);
  position:absolute;
  right:0;
  bottom:2px;
  border-radius:2px;
}
.cpm__wish-search-input{
  width:100%;
  min-width:0;
  height:38px;
  box-sizing:border-box;
  border:1px solid #cfcfcf;
  border-radius:6px;
  background:#fff;
  color:#171717;
  padding:0 12px 0 34px;
  font:inherit;
  font-size:13px;
  outline:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.cpm__wish-search-input::placeholder{color:#888}
.cpm__wish-search-input:focus{border-color:var(--cpm-accent,#b20e0a);box-shadow:0 0 0 2px rgba(178,14,10,.08)}
.cpm__wish-sort{flex:0 0 auto}
.cpm__wish-sort-select{
  height:38px;
  min-width:175px;
  box-sizing:border-box;
  border:1px solid #cfcfcf;
  border-radius:6px;
  background:#fff;
  color:#444;
  padding:0 30px 0 11px;
  font:inherit;
  font-size:12px;
  cursor:pointer;
}
.cpm__wish-status{
  min-height:18px;
  padding:10px 0 2px;
  font-size:11px;
  color:#888;
}
.cpm__wish-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px;
  padding:18px 0 8px;
}
.cpm__wish-page{
  min-width:32px;
  height:32px;
  padding:0 8px;
  border:1px solid #d1d1d1;
  border-radius:5px;
  background:#fff;
  color:#555;
  font:inherit;
  font-size:11px;
  line-height:1;
  cursor:pointer;
}
.cpm__wish-page:hover:not(:disabled),.cpm__wish-page:focus-visible{border-color:#aaa;color:#111}
.cpm__wish-page.is-active{font-weight:800}
.cpm__wish-page:disabled{opacity:.32;cursor:default}
.cpm__wish-page-gap{padding:0 2px;color:#aaa;font-size:12px}
@media(max-width:600px){
  .cpm__wish-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 0 10px}
  .cpm__wish-search{grid-column:1/-1}
  .cpm__wish-sort{grid-column:1/-1}
  .cpm__wish-sort-select{width:100%;min-width:0}
  .cpm__wish-search-input,.cpm__wish-sort-select{height:40px;font-size:12px}
  .cpm__wish-status{padding-top:9px}
  .cpm__wish-pagination{gap:4px;padding-top:15px}
  .cpm__wish-page{min-width:30px;height:30px;padding:0 7px}
}


/* v4.9.65 — Top-5 verfeinern */
.cpm__top-item{transition:background .16s ease}
.cpm__top-meta{display:flex;flex-wrap:wrap;gap:0!important;margin-top:8px!important;color:#777!important;}
.cpm__top-meta span+span:before{content:'·';margin:0 8px;color:#bbb}
.cpm__band-dna-line--top{margin-top:8px}


/* v4.9.66 — Band-DNA klickbar */
.cpm__band-dna-line{color:#666}
.cpm__band-dna-chip{font:inherit;}
.cpm__wish-helper{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 0 2px;color:#888;font-size:10px}
.cpm__wish-helper-dot{width:5px;height:5px;border-radius:50%;background:#b20e0a;display:inline-block;flex:0 0 auto}
.cpm__band-dna-clear{appearance:none;border:0;background:transparent;color:#b20e0a;padding:0;cursor:pointer;font:inherit;font-size:10px}
.cpm__band-dna-clear:hover{text-decoration:underline}

/* v4.9.68 — kompakte Band-DNA und Cure-Akzentfarbe */
.cpm__band-dna-line{
  display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:5px!important;margin-top:7px!important;
}
.cpm__band-dna-label{
  color:#b20e0a!important;font-size:9px!important;font-weight:800!important;letter-spacing:.14em!important;margin-right:4px!important;line-height:1!important;
}
.cpm__band-dna-chip,
.cpm__band-dna-line--top .cpm__band-dna-chip{
  appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:auto!important;min-width:0!important;min-height:24px!important;height:24px!important;
  margin:0!important;padding:3px 8px!important;border:1px solid #b20e0a!important;border-radius:3px!important;
  background:#fff!important;color:#b20e0a!important;font-family:inherit!important;font-size:10px!important;font-weight:600!important;
  line-height:1!important;letter-spacing:.01em!important;text-transform:none!important;box-shadow:none!important;cursor:pointer!important;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease!important;
}
.cpm__band-dna-chip:hover,.cpm__band-dna-chip:focus-visible{
  background:#b20e0a!important;color:#fff!important;border-color:#b20e0a!important;outline:none!important;transform:translateY(-1px);
}
.cpm__delete-wrap{
  display:flex!important;align-items:baseline!important;flex-wrap:wrap!important;gap:7px!important;margin-top:8px!important;
  font-size:10px!important;line-height:1.3!important;opacity:1!important;
}
.cpm__delete{
  appearance:none!important;-webkit-appearance:none!important;display:inline!important;width:auto!important;min-width:0!important;min-height:0!important;height:auto!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#b20e0a!important;
  font:inherit!important;font-size:10px!important;font-weight:700!important;letter-spacing:.05em!important;line-height:1.3!important;
  text-transform:lowercase!important;box-shadow:none!important;cursor:pointer!important;
}
.cpm__delete:hover,.cpm__delete:focus-visible{color:#b20e0a!important;text-decoration:underline!important;background:transparent!important}
.cpm__delete-countdown{color:#777!important;font-size:10px!important}
.cpm__wish-sort-trigger,.cpm__wish-page.is-active{color:#b20e0a!important;border-color:#b20e0a!important}
.cpm__wish-sort-trigger:hover,.cpm__wish-sort-trigger:focus-visible,.cpm__wish-page.is-active:hover{background:#b20e0a!important;color:#fff!important}
@media(max-width:600px){
  .cpm__band-dna-line{gap:4px!important;margin-top:6px!important}.cpm__band-dna-label{font-size:8px!important;margin-right:3px!important}
  .cpm__band-dna-chip{min-height:22px!important;height:22px!important;padding:3px 7px!important;font-size:9px!important}
  .cpm__delete-wrap,.cpm__delete,.cpm__delete-countdown{font-size:9px!important}
}


/* v4.9.69 — unified public statistics heading + Berlin time presentation */
.cpm-stats-header--public{
  width:100%;
  margin:0 0 20px!important;
  text-align:left!important;
}
.cpm-stats-header--public .cpm-stats-page-title{
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:400!important;
  letter-spacing:.08em!important;
  color:#777!important;
  margin:0 0 10px!important;
  padding:0!important;
  border:0!important;
}
.cpm-stats-header--public > p{
  margin:0!important;
  color:#85858d!important;
  font-size:14px!important;
  line-height:1.45!important;
}
@media(max-width:600px){
  .cpm-stats-header--public{margin-bottom:16px!important}
  .cpm-stats-header--public .cpm-stats-page-title{font-size:11px!important}
  .cpm-stats-header--public > p{font-size:12px!important}
}

/* 4.9.70: BAND DNA chips are interactive filters. */
.cpm__band-dna-chip{background:#fff;color:#b20e0a;border-color:#b20e0a;transition:background .16s ease,color .16s ease,transform .16s ease}
.cpm__band-dna-chip:hover,.cpm__band-dna-chip.is-active{background:#b20e0a;color:#fff}
.cpm__band-dna-chip:active{transform:translateY(1px)}


/* v4.9.72 — kompakter, redaktioneller Sortierer */
.cpm__wish-sort{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
.cpm__wish-sort-trigger{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:auto!important;
  min-width:0!important;
  height:34px!important;
  margin:0!important;
  padding:0 2px 2px!important;
  border:0!important;
  border-bottom:1px solid #b20e0a!important;
  border-radius:0!important;
  background:transparent!important;
  color:#b20e0a!important;
  font:inherit!important;
  font-size:12px!important;
  font-weight:600!important;
  letter-spacing:.03em!important;
  line-height:1!important;
  box-shadow:none!important;
  cursor:pointer!important;
  transition:color .15s ease,border-color .15s ease!important;
}
.cpm__wish-sort-trigger span{
  display:inline-block!important;
  font-size:12px!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
}
.cpm__wish-sort-trigger:hover,
.cpm__wish-sort-trigger:focus-visible{
  background:transparent!important;
  color:#7f0000!important;
  border-color:#7f0000!important;
  outline:none!important;
}
.cpm__wish-sort-menu{
  position:absolute!important;
  z-index:40!important;
  top:calc(100% + 8px)!important;
  right:0!important;
  min-width:205px!important;
  padding:6px!important;
  border:1px solid #d9d9d9!important;
  border-radius:4px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(0,0,0,.12)!important;
}
.cpm__wish-sort-menu[hidden]{display:none!important}
.cpm__wish-sort-menu button{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:9px 11px!important;
  font:inherit!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.2!important;
  text-align:left!important;
  cursor:pointer!important;
}
.cpm__wish-sort-menu button:hover,
.cpm__wish-sort-menu button:focus-visible,
.cpm__wish-sort-menu button[aria-selected="true"]{
  outline:none!important;
}
@media(max-width:600px){
  .cpm__wish-sort{justify-content:flex-end!important}
  .cpm__wish-sort-trigger{height:32px!important;font-size:11px!important;padding-bottom:2px!important}
  .cpm__wish-sort-menu{right:0!important;min-width:190px!important}
}


/* v4.9.73 — statistics navigation matches the other cards; active state is subtle. */
@media (max-width:600px){
  .cpm-top-navigation__link.is-active,
  .cpm-main-nav__link.is-active{
    border-left:1px solid #d8d8d8!important;
    padding-left:16px!important;
    color:#b20e0a!important;
    box-shadow:inset 0 -3px 0 #b20e0a!important;
  }
}
@media (min-width:601px){
  .cpm-top-navigation__link.is-active,
  .cpm-main-nav__link.is-active{
    color:#b20e0a!important;
    box-shadow:inset 0 -2px 0 #b20e0a!important;
  }
}


/* v4.9.74 — Mobile performance/layout refinement for the latest wishes */
@media (max-width: 600px){
  .cpm__latest-wishes{margin:18px 0 20px!important}
  .cpm__latest-heading{margin-bottom:8px!important;padding-bottom:8px!important}
  .cpm__latest-item{
    grid-template-columns:48px minmax(0,1fr) auto!important;
  }
  .cpm__latest-cover{flex:none!important}
  .cpm__latest-main strong{line-height:1.18!important}
  .cpm__latest-artist{margin-top:2px!important}
  .cpm__latest-meta{margin-top:3px!important;gap:5px!important}
  .cpm__latest-side{justify-content:flex-end!important}
  .cpm__latest-spotify{min-height:30px!important}
  .cpm__latest-side .cpm__vote{gap:4px!important}
}


/* v4.9.76 — Mobile touch fix for request/action buttons.
 * Keep action controls above surrounding grid/content layers and explicitly
 * enable pointer/touch interaction on iOS Safari. */
.cpm__search-track .cpm__actions,
.cpm__release .cpm__actions,
.cpm__track .cpm__actions{
  position:relative!important;
  z-index:5!important;
  pointer-events:auto!important;
}
.cpm__choose,
.cpm__tracks,
.cpm__search-artist-card,
.cpm__change,
.cpm__submit,
.cpm__search-button{
  position:relative!important;
  z-index:6!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent;
}
@media(max-width:600px){
  .cpm__search-track .cpm__actions,
  .cpm__release .cpm__actions,
  .cpm__track .cpm__actions{
    min-height:36px!important;
  }
  .cpm__choose,
  .cpm__tracks{
    min-height:36px!important;
  }
}


/* v4.9.80 — unified Cure header graphic across request, wishes and statistics */
.cpm__graphic{
  margin:0 auto 28px!important;
  padding:0 0 26px!important;
  text-align:center!important;
}
.cpm__graphic img{
  max-height:none!important;
}
.cpm__graphic-placeholder{
  min-height:0!important;
  margin:0 auto 28px!important;
  padding:0 0 26px!important;
}
@media(max-width:767px){
  .cpm__graphic{
    margin:0 auto 18px!important;
    padding-bottom:10px!important;
    border-bottom-width:2px!important;
  }
  .cpm__graphic img{
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
  }
  .cpm__graphic-placeholder{
    margin-bottom:18px!important;
    padding-bottom:10px!important;
    border-bottom-width:2px!important;
  }
}

/* v4.9.81 — Öffentliche Header exakt auf die Breite eines Wunscheintrags begrenzen.
   Die zusätzliche rote Trennlinie unterhalb des Headerbereichs entfällt. */
.cpm .cpm__graphic,
.cpm .cpm__graphic-placeholder,
.cpm-live-stats .cpm__graphic,
.cpm-live-stats .cpm__graphic-placeholder,
.cpm-music-listen-header .cpm__graphic,
.cpm-music-listen-header .cpm__graphic-placeholder {
  width:100%!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
.cpm .cpm__graphic img,
.cpm-live-stats .cpm__graphic img,
.cpm-music-listen-header .cpm__graphic img {
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:0 auto!important;
}

/* Nur die zusätzliche, dünne Linie vor dem eigentlichen Wünsche-Bereich entfernen.
   Die rote Linie direkt unter dem Header bleibt erhalten. */
.cpm--wishes-page .cpm__latest-public {
  border-top:0!important;
}

@media (max-width:767px){
  .cpm .cpm__graphic,
  .cpm .cpm__graphic-placeholder,
  .cpm-live-stats .cpm__graphic,
  .cpm-live-stats .cpm__graphic-placeholder,
  .cpm-music-listen-header .cpm__graphic,
  .cpm-music-listen-header .cpm__graphic-placeholder {
    width:100%!important;
    max-width:100%!important;
  }
}

/* v4.9.82 — öffentliche Wünsche: klare Zielstruktur, eine Header-Linie, kompakter Top-5-Bereich */
.cpm--wishes-page{
  max-width:980px!important;
  padding-top:0!important;
}
.cpm--wishes-page .cpm__graphic,
.cpm--wishes-page .cpm__graphic-placeholder{
  width:900px!important;
  max-width:100%!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
.cpm--wishes-page .cpm__graphic img{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
}
.cpm--wishes-page .cpm__wish-toolbar--public{
  width:900px!important;
  max-width:100%!important;
  margin:26px auto 24px!important;
  padding:0!important;
  border:0!important;
  display:block!important;
}
.cpm--wishes-page .cpm__wish-search-input{
  height:52px!important;
  border:1px solid #cfcfcf!important;
  border-radius:5px!important;
  font-size:15px!important;
  padding-left:15px!important;
}
.cpm--wishes-page .cpm__wish-search-icon{left:auto!important;right:18px!important;width:22px!important;height:22px!important}
.cpm--wishes-page .cpm__wish-search-icon:before{width:13px!important;height:13px!important;left:1px!important;top:1px!important;border-width:2px!important}
.cpm--wishes-page .cpm__wish-search-icon:after{width:8px!important;right:0!important;bottom:2px!important;height:2px!important}
.cpm--wishes-page .cpm__wish-sort--buttons{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(280px,420px))!important;
  justify-content:center!important;
  gap:12px!important;
  margin-top:14px!important;
}
.cpm--wishes-page .cpm__sort-button{
  min-height:50px!important;
  border:1px solid #cfcfcf!important;
  border-radius:5px!important;
  background:#fff!important;
  color:#222!important;
  font:inherit!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  cursor:pointer!important;
}
.cpm--wishes-page .cpm__sort-button.is-active{
  background:var(--cpm-accent,#b20e0a)!important;
  border-color:var(--cpm-accent,#b20e0a)!important;
  color:#fff!important;
}
.cpm--wishes-page .cpm__top-requests{
  width:900px!important;
  max-width:100%!important;
  margin:0 auto 34px!important;
  padding:0!important;
  border:0!important;
}
.cpm--wishes-page .cpm__top-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  border-bottom:1px solid #ddd!important;
  padding:0 0 10px!important;
  margin:0 0 14px!important;
}
.cpm--wishes-page .cpm__top-heading .cpm__section-title{
  padding:0!important;
  margin:0!important;
  font-size:17px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  color:#555!important;
}
.cpm--wishes-page .cpm__top-toggle{
  width:auto!important;
  margin:0!important;
  padding:10px 16px!important;
  border:1px solid var(--cpm-accent,#b20e0a)!important;
  border-radius:5px!important;
  background:#fff!important;
  color:var(--cpm-accent,#b20e0a)!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.cpm--wishes-page .cpm__top-toggle:hover{background:#fff8f8!important;text-decoration:none!important}
.cpm--wishes-page .cpm__top-list{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  border:0!important;
}
.cpm--wishes-page .cpm__top-item{
  flex-direction:column!important;
  min-width:0!important;
}
.cpm--wishes-page .cpm__top-rank{
  z-index:2!important;
  opacity:1!important;
}
.cpm--wishes-page .cpm__top-main{padding-top:10px!important}
.cpm--wishes-page .cpm__top-title{line-height:1.25!important}
.cpm--wishes-page .cpm__top-artist{line-height:1.3!important}
.cpm--wishes-page .cpm__top-meta,
.cpm--wishes-page .cpm__top-requester,
.cpm--wishes-page .cpm__top-note,
.cpm--wishes-page .cpm__band-dna-line--top{display:none!important}
.cpm--wishes-page .cpm__top-side{margin-top:12px!important;justify-content:flex-start!important}
.cpm--wishes-page .cpm__top-side .cpm__vote{min-width:0!important}
.cpm--wishes-page .cpm__top-side .cpm__spotify{display:none!important}
.cpm--wishes-page .cpm__latest-public{
  width:900px!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
}
.cpm--wishes-page .cpm__latest-public>.cpm__section-title{
  padding:0 0 10px!important;
  margin:0 0 0!important;
  border-bottom:1px solid #ddd!important;
  font-size:17px!important;
  font-weight:800!important;
  color:#555!important;
  letter-spacing:.08em!important;
}
.cpm--wishes-page .cpm__wish-total{font-weight:800;color:#777}
.cpm--wishes-page .cpm__wish-helper{display:none!important}
.cpm--wishes-page .cpm__wish-status{min-height:0!important;padding:8px 0 0!important}
.cpm--wishes-page .cpm__wish-list{width:100%!important;max-width:none!important}
.cpm--wishes-page .cpm__wish{width:100%!important;max-width:none!important}

@media(max-width:700px){
  .cpm--wishes-page .cpm__wish-toolbar--public{margin:20px auto 22px!important}
  .cpm--wishes-page .cpm__wish-search-input{height:50px!important;font-size:16px!important}
  .cpm--wishes-page .cpm__wish-sort--buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin-top:10px!important}
  .cpm--wishes-page .cpm__sort-button{min-height:44px!important;padding:0 4px!important;font-size:9px!important;letter-spacing:.04em!important}
  .cpm--wishes-page .cpm__top-requests{margin-bottom:26px!important}
  .cpm--wishes-page .cpm__top-heading{margin-bottom:12px!important}
  .cpm--wishes-page .cpm__top-heading .cpm__section-title{font-size:12px!important}
  .cpm--wishes-page .cpm__top-toggle{font-size:8px!important}
  .cpm--wishes-page .cpm__top-list{
    overscroll-behavior-x:contain!important;
  }
  .cpm--wishes-page .cpm__top-rank{font-size:10px!important}
  .cpm--wishes-page .cpm__top-title{font-size:12px!important}
  .cpm--wishes-page .cpm__top-artist{font-size:11px!important}
  .cpm--wishes-page .cpm__top-side{margin-top:7px!important}
  .cpm--wishes-page .cpm__latest-public>.cpm__section-title{font-size:12px!important;padding-bottom:8px!important}
}

/* v4.9.82 — identischer Logo-Header auf allen drei öffentlichen Seiten */
.cpm__graphic,
.cpm__graphic-placeholder,
.cpm-live-stats--mobile > .cpm__graphic{
  width:900px!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
  border-bottom:3px solid #b20e0a!important;
  padding-bottom:18px!important;
}
.cpm__graphic img{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  display:block!important;
  margin:0 auto!important;
  object-fit:contain!important;
}
@media(max-width:700px){
  .cpm__graphic,
  .cpm__graphic-placeholder,
  .cpm-live-stats--mobile > .cpm__graphic{
    width:100%!important;
    max-width:100%!important;
    padding-bottom:10px!important;
    border-bottom-width:2px!important;
  }
}


/* v4.9.83 — Mobile Top-5 sauber und Toggle tatsächlich ausblendbar */
.cpm--wishes-page .cpm__top-item{}
.cpm--wishes-page .cpm__top-item[hidden]{display:none!important;}
.cpm--wishes-page .cpm__top-toggle{position:relative!important;z-index:3!important;}

@media(max-width:700px){
  .cpm--wishes-page .cpm__top-heading .cpm__section-title{
    flex:1 1 auto!important;
    min-width:0!important;
  }
  .cpm--wishes-page .cpm__top-toggle{
    flex:0 0 auto!important;
    width:auto!important;
    max-width:58%!important;
  }
  .cpm--wishes-page .cpm__top-list{
    flex-wrap:nowrap!important;
    width:100%!important;
    max-width:none!important;
  }
  .cpm--wishes-page .cpm__top-item{
    overflow:hidden!important;
  }
  .cpm--wishes-page .cpm__top-cover{
    border-radius:0!important;
  }
  .cpm--wishes-page .cpm__top-main{padding:9px 2px 0!important;}
  .cpm--wishes-page .cpm__top-title{line-height:1.25!important;}
  .cpm--wishes-page .cpm__top-artist{margin-top:3px!important;}
  .cpm--wishes-page .cpm__top-rank{
    position:absolute!important;
    top:8px!important;
    left:8px!important;
    margin:0!important;
  }
  .cpm--wishes-page .cpm__top-side{margin-top:8px!important;}

  /* Wunschliste: mobile nicht unnötig aufblasen */
  .cpm--wishes-page .cpm__latest-public{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
  }
  .cpm--wishes-page .cpm__wish{
    box-sizing:border-box!important;
  }
}


/* v4.9.84 — Top-5-Toggle controls the complete block */
.cpm--wishes-page .cpm__top-list[hidden]{}
.cpm--wishes-page .cpm__top-toggle{
  -webkit-user-select:none!important;
}
@media(max-width:700px){
  .cpm--wishes-page .cpm__top-list{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    margin:0!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .cpm--wishes-page .cpm__top-item{
    flex:0 0 78vw!important;
    width:78vw!important;
    max-width:78vw!important;
    min-width:0!important;
    scroll-snap-align:start!important;
  }
  .cpm--wishes-page .cpm__top-cover{
    aspect-ratio:1/1!important;
    object-fit:cover!important;
  }
  .cpm--wishes-page .cpm__top-heading{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
}


/* v4.9.85 — kompakte Top-5-Liste statt großer Karten; standardmäßig zugeklappt */
.cpm--wishes-page .cpm__top-list[hidden]{display:none!important;}
.cpm--wishes-page .cpm__top-list{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  width:100%!important;
  overflow:visible!important;
  border-top:1px solid #ddd!important;
  border-bottom:1px solid #ddd!important;
  padding:0!important;
  margin:0!important;
}
.cpm--wishes-page .cpm__top-item{
  position:relative!important;
  display:grid!important;
  grid-template-columns:52px 42px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  min-height:72px!important;
  width:100%!important;
  max-width:none!important;
  flex:0 0 auto!important;
  padding:9px 0!important;
  border:0!important;
  border-bottom:1px solid #eee!important;
  background:#fff!important;
  overflow:visible!important;
}
.cpm--wishes-page .cpm__top-item:last-child{border-bottom:0!important;}
.cpm--wishes-page .cpm__top-cover{
  grid-column:1!important;
  grid-row:1!important;
  width:52px!important;
  height:52px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  border-radius:3px!important;
  display:block!important;
}
.cpm--wishes-page .cpm__top-rank{
  position:static!important;
  grid-column:2!important;
  grid-row:1!important;
  width:32px!important;
  height:32px!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%!important;
  background:var(--cpm-accent,#b20e0a)!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:11px!important;
  font-weight:900!important;
}
.cpm--wishes-page .cpm__top-main{
  grid-column:3!important;
  grid-row:1!important;
  min-width:0!important;
  padding:0!important;
}
.cpm--wishes-page .cpm__top-title{
  display:block!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.cpm--wishes-page .cpm__top-artist{
  margin-top:3px!important;
  font-size:12px!important;
  line-height:1.25!important;
  color:#555!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.cpm--wishes-page .cpm__top-meta,
.cpm--wishes-page .cpm__top-requester,
.cpm--wishes-page .cpm__top-note,
.cpm--wishes-page .cpm__band-dna-line--top{display:none!important;}
.cpm--wishes-page .cpm__top-side{
  grid-column:4!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
}
.cpm--wishes-page .cpm__top-side .cpm__spotify{display:none!important;}
.cpm--wishes-page .cpm__top-side .cpm__vote{
  border:0!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
  min-width:0!important;
  height:auto!important;
  color:var(--cpm-accent,#b20e0a)!important;
  font-size:14px!important;
  font-weight:800!important;
}
.cpm--wishes-page .cpm__top-toggle{
  cursor:pointer!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
  user-select:none!important;
}
@media(max-width:700px){
  .cpm--wishes-page .cpm__top-requests{margin:22px 0 24px!important;}
  .cpm--wishes-page .cpm__top-heading{gap:10px!important;padding-bottom:9px!important;margin-bottom:0!important;}
  .cpm--wishes-page .cpm__top-heading .cpm__section-title{font-size:14px!important;letter-spacing:.07em!important;}
  .cpm--wishes-page .cpm__top-toggle{min-height:38px!important;padding:7px 12px!important;font-size:9px!important;line-height:1.2!important;white-space:nowrap!important;}
  .cpm--wishes-page .cpm__top-list{display:flex!important;flex-direction:column!important;overflow:visible!important;gap:0!important;padding:0!important;}
  .cpm--wishes-page .cpm__top-item{
    grid-template-columns:44px 34px minmax(0,1fr) auto!important;
    min-height:62px!important;
    gap:8px!important;
    padding:7px 0!important;
  }
  .cpm--wishes-page .cpm__top-cover{width:44px!important;height:44px!important;}
  .cpm--wishes-page .cpm__top-rank{width:28px!important;height:28px!important;font-size:10px!important;}
  .cpm--wishes-page .cpm__top-title{font-size:14px!important;}
  .cpm--wishes-page .cpm__top-artist{font-size:11px!important;}
  .cpm--wishes-page .cpm__top-side .cpm__vote{font-size:13px!important;}
}

/* v4.9.86 — official Spotify Audio Preview, loaded only on explicit click */


/* v4.9.88 — Mobile latest wishes: compact, readable cards for iPhone */
@media (max-width: 600px){
  .cpm__latest-wishes{
    width:100%!important;
    margin:18px 0 18px!important;
    padding:0!important;
  }
  .cpm__latest-heading{
    margin:0 0 2px!important;
    padding:0 0 9px!important;
    font-size:13px!important;
    letter-spacing:.08em!important;
    border-bottom:1px solid #ddd!important;
  }
  .cpm__latest-item{
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:12px!important;
    row-gap:8px!important;
    align-items:start!important;
    padding:14px 0!important;
    border-bottom:1px solid #ddd!important;
  }
  .cpm__latest-item:last-child{border-bottom:0!important}
  .cpm__latest-cover{
    grid-column:1!important;
    grid-row:1!important;
    width:72px!important;
    height:72px!important;
    object-fit:cover!important;
    margin:0!important;
  }
  .cpm__latest-main{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    padding:0!important;
  }
  .cpm__latest-main strong{
    display:block!important;
    font-size:16px!important;
    line-height:1.18!important;
    margin:0!important;
    overflow-wrap:anywhere!important;
  }
  .cpm__latest-artist{
    font-size:13px!important;
    line-height:1.2!important;
    margin:3px 0 0!important;
    color:#666!important;
  }
  .cpm__latest-meta{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:4px 7px!important;
    margin:5px 0 0!important;
    font-size:11px!important;
    line-height:1.25!important;
    color:#777!important;
  }
  .cpm__latest-meta span+span:before{margin-right:7px!important}
  .cpm__latest-side{
    grid-column:2!important;
    grid-row:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
  }
  .cpm__latest-spotify{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    border-radius:50%!important;
  }
  .cpm__latest-spotify img{width:22px!important;height:22px!important}
  .cpm__latest-side .cpm__vote{
    width:58px!important;
    min-width:58px!important;
    height:38px!important;
    padding:0 9px!important;
    border-radius:19px!important;
    gap:4px!important;
  }
  .cpm__latest-side .cpm__vote span{font-size:16px!important}
  .cpm__latest-side .cpm__vote-count{font-size:12px!important}
  .cpm__latest-requester{
    grid-column:1 / -1!important;
    grid-row:3!important;
    margin:0!important;
    font-size:13px!important;
    line-height:1.25!important;
  }
}

/* v4.9.89 — Band-DNA in „Letzte Wünsche“ is informational only: never interactive. */
.cpm__band-dna-chip--static{cursor:default!important;pointer-events:none!important;}
.cpm__band-dna-chip--static:hover{background:#fff!important;color:#b20e0a!important;border-color:#b20e0a!important;transform:none!important;}


/* v4.9.90 — Mobile: „Letzte Wünsche“ use the same compact card geometry as „Alle Wünsche“. */
@media (max-width:600px){
  .cpm__latest-wishes{padding-left:0!important;padding-right:0!important}
  .cpm__latest-item{
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:11px!important;
    row-gap:6px!important;
    align-items:start!important;
    padding:12px 0!important;
    border-bottom:1px solid #ddd!important;
  }
  .cpm__latest-item:last-child{border-bottom:0!important}
  .cpm__latest-cover{
    grid-column:1!important;
    grid-row:1!important;
    width:56px!important;
    height:56px!important;
    margin:0!important;
  }
  .cpm__latest-main{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    padding:0!important;
  }
  .cpm__latest-main strong{
    display:block!important;
    font-size:16px!important;
    line-height:1.15!important;
    margin:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .cpm__latest-artist{
    margin-top:4px!important;
    font-size:13px!important;
    line-height:1.2!important;
  }
  .cpm__latest-meta{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:0!important;
    margin-top:4px!important;
    font-size:11px!important;
    line-height:1.45!important;
  }
  .cpm__latest-meta span:not(:last-child)::after{content:' · ';margin:0 5px}
  .cpm__band-dna-line--latest{
    margin-top:5px!important;
    gap:5px!important;
  }
  .cpm__band-dna-line--latest .cpm__band-dna-label{font-size:9px!important}
  .cpm__band-dna-line--latest .cpm__band-dna-chip{padding:4px 8px!important;font-size:9px!important}
  .cpm__latest-side{
    grid-column:2!important;
    grid-row:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-width:0!important;
    margin-top:-3px!important;
    gap:9px!important;
    padding:0!important;
  }
  .cpm__latest-spotify{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    border-radius:50%!important;
  }
  .cpm__latest-spotify img{width:17px!important;height:17px!important}
  .cpm__latest-side .cpm__vote{
    width:auto!important;
    min-width:46px!important;
    height:30px!important;
    padding:0 8px!important;
    border-radius:15px!important;
    gap:4px!important;
  }
  .cpm__latest-side .cpm__vote span{font-size:14px!important}
  .cpm__latest-side .cpm__vote-count{font-size:11px!important}
  .cpm__latest-requester{
    grid-column:1 / -1!important;
    grid-row:3!important;
    margin:0!important;
    font-size:10px!important;
    line-height:1.25!important;
  }
}


/* v4.9.91–v5.0.4: schwebender Musik-FAB (Spotify/TIDAL). Entfernt in v5.0.5 -
   ersetzt durch den seitenweiten Termin-Countdown-Button in cure-app-shell. */


/* 4.9.92 lazy loading sentinel */
.cpm__wish-load-sentinel{width:100%;height:1px;display:block;pointer-events:none;}


/* 4.9.92 DNA filter chips: clearly interactive */
.cpm__band-dna-chip{cursor:pointer;}

.cpm__band-dna-chip[data-band-dna]{cursor:pointer;pointer-events:auto;}

/* 4.9.92 active DNA filter state */
.cpm__band-dna-chip.is-active{
}
.cpm__band-dna-check{
  display:inline-block;
  margin-right:.35em;
  font-weight:900;
}
.cpm__active-filter{
  margin:.35rem 0 .75rem;
  font-weight:600;
}

/* Active DNA filter keeps the hover/selected appearance until the filter is removed */
.cpm__band-dna-chip.is-active,
.cpm__band-dna-chip.is-active:hover,
.cpm__band-dna-chip.is-active:focus-visible{
  background:#b20e0a;
  color:#fff;
  border-color:#b20e0a;
  font-weight:800;
  box-shadow:none;
  transform:none;
}
.cpm__band-dna-chip.is-active .cpm__band-dna-check{
  color:#fff;
}

/* Strong persistent selected state: active DNA filter must remain visually equivalent to hover. */
.cpm .cpm__band-dna-chip[data-band-dna].is-active,
.cpm .cpm__band-dna-chip[data-band-dna].is-active:hover,
.cpm .cpm__band-dna-chip[data-band-dna].is-active:focus,
.cpm .cpm__band-dna-chip[data-band-dna].is-active:focus-visible,
.cpm .cpm__band-dna-chip[data-band-dna][aria-pressed="true"]{
  background-color:#b20e0a !important;
  color:#fff !important;
  border-color:#b20e0a !important;
  font-weight:800 !important;
  box-shadow:0 0 0 1px #b20e0a !important;
  opacity:1 !important;
}
.cpm .cpm__band-dna-chip[data-band-dna].is-active .cpm__band-dna-check,
.cpm .cpm__band-dna-chip[data-band-dna][aria-pressed="true"] .cpm__band-dna-check{
  color:#fff !important;
}

/* 4.9.92 sticky active DNA filter while scrolling */
.cpm__active-filter-bar{
  position:sticky;
  top:0;
  z-index:30;
  display:block;
  margin:0 0 .65rem;
  padding:.35rem 0;
  background:inherit;
}
.cpm__active-filter{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.42rem .55rem .42rem .75rem;
  border-radius:999px;
  background:#b20e0a;
  color:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.16);
  font-size:.9rem;
  line-height:1.2;
}
.cpm__active-filter-label{opacity:.9;}
.cpm__active-filter strong{font-weight:800;color:#fff;}
.cpm__active-filter .cpm__band-dna-clear{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.45rem;
  height:1.45rem;
  padding:0;
  margin-left:.15rem;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  color:#fff;
  cursor:pointer;
  font-size:1rem;
  line-height:1;
}
.cpm__active-filter .cpm__band-dna-clear:hover,
.cpm__active-filter .cpm__band-dna-clear:focus-visible{
  background:#fff;
  color:#b20e0a;
}
@media (max-width:767px){
  .cpm__active-filter-bar{
    top:0;
    margin-bottom:.5rem;
    padding:.25rem 0;
  }
  .cpm__active-filter{
    width:max-content;
    max-width:100%;
    font-size:.85rem;
  }
}

/* 4.9.92: DNA in "Letzte Wünsche" is informational text, not a button */
.cpm__band-dna-line--latest .cpm__band-dna-text{
  display:inline;
  color:inherit;
  font-size:inherit;
  font-weight:500;
}
.cpm__band-dna-line--latest .cpm__band-dna-label{
  margin-right:.55rem;
}


/* ------------------------------------------------------------------
   Status-Badge am Wunsch: "Kommt dran" / "Gespielt"
   Mobile first, ab Tablet minimal groesser.
   ------------------------------------------------------------------ */
.cpm__badge-row{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  margin:.4rem 0 .1rem;
}
.cpm__badge{
  display:inline-flex;
  align-items:center;
  padding:.25em .7em;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
  line-height:1.6;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
}
.cpm__badge--played{background:#dce7fb;color:#173a7a}
.cpm__badge--accepted{background:#d8f0e2;color:#14532d}

@media (min-width:768px){
  .cpm__badge-row{margin:.45rem 0 .15rem}
  .cpm__badge{font-size:.75rem;padding:.26em .8em}
}


/* ------------------------------------------------------------------
   Bottom-Sheet (Loeschen bestaetigen, Fehlermeldung).
   Basis = Handy: von unten. Ab 768px: mittiger Dialog.
   ------------------------------------------------------------------ */
.cpm-sheet{
  position:fixed;
  inset:0;
  z-index:100000;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.cpm-sheet__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.45);
  opacity:0;
  transition:opacity .18s ease;
}
.cpm-sheet.is-open .cpm-sheet__backdrop{opacity:1}
.cpm-sheet__panel{
  position:relative;
  width:100%;
  max-width:560px;
  box-sizing:border-box;
  background:#fff;
  border-radius:18px 18px 0 0;
  padding:10px 20px calc(20px + env(safe-area-inset-bottom));
  box-shadow:0 -8px 30px rgba(0,0,0,.18);
  transform:translateY(100%);
  transition:transform .22s cubic-bezier(.22,.61,.36,1);
}
.cpm-sheet.is-open .cpm-sheet__panel{transform:translateY(0)}
.cpm-sheet__grip{
  width:44px;
  height:4px;
  border-radius:999px;
  background:#d8d8d8;
  margin:0 auto 16px;
}
.cpm-sheet__title{
  margin:0 0 6px!important;
  padding:0!important;
  font-size:17px!important;
  font-weight:900!important;
  line-height:1.3!important;
  color:#111!important;
}
.cpm-sheet__text{
  margin:0!important;
  padding:0!important;
  font-size:14px!important;
  line-height:1.5!important;
  color:#555!important;
}
.cpm-sheet__actions{
  display:flex;
  flex-direction:column-reverse;
  gap:10px;
  margin-top:20px;
}
.cpm-sheet__btn{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  box-sizing:border-box;
  border-radius:10px;
  font-family:inherit;
  font-size:15px;
  font-weight:800;
  line-height:1.2;
  cursor:pointer;
  transition:background .14s ease,border-color .14s ease;
}
.cpm-sheet__btn--cancel{background:#fff;color:#111;border:1px solid #dcdcdc}
.cpm-sheet__btn--cancel:hover{background:#f6f6f6}
.cpm-sheet__btn--danger{background:#b20e0a;border-color:#b20e0a}
.cpm-sheet__btn--danger:hover{background:#8a0000}
.cpm-sheet__btn:focus-visible{outline:2px solid #b20e0a;outline-offset:2px}

@media(min-width:768px){
  .cpm-sheet{align-items:center}
  .cpm-sheet__panel{
    max-width:430px;
    border-radius:14px;
    padding:24px;
    box-shadow:0 18px 50px rgba(0,0,0,.22);
    transform:translateY(10px);
    opacity:0;
    transition:transform .18s ease,opacity .18s ease;
  }
  .cpm-sheet.is-open .cpm-sheet__panel{transform:none;opacity:1}
  .cpm-sheet__grip{display:none}
  .cpm-sheet__actions{flex-direction:row;justify-content:flex-end}
  .cpm-sheet__btn{min-width:130px}
}

@media(prefers-reduced-motion:reduce){
  .cpm-sheet__panel,.cpm-sheet__backdrop{transition:none}
}

/* 4.9.101 — upcoming event / flyer presentation */
.cpm-flyer-page-context .entry-title,
.cpm-flyer-page-context .page-title,
.cpm-flyer-page-context .page-header,
.cpm-flyer-page-context .entry-header,
.cpm-flyer-page-context .elementor-widget-theme-post-title{display:none!important}
.cpm__next-event{display:flex;justify-content:center;align-items:center;margin:20px 0;padding:4px 0;background:transparent;border:0;text-align:center}
.cpm__next-event-line{display:flex;align-items:baseline;justify-content:center;gap:0;min-width:0;white-space:nowrap;line-height:1.25}
.cpm__next-event-label{font-size:1.05rem;letter-spacing:.02em;font-weight:700;color:var(--cpm-accent,#b20e0a);margin-right:18px}
.cpm__next-event strong{font-size:1.05rem;font-weight:700;margin-right:14px}
.cpm__next-event-venue{font-size:1rem;opacity:.72}

.cpm__flyer-link{display:none!important}
.cpm--flyer-page .cpm__flyer-shell{max-width:980px;margin:0 auto;padding:0 18px 48px}
.cpm--flyer-page .cpm__flyer-header{text-align:center;margin:24px 0 20px;padding:0}
.cpm--flyer-page .cpm__eyebrow{font-size:.72rem;letter-spacing:.16em;font-weight:700;color:var(--cpm-accent,#b20e0a);margin-bottom:7px}
.cpm--flyer-page .cpm__flyer-header h1,.cpm--flyer-page .cpm__flyer-header .cpm__flyer-claim{margin:0;font-size:clamp(1.45rem,3.4vw,2.35rem);line-height:1.12;letter-spacing:-.02em}
.cpm--flyer-page .cpm__flyer-header p{margin:8px 0 0;font-size:1rem;opacity:.72}
.cpm__flyer-event-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 auto 20px;padding:17px 20px;border-top:2px solid var(--cpm-accent,#b20e0a);border-bottom:1px solid rgba(0,0,0,.12);background:#fff}
.cpm__flyer-date{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 12px}.cpm__flyer-date strong{font-size:1.15rem}.cpm__flyer-date span{font-size:.98rem;opacity:.72}.cpm__flyer-label{font-size:.7rem;letter-spacing:.16em;font-weight:700;color:var(--cpm-accent,#b20e0a)}
.cpm__flyer-figure{margin:0 auto;max-width:900px;text-align:center}.cpm__flyer-image{display:block;width:100%;height:auto;margin:0 auto}
.cpm__flyer-empty{padding:30px;text-align:center;border:1px solid rgba(0,0,0,.12);background:#fff;opacity:.7}
.cpm__flyer-back{text-align:center;margin:24px 0 0}.cpm__flyer-back a{text-decoration:none;font-weight:700;font-size:.8rem;letter-spacing:.08em;color:var(--cpm-accent,#b20e0a)}
@media(max-width:600px){.cpm__next-event{margin:14px 0;padding:4px 0}.cpm__next-event-line{white-space:normal;flex-wrap:wrap;row-gap:3px;line-height:1.25}.cpm__next-event-label{font-size:.9rem;margin-right:10px}.cpm__next-event strong{font-size:.9rem;margin-right:8px}.cpm__next-event-venue{font-size:.84rem}.cpm__flyer-link{display:none!important}.cpm--flyer-page .cpm__flyer-shell{padding:0 12px 32px}.cpm--flyer-page .cpm__flyer-header{margin:18px 0 16px}.cpm--flyer-page .cpm__flyer-header h1,.cpm--flyer-page .cpm__flyer-header .cpm__flyer-claim{font-size:1.42rem}.cpm--flyer-page .cpm__flyer-header p{font-size:.9rem}.cpm__flyer-event-card{display:block;margin-bottom:14px;padding:14px}.cpm__flyer-label{margin-top:8px}.cpm__flyer-date strong{font-size:1.05rem}.cpm__flyer-date span{font-size:.9rem}.cpm__flyer-back{margin-top:18px}}

/* v4.9.131 — Editorial-Header vereinfacht: kein Kicker mehr.
   Seitentitel steht direkt oben in der Cure-Serifenschrift. */
.cpm-hero{
  text-align:left;
  margin-bottom:16px;
  font-family:Georgia,"Times New Roman",serif;
}
.cpm-hero h1{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.9rem;
  line-height:1.08;
  letter-spacing:.035em;
  color:#171717;
  font-weight:700;
  text-transform:none;
}
.cpm-hero .cpm-intro{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.82rem;
}
@media(min-width:768px){
  .cpm-hero h1{font-size:2.4rem}
}

/* v4.9.131 — Die Navigation ist im Cure Party App Shell bereits vorhanden und
   darf deshalb keinen unsichtbaren 50px-Platzhalter mehr oberhalb des Inhalts erzeugen. */
@media(min-width:768px){
  .cpm-sticky-navigation-wrap{height:0!important}
  .cpm,.cpm-live-stats{padding-top:8px!important}
}


/* v4.9.132 — Einreichen-Seite auf mobilen Ansichten bündig mit der Wünsche-Seite ausrichten. */
@media (max-width:767px){
  .cpm--request-page{
    margin-top:-60px!important;
  }
}

/* 4.9.128 — Hinweis bei erfolgloser Suche: volle Breite + rotes, dezentes Blinksignal */
.cpm--wishes-page .cpm__latest-public{grid-column:1 / -1}
.cpm__wish-not-found{margin:0 0 18px;padding:14px 16px;border:1px solid rgba(178,14,10,.14);border-left:3px solid #b20e0a;background:#fafafa;font-family:inherit;line-height:1.45;width:100%;max-width:none;box-sizing:border-box;grid-column:1 / -1}
.cpm__wish-not-found[hidden]{display:none!important}
.cpm__wish-not-found strong{font-size:.9rem;color:#171717;align-items:center;gap:7px}
.cpm__wish-alert{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;flex:0 0 19px;border-radius:50%;background:#b20e0a;color:#fff!important;font-size:.78rem!important;font-weight:800;line-height:1;animation:cpmWishAlertBlink 1s ease-in-out infinite}
.cpm__wish-not-found a,.cpm__wish-link{color:#b20e0a!important;font-weight:700;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.cpm__wish-not-found a strong,.cpm__wish-link strong{color:#b20e0a!important}
@keyframes cpmWishAlertBlink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.28;transform:scale(.92)}}
@media(prefers-reduced-motion:reduce){.cpm__wish-alert{animation:none}}
@media(max-width:600px){.cpm__wish-not-found{margin:0 0 14px;padding:12px 13px}.cpm__wish-not-found strong{font-size:.84rem}.cpm__wish-not-found a,.cpm__wish-link{white-space:normal}.cpm__wish-alert{width:18px;height:18px;flex-basis:18px;font-size:.74rem!important}}

/* ================================================================
   4.9.138 — A Strange Night · Unified Mobile-First Design System
   Presentation only. Dynamic event/request/statistics logic untouched.
   ================================================================ */
:root{
  --cpm-black:#171717;
}

/* Remove Elementor's accidental extra frame around plugin widgets.
   The plugin itself owns the content width and spacing. */
body:has(.cpm) .elementor-section:has(.cpm),
body:has(.cpm) .elementor-container:has(.cpm),
body:has(.cpm) .e-con:has(.cpm),
body:has(.cpm) .e-con-inner:has(.cpm){
  padding-top:0!important;
  padding-bottom:0!important;
}
body:has(.cpm) .elementor-widget:has(.cpm) > .elementor-widget-container{
  margin:0!important;
  padding:0!important;
}

/* Shared plugin page shell */
.cpm,
.cpm-live-stats,
.cpm-music-listen-standalone{
  width:100%!important;
  max-width:980px!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
  background:#fff!important;
}
.cpm{
  padding:28px 20px 70px!important;
}

/* Consistent heading system */
.cpm h1,
.cpm h2,
.cpm h3,
.cpm .cpm__title,
.cpm .cpm-hero h1,
.cpm .cpm__flyer-header h1,
.cpm .cpm__section-title,
.cpm .cpm__latest-heading,
.cpm .cpm-section-heading h2,/* Consistent heading system */
.cpm .cpm__flyer-claim,.cpm .cpm__flyer-header .cpm__flyer-claim{
  color:var(--cpm-black)!important;
  text-transform:none;
}
.cpm h3{line-height:1.2!important}

/* Elementor headings placed next to a Cure widget */
body:has(.cpm) .elementor-widget-heading h1,
body:has(.cpm) .elementor-widget-heading h2,
body:has(.cpm) .elementor-widget-heading h3{
  font-family:var(--cpm-serif)!important;
  color:var(--cpm-black)!important;
  font-weight:400!important;
}
body:has(.cpm) .elementor-widget-heading h1{font-size:34px!important;line-height:1.08!important}
body:has(.cpm) .elementor-widget-heading h2{font-size:25px!important;line-height:1.15!important}
body:has(.cpm) .elementor-widget-heading h3{font-size:21px!important;line-height:1.2!important}

/* Intro / editorial copy */
.cpm p,
.cpm li,
.cpm label,
.cpm input,
.cpm button,
.cpm textarea,
.cpm select{
}
.cpm p{
  font-size:18px!important;
  line-height:1.58!important;
}
.cpm strong{font-weight:750}
.cpm em{font-style:italic}

/* Subtitle */
.cpm .cpm__intro,
.cpm .cpm-intro{
}

/* Header / brand inside the plugin */
.cpm-main-nav{
  width:100%!important;
  max-width:980px!important;
  margin:0 auto!important;
  padding:14px 20px 12px!important;
  box-sizing:border-box!important;
  background:#140808!important;
  color:#fff!important;
  text-align:center!important;
}
.cpm-main-nav__brand{margin:0!important;gap:4px!important;align-items:center!important}
.cpm-main-nav__brand strong{
  font-size:24px!important;
  line-height:1.1!important;
  letter-spacing:.055em!important;
}
.cpm-main-nav__brand span{
  font-family:var(--cpm-sans)!important;
  font-size:14px!important;
  line-height:1.25!important;
  letter-spacing:.02em!important;
  color:#aaa!important;
}

/* Upcoming dates: dynamic output, only styling changes */
.cpm__all-events{
  margin:18px 0 0!important;
  padding:0!important;
}
.cpm__all-events-item{
  margin:0!important;
  padding:15px 0!important;
  border-top:1px solid var(--cpm-line)!important;
  font-size:18px!important;
  line-height:1.45!important;
}
.cpm__all-events-item:last-of-type{border-bottom:1px solid var(--cpm-line)!important}
.cpm__all-events-flyer{
  margin:20px 0 8px!important;
  padding:0!important;
  font-size:18px!important;
}
.cpm__all-events-flyer a{text-decoration:none!important}

/* Generic sections: consistent rhythm */
.cpm__header{margin:0 0 24px!important}
.cpm__section{margin-top:30px!important}
.cpm__latest-wishes{margin:26px 0 28px!important}
.cpm__request{margin-top:28px!important;padding-top:20px!important}

/* Editorial hero */
.cpm-hero{
  padding:0 0 16px!important;
  margin:0 0 22px!important;
  border-bottom:2px solid var(--cpm-black)!important;
}
.cpm-hero h1{margin:0 0 10px!important}
.cpm-hero .cpm-intro{margin:0!important;color:var(--cpm-muted)!important}

/* Latest-wishes headings */
.cpm__section-title,
.cpm__latest-heading{
  margin:0 0 10px!important;
  padding:0 0 10px!important;
}
.cpm__section-title:before,
.cpm__latest-heading:before{display:none!important}

/* Request / wishes controls */
.cpm__search{border:1px solid #999!important;background:#fff!important}
.cpm__input{font-size:17px!important;min-height:52px!important}
.cpm__search-button{border-color:var(--cpm-accent)!important}
.cpm__wish-toolbar{margin-top:18px!important}
.cpm__sort-button{font-size:15px!important;min-height:46px!important}

/* Wish rows: consistent content rhythm */
.cpm__wish,
.cpm__latest-item,
.cpm__top-item{
  border-color:var(--cpm-line)!important;
}
.cpm__wish{padding:14px 0!important}
.cpm__wish-title{line-height:1.25!important}
.cpm__wish-artist{font-size:16px!important}

/* Statistics: same shell, no oversized cards */
.cpm-live-stats--mobile{
  padding:28px 20px 70px!important;
  box-sizing:border-box!important;
}
.cpm-stats-header h1{font-family:var(--cpm-serif)!important;font-size:34px!important;font-weight:400!important;line-height:1.08!important}
.cpm-stats-header p{font-size:18px!important;line-height:1.58!important}
.cpm-stats-filter{margin:18px 0!important}
.cpm-stats-card h2{font-family:var(--cpm-serif)!important;font-weight:400!important;font-size:21px!important}

/* Footer navigation */
.cpm-sticky-navigation__button{color:var(--cpm-accent)!important}
.cpm-sticky-navigation__button.is-active{color:var(--cpm-black)!important}

@media(max-width:767px){
  .cpm{padding:24px 20px 72px!important}
  .cpm h1,.cpm .cpm__title,.cpm .cpm-hero h1,.cpm .cpm__flyer-claim{font-size:32px!important;line-height:1.08!important;}
  .cpm h2,.cpm .cpm__section-title,.cpm .cpm__latest-heading{font-size:25px!important}
  .cpm .cpm__intro,.cpm .cpm-intro{font-size:21px!important}
  .cpm p{font-size:18px!important;line-height:1.55!important}
  .cpm-main-nav{padding:13px 14px 11px!important}
  .cpm-main-nav__brand span{font-size:13px!important}
  .cpm__all-events{margin-top:16px!important}
  .cpm__all-events-item{padding:13px 0!important;font-size:18px!important}
  .cpm__all-events-flyer{margin:18px 0 7px!important;font-size:18px!important}
  .cpm__section{margin-top:26px!important}
  .cpm__latest-wishes{margin:22px 0 24px!important}
  .cpm__wish{padding:13px 0!important}
  .cpm-live-stats--mobile{padding:24px 20px 72px!important}

  /* Remove the old special-case offset; it caused page-to-page top drift. */
  .cpm--request-page{margin-top:0!important}

  /* Compact fixed bottom bar */
  body{padding-bottom:calc(54px + env(safe-area-inset-bottom))!important}
  .cpm-sticky-navigation__button{font-size:10px!important}
  .cpm-sticky-navigation__icon,.cpm-sticky-navigation__icon svg{height:21px!important}
}

@media(max-width:420px){
  .cpm{padding-left:18px!important;padding-right:18px!important}
  .cpm-main-nav{padding-left:12px!important;padding-right:12px!important}
}

@media(min-width:768px){
  .cpm{padding:34px 28px 70px!important}
  .cpm h1,.cpm .cpm__title,.cpm .cpm-hero h1,.cpm .cpm__flyer-claim{font-size:42px!important}
  .cpm h2,.cpm .cpm__section-title,.cpm .cpm__latest-heading{font-size:28px!important}
  .cpm p{font-size:18px!important}
}

/* ================================================================
   4.9.139 — Global page-frame normalization
   Goal: every public Cure page starts on the same vertical grid.
   Presentation only; shortcode/data logic remains untouched.
   ================================================================ */
body.cpm-design-page .elementor-widget:has(.cpm) > .elementor-widget-container,
body.cpm-design-page .elementor-widget:has(.cpm-live-stats) > .elementor-widget-container{
  margin-top:0!important;
  padding-top:0!important;
}
body.cpm-design-page .elementor-element:has(.cpm),
body.cpm-design-page .elementor-element:has(.cpm-live-stats){
  margin-top:0!important;
  padding-top:0!important;
}
body.cpm-design-page .elementor-section:has(.cpm),
body.cpm-design-page .elementor-container:has(.cpm),
body.cpm-design-page .elementor-column:has(.cpm),
body.cpm-design-page .elementor-widget-wrap:has(.cpm),
body.cpm-design-page .e-con:has(.cpm),
body.cpm-design-page .e-con-inner:has(.cpm){
  margin-top:0!important;
  padding-top:0!important;
}
body.cpm-design-page .cpm{
  margin-top:0!important;
}

/* A single content inset is used everywhere. */
.cpm,
.cpm-live-stats,
.cpm-music-listen-standalone{
  --cpm-page-gutter:20px;
}

@media(max-width:767px){
  .cpm,
  .cpm-live-stats--mobile{
    width:100%!important;
    max-width:980px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:var(--cpm-page-gutter)!important;
    padding-right:var(--cpm-page-gutter)!important;
    padding-top:24px!important;
  }

  /* Kill common Elementor spacer/min-height effects only on the
     Cure widget's containing branch, never on the global header. */
  body.cpm-design-page .elementor-widget:has(.cpm) {
    margin-top:0!important;
    margin-bottom:0!important;
  }
  body.cpm-design-page .elementor-widget:has(.cpm) .elementor-widget-container{
    min-height:0!important;
  }

  /* Consistent heading rhythm on every Cure page. */
  .cpm > .cpm-hero,
  .cpm > .cpm__header{
    margin-top:0!important;
  }
  .cpm h1, .cpm .cpm__title, .cpm .cpm-hero h1,.cpm .cpm__flyer-claim{
    margin-top:0!important;
  }
  .cpm h2, .cpm h3, .cpm .cpm__section-title, .cpm .cpm__latest-heading{
    margin-top:0!important;
  }
}

@media(min-width:768px){
  .cpm, .cpm-live-stats--mobile{
    --cpm-page-gutter:28px;
  }
  body.cpm-design-page .elementor-widget:has(.cpm),
  body.cpm-design-page .elementor-widget:has(.cpm-live-stats){
    margin-top:0!important;
    margin-bottom:0!important;
  }
}

/* ================================================================
   4.9.155 — Mobile Event Page: kompakter
   Nur Mobile. Desktop ab 768px bleibt unverändert.
   ================================================================ */
@media (max-width: 767px){
  .cpm-all-events{max-width:100%!important;padding:4px 8px 30px!important}
  .cpm-all-events__intro{padding:0 4px 14px!important;margin-bottom:14px!important}
  .cpm-all-events__intro>span{font-size:10px!important;letter-spacing:.14em!important}
  .cpm-all-events__intro h2{font-size:28px!important;line-height:1.05!important;margin:4px 0 2px!important}
  .cpm-all-events__intro p{font-size:14px!important;line-height:1.35!important}

  /* Poster kleiner, vollständig sichtbar, niemals beschnitten. */
  .cpm-all-events__visual{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:auto!important;min-height:0!important;max-height:430px!important;background:#111!important;overflow:hidden!important}
  .cpm-all-events__image{display:block!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:430px!important;object-fit:contain!important;margin:0 auto!important}

  /* Eventdaten rücken direkt an das verkleinerte Poster. */
  .cpm-all-events__body{padding:12px 14px 14px!important}
  .cpm-all-events__meta{margin:0 0 13px!important}
  .cpm-all-events__date{gap:5px!important}
  .cpm-all-events__date strong{font-size:30px!important;line-height:1!important}
  .cpm-all-events__date small{font-size:14px!important}
  .cpm-all-events__from{font-size:14px!important}
  .cpm-all-events__when{font-size:15px!important}
  .cpm-all-events__content .cpm-all-events__title{font-size:25px!important;line-height:1.08!important;margin:0 0 5px!important}
  .cpm-all-events__subtitle{font-size:14px!important;line-height:1.35!important;margin:0 0 11px!important}
  .cpm-all-events__venue{font-size:14px!important;line-height:1.3!important}
  .cpm-all-events__address{margin-left:27px!important;font-size:12px!important;line-height:1.3!important}
  .cpm-all-events__actions{margin-top:11px!important;gap:7px!important}
  .cpm-all-events__button{min-height:38px!important;padding:7px 11px!important;font-size:12px!important}

  /* Mobile-Bottom-Navigation kompakter. */
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}
  .cpm-sticky-navigation__button{min-height:78px!important;padding:5px 3px!important;gap:2px!important;font-size:10px!important}
  .cpm-sticky-navigation__icon,.cpm-sticky-navigation__icon svg{width:21px!important;height:21px!important}
}
@media (max-width:380px){
  .cpm-all-events__image,.cpm-all-events__visual{max-height:390px!important}
  .cpm-all-events__date strong{font-size:28px!important}
  .cpm-all-events__content .cpm-all-events__title{font-size:24px!important}
}

/* 4.9.156 — Desktop event buttons stay side by side. */
@media (min-width:651px){
  .cpm-all-events__actions{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
  }
  .cpm-all-events__button{
    flex:0 1 auto!important;
    white-space:nowrap!important;
  }
}

/* ================================================================
   4.9.157 — CURE GLOBAL TYPOGRAPHY + POST-PUNK UI SYSTEM
   One typographic scale across all public Cure pages.
   Existing Cure graphics / punk elements remain untouched.
   ================================================================ */
:root{
  --cpm-accent:#b20e0a;
  --cpm-text:#1c1c1c;
  --cpm-secondary:#65676b;
  --cpm-muted:#8a8d91;
  --cpm-line:#d9d9d9;
  --cpm-soft:#f5f6f7;
  --cpm-white:#fff;
  --cpm-serif:"Trajan Pro","Trajan",Georgia,"Times New Roman",serif;
  --cpm-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --cpm-fs-h1:30px;
  --cpm-fs-h2:22px;
  --cpm-fs-h3:18px;
  --cpm-fs-body:16px;
  --cpm-fs-button:15px;
  --cpm-fs-meta:13px;
  --cpm-fs-small:12px;
}

/* Cure owns typography inside its public UI. */
.cpm,
.cpm-live-stats,
.cpm-music-listen-standalone,
.cpm-all-events{
  font-family:var(--cpm-sans)!important;
  color:var(--cpm-text)!important;
  font-size:var(--cpm-fs-body)!important;
  line-height:1.45;
}

/* One heading hierarchy — Trajan only where it creates identity. */
.cpm h1,.cpm .cpm__title,.cpm .cpm-hero h1,.cpm .cpm__flyer-header h1,/* One heading hierarchy — Trajan only where it creates identity. */
.cpm .cpm__flyer-claim,.cpm .cpm__flyer-header .cpm__flyer-claim{
  font-family:var(--cpm-serif)!important;
  font-size:var(--cpm-fs-h1)!important;
  line-height:1.08!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
  color:var(--cpm-text)!important;
  margin:0 0 14px!important;
}
.cpm h2,.cpm .cpm__section-title,.cpm .cpm__latest-heading,.cpm .cpm-section-heading h2{
  font-family:var(--cpm-sans)!important;
  font-size:var(--cpm-fs-h2)!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:-.01em!important;
  color:var(--cpm-text)!important;
}
.cpm h3{font-family:var(--cpm-sans)!important;font-size:var(--cpm-fs-h3)!important;line-height:1.25!important;font-weight:700!important}

/* Cure brand lockup keeps the distinctive serif treatment. */
.cpm-main-nav__brand strong,
.cpm-top-navigation__title strong{
  font-family:var(--cpm-serif)!important;
  color:var(--cpm-text)!important;
  font-weight:700!important;
}

/* Editorial kicker: small, sharp, post-punk rather than oversized. */
.cpm-kicker,
.cpm__eyebrow,
.cpm__section-title,
.cpm__latest-heading,
.cpm-all-events__intro>span{
  font-family:var(--cpm-sans)!important;
  font-size:var(--cpm-fs-small)!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.cpm-kicker{color:var(--cpm-accent)!important;margin:0 0 7px!important}

/* Body / metadata scale. */
.cpm p,.cpm li,.cpm label,.cpm input,.cpm textarea,.cpm select,.cpm button{font-family:var(--cpm-sans)!important}
.cpm .cpm__intro,.cpm .cpm-intro{font-size:var(--cpm-fs-body)!important;line-height:1.5!important;color:var(--cpm-secondary)!important}
.cpm__meta,.cpm__empty,.cpm__release-year,.cpm__wish-meta,.cpm__latest-meta,.cpm__top-meta{font-size:var(--cpm-fs-meta)!important}
.cpm__wish-requester,.cpm__wish-note,.cpm__top-requester,.cpm__top-note,.cpm__song-dna{font-size:var(--cpm-fs-small)!important}

/* Song/card hierarchy. */
.cpm__release-title,.cpm__wish-title,.cpm__latest-main strong,.cpm__top-title{
  font-size:var(--cpm-fs-h3)!important;
  line-height:1.25!important;
  font-weight:700!important;
}
.cpm__wish-artist,.cpm__latest-artist,.cpm__top-artist,.cpm__track-name{font-size:var(--cpm-fs-body)!important;line-height:1.35!important}

/* Buttons and controls share one readable app size. */
.cpm button,
.cpm input[type="submit"],
.cpm input[type="button"],
.cpm .button,
.cpm__tracks,
.cpm__choose,
.cpm__spotify,
.cpm-all-events__button{
  font-size:var(--cpm-fs-button)!important;
  line-height:1.2!important;
  font-weight:600!important;
}
.cpm input,.cpm textarea,.cpm select{font-size:var(--cpm-fs-body)!important}
.cpm__request-form label,.cpm__artist-label{font-size:var(--cpm-fs-small)!important;line-height:1.25!important;font-weight:700!important}

/* Unified accent: red is an editorial signal, not a fill-everything colour. */
.cpm a,.cpm .cpm__wish-link{color:var(--cpm-accent)!important}
.cpm a:hover,.cpm a:focus-visible{color:#780000!important}
.cpm .is-active,.cpm .cpm-main-nav__link.is-active{color:var(--cpm-accent)!important}
.cpm button,.cpm .cpm__choose,.cpm .cpm__tracks{border-color:var(--cpm-text)!important}
.cpm button:hover,.cpm .cpm__choose:hover,.cpm .cpm__tracks:hover{border-color:var(--cpm-accent)!important}

/* Post-punk visual language: rules, hard edges and restrained contrast. */
.cpm__section,.cpm__request{position:relative}
.cpm__section-title,.cpm__latest-heading{border-bottom:1px solid var(--cpm-text)!important;padding-bottom:8px!important}
.cpm__request{border-top:1px solid var(--cpm-text)!important}
.cpm__release,.cpm__track,.cpm__wish-item,.cpm__top-item{border-color:var(--cpm-line)!important}
.cpm__release:hover,.cpm__wish-item:hover,.cpm__top-item:hover{background:var(--cpm-soft)!important}
.cpm__wish-not-found{border-left-color:var(--cpm-accent)!important}

/* Navigation: readable like a social app, visually Cure. */
.cpm-main-nav__link,.cpm-sticky-navigation__button{font-family:var(--cpm-sans)!important;font-weight:600!important}
.cpm-main-nav__link{font-size:var(--cpm-fs-button)!important;letter-spacing:.04em!important}
.cpm-sticky-navigation__label,.cpm-sticky-navigation__label-short{font-size:var(--cpm-fs-small)!important;font-weight:600!important}

/* Keep existing Cure/punk artwork intact; constrain it instead of recolouring it. */
.cpm img{max-width:100%}
.cpm .cpm-header-graphic,.cpm .cpm-public-header-graphic,.cpm .cpm-punk,.cpm [class*="punk"]{max-width:100%}

@media(max-width:767px){
  :root{
    --cpm-fs-h1:28px;
    --cpm-fs-h2:20px;
    --cpm-fs-h3:17px;
    --cpm-fs-body:16px;
    --cpm-fs-button:15px;
    --cpm-fs-meta:13px;
    --cpm-fs-small:12px;
  }
  .cpm h1,.cpm .cpm__title,.cpm .cpm-hero h1,.cpm .cpm__flyer-header h1,.cpm .cpm__flyer-claim,.cpm .cpm__flyer-header .cpm__flyer-claim{margin-bottom:12px!important}
  .cpm__wish-title,.cpm__release-title,.cpm__latest-main strong,.cpm__top-title{font-size:var(--cpm-fs-h3)!important}
  .cpm-main-nav__brand strong{font-size:22px!important}
  .cpm-main-nav__link{font-size:var(--cpm-fs-small)!important;letter-spacing:.035em!important}
}

@media(max-width:380px){
  :root{--cpm-fs-h1:27px;--cpm-fs-h2:20px;--cpm-fs-h3:17px}
  .cpm-main-nav__brand strong{font-size:20px!important}
}

/* 4.9.159 — Mobile bottom navigation: final safe layout. */
@media(max-width:767px){
  body{padding-bottom:calc(94px + env(safe-area-inset-bottom))!important}
  .cpm-sticky-navigation{left:14px!important;right:14px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;width:auto!important;height:auto!important;min-height:0!important;padding:5px!important;border-radius:26px!important;background:#b20e0a!important;overflow:hidden!important;box-shadow:0 8px 24px rgba(0,0,0,.20)!important}
  .cpm-sticky-navigation__inner{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important}
  .cpm-sticky-navigation__button{min-height:68px!important;padding:7px 2px!important;gap:5px!important;border-radius:20px!important;background:transparent!important;color:#fff!important;font-size:11px!important;letter-spacing:0!important;text-transform:none!important}
  .cpm-sticky-navigation__button.is-active{background:rgba(255,255,255,.16)!important;color:#fff!important}
  .cpm-sticky-navigation__icon,.cpm-sticky-navigation__icon svg{width:24px!important;height:24px!important;flex-basis:24px!important}
  .cpm-sticky-navigation__label{display:none!important}.cpm-sticky-navigation__label-short{display:inline-block!important}
}
@media(max-width:359px){
  .cpm-sticky-navigation{left:8px!important;right:8px!important;bottom:calc(7px + env(safe-area-inset-bottom))!important;border-radius:23px!important;padding:4px!important}
  .cpm-sticky-navigation__button{min-height:64px!important;font-size:10px!important;padding:6px 1px!important;border-radius:18px!important}
  .cpm-sticky-navigation__icon,.cpm-sticky-navigation__icon svg{width:22px!important;height:22px!important;flex-basis:22px!important}
}

/* v4.9.163 — Sticky zeigt dauerhaft nur den aktuellen Lesefortschritt. */
.cpm__wish-reading-info{display:none!important}
.cpm__wish-reading-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
@media(max-width:600px){.cpm__wish-reading{top:8px;padding:9px 10px}.cpm__wish-reading-head{gap:8px}.cpm__wish-reading-count{font-size:14px}.cpm__wish-reading-reset{font-size:11px}}

/* v4.9.164 — Mobile Bottom-Navigation: Wrapper transparent, Leiste sitzt sauber im Viewport. */
@media(max-width:767px){
  .cpm-sticky-navigation-wrap{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    margin:0!important;
    pointer-events:none!important;
  }
  .cpm-sticky-navigation-wrap .cpm-sticky-navigation{
    position:fixed!important;
    left:14px!important;
    right:14px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box!important;
    pointer-events:auto!important;
  }
}
@media(max-width:359px){
  .cpm-sticky-navigation-wrap .cpm-sticky-navigation{
    left:8px!important;
    right:8px!important;
    bottom:calc(7px + env(safe-area-inset-bottom))!important;
  }
}

/* v4.9.164 — Lesefortschritt: stabil am oberen Viewport-Rand. */
.cpm__wish-reading{
  top:0!important;
  margin-top:8px!important;
  z-index:100!important;
}
@media(max-width:767px){
  .cpm__wish-reading{
    top:0!important;
    margin-top:6px!important;
  }
}

/* v4.9.165 — Lesefortschritt: echtes Sticky-Verhalten unterhalb eines fixierten Seiten-Headers. */
.cpm__wish-reading-placeholder{}
.cpm__wish-reading.is-cpm-fixed{
  position:fixed!important;
  top:var(--cpm-reading-top,0px)!important;
  left:var(--cpm-reading-left,14px)!important;
  width:var(--cpm-reading-width,calc(100vw - 28px))!important;
  margin:0!important;
  box-sizing:border-box!important;
  z-index:2147483000!important;
  transform:none!important;
  contain:none!important;
}
.cpm__wish-reading.is-cpm-fixed + .cpm__wish-reading-placeholder{display:block}



/* v4.9.167 — Mobile navigation wrapper darf keinerlei rote Fläche hinterlassen. */
@media(max-width:767px){
  .cpm-sticky-navigation-wrap{
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    overflow:visible!important;
  }
  .cpm-sticky-navigation-wrap::before,
  .cpm-sticky-navigation-wrap::after{
    display:none!important;
    content:none!important;
  }
}

/* v4.9.169 — Mobile: keine rote Fläche hinter der Bottom-Navigation.
   Die rote Fläche gehört ausschließlich zur eigentlichen Navigation. */
@media(max-width:767px){
  html,body{
    background:#fff!important;
  }
  body .cpm-sticky-navigation-wrap{
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
  }
  body .cpm-sticky-navigation-wrap:not(:has(.cpm-sticky-navigation)){
    display:none!important;
  }
}

/* v4.9.170 — Lesefortschritt: deckender weisser Sticky-Hintergrund.
   Der Inhalt darf beim Fixieren nicht unter der Leiste durchscheinen. */
.cpm__wish-reading.is-cpm-fixed{
  background:#fff!important;
  background-color:#fff!important;
  box-shadow:0 1px 0 rgba(0,0,0,.12), 0 6px 16px rgba(0,0,0,.06)!important;
}

/* v4.9.170 — Platzhalter bleibt sichtbar, damit beim Umschalten auf fixed
   kein Layout-Sprung entsteht. */
.cpm__wish-reading-placeholder{
  display:block!important;
  height:var(--cpm-reading-placeholder-height,0px);
  margin:0 0 10px!important;
  padding:0!important;
  visibility:hidden!important;
}


/* ================================================================
   v4.9.181 — Mobile Bottom-Navigation: Hören in die Mitte
   Reihenfolge: Wunsch · Wünsche · Hören · Termine · Push
   Die zentrale Bottom-Navigation bleibt die einzige mobile Footer-Navigation.
   ================================================================ */
@media (max-width: 767px){
  /* Die alte/zusätzliche öffentliche Top-Navigation darf auf Mobile
     nicht parallel zur App-Bottom-Navigation erscheinen. */
  body .cpm-top-navigation{
    display:none!important;
  }

  body .cpm-sticky-navigation{
    display:block!important;
  }

  .cpm-sticky-navigation__inner{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:2px!important;
  }

  /* 3 = Termine, 4 = Hören → Hören wird Element 3 (Mitte). */
  .cpm-sticky-navigation__button:nth-child(3){order:4!important;}
  .cpm-sticky-navigation__button:nth-child(4){order:3!important;}

  .cpm-sticky-navigation__button{
    min-width:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .cpm-sticky-navigation__label,
  .cpm-sticky-navigation__label-short{
    white-space:nowrap!important;
  }
}

/* Auf Desktop/Tablet keine mobile Bottom-Navigation. */
@media (min-width:768px){
  body .cpm-sticky-navigation-wrap,
  body .cpm-sticky-navigation{
    display:none!important;
  }
}

/* v5.0.2 — Auf Wunsch- und Mixtape-Wunsch-Seite nur die große H1 ausblenden.
   Der vorhandene Intro-Text, nächste Termin und alle weiteren Inhalte bleiben erhalten. */
.cpm--wishes-page .cpm-hero h1,
.cpm--request-page .cpm-hero h1{
  display:none!important;
}

/* ================================================================
   v5.0.4 — Einheitlicher Button-Stil im "Teilen"-Look.
   Alle Aktions-Buttons (Suche/Absenden, Sortieren, Termine, Sheet-
   Bestätigen) bekommen denselben schlichten Look: keine Füllung,
   dünne rote Kontur + roter Text, bei Hover/Fokus wird Rot zu
   Schwarz. Bewusst NICHT angefasst: die untere App-Navigation
   (eigene Navigations-Sprache, kein Aktions-Button), der runde
   Music-FAB (Icon-Button, keine Textfläche) sowie Sheet-„Abbrechen"
   und Sheet-„Löschen" (eigene, bewusst andere Bedeutung: neutral
   bzw. destruktiv – rot->schwarz würde hier die falsche Bedeutung
   signalisieren).
   ================================================================ */
.cpm__search-button,
.cpm__submit,
.cpm__sort-button,
.cpm__wish-sort-menu button,
.cpm-all-events__button,
.cpm-sheet__btn--confirm,
.cpm button:not(.cpm-sticky-navigation__button):not(.cpm-sheet__btn--cancel):not(.cpm-sheet__btn--danger),
.cpm input[type="submit"],
.cpm input[type="button"],
.cpm .button{
  background:transparent!important;
  border:1.5px solid var(--cpm-accent)!important;
  color:var(--cpm-accent)!important;
  border-radius:2px!important;
  box-shadow:none!important;
  transition:color .15s ease,border-color .15s ease,background-color .15s ease!important;
}
.cpm__search-button:hover,.cpm__search-button:focus-visible,
.cpm__submit:hover,.cpm__submit:focus-visible,
.cpm__sort-button:hover,.cpm__sort-button:focus-visible,
.cpm__wish-sort-menu button:hover,.cpm__wish-sort-menu button:focus-visible,
.cpm-all-events__button:hover,.cpm-all-events__button:focus-visible,
.cpm-sheet__btn--confirm:hover,.cpm-sheet__btn--confirm:focus-visible,
.cpm button:not(.cpm-sticky-navigation__button):not(.cpm-sheet__btn--cancel):not(.cpm-sheet__btn--danger):hover,
.cpm button:not(.cpm-sticky-navigation__button):not(.cpm-sheet__btn--cancel):not(.cpm-sheet__btn--danger):focus-visible,
.cpm input[type="submit"]:hover,.cpm input[type="submit"]:focus-visible,
.cpm input[type="button"]:hover,.cpm input[type="button"]:focus-visible,
.cpm .button:hover,.cpm .button:focus-visible{
  background:transparent!important;
  border-color:var(--cpm-black,#111)!important;
  color:var(--cpm-black,#111)!important;
}
/* Aktiv ausgewählter Zustand (z.B. gewählter Sortier-Button) bleibt
   klar erkennbar von reinem Hover unterschieden: volle Schwarz-Füllung. */
.cpm__sort-button.is-active,
.cpm__wish-sort-menu button[aria-selected="true"]{
  background:var(--cpm-black,#111)!important;
  border-color:var(--cpm-black,#111)!important;
  color:#fff!important;
}
.cpm button:disabled,.cpm input[type="submit"]:disabled,.cpm input[type="button"]:disabled{
  opacity:.5!important;
  border-color:var(--cpm-line,#d7d7d7)!important;
  color:var(--cpm-muted,#666)!important;
}

/* 5.0.26 */
.cpm-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.cpm__flyer-claim{display:block;font-weight:700}

/* 5.0.27 — H1 auf Wuensche-/Eingabeseite sichtbar als kleine rote Kopfzeile (war display:none) */
html body .cpm--wishes-page .cpm-hero h1,html body .cpm--request-page .cpm-hero h1{display:block!important;margin:0 0 10px!important;padding:0!important;font:800 13px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:#b20e0a!important}
html body .cpm--wishes-page .cpm-hero h1 .cpm-sr-only,html body .cpm--request-page .cpm-hero h1 .cpm-sr-only{position:static!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important}
/* 5.0.27 — Suchhinweis lesbarer */
html body .cpm .cpm__search-hint{font-size:13px!important;color:#5c5c63!important}
/* 5.0.27 — Teilen-Hinweis nach dem Absenden */
.cpm__share-cta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 0 16px;padding:12px 14px;border:1.5px solid #b20e0a;border-radius:2px;background:#fff}
.cpm__share-cta strong{flex:1 1 100%;font-size:15px;color:#1c1c1c}
.cpm__share-cta span{flex:1 1 220px;font-size:14px;color:#65676b}
.cpm .cpm__share-btn{flex:0 0 auto;min-height:40px;padding:0 16px;border:0;border-radius:2px;background:#b20e0a;color:#fff!important;font:700 13px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.cpm .cpm__share-btn:hover,.cpm .cpm__share-btn:focus-visible{background:#171717}

/* =====================================================================
   5.0.29 — Up/Down-Voting, „Unterm Strich“, Band-DNA als Text-Links
   Bewusst eigene Klassen (cpm__votes / cpm__vote-btn / cpm__score), damit
   die vielen alten .cpm__vote-Regeln nicht mitspielen.
   ===================================================================== */
.cpm .cpm__votes:not(#cpm-x){display:inline-flex!important;align-items:center!important;gap:4px!important;flex:0 0 auto!important}
.cpm .cpm__vote-btn:not(#cpm-x){box-sizing:border-box!important;width:44px!important;height:40px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:1.5px solid #b20e0a!important;border-radius:0!important;box-shadow:none!important;color:#b20e0a!important;font:inherit!important;line-height:1!important;cursor:pointer!important;transition:background-color .15s ease,color .15s ease,border-color .15s ease!important;-webkit-tap-highlight-color:transparent!important}
.cpm .cpm__vote-btn svg:not(#cpm-x){display:block!important;width:13px!important;height:11px!important}
/* 5.0.34: Variante A „Ruhig“ – grauer Rahmen, gewählt färben sich nur Rahmen + Pfeil (keine Füllung) */
.cpm .cpm__vote-btn--up:not(#cpm-x),.cpm .cpm__vote-btn--down:not(#cpm-x){background:transparent!important;border-color:#d0d0d0!important;color:#777!important}
.cpm .cpm__vote-btn--up:hover:not(:disabled):not(#cpm-x),.cpm .cpm__vote-btn--down:hover:not(:disabled):not(#cpm-x){background:transparent!important;border-color:#111!important;color:#111!important}
.cpm .cpm__vote-btn--up.is-active:not(#cpm-x),.cpm .cpm__vote-btn--up.is-active:hover:not(#cpm-x){background:transparent!important;border-color:#b20e0a!important;color:#b20e0a!important}
.cpm .cpm__vote-btn--down.is-active:not(#cpm-x),.cpm .cpm__vote-btn--down.is-active:hover:not(#cpm-x){background:transparent!important;border-color:#111!important;color:#111!important}
.cpm .cpm__vote-btn:active:not(:disabled):not(#cpm-x){transform:translateY(1px)!important}
.cpm .cpm__vote-btn:focus-visible:not(#cpm-x){outline:2px solid #b20e0a!important;outline-offset:2px!important}
.cpm .cpm__vote-btn:disabled:not(#cpm-x){cursor:default!important}
.cpm .cpm__vote-btn:disabled:not(.is-active):not(#cpm-x){opacity:.4!important}
.cpm .cpm__score:not(#cpm-x){display:inline-block!important;min-width:38px!important;text-align:center!important;font-size:17px!important;font-weight:800!important;line-height:1!important;font-variant-numeric:tabular-nums!important;color:#777!important}
.cpm .cpm__score.is-plus:not(#cpm-x){color:#111!important}
.cpm .cpm__score.is-minus:not(#cpm-x){color:#b20e0a!important}
.cpm .cpm__votes--static:not(#cpm-x){display:inline-flex!important;align-items:center!important;min-height:32px!important}

/* Unterm Strich */
.cpm .cpm__wish.is-below .cpm__wish-cover:not(#cpm-x),.cpm .cpm__wish.is-below .cpm__wish-main:not(#cpm-x){opacity:.5!important}
.cpm .cpm__wish.is-below .cpm__wish-cover img:not(#cpm-x){filter:grayscale(1)!important}
.cpm .cpm__below-line:not(#cpm-x){margin:26px 0 4px!important;text-align:center!important}
.cpm .cpm__below-line-rule:not(#cpm-x){display:flex!important;align-items:center!important;gap:12px!important}
.cpm .cpm__below-line-rule:not(#cpm-x)::before,.cpm .cpm__below-line-rule:not(#cpm-x)::after{content:""!important;flex:1!important;border-top:2px dashed #b20e0a!important}
.cpm .cpm__below-line-rule span:not(#cpm-x){font-size:11px!important;font-weight:800!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:#b20e0a!important;white-space:nowrap!important}
.cpm .cpm__below-line p:not(#cpm-x){margin:6px 0 0!important;font-size:12px!important;line-height:1.45!important;color:#6b6b6b!important}

/* Band-/Song-DNA: dezente Text-Links statt Kästen (Filter-Funktion bleibt) */
.cpm .cpm__band-dna-line:not(#cpm-x){align-items:baseline!important;column-gap:6px!important;row-gap:0!important;flex-wrap:wrap!important}
.cpm .cpm__band-dna-line .cpm__band-dna-label:not(#cpm-x){color:#6b6b6b!important}
.cpm .cpm__band-dna-line .cpm__band-dna-chip:not(#cpm-x),.cpm .cpm__band-dna-line .cpm__band-dna-chip:hover:not(#cpm-x),.cpm .cpm__band-dna-line .cpm__band-dna-chip:focus:not(#cpm-x),.cpm .cpm__band-dna-line .cpm__band-dna-chip[data-band-dna].is-active:not(#cpm-x),.cpm .cpm__band-dna-line .cpm__band-dna-chip[data-band-dna][aria-pressed="true"]:not(#cpm-x){display:inline!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;font-size:13px!important;font-weight:500!important;line-height:1.5!important;letter-spacing:0!important;text-transform:none!important;color:#b20e0a!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-decoration-color:rgba(178,14,10,.3)!important;text-underline-offset:3px!important;cursor:pointer!important}
.cpm .cpm__band-dna-line .cpm__band-dna-chip--static:not(#cpm-x){cursor:default!important}
.cpm .cpm__band-dna-line .cpm__band-dna-chip:hover:not(#cpm-x),.cpm .cpm__band-dna-line .cpm__band-dna-chip:focus-visible:not(#cpm-x){color:#111!important;text-decoration-color:currentColor!important}
.cpm .cpm__band-dna-line .cpm__band-dna-chip[data-band-dna].is-active:not(#cpm-x),.cpm .cpm__band-dna-line .cpm__band-dna-chip[data-band-dna][aria-pressed="true"]:not(#cpm-x){font-weight:800!important;text-decoration-color:currentColor!important}
.cpm .cpm__band-dna-line .cpm__band-dna-chip:not(:last-child):not(#cpm-x)::after{content:"·"!important;display:inline-block!important;margin-left:6px!important;color:#999!important;font-weight:400!important;text-decoration:none!important}
.cpm .cpm__band-dna-line .cpm__band-dna-check:not(#cpm-x){margin-right:3px!important}

@media(max-width:600px){
  .cpm .cpm__vote-btn:not(#cpm-x){width:38px!important;height:34px!important}
  .cpm .cpm__score:not(#cpm-x){min-width:32px!important;font-size:15px!important}
  .cpm .cpm__band-dna-line .cpm__band-dna-chip:not(#cpm-x),.cpm .cpm__band-dna-line .cpm__band-dna-chip:hover:not(#cpm-x),.cpm .cpm__band-dna-line .cpm__band-dna-chip[data-band-dna].is-active:not(#cpm-x){font-size:12px!important}
  .cpm .cpm__below-line:not(#cpm-x){margin-top:20px!important}
}
