/* ══ Athera Academy — Frontend CSS Premium ══════════════════════
   Paleta: #0B0B0B · #CD9C20 · #F5CB5C · #F2ECDD
   Estética: Bloomberg Terminal × Netflix Premium × Mercado Financeiro
═══════════════════════════════════════════════════════════════ */

/* CSS Variables são injetadas via PHP (aa_css_vars()) */

/* ── Reset ────────────────────────────────────────────────────── */
.aa-dashboard *, .aa-login-wrap *, .aa-aula-wrap * { box-sizing: border-box; }
.aa-dashboard a, .aa-aula-wrap a { text-decoration: none; color: inherit; }

/* ════════════════════════════════════════════════════════════════
   LOGIN
════════════════════════════════════════════════════════════════ */
.aa-login-wrap {
    min-height: 100vh;
    background: var(--aa-bg);
    background-image: radial-gradient(ellipse 75% 65% at 50% 40%, rgba(205,156,32,.06) 0%, var(--aa-bg) 65%);
    display: flex; align-items: center; justify-content: center;
    padding: 24px 16px;
    font-family: var(--aa-ff-body);
    -webkit-font-smoothing: antialiased;
}
.aa-login-card {
    background: rgba(17,17,17,.98);
    border: 1px solid var(--aa-bord);
    border-top: 2px solid rgba(245,203,92,.45);
    border-radius: 10px;
    padding: 40px 34px;
    width: 100%; max-width: 420px;
    box-shadow: var(--aa-shadow), 0 0 70px rgba(205,156,32,.07);
}
.aa-login-brand  { text-align: center; margin-bottom: 20px; }
.aa-login-logo-img { height: 44px; width: auto; }
.aa-login-logo-txt {
    font-size: 13px; font-weight: 800; letter-spacing: .22em;
    color: var(--aa-gold2); margin-bottom: 3px;
}
.aa-login-tagline {
    font-size: 9px; letter-spacing: .28em; text-transform: uppercase;
    color: var(--aa-t4); margin-top: 4px;
}
.aa-login-alert {
    background: rgba(239,68,68,.08); border: 1px solid rgba(239,68,68,.28);
    border-radius: 5px; padding: 10px 14px; font-size: 13px;
    color: #fca5a5; margin-bottom: 16px;
}
/* WP Login Form override */
#aa-login-form p          { margin: 0 0 14px; }
#aa-login-form label       { display:block; font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--aa-t4); margin-bottom:5px; }
#aa-login-form input[type=text],
#aa-login-form input[type=password] {
    width:100%!important; background:rgba(245,203,92,.03)!important;
    border:1px solid var(--aa-bord)!important; border-radius:6px!important;
    padding:11px 13px!important; font-size:14px!important; color:var(--aa-t)!important;
    font-family:var(--aa-ff-body)!important; outline:none!important;
    transition:border-color .2s, box-shadow .2s!important; box-shadow:none!important;
}
#aa-login-form input:focus { border-color:rgba(245,203,92,.45)!important; background:rgba(245,203,92,.05)!important; box-shadow:0 0 0 3px rgba(205,156,32,.10)!important; }
#aa-login-form input::placeholder { color:rgba(242,236,221,.15)!important; }
#aa-login-form input[type=submit] {
    width:100%!important; background:var(--aa-gold)!important; color:#000!important;
    border:none!important; border-radius:6px!important; padding:13px!important;
    font-size:11px!important; font-weight:700!important; letter-spacing:.14em!important;
    text-transform:uppercase!important; cursor:pointer!important; margin-top:8px!important;
    font-family:var(--aa-ff-body)!important; transition:background .2s!important;
}
#aa-login-form input[type=submit]:hover { background:var(--aa-gold2)!important; }
.aa-login-forgot {
    display:block; text-align:right; font-size:11px; color:var(--aa-t4);
    text-decoration:none; margin-top:12px; transition:color .2s;
}
.aa-login-forgot:hover { color:var(--aa-gold2); }

