/* JDN Radio 101.5FM — main stylesheet. Tokens match the approved design brief. */

@font-face{font-family:'Archivo';src:url('../fonts/Archivo-Variable.woff2') format('woff2-variations');font-weight:100 900;font-stretch:75% 125%;font-display:swap;}
@font-face{font-family:'IBM Plex Mono';src:url('../fonts/IBMPlexMono-Regular.woff2') format('woff2');font-weight:400;font-display:swap;}
@font-face{font-family:'IBM Plex Mono';src:url('../fonts/IBMPlexMono-Medium.woff2') format('woff2');font-weight:500;font-display:swap;}

:root{
	--ink:#0C0D0C; --paper:#F6F5F1;
	--green:#2E9E3A; --green-ink:#1F7A29; --green-bright:#4FBF5B;
	--live:#B02A2F;
	--line:#E2E0D9; --muted:#4C4A45; --muted2:#918F86;
	--tint:#EFF6EF;
	--surface:#FFFFFF;
	--font:'Archivo',system-ui,-apple-system,sans-serif;
	--mono:'IBM Plex Mono',ui-monospace,monospace;
}

*,*::before,*::after{box-sizing:border-box;min-width:0}
html{background:var(--paper);overflow-x:hidden}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.4;-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100vw}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--green-ink)}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4{margin:0;letter-spacing:-.01em}

.jdn-wrap{max-width:1280px;margin:0 auto;padding:0 clamp(12px,3vw,32px)}
.jdn-section{padding:clamp(24px,4vw,44px) clamp(12px,3vw,32px)}
.jdn-section .jdn-h2row,.jdn-section .jdn-sechead{padding:0}

