*{box-sizing:border-box}
:root{
  --card-w:220px;
  --bg:#080a0f;
  --city:#ed1c24;
  --brs:#19a7e0;
  --text:#fff;
  --muted:#8e96a4;
  --glow-color: rgba(237,28,36,.22);
  --glow-color-2: rgba(25,167,224,.16);
  --glow-x: 50%;
  --glow-opacity: .9;
}
html,body{margin:0;min-height:100%;background:var(--bg);font-family:Arial,Helvetica,sans-serif;color:var(--text)}
body{
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 15% 25%,rgba(237,28,36,.13),transparent 32%),
    radial-gradient(circle at 85% 70%,rgba(25,167,224,.14),transparent 34%),
    #080a0f;
}
body::before,
body::after{
  content:"";
  position:fixed;
  inset:auto;
  pointer-events:none;
  z-index:0;
  border-radius:50%;
  filter:blur(50px);
  transition:background .45s ease, transform .55s ease, opacity .45s ease;
}
body::before{
  width:380px;
  height:380px;
  left:calc(var(--glow-x) - 190px);
  top:24%;
  background:var(--glow-color);
  opacity:var(--glow-opacity);
}
body::after{
  width:300px;
  height:300px;
  right:8%;
  bottom:8%;
  background:var(--glow-color-2);
  opacity:.45;
}
.page{position:relative;z-index:1;width:100%;overflow:hidden;padding:30px 0 26px}
.head{text-align:center;padding:0 20px 22px}
.brand-topbar{
  width:min(760px,calc(100% - 40px));
  margin:0 auto;
  padding:16px 18px 18px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.04));
  box-shadow:0 24px 70px rgba(0,0,0,.28);
  backdrop-filter:blur(16px);
  position:relative;
  overflow:hidden;
}
.brand-topbar::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
}
.brand-topbar::after{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  right:-120px;
  top:-120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.12),transparent 70%);
  pointer-events:none;
}
.brand-kicker{
  margin:0 0 12px;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#8f99a8;
  font-weight:800;
}
.logos{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:0;
  flex-wrap:nowrap
}
.logo-panel{
  flex:1 1 0;
  height:112px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 18px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 14px 34px rgba(0,0,0,.14);
  backdrop-filter:blur(12px);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.logo-panel.city{
  background:linear-gradient(180deg,#ffffff 0%,#eff3f7 100%);
}
.logo-panel.brs{
  background:linear-gradient(180deg,#ffffff 0%,#eef6fb 100%);
}
.logo-panel:hover{
  transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42), 0 16px 38px rgba(0,0,0,.17);
  border-color:rgba(255,255,255,.2);
}
.logo-panel.city img{
  width:auto;
  height:92px;
  max-width:100%;
  object-fit:contain
}
.logo-panel.brs img{
  width:100%;
  max-width:220px;
  height:auto;
  max-height:62px;
  object-fit:contain
}
.cross{
  position:relative;
  flex:0 0 46px;
  width:46px;
  height:82px;
  font-size:0;
}
.cross::before{
  content:"";
  position:absolute;
  left:50%;
  top:8px;
  transform:translateX(-50%);
  width:1px;
  height:66px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.45),transparent);
}
.cross::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--city),var(--brs));
  box-shadow:0 0 18px rgba(255,255,255,.18);
}
.head p{margin:13px 0 0;color:var(--muted);font-size:12px;letter-spacing:.02em}


.live-player{
  width:min(760px,calc(100% - 40px));
  margin:0 auto 18px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  padding:12px 14px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.035));
  box-shadow:0 18px 52px rgba(0,0,0,.22);
  backdrop-filter:blur(16px);
  position:relative;
  overflow:hidden;
}
.live-player::before{
  content:"";
  position:absolute;
  left:-60px;
  top:-85px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(237,28,36,.16);
  filter:blur(28px);
  pointer-events:none;
}
.player-logo{
  position:relative;
  z-index:1;
  width:58px;
  height:58px;
  flex:0 0 58px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#fff;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.16);
}
.player-logo img{
  width:auto;
  height:50px;
  max-width:53px;
  object-fit:contain;
}
.player-copy{
  position:relative;
  z-index:1;
  min-width:0;
  flex:1 1 auto;
  text-align:left;
}
.player-meta{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:4px;
}
.live-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(237,28,36,.12);
  color:#ff6970;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}