/* ════════════════════════════════════════════════════════════════
   DASHBOARD
════════════════════════════════════════════════════════════════ */
.aa-dashboard {
    display: flex; min-height: 100vh;
    background: var(--aa-bg); color: var(--aa-t);
    font-family: var(--aa-ff-body); -webkit-font-smoothing: antialiased;
}

/* ── Sidebar ──────────────────────────────────────────────────── */
.aa-sb {
    width: 230px; min-width: 230px; flex-shrink: 0;
    background: var(--aa-bg2); border-right: 1px solid var(--aa-bord);
    display: flex; flex-direction: column;
    position: sticky; top: 0; height: 100vh; overflow-y: auto;
    scrollbar-width: none;
}
.aa-sb::-webkit-scrollbar { display: none; }
.aa-sb-top { padding: 18px 16px 14px; border-bottom: 1px solid var(--aa-bord); }
.aa-sb-logo-img { height: 32px; width: auto; }
.aa-sb-logo     { font-size: 12px; font-weight: 800; letter-spacing: .18em; color: var(--aa-gold2); }
.aa-sb-user     { display: flex; align-items: center; gap: 11px; padding: 14px 16px; border-bottom: 1px solid var(--aa-bord); }
.aa-sb-av       { width: 44px; height: 44px; border-radius: 50%; background-size: cover; background-position: center; background-color: var(--aa-bg3); border: 1.5px solid rgba(245,203,92,.35); flex-shrink: 0; }
.aa-sb-nome     { font-size: 13px; font-weight: 600; color: var(--aa-t); }
.aa-sb-role     { font-size: 10px; color: var(--aa-t4); margin-top: 1px; }
.aa-sb-nav      { padding: 8px 0; flex: 1; }
.aa-sb-item     { display: flex; align-items: center; gap: 9px; padding: 10px 16px; font-size: 12px; font-weight: 500; color: var(--aa-t3) !important; border-left: 2px solid transparent; transition: all .15s; }
.aa-sb-item:hover         { color: var(--aa-t) !important; background: rgba(245,203,92,.06); }
.aa-sb-item--on           { color: var(--aa-gold2) !important; background: rgba(205,156,32,.12); border-left-color: var(--aa-gold); }
.aa-sb-item--sub          { padding-left: 24px; font-size: 11px; }
.aa-sb-footer   { padding: 12px 16px; border-top: 1px solid var(--aa-bord); }
.aa-sb-sair     { display: flex; align-items: center; gap: 7px; font-size: 11px; color: rgba(245,203,92,.45) !important; transition: color .2s; -webkit-text-fill-color: rgba(245,203,92,.45); }
.aa-sb-sair:hover { color: var(--aa-gold2) !important; -webkit-text-fill-color: var(--aa-gold2); }

/* ── Main ─────────────────────────────────────────────────────── */
.aa-dash-main { flex: 1; min-width: 0; }

/* ── Hero ─────────────────────────────────────────────────────── */
.aa-hero {
    padding: 36px 32px 26px; position: relative; overflow: hidden;
    background: linear-gradient(180deg, var(--aa-bg2) 0%, var(--aa-bg) 100%);
    border-bottom: 1px solid var(--aa-bord);
}
.aa-hero::before {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(ellipse 65% 80% at 80% 50%, rgba(205,156,32,.06) 0%, transparent 65%);
}
.aa-hero-eye {
    font-size: 9px; font-weight: 700; letter-spacing: .3em; text-transform: uppercase;
    color: var(--aa-gold); opacity: .75; margin-bottom: 10px;
    display: flex; align-items: center; gap: 9px;
}
.aa-hero-eye::before { content: ''; width: 20px; height: 1px; background: var(--aa-gold); opacity: .5; }
.aa-hero-h1 {
    font-family: var(--aa-ff-title); font-size: clamp(24px,3vw,38px);
    font-weight: 600; line-height: 1.2; color: var(--aa-t); margin: 0 0 6px;
}
.aa-hero-h1 em { color: var(--aa-gold2); font-style: italic; }
.aa-hero-verso { font-size: 12px; color: var(--aa-t4); margin: 0; }