/* ---------- Utility bar ---------- */
.jdn-util{background:var(--ink);color:#B9B7AE}
.jdn-util__in{display:flex;flex-wrap:wrap;align-items:center;gap:16px;justify-content:space-between;min-height:34px;font:500 11px/1 var(--mono);letter-spacing:.06em}
.jdn-util__sep{color:#4A4944;margin:0 16px}
.jdn-util__adv{color:var(--green-bright);font:600 11px/1 var(--mono);letter-spacing:.08em}

/* ---------- Masthead ---------- */
.jdn-mast{background:var(--paper);border-bottom:1px solid var(--line)}
.jdn-mast__in{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(12px,2vw,28px);padding-top:16px;padding-bottom:16px}
.jdn-brand{display:flex;align-items:center;gap:12px}
.jdn-brand__mark{width:46px;height:46px;border-radius:50%;border:3px solid var(--green);display:flex;align-items:center;justify-content:center;flex:none}
.jdn-brand__mark span{width:12px;height:22px;border-radius:6px;background:var(--green)}
.jdn-brand__logo img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.jdn-brand__text{line-height:1}
.jdn-brand__name{display:block;font:900 clamp(20px,3.4vw,27px)/.92 var(--font);letter-spacing:-.02em}
.jdn-brand__freq{display:block;font:600 11px/1.2 var(--mono);letter-spacing:.2em;color:var(--live);margin-top:3px}
.jdn-search{flex:1 1 200px;min-width:140px;display:flex;align-items:center;gap:8px;border:1px solid #DCD9D0;background:#FFF;border-radius:2px;padding:9px 12px}
.jdn-search__ico{width:11px;height:11px;border:2px solid var(--muted2);border-radius:50%;flex:none}
.jdn-search input{border:0;outline:0;background:transparent;font:400 13px/1 var(--font);width:100%;color:var(--ink)}
.jdn-search input::placeholder{color:var(--muted2)}
.jdn-live-btn{flex:none;display:flex;align-items:center;gap:10px;background:var(--live);color:#FFF;border:none;border-radius:2px;padding:12px 18px;font:800 13px/1 var(--font);letter-spacing:.06em;text-transform:uppercase}
.jdn-live-btn:hover{background:#8f2226;color:#fff}
.jdn-live-btn.is-playing{background:var(--green)}
.jdn-menu-toggle{display:none;flex:none;width:40px;height:40px;border:1px solid var(--line);background:transparent;border-radius:2px;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.jdn-menu-toggle span{display:block;width:18px;height:2px;background:var(--ink);transition:transform .2s ease,opacity .2s ease}
.jdn-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.jdn-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.jdn-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.jdn-dot{width:8px;height:8px;border-radius:50%;background:#fff;animation:jdn-pulse 1.6s ease-in-out infinite;flex:none}
.jdn-dot--red{background:var(--live)}
@keyframes jdn-pulse{0%,100%{opacity:1}50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.jdn-dot,.jdn-eq i{animation:none!important}}

/* ---------- Section nav ---------- */
.jdn-nav{background:var(--ink);position:sticky;top:0;z-index:40;border-bottom:1px solid #23241F}
.jdn-nav__in{display:flex;gap:clamp(14px,2vw,26px);overflow-x:auto;padding-top:2px;padding-bottom:2px;scrollbar-width:none}
.jdn-nav__in::-webkit-scrollbar{display:none}
.jdn-nav__link{flex:none;padding:13px 0;font:700 13px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:#B9B7AE;border-bottom:3px solid transparent;white-space:nowrap}
.jdn-nav__link:hover{color:#fff}
.jdn-nav__link--on{color:var(--green-bright);border-bottom-color:var(--green-bright)}

/* ---------- Ticker ---------- */
.jdn-ticker{background:var(--live);color:#fff;overflow:hidden;display:flex;align-items:stretch}
.jdn-ticker__tag{flex:none;background:var(--ink);padding:9px clamp(12px,2vw,20px);font:800 12px/1.3 var(--font);letter-spacing:.1em;display:flex;align-items:center;gap:8px}
.jdn-ticker__track{flex:1;overflow:hidden;position:relative;display:flex;align-items:center}
.jdn-ticker__run{display:flex;flex:none;width:max-content;white-space:nowrap;animation:jdn-tick 42s linear infinite}
@media (prefers-reduced-motion:reduce){.jdn-ticker__run{animation-duration:120s}}
.jdn-ticker__set{display:flex;flex:none;gap:40px;padding:0 20px}
.jdn-ticker__set a{color:#fff;font:500 13px/1 var(--mono);letter-spacing:.02em;white-space:nowrap}
@keyframes jdn-tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- On-air band ---------- */
.jdn-onair{background:linear-gradient(160deg,#0F2413 0%,#0C0D0C 78%);color:var(--paper)}
.jdn-onair__in{display:flex;flex-wrap:wrap;gap:clamp(18px,3vw,36px);align-items:center;padding-top:clamp(18px,3vw,30px);padding-bottom:clamp(18px,3vw,30px)}
.jdn-play-big{flex:none;width:clamp(72px,9vw,92px);height:clamp(72px,9vw,92px);border-radius:50%;border:2px solid var(--green);background:var(--green);color:var(--ink);font:800 20px/1 var(--font);display:flex;align-items:center;justify-content:center}
.jdn-play-big:hover{filter:brightness(1.08)}
.jdn-onair__main{flex:1 1 300px;min-width:220px}
.jdn-onair__meta{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.jdn-onair__title{font:900 clamp(28px,5vw,46px)/.95 var(--font);letter-spacing:-.02em;color:#fff}
.jdn-onair__desc{font:400 clamp(13px,1.5vw,15px)/1.5 var(--font);color:#B9B7AE;margin:8px 0 0;max-width:52ch}
.jdn-onair__bar{display:flex;align-items:center;gap:10px;margin-top:14px}
.jdn-progress{flex:1;height:4px;background:#2A2B25;border-radius:2px;overflow:hidden}
.jdn-progress div{height:100%;background:var(--green)}
.jdn-eq{display:flex;gap:2px;align-items:flex-end;height:18px}
.jdn-eq i{width:3px;height:18px;background:var(--green);animation:jdn-eq .9s ease-in-out infinite;display:block;font-style:normal;transform:scaleY(.35)}
.jdn-eq i:nth-child(2){animation-delay:.15s}.jdn-eq i:nth-child(3){animation-delay:.3s}.jdn-eq i:nth-child(4){animation-delay:.45s}
.jdn-eq.is-playing i{animation-play-state:running}
.jdn-eq:not(.is-playing) i{animation-play-state:paused;transform:scaleY(.35)}
@keyframes jdn-eq{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
.jdn-onair__next{flex:0 1 260px;min-width:220px;border-left:1px solid #26271F;padding-left:clamp(14px,2vw,24px)}
.jdn-onair__label{margin-bottom:12px}
.jdn-onair__row{display:flex;gap:12px;padding:7px 0;border-bottom:1px solid #1D1E18;color:#E7E5DC;font:600 13px/1.4 var(--font)}
.jdn-onair__row:last-of-type{border-bottom:0}
.jdn-more{display:inline-block;margin-top:12px;font:700 11px/1 var(--mono);letter-spacing:.1em;color:var(--green-bright)}

/* ---------- Mono / kicker helpers ---------- */
.jdn-mono{font:500 11px/1 var(--mono);letter-spacing:.1em}
.jdn-mono--live{color:var(--live);font-weight:600;letter-spacing:.2em;font-size:10px}
.jdn-mono--green{color:var(--green)}
.jdn-mono--green-ink{color:var(--green-ink);font-weight:600;letter-spacing:.16em;font-size:10px}
.jdn-mono--dim{color:#7C7A72}
.jdn-mono--muted{color:var(--muted2);letter-spacing:.12em;font-size:10px}
.jdn-kicker{font:800 10px/1 var(--font);letter-spacing:.14em;color:var(--green-ink)}
.jdn-kicker--green{color:var(--green-ink)}
.jdn-flag{display:inline-block;background:var(--live);color:#fff;font:800 10px/1 var(--font);letter-spacing:.14em;padding:5px 8px}
.jdn-meta{display:flex;gap:10px;align-items:center;margin:0 0 8px;flex-wrap:wrap}

/* ---------- Headings ---------- */
.jdn-h1{font:900 clamp(26px,4vw,40px)/1.05 var(--font);letter-spacing:-.02em}
.jdn-h1--light{color:#fff}
.jdn-h2{font:900 clamp(19px,2.4vw,25px)/1 var(--font);letter-spacing:-.01em}
.jdn-h2--plain{border:0;padding:0}
.jdn-h2--light{color:#fff}
.jdn-h3{font:800 17px/1.25 var(--font);margin:6px 0 0}
.jdn-h2row{display:flex;align-items:baseline;gap:12px;border-bottom:3px solid var(--ink);padding-bottom:8px;margin:0 0 18px}
.jdn-h2row--between{justify-content:space-between;flex-wrap:wrap}
.jdn-standfirst{font:400 17px/1.5 var(--font);color:var(--muted);margin:8px 0 0;max-width:62ch}
.jdn-standfirst--light{color:#B9B7AE}
.jdn-sechead{padding:clamp(20px,3vw,32px) 0 clamp(10px,2vw,18px)}

/* ---------- Grid layout ---------- */
.jdn-grid{display:flex;flex-wrap:wrap;gap:clamp(24px,3vw,40px);align-items:flex-start;padding-top:clamp(20px,3vw,32px);padding-bottom:clamp(30px,4vw,52px)}
.jdn-grid__main{flex:1 1 560px;min-width:290px}
.jdn-grid__side{flex:0 1 300px;min-width:270px;display:flex;flex-direction:column;gap:26px;position:sticky;top:70px}

/* ---------- Lead + secondaries ---------- */
.jdn-lead{display:block}
.jdn-lead__img{position:relative;width:100%;aspect-ratio:16/9;background:var(--line);overflow:hidden}
.jdn-lead__img img{width:100%;height:100%;object-fit:cover}
.jdn-lead .jdn-meta{margin:14px 0 8px}
.jdn-lead__title{font:900 clamp(25px,3.6vw,40px)/1.03 var(--font);letter-spacing:-.025em}
.jdn-lead__dek{margin:12px 0 0;font:400 clamp(14px,1.6vw,16px)/1.6 var(--font);color:var(--muted);max-width:62ch}
.jdn-secondaries{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;margin:26px 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.jdn-sec h4{font:700 clamp(15px,1.8vw,18px)/1.22 var(--font);letter-spacing:-.01em;margin:7px 0 8px}

/* ---------- Lists ---------- */
.jdn-list{display:flex;flex-direction:column}
.jdn-row{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.jdn-row__thumb{flex:none;width:96px;height:68px;background:var(--line);overflow:hidden}
.jdn-row__thumb img{width:100%;height:100%;object-fit:cover}
.jdn-row__title{font:700 clamp(15px,1.8vw,17px)/1.25 var(--font);letter-spacing:-.01em;margin-top:2px}

.jdn-feed .jdn-feedrow{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.jdn-feedrow__thumb{flex:none;width:120px;height:84px;background:var(--line);overflow:hidden}
.jdn-feedrow__thumb img{width:100%;height:100%;object-fit:cover}
.jdn-feedrow__title{font:700 17px/1.3 var(--font);margin:4px 0}
.jdn-feedrow__dek{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.jdn-pager{display:flex;gap:6px;flex-wrap:wrap;margin-top:20px}
.jdn-pager .page-numbers{padding:8px 12px;border:1px solid var(--line);font:600 13px/1 var(--font)}
.jdn-pager .current{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------- Dark Metro block ---------- */
.jdn-dark{background:var(--ink);color:var(--paper);padding:clamp(18px,2.6vw,28px);margin:8px 0 0}
.jdn-dark__head{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;justify-content:space-between;border-bottom:1px solid #26271F;padding-bottom:12px;margin-bottom:16px}
.jdn-dark__row{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid #1D1E18;align-items:baseline;color:#E7E5DC;font:600 clamp(14px,1.7vw,16px)/1.35 var(--font)}
.jdn-dark__row:last-of-type{border-bottom:0}

/* ---------- Sidebar ---------- */
.jdn-trending .jdn-h3{border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:6px;font-size:15px}
.jdn-trending__row{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font:600 14px/1.35 var(--font)}
.jdn-trending__n{font:800 13px/1 var(--mono);color:var(--muted2);flex:none}
.jdn-trending--dark .jdn-h3{color:#fff;border-color:#26271F}
.jdn-trending--dark .jdn-trending__row{color:#E7E5DC;border-color:#1D1E18}
.jdn-tint{background:var(--tint);padding:18px;border-radius:2px}
.jdn-tint .jdn-h3{margin:6px 0 12px}

.jdn-poll{border:1px solid var(--line);padding:18px}
.jdn-poll__opt{position:relative;display:flex;justify-content:space-between;width:100%;text-align:left;background:transparent;border:1px solid var(--line);padding:10px 12px;margin-top:8px;font:600 13px/1.3 var(--font);overflow:hidden;z-index:0}
.jdn-poll__opt i{position:absolute;left:0;top:0;bottom:0;background:var(--tint);z-index:-1}
.jdn-poll__count{margin-top:10px}
.jdn-poll.is-voted .jdn-poll__opt{pointer-events:none}

/* ---------- Program grid ---------- */
.jdn-pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.jdn-pcard{display:block;background:var(--surface);border:1px solid var(--line);padding:18px}
.jdn-pcard h4{margin:9px 0 8px;font:800 19px/1.15 var(--font);letter-spacing:-.01em}
.jdn-pcard p{margin:0;font:400 13px/1.5 var(--font);color:var(--muted)}
.jdn-pcard--sponsor{border-color:var(--green);background:var(--tint);display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.jdn-pcard__logo{height:44px;display:flex;align-items:center}
.jdn-pcard__logo img{max-height:44px;width:auto}

/* ---------- Presenters ---------- */
.jdn-presgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px}
.jdn-pres{display:block}
.jdn-pres__img{width:100%;aspect-ratio:4/5;background:var(--line);overflow:hidden}
.jdn-pres__img img{width:100%;height:100%;object-fit:cover}
.jdn-pres__name{font:700 15px/1.3 var(--font);margin-top:10px}
.jdn-presdetail{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;margin-bottom:10px}
.jdn-presdetail__img{width:180px;aspect-ratio:4/5;background:var(--line);flex:none;overflow:hidden}
.jdn-presdetail__img img{width:100%;height:100%;object-fit:cover}

/* ---------- App band ---------- */
.jdn-app{background:var(--tint);padding:clamp(24px,4vw,40px);display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.jdn-app__text{flex:1 1 320px}
.jdn-app__text p{color:var(--muted);max-width:56ch;margin:8px 0 0}
.jdn-app__btns{display:flex;flex-direction:column;gap:10px;flex:0 0 240px}
.jdn-app__btns small{display:block;font:500 10px/1 var(--mono);letter-spacing:.1em;margin-top:3px;opacity:.85}
.jdn-app__note{flex-basis:100%;max-width:70ch}

/* ---------- Buttons ---------- */
.jdn-btn{display:inline-flex;flex-direction:column;align-items:center;background:var(--green);color:#0C0D0C;border:none;padding:13px 20px;font:800 13px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;text-align:center}
.jdn-btn:hover{filter:brightness(1.06);color:#0C0D0C}
.jdn-btn-outline{display:inline-flex;flex-direction:column;align-items:center;border:1px solid var(--green);color:var(--green-ink);padding:11px 15px;font:700 12px/1 var(--font);letter-spacing:.06em;background:transparent}

/* ---------- Ads ---------- */
.jdn-ad{width:100%;max-width:var(--ad-w,100%);min-height:var(--ad-h,90px);margin:0 auto;display:flex;align-items:center;justify-content:center;background:transparent;overflow:hidden}
.jdn-ad__img{width:100%;height:100%;object-fit:cover}
.jdn-ad__label{position:absolute;font:500 9px/1 var(--mono);letter-spacing:.12em;color:var(--muted2);align-self:flex-start;margin-bottom:4px}
.jdn-ad--empty{border:1px dashed #c9c5bd;color:var(--muted2);font:500 12px/1.4 var(--font);text-align:center;padding:16px}
.jdn-ad--center{margin:16px auto}
.jdn-ad--sticky{position:sticky;top:80px}

/* ---------- Article ---------- */
.jdn-article__head{padding:clamp(18px,3vw,28px) 0 0}
.jdn-article__title{font:900 clamp(28px,4.2vw,44px)/1.08 var(--font);letter-spacing:-.02em;margin:10px 0 0}
.jdn-article__dek{font:400 18px/1.55 var(--font);color:var(--muted);margin:14px 0 0;max-width:62ch}
.jdn-byline{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin:20px 0 0;padding-bottom:16px;border-bottom:1px solid var(--line)}
.jdn-byline__who{display:flex;align-items:center;gap:10px}
.jdn-avatar{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.jdn-byline__name{font:700 13px/1.3 var(--font)}
.jdn-share{display:flex;gap:14px}
.jdn-share a,.jdn-share button{font:700 11px/1 var(--mono);letter-spacing:.1em;color:var(--green-ink);background:none;border:none;padding:0}
.jdn-article__fig{margin:20px 0 0}
.jdn-article__fig img{width:100%;aspect-ratio:16/9;object-fit:cover}
.jdn-article__fig figcaption{font:400 12px/1.4 var(--font);color:var(--muted2);margin-top:6px}

.jdn-heard{display:flex;gap:14px;align-items:center;background:var(--tint);border-left:4px solid var(--green);padding:14px 16px;margin:24px 0}
.jdn-heard__text{flex:1;min-width:0}
.jdn-heard__title{font:700 14px/1.4 var(--font);color:var(--green-ink);margin-top:2px}
.jdn-heard__link{flex:none;white-space:nowrap}
.jdn-play-sm{flex:none;width:40px;height:40px;border-radius:50%;background:var(--green);color:#0C0D0C;border:none;font:800 13px/1 var(--font)}

.jdn-prose{font:400 16px/1.7 var(--font);color:var(--ink);max-width:68ch}
.jdn-prose--article p{font-size:clamp(16px,1.8vw,18px);line-height:1.75;margin:0 0 20px}
.jdn-prose p:first-child{margin-top:0}
.jdn-prose h2,.jdn-prose h3{margin:28px 0 12px}
.jdn-prose blockquote{border-left:3px solid var(--green);margin:24px 0;padding:2px 0 2px 20px;font-style:italic;color:var(--muted)}

.jdn-react{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:28px 0}
.jdn-react__row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.jdn-react__row button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:transparent;padding:9px 14px;font:600 13px/1 var(--font)}
.jdn-react__row button:hover{border-color:var(--green)}
.jdn-react__row button.is-active{background:var(--tint);border-color:var(--green);color:var(--green-ink)}
.jdn-react__row b{font-weight:800}

.jdn-commentbox{margin:28px 0}
.jdn-commentlist{list-style:none;margin:14px 0;padding:0}
.jdn-comment{padding:14px 0;border-bottom:1px solid var(--line)}
.jdn-comment__head{display:flex;gap:10px;align-items:baseline;justify-content:space-between}
.jdn-comment__who{font-weight:700;font-size:13px}
.jdn-comment__text p{margin:6px 0 0;font-size:14px;line-height:1.6}
.jdn-form{display:flex;flex-direction:column;gap:14px}
.jdn-form label{display:flex;flex-direction:column;gap:6px;font:600 12px/1 var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.jdn-form input,.jdn-form textarea{font:400 14px/1.5 var(--font);border:1px solid var(--line);padding:10px 12px;background:#fff;color:var(--ink)}
.jdn-form__ok{color:var(--green-ink);font-weight:600}
#commentform{display:flex;flex-direction:column;gap:12px;margin-top:16px}
#commentform textarea,#commentform input[type=text],#commentform input[type=email],#commentform input[type=url]{font:400 14px/1.5 var(--font);border:1px solid var(--line);padding:10px 12px}

/* ---------- Program hero (single-program) ---------- */
.jdn-programhero{background:linear-gradient(160deg,#0F2413 0%,#0C0D0C 78%);padding:clamp(30px,5vw,52px) 0}
.jdn-programhero__in{max-width:1280px;margin:0 auto;padding:0 clamp(12px,3vw,32px)}
.jdn-programhero .jdn-btn{margin-top:16px}
.jdn-presented{display:block;margin-bottom:20px}
.jdn-presented__row{display:flex;align-items:center;gap:12px;margin-top:8px}
.jdn-presented__img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.jdn-presented__row span{font:700 15px/1 var(--font)}
.jdn-episodes{display:flex;flex-direction:column;margin-top:16px}
.jdn-episode{display:flex;align-items:center;gap:14px;border:none;background:transparent;border-bottom:1px solid var(--line);padding:12px 0;text-align:left;width:100%}
.jdn-episode__play{width:32px;height:32px;border-radius:50%;background:var(--tint);color:var(--green-ink);display:flex;align-items:center;justify-content:center;flex:none;font-size:11px}
.jdn-episode__body{display:flex;flex-direction:column;gap:2px}

/* ---------- Schedule page ---------- */
.jdn-daytabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:20px}
.jdn-daytab{flex:none;padding:10px 16px;border:1px solid var(--line);background:transparent;font:700 12px/1 var(--font);letter-spacing:.06em}
.jdn-daytab--on{background:var(--ink);color:#fff;border-color:var(--ink)}
.jdn-schedrow{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);align-items:baseline}
.jdn-schedrow__time{flex:none;width:120px}
.jdn-schedrow__body{display:flex;flex-direction:column;gap:2px}
.jdn-schedrow__name{font:800 16px/1.3 var(--font)}
.jdn-schedrow__desc{font-size:13px;color:var(--muted)}

/* ---------- Listen live page ---------- */
.jdn-listen{background:linear-gradient(160deg,#0F2413 0%,#0C0D0C 78%);color:var(--paper);padding:clamp(30px,6vw,64px) 0;min-height:70vh}
.jdn-listen__in{display:flex;flex-wrap:wrap;gap:40px}
.jdn-listen__main{flex:1 1 380px}
.jdn-listen__title{font:900 clamp(30px,6vw,56px)/1.02 var(--font);letter-spacing:-.02em;color:#fff;margin:10px 0 0}
.jdn-listen__desc{color:#B9B7AE;max-width:52ch;margin:14px 0 0}
.jdn-play-huge{width:clamp(96px,14vw,140px);height:clamp(96px,14vw,140px);border-radius:50%;background:var(--green);color:#0C0D0C;border:none;font:800 24px/1 var(--font);margin:28px 0 12px}
.jdn-listen__bar{display:flex;align-items:center;gap:12px;margin-top:20px;max-width:420px}
.jdn-listen__err{color:var(--live);font-weight:700;margin-top:16px}
.jdn-listen__side{flex:0 1 300px;min-width:260px;border-left:1px solid #26271F;padding-left:24px}
.jdn-listen__row{display:flex;gap:14px;padding:10px 0;border-bottom:1px solid #1D1E18;color:#E7E5DC;font:600 14px/1.3 var(--font)}
.jdn-listen__row--on{color:#fff}

/* ---------- Advertise page ---------- */
.jdn-advhero{background:linear-gradient(160deg,#0F2413 0%,#0C0D0C 78%);padding:clamp(30px,5vw,52px) 0}
.jdn-advstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-top:28px;padding-top:24px;border-top:1px solid #26271F}
.jdn-advstat__n{font:900 clamp(24px,3.4vw,36px)/1 var(--font);color:#fff}
.jdn-advstat__label{color:#B9B7AE;font-size:13px;margin-top:4px}
.jdn-ratecard{border:1px solid var(--line)}
.jdn-ratecard__row{display:grid;grid-template-columns:2fr 1.4fr 1.6fr 1fr;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);align-items:center;font-size:14px}
.jdn-ratecard__row:last-child{border-bottom:0}
.jdn-ratecard__row--head{background:var(--tint);font:700 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.jdn-ratecard__price{font-weight:800;color:var(--green-ink)}
.jdn-enquiry__in{display:grid;grid-template-columns:1fr 1fr;gap:40px}

/* ---------- About page ---------- */
.jdn-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:24px}
.jdn-pillar{border:1px solid var(--line);padding:18px}
.jdn-pillar h4{font-size:15px;margin-bottom:8px}
.jdn-pillar p{margin:0;font-size:13px;color:var(--muted);line-height:1.55}
.jdn-aboutinfo{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.jdn-aboutinfo > div > div:last-child{font:600 15px/1.6 var(--font);margin-top:8px}

/* ---------- Footer ---------- */
.jdn-footer{background:var(--ink);color:#B9B7AE;margin-top:clamp(34px,5vw,64px);padding:clamp(28px,4vw,48px) 0 0}
.jdn-footer__in{display:flex;flex-wrap:wrap;gap:32px}
.jdn-footer__logo{font:900 24px/1 var(--font);color:#fff}
.jdn-footer__logo span{color:var(--live)}
.jdn-footer__brand p{margin:14px 0 0;font:400 14px/1.65 var(--font);max-width:40ch}
.jdn-footer__addr{margin-top:14px}
.jdn-footer__addr a{color:#E7E5DC}
.jdn-footer__col{flex:0 1 160px}
.jdn-footer__h{margin-bottom:14px}
.jdn-footer__col a{display:block;color:#E7E5DC;font:600 13px/2 var(--font)}
.jdn-footer__app{color:var(--green-bright);font:700 13px/2 var(--font)}
.jdn-footer__app--ios{color:#E7E5DC}
.jdn-footer__copy{padding-top:32px;padding-bottom:100px;margin-top:32px;border-top:1px solid #23241F;font:500 11px/1.6 var(--mono);color:#5F5E58}

/* ---------- Sticky player bar ---------- */
.jdn-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;flex-direction:column}
.jdn-sticky__ad{display:flex;justify-content:center;background:var(--ink)}
.jdn-sticky__ad .jdn-ad{padding:6px 8px;max-width:320px}
.jdn-sticky__bar{background:var(--ink);border-top:1px solid #26271F;padding:9px clamp(10px,2vw,24px)}
.jdn-sticky__in{display:flex;align-items:center;gap:clamp(10px,2vw,20px)}
.jdn-sticky__text{flex:1 1 auto;min-width:0}
.jdn-sticky__live{display:flex;align-items:center;gap:8px}
.jdn-sticky__title{font:800 14px/1.2 var(--font);color:#fff;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jdn-sticky__title span:last-child{color:#7C7A72;font-weight:500}
.jdn-sticky__link{flex:none;white-space:nowrap}

/* ---------- Misc ---------- */
.jdn-empty{border:1px dashed var(--line);padding:24px;color:var(--muted2);font-size:14px}
::selection{background:var(--green);color:var(--ink)}

/* ---------- Responsive: below 720px, one column ---------- */
@media (max-width:719px){
	.jdn-menu-toggle{display:flex}
	.jdn-nav{max-height:0;overflow:hidden;transition:max-height .25s ease}
	.jdn-nav.is-open{max-height:80vh;overflow-y:auto}
	.jdn-nav__in{flex-direction:column;gap:0;overflow-x:visible;padding-top:6px;padding-bottom:10px}
	.jdn-nav__link{width:100%;padding:13px 4px;border-bottom:1px solid #1D1E18;white-space:normal}
	.jdn-nav__link--on{border-bottom-color:var(--green-bright)}
	.jdn-mast__in{flex-wrap:wrap}
	.jdn-brand{flex:1 1 auto}
	.jdn-live-btn{flex:none;order:2}
	.jdn-search{order:3;flex-basis:100%;width:100%}
	.jdn-listen__side{border-left:0;padding-left:0;border-top:1px solid #26271F;padding-top:20px}
	.jdn-listen__in{flex-direction:column}
	.jdn-enquiry__in{grid-template-columns:1fr}
	.jdn-ratecard__row{grid-template-columns:1fr;gap:2px}
	.jdn-ratecard__row--head{display:none}
	.jdn-ratecard__row span:before{content:attr(data-label) ": "}
	.jdn-grid{flex-direction:column}
	.jdn-grid__side{position:static;width:100%}
	.jdn-onair__in{flex-direction:column;align-items:flex-start;padding-top:16px;padding-bottom:16px;gap:12px}
	.jdn-onair__next{flex-basis:100%;border-left:0;border-top:1px solid #26271F;padding-left:0;padding-top:14px;margin-top:6px}
	.jdn-play-big{width:56px;height:56px;font-size:15px}
	.jdn-onair__title{font-size:22px}
	.jdn-onair__desc{font-size:13px;margin-top:4px}
	.jdn-onair__bar{margin-top:8px}
	.jdn-util__in{flex-direction:column;align-items:flex-start;gap:4px;padding-top:8px;padding-bottom:8px}
	.jdn-presdetail{flex-direction:column}
	.jdn-presdetail__img{width:140px}
	.jdn-app{flex-direction:column;align-items:flex-start}
	.jdn-app__btns{width:100%}
	.jdn-footer__in{flex-direction:column;gap:24px}
	.jdn-row__thumb,.jdn-feedrow__thumb{width:76px;height:56px}
	.jdn-schedrow{flex-direction:column;gap:4px}
	.jdn-schedrow__time{width:auto}
}
@media (max-width:480px){
	.jdn-onair__next{display:none}
	.jdn-onair__in{padding-top:14px;padding-bottom:14px;gap:8px}
	.jdn-play-big{width:48px;height:48px;font-size:13px}
	.jdn-onair__title{font-size:19px}
	.jdn-brand__name{font-size:18px}
	.jdn-live-btn{padding:10px 12px;font-size:11px}
	.jdn-lead__title{font-size:24px}
}

/* Padding at page bottom so content isn't hidden behind the fixed sticky bar. */
body{padding-bottom:76px}
.jdn-sticky:has(.jdn-sticky__ad:not(:empty)) ~ body{padding-bottom:126px}

/* ---------- Push notification prompt ---------- */
.jdn-pushprompt{position:fixed;left:16px;right:16px;bottom:90px;z-index:70;background:var(--ink);color:#fff;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding:14px 18px;max-width:560px;margin:0 auto;transform:translateY(20px);opacity:0;transition:transform .25s ease,opacity .25s ease;box-shadow:0 8px 24px rgba(0,0,0,.35);border-top:3px solid var(--live)}
.jdn-pushprompt.is-shown{transform:translateY(0);opacity:1}
.jdn-pushprompt__text{display:flex;align-items:flex-start;gap:10px;font-size:13px}
.jdn-pushprompt__text::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--live);margin-top:5px;box-shadow:0 0 0 3px rgba(176,42,47,.25)}
.jdn-pushprompt__text b,.jdn-pushprompt__text strong{display:block;font-size:14px}
.jdn-pushprompt__text span{color:#B9B7AE}
.jdn-pushprompt__btns{display:flex;gap:10px;align-items:center;flex:none}
.jdn-pushprompt__btns [data-allow]{background:var(--live);color:#fff}
.jdn-pushprompt__btns [data-allow]:hover{background:#8f2226;color:#fff}
.jdn-pushprompt__btns [data-dismiss]{background:none;border:none;color:#B9B7AE;font:600 12px/1 var(--font)}
.jdn-follow{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--green);color:var(--green-ink);background:#fff;padding:8px 14px;font:700 11px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;margin-left:12px}
.jdn-follow:disabled{opacity:.6;cursor:default}
@media (max-width:480px){.jdn-pushprompt{bottom:150px}}

/* ---------- Match-day scores strip ---------- */
.jdn-scores{background:var(--ink);color:#fff;display:flex;align-items:center;gap:16px;padding:0;overflow:hidden;margin-bottom:0}
.jdn-scores__tag{flex:none;background:var(--live);color:#fff;padding:10px 16px;letter-spacing:.14em}
.jdn-scores__track{display:flex;gap:28px;overflow-x:auto;padding:10px 16px;scrollbar-width:none}
.jdn-scores__track::-webkit-scrollbar{display:none}
.jdn-scores__item{display:flex;align-items:center;gap:10px;flex:none;font:600 13px/1 var(--font);white-space:nowrap}
.jdn-scores__item b{font:800 15px/1 var(--mono);color:var(--green-bright)}
.jdn-scores__item em{font:600 10px/1 var(--mono);color:var(--muted2);font-style:normal;letter-spacing:.08em;background:#1D1E18;padding:3px 6px;border-radius:2px}

/* ---------- Listener shoutouts ---------- */
.jdn-shoutouts{background:var(--tint);padding:22px;border-radius:2px}
.jdn-shoutouts__wall{display:flex;flex-direction:column;gap:12px;margin:14px 0}
.jdn-shoutout{background:#fff;border:1px solid var(--line);padding:12px 14px}
.jdn-shoutout p{margin:0;font-size:14px;line-height:1.5}
.jdn-shoutout span{display:block;margin-top:6px;font:600 12px/1 var(--font);color:var(--green-ink)}
.jdn-form--tight{margin-top:16px}
