:root {
    --font-headline: "Plus Jakarta Sans", sans-serif;
    --font-body: "Manrope", sans-serif;
    --color-primary: #8bacff;
    --color-primary-dim: #036cfb;
    --color-secondary: #fc7d12;
    --color-tertiary: #a1faff;
    --color-background: #0b0e14;
    --color-surface-container: #161a21;
    --color-surface-container-low: #10131a;
    --color-surface-container-lowest: #000000;
    --color-surface-container-highest: #22262f;
    --color-on-background: #ecedf6;
    --color-on-surface-variant: #a9abb3;
    --color-outline: #464952;
    --header-background: #0b0e14;
    --header-text: #ecedf6;
    --header-accent: #8bacff;
    --header-border: #464952;
    --nav-background: #0b0e14;
    --nav-text: #a9abb3;
    --nav-hover: #a1faff;
    --nav-active: #8bacff;
    --nav-border: #464952;
    --player-background: #161a21;
    --player-text: #ecedf6;
    --player-accent: #8bacff;
    --player-live: #fc7d12;
    --player-border: #464952;
    --footer-background: #10131a;
    --footer-text: #ecedf6;
    --footer-muted: #a9abb3;
    --footer-link: #a9abb3;
    --footer-link-hover: #8bacff;
    --button-primary-background: #8bacff;
    --button-primary-text: #000000;
    --button-secondary-background: #22262f;
    --button-secondary-text: #ecedf6;
    --button-outline: #464952;
    --card-background: #10131a;
    --card-border: #464952;
    --card-title: #ecedf6;
    --card-text: #ecedf6;
    --card-muted: #a9abb3;
    --card-surface: #22262f;
    --form-panel-background: #8bacff;
    --form-panel-text: #000000;
    --form-panel-border: transparent;
    --form-input-background: rgba(0,0,0,0.10);
    --form-input-text: #111111;
    --form-input-placeholder: rgba(0,0,0,0.60);
    --form-input-border: transparent;
    --form-status-success: #14532d;
    --form-status-error: #7f1d1d;
    --poll-background: #161a21;
    --poll-border: #464952;
    --poll-title: #a1faff;
    --poll-text: #ecedf6;
    --poll-muted: #a9abb3;
    --poll-option-background: #22262f;
    --poll-option-border: #464952;
    --poll-accent: #a1faff;
    --chat-background: #000000;
    --chat-border: #464952;
    --chat-header-background: #161a21;
    --chat-header-text: #ecedf6;
    --chat-input-background: #22262f;
    --chat-input-text: #ecedf6;
    --chat-input-placeholder: #a9abb3;
    --chat-accent: #a1faff;
    --chat-listener-bubble: #8bacff;
    --chat-listener-text: #000000;
    --chat-radio-bubble: #fc7d12;
    --chat-radio-text: #000000;
    --chat-error: #f87171;
}
.theme-card {
    background: var(--card-background);
    border: 1px solid color-mix(in srgb, var(--card-border) 45%, transparent);
}

.theme-card-media {
    background: var(--card-surface);
}

.theme-card-title {
    color: var(--card-title);
}

.theme-card-text {
    color: var(--card-text);
}

.theme-card-muted {
    color: var(--card-muted);
}

.theme-form-panel {
    background: var(--form-panel-background);
    color: var(--form-panel-text);
    border: 1px solid color-mix(in srgb, var(--form-panel-border) 65%, transparent);
}

.theme-form-input {
    background: var(--form-input-background);
    color: var(--form-input-text);
    border: 1px solid color-mix(in srgb, var(--form-input-border) 70%, transparent);
}

.theme-form-input::placeholder {
    color: var(--form-input-placeholder);
    opacity: 1;
}

.theme-form-status {
    color: var(--form-input-placeholder);
}

.theme-form-status.is-success {
    color: var(--form-status-success);
}

.theme-form-status.is-error {
    color: var(--form-status-error);
}

.theme-poll-panel {
    background: var(--poll-background);
    border: 1px solid color-mix(in srgb, var(--poll-border) 45%, transparent);
    color: var(--poll-text);
}

.theme-poll-title {
    color: var(--poll-title);
}

.theme-poll-muted {
    color: var(--poll-muted);
}

.theme-poll-option {
    background: var(--poll-option-background);
    border: 1px solid color-mix(in srgb, var(--poll-option-border) 55%, transparent);
}

.theme-chat-shell {
    background: var(--chat-background);
    border: 1px solid color-mix(in srgb, var(--chat-border) 45%, transparent);
}

.theme-chat-header {
    background: var(--chat-header-background);
    color: var(--chat-header-text);
    border-bottom: 1px solid color-mix(in srgb, var(--chat-border) 45%, transparent);
}

.theme-chat-auth,
.theme-chat-input-area {
    background: var(--chat-background);
}

.theme-chat-input-area {
    border-top: 1px solid color-mix(in srgb, var(--chat-border) 45%, transparent);
}