.live-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#ff353d;
  box-shadow:0 0 12px rgba(255,53,61,.8);
  animation:livePulse 1.4s ease-in-out infinite;
}
@keyframes livePulse{
  0%,100%{opacity:.55;transform:scale(.9)}
  50%{opacity:1;transform:scale(1.18)}
}
.player-copy strong{
  display:block;
  color:#fff;
  font-size:15px;
  letter-spacing:-.025em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.player-copy small{
  display:block;
  margin-top:3px;
  color:#7f8998;
  font-size:11px;
}
.eq{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  width:28px;
  height:28px;
}
.eq span{
  width:3px;
  height:7px;
  border-radius:999px;
  background:linear-gradient(180deg,#ff555b,var(--city));
  transform-origin:center bottom;
  animation:eq 1s ease-in-out infinite;
  animation-play-state:paused;
  opacity:.65;
}
.live-player.is-playing .eq span{animation-play-state:running;opacity:1}
.eq span:nth-child(2){animation-delay:-.32s}
.eq span:nth-child(3){animation-delay:-.58s}
.eq span:nth-child(4){animation-delay:-.18s}
@keyframes eq{
  0%,100%{height:6px}
  30%{height:20px}
  60%{height:11px}
}
.player-controls{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:10px;
}
.play-btn{
  width:44px;
  height:44px;
  flex:0 0 44px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(135deg,#ff3b43,#c80d14);
  box-shadow:0 10px 28px rgba(237,28,36,.28);
  transition:transform .18s ease,box-shadow .18s ease;
}
.play-btn:hover{transform:scale(1.05);box-shadow:0 14px 34px rgba(237,28,36,.35)}
.play-btn:active{transform:scale(.97)}
.play-btn svg{width:18px;height:18px;fill:currentColor}
.volume-wrap{
  display:flex;
  align-items:center;
  gap:7px;
  color:#707a88;
}
.volume-wrap svg{width:17px;height:17px;fill:currentColor}
.volume{
  appearance:none;
  -webkit-appearance:none;
  width:78px;
  height:4px;
  border-radius:999px;
  background:#303744;
  outline:none;
}
.volume::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:13px;
  height:13px;
  border-radius:50%;
  background:#fff;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.3);
}
.volume::-moz-range-thumb{
  width:13px;
  height:13px;
  border:0;
  border-radius:50%;
  background:#fff;
  cursor:pointer;
}
.player-status{
  margin-top:4px;
  color:#697382;
  font-size:10px;
}
.live-player.has-error .player-status{color:#ff7b80}

.carousel{
  position:relative;
  width:100%;
  margin-top:12px;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%);
  cursor:grab;
  touch-action:pan-y;
}
.carousel.dragging{cursor:grabbing}
.track{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center;
  gap:14px;
  width:max-content;
  padding:28px 14px 24px;
  will-change:transform;
  transform:translate3d(0,0,0);
}
.card{
  flex:0 0 220px;
  width:220px;
  height:250px;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#fff;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(145deg,#151922,#0f1218);
  box-shadow:0 18px 45px rgba(0,0,0,.25);
  opacity:var(--opacity,.64);
  filter:saturate(var(--sat,.82)) blur(var(--blur,0px));
  transform:perspective(1200px) rotateY(var(--tilt,0deg)) scale(var(--scale,.91)) translateY(var(--lift,0px));
  transform-style:preserve-3d;
  transition:opacity .18s linear,box-shadow .22s linear,border-color .22s linear,filter .18s linear;
}
.card::after{
  content:"";position:absolute;width:180px;height:180px;border-radius:50%;
  left:-65px;bottom:-85px;filter:blur(35px);opacity:.22;z-index:0
}
.card.city::after{background:var(--city)}
.card.brs::after{background:var(--brs)}
.card>*{position:relative;z-index:1}
.brand{
  position:absolute;top:18px;left:14px;right:14px;text-align:center;
  font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#717a88
}
.icon{
  width:58px;height:58px;border-radius:17px;display:grid;place-items:center;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);
  margin-bottom:16px
}
.icon svg{width:28px;height:28px;fill:currentColor}
.city .icon{color:var(--city)}
.brs .icon{color:var(--brs)}
.name{
  font-size:22px;
  font-weight:900;
  letter-spacing:-.045em;
  text-align:center;
  line-height:1.02;
  max-width:176px;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center
}
.card.long-title .name{
  font-size:18px;
  line-height:1.04;
  max-width:170px
}
.handle{
  margin-top:7px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#8993a1;font-size:10px;text-align:center
}
.card.is-center{
  border-color:rgba(255,255,255,.28);
  box-shadow:0 28px 76px rgba(0,0,0,.42);
}
.card.is-center .icon{
  box-shadow:0 0 36px rgba(255,255,255,.06);
  animation:pulseIcon 2.8s ease-in-out infinite;
}
@keyframes pulseIcon{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.035)}
}

