/*
Theme Name: In Progress Radio - Independent Edition V8
Description: Standalone WordPress theme for IN PROGRESS RADIO. Includes live player, schedule management and a manual ProRadio show importer.
Author: In Progress Radio
Version: 8.0.10-beta10.2
Text Domain: ipr-independent
*/
:root{--ipr-yellow:#fff000;--ipr-white:#f7f7f7;--ipr-dark:#090909}body.ipr-v2{background:#080808!important;color:#fff!important;margin:0}.ipr-site{font-family:Arial,Helvetica,sans-serif;background:#080808;color:#f7f7f7;min-height:100vh}.ipr-site *{box-sizing:border-box}.ipr-site a{text-decoration:none}.ipr-wide{width:min(100% - 48px,1500px);margin-inline:auto}.ipr-top{background:#050505;border-bottom:1px solid #292929;position:relative;z-index:20}.ipr-top-inner{display:flex;align-items:center;gap:27px;min-height:82px}.ipr-logo{display:flex;align-items:center;gap:13px;color:#fff!important;font-size:clamp(18px,1.7vw,26px);font-weight:1000;letter-spacing:-1px;white-space:nowrap;line-height:1}.ipr-logo b{color:var(--ipr-yellow)}.ipr-logo small{display:block;font-size:9px;letter-spacing:1.5px;color:#ddd;margin-top:7px}.ipr-sound-icon{color:var(--ipr-yellow);font-size:44px;line-height:1}.ipr-navigation{display:flex;align-items:center;justify-content:center;flex:1;gap:clamp(10px,1.4vw,24px)}.ipr-navigation a{color:#fff!important;font-weight:900;font-size:12px;letter-spacing:.2px}.ipr-navigation a:hover,.ipr-navigation a:first-child{color:var(--ipr-yellow)!important}.ipr-yellow-btn{border:0;border-radius:2px;background:var(--ipr-yellow);color:#090909!important;padding:15px 24px;cursor:pointer;font-weight:900;font-size:14px;white-space:nowrap;box-shadow:none}.ipr-yellow-btn:hover{filter:brightness(.92)}.ipr-mobile-menu{display:none}.ipr-main-hero{background-image:linear-gradient(90deg,#050505 0%,rgba(0,0,0,.78) 39%,rgba(0,0,0,.20) 100%),var(--ipr-hero-url,url('assets/festival-stage.jpg'));background-size:cover;background-position:center 48%;min-height:390px;position:relative;display:flex;align-items:center;overflow:hidden}.ipr-main-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 35%);pointer-events:none}.ipr-hero-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding-block:50px}.ipr-hero-copy{max-width:940px}.ipr-eyebrow{color:var(--ipr-yellow);font-weight:900;letter-spacing:4px;font-size:11px}.ipr-main-hero h1{font-size:clamp(46px,6vw,94px);letter-spacing:-3px;line-height:1.02;font-weight:1000;margin:18px 0 5px!important;color:white!important;text-shadow:0 3px 20px #000}.ipr-main-hero h1 span{color:var(--ipr-yellow)}.ipr-tagline{font-size:clamp(14px,1.7vw,24px);letter-spacing:5px;color:white!important;margin:10px 0 17px}.ipr-label{display:inline-block;color:var(--ipr-yellow)!important;border:1px solid var(--ipr-yellow);font-size:12px;letter-spacing:2px;padding:9px 12px;font-weight:800;margin:0 0 25px}.ipr-hero-button{display:block;width:max-content;padding:17px 25px;font-size:22px;text-align:left}.ipr-hero-button small{display:block;font-size:11px;font-weight:500;margin-top:2px}.ipr-hero-mark{font-size:110px;color:var(--ipr-yellow);opacity:.55;text-shadow:0 0 30px #ffc900}.ipr-content{padding-block:18px 35px}.ipr-onair-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ipr-panel{min-height:205px;border:1px solid #292929;background:linear-gradient(125deg,#191919,#090909);padding:17px 20px}.ipr-panel h2,.ipr-section-head h2{font-size:18px!important;line-height:1.2;color:white!important;font-weight:900!important;margin:0 0 16px!important}.ipr-panel h2:before{content:'';display:inline-block;width:4px;height:18px;background:var(--ipr-yellow);vertical-align:-3px;margin-right:10px}.ipr-track-layout{display:flex;gap:20px;align-items:center}.ipr-art{width:128px;height:128px;flex:0 0 128px;display:grid;place-items:center;background:linear-gradient(145deg,#ffe500,#251f00 65%,#090909);color:#111;font-size:65px}.ipr-track-details{min-width:0}.ipr-live{color:var(--ipr-yellow);font-size:11px;font-weight:800;margin-bottom:10px}.ipr-track-details strong{display:block;color:#fff;font-size:clamp(18px,2vw,26px);overflow-wrap:anywhere}.ipr-track-details span{color:#aaa;font-size:12px}.ipr-wave{display:flex;gap:3px;height:35px;align-items:center;margin-top:14px}.ipr-wave i{display:block;background:var(--ipr-yellow);width:3px;height:var(--h)}.ipr-history-note{color:#bbb;font-size:15px;line-height:1.6;min-height:92px}.ipr-text-link{border:0;background:none;color:var(--ipr-yellow);font-size:12px;font-weight:900;cursor:pointer}.ipr-schedule-section{margin-top:27px}.ipr-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.ipr-section-head a{color:var(--ipr-yellow)!important;font-size:12px;font-weight:900}.ipr-day-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:12px 0}.ipr-day{padding:15px 3px;background:#191919;border:1px solid #292929;border-radius:3px;color:white;font-weight:900;cursor:pointer}.ipr-day[aria-selected=true]{background:var(--ipr-yellow);color:#000;border-color:var(--ipr-yellow)}.ipr-show-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-height:240px;align-content:start}.ipr-show-card{display:flex;flex-direction:column;background:#111;border:1px solid #303030;min-height:232px;color:white!important;overflow:hidden}.ipr-show-card img,.ipr-show-photo{width:100%;height:132px;object-fit:cover;background:linear-gradient(145deg,#3b3605,#101010);color:#aaa;display:grid;place-items:center;font-size:11px;letter-spacing:2px}.ipr-show-info{padding:12px;display:flex;flex-direction:column;gap:5px}.ipr-show-info time{font-size:13px;color:var(--ipr-yellow);font-weight:900}.ipr-show-info strong{color:white;font-size:17px;line-height:1.15}.ipr-show-info span{color:#ccc;font-size:12px}.ipr-empty{grid-column:1/-1;padding:25px;background:#171717;color:#bbb;border:1px solid #333;min-height:110px}.ipr-explore{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:23px}.ipr-explore-tile{min-height:150px;padding:18px;background:linear-gradient(120deg,rgba(0,0,0,.75),rgba(0,0,0,.25)),url('assets/festival-stage.jpg') center/cover;border:1px solid #333;display:flex;flex-direction:column;align-items:start;color:white!important}.ipr-explore-tile:nth-child(2){background-position:40%}.ipr-explore-tile:nth-child(3){background-position:80%}.ipr-explore-tile strong{font-size:24px;color:#fff}.ipr-explore-tile span{font-size:12px;color:#ddd}.ipr-explore-tile b{margin-top:auto;background:var(--ipr-yellow);color:black;padding:8px 12px}.ipr-footer{border-top:1px solid #222;padding:22px 0;color:#aaa;font-size:12px}.ipr-popup-body{margin:0!important;background:#070707!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif}.ipr-player{padding:28px;max-width:550px;margin:auto}.ipr-player-head{text-align:center;border-bottom:1px solid #333;padding-bottom:25px}.ipr-player-head .ipr-brand{font-size:26px;font-weight:900;color:#fff}.ipr-player-head .ipr-brand em{font-style:normal;color:var(--ipr-yellow)}.ipr-player-head .ipr-brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:8px}.ipr-player-status{color:var(--ipr-yellow);font-size:13px;letter-spacing:3px;margin:30px 0 10px}.ipr-player-track{font-size:27px;font-weight:900;overflow-wrap:anywhere}.ipr-player-sub{color:#aaa;margin:8px 0 24px}.ipr-play{border:0;background:var(--ipr-yellow);color:#000;width:76px;height:76px;border-radius:50%;font-size:28px;cursor:pointer}.ipr-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin:25px 0}.ipr-controls input{width:140px;accent-color:var(--ipr-yellow)}.ipr-player-notice{font-size:12px;color:#aaa;line-height:1.5}.ipr-small-link{color:var(--ipr-yellow)}
@media(max-width:1150px){.ipr-navigation{gap:11px}.ipr-navigation a{font-size:11px}.ipr-top-inner{gap:12px}.ipr-logo{font-size:19px}.ipr-logo small{font-size:8px}.ipr-hero-mark{display:none}}
@media(max-width:920px){.ipr-top-inner{flex-wrap:wrap;padding-block:14px}.ipr-mobile-menu{display:block;margin-left:auto;background:#222;border:1px solid #555;color:#fff;padding:10px}.ipr-navigation{display:none;order:4;width:100%;flex-wrap:wrap;justify-content:start;padding:15px}.ipr-navigation.is-open{display:flex}.ipr-top-inner>.ipr-yellow-btn{padding:12px}.ipr-show-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ipr-explore{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.ipr-wide{width:min(100% - 28px,1500px)}.ipr-top-inner>.ipr-yellow-btn{order:3;width:100%}.ipr-main-hero{min-height:410px}.ipr-main-hero h1{font-size:48px;letter-spacing:-2px}.ipr-tagline{font-size:12px;letter-spacing:3px}.ipr-label{font-size:9px;letter-spacing:1px}.ipr-onair-grid{grid-template-columns:1fr}.ipr-day-tabs{gap:3px}.ipr-day{font-size:10px;padding:13px 1px}.ipr-show-grid{min-height:235px;gap:8px}.ipr-show-card{min-height:190px}.ipr-show-card img,.ipr-show-photo{height:110px}.ipr-show-info strong{font-size:14px}.ipr-show-info time{font-size:11px}.ipr-explore-tile{min-height:135px;padding:12px}.ipr-explore-tile strong{font-size:19px}.ipr-section-head a{font-size:10px}}

/* V3: festival-first desktop layout */
body.ipr-v3,body.ipr-v3 .ipr-site{background:#060606!important;color:#fff!important}
.ipr-top{background:#070707!important;box-shadow:0 2px 25px #0009}
.ipr-top-inner{min-height:94px}
.ipr-logo{font-size:clamp(20px,2vw,30px)!important;letter-spacing:-1.4px}
.ipr-logo small{font-size:9px!important;letter-spacing:2.1px}
.ipr-sound-icon{font-size:54px}
.ipr-navigation a{font-size:12px!important}
.ipr-navigation a:hover{color:var(--ipr-yellow)!important}
.ipr-main-hero{min-height:550px;background-position:center 48%;background-image:linear-gradient(90deg,rgba(0,0,0,.93),rgba(0,0,0,.55) 50%,rgba(0,0,0,.16)),var(--ipr-hero-url,url('assets/festival-stage.jpg'))}
.ipr-main-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 74% 42%,transparent 0%,#0008 88%);pointer-events:none}
.ipr-hero-inner{gap:40px;align-items:center;min-height:550px}
.ipr-hero-copy{flex:1;min-width:0}
.ipr-main-hero h1{font-size:clamp(58px,6.3vw,110px)!important;max-width:800px;line-height:.97!important;letter-spacing:-4px!important}
.ipr-main-hero h1 span{display:block}
.ipr-tagline{font-weight:800;letter-spacing:4px!important}
.ipr-hero-mark{display:none!important}
.ipr-hero-player{width:335px;flex:0 0 335px;min-height:400px;padding:24px;border:1px solid #555;background:linear-gradient(160deg,#1b1b1bf2,#070707f2);box-shadow:0 24px 65px #000b;position:relative}
.ipr-hero-player:before{content:'';position:absolute;inset:0 0 auto;height:4px;background:var(--ipr-yellow)}
.ipr-player-kicker{display:flex;justify-content:space-between;color:#eee;font-size:11px;letter-spacing:2px;font-weight:900}
.ipr-player-kicker span{color:var(--ipr-yellow)}
.ipr-hero-disc{height:190px;display:grid;place-items:center;margin:18px 0;background:radial-gradient(circle at 50% 50%,#181818 0 16%,#ffe600 17% 18%,#111 19% 44%,#333 45% 46%,#080808 47% 65%,#e8d300 66% 67%,#111 68%);box-shadow:inset 0 0 45px #000}
.ipr-hero-disc strong{font-size:15px;line-height:1.1;text-align:center;color:#fff;text-shadow:0 2px 8px #000}
.ipr-hero-player h2{font-size:19px!important;color:#fff!important;margin:0 0 6px!important;font-weight:900!important}
.ipr-hero-player p{color:#bbb!important;font-size:12px;margin:0 0 16px}
.ipr-player-launch{width:100%;padding:14px!important}
.ipr-player-hint{font-size:10px!important;color:#aaa!important;text-align:center;margin:12px 0 0!important}
.ipr-content{padding-top:26px}
.ipr-panel{border-color:#343434;min-height:220px}
.ipr-schedule-section{margin-top:34px}
.ipr-day{border-radius:0!important;transition:background .15s}
.ipr-day:hover{border-color:var(--ipr-yellow)}
.ipr-show-grid{min-height:245px;grid-auto-rows:minmax(230px,auto)}
.ipr-empty{min-height:245px;display:flex;align-items:center;justify-content:center;text-align:center}
.ipr-explore{margin-top:28px}
.ipr-explore-tile{min-height:190px;position:relative;transition:transform .2s}
.ipr-explore-tile:hover{transform:translateY(-3px)}
.ipr-explore-tile strong{font-size:clamp(20px,2vw,30px)!important}
.ipr-site button:not(.ipr-yellow-btn):focus-visible,.ipr-site a:focus-visible{outline:3px solid var(--ipr-yellow);outline-offset:3px}
@media(max-width:1150px){.ipr-navigation{gap:9px}.ipr-navigation a{font-size:10px!important}.ipr-hero-player{width:300px;flex-basis:300px}.ipr-main-hero h1{font-size:clamp(55px,6vw,85px)!important}}
@media(max-width:920px){.ipr-hero-inner{gap:20px}.ipr-hero-player{width:260px;flex-basis:260px;padding:16px;min-height:350px}.ipr-hero-disc{height:160px}.ipr-mobile-menu{background:#171717!important;border:1px solid #777!important;color:var(--ipr-yellow)!important;border-radius:0!important;font-weight:900}.ipr-navigation{background:#101010}}
@media(max-width:700px){.ipr-hero-inner{display:block;padding-block:45px}.ipr-main-hero{min-height:0}.ipr-main-hero h1{font-size:clamp(48px,10vw,72px)!important}.ipr-hero-player{width:100%;max-width:420px;margin:32px auto 0;min-height:0}.ipr-hero-disc{height:160px}.ipr-main-hero .ipr-label{line-height:1.7}.ipr-show-grid{grid-auto-rows:auto;min-height:230px}.ipr-empty{min-height:230px}}

/* V4 – visual alignment and ProRadio UI overrides */
body.ipr-v4{background:#060606!important;color:#fff!important}
body.ipr-v4 .ipr-site{background:#060606!important}
body.ipr-v4 .ipr-wide{width:min(calc(100% - 42px),1680px)!important}
body.ipr-v4 .ipr-top-inner{min-height:88px!important}
body.ipr-v4 .ipr-mobile-menu{display:none!important;background:#161616!important;color:var(--ipr-yellow)!important;border:1px solid #555!important;border-radius:0!important}
body.ipr-v4 .ipr-top .ipr-navigation{gap:clamp(10px,1.3vw,24px)}
body.ipr-v4 .ipr-top .ipr-navigation a{font-size:clamp(10px,.8vw,13px)!important}
body.ipr-v4 .ipr-main-hero{min-height:530px;background-position:center 53%;background-image:linear-gradient(90deg,#000e 0%,#000a 35%,#0003 78%),var(--ipr-hero-url,url('assets/festival-stage.jpg'))}
body.ipr-v4 .ipr-hero-inner{min-height:530px;gap:36px}
body.ipr-v4 .ipr-main-hero h1{font-size:clamp(65px,6vw,110px)!important}
body.ipr-v4 .ipr-hero-player{width:385px;flex-basis:385px;min-height:455px;padding:23px;background:linear-gradient(140deg,#1b1b1bf7,#070707f7);border:1px solid #777}
body.ipr-v4 .ipr-hero-disc{height:185px;margin:18px 0 13px}
body.ipr-v4 .ipr-player-kicker{font-size:12px}
body.ipr-v4 .ipr-mini-controls{display:flex;align-items:center;justify-content:space-evenly;margin-top:12px;color:#eee;font-size:19px}
body.ipr-v4 .ipr-mini-play{background:var(--ipr-yellow);color:#000;border-radius:50%;width:42px;height:42px;display:grid;place-items:center}
body.ipr-v4 .ipr-player-hint{margin-top:10px!important}
body.ipr-v4 .ipr-panel{min-height:220px}
body.ipr-v4 .ipr-explore-tile{min-height:210px}
body.ipr-v4 .ipr-show-grid{min-height:260px;grid-auto-rows:minmax(245px,auto)}
body.ipr-v4 .ipr-empty{min-height:260px}
body.ipr-v4 .ipr-show-card img{height:155px}
body.ipr-v4 .ipr-top button,body.ipr-v4 .ipr-site button{font-family:Arial,Helvetica,sans-serif}
@media(max-width:1050px){body.ipr-v4 .ipr-mobile-menu{display:block!important}body.ipr-v4 .ipr-navigation{display:none!important}body.ipr-v4 .ipr-navigation.is-open{display:flex!important}body.ipr-v4 .ipr-hero-player{width:310px;flex-basis:310px}body.ipr-v4 .ipr-main-hero h1{font-size:clamp(54px,6vw,82px)!important}}
@media(max-width:700px){body.ipr-v4 .ipr-hero-inner{display:block;min-height:0}body.ipr-v4 .ipr-hero-player{width:100%;max-width:450px;margin:28px auto 0}body.ipr-v4 .ipr-wide{width:calc(100% - 26px)!important}body.ipr-v4 .ipr-main-hero h1{font-size:clamp(44px,10vw,68px)!important}body.ipr-v4 .ipr-explore-tile{min-height:155px}}

/* V5: editorial black-and-white DJ portraits inspired by the approved reference */
body.ipr-v5{background:#060606!important;color:#fff!important}
body.ipr-v5 .ipr-wide{width:min(calc(100% - 48px),1680px)!important}
body.ipr-v5 .ipr-top{background:#050505!important}
body.ipr-v5 .ipr-show-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;grid-auto-rows:minmax(280px,auto);min-height:300px}
body.ipr-v5 .ipr-show-card{position:relative;min-height:280px;background:#111;border:1px solid #383838;transition:border-color .2s,transform .2s}
body.ipr-v5 .ipr-show-card:hover{border-color:#fff000;transform:translateY(-2px)}
body.ipr-v5 .ipr-show-card img{height:205px;object-fit:cover;object-position:center 32%;filter:grayscale(1) contrast(1.14) brightness(.82);transition:filter .25s,transform .25s}
body.ipr-v5 .ipr-show-card:hover img{filter:grayscale(.75) contrast(1.12) brightness(.95);transform:scale(1.025)}
body.ipr-v5 .ipr-show-photo{height:205px;background:radial-gradient(ellipse at 60% 10%,#413b09,#101010 65%);color:#fff000;font-weight:900}
body.ipr-v5 .ipr-show-info{padding:13px 15px 16px;background:linear-gradient(0deg,#080808,#151515);position:relative;z-index:1;gap:5px}
body.ipr-v5 .ipr-show-info time{font-size:14px;letter-spacing:.1px}
body.ipr-v5 .ipr-show-info strong{font-size:19px;text-transform:uppercase}
body.ipr-v5 .ipr-show-info span{font-size:13px}
body.ipr-v5 .ipr-day-tabs{margin:14px 0;gap:6px}
body.ipr-v5 .ipr-day{padding:17px 4px}
body.ipr-v5 .ipr-explore-tile{min-height:205px;filter:grayscale(.3)}
body.ipr-v5 .ipr-explore-tile:nth-child(2){background-image:linear-gradient(110deg,#000d,#0004),url('assets/podcast.jpg')}
body.ipr-v5 .ipr-explore-tile:nth-child(3){background-image:linear-gradient(110deg,#000b,#0004),url('assets/festival-stage.jpg')}
body.ipr-v5 .ipr-explore-tile:nth-child(4){background-image:linear-gradient(110deg,#000d,#0004),url('assets/news.jpg')}
body.ipr-v5 .ipr-hero-player{border-color:#575757}
body.ipr-v5 .ipr-main-hero h1{letter-spacing:-4px!important}
body.ipr-v5 .ipr-panel h2,body.ipr-v5 .ipr-section-head h2{color:#fff!important}
@media(max-width:1100px){body.ipr-v5 .ipr-show-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){body.ipr-v5 .ipr-show-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}body.ipr-v5 .ipr-show-card{min-height:0}body.ipr-v5 .ipr-show-card img,body.ipr-v5 .ipr-show-photo{height:150px}body.ipr-v5 .ipr-show-info strong{font-size:15px}body.ipr-v5 .ipr-wide{width:calc(100% - 26px)!important}}
@media(max-width:420px){body.ipr-v5 .ipr-show-grid{gap:8px}body.ipr-v5 .ipr-show-card img,body.ipr-v5 .ipr-show-photo{height:125px}body.ipr-v5 .ipr-show-info{padding:10px}body.ipr-v5 .ipr-show-info time{font-size:11px}}

/* V6 – Festival editorial portraits: optional illustrative reference photos, never artist identity photos. */
body.ipr-v6 .ipr-show-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;grid-auto-rows:minmax(255px,auto)}
body.ipr-v6 .ipr-show-card{min-height:255px;position:relative;overflow:hidden;background:#0c0c0c;border:1px solid #353535}
body.ipr-v6 .ipr-show-card img{width:100%;height:195px;object-fit:cover;object-position:center 25%;filter:grayscale(1) contrast(1.12);border-radius:0;transition:transform .25s}
body.ipr-v6 .ipr-show-card:hover img{transform:scale(1.035)}
body.ipr-v6 .ipr-show-info{min-height:85px;background:#0b0b0b;padding:12px 14px 14px}
body.ipr-v6 .ipr-show-info time{color:#fff000;font-weight:900;font-size:13px}
body.ipr-v6 .ipr-show-info strong{font-size:18px;line-height:1.15;color:#fff}
body.ipr-v6 .ipr-show-photo{height:195px}
body.ipr-v6 .ipr-photo-disclaimer{font-size:11px;color:#aaa;margin:7px 0 0}
@media(max-width:1000px){body.ipr-v6 .ipr-show-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.ipr-v6 .ipr-show-grid{gap:8px}body.ipr-v6 .ipr-show-card img{height:145px}body.ipr-v6 .ipr-show-info strong{font-size:14px}}

/* V7: live popup controls */
body.ipr-popup-body{background:radial-gradient(circle at 50% -10%,#514a00 0%,#111 45%,#050505 100%)!important;min-height:100vh}
body.ipr-popup-body .ipr-player{max-width:520px;margin:20px auto;padding:28px 26px 32px;border:1px solid #49452b;background:#090909f2;box-shadow:0 18px 80px #000a}
body.ipr-popup-body .ipr-player-status{color:#fff000;letter-spacing:2px;font-weight:900}
body.ipr-popup-body .ipr-player-track{font-size:clamp(22px,5vw,34px);font-weight:900;line-height:1.12;margin:16px 0 8px}
body.ipr-popup-body .ipr-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 0 8px}
body.ipr-popup-body .ipr-play{width:74px;height:74px;min-width:74px;border-radius:50%;background:#fff000;color:#050505;border:0;font-size:29px;cursor:pointer}
body.ipr-popup-body #ipr-volume{accent-color:#fff000;flex:1;min-width:120px}
body.ipr-popup-body .ipr-player-notice{font-size:13px;color:#ddd;min-height:35px}
body.ipr-popup-body .ipr-player-art{width:100%;aspect-ratio:1.45;display:grid;place-items:center;background:linear-gradient(135deg,#1d1b08,#080808 60%,#3b3500);border:1px solid #4e491c;margin:20px 0}
body.ipr-popup-body .ipr-player-art strong{font-size:clamp(24px,7vw,48px);line-height:.95;text-align:center;color:white;letter-spacing:-2px}
body.ipr-popup-body .ipr-player-art strong span{color:#fff000}
body.ipr-popup-body .ipr-player-hint-v7{color:#aaa;font-size:12px}

/* V7.3: recently played list */
.ipr-history-list{list-style:none;padding:0;margin:12px 0;color:#ddd}.ipr-history-list li{padding:9px 0;border-bottom:1px solid #303030;font-size:14px}

/* V8: original artist photos in grayscale */
.ipr-show-card img{filter:grayscale(1);transition:filter .25s}.ipr-show-card:hover img{filter:grayscale(.35)}

/* V8.2 — Authentic monochrome DJ portraits; no generated or placeholder photos. */
body.ipr-v8 .ipr-live-dj,body.ipr-v8 #ipr-nowplaying{display:block;font-family:Impact,'Arial Narrow',Arial,sans-serif!important;font-size:clamp(26px,2.7vw,38px)!important;line-height:1.05!important;font-weight:900!important;letter-spacing:.015em;text-transform:uppercase;color:#fff000!important;overflow-wrap:anywhere;margin:9px 0 6px}
body.ipr-v8 .ipr-live-show,body.ipr-v8 #ipr-nowplaying-show{color:#fff!important;font-size:16px!important;font-weight:800;line-height:1.2;display:block;margin:0 0 12px}
body.ipr-v8 .ipr-hero-player{min-height:0!important}
body.ipr-v8 .ipr-hero-disc.has-photo,body.ipr-v8 .ipr-art.has-photo{background-size:cover!important;background-position:center 29%!important;filter:grayscale(1) contrast(1.09);border:1px solid #333;overflow:hidden}
body.ipr-v8 .ipr-hero-disc.has-photo strong{display:none}
body.ipr-v8 .ipr-art{font-size:14px;font-weight:900;text-align:center;line-height:1.1;padding:6px;color:#fff000}
body.ipr-v8 .ipr-hero-disc:not(.has-photo){border:1px solid #333}
body.ipr-v8 .ipr-show-photo{background:#151515;color:#fff000;font-size:clamp(18px,2vw,29px);letter-spacing:.01em;font-weight:900;font-family:Impact,'Arial Narrow',Arial,sans-serif;text-align:center;line-height:1.1;padding:15px;overflow-wrap:anywhere}
body.ipr-v8 .ipr-show-card:hover img{filter:grayscale(1) contrast(1.12)}
@media(max-width:700px){body.ipr-v8 .ipr-live-dj,body.ipr-v8 #ipr-nowplaying{font-size:30px!important}body.ipr-v8 .ipr-track-layout{gap:12px}body.ipr-v8 .ipr-art{width:102px;height:110px;flex-basis:102px}}

/* BETA 8.3 — unified, restrained typography; maintain the authentic V7 grayscale imagery */
.ipr-site,body.ipr-popup-body{font-family:Arial,Helvetica,sans-serif}
/* Main brand remains unchanged; DJ and show labels inherit the same clean sans-serif family. */
body.ipr-v8 .ipr-hero-player h2,body.ipr-v8 .ipr-section-head h2,body.ipr-v8 .ipr-panel h2{font-family:Arial,Helvetica,sans-serif;letter-spacing:.02em}
body.ipr-v8 .ipr-hero-player p{font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:clamp(16px,1.7vw,24px)!important;line-height:1.17!important;color:var(--ipr-yellow)!important;letter-spacing:-.025em;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance;max-width:100%}
body.ipr-v8 .ipr-track-details strong{font-family:Arial,Helvetica,sans-serif;color:var(--ipr-yellow);font-weight:900;font-size:clamp(21px,2.4vw,32px);line-height:1.13;letter-spacing:-.025em;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
body.ipr-v8 .ipr-show-info strong{font-family:Arial,Helvetica,sans-serif;color:#fff;font-weight:850;font-size:clamp(15px,1.3vw,19px);line-height:1.24;letter-spacing:-.015em;text-transform:uppercase;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
body.ipr-v8 .ipr-show-info span{font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.4;color:#ddd;font-weight:500}
body.ipr-v8 .ipr-show-photo{font-family:Arial,Helvetica,sans-serif;color:var(--ipr-yellow);font-weight:900;font-size:clamp(17px,2.2vw,25px);line-height:1.12;text-align:center;letter-spacing:-.02em;padding:14px;overflow-wrap:normal;word-break:normal;text-wrap:balance}
body.ipr-v8 .ipr-show-card img{filter:grayscale(1) contrast(1.08);object-position:center 28%}
body.ipr-v8 .ipr-show-card:hover img{filter:grayscale(1) contrast(1.12)}
body.ipr-popup-body .ipr-player-track{font-family:Arial,Helvetica,sans-serif;color:var(--ipr-yellow);font-size:clamp(23px,5vw,36px);font-weight:900;letter-spacing:-.027em;line-height:1.16;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
body.ipr-popup-body .ipr-player-sub{font-family:Arial,Helvetica,sans-serif;color:#e5e5e5;letter-spacing:.015em}
@media(max-width:760px){body.ipr-v8 .ipr-hero-player p{font-size:clamp(16px,5vw,23px)!important}body.ipr-v8 .ipr-show-info strong{font-size:15px}body.ipr-v8 .ipr-show-photo{font-size:19px}}
@media(max-width:400px){body.ipr-v8 .ipr-hero-player p{font-size:17px!important}body.ipr-v8 .ipr-track-details strong{font-size:21px}}


/* BETA 8.4 — player typography matches the clean Weekly Schedule lettering.
   Scoped to player display only; schedule layout and manager integration unchanged. */
body.ipr-v8 .ipr-hero-player #ipr-hero-dj,
body.ipr-v8 .ipr-track-details #ipr-nowplaying {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(22px, 2.0vw, 29px) !important;
  font-weight: 850 !important;
  letter-spacing: -.025em !important;
  line-height: 1.16 !important;
  color: #fff000 !important;
  text-transform: uppercase;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: balance;
  max-width: 100%;
}
body.ipr-v8 .ipr-hero-player #ipr-hero-show,
body.ipr-v8 .ipr-track-details #ipr-nowplaying-show {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -.01em;
  line-height: 1.35 !important;
  color: #fff !important;
  overflow-wrap: normal;
  word-break: normal;
}
body.ipr-popup-body .ipr-player-track {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(23px, 4.5vw, 32px) !important;
  font-weight: 850 !important;
  letter-spacing: -.025em !important;
  line-height: 1.18 !important;
  color: #fff000 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: balance;
}
@media(max-width:700px){
  body.ipr-v8 .ipr-hero-player #ipr-hero-dj{font-size:clamp(21px,5.2vw,27px)!important}
  body.ipr-v8 .ipr-track-details #ipr-nowplaying{font-size:clamp(20px,5vw,26px)!important}
}

/* Bèta 8.6 — consistente festivaltypografie en originele zwart-wit fotografie. */
body.ipr-v8 .ipr-live-dj, body.ipr-v8 #ipr-nowplaying {font-family:Arial,Helvetica,sans-serif!important;font-weight:900!important;letter-spacing:-.035em!important;overflow-wrap:normal!important;word-break:normal!important;text-wrap:balance;}
body.ipr-v8 .ipr-show-photo{background:#191919!important;font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(17px,2vw,24px)!important;overflow-wrap:normal!important;word-break:normal!important;}
body.ipr-v8 .ipr-show-card img{filter:grayscale(1);object-fit:cover;object-position:center 25%;}
body.ipr-v8 .ipr-art.has-photo,body.ipr-v8 .ipr-hero-disc.has-photo{filter:grayscale(1);}
body.ipr-v8 .ipr-history-list{margin:10px 0 8px;padding:0;list-style:none;}
body.ipr-v8 .ipr-history-list li{padding:7px 0;border-bottom:1px solid #303030;font-size:12px;line-height:1.35;}

/* BETA 8.7 — mobile safe player labels; no changes to the approved schedule typography. */
body.ipr-v8 .ipr-hero-player{overflow:hidden}
body.ipr-v8 .ipr-hero-player #ipr-hero-dj{font-size:clamp(19px,1.9vw,27px)!important;max-width:100%;overflow-wrap:normal!important;word-break:normal!important;text-wrap:balance;hyphens:none}
body.ipr-v8 .ipr-hero-player #ipr-hero-show{font-size:13px!important;overflow-wrap:break-word!important}
@media(max-width:760px){body.ipr-v8 .ipr-hero-player #ipr-hero-dj{font-size:23px!important}}
@media(max-width:420px){body.ipr-v8 .ipr-track-details #ipr-nowplaying{font-size:21px!important;overflow-wrap:break-word!important}}

/* Bèta 9.0 - merchandise concept; existing schedule/player presentation unchanged. */
.ipr-merch-main{max-width:1180px;margin:0 auto;padding:64px 24px 95px;min-height:68vh}
.ipr-merch-eyebrow{color:#fff000;font-size:11px;font-weight:900;letter-spacing:3px}
.ipr-merch-main h1{font-size:clamp(45px,7vw,90px);line-height:1.02;letter-spacing:-.045em;color:white;margin:15px 0 12px}
.ipr-merch-main h1 span{color:#fff000}
.ipr-merch-intro{max-width:700px;color:#cacaca;font-size:17px;line-height:1.65}
.ipr-merch-status{margin:22px 0 38px;display:inline-block;border:1px solid #676000;padding:11px 15px;color:#fff000;font-size:12px;font-weight:800;letter-spacing:1px}
.ipr-merch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ipr-merch-item{background:#161616;border:1px solid #333;padding:22px;min-height:300px;display:flex;flex-direction:column;gap:12px}
.ipr-merch-graphic{height:196px;background:radial-gradient(circle at 48% 38%,#343000,#0d0d0d 65%);display:grid;place-items:center;border:1px solid #292929;color:#fff000}
.ipr-merch-graphic svg{width:140px;max-height:158px;fill:none;stroke:#fff000;stroke-width:3;stroke-linejoin:round}
.ipr-merch-item h2{color:#fff;font-size:21px;margin:3px 0 0}
.ipr-merch-item p{color:#aaa;font-size:13px;margin:0}
.ipr-merch-back{color:#fff000!important;font-size:13px;font-weight:800}
@media(max-width:700px){.ipr-merch-grid{grid-template-columns:1fr}.ipr-merch-main{padding:40px 17px 70px}.ipr-merch-item{min-height:0}}

/* Bèta 9.1 — editorial About Us and Join Us pages. Existing player/schedule untouched. */
.ipr-story-main{color:#fff;background:#101010;min-height:70vh}
.ipr-story-hero{padding:94px max(25px,calc((100vw - 1160px)/2)) 84px;background:linear-gradient(120deg,rgba(0,0,0,.91),rgba(0,0,0,.65)),url('assets/festival-stage.jpg') center 45%/cover;position:relative}
.ipr-story-hero-join{background-position:center 65%}
.ipr-story-eyebrow{font-size:12px;color:#fff000;font-weight:900;letter-spacing:2.7px;text-transform:uppercase}
.ipr-story-hero h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(44px,7.3vw,94px);line-height:1.02;letter-spacing:-.055em;margin:17px 0 18px;color:#fff;max-width:1030px}
.ipr-story-hero h1 em{font-style:normal;color:#fff000}
.ipr-story-hero p{font-size:clamp(16px,2vw,21px);color:#d5d5d5;line-height:1.55;max-width:660px}
.ipr-story-hero-line{margin-top:35px;display:inline-block;border-top:2px solid #fff000;padding-top:13px;color:#fff000;font-weight:850;font-size:13px;letter-spacing:1.5px}
.ipr-story-intro,.ipr-story-timeline,.ipr-story-cta,.ipr-join-grid{max-width:1160px;margin:auto;padding-left:24px;padding-right:24px}
.ipr-story-intro{padding-top:75px;padding-bottom:70px;max-width:860px;text-align:center}
.ipr-story-intro h2,.ipr-story-timeline h2,.ipr-story-cta h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(27px,3vw,41px);line-height:1.15;letter-spacing:-.035em;color:white;margin:15px 0 18px}
.ipr-story-intro p{color:#bbb;font-size:16px;line-height:1.85;margin:0 0 19px}
.ipr-story-timeline{padding-top:30px;padding-bottom:87px}
.ipr-timeline-grid,.ipr-join-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ipr-timeline-grid{margin-top:32px}
.ipr-timeline-grid article,.ipr-join-grid article{border:1px solid #343434;background:#191919;padding:28px;min-width:0}
.ipr-time-label{font-size:35px;font-weight:900;letter-spacing:-.04em;color:#fff000;margin-bottom:22px}
.ipr-timeline-grid h3,.ipr-join-grid h2{color:white;font-size:17px;letter-spacing:.2px;margin:0 0 11px}
.ipr-timeline-grid p,.ipr-join-grid p{font-size:14px;color:#bcbcbc;line-height:1.75;margin:0 0 11px}
.ipr-story-cta{border-top:1px solid #333;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:48px;padding-bottom:66px}
.ipr-story-cta p{color:#aaa;max-width:650px;line-height:1.7;margin:0 0 12px}
.ipr-story-button{display:inline-block;background:#fff000;color:#101010!important;text-decoration:none;padding:18px 25px;font-size:13px;font-weight:900;white-space:nowrap;letter-spacing:1px}
.ipr-story-email{color:#fff000!important;font-size:clamp(18px,2vw,27px);font-weight:800;text-decoration:none}
.ipr-story-note{font-size:12px!important;margin-top:15px!important}
.ipr-join-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:15px;padding-bottom:55px}
.ipr-join-icon{font-size:28px;color:#fff000;font-weight:900;margin-bottom:18px}
@media(max-width:760px){.ipr-story-hero{padding:65px 20px 65px}.ipr-story-intro{padding-top:50px;padding-bottom:40px}.ipr-timeline-grid,.ipr-join-grid{grid-template-columns:1fr}.ipr-story-cta{flex-direction:column;align-items:flex-start}.ipr-story-timeline{padding-bottom:50px}}

/* Bèta 9.2 — Join Us form */
.ipr-join-form-area{display:block;max-width:950px}
.ipr-join-form-header{margin-bottom:30px}
.ipr-join-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;background:#191919;border:1px solid #333;padding:28px}
.ipr-form-field{display:flex;flex-direction:column;gap:9px}
.ipr-form-field:nth-of-type(6),.ipr-form-consent,.ipr-form-submit,.ipr-join-form .ipr-story-note{grid-column:1/-1}
.ipr-form-field label{color:#fff;font-size:13px;font-weight:800}
.ipr-form-field input,.ipr-form-field select,.ipr-form-field textarea{display:block;width:100%;box-sizing:border-box;background:#0e0e0e;border:1px solid #484848;border-radius:0;color:#fff;padding:14px;font:inherit;font-size:15px}
.ipr-form-field input:focus,.ipr-form-field select:focus,.ipr-form-field textarea:focus{outline:2px solid #fff000;outline-offset:1px}
.ipr-form-consent{display:flex;gap:12px;color:#ccc;font-size:13px;line-height:1.6;align-items:flex-start}
.ipr-form-consent input{accent-color:#fff000;margin-top:4px}
.ipr-form-submit{border:0;cursor:pointer;justify-self:start}
.ipr-form-notice{margin-bottom:22px;padding:17px 20px;border:1px solid #555;color:#fff}
.ipr-form-success{border-color:#c2d848}
.ipr-form-error{border-color:#ec7373}
.ipr-form-trap{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:650px){.ipr-join-form{grid-template-columns:1fr;padding:20px}.ipr-join-form-area{padding-top:40px}}

/* Bèta 9.3 — accessible form feedback and state. */
.ipr-join-form button.ipr-form-submit{pointer-events:auto!important;opacity:1;min-width:190px;text-align:center;line-height:1.35;border-radius:2px;touch-action:manipulation}
.ipr-join-form button.ipr-form-submit:disabled{opacity:.55!important;cursor:not-allowed!important}
.ipr-form-feedback{grid-column:1/-1;padding:16px 18px;border:1px solid #555;color:#fff;font-size:14px;line-height:1.6}
.ipr-form-feedback.ipr-form-success{border-color:#b7d94f;background:#172114}
.ipr-form-feedback.ipr-form-error{border-color:#f88080;background:#291313}

/* Beta 9.3.1: form button remains actionable; server response supplies diagnostics. */
.ipr-join-form .ipr-form-submit:not(:disabled){cursor:pointer!important;pointer-events:auto!important;opacity:1!important}

/* Bèta 9.6: stable popup dimensions during track changes. */
body.ipr-popup-body .ipr-player{width:min(520px,calc(100% - 24px));min-height:700px;box-sizing:border-box}
body.ipr-popup-body .ipr-player-track{height:80px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
body.ipr-popup-body #ipr-popup-history{height:145px;overflow-y:auto}
@media(max-width:560px){body.ipr-popup-body .ipr-player{width:calc(100% - 16px);min-height:0}}

/* Bèta 9.8: real album cover artwork, same square across track changes. */
body.ipr-v8 .ipr-art.has-artwork{background-color:#101010!important;background-size:cover!important;background-position:center!important;border:1px solid #333;filter:none!important;overflow:hidden}
@media(max-width:650px){body.ipr-v8 .ipr-art{width:90px;height:90px;flex-basis:90px}}

/* Bèta 10.1 — DJ profile pages; fixed station styling, original artist imagery */
.ipr-dj-detail{padding-block:35px 75px;min-height:65vh}.ipr-dj-back{display:inline-block;margin-bottom:22px;color:#fff000!important;font-size:12px;font-weight:900;letter-spacing:1px}.ipr-dj-detail-grid{display:grid;grid-template-columns:minmax(240px,390px) 1fr;gap:clamp(24px,5vw,72px);align-items:start}.ipr-dj-portrait{aspect-ratio:1/1;background:#141414;border:1px solid #343434;display:grid;place-items:center;overflow:hidden;min-width:0}.ipr-dj-portrait img{width:100%;height:100%;object-fit:contain}.ipr-dj-portrait span{color:#fff000;font-size:clamp(24px,3vw,42px);font-weight:900;text-transform:uppercase;text-align:center;padding:25px;overflow-wrap:anywhere}.ipr-dj-text h1{color:#fff!important;font-size:clamp(34px,5vw,66px);line-height:1.1;margin:10px 0 24px!important;overflow-wrap:anywhere}.ipr-dj-text h2{font-size:17px!important;color:#fff!important;margin:26px 0 12px!important}.ipr-dj-biography{color:#ddd;line-height:1.7}.ipr-dj-times{display:grid;gap:8px}.ipr-dj-times>div{border:1px solid #333;background:#141414;padding:13px 17px;display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between}.ipr-dj-times strong{color:#fff}.ipr-dj-times span{color:#fff000}.ipr-dj-socials{display:flex;gap:9px;flex-wrap:wrap}.ipr-dj-socials a{border:1px solid #fff000;color:#fff000!important;padding:9px 13px;font-weight:800;font-size:12px}.ipr-dj-socials a:hover{background:#fff000;color:#000!important}@media(max-width:740px){.ipr-dj-detail-grid{grid-template-columns:1fr}.ipr-dj-portrait{max-width:440px}.ipr-dj-text h1{font-size:36px}}

/* Beta 10.2 - DJ portal, retains the site's fixed typography and colors */
.ipr-dj-edit{max-width:860px;padding:42px 25px 90px;min-height:70vh}.ipr-dj-edit h1{color:#fff;font-size:clamp(30px,4vw,52px)}.ipr-dj-edit p{color:#ddd}.ipr-dj-edit form{margin:26px 0;display:grid;gap:20px}.ipr-dj-edit label{display:grid;gap:8px;color:#fff;font-weight:700}.ipr-dj-edit input:not([type=file]),.ipr-dj-edit textarea{width:100%;background:#141414;border:1px solid #555;color:#fff;padding:13px;font:inherit}.ipr-dj-edit input[type=file]{color:#fff}.ipr-dj-edit button{background:#fff000;border:0;color:#000;font-weight:900;padding:15px 22px;cursor:pointer;justify-self:start}.ipr-dj-message{border-left:4px solid #fff000;background:#161616;padding:14px 18px}.ipr-dj-edit a{color:#fff000}