/* ── Section ──────────────────────────────────────────────────── */
.aa-section    { padding: 24px 32px 56px; }
.aa-section-hdr { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.aa-section-titulo { font-size: 13px; font-weight: 600; color: var(--aa-t2); }
.aa-badge-count { font-size: 11px; color: var(--aa-t4); background: rgba(245,203,92,.05); border: 1px solid var(--aa-bord); padding: 3px 10px; border-radius: 20px; }

/* ── Grid de Cards ────────────────────────────────────────────── */
.aa-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); gap: 20px; }

/* ── Card ─────────────────────────────────────────────────────── */
.aa-card {
    display: flex; flex-direction: column;
    background: var(--aa-bg2); border: 1px solid var(--aa-bord);
    border-radius: var(--aa-r); overflow: hidden;
    color: var(--aa-t) !important;
    transition: transform .28s cubic-bezier(.4,0,.2,1), border-color .28s, box-shadow .28s;
}
.aa-card:hover { transform: translateY(-5px) scale(1.013); border-color: rgba(245,203,92,.5); box-shadow: var(--aa-shadow-g); }
.aa-card-thumb { position: relative; height: 162px; background: var(--aa-bg3); overflow: hidden; flex-shrink: 0; }
.aa-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.aa-card:hover .aa-card-thumb img { transform: scale(1.07); }
.aa-card-ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--aa-bg3),var(--aa-bg4)); color:rgba(245,203,92,.22); }
/* Overlay dourado */
.aa-card-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.75) 0%, rgba(205,156,32,.10) 50%, rgba(0,0,0,.05) 100%); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .3s; }
.aa-card:hover .aa-card-overlay { opacity: 1; }
.aa-card-play { width:56px; height:56px; border-radius:50%; border:2px solid var(--aa-gold2); background:rgba(0,0,0,.45); backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; color:var(--aa-gold2); box-shadow:0 0 0 10px rgba(245,203,92,.08), 0 0 32px rgba(205,156,32,.3); transition:transform .25s; }
.aa-card:hover .aa-card-play { transform: scale(1.1); }
/* Barra de progresso no card */
.aa-card-prog-bar  { position:absolute; bottom:0; left:0; right:0; height:3px; background:rgba(255,255,255,.1); }
.aa-card-prog-fill { height:100%; background:linear-gradient(90deg, var(--aa-dk), var(--aa-gold2)); border-radius:2px; }
.aa-card-body  { padding: 16px; display:flex; flex-direction:column; flex:1; }
.aa-card-titulo { font-size:14px; font-weight:700; color:var(--aa-t); margin:0 0 6px; line-height:1.3; transition:color .2s; }
.aa-card:hover .aa-card-titulo { color: var(--aa-gold2); }
.aa-card-meta  { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--aa-t4); margin-bottom:8px; flex-wrap:wrap; }
.aa-card-meta span { display:flex; align-items:center; gap:3px; }
.aa-card-pct-txt { font-size:11px; color:var(--aa-gold); margin-bottom:8px; }
.aa-card-cta   { display:inline-flex; align-items:center; gap:5px; padding:8px 16px; background:transparent; border:1px solid rgba(205,156,32,.38); color:var(--aa-gold2); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; border-radius:4px; transition:all .2s; align-self:flex-start; margin-top:auto; }
.aa-card:hover .aa-card-cta { background:var(--aa-gold); color:#000; border-color:var(--aa-gold); }
/* Vazio */
.aa-empty { text-align:center; padding:60px 20px; color:var(--aa-t4); }
.aa-empty svg { display:block; margin:0 auto 14px; opacity:.25; }
.aa-empty p { font-size:14px; color:var(--aa-t3); margin:0 0 4px; }
.aa-empty small { font-size:12px; }

/* ════════════════════════════════════════════════════════════════
   ÁREA DE AULA
════════════════════════════════════════════════════════════════ */
.aa-aula-wrap { background:var(--aa-bg); color:var(--aa-t); font-family:var(--aa-ff-body); -webkit-font-smoothing:antialiased; min-height:100vh; display:flex; flex-direction:column; }

/* Topbar */
.aa-aula-topbar { display:flex; align-items:center; justify-content:space-between; padding:0 20px; height:52px; background:rgba(11,11,11,.98); border-bottom:1px solid var(--aa-bord); position:sticky; top:0; z-index:50; flex-shrink:0; }
.aa-aula-back { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--aa-t3) !important; transition:color .15s; }
.aa-aula-back:hover { color:var(--aa-t) !important; }
.aa-topbar-logo { height:26px; width:auto; }
.aa-topbar-brand { font-size:12px; font-weight:800; letter-spacing:.18em; color:var(--aa-gold2); }
.aa-topbar-user { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--aa-t3); }
.aa-topbar-av { width:32px; height:32px; border-radius:50%; background-size:cover; background-position:center; background-color:var(--aa-bg3); border:1px solid rgba(245,203,92,.3); }

