.foutfm-request-shell{
  --fout-orange:#ff7a00;--fout-pink:#ff2d95;--fout-yellow:#ffd447;--fout-dark:#17111f;--fout-card-bg:#fff;--fout-title:#17111f;--fout-text:#4a3d4f;--fout-widget-bg:#fff;--fout-button-text:#fff;--fout-max-width:1100px;--fout-shell-padding:18px;--fout-card-padding:14px;--fout-radius:28px;
  max-width:var(--fout-max-width);margin:24px auto;padding:var(--fout-shell-padding);border-radius:var(--fout-radius);
  background:radial-gradient(circle at 10% 10%, color-mix(in srgb,var(--fout-yellow) 55%, transparent), transparent 28%),linear-gradient(135deg,#fff7e8 0%,var(--fout-card-bg) 42%,#ffe8f5 100%);
  box-shadow:0 18px 45px rgba(23,17,31,.12);border:1px solid color-mix(in srgb,var(--fout-orange) 25%, transparent);font-family:inherit;position:relative;overflow:hidden
}
.foutfm-request-shell:before{content:"";position:absolute;inset:auto -60px -90px auto;width:220px;height:220px;border-radius:50%;background:color-mix(in srgb,var(--fout-pink) 14%, transparent);pointer-events:none}
.foutfm-request-hero{text-align:center;padding:14px 12px 18px;position:relative;z-index:1}.foutfm-badge{display:inline-flex;align-items:center;gap:8px;background:var(--fout-dark);color:#fff;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:800;letter-spacing:.02em;box-shadow:0 8px 18px rgba(0,0,0,.16)}
.foutfm-badge:before{content:"🪩"}.foutfm-badge:after{content:"🎧"}.foutfm-request-hero h2{margin:12px 0 6px;font-size:clamp(26px,4vw,44px);line-height:1.05;font-weight:900;color:var(--fout-title)}
.foutfm-request-hero p{margin:0 auto;max-width:720px;color:var(--fout-text);font-size:16px}.foutfm-request-card{position:relative;z-index:1;background:color-mix(in srgb,var(--fout-widget-bg) 92%, transparent);border-radius:calc(var(--fout-radius) - 4px);padding:var(--fout-card-padding);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fout-orange) 14%, transparent)}
.foutfm-request-shell .sc-track-request-widget{width:100%}.foutfm-request-shell.is-compact .sc-track-request-widget{max-height:none;overflow:visible}
.foutfm-request-shell button,.foutfm-request-shell input[type="button"],.foutfm-request-shell input[type="submit"],.foutfm-request-shell .btn,.foutfm-request-shell [role="button"],.foutfm-info-button,.foutfm-youtube-link{border-radius:999px!important;background:linear-gradient(135deg,var(--fout-orange),var(--fout-pink))!important;color:var(--fout-button-text)!important;border:0!important;font-weight:900!important;letter-spacing:.01em!important;box-shadow:0 8px 18px color-mix(in srgb,var(--fout-pink) 25%, transparent)!important;transition:transform .15s ease, box-shadow .15s ease!important;text-decoration:none!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;line-height:1.15!important}
.foutfm-request-shell button:hover,.foutfm-request-shell input[type="button"]:hover,.foutfm-request-shell input[type="submit"]:hover,.foutfm-request-shell .btn:hover,.foutfm-request-shell [role="button"]:hover,.foutfm-info-button:hover,.foutfm-youtube-link:hover{transform:translateY(-1px)!important;box-shadow:0 12px 24px color-mix(in srgb,var(--fout-orange) 28%, transparent)!important}
.foutfm-info-button{font-size:13px!important;padding:9px 13px!important;margin-top:8px!important;background:linear-gradient(135deg,var(--fout-dark),var(--fout-pink))!important}.foutfm-youtube-link{font-size:13px!important;padding:8px 12px!important;margin-top:8px!important;background:linear-gradient(135deg,#222,var(--fout-orange))!important}
.foutfm-request-shell img{border-radius:16px!important}.foutfm-request-shell input,.foutfm-request-shell textarea{border-radius:14px!important;border:1px solid rgba(23,17,31,.18)!important;padding:10px 12px!important}
.foutfm-info-panel{margin-top:10px;padding:12px;border-radius:18px;background:rgba(255,255,255,.92);border:1px solid color-mix(in srgb,var(--fout-orange) 18%, transparent);box-shadow:0 8px 22px rgba(23,17,31,.08);color:var(--fout-text);font-size:13.5px;line-height:1.45;max-width:420px}.foutfm-info-panel.is-loading{opacity:.75}.foutfm-info-panel strong{color:var(--fout-title)}.foutfm-info-panel p{margin:6px 0}.foutfm-info-panel img{width:100%;max-height:170px;object-fit:cover;margin:6px 0 8px;border-radius:14px!important}.foutfm-info-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.foutfm-info-error{color:#8a1f1f}.foutfm-info-credit{font-size:11px;opacity:.72;margin-top:6px}
@media(max-width:640px){.foutfm-request-shell{padding:12px;border-radius:22px}.foutfm-request-card{padding:8px}.foutfm-request-hero{padding:10px 6px 14px}.foutfm-info-panel{max-width:100%}}


/* v1.9.3 veilige fix: alleen knoppen afronden, geen grid/flex van de officiële widget overschrijven. */
.foutfm-request-shell .foutfm-request-button,
.foutfm-request-shell button.foutfm-request-button,
.foutfm-request-shell input.foutfm-request-button,
.foutfm-request-shell a.foutfm-request-button,
.foutfm-request-shell .sc-track-request-widget button,
.foutfm-request-shell .sc-track-request-widget input[type="button"],
.foutfm-request-shell .sc-track-request-widget input[type="submit"]{
  border-radius:999px!important;
  overflow:hidden!important;
}
.foutfm-request-shell .foutfm-track-card-with-info{
  box-sizing:border-box!important;
}
.foutfm-request-shell .foutfm-track-card-with-info .foutfm-info-panel{
  width:100%!important;
  box-sizing:border-box!important;
}


/* v1.9.4: tekst begrenzen i.p.v. layout forceren */
.foutfm-info-panel .foutfm-info-text{
  margin-bottom:8px!important;
}
.foutfm-read-more{
  font-size:12px!important;
  padding:7px 11px!important;
  margin:4px 0 6px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--fout-orange),var(--fout-pink))!important;
  color:var(--fout-button-text)!important;
  border:0!important;
  font-weight:900!important;
  cursor:pointer!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.foutfm-info-more[hidden]{display:none!important;}


/* v1.9.6: alleen de echte track-cover gelijk maken.
   Niet toepassen op Wikipedia-afbeeldingen, YouTube-link of de officiële widget-rij. */
.foutfm-request-shell .foutfm-track-card-with-info img.foutfm-track-cover-img{
  width:150px!important;
  max-width:100%!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-bottom:10px!important;
  border-radius:16px!important;
}
@media(max-width:640px){
  .foutfm-request-shell .foutfm-track-card-with-info img.foutfm-track-cover-img{
    width:130px!important;
  }
}


/* v1.9.7: vaste maat voor alleen Wikipedia/track-info afbeeldingen.
   De cover bovenin de trackkaart en de YouTube-knop blijven ongemoeid. */
.foutfm-request-shell .foutfm-info-panel img.foutfm-info-thumb-img{
  width:100%!important;
  height:150px!important;
  max-height:150px!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  margin:6px 0 10px!important;
  border-radius:14px!important;
}
@media(max-width:640px){
  .foutfm-request-shell .foutfm-info-panel img.foutfm-info-thumb-img{
    height:135px!important;
    max-height:135px!important;
  }
}


/* v1.9.8: breedte optie voor verzoekpagina */
.foutfm-request-shell.is-full-width{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.foutfm-request-shell.is-fixed-width{
  max-width:var(--fout-max-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* v2.0.0: aparte blokken voor trackverhaal en artiestinformatie */
.foutfm-info-section{
  padding:0 0 10px!important;
  margin:0 0 10px!important;
  border-bottom:1px solid color-mix(in srgb,var(--fout-orange) 14%, transparent)!important;
}
.foutfm-info-section:last-of-type{
  border-bottom:0!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
.foutfm-info-section > strong{
  display:block!important;
  margin-bottom:6px!important;
  font-size:14px!important;
}


/* v2.4.0: Streaming.Center status-widget / Nu speelt blok */
.foutfm-status-card{
  position:relative;
  z-index:1;
  margin:0 auto 16px;
  padding:12px;
  border-radius:calc(var(--fout-radius) - 8px);
  background:rgba(255,255,255,.76);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fout-orange) 14%, transparent),0 8px 22px rgba(23,17,31,.06);
}
.foutfm-status-title{
  margin:0 0 10px;
  color:var(--fout-title);
  font-weight:900;
  text-align:center;
  font-size:18px;
}
.foutfm-status-widget-wrap{
  margin:0 auto;
}
.foutfm-status-card .sc-status-widget{
  width:100%;
}
@media(max-width:640px){
  .foutfm-status-card{padding:8px;margin-bottom:12px;border-radius:18px;}
  .foutfm-status-card.hide-on-mobile{display:none!important;}
}


/* v2.4.1 - now playing zelfde formaat als verzoekplaten */
.foutfm-now-playing-card{
    display:flex;
    justify-content:flex-start;
    margin-bottom:18px;
}

.foutfm-now-playing-card .foutfm-status-widget-wrap{
    margin-left:0 !important;
}

.foutfm-now-playing-card .sc-status-widget{
    border-radius:18px;
    overflow:hidden;
}


/* v2.4.2 inline now playing */
.foutfm-inline-nowplaying{
    display:inline-flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:18px;
    width:100%;
}

.foutfm-inline-nowplaying .foutfm-now-playing-card{
    margin-bottom:0;
    flex:0 0 auto;
}

.foutfm-inline-nowplaying .foutfm-track-card:first-child{
    margin-left:0;
}

@media(max-width:768px){
    .foutfm-inline-nowplaying{
        display:block;
    }
}


/* v2.4.4 - Now Playing blijft zichtbaar als JS-verplaatsing niet lukt */
.foutfm-request-card > .foutfm-now-playing-card{
  display:block;
}
.foutfm-now-playing-card.foutfm-inline-first-tile{
  display:block!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
  margin:0!important;
  align-self:stretch!important;
}
.foutfm-now-playing-card.foutfm-inline-first-tile .foutfm-status-widget-wrap{
  width:100%!important;
  max-width:100%!important;
}
.foutfm-now-playing-card.foutfm-inline-first-tile .sc-status-widget,
.foutfm-now-playing-card.foutfm-inline-first-tile [is="stream-status-widget"]{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:640px){
  .foutfm-now-playing-card.foutfm-inline-first-tile{
    width:100%!important;
  }
}


/* v2.4.4 - robuustere rij-uitlijning en veilige fallback */
.foutfm-request-card{
  overflow:visible!important;
}
.foutfm-official-widget{
  width:100%;
}
.foutfm-official-widget > div[is="track-request-widget"]{
  width:100%;
}
.foutfm-now-playing-card{
  box-sizing:border-box!important;
}
.foutfm-now-playing-card.foutfm-inline-first-tile{
  min-height:0!important;
}
.foutfm-now-playing-card.foutfm-inline-first-tile .foutfm-status-title{
  min-height:22px;
}
.foutfm-now-playing-card.foutfm-inline-first-tile + *{
  margin-left:0!important;
}
@media(max-width:768px){
  .foutfm-now-playing-card.foutfm-inline-first-tile{
    width:100%!important;
    max-width:100%!important;
    margin-bottom:12px!important;
  }
}

/* v2.4.5 - harde rij-fix: Now Playing en verzoek-widget in dezelfde flex-rij */
.foutfm-request-row{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:18px!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.foutfm-request-row > .foutfm-now-playing-card{
  flex:0 0 var(--fout-track-width, 300px)!important;
  width:var(--fout-track-width, 300px)!important;
  max-width:var(--fout-track-width, 300px)!important;
  margin:0!important;
  align-self:flex-start!important;
  box-sizing:border-box!important;
}
.foutfm-request-row > .foutfm-official-widget{
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  margin:0!important;
  align-self:flex-start!important;
  box-sizing:border-box!important;
}
.foutfm-request-row .foutfm-status-card{
  margin:0!important;
}
.foutfm-request-row .foutfm-status-title{
  line-height:1.2!important;
  margin:0 0 10px!important;
}
.foutfm-request-row .foutfm-status-widget-wrap,
.foutfm-request-row .sc-status-widget,
.foutfm-request-row [is="stream-status-widget"]{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:768px){
  .foutfm-request-row{
    flex-wrap:wrap!important;
    gap:12px!important;
  }
  .foutfm-request-row > .foutfm-now-playing-card,
  .foutfm-request-row > .foutfm-official-widget{
    flex:0 0 100%!important;
    width:100%!important;
    max-width:100%!important;
  }
}


/* v2.4.6 - mobiel centreren + resterende lijntjes rond Now Playing verwijderen */
.foutfm-now-playing-card,
.foutfm-now-playing-card .foutfm-status-card,
.foutfm-now-playing-card .foutfm-status-widget-wrap,
.foutfm-now-playing-card .sc-status-widget,
.foutfm-now-playing-card [is="stream-status-widget"]{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.foutfm-now-playing-card .foutfm-status-card,
.foutfm-request-row .foutfm-status-card{
  box-shadow:none!important;
}
.foutfm-now-playing-card [is="stream-status-widget"] *{
  border-color:transparent!important;
  outline:0!important;
}

@media(max-width:768px){
  .foutfm-request-row{
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
  }
  .foutfm-request-row > .foutfm-now-playing-card,
  .foutfm-request-row > .foutfm-official-widget{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  .foutfm-request-row > .foutfm-now-playing-card{
    display:flex!important;
    justify-content:center!important;
  }
  .foutfm-request-row > .foutfm-official-widget,
  .foutfm-request-row > .foutfm-official-widget > div,
  .foutfm-request-row > .foutfm-official-widget [is="track-request-widget"]{
    display:block!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .foutfm-request-shell .foutfm-track-card-with-info,
  .foutfm-request-shell .foutfm-track-card,
  .foutfm-request-shell .track-card{
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* v2.4.8 - mobiel: titel boven track i.p.v. links naast track */
@media(max-width:768px){
  .foutfm-request-row > .foutfm-now-playing-card,
  .foutfm-now-playing-card,
  .foutfm-status-card.foutfm-now-playing-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:center!important;
  }

  .foutfm-now-playing-card .foutfm-status-title,
  .foutfm-status-card.foutfm-now-playing-card .foutfm-status-title{
    display:block!important;
    width:100%!important;
    order:1!important;
    margin:0 0 10px 0!important;
    text-align:center!important;
  }

  .foutfm-now-playing-card .foutfm-status-widget-wrap,
  .foutfm-status-card.foutfm-now-playing-card .foutfm-status-widget-wrap{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    order:2!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }

  .foutfm-now-playing-card .sc-status-widget,
  .foutfm-now-playing-card [is="stream-status-widget"]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* v2.6.0: Live WhatsApp / gesloten modus. In deze modus wordt de aanvraagwidget niet gerenderd. */
.foutfm-live-mode-shell{
  text-align:center!important;
  background:radial-gradient(circle at 15% 10%, color-mix(in srgb,var(--fout-yellow) 50%, transparent), transparent 30%),linear-gradient(135deg,var(--fout-pink),#571548)!important;
  color:#fff!important;
}
.foutfm-live-mode-shell.is-closed{
  background:linear-gradient(135deg,#571548,#2b0924)!important;
}
.foutfm-live-mode-card{
  position:relative;
  z-index:1;
  padding:28px 18px!important;
  max-width:760px!important;
  margin:0 auto!important;
}
.foutfm-live-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  padding:8px 15px!important;
  margin-bottom:14px!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  box-shadow:0 8px 18px rgba(0,0,0,.16)!important;
}
.foutfm-live-mode-card h2{
  color:#fff!important;
  margin:0 0 12px!important;
  font-size:clamp(26px,4vw,44px)!important;
  line-height:1.08!important;
  font-weight:900!important;
}
.foutfm-live-mode-card p{
  color:#fff!important;
  font-size:18px!important;
  line-height:1.5!important;
  margin:0 auto 22px!important;
  max-width:650px!important;
}
.foutfm-whatsapp-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  background:#25D366!important;
  color:#111!important;
  text-decoration:none!important;
  font-weight:900!important;
  border-radius:999px!important;
  padding:15px 24px!important;
  font-size:18px!important;
  box-shadow:0 10px 26px rgba(0,0,0,.25)!important;
  border:0!important;
}
.foutfm-whatsapp-button:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.30)!important;
}
@media(max-width:640px){
  .foutfm-live-mode-card{padding:22px 8px!important;}
  .foutfm-whatsapp-button{width:100%!important;box-sizing:border-box!important;font-size:17px!important;}
}
