:root {
    --accent: #1f74ff;
    --accent2: #e51e2a;
    --accent-hover: #2385ff;
    --accent-rgb: 31, 116, 255;
    --accent-glow: rgba(31, 116, 255, 0.28);
    --accent-glow-strong: rgba(31, 116, 255, 0.5);
    --accent-soft: rgba(31, 116, 255, 0.12);
    --accent-border: rgba(31, 116, 255, 0.35);
}

/* ── MODO SÓLIDO + EFEITOS HOVER ── */

/* Shimmer keyframe para hover em botões */
@keyframes accentShimmer {
    0%   { background-position: -200% center; }
    100% { background-position: 200% center; }
}
@keyframes accentPulse {
    0%, 100% { box-shadow: 0 6px 20px var(--accent-glow); }
    50%       { box-shadow: 0 10px 36px var(--accent-glow-strong), 0 0 0 4px rgba(31,116,255,.12); }
}
@keyframes accentLift {
    from { transform: translateY(0); }
    to   { transform: translateY(-2px); }
}

.btn-primary,
.adm-btn-primary,
.lp-btn-primary {
    background: var(--accent) !important;
    box-shadow: 0 4px 18px var(--accent-glow) !important;
    transition: box-shadow .22s, transform .18s, filter .18s !important;
    position: relative !important;
    overflow: hidden !important;
}
/* Shine layer */
.btn-primary::after,
.adm-btn-primary::after,
.lp-btn-primary::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.18) 50%, transparent 60%) !important;
    background-size: 200% 100% !important;
    background-position: -200% center !important;
    opacity: 0 !important;
    transition: opacity .2s !important;
    pointer-events: none !important;
}
.btn-primary:hover::after,
.adm-btn-primary:hover::after,
.lp-btn-primary:hover::after {
    opacity: 1 !important;
    animation: accentShimmer .55s ease forwards !important;
}
.btn-primary:hover,
.adm-btn-primary:hover,
.lp-btn-primary:hover {
    background: linear-gradient(135deg, var(--accent), var(--accent2)) !important;
    box-shadow: 0 8px 28px var(--accent-glow-strong) !important;
    transform: translateY(-2px) !important;
    filter: none !important;
}
.btn-primary:active,
.adm-btn-primary:active,
.lp-btn-primary:active {
    background: var(--accent) !important;
    transform: translateY(0) !important;
    box-shadow: 0 2px 10px var(--accent-glow) !important;
}

/* Progresso sempre em gradiente para mostrar accent2 */
.poster-card--progress .poster-progress span { background: linear-gradient(90deg, var(--accent), var(--accent2)) !important; }
.hd-avatar-ph, .profile-hero__avatar-ph, .ch-info-logo-ph { background: linear-gradient(135deg, var(--accent), var(--accent2)) !important; }
.js-favorite-toggle.is-active, .ch-fav-btn.on {
    background: var(--accent) !important;
    border-color: transparent !important;
    box-shadow: 0 4px 14px var(--accent-glow) !important;
    transition: box-shadow .22s, transform .18s, background .22s !important;
}
.js-favorite-toggle.is-active:hover, .ch-fav-btn.on:hover {
    background: linear-gradient(135deg, var(--accent), var(--accent2)) !important;
    box-shadow: 0 6px 22px var(--accent-glow-strong) !important;
    transform: scale(1.08) !important;
}
.search-btn {
    background: var(--accent) !important;
    transition: box-shadow .22s, transform .18s, background .22s !important;
}
.search-btn:hover {
    background: linear-gradient(135deg, var(--accent), var(--accent2)) !important;
    box-shadow: 0 6px 22px var(--accent-glow-strong) !important;
    transform: translateY(-1px) !important;
}
.pic-btn--accent:hover {
    background: linear-gradient(135deg, var(--accent), var(--accent2)) !important;
    box-shadow: 0 8px 28px var(--accent-glow-strong) !important;
    transform: translateY(-1px) !important;
}
.nep-btn-now { transition: box-shadow .22s, background .22s, transform .18s !important; }
.nep-btn-now:hover {
    background: linear-gradient(135deg, var(--accent), var(--accent2)) !important;
    box-shadow: 0 6px 22px var(--accent-glow-strong) !important;
    transform: translateY(-1px) !important;
}

/* Poster card hover glow border */
.poster-card:hover {
    box-shadow: 0 8px 28px rgba(31,116,255,.22), 0 0 0 1px rgba(31,116,255,.3) !important;
}

/* Streaming card */
.streaming-card:hover {
    box-shadow: 0 6px 22px rgba(31,116,255,.2) !important;
}


/* ── COMUNS (independente de gradiente) ── */

/* Links e badges ativos */
.hd-nav a.on { background: var(--accent-soft) !important; border-color: var(--accent-border) !important; color: #fff !important; }
.ch-cat-item.on, .ch-tab.on { background: var(--accent-soft) !important; border-color: var(--accent-border) !important; }
.ch-ch-item.on { background: var(--accent-soft) !important; border-color: var(--accent-border) !important; }
.stream-cat-btn.on { background: var(--accent) !important; border-color: var(--accent) !important; }
.cat-item.on { background: var(--accent-soft) !important; border-color: var(--accent-border) !important; color: var(--accent) !important; }

/* Spinners */
.ch-loading__spinner, .loader .spinner { border-top-color: var(--accent) !important; }

/* EPG */
.ch-epg-fill, .epg-prog-fill { background: var(--accent) !important; }

/* Hover saída */
.hd-exit:hover { background: var(--accent-soft) !important; border-color: var(--accent-border) !important; color: #fff !important; }

/* Links */
.vermais-link:hover { color: var(--accent) !important; }
.streaming-card:hover { border-color: var(--accent) !important; }

/* Player btn */
.pic-btn--accent { background: var(--accent) !important; box-shadow: 0 6px 18px var(--accent-glow) !important; }

/* Landpage */
.lp-nav .btn-enter { background: var(--accent) !important; transition: filter .2s, transform .2s, box-shadow .2s !important; }
.lp-nav .btn-enter:hover { filter: brightness(1.1) !important; transform: translateY(-1px) !important; box-shadow: 0 8px 24px var(--accent-glow-strong) !important; }
.lp-stat strong, .lp-eyebrow::before { color: var(--accent) !important; }
.lp-section-label { color: var(--accent) !important; }

/* Admin */
.adm-btn-primary { background: var(--accent) !important; }
.adm-input:focus, .adm-textarea:focus { border-color: var(--accent) !important; }

/* Abas de perfil */
.ptab.on { border-bottom-color: var(--accent) !important; }

/* Sidebar admin active */
.adm-nav a.on { background: rgba(31,116,255,.15) !important; border-color: rgba(31,116,255,.22) !important; }
