
/* ================================================================
   GALAXISRADIO V67 – programme photo family for Schedule + Listen Again
   ================================================================ */

/* Schedule: compact 8-card photo grid */
.v67-programmes{padding:12px!important}
.v67-programme-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.v67-programme-card{
  position:relative;
  min-height:92px;
  overflow:hidden;
  border-radius:14px;
  padding:10px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  text-decoration:none;
  color:#fff;
  background-size:cover;
  background-position:center;
  box-shadow:0 8px 18px rgba(8,38,92,.13);
}
.v67-programme-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(4,14,42,.08) 5%,rgba(4,14,42,.30) 42%,rgba(3,10,30,.90) 100%);
}
.v67-programme-card span,
.v67-programme-card strong{position:relative;z-index:1}
.v67-programme-card span{
  align-self:flex-start;
  margin-bottom:4px;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(248,250,253,.94);
  color:#53627e;
  font-size:8px;
  font-weight:950;
  letter-spacing:.25px;
}
.v67-programme-card strong{
  font-size:14px;
  line-height:1.02;
  text-shadow:0 2px 8px rgba(0,0,0,.4);
}

.v67-programme-card.feelgood{background-image:url("assets/v15-show-weekend.webp")}
.v67-programme-card.rock{background-image:url("assets/v27-show-rock.webp")}
.v67-programme-card.disco{background-image:url("assets/v15-show-disco.webp")}
.v67-programme-card.flashback{background-image:url("assets/v60-show-70s-flashback.webp")}
.v67-programme-card.newsbox{background-image:url("assets/v56-newsbox-photo.png")}
.v67-programme-card.glamrock{background-image:url("assets/v65-show-glamrock.webp")}
.v67-programme-card.nineties{background-image:url("assets/v65-show-nineties.webp")}
.v67-programme-card.retro80{background-image:url("assets/v65-show-retro80.webp")}

/* Listen Again: all 8 cards share the same photo family. */
.v67-listen-grid .listen-card-fresh.flashback .listen-art{background-image:url("assets/v60-show-70s-flashback.webp")!important}
.v67-listen-grid .listen-card-fresh.newsbox .listen-art{background-image:url("assets/v56-newsbox-photo.png")!important}
.v67-listen-grid .listen-card-fresh.glamrock .listen-art{background-image:url("assets/v65-show-glamrock.webp")!important}
.v67-listen-grid .listen-card-fresh.nineties .listen-art{background-image:url("assets/v65-show-nineties.webp")!important}
.v67-listen-grid .listen-card-fresh.retro80 .listen-art{background-image:url("assets/v65-show-retro80.webp")!important}
.v67-listen-grid .listen-card-fresh.weekend .listen-art{background-image:url("assets/v15-show-weekend.webp")!important}
.v67-listen-grid .listen-card-fresh.rock .listen-art{background-image:url("assets/v27-show-rock.webp")!important}
.v67-listen-grid .listen-card-fresh.disco .listen-art{background-image:url("assets/v15-show-disco.webp")!important}

.v67-listen-grid .listen-art{
  background-size:cover!important;
  background-position:center!important;
}

@media(min-width:1200px){
  .v67-listen-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .v67-listen-grid .listen-card-fresh{min-width:0!important}
}

@media(max-width:1199px){
  .v67-programme-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .v67-programme-grid{grid-template-columns:1fr}
  .v67-programme-card{min-height:120px}
}


/* ================================================================
   GALAXISRADIO V69 – Weekly Overview desktop fit
   Desktop: Uhrzeit + Montag bis Sonntag vollständig auf einen Blick.
   Tablet/Smartphone: lesbar groß und horizontal scrollbar.
   ================================================================ */

.v29-overview-panel{
  padding:18px 18px 20px!important;
  min-width:0!important;
}

.overview-title{
  margin-bottom:14px!important;
}

.overview-title h2{
  font-size:26px!important;
  line-height:1.05!important;
}

.overview-title p{
  margin-top:4px!important;
  font-size:12px!important;
  line-height:1.3!important;
}

.overview-title>span{
  font-size:11px!important;
  font-weight:800!important;
}

.v29-calendar{
  font-size:24px!important;
}

/* DESKTOP:
   Keine horizontale Scrollleiste. Die ganze Woche passt exakt
   in die vorhandene rechte Spalte. */
@media(min-width:1200px){
  .v29-overview-scroll{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    padding:2px 0 4px!important;
  }

  .v29-overview{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    grid-template-columns:72px repeat(7,minmax(0,1fr))!important;
    gap:5px!important;
  }

  .v29-overview .head{
    min-width:0!important;
    padding:9px 3px!important;
    border-radius:8px!important;
    background:#edf6ff!important;
    color:#10376d!important;
    font-size:12px!important;
    font-weight:950!important;
    line-height:1!important;
    letter-spacing:.1px!important;
  }

  .v29-overview .head:first-child{
    background:transparent!important;
  }

  .v29-overview .time{
    position:relative!important;
    left:auto!important;
    z-index:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    min-width:0!important;
    min-height:42px!important;
    padding:7px 8px!important;
    border-radius:8px!important;
    background:#fff8f2!important;
    box-shadow:none!important;
    color:#1c5289!important;
    font-size:11px!important;
    font-weight:950!important;
    font-variant-numeric:tabular-nums!important;
  }

  .v29-overview .cell{
    min-width:0!important;
    min-height:42px!important;
    padding:6px 5px!important;
    border-radius:8px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    color:#fff!important;
    font-size:10.5px!important;
    line-height:1.08!important;
    font-weight:850!important;
    white-space:normal!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    hyphens:auto!important;
    box-shadow:0 3px 8px rgba(8,38,92,.09)!important;
  }

  .v29-overview .cell.current{
    outline:3px solid #ff4d65!important;
    outline-offset:2px!important;
    box-shadow:0 0 0 4px rgba(255,77,101,.10),0 5px 12px rgba(8,38,92,.13)!important;
  }
}

