/* Extend the shared tool workbench; tokens, shell, cards and fields live in styles.css / intl.css. */
.radio-page .radio-controls{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(140px,1fr)) auto;gap:14px;align-items:end}
.radio-page .field input{font-family:inherit}
.radio-directory-note{align-self:center;position:relative;z-index:1}
.radio-directory-note p{line-height:1.7}
.radio-page .radio-directory-note .eyebrow{color:var(--accent)}
.radio-player{grid-template-columns:minmax(140px,1fr) minmax(200px,1.3fr) auto;align-items:center}
.radio-player h3{margin:0 0 6px;font-weight:700}
.radio-player-copy{min-width:0;overflow-wrap:anywhere}
.radio-player audio{width:100%;min-width:0}
.radio-status{margin:0;color:var(--muted);font-size:.92rem}
.radio-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.radio-card{align-content:start;overflow-wrap:anywhere}
.radio-card h2{margin:0;font:700 1.1rem/1.4 "Space Grotesk","Noto Sans SC",sans-serif}
.radio-card p{line-height:1.6}
.radio-card small{display:block;color:var(--muted);line-height:1.65}
.radio-card .button{justify-self:start;margin-top:4px;min-height:44px}
.radio-card a:not(.button),#radio-sources a,.radio-license a{color:#0f766e;text-decoration:underline;text-underline-offset:3px}
.radio-info-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.radio-info-grid .directory-section{margin-bottom:0}
.radio-info-grid .section-heading{margin-bottom:18px}
#radio-sources{display:grid;gap:14px;margin:0 0 18px;padding:0;list-style:none}
#radio-sources li{border-bottom:1px solid var(--line);padding-bottom:14px;overflow-wrap:anywhere;font-size:.9rem;line-height:1.7}
.radio-license{margin-top:16px}
.radio-page button{cursor:pointer}
.radio-page button:disabled{opacity:.5;cursor:not-allowed}
.radio-page button:hover:not(:disabled){filter:brightness(.96)}
.radio-page :is(button,a,select):focus-visible{outline:3px solid #0d9488;outline-offset:3px}
/* Same static footer markup/style as existing native tools. Kept external to respect radio CSP. */
.xfreetool-site-footer{box-sizing:border-box;width:100%;margin:40px 0 0;padding:20px max(16px,calc((100vw - 1320px)/2 + 24px));border-top:1px solid rgba(100,116,139,.22);color:#64748b;background:rgba(248,250,252,.9);font:400 13px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.xfreetool-site-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1320px;margin:0 auto}
.xfreetool-site-footer nav{display:flex;gap:16px;flex-wrap:wrap}
.xfreetool-site-footer a{color:#475569;text-decoration:none}
.xfreetool-site-footer a:hover,.xfreetool-site-footer a:focus-visible{color:#0f766e;text-decoration:underline}
@media(max-width:1000px){.radio-page .radio-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.radio-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.radio-results,.radio-info-grid,.radio-player{grid-template-columns:1fr}.radio-player .button{justify-self:start}.radio-info-grid{gap:24px}}
@media(max-width:480px){.radio-page .radio-controls{grid-template-columns:1fr}.radio-page .radio-controls .button{justify-self:start}}
@media(max-width:640px){.xfreetool-site-footer__inner{align-items:flex-start;flex-direction:column;gap:8px}}
