/* Radio Spin: oryginalne logo, fiolet #3e2a66, niebieski #393faa, jasne sekcje. */
:root{color-scheme:light;--bg:#fff;--surface:#fff;--surface-2:#f0edf7;--text:#282335;--muted:#625c70;--purple:#3e2a66;--cyan:#65419a;--line:#3e2a6620;--radius:14px;--font:"Poppins",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--gold:#ffb91c;--blue:#393faa}
body{background:#fff}h1,h2,h3{letter-spacing:-.035em}.header{max-width:none;background:#3e2a66;color:#fff;border:0}.brand{min-width:140px}.brand img{display:block;width:172px;height:auto}.header nav a{color:#e4dbf4}.header nav a:hover,.header nav a[aria-current]{color:var(--gold);text-decoration-color:var(--gold)}.header nav.open{background:#3e2a66}.header .button{background:var(--gold);color:#2b2045}.menu-toggle{background:#ffffff18;color:#fff}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline-color:#b06cf4}.button{background:var(--purple);box-shadow:none}.button:hover{background:#55378b}.button.secondary{color:var(--purple);border-color:#3e2a6633}.hero.wrap{max-width:none;background:linear-gradient(135deg,#3e2a66,#393faa);color:white;position:relative;padding-left:max(6%,calc((100% - 1160px)/2));padding-right:max(6%,calc((100% - 1160px)/2));padding-bottom:85px;gap:36px}.hero:after{content:"";height:38px;position:absolute;left:0;right:0;bottom:-1px;background:#fff;clip-path:polygon(0 65%,6% 42%,13% 30%,20% 35%,32% 80%,40% 92%,49% 68%,59% 22%,68% 8%,78% 23%,89% 75%,95% 85%,100% 55%,100% 100%,0 100%)}.hero .eyebrow,.hero h1 em{color:var(--gold)}.hero h1{font-size:clamp(2.6rem,4.8vw,4.3rem)}.hero p{color:#ede7f8}.hero .button{background:var(--gold);color:#2c2144}.hero .button.secondary{background:transparent;color:#fff;border-color:#ffffff70}.hero .hero-foot{color:#ddd5f0}.studio-hero{margin:0;position:relative;overflow:hidden;border:5px solid #ffffff20;border-radius:20px;box-shadow:0 20px 50px #17153560;background:#292442;aspect-ratio:4/3}.studio-hero>img{display:block;width:100%;height:100%;object-fit:cover}.studio-hero figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 20px 16px;background:linear-gradient(transparent,#241638df);display:flex;flex-direction:column;color:#fff;line-height:1.5}.studio-hero figcaption span{font-size:9px;letter-spacing:.15em;color:var(--gold)}.studio-hero figcaption strong{font-size:18px}.studio-hero figcaption small{font-size:9px;color:#e5dbee}.card{box-shadow:0 5px 20px #35205408}.card:hover{border-color:#8d74b0}.section{padding:45px 0}.section-head{align-items:center}.radar-intro{margin:-10px 0 24px}.radar-filters,.radar-regions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.radar-filters button,.radar-regions button{background:#f2eff8;color:#4b3b66;padding:10px 16px;border-radius:25px;font-size:12px;font-weight:650}.radar-filters button[aria-pressed=true]{background:#3e2a66;color:#fff}.radar-regions{margin-bottom:25px}.radar-regions button{background:transparent;border:1px solid #3e2a662a;font-size:11px;padding:7px 13px}.radar-regions button[aria-pressed=true]{background:#ffb91c;color:#302043;border-color:#ffb91c}.news-grid{display:grid;grid-template-columns:1fr;gap:20px}.news-card{padding:22px;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;background:#fff;min-height:300px;box-shadow:0 5px 18px #38284e07}.news-card.local{background:linear-gradient(145deg,#fff,#faf5e8);border-top:4px solid var(--gold)}.news-card.world{background:linear-gradient(145deg,#fff,#f2effb);border-top:4px solid var(--purple)}.news-topline{display:flex;justify-content:space-between;gap:12px;text-transform:uppercase;font-size:9px;letter-spacing:.06em;color:#625774}.news-symbol{font-size:40px;line-height:1;margin:22px 0 13px;color:#8b74b0}.local .news-symbol{color:#9b7216}.news-category{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#725496;margin-bottom:11px}.news-card h3{font-size:19px;line-height:1.4;letter-spacing:-.02em}.news-card h3 a:hover{text-decoration:underline;text-decoration-color:var(--gold)}.news-source{display:flex;justify-content:space-between;gap:10px;font-size:10px;margin-top:auto;padding-top:25px;color:#6d637a}.news-source a{color:var(--purple);font-weight:700;white-space:nowrap}.radar-status{font-size:10px;margin-top:18px;color:#7b7187}.local-panel{display:grid;gap:30px;background:linear-gradient(120deg,#3e2a66,#393faa);border-radius:20px;padding:30px;margin:20px 0 40px;color:white;--muted:#ded6ee;--cyan:#ffcb54}.local-panel .eyebrow{color:var(--gold);margin-bottom:15px}.local-panel h2{margin-bottom:15px}.local-panel p{color:#e3dcef}.local-source{display:flex;flex-direction:column;gap:5px;padding:18px 0;border-bottom:1px solid #ffffff30;margin-top:10px}.local-source span{font-size:12px;color:#eee8f8}.local-source:hover{color:var(--gold)}.facebook-panel{background:#ffffff12;border:1px solid #ffffff25;border-radius:14px;padding:22px;min-width:0}.facebook-panel h3{font-size:21px;margin-bottom:18px}.facebook-panel p{font-size:13px;margin:12px 0}.facebook-panel .button{background:var(--gold);color:#36234f;margin-top:12px}.facebook-panel iframe{display:block;max-width:100%;border:0;background:white;border-radius:9px}.facebook-panel a{text-decoration:underline}.schedule{background:#f8f6fc}.day{color:#6c627c}.day[aria-pressed=true]{background:#3e2a66}.show{background:#fff}.show.active-show{border-color:#6b489e;box-shadow:inset 4px 0 var(--gold),0 4px 20px #3e2a6610}.badge{color:#53347f}.repeat-tag{color:#654090;background:#f5f0fc;border-color:#d8c8ed}.schedule-bottom{color:#685d79}.show .show-genres{color:#766b81}.about-strip{border-top-color:var(--line);padding:45px 0}.footer{background:#3e2a66;color:#fff;max-width:none;padding-left:6%;padding-right:6%;border:0}.footer p,.footer small{color:#ddd3ed}.footer-brand img{width:150px;height:auto;display:block}.page{padding-bottom:40px}.page>.eyebrow{margin-bottom:15px}.page h1{color:var(--purple)}.page address{font-style:normal;font-size:18px;line-height:1.7;margin-top:22px}.presenter-photo{background:#e9e5f0}.presenter-card .card-body .eyebrow{color:#75549c}.presenter-number{color:#ffe295}.profile-cta{background:#3e2a66ed;color:#ffe39b;border-color:#ffcb5460}.presenter-dialog{background:#fff;border-color:#ad97cd}.profile-header h2{color:#3e2a66}.presenter-dialog::backdrop{background:#251b3bcc}.dialog-close{background:#ede6f5;color:#3e2a66}.dialog-close:hover{color:#fff}.profile-bio a{color:#65419a}.notice{background:#f2eef8}.podcast-cover>span{color:#ffe19a}.podcast-toolbar input{background:#f8f6fb;border-color:#dbd2e8}.podcast-card .eyebrow{color:#76569f}.podcast-dock{background:#33234f;color:#fff;border-top-color:#ffb91c}.podcast-dock .eyebrow{color:#ffcf65}.podcast-dock button{background:#ffffff1c;color:#fff}#podcast-play-status{color:#ddd1ed}.player{color-scheme:dark;background:#302043f7;color:#fff;border-top:2px solid var(--gold);--muted:#d7cbe5;--cyan:#ffd369}.player .play{background:#ffb91c;color:#2b2044;box-shadow:0 0 18px #ffb91c28}.player .cover{background:#49326e}.player .track .eyebrow{color:#ffd369}.volume button{color:#fff}.volume input{accent-color:#ffb91c}.player .equalizer i{background:#ffcb54}.player-station{color:#dbceeb}.player-station span{color:#ffd369}.podcast-dock audio{color-scheme:light}@media(min-width:600px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1000px){.hero.wrap{grid-template-columns:1.05fr 1fr;padding-top:65px;padding-bottom:90px}.header nav.open{background:transparent}.news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.local-panel{grid-template-columns:1fr 1fr;padding:40px}.brand img{width:155px}}

/* Complete, accessible footer navigation */
.footer{display:block}.footer-grid{display:grid;gap:2rem;text-align:left;max-width:1320px;margin:0 auto 2rem}.footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}.footer-grid h2{font-size:1.1rem;color:#ffb91c;margin:0 0 .5rem}.footer-grid a{color:#fff;overflow-wrap:anywhere}.footer-grid address{font-style:normal;margin:1rem 0}.footer-grid a:hover{color:#ffb91c}.footer-grid a:focus-visible{outline:2px solid #ffb91c;outline-offset:4px}@media(min-width:760px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr}}

/* Album-colour ambience stays inside the persistent radio player. */
.player{isolation:isolate;overflow:hidden;background:#241a35}
.player>.player-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.player-art-layer{position:absolute;inset:-55px;background-position:center;background-size:cover;filter:blur(35px) saturate(1.7);opacity:0;transition:opacity 1.2s ease}
.player-art-layer.is-visible{opacity:1}
.player-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,6,16,.83),rgba(8,6,16,.64) 55%,rgba(8,6,16,.8))}
.player>:not(.player-backdrop){position:relative;z-index:1}
.player .track strong{color:#fff;text-shadow:0 1px 5px #0008}
.player #player-status,.player .player-station{color:#eee9f5}
@media(prefers-reduced-motion:reduce){.player-art-layer{transition:none}}

/* Android download page, within the existing persistent-player shell. */
.app-hero-link{font-size:14px!important;margin-top:22px}.app-hero-link a{text-decoration:underline;text-underline-offset:5px;color:#fff}.app-download-grid{display:grid;gap:28px;align-items:start}.app-download-card{background:linear-gradient(135deg,#3e2a66,#393faa);color:#fff;border-radius:22px;padding:clamp(24px,4vw,48px)}.app-download-card .eyebrow{color:#ffd369}.app-download-card h2{font-size:clamp(30px,4vw,46px);line-height:1.15;margin:18px 0}.app-download-card p{color:#eee8f8;line-height:1.7}.app-download-card .app-download-button{background:#ffb91c;color:#2b2045;white-space:normal;text-align:center;line-height:1.5;margin:20px 0 8px;max-width:100%}.app-download-card .app-download-meta{font-size:13px}.app-install{padding:20px 0}.app-install h2{font-size:26px}.app-install ol{padding-left:24px;line-height:1.75}.app-install li{margin:16px 0;padding-left:6px;overflow-wrap:anywhere}.app-install p{line-height:1.7;margin-top:20px}.app-download-button:focus-visible{outline:3px solid white;outline-offset:5px}@media(min-width:900px){.app-download-grid{grid-template-columns:1.1fr 1fr;gap:48px}}@media(min-width:1000px) and (max-width:1250px){.header nav{gap:10px}.header nav a{font-size:11px}.header-listen{padding:12px}}

/* 2026-10-11: footer belongs in document flow, never in the header menu. */
.footer-grid nav{position:static;inset:auto;z-index:auto;box-shadow:none;background:transparent;padding:0;display:flex;min-width:0}
.footer-grid nav a{color:#fff;white-space:normal}.footer-grid nav a[aria-current]{color:#ffcf65}
.hero>*,.section-head>*,.footer-grid>*,.presenter-grid>*,.podcast-grid>*,.news-grid>*,.app-download-grid>*{min-width:0}
img{max-width:100%}.text-link{white-space:normal}.news-topline,.news-source{flex-wrap:wrap}
@media(max-width:767px){
 :root{--player-height:94px}
 html{scroll-padding-bottom:120px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .header{padding:16px 20px;gap:12px}.brand{min-width:0}.brand img{width:150px}
 .menu-toggle{min-width:64px;min-height:44px;font-size:14px}
 #navigation{padding:16px 20px;background:#3e2a66;max-height:65dvh;overflow-y:auto}
 #navigation.open{display:grid;gap:4px}
 #navigation a{font-size:16px;min-height:44px;padding:10px 6px;display:flex;align-items:center}
 .wrap{padding-left:20px;padding-right:20px}
 .hero.wrap{grid-template-columns:minmax(0,1fr);padding:36px 20px 60px;gap:28px}
 .hero h1{font-size:clamp(32px,8vw,46px);line-height:1.1}.hero p{font-size:16px;line-height:1.65}
 .hero .eyebrow{font-size:11px;letter-spacing:.1em}.hero-foot{font-size:11px;line-height:1.7}
 .hero .actions{display:grid;grid-template-columns:1fr;width:100%;gap:12px}
 .studio-hero figcaption strong{font-size:18px}.studio-hero figcaption small{font-size:11px}
 .page{padding-top:30px}.page h1{font-size:clamp(30px,8vw,42px);overflow-wrap:anywhere}
 .page>p{font-size:16px;line-height:1.6}.page-content{margin-top:16px}
 .section{padding:30px 0}.section-head{align-items:flex-start;flex-direction:column;gap:14px}
 .section-head h2{font-size:28px}.text-link{font-size:14px}.demo-note{font-size:13px;line-height:1.65}
 .presenter-grid,.podcast-grid,.news-grid,.cards{grid-template-columns:minmax(0,1fr);gap:20px}
 .presenter-card .card-body{padding:22px}.presenter-card h2{font-size:26px}
 .presenter-card .card-body p,.show p{font-size:15px;line-height:1.6}
 .profile-cta{font-size:13px;padding:10px 12px}.presenter-number{font-size:12px}
 .news-card{min-height:0;padding:22px}.news-card h3{font-size:21px;line-height:1.35}
 .news-topline,.news-category,.news-source{font-size:12px}.news-source a{white-space:normal}
 .radar-filters button,.radar-regions button{font-size:13px;min-height:44px}
 .schedule{padding:12px}.days{gap:2px}.day{font-size:14px;min-height:44px}
 .show{grid-template-columns:minmax(0,1fr);padding:18px}.show h3{font-size:21px}.show time{font-size:14px}
 .about-strip,.local-panel,.footer-grid,.app-download-grid{grid-template-columns:minmax(0,1fr)}
 .local-panel{padding:22px}.facebook-panel{padding:16px}.footer{font-size:15px;padding:32px 20px}
 .footer-grid{gap:30px}.footer-grid nav{gap:4px}.footer-grid nav a{font-size:15px;display:block;padding:10px 0;min-height:44px}
 .footer-grid h2{font-size:20px}.footer small{font-size:12px}
 .player{padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:12px;min-height:var(--player-height)}
 .player .cover{width:48px;height:48px}.player .track{flex:1;min-width:0}
 .player .track strong{font-size:14px;max-width:100%}.player .track .eyebrow{font-size:10px}
 #player-status{font-size:11px}.player .play{width:52px;height:52px;margin:0;font-size:22px}
 .player .volume,.player .equalizer,.player .player-station{display:none}
 .presenter-dialog{padding:20px;max-height:calc(100dvh - 28px)}
 .profile-header{grid-template-columns:minmax(0,1fr)}.profile-bio{font-size:16px}
 .podcast-dock{padding-left:16px;padding-right:16px}.podcast-dock strong{font-size:14px}
 .antenna-grid{grid-template-columns:minmax(0,1fr)}.antenna-current{flex-direction:column;align-items:flex-start}
 .antenna-next{border-left:0;border-top:1px solid #d9cee6;padding:22px 0 0}
 .studio-contact-grid{grid-template-columns:minmax(0,1fr)}
}
/* Explicit ID specificity: base #navigation rules previously beat brand colors. */
.header #navigation a,.header #navigation a:visited{color:#fff;opacity:1}
.header #navigation a:hover,.header #navigation a:focus-visible,.header #navigation a[aria-current]{color:#fff;text-decoration:underline;text-decoration-color:#ffb91c;text-underline-offset:7px}
.footer .footer-grid a,.footer .footer-grid a:visited,.footer .footer-grid nav a[aria-current]{color:#fff;opacity:1}
.footer .footer-grid a:hover{text-decoration:underline;text-decoration-color:#ffb91c;text-underline-offset:5px}
/* Expanded menu stays usable on laptops instead of squeezing all labels. */
@media(min-width:1000px) and (max-width:1699px){.header .menu-toggle{display:block}.header .header-listen{display:none!important}.header #navigation{display:none;position:absolute;left:0;right:0;top:100%;padding:24px;background:#3e2a66;box-shadow:0 20px 30px #0007;max-height:65dvh;overflow:auto}.header #navigation.open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.header #navigation a{min-height:44px;display:flex;align-items:center}}