.status{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:14px;min-height:22px;color:#cad3df;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.status-line{width:38px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--city),var(--brs));opacity:.85}
.status-brand{color:#7f8998;font-weight:700}
.hint{text-align:center;color:#59616d;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:10px}
.arrows{display:flex;justify-content:center;gap:8px;margin-top:14px}
.arrow{
  width:35px;height:35px;border-radius:50%;border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);color:#fff;font-size:20px;cursor:pointer
}
.arrow:hover{background:rgba(255,255,255,.09)}
.card:focus-visible,
.play-btn:focus-visible,
.arrow:focus-visible{
  outline:2px solid rgba(255,255,255,.88);
  outline-offset:4px;
}


@media(max-width:650px){
  :root{--card-w:185px}
  .brand-topbar{
    width:min(100% - 20px,760px);
    padding:12px 12px 14px;
    border-radius:22px
  }
  .brand-kicker{margin-bottom:10px;font-size:9px}
  .logos{gap:0}
  .logo-panel{
    height:82px;
    padding:10px 10px;
    border-radius:16px
  }
  .logo-panel.city img{height:66px}
  .logo-panel.brs img{max-width:150px;max-height:42px}
  .cross{flex-basis:26px;width:26px;height:64px}
  .cross::before{height:48px}
  .cross::after{width:7px;height:7px}

  .live-player{
    width:min(100% - 20px,760px);
    padding:10px 11px;
    gap:9px;
    border-radius:18px;
  }
  .player-logo{width:52px;height:52px;flex-basis:52px;border-radius:13px}
  .player-logo img{height:44px;max-width:47px}
  .player-copy strong{font-size:14px}
  .player-copy small{font-size:10px}
  .eq{display:none}
  .play-btn{width:42px;height:42px;flex-basis:42px}
  .volume-wrap{display:none}
  body{overflow:auto}
  .page{padding-top:18px;padding-bottom:22px}
  .head{padding-bottom:15px}
  .carousel{margin-top:8px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 3%,#000 97%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 3%,#000 97%,transparent 100%)}
  .track{gap:10px;padding-top:24px}
  .card{flex-basis:185px;width:185px;height:220px;border-radius:19px}
  .icon{width:52px;height:52px;border-radius:15px}
  .icon svg{width:25px;height:25px}
  .name{font-size:19px;min-height:38px}
  .card.long-title .name{font-size:16px;max-width:146px}
  .status{font-size:10px;gap:7px;flex-wrap:wrap;padding:0 18px}
  .status-line{width:22px}
}

@media (prefers-reduced-motion: reduce){
  .eq span,.live-dot,.card.is-center .icon{animation:none!important}
  .card,.logo-panel,.play-btn{transition:none!important}
}



/* V20 – Now Playing + aktuelle BRS-Meldungen */
body{overflow-x:hidden;overflow-y:auto}
.now-playing{
  margin-top:6px;
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  color:#d8e0ea;
  font-size:11px;
  font-weight:700;
}
.now-playing-label{
  flex:0 0 auto;
  color:#788393;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.now-playing-title{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#f5f7fa;
}
.news-strip{
  position:relative;
  z-index:1;
  width:100%;
  margin:2px 0 0;
  min-height:48px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:12px 2px 0;
  border-top:1px solid rgba(255,255,255,.07);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  overflow:hidden;
}
.news-strip-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#9da7b5;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
}
.news-strip-label::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--brs);
  box-shadow:0 0 12px rgba(25,167,224,.55);
}
.news-current{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  color:#f5f8fb;
  text-decoration:none;
  transition:opacity .28s ease,transform .28s ease;
}
.news-current.is-changing{opacity:0;transform:translateY(4px)}
.news-current-title{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
  font-weight:760;
}
.news-current-time{
  flex:0 0 auto;
  color:#697585;
  font-size:9px;
  font-weight:700;
  white-space:nowrap;
}
.news-open{
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.03);
  color:#aeb8c5;
  border-radius:12px;
  padding:9px 11px;
  font:inherit;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
  white-space:nowrap;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.news-open:hover{background:rgba(25,167,224,.08);color:#fff;border-color:rgba(25,167,224,.16)}

.channel-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(3,5,8,.74);
  backdrop-filter:blur(16px);
}
.channel-modal.is-open{display:flex}
.channel-dialog{
  width:min(520px,100%);
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(180deg,rgba(23,28,37,.98),rgba(12,16,22,.98));
  box-shadow:0 38px 110px rgba(0,0,0,.52);
  position:relative;
}
.channel-dialog::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:var(--channel-accent,var(--brs));
}
.channel-dialog-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 20px 12px;
}
.channel-dialog-brand{
  display:flex;
  align-items:center;
  gap:8px;
  color:#8994a5;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.channel-dialog-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--channel-accent,var(--brs));
  box-shadow:0 0 16px var(--channel-accent,var(--brs));
}
.channel-close{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.channel-dialog-body{padding:8px 22px 22px;text-align:center}
.channel-modal-icon{
  width:76px;
  height:76px;
  margin:4px auto 18px;
  display:grid;
  place-items:center;
  border-radius:22px;
  color:var(--channel-accent,var(--brs));
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 18px 44px rgba(0,0,0,.20);
}
.channel-modal-icon svg{width:36px;height:36px;fill:currentColor}
.channel-modal-name{
  margin:0;
  color:#fff;
  font-size:30px;
  line-height:1.02;
  font-weight:900;
  letter-spacing:-.05em;
}
.channel-modal-handle{
  margin-top:8px;
  color:#8f9aaa;
  font-size:12px;
  font-weight:700;
}
.channel-modal-description{
  margin:18px auto 0;
  max-width:410px;
  color:#c3ccd7;
  font-size:14px;
  line-height:1.58;
}
.channel-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:20px;
}
.channel-stat{
  min-height:64px;
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  text-align:left;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.075);
  background:rgba(255,255,255,.035);
}
.channel-stat-label{
  color:#6f7b8b;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.channel-stat-value{
  margin-top:5px;
  max-width:100%;
  color:#f4f7fa;
  font-size:13px;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.channel-stat-audience[hidden]{display:none}
.channel-open-btn{
  width:100%;
  min-height:52px;
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:16px;
  text-decoration:none;
  color:#fff;
  font-size:14px;
  font-weight:900;
  background:var(--channel-accent,var(--brs));
  box-shadow:0 14px 34px color-mix(in srgb,var(--channel-accent,var(--brs)) 28%,transparent);
  transition:transform .18s ease,filter .18s ease;
}
.channel-open-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.channel-open-btn span{opacity:.72;font-size:16px}
@media(max-width:650px){
  .channel-modal{padding:10px;align-items:flex-end}
  .channel-dialog{border-radius:24px 24px 18px 18px}
  .channel-dialog-body{padding:4px 16px 18px}
  .channel-modal-icon{width:66px;height:66px;border-radius:19px;margin-bottom:15px}
  .channel-modal-icon svg{width:31px;height:31px}
  .channel-modal-name{font-size:26px}
  .channel-modal-description{font-size:13px;line-height:1.5}
  .channel-stats{grid-template-columns:1fr}
}

.news-modal{
  position:fixed;
  inset:0;
  z-index:100;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(3,5,8,.66);
  backdrop-filter:blur(13px);
}
.news-modal.is-open{display:flex}
.news-dialog{
  width:min(680px,100%);
  max-height:min(76vh,720px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,#151a22,#0d1117);
  box-shadow:0 34px 100px rgba(0,0,0,.50);
}
.news-dialog-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 18px 15px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.news-dialog-title-wrap{display:flex;align-items:center;gap:10px}
.news-dialog-dot{width:9px;height:9px;border-radius:50%;background:var(--brs);box-shadow:0 0 16px rgba(25,167,224,.6)}
.news-dialog-title{font-size:14px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.news-close{
  width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);color:#fff;font-size:19px;cursor:pointer
}
.news-close:hover{background:rgba(255,255,255,.08)}
.news-modal-list{padding:10px;overflow:auto;display:grid;gap:7px}
.news-modal-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:13px 14px;
  border-radius:15px;
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,.025);
  border:1px solid transparent;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.news-modal-item:hover{transform:translateX(3px);background:rgba(25,167,224,.065);border-color:rgba(25,167,224,.14)}
.news-modal-item-title{font-size:13px;font-weight:760;line-height:1.3}
.news-modal-item-time{color:#727e8e;font-size:10px;font-weight:700;white-space:nowrap}
.news-dialog-foot{
  display:flex;
  justify-content:flex-end;
  padding:12px 16px 15px;
  border-top:1px solid rgba(255,255,255,.07);
}
.news-dialog-all{color:#9eabb9;text-decoration:none;font-size:10px;font-weight:850}
.news-dialog-all:hover{color:#fff}
.news-empty{padding:22px 14px;color:#7f8997;font-size:12px;text-align:center}
@media(max-width:650px){
  .news-strip{
    width:calc(100% - 20px);
    grid-template-columns:auto minmax(0,1fr);
    gap:8px 10px;
    margin-top:18px;
    padding:10px 11px;
    border-radius:16px
  }
  .news-strip-label{font-size:8px}
  .news-current{grid-column:1 / -1;grid-row:2}
  .news-current-title{font-size:11px}
  .news-current-time{display:none}
  .news-open{grid-column:2;grid-row:1;justify-self:end;padding:7px 9px;font-size:9px}
  .news-modal{padding:10px;align-items:flex-end}
  .news-dialog{max-height:82vh;border-radius:22px 22px 16px 16px}
  .news-dialog-head{padding:15px}
  .news-dialog-title{font-size:12px}
  .news-modal-item{grid-template-columns:1fr;gap:5px;padding:12px}
  .news-modal-item-title{font-size:12px}
  .news-modal-item-time{font-size:9px}
  .now-playing{font-size:10px}
}



@media(max-width:650px){
  /* Mobile player: fixed 3-column top row so the play button can no longer
     squeeze or distort the text block. The feed stays a full-width second row. */
  .live-player{
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 40px;
    align-items:center;
    column-gap:9px;
    row-gap:9px;
    padding:10px 11px 11px;
    overflow:hidden;
  }

  .player-logo{
    width:48px;
    height:48px;
    flex:none;
    border-radius:12px;
  }
  .player-logo img{
    height:41px;
    max-width:44px;
  }

  .player-copy{
    min-width:0;
    width:100%;
  }
  .player-copy strong{
    font-size:13px;
    line-height:1.15;
  }
  .player-copy small{
    margin-top:2px;
    font-size:9px;
  }
  .player-meta{
    margin-bottom:3px;
  }
  .live-pill{
    padding:3px 6px;
    font-size:8px;
  }
  .now-playing{
    margin-top:5px;
    min-width:0;
    font-size:10px;
  }
  .now-playing-label{
    font-size:8px;
  }

  /* On phones the play button gets its own fixed grid cell. */
  .player-controls{
    justify-self:end;
    align-self:center;
    display:block;
    width:40px;
  }
  .play-btn{
    width:40px;
    height:40px;
    min-width:40px;
    min-height:40px;
    flex:none;
  }
  .play-btn svg{
    width:17px;
    height:17px;
  }
  .volume-wrap{
    display:none;
  }
  .player-status{
    display:none;
  }
  #radioStream{
    display:none;
  }

  /* RSS is part of the same box, not another mobile card. */
  .live-player > .news-strip{
    grid-column:1 / -1;
    width:100%;
    min-height:0;
    margin:1px 0 0;
    padding:10px 0 0;
    border:0;
    border-top:1px solid rgba(255,255,255,.07);
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-rows:auto;
    gap:8px;
  }
  .live-player > .news-strip .news-current{
    grid-column:2;
    grid-row:1;
    min-width:0;
  }
  .live-player > .news-strip .news-current-title{
    font-size:10px;
  }
  .live-player > .news-strip .news-current-time{
    display:none;
  }
  .live-player > .news-strip .news-open{
    grid-column:3;
    grid-row:1;
    justify-self:end;
    padding:6px 8px;
    font-size:8px;
  }
}

@media(max-width:390px){
  .live-player{
    grid-template-columns:44px minmax(0,1fr) 38px;
    column-gap:8px;
    padding-left:9px;
    padding-right:9px;
  }
  .player-logo{
    width:44px;
    height:44px;
  }
  .player-logo img{
    height:38px;
    max-width:41px;
  }
  .player-copy strong{
    font-size:12px;
  }
  .player-copy small{
    font-size:8px;
  }
  .play-btn{
    width:38px;
    height:38px;
    min-width:38px;
    min-height:38px;
  }
  .player-controls{
    width:38px;
  }
  .live-player > .news-strip{
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:6px;
  }
  .news-strip-label{
    font-size:7px;
  }
  .live-player > .news-strip .news-current-title{
    font-size:9px;
  }
}


/* V28 – QR / Share / Click feedback / Immobilien badge */
.brand-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.brand-topline .brand-kicker{margin:0}
.hub-actions{
  display:flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
}
.hub-action{
  height:32px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.055);
  color:#c7d0db;
  font:inherit;
  font-size:9px;
  font-weight:850;
  letter-spacing:.04em;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.hub-action:hover{
  color:#fff;
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.17);
  transform:translateY(-1px);
}
.hub-action svg{width:14px;height:14px;fill:currentColor}
.hub-action:focus-visible,
.qr-close:focus-visible,
.qr-copy:focus-visible{
  outline:2px solid rgba(255,255,255,.9);
  outline-offset:3px;
}

.card-badge,
.channel-modal-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.07);
  color:#dce3eb;
  font-size:8px;
  line-height:1;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.card-badge{
  min-height:21px;
  margin-top:6px;
  padding:0 8px;
}
.card.has-badge .handle{margin-top:6px}
.channel-modal-badge{
  width:max-content;
  min-height:24px;
  margin:9px auto 0;
  padding:0 10px;
}
.channel-modal-badge[hidden]{display:none}

.card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.23),rgba(255,255,255,.06) 34%,transparent 66%);
}
.card.tap-feedback::before{
  animation:cardTapFlash .28s ease-out;
}
.card.tap-feedback{
  border-color:rgba(255,255,255,.42);
  box-shadow:0 30px 82px rgba(0,0,0,.48),inset 0 0 0 1px rgba(255,255,255,.08);
}
.card.tap-feedback .icon{
  filter:brightness(1.18);
}
@keyframes cardTapFlash{
  0%{opacity:0}
  25%{opacity:1}
  100%{opacity:0}
}