.theme-chat-input {
    background: var(--chat-input-background);
    color: var(--chat-input-text);
}

.theme-chat-input::placeholder {
    color: var(--chat-input-placeholder);
    opacity: 1;
}

.theme-chat-error {
    color: var(--chat-error);
}

.theme-pagination-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .4rem .875rem;
    border-radius: 9999px;
    font-size: .7rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .2s, color .2s, border-color .2s, opacity .2s;
    font-family: var(--font-headline);
    background: var(--button-secondary-background);
    color: var(--button-secondary-text);
    border: 1px solid color-mix(in srgb, var(--button-outline) 70%, transparent);
}

.theme-pagination-btn:hover {
    background: color-mix(in srgb, var(--button-secondary-background) 84%, var(--color-background));
}

.theme-pagination-btn.is-active {
    background: var(--button-primary-background);
    color: var(--button-primary-text);
    border-color: color-mix(in srgb, var(--button-primary-background) 80%, transparent);
    font-weight: 900;
}

.theme-pagination-btn.is-disabled {
    background: color-mix(in srgb, var(--button-secondary-background) 55%, transparent);
    color: color-mix(in srgb, var(--button-secondary-text) 45%, transparent);
    border-color: color-mix(in srgb, var(--button-outline) 35%, transparent);
    cursor: default;
    pointer-events: none;
}

.theme-tab-btn {
    padding: .625rem 1.5rem;
    border-radius: 9999px;
    font-family: var(--font-headline);
    font-size: .6875rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
    cursor: pointer;
    transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;
    background: var(--button-secondary-background);
    color: var(--button-secondary-text);
    border: 1px solid color-mix(in srgb, var(--button-outline) 70%, transparent);
}

.theme-tab-btn:hover {
    background: color-mix(in srgb, var(--button-secondary-background) 84%, var(--color-background));
}

.theme-tab-btn.is-active {
    background: var(--button-primary-background);
    color: var(--button-primary-text);
    border-color: color-mix(in srgb, var(--button-primary-background) 80%, transparent);
    box-shadow: 0 0 15px color-mix(in srgb, var(--button-primary-background) 40%, transparent);
}html { scroll-behavior: smooth; }
.font-headline { font-family: var(--font-headline); }
.preview-badge {
    position: fixed; top: 12px; right: 12px; z-index: 100;
    background: rgba(139,172,255,0.15); backdrop-filter: blur(12px);
    border: 1px solid rgba(139,172,255,0.3); color: #8bacff;
    padding: 6px 16px; border-radius: 999px;
    font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.15em;
    font-family: var(--font-headline);
}
@media (max-width: 767px) {
    .hero-radio-name { font-size: clamp(2.5rem, 11vw, 4.2rem); }
    .meta-hide-sm { display: none !important; }
}
.hero-radio-name { font-size: clamp(2.75rem, 9vw, 6.5rem); line-height: 0.9; overflow-wrap: anywhere; }
.play-btn { cursor: pointer; border: none; transition: transform .2s; }
.play-btn:hover { transform: scale(1.05); }
.play-btn:active { transform: scale(0.95); }
.nav-item { text-decoration: none; transition: color .2s; }
.nav-item:hover { color: var(--color-tertiary) !important; }
.banner-slide { flex-shrink: 0; width: 100%; position: relative; }
.banner-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width: 767px) { .banner-img { object-fit:contain; } }
.news-card { display: block; text-decoration: none; }
.news-card-img { transition: transform .5s ease; }
.news-card:hover .news-card-img { transform: scale(1.05); }
.news-card-title { font-family: var(--font-headline); font-weight: 800; }
.locutor-card { text-align: center; }
.locutor-photo-ring {
    border-radius: 9999px; border: 3px solid transparent;
    box-shadow: 0 0 0 rgba(252,125,18,0); overflow: hidden;
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.locutor-card:hover .locutor-photo-ring {
    border-color: var(--color-secondary);
    box-shadow: 0 0 0 4px rgba(252,125,18,0.12), 0 0 18px rgba(252,125,18,0.35);
    transform: translateY(-2px);
    animation: locutor-border-pulse 1.4s ease-in-out infinite;
}
@keyframes locutor-border-pulse {
    0%, 100% { box-shadow: 0 0 0 4px rgba(252,125,18,0.10), 0 0 16px rgba(252,125,18,0.28); }
    50% { box-shadow: 0 0 0 6px rgba(252,125,18,0.18), 0 0 24px rgba(252,125,18,0.45); }
}
.footer-social { color: #64748b; text-decoration: none; transition: color .2s; }
.footer-social:hover { color: var(--color-primary); }
.whatsapp-fab { transition: transform .2s; }
.whatsapp-fab:hover { transform: scale(1.1); }
.whatsapp-fab:active { transform: scale(0.9); }
.wa-ping { animation: wa-ping 2s ease-out infinite; opacity: 0; }
@keyframes wa-ping { 0% { transform: scale(1); opacity: 0.6; } 100% { transform: scale(2.2); opacity: 0; } }