/* Radio — admin styles, WordPress-native */ /* ────────────────────────────────────────────────────────────────── * Player layout (works inside .postbox .inside on main page, * and bare on the dashboard widget where .inside is the parent) * ─────────────────────────────────────────────────────────────── */ .radio-player { display: flex; flex-direction: column; gap: 14px; } /* Now Playing — left-aligned, body text size, no custom typography */ .radio-player__now { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; padding-bottom: 10px; border-bottom: 1px solid #dcdcde; } .radio-player__label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: #646970; font-weight: 600; margin-right: 4px; } .radio-player__station-name { font-size: 14px; font-weight: 600; color: #1d2327; } .radio-player__station-desc { font-size: 13px; color: #50575e; flex: 1 1 100%; margin: 0; } .radio-player__station-genre { font-size: 11px; color: #646970; text-transform: uppercase; letter-spacing: 0.04em; margin-left: auto; } /* Controls — single row, native button + slider */ .radio-player__controls { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; } .radio-player__play { /* native .button .button-primary styling; just ensure icon aligns */ display: inline-flex !important; align-items: center; gap: 6px; } .radio-player__play .dashicons { font-size: 18px; width: 18px; height: 18px; line-height: 1; } .radio-player__volume { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 200px; } .radio-player__volume .dashicons { color: #646970; font-size: 16px; width: 16px; height: 16px; } .radio-player__volume input[type="range"] { flex: 1; margin: 0; /* Use WP's admin theme colour for the slider thumb/track */ accent-color: var(--wp-admin-theme-color, #2271b1); } .radio-player__volume-pct { min-width: 36px; font-size: 12px; color: #646970; text-align: right; font-variant-numeric: tabular-nums; } /* Station selector — label-on-top, full-width select */ .radio-player__station-select { display: flex; flex-direction: column; gap: 4px; } .radio-player__station-select label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: #646970; font-weight: 600; } .radio-player__station-select select { width: 100%; max-width: 100%; } /* Error notice — uses WP notice styling */ .radio-player__error { color: #b32d2e; font-size: 13px; padding: 6px 10px; background: #fcf0f1; border-left: 4px solid #b32d2e; border-radius: 0; margin: 0; } /* Credit footer */ .radio-player__credit { margin: 0; color: #646970; font-size: 12px; } .radio-player__credit--main { margin-top: 12px; } .radio-player__credit a { color: var(--wp-admin-theme-color, #2271b1); text-decoration: none; } .radio-player__credit a:hover { text-decoration: underline; } /* ────────────────────────────────────────────────────────────────── * Main admin page — wrap player in a postbox-like card * ─────────────────────────────────────────────────────────────── */ .radio-wrap .radio-player { margin-top: 4px; } .radio-intro { margin: 0 0 16px; color: #50575e; font-size: 13px; max-width: 720px; } /* ────────────────────────────────────────────────────────────────── * Dashboard widget — no nested card; bare content inside .inside * (WP renders the widget as a postbox already; don't double up) * ─────────────────────────────────────────────────────────────── */ #radio_dashboard_widget .radio-player { gap: 10px; } #radio_dashboard_widget .radio-player__now { padding-bottom: 8px; } #radio_dashboard_widget .radio-player__station-name { font-size: 14px; } #radio_dashboard_widget .radio-player__credit { border-top: 1px solid #dcdcde; padding-top: 8px; margin-top: 4px; text-align: center; } /* ────────────────────────────────────────────────────────────────── * About page — postbox-style cards in a metabox column layout * ─────────────────────────────────────────────────────────────── */ .radio-about-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; max-width: 1100px; margin-top: 16px; } .radio-about-card { background: #fff; border: 1px solid #c3c4c7; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); } .radio-about-card h2 { margin: 0; padding: 8px 12px; font-size: 14px; font-weight: 600; background: #f6f7f7; border-bottom: 1px solid #c3c4c7; } .radio-about-card > p, .radio-about-card > ul, .radio-about-card > a { padding: 12px; margin: 0; } .radio-about-card > p + p { padding-top: 0; } .radio-about-card--versions ul { list-style: none; padding: 12px; margin: 0; } .radio-about-card--versions li { margin-bottom: 10px; font-size: 13px; } .radio-about-card--versions li:last-child { margin-bottom: 0; } .radio-about-card--versions .ver { font-weight: 600; color: var(--wp-admin-theme-color, #2271b1); } .radio-about-card--versions .latest { display: inline-block; margin-left: 6px; padding: 1px 7px; background: #00a32a; color: #fff; border-radius: 9px; font-size: 11px; font-weight: 600; vertical-align: middle; } .radio-about-changelog-link { display: inline-block; margin: 0 12px 12px; font-size: 13px; color: var(--wp-admin-theme-color, #2271b1); text-decoration: none; } .radio-about-changelog-link:hover { text-decoration: underline; }