.qr-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(3,5,8,.76);
  backdrop-filter:blur(9px);
}
.qr-modal.is-open{display:flex}
.qr-dialog{
  width:min(390px,100%);
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,#171b23,#0e1117);
  box-shadow:0 30px 100px rgba(0,0,0,.52);
}
.qr-dialog-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.qr-kicker{
  color:#6f7b8a;
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.qr-title{
  margin-top:3px;
  color:#fff;
  font-size:19px;
  font-weight:900;
  letter-spacing:-.035em;
}
.qr-close{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:22px;
  cursor:pointer;
}
.qr-code-wrap{
  width:282px;
  max-width:100%;
  aspect-ratio:1;
  margin:18px auto 12px;
  padding:11px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 50px rgba(0,0,0,.24);
}
.qr-code-wrap img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}
.qr-url{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:center;
  color:#7f8a99;
  font-size:10px;
}
.qr-copy{
  width:100%;
  min-height:45px;
  margin-top:13px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(255,255,255,.06);
  color:#fff;
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.qr-copy:hover{background:rgba(255,255,255,.10)}

.share-toast{
  position:fixed;
  left:50%;
  bottom:24px;
  z-index:1500;
  transform:translate(-50%,18px);
  opacity:0;
  pointer-events:none;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(15,18,24,.92);
  color:#fff;
  box-shadow:0 14px 40px rgba(0,0,0,.34);
  backdrop-filter:blur(12px);
  font-size:10px;
  font-weight:850;
  transition:opacity .2s ease,transform .2s ease;
}
.share-toast.show{
  opacity:1;
  transform:translate(-50%,0);
}

@media(max-width:650px){
  .brand-topline{gap:8px;margin-bottom:10px}
  .brand-topline .brand-kicker{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    margin:0;
  }
  .hub-actions{gap:5px}
  .hub-action{
    width:32px;
    padding:0;
  }
  .hub-action span{display:none}
  .hub-action svg{width:15px;height:15px}
  .card-badge{font-size:7px;min-height:19px;padding:0 7px;margin-top:5px}
  .qr-modal{padding:10px;align-items:flex-end}
  .qr-dialog{border-radius:24px 24px 18px 18px;padding:16px}
  .qr-code-wrap{width:250px}
}

@media (prefers-reduced-motion: reduce){
  .card.tap-feedback::before{animation:none!important}
  .hub-action,.share-toast{transition:none!important}
}


/* V29 – QR-Code je Kanal im Kanal-Infofenster */
.channel-qr-block{
  width:100%;
  margin:15px 0 2px;
  padding:10px 11px 10px 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-radius:17px;
  border:1px solid rgba(255,255,255,.075);
  background:rgba(255,255,255,.032);
}
.channel-qr-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
  text-align:left;
}
.channel-qr-copy span{
  color:#f3f6f9;
  font-size:11px;
  font-weight:900;
  letter-spacing:.02em;
}
.channel-qr-copy small{
  color:#6f7a89;
  font-size:9px;
  line-height:1.35;
  font-weight:700;
}
.channel-qr-wrap{
  width:82px;
  height:82px;
  flex:0 0 82px;
  display:grid;
  place-items:center;
  padding:5px;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.channel-qr-wrap img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
@media(max-width:650px){
  .channel-qr-block{
    margin-top:12px;
    padding:9px 10px 9px 11px;
    gap:10px;
  }
  .channel-qr-wrap{
    width:72px;
    height:72px;
    flex-basis:72px;
  }
  .channel-qr-copy span{font-size:10px}
  .channel-qr-copy small{font-size:8px}
}


/* V30 – Copy actions, fresh-news badge and legal mini overlay */
.card-badge{
  position:relative;
}
.card.brs .card-badge{
  border-color:rgba(25,167,224,.22);
  background:rgba(25,167,224,.09);
  color:#8edcff;
}
.card.city .card-badge{
  border-color:rgba(237,28,36,.18);
}
.card.has-badge .card-badge{
  animation:badgeSoftIn .35s ease both;
}
@keyframes badgeSoftIn{
  from{opacity:0;transform:translateY(3px)}
  to{opacity:1;transform:none}
}

.channel-action-row{
  width:100%;
  margin-top:12px;
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
}
.channel-action-row:has(.channel-phone-btn:not([hidden])){
  grid-template-columns:1fr 1fr;
}
.channel-copy-btn{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.085);
  background:rgba(255,255,255,.042);
  color:#bec8d4;
  font:inherit;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.channel-copy-btn:hover{
  color:#fff;
  background:rgba(255,255,255,.075);
  border-color:rgba(255,255,255,.14);
  transform:translateY(-1px);
}
.channel-copy-btn svg{
  width:14px;
  height:14px;
  fill:currentColor;
}
.channel-copy-btn.is-copied{
  color:#fff;
  border-color:color-mix(in srgb,var(--channel-accent) 38%,transparent);
  background:color-mix(in srgb,var(--channel-accent) 12%,transparent);
}

.legal-modal{
  position:fixed;
  inset:0;
  z-index:1250;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(3,5,8,.76);
  backdrop-filter:blur(9px);
}
.legal-modal.is-open{display:flex}
.legal-dialog{
  width:min(390px,100%);
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,#171b23,#0e1117);
  box-shadow:0 30px 100px rgba(0,0,0,.52);
}
.legal-dialog-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.legal-kicker{
  color:#6f7b8a;
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.legal-title{
  margin-top:3px;
  color:#fff;
  font-size:19px;
  font-weight:900;
  letter-spacing:-.035em;
}
.legal-close{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.legal-copy{
  margin:17px 0 12px;
  color:#8994a3;
  font-size:11px;
  line-height:1.5;
}
.legal-links{
  display:grid;
  gap:7px;
}
.legal-links a{
  min-height:45px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 13px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.075);
  background:rgba(255,255,255,.035);
  color:#e9edf2;
  text-decoration:none;
  font-size:11px;
  font-weight:850;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.legal-links a:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.065);
  border-color:rgba(255,255,255,.13);
}
.legal-links a span{
  color:#687484;
  font-size:14px;
}
.legal-mini-footer{
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.065);
  color:#586270;
  text-align:center;
  font-size:8px;
  font-weight:750;
  letter-spacing:.04em;
}
.hub-info-action{
  width:32px;
  padding:0;
}
.hub-info-action span{display:none}