/* TABLET / SMARTPHONE:
   Hier bleibt die Schrift angenehm groß; der Nutzer wischt seitlich. */
@media(max-width:1199px){
  .v29-overview-panel{
    padding:15px 12px 18px!important;
  }

  .overview-title h2{
    font-size:23px!important;
  }

  .v29-overview-scroll{
    width:100%!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    padding:2px 2px 12px!important;
    scrollbar-width:auto;
    scrollbar-color:#2699ed #eaf4fc;
  }

  .v29-overview-scroll::-webkit-scrollbar{
    height:12px;
  }

  .v29-overview-scroll::-webkit-scrollbar-track{
    border-radius:999px;
    background:#eaf4fc;
  }

  .v29-overview-scroll::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:linear-gradient(90deg,#168af5,#28b6f1);
    border:2px solid #eaf4fc;
  }

  .v29-overview{
    grid-template-columns:68px repeat(7,140px)!important;
    gap:5px!important;
    min-width:1060px!important;
  }

  .v29-overview .head{
    padding:9px 5px!important;
    border-radius:8px!important;
    background:#edf6ff!important;
    color:#10376d!important;
    font-size:12px!important;
    font-weight:950!important;
  }

  .v29-overview .head:first-child{
    background:transparent!important;
  }

  .v29-overview .time{
    position:sticky!important;
    left:0!important;
    z-index:3!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    min-height:46px!important;
    padding:8px 9px!important;
    border-radius:8px!important;
    background:#fff8f2!important;
    box-shadow:5px 0 10px rgba(8,38,92,.06)!important;
    color:#1c5289!important;
    font-size:11px!important;
    font-weight:950!important;
  }

  .v29-overview .cell{
    min-height:46px!important;
    padding:7px 8px!important;
    border-radius:8px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    color:#fff!important;
    font-size:11px!important;
    line-height:1.12!important;
    font-weight:850!important;
    white-space:normal!important;
    overflow:hidden!important;
    overflow-wrap:anywhere!important;
  }
}

@media(max-width:650px){
  .overview-title{
    align-items:flex-start!important;
    gap:6px!important;
  }

  .overview-title>span{
    font-size:10px!important;
  }
}


/* ================================================================
   GALAXISRADIO V70 – wider Schedule + full day plan
   - Schedule uses the same 1500px content width as Listen Again.
   - Left daily schedule is fully visible; no internal scrolling.
   - More width is given to the right side / Weekly Overview.
   ================================================================ */

@media(min-width:1200px){

  /* Same outer content width as .fresh-main on Listen Again. */
  body.schedule-v29-page .v29-shell{
    width:min(calc(100vw - 24px),1500px)!important;
    max-width:1500px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Use the full new width instead of losing 20px on both sides. */
  body.schedule-v29-page .v29-daybar{
    margin-left:0!important;
    margin-right:0!important;
    margin-bottom:12px!important;
  }

  body.schedule-v29-page .v29-content-grid{
    margin-left:0!important;
    margin-right:0!important;
    grid-template-columns:minmax(390px,.58fr) minmax(0,1fr)!important;
    gap:14px!important;
    align-items:start!important;
  }

  body.schedule-v29-page .v29-day-panel{
    align-self:start!important;
    min-width:0!important;
  }

  /* Complete selected day: page scroll only, never an inner scrollbar. */
  body.schedule-v29-page .v29-timeline{
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    padding-right:5px!important;
    scrollbar-width:none!important;
  }

  body.schedule-v29-page .v29-timeline::-webkit-scrollbar{
    display:none!important;
  }

  body.schedule-v29-page .v29-right-stack{
    min-width:0!important;
    width:100%!important;
  }

  /* Keep the full weekly grid contained in the wider right column. */
  body.schedule-v29-page .v29-overview-panel,
  body.schedule-v29-page .v29-overview-scroll,
  body.schedule-v29-page .v29-overview{
    min-width:0!important;
    max-width:100%!important;
  }

  /* Slightly more useful room for daily programme descriptions. */
  body.schedule-v29-page .v29-row{
    grid-template-columns:72px minmax(0,1fr) 70px!important;
    gap:10px!important;
  }
}

/* From tablet down the existing one-column responsive layout remains.
   The day timeline should still never get its own vertical scrollbar. */
@media(max-width:1199px){
  body.schedule-v29-page .v29-timeline{
    max-height:none!important;
    overflow:visible!important;
  }
}
