/*
Theme Name: Voice of Punjab Radio
Theme URI: https://voiceofpunjabradio.com/
Author: Voice of Punjab Radio
Description: Mobile-friendly WordPress radio theme for Punjabi, Hindi, Sikh devotional and Hindu devotional music.
Version: 1.5.0
Text Domain: vopr
*/

:root{
  --bg:#0b1020;
  --panel:#121933;
  --panel2:#172044;
  --text:#f8fafc;
  --muted:#b9c2d6;
  --accent:#ffb703;
  --accent2:#fb8500;
  --red:#e63946;
  --green:#2a9d8f;
  --max:1180px;
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#070b16 0%,#0b1020 100%);color:var(--text);line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.container{width:min(var(--max),calc(100% - 32px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(7,11,22,.9);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.2px}
.brand-mark{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#101010;font-size:22px;box-shadow:0 10px 30px rgba(251,133,0,.25)}
.menu{display:flex;gap:22px;align-items:center;color:var(--muted);font-weight:650}
.menu a:hover{color:white}
.menu-toggle{display:none;border:1px solid rgba(255,255,255,.15);background:transparent;color:white;padding:9px 12px;border-radius:10px}
.hero{padding:76px 0 46px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:-40% -10% auto auto;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle,rgba(255,183,3,.24),transparent 65%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:38px;align-items:center}
.kicker{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);padding:8px 12px;border-radius:999px;color:#ffd166;font-weight:700;font-size:14px}
h1{font-size:clamp(42px,7vw,78px);line-height:1.02;margin:18px 0 16px;letter-spacing:-2px}
.hero p{font-size:clamp(17px,2.2vw,21px);color:var(--muted);max-width:720px}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 18px;border-radius:14px;font-weight:800;border:1px solid rgba(255,255,255,.12)}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#111;border:none}
.btn-secondary{background:rgba(255,255,255,.05)}
.player-card{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.11);border-radius:28px;padding:26px;box-shadow:0 30px 70px rgba(0,0,0,.28)}
.on-air{display:flex;align-items:center;gap:9px;color:#ff9a9a;font-weight:800;font-size:13px;letter-spacing:.7px;text-transform:uppercase}
.dot{width:10px;height:10px;border-radius:50%;background:#ff4d5a;box-shadow:0 0 0 6px rgba(255,77,90,.12)}
.player-title{font-size:30px;font-weight:850;margin:12px 0 4px}
.player-sub{color:var(--muted);margin-bottom:18px}
audio{width:100%;filter:invert(.9) hue-rotate(180deg)}
.section{padding:68px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}
.section h2{font-size:clamp(30px,4vw,44px);margin:0;letter-spacing:-1px}
.section-lead{color:var(--muted);max-width:680px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:linear-gradient(180deg,var(--panel),#0e1530);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:22px;min-height:190px;transition:.2s transform,.2s border-color}
.card:hover{transform:translateY(-4px);border-color:rgba(255,183,3,.45)}
.icon{font-size:32px;margin-bottom:18px}.card h3{margin:0 0 8px;font-size:21px}.card p{margin:0;color:var(--muted)}
.schedule{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.schedule .slot{background:var(--panel);border:1px solid rgba(255,255,255,.08);padding:20px;border-radius:18px}.time{color:#ffd166;font-weight:850;font-size:13px;text-transform:uppercase;letter-spacing:.5px}
.cta{background:linear-gradient(135deg,#ffb703,#fb8500);color:#111;border-radius:28px;padding:34px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px}.cta h2{color:#111}.cta p{color:#352100;margin:8px 0 0}.cta .btn{background:#111;color:white;border:none}
.site-footer{border-top:1px solid rgba(255,255,255,.08);padding:36px 0 44px;color:var(--muted)}
.footer-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.small{font-size:14px}.footer-links{display:flex;gap:16px;flex-wrap:wrap}
.content-page{padding:54px 0}.content-page article{background:var(--panel);padding:28px;border-radius:20px;border:1px solid rgba(255,255,255,.08)}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}.schedule{grid-template-columns:1fr 1fr}.cta{grid-template-columns:1fr}.menu-toggle{display:block}.menu{display:none;position:absolute;left:16px;right:16px;top:76px;background:#0d142d;border:1px solid rgba(255,255,255,.1);padding:16px;border-radius:16px;flex-direction:column;align-items:flex-start}.menu.open{display:flex}}
@media(max-width:580px){.container{width:min(100% - 22px,var(--max))}.hero{padding-top:44px}.grid-4,.schedule{grid-template-columns:1fr}.player-card{padding:20px}.brand span:last-child{font-size:15px}.cta{padding:24px}}

.stream-help{margin:10px 0 0;font-size:.9rem;opacity:.9}.stream-help a{text-decoration:underline}

/* v1.2 music links */
.music-card{display:flex;flex-direction:column}
.music-card p{flex:1}
.music-link{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;padding:10px 14px;border-radius:12px;background:rgba(255,183,3,.12);border:1px solid rgba(255,183,3,.36);color:#ffd166;font-weight:800;transition:.2s}
.music-link:hover{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#111;border-color:transparent}


/* Music Library v1.5 */
.music-library{padding-top:48px}
.music-tools{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 28px}
.music-search{position:relative;flex:1;max-width:560px}
.music-search input{width:100%;background:#fff;color:#111827;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:13px 44px 13px 15px;font-size:16px;outline:none}
.music-search input:focus{box-shadow:0 0 0 3px rgba(255,183,3,.24);border-color:var(--accent)}
.music-search span{position:absolute;right:15px;top:50%;transform:translateY(-50%);pointer-events:none}
.music-count{color:var(--muted);font-weight:700;font-size:14px}
.latest-block{margin:0 0 46px;padding:24px;border-radius:24px;background:linear-gradient(180deg,rgba(255,183,3,.08),rgba(255,255,255,.025));border:1px solid rgba(255,183,3,.2)}
.latest-block>h3,.music-category-block>h3{font-size:1.55rem;margin:0 0 18px;color:#fff}
.music-category-block{margin:30px 0 48px;scroll-margin-top:96px}
.song-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.song-item{position:relative;display:flex;gap:16px;align-items:flex-start;background:#fff;color:#111827;border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px;box-shadow:0 12px 28px rgba(0,0,0,.18);min-width:0;transition:transform .18s ease,box-shadow .18s ease}
.song-item:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.24)}
.song-cover{flex:0 0 104px}
.song-cover img,.song-cover-placeholder{display:block;width:104px;height:104px;object-fit:cover;border-radius:14px;background:linear-gradient(135deg,#ffb703,#fb8500)}
.song-cover-placeholder{display:grid;place-items:center;font-size:36px}
.song-info{min-width:0;flex:1;color:#111827}
.song-info h4{margin:0 0 4px;font-size:1.08rem;line-height:1.3;color:#111827;font-weight:850;overflow-wrap:anywhere}
.song-artist{font-weight:700;color:#4b5563;margin-bottom:2px}
.song-meta{font-size:.82rem;color:#6b7280;margin:3px 0 10px}
.song-player{display:flex;align-items:center;gap:10px;margin-top:10px}
.song-play{appearance:none;border:0;width:40px;height:40px;flex:0 0 40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#111;font-weight:900;cursor:pointer;font-size:15px;box-shadow:0 6px 16px rgba(251,133,0,.24)}
.song-play:hover{transform:scale(1.04)}
.song-time{font-size:.82rem;color:#4b5563;font-variant-numeric:tabular-nums;white-space:nowrap}
.song-item audio.song-audio{display:none}
.song-progress{height:5px;flex:1;border-radius:999px;background:#e5e7eb;overflow:hidden;cursor:pointer;min-width:50px}
.song-progress-bar{height:100%;width:0;background:#111827;border-radius:999px}
.song-label{font-size:.75rem;color:#6b7280;margin-top:7px}
.song-missing{font-size:.9rem;color:#7f1d1d;background:#fee2e2;padding:8px 10px;border-radius:9px;margin-top:8px}
.no-search-results{display:none;background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.22);border-radius:14px;padding:18px;color:var(--muted);margin:18px 0}
.song-item.is-search-hidden{display:none}
@media(max-width:1000px){.song-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.music-tools{align-items:stretch}.music-search{max-width:none}.song-list{grid-template-columns:1fr}.latest-block{padding:18px}.song-item{padding:13px;gap:13px}.song-cover{flex-basis:86px}.song-cover img,.song-cover-placeholder{width:86px;height:86px}.song-player{gap:8px}.song-time{font-size:.76rem}}