@media(max-width:650px){
  .channel-action-row,
  .channel-action-row:has(.channel-phone-btn:not([hidden])){
    grid-template-columns:1fr;
  }
  .channel-copy-btn{
    min-height:40px;
    font-size:9px;
  }
  .legal-modal{
    padding:10px;
    align-items:flex-end;
  }
  .legal-dialog{
    padding:16px;
    border-radius:24px 24px 18px 18px;
  }
}


/* V31 – Nummer kopieren nur bei WhatsApp Nachricht */
.channel-phone-btn[hidden]{
  display:none !important;
}


/* V32 – Smart Deep Links / Zuletzt geöffnet / dynamisches BRS-NEU */
.card.last-opened-return{
  animation:lastOpenedReturn .55s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes lastOpenedReturn{
  0%{filter:brightness(1)}
  45%{filter:brightness(1.18)}
  100%{filter:brightness(1)}
}
@media (prefers-reduced-motion: reduce){
  .card.last-opened-return{animation:none!important}
}


/* V34 – Style Polish: ruhiger, kompakter, hochwertiger */

/* Header-Actions optisch zurücknehmen */
.hub-actions{
  gap:5px;
}
.hub-action{
  height:29px;
  padding:0 8px;
  border-color:rgba(255,255,255,.075);
  background:rgba(255,255,255,.035);
  color:#9ba6b4;
  font-size:8px;
  box-shadow:none;
}
.hub-action svg{
  width:13px;
  height:13px;
}
.hub-action:hover{
  color:#e8edf2;
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.11);
  transform:none;
}
.hub-info-action{
  width:29px;
}

