*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#2b0753,#080d22 50%,#07040e);color:#f5f4ff;font:16px system-ui,Arial,sans-serif}a{color:#7edbff}header{background:linear-gradient(90deg,#070e24,#4b083b,#090c28);border-bottom:3px solid #fc1967}.mast{min-height:185px;display:flex;align-items:center;justify-content:space-around;text-align:center;text-shadow:0 0 20px #fa155d}.mast h1{font-size:clamp(32px,6vw,72px);margin:0;color:#fff}.mast em{color:#ff2b70}.mast p{letter-spacing:.18em}.heart{font-size:70px;color:#ff2265;text-shadow:0 0 35px #ff175c}nav,.adminnav{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;background:#071a32;padding:12px}nav a,.adminnav a{color:white;text-decoration:none;padding:8px;border:1px solid #164a72;border-radius:6px}.wrap{max-width:1500px;margin:20px auto;padding:0 14px}.layout{display:grid;grid-template-columns:minmax(210px,1fr) minmax(0,3fr) minmax(210px,1fr);gap:14px}.panel{background:linear-gradient(145deg,#091d37,#0c0925);border:1px solid #e21c65;box-shadow:0 0 14px #bd126555;border-radius:9px;padding:15px;margin-bottom:15px;overflow:hidden}.panel h2,.panel h3{margin-top:0;border-bottom:1px solid #165d9c;padding-bottom:9px}.panel h3{color:#ff8ab6}.hero{min-height:200px;text-align:center;display:grid;place-items:center}.hero img{width:100%;max-height:400px;object-fit:cover;border-radius:6px}.hero h2{color:#ff82b6}article{border-bottom:1px solid #26415b;padding:10px 0}article h3{color:#78dcff}input,textarea,select,button{width:100%;padding:11px;margin:6px 0;border:1px solid #356d9d;border-radius:5px;background:#07162b;color:white;font:inherit}textarea{min-height:90px}button{background:linear-gradient(#ff377a,#a90046);cursor:pointer;border-color:#f45b9d;font-weight:700}audio{max-width:100%;width:100%}.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.thumb{width:140px;max-height:150px;object-fit:cover;border-radius:8px}table{width:100%;border-collapse:collapse}td,th{padding:8px;border:1px solid #26465e;text-align:left}.inline{display:flex;gap:12px;align-items:center;border-bottom:1px solid #29445d;padding:5px;flex-wrap:wrap}.inline input[type=checkbox]{width:auto}.inline button,.inline select{width:auto}.marquee{overflow:hidden;white-space:nowrap}.marquee>div{display:inline-flex;gap:25px;align-items:center;animation:move 22s linear infinite}.marquee img{height:45px;vertical-align:middle}@keyframes move{from{transform:translateX(100%)}to{transform:translateX(-100%)}}footer{text-align:center;padding:24px;border-top:2px solid #e21c65;background:#080e25}@media(max-width:850px){.layout{grid-template-columns:1fr}.cols{grid-template-columns:1fr}.mast{min-height:130px}.heart{font-size:35px}}
/* Radio Herzbeat visual refresh – original supplied mockup */
body{background:linear-gradient(90deg,#13031b99,#02091ed9 16%,#030b1cdd 84%,#16051ba8),url('herzbeat_footer.jpg') center top/cover fixed;color:#f4f6ff}
.radio-header{height:clamp(180px,26vw,340px);background:#080a1a url('herzbeat_header.jpg') center/cover no-repeat;border-bottom:2px solid #fb2c73;box-shadow:0 0 22px #ff1e6a99}
.radio-header .mast{height:100%;min-height:0}.sr-only{position:absolute;clip:rect(0,0,0,0);height:1px;width:1px;overflow:hidden}
nav{max-width:1540px;margin:auto;border:1px solid #277fbd;box-shadow:0 0 16px #e82272aa;border-radius:8px;background:linear-gradient(#092340,#030b20);gap:2px;padding:8px}
nav a{border:0;text-transform:uppercase;font-size:12px;font-weight:700;padding:9px 11px}nav a:hover{background:#c81256;border-radius:4px}
.wrap{max-width:1540px;margin:12px auto}.layout{grid-template-columns:minmax(215px,1.03fr) minmax(0,3fr) minmax(215px,1.03fr);gap:10px}
.panel{background:linear-gradient(145deg,#05162ceF,#03081af5);border:1px solid #b21a65;box-shadow:inset 0 1px #3a95b655,0 0 9px #fa156b44;padding:12px;margin-bottom:10px;border-radius:7px}
.panel h2,.panel h3{background:linear-gradient(90deg,#091e37,#050d1f);border-bottom:1px solid #2476aa;margin:-12px -12px 12px;padding:11px 13px;font-size:17px;color:#fff;text-transform:uppercase}
.panel h2:before,.panel h3:before{content:'♡ ';color:#ff2268;text-shadow:0 0 9px #ff2268}
.hero{display:block;min-height:0}.hero .slide{position:relative}.hero img{width:100%;height:auto;max-height:360px;aspect-ratio:3.5/1;object-fit:cover;border-radius:5px}.hero h2{display:none}
article h3{background:none!important;border:0!important;margin:0!important;padding:6px 0!important;color:#54d9ff!important;text-transform:none!important}
button{background:linear-gradient(#ff3b7b,#b80047);box-shadow:0 0 8px #ff246655}a:hover{color:#ff73b3}
footer{background:#060a1a url('herzbeat_footer.jpg') center/cover;border-top:2px solid #f22975;text-shadow:0 0 9px #f62977}
@media(max-width:850px){.layout{grid-template-columns:1fr}.radio-header{height:180px;background-size:cover}}

/* Radio Herzbeat Update 2.0: responsive mockup-inspired three-column homepage */
html{overflow-x:hidden}body{background:radial-gradient(ellipse at 50% 5%,#1e174b 0%,#050a19 58%,#080316 100%);font-size:14px}
.radio-header{height:auto!important;aspect-ratio:1600/545;background-image:url('herzbeat_header_v2.jpg')!important;background-size:100% 100%!important;background-position:center center!important;max-height:545px;min-height:0!important}
.radio-header .mast{min-height:0!important}
nav{max-width:1600px;width:calc(100% - 20px);position:relative;z-index:2;margin:-1px auto 8px!important;padding:5px 7px!important;gap:1px!important}
nav a{font-size:clamp(10px,.78vw,13px);padding:9px 8px!important;white-space:nowrap}
.wrap{max-width:1600px!important;width:calc(100% - 20px);margin:0 auto!important;padding:0!important}
.layout{display:grid;grid-template-columns:minmax(185px,23fr) minmax(0,54fr) minmax(185px,23fr);gap:10px;align-items:start}
.panel{padding:10px!important;margin-bottom:10px!important;border-color:#d42b75!important;border-radius:6px;background:linear-gradient(150deg,#06172ded,#040918f5)!important;box-shadow:0 0 10px #e8196644,inset 0 1px #2b80af55!important}
.panel h2,.panel h3{margin:-10px -10px 10px!important;padding:9px 11px!important;font-size:clamp(12px,1vw,16px)!important;color:#f5f7ff!important;border-bottom:1px solid #2875a8!important}
.hero img{aspect-ratio:1300/420!important;object-fit:fill!important;max-height:none!important;display:block}
.main-content>.panel:first-child{padding:4px!important}.main-content>.panel:first-child .hero{width:100%}
.sidebar .panel p{overflow-wrap:anywhere}.panel input,.panel textarea,.panel select,.panel button{font-size:13px;padding:9px}
.button-link{display:block;text-align:center;background:linear-gradient(#f93b7b,#a40043);border:1px solid #fa538d;border-radius:5px;color:white!important;padding:9px 10px;margin-top:8px;text-decoration:none;font-weight:700}
.table-scroll{overflow-x:auto}table{font-size:12px}th{background:#2d0b29;color:#fff}td,th{padding:7px 6px}.team-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:9px;text-align:center}.team-member{min-width:0}.team-member img,.team-fallback{width:68px;height:68px;border:2px solid #ee367c;border-radius:50%;object-fit:cover;margin:0 auto 5px;display:grid;place-items:center;background:#110d31;color:#f25c98;font-size:30px}.team-member strong,.team-member small{display:block;overflow-wrap:anywhere;font-size:11px}.team-member small{color:#b9c9e6}.mini-chat{max-height:190px;overflow-y:auto;font-size:12px}.mini-chat p{border-bottom:1px solid #253c61;padding:5px 0;margin:0}.mini-chat b{color:#69d9ff}.partner-stack{display:grid;gap:6px}.partner-stack a{display:block;border:1px solid #3c6c98;padding:5px;text-align:center;border-radius:4px}.partner-stack img{width:100%;max-height:68px;object-fit:contain}.gallery-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.gallery-preview img{width:100%;aspect-ratio:1.2;object-fit:cover}
footer{min-height:110px;background:#030919 url('herzbeat_footer_v2.jpg') center bottom/100% 100% no-repeat!important;border-top:1px solid #f02675;padding:35px 12px 12px!important;font-size:13px;color:#fff;position:relative;clear:both}footer a{color:#fff}
@media(max-width:1000px){.layout{grid-template-columns:minmax(165px,1fr) minmax(0,2.6fr) minmax(165px,1fr);gap:7px}.wrap{width:calc(100% - 12px)}nav{width:calc(100% - 12px)}.panel{padding:8px!important}.panel h2,.panel h3{margin:-8px -8px 8px!important}}
@media(max-width:700px){.layout{grid-template-columns:1fr!important}.sidebar-left{order:2}.main-content{order:1}.layout>aside:last-child{order:3}.radio-header{min-height:0!important}nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.team-strip{grid-template-columns:repeat(3,1fr)}}

/* NEU: Header ohne Beschnitt oder schwarzen Leerraum, klare Seitengrenzen */
html,body{margin:0;min-height:100%;overflow-x:hidden}
.radio-header{display:block!important;position:relative!important;width:100%!important;height:auto!important;aspect-ratio:1600/545!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;background-image:url('herzbeat_header_v2.jpg')!important;background-repeat:no-repeat!important;background-position:center top!important;background-size:100% 100%!important}
.radio-header .mast{height:100%!important;min-height:0!important}
body{background:radial-gradient(ellipse at 50% 0,#1b1040 0,#050a1b 55%,#080518 100%)!important}
nav{position:relative!important;top:auto!important;margin:0 auto 10px!important;max-width:1600px!important}
.wrap{position:relative!important;margin:0 auto!important;max-width:1600px!important}
.layout{align-items:start!important}
footer{margin-top:14px!important;min-height:90px!important;background:#060b20!important;box-shadow:inset 0 12px 30px #bd195a33!important;display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;padding:24px 14px!important;font-size:13px!important}
@media(min-width:1200px){.layout{grid-template-columns:minmax(210px,23fr) minmax(0,54fr) minmax(210px,23fr)!important}}
@media(max-width:700px){.radio-header{aspect-ratio:1600/545!important}nav{flex-wrap:wrap!important;overflow:visible!important}nav a{font-size:11px!important;padding:7px!important}}

/* Radio Herzbeat Player 2.2 */
.player-downloads{display:grid;gap:6px;margin-top:8px}.player-downloads a{display:block;text-align:center;padding:8px 5px;border:1px solid #3077a4;border-radius:5px;background:linear-gradient(#102b4a,#08152c);color:#fff;text-decoration:none;font-size:12px}.player-downloads a:hover{border-color:#ff408c;color:#ffb5d2}.onair-profile{display:flex;align-items:center;gap:12px;min-width:0}.onair-profile img{width:68px;height:68px;object-fit:cover;border:2px solid #ff2673;border-radius:7px}.onair-profile strong{overflow-wrap:anywhere}.live-indicator{color:#ff347a;font-weight:bold;text-shadow:0 0 8px #ff0055}


/* Radio Herzbeat Neon-Player 2.3 – nur Player */
.hb-player{background:radial-gradient(ellipse at top,#17133e,#060d23 78%);border:1px solid #fa2a75;border-radius:9px;padding:10px;box-shadow:inset 0 0 15px #0a66ac55,0 0 14px #ff226433}
.hb-player-top{display:flex;gap:10px;align-items:center;min-width:0}
.hb-player-cover{width:66px;height:66px;object-fit:cover;flex-shrink:0;border:1px solid #fb4089;border-radius:5px}
.hb-player-info{min-width:0;display:grid;gap:4px}
.hb-live{font-weight:800;font-size:12px;color:#ff477e;text-shadow:0 0 9px #ff2668}
.hb-player-info strong{font-size:15px;color:#fff;overflow-wrap:anywhere}
.hb-player-info small{color:#72dfff;overflow-wrap:anywhere}
.hb-player-controls{display:flex;gap:12px;align-items:center;margin:10px 0}
#hb-play{width:48px;height:48px;min-width:48px;border-radius:50%;margin:0;padding:0;font-size:23px;box-shadow:0 0 14px #ff2c6e}
.hb-eq{display:flex;gap:3px;align-items:end;height:39px;flex:1;justify-content:space-around}
.hb-eq i{width:7%;height:35%;background:linear-gradient(#ff397e,#8a33d6,#06b9fa);box-shadow:0 0 6px #fa318f}
.hb-eq i:nth-child(3n){height:70%}.hb-eq i:nth-child(4n){height:95%}
.hb-player.playing .hb-eq i{animation:hb-bounce .65s ease-in-out infinite alternate}
.hb-player.playing .hb-eq i:nth-child(2n){animation-delay:.23s}
.hb-player.playing .hb-eq i:nth-child(3n){animation-delay:.41s}
@keyframes hb-bounce{to{height:14%}}
.hb-volume{display:flex;gap:9px;align-items:center;font-size:12px;color:#b6d8fa}
.hb-volume input{width:100%;min-width:0;margin:0;padding:0;accent-color:#ff347b}
@media(prefers-reduced-motion:reduce){.hb-player.playing .hb-eq i{animation:none}}


/* Radio Herzbeat – gezielte Layout-Reparatur 2.4, 15.10.2026 */
:root{--hb-page-width:1200px}
html,body{width:100%;overflow-x:hidden}
.radio-header{
  box-sizing:border-box!important;
  width:calc(100% - 20px)!important;
  max-width:var(--hb-page-width)!important;
  height:auto!important;
  aspect-ratio:1600 / 420!important;
  max-height:315px!important;
  min-height:0!important;
  margin:0 auto!important;
  background-image:url('herzbeat_header_v2.jpg')!important;
  background-size:100% 100%!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.radio-header .mast{height:100%!important;min-height:0!important}
body>nav,nav:not(.adminnav){
  width:calc(100% - 20px)!important;
  max-width:var(--hb-page-width)!important;
  margin:0 auto 10px!important;
}
.wrap{
  width:calc(100% - 20px)!important;
  max-width:var(--hb-page-width)!important;
  padding:0!important;
  margin:0 auto!important;
}
.layout{
  width:100%!important;
  grid-template-columns:minmax(0,23fr) minmax(0,54fr) minmax(0,23fr)!important;
  gap:10px!important;
}
.layout>*{min-width:0!important}
.panel{min-width:0!important}
.hb-player,.hb-player *{box-sizing:border-box!important}
.hb-player{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;padding:8px!important}
.hb-player-top{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;min-width:0!important;gap:8px!important}
.hb-player-cover{
  display:block!important;
  flex:0 0 62px!important;
  width:62px!important;
  min-width:62px!important;
  max-width:62px!important;
  height:62px!important;
  max-height:62px!important;
  object-fit:cover!important;
}
.hb-player-info{flex:1 1 0!important;min-width:0!important}
.hb-player-controls{width:100%!important;max-width:100%!important}
.hb-eq{min-width:0!important}
.hb-volume{width:100%!important}
.hb-volume input{flex:1 1 0!important;min-width:0!important;max-width:100%!important}
.player-downloads{max-width:100%!important}
@media(max-width:850px){
  .layout{grid-template-columns:minmax(0,1fr)!important}
  .radio-header{aspect-ratio:1600 / 480!important}
}