/* Layout: player (flex:1) + sidebar (320px fixo) */
.aa-aula-layout { display:flex; flex:1; min-height:0; }
.aa-aula-main   { flex:1; min-width:0; display:flex; flex-direction:column; }

/* Player */
.aa-player-wrap { background:#000; position:relative; width:100%; aspect-ratio:16/9; max-height:62vh; overflow:hidden; }
.aa-player-iframe { width:100%; height:100%; border:none; display:block; }
.aa-no-video { width:100%; height:100%; min-height:280px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--aa-t4); gap:12px; }
.aa-no-video p { font-size:14px; }
.aa-player-link a { color:var(--aa-gold2)!important; font-size:14px; }

/* Info da aula */
.aa-aula-info  { padding:20px 24px; }
.aa-aula-titulo { font-family:var(--aa-ff-title); font-size:clamp(18px,2.2vw,26px); font-weight:600; color:var(--aa-t); margin:0 0 8px; }
.aa-aula-desc  { font-size:14px; color:var(--aa-t3); line-height:1.7; margin:0 0 18px; }

/* Navegação prev/next */
.aa-aula-nav { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:18px; }
.aa-nav-btn { display:inline-flex; align-items:center; gap:5px; padding:9px 16px; background:var(--aa-bg3); border:1px solid var(--aa-bord); color:var(--aa-t3)!important; font-size:12px; border-radius:5px; transition:all .18s; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.aa-nav-btn:hover { border-color:var(--aa-bord2); color:var(--aa-t)!important; }
.aa-btn-concluir { padding:9px 18px; background:transparent; border:1.5px solid rgba(205,156,32,.45); color:var(--aa-gold2); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; border-radius:5px; cursor:pointer; font-family:var(--aa-ff-body); transition:all .2s; }
.aa-btn-concluir:hover { background:var(--aa-gold); color:#000; border-color:var(--aa-gold); }
.aa-btn-concluir--done { background:rgba(34,197,94,.12); border-color:rgba(34,197,94,.3); color:#4ade80; cursor:default; }

/* Barra de progresso do curso */
.aa-curso-prog { margin-top:6px; }
.aa-curso-prog-hdr { display:flex; justify-content:space-between; font-size:11px; color:var(--aa-t4); margin-bottom:6px; }
.aa-prog-bar-outer { height:4px; background:rgba(255,255,255,.08); border-radius:2px; overflow:hidden; }
.aa-prog-bar-fill  { height:100%; background:linear-gradient(90deg, var(--aa-dk), var(--aa-gold2)); border-radius:2px; transition:width .4s ease; }

/* Sidebar de módulos */
.aa-aula-sidebar { width:320px; min-width:320px; flex-shrink:0; background:var(--aa-bg2); border-left:1px solid var(--aa-bord); overflow-y:auto; scrollbar-width:thin; scrollbar-color:rgba(205,156,32,.2) transparent; }
.aa-aula-sidebar::-webkit-scrollbar { width:4px; }
.aa-aula-sidebar::-webkit-scrollbar-thumb { background:rgba(205,156,32,.2); border-radius:2px; }
.aa-sidebar-header { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid var(--aa-bord); font-size:12px; font-weight:600; color:var(--aa-t2); position:sticky; top:0; background:var(--aa-bg2); z-index:5; }
.aa-sidebar-pct { font-size:11px; color:var(--aa-gold); }
.aa-modulo-bloco { border-bottom:1px solid rgba(245,203,92,.08); }
.aa-mod-titulo { padding:10px 16px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--aa-t4); background:rgba(255,255,255,.02); }
.aa-aulas-ul { list-style:none; margin:0; padding:4px 0; }
.aa-aula-li a { display:flex; align-items:center; gap:9px; padding:9px 16px; font-size:12px; color:var(--aa-t3)!important; transition:background .15s; }
.aa-aula-li a:hover { background:rgba(245,203,92,.05); color:var(--aa-t)!important; }
.aa-aula-li--atual a { background:rgba(205,156,32,.12)!important; color:var(--aa-gold2)!important; }
.aa-aula-li--done  a { color:rgba(74,222,128,.7)!important; }
.aa-li-icon { width:18px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.aa-li-nome { flex:1; line-height:1.4; }
.aa-li-dur  { font-size:10px; color:var(--aa-t4); white-space:nowrap; }

/* ── Mensagens ─────────────────────────────────────────────────── */
.aa-notice { padding:14px 18px; background:rgba(205,156,32,.06); border:1px solid var(--aa-bord); border-radius:6px; color:var(--aa-t2); font-family:var(--aa-ff-body); font-size:13px; }
.aa-notice a { color:var(--aa-gold2)!important; }
.aa-notice-deny { background:rgba(239,68,68,.06); border-color:rgba(239,68,68,.28); color:rgba(252,165,165,.9); }

/* ════════════════════════════════════════════════════════════════
   RESPONSIVO
════════════════════════════════════════════════════════════════ */
@media(max-width:1100px){
    .aa-sb { width:200px; min-width:200px; }
    .aa-aula-sidebar { width:280px; min-width:280px; }
}
@media(max-width:860px){
    .aa-dashboard { flex-direction:column; }
    .aa-sb { width:100%; min-width:unset; height:auto; position:static; border-right:none; border-bottom:1px solid var(--aa-bord); }
    .aa-sb-nav { display:flex; flex-wrap:wrap; padding:6px 8px; }
    .aa-sb-item { padding:8px 12px; border-left:none; font-size:11px; }
    .aa-hero, .aa-section { padding:20px 18px; }
    .aa-grid { grid-template-columns:1fr 1fr; gap:14px; }
    .aa-aula-layout { flex-direction:column; }
    .aa-aula-sidebar { width:100%; min-width:unset; border-left:none; border-top:1px solid var(--aa-bord); max-height:380px; }
    .aa-aula-info { padding:14px 16px; }
}
@media(max-width:520px){
    .aa-grid { grid-template-columns:1fr; }
    .aa-login-card { padding:28px 20px; }
    .aa-hero-h1 { font-size:22px; }
    .aa-aula-nav { flex-direction:column; align-items:flex-start; }
}
/* Seleção dourada */
::selection { background:rgba(205,156,32,.25); color:var(--aa-t); }
/* Focus dourado */
.aa-card:focus-visible, #aa-login-form input:focus-visible, .aa-btn-concluir:focus-visible {
    outline:2px solid rgba(245,203,92,.45)!important; outline-offset:2px!important;
}

/* ══ FIXES v2 — Dashboard full-width + logo + cards ════════════ */

/* Largura total: desfaz qualquer contentor do tema/Elementor */
.aa-dashboard {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100vh;
}

/* Template Dashboard (body.aa-dash-fullpage) — garante sem margens */
body.aa-dash-fullpage .aa-dashboard,
body.aa-dash-fullpage #aa-dash-root {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Elementor: remove max-width do container quando tem dashboard */
.elementor-widget-shortcode:has(.aa-dashboard),
.e-con:has(.aa-dashboard),
.elementor-section:has(.aa-dashboard) .elementor-container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Logo na sidebar do dashboard */
.aa-sb-logo-img {
    height: 36px;
    width: auto;
    display: block;
    max-width: 100%;
    object-fit: contain;
}

/* Hero — mais espaçamento e gradiente melhorado */
.aa-hero {
    padding: 40px 36px 30px;
    background: linear-gradient(180deg, var(--aa-bg2, #111) 0%, var(--aa-bg, #0B0B0B) 100%);
    border-bottom: 1px solid var(--aa-bord, rgba(245,203,92,.15));
    position: relative; overflow: hidden;
}
.aa-hero::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(ellipse 65% 80% at 80% 50%, rgba(205,156,32,.06) 0%, transparent 65%);
    pointer-events: none;
}
.aa-hero-eye {
    font-size: 9px; font-weight: 700; letter-spacing: .3em;
    text-transform: uppercase; color: var(--aa-gold, #CD9C20);
    opacity: .75; margin-bottom: 10px;
    display: flex; align-items: center; gap: 9px;
}
.aa-hero-eye::before { content: ''; width: 20px; height: 1px; background: var(--aa-gold, #CD9C20); opacity: .5; }
.aa-hero-h1 {
    font-family: var(--aa-ff-title, 'Cormorant Garamond', serif);
    font-size: clamp(22px,2.8vw,36px);
    font-weight: 600; line-height: 1.2;
    color: var(--aa-t, #F2ECDD); margin: 0 0 6px;
}
.aa-hero-h1 em { color: var(--aa-gold2, #F5CB5C); font-style: italic; }
.aa-hero-verso { font-size: 12px; color: var(--aa-t4, rgba(242,236,221,.35)); margin: 0; }

/* Grid de cards — 3 colunas em desktop, responsivo */
.aa-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 22px;
}

/* Cards — efeito overlay dourado completo */
.aa-card {
    display: flex; flex-direction: column;
    background: var(--aa-bg2, #111); border: 1px solid var(--aa-bord, rgba(245,203,92,.15));
    border-radius: var(--aa-r, 8px); overflow: hidden;
    color: var(--aa-t, #F2ECDD) !important; text-decoration: none !important;
    transition: transform .28s cubic-bezier(.4,0,.2,1), border-color .28s, box-shadow .28s;
    cursor: pointer;
}
.aa-card:hover {
    transform: translateY(-5px) scale(1.012);
    border-color: rgba(245,203,92,.5);
    box-shadow: 0 8px 32px rgba(205,156,32,.25);
    text-decoration: none !important;
}
.aa-card-thumb {
    position: relative; height: 162px;
    background: var(--aa-bg3, #1A1A18); overflow: hidden; flex-shrink: 0;
}
.aa-card-thumb img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .5s;
}
.aa-card:hover .aa-card-thumb img { transform: scale(1.07); }
.aa-card-ph {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--aa-bg3, #1A1A18), var(--aa-bg4, #252522));
    color: rgba(245,203,92,.22);
}
.aa-card-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.75) 0%, rgba(205,156,32,.10) 50%, rgba(0,0,0,.05) 100%);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: opacity .3s;
}
.aa-card:hover .aa-card-overlay { opacity: 1; }
.aa-card-play {
    width: 56px; height: 56px; border-radius: 50%;
    border: 2px solid var(--aa-gold2, #F5CB5C);
    background: rgba(0,0,0,.45); backdrop-filter: blur(8px);
    display: flex; align-items: center; justify-content: center;
    color: var(--aa-gold2, #F5CB5C);
    box-shadow: 0 0 0 10px rgba(245,203,92,.08), 0 0 32px rgba(205,156,32,.3);
    transition: transform .25s;
}
.aa-card:hover .aa-card-play { transform: scale(1.1); }
.aa-card-prog-bar { position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: rgba(255,255,255,.1); }
.aa-card-prog-fill { height: 100%; background: linear-gradient(90deg, var(--aa-dk, #8B6914), var(--aa-gold2, #F5CB5C)); border-radius: 2px; }
.aa-card-body { padding: 16px; display: flex; flex-direction: column; flex: 1; }
.aa-card-titulo {
    font-size: 14px; font-weight: 700; color: var(--aa-t, #F2ECDD);
    margin: 0 0 6px; line-height: 1.3; transition: color .2s;
}
.aa-card:hover .aa-card-titulo { color: var(--aa-gold2, #F5CB5C); }
.aa-card-meta {
    display: flex; align-items: center; gap: 8px;
    font-size: 11px; color: var(--aa-t4, rgba(242,236,221,.35));
    margin-bottom: 8px; flex-wrap: wrap;
}
.aa-card-meta span { display: flex; align-items: center; gap: 3px; }
.aa-card-pct-txt { font-size: 11px; color: var(--aa-gold, #CD9C20); margin-bottom: 8px; }
.aa-card-cta {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 8px 16px;
    background: transparent;
    border: 1px solid rgba(205,156,32,.38);
    color: var(--aa-gold2, #F5CB5C) !important;
    font-size: 10px; font-weight: 700; letter-spacing: .12em;
    text-transform: uppercase; border-radius: 4px;
    transition: all .2s; align-self: flex-start; margin-top: auto;
}
.aa-card:hover .aa-card-cta {
    background: var(--aa-gold, #CD9C20);
    color: #000 !important; border-color: var(--aa-gold, #CD9C20);
}
.aa-empty { text-align: center; padding: 60px 20px; color: var(--aa-t4, rgba(242,236,221,.35)); }
.aa-empty svg { display: block; margin: 0 auto 14px; opacity: .25; }
.aa-empty p { font-size: 14px; color: var(--aa-t3, rgba(242,236,221,.5)); margin: 0 0 4px; }
.aa-empty small { font-size: 12px; }

/* Seção dentro do main */
.aa-section { padding: 28px 36px 60px; }
.aa-section-hdr { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.aa-section-titulo { font-size: 13px; font-weight: 600; color: var(--aa-t2, rgba(242,236,221,.8)); }
.aa-badge-count {
    font-size: 11px; color: var(--aa-t4, rgba(242,236,221,.35));
    background: rgba(245,203,92,.05); border: 1px solid var(--aa-bord, rgba(245,203,92,.15));
    padding: 3px 10px; border-radius: 20px;
}

/* ── Responsivo ─────────────────────────────────────────────── */
@media(max-width:1100px){ .aa-sb { width: 200px; min-width: 200px; } }
@media(max-width:860px){
    .aa-sb { width: 100%; min-width: unset; height: auto; position: static; border-right: none; border-bottom: 1px solid var(--aa-bord, rgba(245,203,92,.15)); }
    .aa-sb-nav { display: flex; flex-wrap: wrap; padding: 6px 8px; }
    .aa-sb-item { padding: 8px 12px; border-left: none; font-size: 11px; }
    .aa-hero, .aa-section { padding: 20px 18px; }
    .aa-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
}
@media(max-width:520px){
    .aa-grid { grid-template-columns: 1fr; }
    .aa-hero-h1 { font-size: 22px; }
}