/* Carousel: Mitte hochwertiger, Außenkarten etwas ruhiger */
.card{
  transition:
    transform .26s cubic-bezier(.2,.8,.2,1),
    opacity .26s ease,
    filter .26s ease,
    border-color .26s ease,
    box-shadow .26s ease;
}
.card:not(.is-center){
  filter:saturate(.92) brightness(.96);
}
.card.is-center{
  box-shadow:
    0 30px 78px rgba(0,0,0,.46),
    0 0 0 1px rgba(255,255,255,.055) inset;
}
.card.is-center.city{
  box-shadow:
    0 32px 84px rgba(0,0,0,.48),
    0 10px 36px rgba(237,28,36,.11),
    0 0 0 1px rgba(255,255,255,.06) inset;
}
.card.is-center.brs{
  box-shadow:
    0 32px 84px rgba(0,0,0,.48),
    0 10px 36px rgba(25,167,224,.11),
    0 0 0 1px rgba(255,255,255,.06) inset;
}

/* Radio + RSS optisch stärker zu einem Modul verschmelzen */
.live-player{
  box-shadow:0 18px 46px rgba(0,0,0,.20);
}
.live-player > .news-strip{
  border-top-color:rgba(255,255,255,.045);
  padding-top:10px;
}
.news-strip-label{
  font-size:8px;
  letter-spacing:.16em;
  color:#778291;
}
.news-strip-label::before{
  width:6px;
  height:6px;
  box-shadow:0 0 9px rgba(25,167,224,.38);
}
.news-open{
  padding:7px 9px;
  font-size:9px;
  color:#8d98a6;
  background:rgba(255,255,255,.022);
  border-color:rgba(255,255,255,.055);
}
.news-open:hover{
  background:rgba(25,167,224,.055);
  border-color:rgba(25,167,224,.11);
}

/* Kanal-Overlay kompakter */
.channel-dialog-body{
  padding-top:15px;
}
.channel-modal-description{
  margin-top:10px;
  margin-bottom:0;
  line-height:1.48;
}
.channel-qr-block{
  margin:12px 0 0;
  padding:8px 9px 8px 11px;
  min-height:68px;
}
.channel-qr-copy{
  gap:2px;
}
.channel-qr-copy span{
  font-size:10px;
}
.channel-qr-copy small{
  font-size:8px;
}
.channel-qr-wrap{
  width:66px;
  height:66px;
  flex-basis:66px;
  padding:4px;
  border-radius:10px;
}
.channel-stats{
  margin-top:10px;
}
.channel-action-row{
  margin-top:9px;
  gap:6px;
}
.channel-copy-btn{
  min-height:38px;
  font-size:9px;
}
.channel-open-btn{
  min-height:44px;
  margin-top:8px;
}

/* NEU ist ein Status; IMMOBILIEN bleibt eine Kategorie */
.card-badge,
.channel-modal-badge{
  animation:none !important;
}

.card[data-badge="Neu"] .card-badge,
.channel-modal-badge.status-new{
  border:0;
  background:transparent;
  color:#77d5ff;
  padding:0;
  min-height:auto;
  gap:5px;
  letter-spacing:.12em;
}
.card[data-badge="Neu"] .card-badge::before,
.channel-modal-badge.status-new::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:#25b8f2;
  box-shadow:0 0 10px rgba(37,184,242,.62);
}
.card[data-badge="Neu"] .card-badge{
  margin-top:6px;
  display:inline-flex;
  align-items:center;
}
.card[data-badge="Immobilien"] .card-badge,
.channel-modal-badge.status-category{
  border-color:rgba(237,28,36,.16);
  background:rgba(237,28,36,.055);
  color:#d8dde4;
}

@media(max-width:650px){
  .hub-action{
    width:29px;
    height:29px;
    padding:0;
  }
  .hub-info-action{
    width:29px;
  }
  .live-player > .news-strip{
    padding-top:9px;
  }
  .news-strip-label{
    font-size:7px;
  }
  .channel-dialog-body{
    padding-top:13px;
  }
  .channel-qr-block{
    margin-top:10px;
    padding:7px 8px 7px 9px;
  }
  .channel-qr-wrap{
    width:62px;
    height:62px;
    flex-basis:62px;
  }
  .channel-copy-btn{
    min-height:37px;
  }
}


/* V36 – Hybrid: Desktop Carousel / Mobile Linktree */
.mobile-linktree{
  display:none;
}

@media(max-width:650px){
  .head > p{
    display:none;
  }

  /* Auf Mobile keine horizontale Bedienlogik mehr anzeigen */
  .carousel,
  .status,
  .hint,
  .arrows{
    display:none !important;
  }

  .mobile-linktree{
    width:min(100% - 20px,560px);
    margin:14px auto 28px;
    display:block;
  }

  .mobile-linktree-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin:0 3px 12px;
  }
  .mobile-linktree-head > span{
    color:#f4f7fa;
    font-size:16px;
    font-weight:900;
    letter-spacing:-.03em;
  }
  .mobile-linktree-head > small{
    color:#687484;
    font-size:8px;
    font-weight:700;
    text-align:right;
    line-height:1.35;
  }

  .mobile-brand-group + .mobile-brand-group{
    margin-top:18px;
  }

  .mobile-brand-title{
    min-height:24px;
    margin:0 4px 7px;
    display:flex;
    align-items:center;
    gap:7px;
    color:#7e8998;
    font-size:8px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .mobile-brand-dot{
    width:6px;
    height:6px;
    flex:0 0 6px;
    border-radius:50%;
  }
  .city-group .mobile-brand-dot{
    background:#ed1c24;
    box-shadow:0 0 10px rgba(237,28,36,.42);
  }
  .brs-group .mobile-brand-dot{
    background:#19a7e0;
    box-shadow:0 0 10px rgba(25,167,224,.42);
  }

  .mobile-link-list{
    display:grid;
    gap:8px;
  }

  /* Reset der Desktop-Card-Optik für die Mobile-Linktree-Zeilen */
  .mobile-link.card{
    --scale:1 !important;
    --opacity:1 !important;
    --lift:0px !important;
    --tilt:0deg !important;
    --sat:1 !important;
    --blur:0px !important;

    position:relative;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto;
    min-height:64px;
    margin:0;
    padding:9px 11px;
    display:grid;
    grid-template-columns:46px minmax(0,1fr) auto 22px;
    align-items:center;
    gap:10px;
    overflow:hidden;

    transform:none !important;
    opacity:1 !important;
    filter:none !important;
    white-space:normal;
    text-align:left;
    text-decoration:none;

    border-radius:17px;
    border:1px solid rgba(255,255,255,.075);
    background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.026));
    box-shadow:0 10px 28px rgba(0,0,0,.13);
    backdrop-filter:blur(12px);

    transition:
      transform .16s ease,
      border-color .16s ease,
      background .16s ease,
      box-shadow .16s ease;
  }

  .mobile-link.card::after{
    content:"";
    position:absolute;
    left:0;
    top:10px;
    bottom:10px;
    width:2px;
    border-radius:999px;
    opacity:.75;
  }
  .mobile-link.city::after{
    background:#ed1c24;
    box-shadow:0 0 12px rgba(237,28,36,.32);
  }
  .mobile-link.brs::after{
    background:#19a7e0;
    box-shadow:0 0 12px rgba(25,167,224,.32);
  }

  .mobile-link.card:active{
    transform:scale(.985) !important;
    background:rgba(255,255,255,.07);
  }

  .mobile-link-icon{
    width:46px;
    height:46px;
    margin:0 !important;
    display:grid;
    place-items:center;
    border-radius:13px;
    color:#fff;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.065);
  }
  .mobile-link.city .mobile-link-icon{
    background:rgba(237,28,36,.075);
  }
  .mobile-link.brs .mobile-link-icon{
    background:rgba(25,167,224,.075);
  }
  .mobile-link-icon svg{
    width:22px !important;
    height:22px !important;
    max-width:22px;
    max-height:22px;
  }

  .mobile-link-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
  }
  .mobile-link-name{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#f6f8fa;
    font-size:13px;
    line-height:1.15;
    font-weight:880;
    letter-spacing:-.015em;
  }
  .mobile-link-handle{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#6f7a88;
    font-size:9px;
    line-height:1.2;
    font-weight:680;
  }

  .mobile-link-badge{
    margin:0 !important;
    justify-self:end;
    flex:0 0 auto;
    white-space:nowrap;
  }

  .mobile-link[data-badge="Neu"] .mobile-link-badge{
    display:inline-flex;
    align-items:center;
    color:#77d5ff;
  }

  .mobile-link-arrow{
    justify-self:end;
    color:#596473;
    font-size:25px;
    line-height:1;
    font-weight:300;
    transform:translateY(-1px);
  }

  .mobile-link.is-last-opened{
    border-color:rgba(255,255,255,.12);
    background:linear-gradient(180deg,rgba(255,255,255,.072),rgba(255,255,255,.035));
  }
  .mobile-link.is-last-opened .mobile-link-copy::after{
    content:"Zuletzt geöffnet";
    margin-top:2px;
    color:#596574;
    font-size:7px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
}

@media(max-width:380px){
  .mobile-linktree{
    width:calc(100% - 14px);
  }
  .mobile-linktree-head > small{
    display:none;
  }
  .mobile-link.card{
    min-height:60px;
    padding:8px 9px;
    grid-template-columns:42px minmax(0,1fr) auto 18px;
    gap:8px;
    border-radius:15px;
  }
  .mobile-link-icon{
    width:42px;
    height:42px;
    border-radius:12px;
  }
  .mobile-link-icon svg{
    width:20px !important;
    height:20px !important;
  }
  .mobile-link-name{
    font-size:12px;
  }
  .mobile-link-handle{
    font-size:8px;
  }
  .mobile-link-arrow{
    font-size:22px;
  }
}



/* V37 – In-App-Hinweis + PWA/Homescreen */
.install-action[hidden]{
  display:none !important;
}

.channel-app-hint{
  width:100%;
  margin-top:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:#697585;
  font-size:8px;
  font-weight:750;
  line-height:1.35;
  text-align:center;
}
.channel-app-hint[hidden]{
  display:none !important;
}
.channel-app-hint svg{
  width:12px;
  height:12px;
  flex:0 0 12px;
  fill:currentColor;
}
.channel-app-hint strong{
  color:#8f9ba9;
}

.install-modal{
  position:fixed;
  inset:0;
  z-index:1280;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(3,5,8,.78);
  backdrop-filter:blur(10px);
}
.install-modal.is-open{
  display:flex;
}
.install-dialog{
  width:min(400px,100%);
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 92% 8%,rgba(25,167,224,.10),transparent 28%),
    radial-gradient(circle at 8% 92%,rgba(237,28,36,.08),transparent 30%),
    linear-gradient(180deg,#171b23,#0e1117);
  box-shadow:0 30px 100px rgba(0,0,0,.54);
}
.install-dialog-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.install-kicker{
  color:#6f7b8a;
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.install-title{
  margin-top:3px;
  color:#fff;
  font-size:19px;
  font-weight:900;
  letter-spacing:-.035em;
}
.install-close{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.install-app-preview{
  margin:16px 0 14px;
  padding:10px;
  display:flex;
  align-items:center;
  gap:11px;
  border-radius:17px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.032);
}
.install-app-preview img{
  width:58px;
  height:58px;
  flex:0 0 58px;
  border-radius:14px;
  box-shadow:0 10px 28px rgba(0,0,0,.28);
}
.install-app-preview div{
  min-width:0;
}
.install-app-preview strong{
  display:block;
  color:#f5f7fa;
  font-size:12px;
  font-weight:900;
}
.install-app-preview small{
  display:block;
  margin-top:3px;
  color:#737f8e;
  font-size:9px;
  line-height:1.4;
}
.install-guide{
  padding:13px 14px;
  border-radius:15px;
  background:rgba(255,255,255,.035);
  color:#a2adba;
  font-size:10px;
  line-height:1.6;
}
.install-guide strong{
  color:#fff;
}
.install-guide .install-step{
  display:flex;
  gap:9px;
  align-items:flex-start;
}
.install-guide .install-step + .install-step{
  margin-top:8px;
}
.install-step-num{
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.065);
  color:#fff;
  font-size:8px;
  font-weight:900;
}
.install-copy-url{
  width:100%;
  min-height:42px;
  margin-top:10px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:13px;
  background:rgba(255,255,255,.035);
  color:#bcc6d2;
  font:inherit;
  font-size:9px;
  font-weight:850;
  cursor:pointer;
}
.install-copy-url:hover{
  background:rgba(255,255,255,.065);
  color:#fff;
}

@media(min-width:651px){
  .channel-app-hint{
    display:none !important;
  }
}

@media(max-width:650px){
  .install-action{
    width:29px;
    height:29px;
    padding:0;
  }
  .install-action span{
    display:none;
  }
  .install-modal{
    padding:10px;
    align-items:flex-end;
  }
  .install-dialog{
    padding:16px;
    border-radius:24px 24px 18px 18px;
  }
  .channel-app-hint{
    margin-top:7px;
    font-size:7.5px;
  }
}

