/**
 * Entre Líderes — el-main.css
 * Arquivo único consolidado. Substitui: el-tokens.css, el-base.css,
 * el-components.css, el-shortcodes.css
 *
 * el-admin.css permanece separado (só carrega no wp-admin).
 *
 * Índice:
 *   1.  Tokens (variáveis CSS)
 *   2.  Reset base
 *   3.  Tipografia utilitária
 *   4.  Grids responsivos
 *   5.  Layout com sidebar
 *   6.  Spinner / loading
 *   7.  Campo de busca
 *   8.  Botão "Carregar mais"
 *   9.  Filtro — label
 *  10.  Filtro — botões pill (Todos + categorias)
 *  11.  Filtro — inputs de data
 *  12.  Filtro — limpar
 *  13.  Estado vazio / status
 *  14.  Placeholder de imagem / avatar
 *  15.  Acessibilidade
 *  16.  Card de conteúdo
 *  17.  Tags de categoria
 *  18.  Card de episódio
 *  19.  Play overlay
 *  20.  Botão Assistir
 *  21.  Card de especialista
 *  22.  Card horizontal destaque de conteúdo (light)
 *  23.  Modal de vídeo YouTube
 *  24.  Avatar
 *  25.  Card do autor
 *  26.  Sidebar — bloco container / mais lidos
 *  27.  Links sociais
 *  28.  Meta ícone circular (perfil)
 *  29.  CTA canal YouTube
 *  30.  [el_episodios] — layout e sidebar
 *  31.  [el_conteudos] — layout e filtros
 *  32.  [el_especialistas]
 *  33.  [el_especialista_perfil]
 *  34.  [el_single_conteudo]
 *  35.  [el_lista_episodios] / [el_lista_conteudos]
 *  36.  Hero (page-id via body class)
 */


/* ═══════════════════════════════════════════════════════════════════════════
   1. TOKENS
   ═══════════════════════════════════════════════════════════════════════════ */

:root {

    --el-font: 'Plus Jakarta Sans', sans-serif;
    --el-font-elementor: var(--e-global-typography-primary-font-family, 'Plus Jakarta Sans'), sans-serif;

    /* Brand */
    --el-orange:         #FF7A03;
    --el-orange-hover:   #E06D00;
    --el-orange-press:   #B35500;
    --el-orange-aaa:     #FFB36B;
    --el-orange-light:   #7A3A00;
    --el-red:            #F90807;
    --el-red-hover:      #D10706;

    /* Superfícies dark */
    --el-bg-base:        #000000;
    --el-bg-raised:      #0D0D0D;
    --el-bg-card:        #141414;
    --el-bg-overlay:     #1F1F1F;
    --el-bg-input:       #1A1A1A;
    --el-border:         #2A2A2A;
    --el-border-subtle:  #1E1E1E;
    --el-border-strong:  #242424;

    /* Superfícies light */
    --el-light-bg-base:        #FFFFFF;
    --el-light-bg-raised:      #F5F4F1;
    --el-light-bg-card:        #ECEAE6;
    --el-light-bg-overlay:     #E4E3DF;
    --el-light-border:         #DDDBD6;
    --el-light-border-subtle:  #EEECE8;

    /* Texto dark */
    --el-text-primary:   #FFFFFF;
    --el-text-secondary: #EBEBEB;
    --el-text-body:      #D4D4D4;
    --el-text-muted:     #B8B8B8;
    --el-text-hint:      #9A9A9A;
    --el-text-disabled:  #555555;

    /* Texto light */
    --el-light-text-primary:   #111110;
    --el-light-text-secondary: #2E2D2B;
    --el-light-text-body:      #4A4845;
    --el-light-text-muted:     #6E6C68;

    /* Links */
    --el-link:         #FFB36B;
    --el-link-hover:   #FF8F2E;
    --el-light-link:       #7A3A00;
    --el-light-link-hover: #B35500;

    /* Espaçamento 4pt */
    --el-sp-1:  4px;
    --el-sp-2:  8px;
    --el-sp-3:  12px;
    --el-sp-4:  16px;
    --el-sp-5:  24px;
    --el-sp-6:  32px;
    --el-sp-7:  48px;
    --el-sp-8:  64px;
    --el-sp-9:  96px;
    --el-sp-10: 128px;

    /* Border radius */
    --el-r-xs:   2px;
    --el-r-sm:   4px;
    --el-r-md:   8px;
    --el-r-lg:   12px;
    --el-r-xl:   16px;
    --el-r-pill: 999px;

    /* Tipografia */
    --el-h6-size: 13px; --el-h6-weight: 700; --el-h6-tracking: 0.06em; --el-h6-lh: 18px;
    --el-body-size: 16px; --el-body-weight: 400; --el-body-lh: 26px;
    --el-body-sm-size: 14px; --el-body-sm-lh: 21px;
    --el-caption-size: 12px; --el-caption-tracking: 0.02em; --el-caption-lh: 17px;
    --el-prose-width: 680px;
    --el-toc-width:   220px;

    /* Layout */
    --el-sidebar-width: 280px;
    --el-section-gap:   40px;
    --el-grid-gap:      24px;

    /* Botões */
    --el-btn-md-h: 44px;
    --el-focus-ring: 0 0 0 3px #FFB36B;

    /* Transições */
    --el-transition-fast:   .2s ease;
    --el-transition-normal: .25s ease;
    --el-transition-slow:   .35s ease;

    /* Cores de tag (apenas as categorias ativas) */
    --el-cat-financeiro:        #FFCC50;
    --el-cat-saude:             #FF9650;
    --el-cat-industria:         #7AACFF;
    --el-cat-educacao:          #5ECF8A;
    --el-cat-logistica:         #64B4FF;
    --el-cat-direito:           #B4DC64;
    --el-cat-alimentos:         #50C8C8;
    --el-cat-energia:           #FFD45E;
    --el-cat-engenharia:        #FF6090;
    --el-cat-imobiliario:       #B896FF;
    --el-cat-moda:              #FF7A03;
    --el-cat-rh:                #FCACAC;
    --el-cat-telecomunicacao:   #3EC878;
    --el-cat-default:           #9A9A9A;
}


/* ═══════════════════════════════════════════════════════════════════════════
   2. RESET BASE
   ═══════════════════════════════════════════════════════════════════════════ */

.el-ep-outer,
.el-ct-outer,
.el-esp-outer,
.el-sc-outer {
    width: 100%;
    box-sizing: border-box;
}

.el-ep-outer svg,
.el-ct-outer svg,
.el-esp-outer svg,
.el-sc-outer svg {
    max-width: 100%;
    height: auto;
}


/* ═══════════════════════════════════════════════════════════════════════════
   3. TIPOGRAFIA UTILITÁRIA
   ═══════════════════════════════════════════════════════════════════════════ */

.el-overline {
    font-family:    var(--el-font-elementor);
    font-size:      var(--el-h6-size);
    font-weight:    var(--el-h6-weight);
    letter-spacing: var(--el-h6-tracking);
    line-height:    var(--el-h6-lh);
    text-transform: uppercase;
    color:          var(--el-orange);
    display:        inline-block;
}

/* Separador ponto (data · duração) */
.el-meta-sep {
    width:         3px;
    height:        3px;
    border-radius: 50%;
    background:    var(--el-border);
    flex-shrink:   0;
    display:       inline-block;
}


/* ═══════════════════════════════════════════════════════════════════════════
   4. GRIDS RESPONSIVOS
   ═══════════════════════════════════════════════════════════════════════════ */

.el-grid {
    display:       grid;
    gap:           var(--el-grid-gap);
    margin-bottom: var(--el-sp-7);
}

.el-grid[data-cols="1"] { grid-template-columns: 1fr; }
.el-grid[data-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.el-grid[data-cols="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.el-grid[data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 1024px) {
    .el-grid[data-cols="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .el-grid[data-cols="3"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    .el-grid[data-cols="2"],
    .el-grid[data-cols="3"],
    .el-grid[data-cols="4"] { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   5. LAYOUT COM SIDEBAR
   ═══════════════════════════════════════════════════════════════════════════ */

.el-layout {
    display:     grid;
    gap:         var(--el-section-gap);
    align-items: start;
    width:       100%;
    box-sizing:  border-box;
}

.el-layout.com-sidebar {
    grid-template-columns: 1fr var(--el-sidebar-width);
}

.el-sidebar {
    position:       sticky;
    top:            24px;
    display:        flex;
    flex-direction: column;
    gap:            var(--el-sp-7);
}

@media (max-width: 1024px) {
    .el-layout.com-sidebar { grid-template-columns: 1fr 240px; gap: 28px; }
}

@media (max-width: 768px) {
    .el-layout.com-sidebar { grid-template-columns: 1fr; }
    .el-sidebar { position: static; order: -1; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   6. SPINNER / LOADING
   ═══════════════════════════════════════════════════════════════════════════ */

.el-loading {
    display:         none;
    align-items:     center;
    justify-content: center;
    gap:             var(--el-sp-2);
    padding:         var(--el-sp-8) 0;
    font-family:     var(--el-font-elementor);
    font-size:       var(--el-caption-size);
    color:           var(--el-text-disabled);
}

.el-loading.ativo { display: flex; }

.el-spinner {
    width:         16px;
    height:        16px;
    border:        2px solid var(--el-border);
    border-top-color: var(--el-orange);
    border-radius: 50%;
    animation:     el-spin .7s linear infinite;
    flex-shrink:   0;
}

@keyframes el-spin { to { transform: rotate(360deg); } }


/* ═══════════════════════════════════════════════════════════════════════════
   7. CAMPO DE BUSCA
   ═══════════════════════════════════════════════════════════════════════════ */

.el-search {
    display:       flex;
    align-items:   center;
    gap:           var(--el-sp-2);
    background:    var(--el-bg-input);
    border:        1px solid var(--el-border);
    border-radius: var(--el-r-sm);
    padding:       11px 14px;
    transition:    border-color var(--el-transition-fast);
}

.el-search:focus-within { border-color: var(--el-orange); }

.el-search svg {
    width:       15px;
    height:      15px;
    flex-shrink: 0;
    opacity:     .35;
    color:       var(--el-text-primary);
}

.el-search input {
    background:  none;
    border:      none;
    outline:     none;
    color:       var(--el-text-primary);
    font-family: var(--el-font-elementor);
    font-size:   13px;
    width:       100%;
}

.el-search input::placeholder { color: var(--el-text-hint); }
.el-search input:focus        { box-shadow: none; }


/* ═══════════════════════════════════════════════════════════════════════════
   8. BOTÃO "CARREGAR MAIS"
   ═══════════════════════════════════════════════════════════════════════════ */

.el-mais-wrap { text-align: center; padding-top: var(--el-sp-2); }

.el-mais-btn {
    display:        inline-flex;
    align-items:    center;
    gap:            var(--el-sp-2);
    font-family:    var(--el-font-elementor);
    font-size:      var(--el-caption-size);
    font-weight:    700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color:          var(--el-text-primary);
    border:         1.5px solid var(--el-bg-overlay);
    padding:        13px 36px;
    border-radius:  var(--el-r-pill);
    background:     none;
    cursor:         pointer;
    transition:     border-color var(--el-transition-fast),
                    color var(--el-transition-fast);
}

/* !important: Elementor injeta hover rosa via CSS inline */
.el-mais-btn:hover {
    border-color: var(--el-orange) !important;
    color:        var(--el-orange) !important;
    background:   transparent !important;
}

.el-mais-btn:disabled { opacity: .3; cursor: default; }
.el-mais-btn:focus    { box-shadow: var(--el-focus-ring); outline: none; }
.el-mais-btn.oculto   { display: none; }

a.el-mais-btn,
a.el-mais-btn:visited {
    color:            var(--el-text-primary) !important;
    background:       none !important;
    background-color: transparent !important;
    border:           1.5px solid var(--el-bg-overlay) !important;
    text-decoration:  none !important;
    border-radius:    var(--el-r-pill) !important;
    padding:          13px 36px !important;

    /* Tipografia — Elementor sobrescreve font em <a> */
    font-family:    var(--el-font-elementor) !important;
    font-size:      var(--el-caption-size) !important;
    font-weight:    700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

a.el-mais-btn:hover {
    border-color: var(--el-orange) !important;
    color:        var(--el-orange) !important;
    background:   transparent !important;
}

/* Focus — sobrescreve azul/padrão do Elementor em <button> e <a> */
.el-mais-btn:focus,
.el-mais-btn:focus-visible,
a.el-mais-btn:focus,
a.el-mais-btn:focus-visible {
    outline:    2px solid var(--el-orange) !important;
    outline-offset: 2px !important;
    box-shadow: var(--el-focus-ring) !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   9. FILTRO — LABEL
   ═══════════════════════════════════════════════════════════════════════════ */

.el-filter-block {
    display:        flex;
    flex-direction: column;
    gap:            var(--el-sp-3);
}

.el-filter-label {
    font-family:    var(--el-font-elementor);
    font-size:      10px;
    font-weight:    700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color:          var(--el-text-muted); /* #B8B8B8 — AAA 7.2:1 sobre #141414 */
}


/* ═══════════════════════════════════════════════════════════════════════════
   10. FILTRO — BOTÕES PILL (Todos + categorias)
   Padrão unificado usado em episódios E conteúdos.
   !important nos estados ativos: Elementor sobrescreve background/color
   em botões via CSS inline de alta especificidade.
   ═══════════════════════════════════════════════════════════════════════════ */

.el-cats {
    display:   flex;
    flex-wrap: wrap;
    gap:       var(--el-sp-2);
}

.el-cat-btn {
    font-family:    var(--el-font-elementor);
    font-size:      10px;
    font-weight:    700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color:          var(--el-text-muted); /* #B8B8B8 — AAA 7.2:1 */
    background:     none;
    border:         1px solid var(--el-border); /* #2A2A2A — visível */
    padding:        6px 14px;
    border-radius:  var(--el-r-pill);
    cursor:         pointer;
    transition:     color var(--el-transition-fast),
                    border-color var(--el-transition-fast),
                    background var(--el-transition-fast);
    white-space:    nowrap;
    /* Tamanho fixo: evita que texto longo quebre o layout */
    flex-shrink:    0;
}

.el-cat-btn:hover {
    border-color: var(--el-orange) !important;
    color:        var(--el-text-primary) !important;
    background:   transparent !important;
}

.el-cat-btn.ativo {
    background:   var(--el-orange) !important;
    border-color: var(--el-orange) !important;
    color:        #000 !important;
}

.el-cat-btn:focus { box-shadow: var(--el-focus-ring); outline: none; }


/* ═══════════════════════════════════════════════════════════════════════════
   11. FILTRO — INPUTS DE DATA
   ═══════════════════════════════════════════════════════════════════════════ */

.el-dates {
    display:     flex;
    align-items: center;
    gap:         var(--el-sp-2);
}

.el-date-input {
    flex:          1;
    min-width:     0;
    background:    var(--el-bg-input);
    border:        1px solid var(--el-border);
    border-radius: var(--el-r-sm);
    padding:       9px 10px;
    color:         var(--el-text-primary);
    font-family:   var(--el-font-elementor);
    font-size:     11px;
    outline:       none;
    transition:    border-color var(--el-transition-fast);
    box-sizing:    border-box;
}

.el-date-input:focus { border-color: var(--el-orange); }
.el-date-input::-webkit-calendar-picker-indicator { filter: invert(.6); cursor: pointer; }

.el-date-sep {
    color:       var(--el-text-muted); /* #B8B8B8 — AAA */
    font-size:   11px;
    flex-shrink: 0;
}


/* ═══════════════════════════════════════════════════════════════════════════
   12. FILTRO — LIMPAR
   ═══════════════════════════════════════════════════════════════════════════ */

.el-limpar {
    font-family: var(--el-font-elementor);
    font-size:   11px;
    font-weight: 600;
    color:       var(--el-text-muted); /* #B8B8B8 — AAA */
    background:  none;
    border:      none;
    cursor:      pointer;
    padding:     0;
    text-align:  left;
    display:     none;
    transition:  color var(--el-transition-fast);
}

.el-limpar:hover   { color: var(--el-orange); }
.el-limpar:focus   { box-shadow: var(--el-focus-ring); outline: none; }
.el-limpar.visivel { display: block; }


/* ═══════════════════════════════════════════════════════════════════════════
   13. ESTADO VAZIO / STATUS
   ═══════════════════════════════════════════════════════════════════════════ */

.el-empty {
    grid-column: 1 / -1;
    text-align:  center;
    padding:     var(--el-sp-9) var(--el-sp-6);
    color:       var(--el-bg-overlay);
    font-family: var(--el-font-elementor);
    font-size:   13px;
}

.el-status {
    font-family:   var(--el-font-elementor);
    font-size:     var(--el-caption-size);
    color:         var(--el-text-disabled);
    margin-bottom: var(--el-sp-4);
    min-height:    18px;
}


/* ═══════════════════════════════════════════════════════════════════════════
   14. PLACEHOLDER DE IMAGEM / AVATAR
   ═══════════════════════════════════════════════════════════════════════════ */

.el-img-placeholder {
    width:           100%;
    height:          100%;
    display:         flex;
    align-items:     center;
    justify-content: center;
    background:      #111;
}

.el-img-placeholder svg { width: 40px; height: 40px; opacity: .06; }

.el-avatar-placeholder {
    border-radius:   50%;
    background:      var(--el-bg-input);
    border:          2px solid var(--el-border);
    display:         flex;
    align-items:     center;
    justify-content: center;
    flex-shrink:     0;
    font-family:     var(--el-font-elementor);
    font-weight:     700;
    color:           var(--el-border);
}


/* ═══════════════════════════════════════════════════════════════════════════
   15. ACESSIBILIDADE
   ═══════════════════════════════════════════════════════════════════════════ */

.el-sr-only {
    position:   absolute;
    width:      1px;
    height:     1px;
    padding:    0;
    margin:     -1px;
    overflow:   hidden;
    clip:       rect(0, 0, 0, 0);
    white-space: nowrap;
    border:     0;
}

.el-ep-outer *:focus-visible,
.el-ct-outer *:focus-visible,
.el-esp-outer *:focus-visible,
.el-sc-outer *:focus-visible {
    outline:       none;
    box-shadow:    var(--el-focus-ring);
    border-radius: var(--el-r-sm);
}


/* ═══════════════════════════════════════════════════════════════════════════
   16. CARD DE CONTEÚDO
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Card de conteúdo (artigos) — mesmo padrão visual do card de episódio ── */

.el-ct-card {
    background:     var(--el-bg-card);
    border:         1px solid var(--el-border-strong);
    border-radius:  var(--el-r-md);
    overflow:       hidden;
    display:        flex;
    flex-direction: column;
    transition:     border-color var(--el-transition-normal);
}

.el-ct-card:hover { border-color: var(--el-orange); }

.el-ct-thumb {
    position:     relative;
    width:        100%;
    aspect-ratio: 16 / 9;
    overflow:     hidden;
    background:   #0f0f0f;
    flex-shrink:  0;
    display:      block;
    text-decoration: none;
}

.el-ct-thumb img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
    transition: transform var(--el-transition-slow);
}

.el-ct-thumb:hover img { transform: scale(1.04); }

.el-ct-thumb-placeholder {
    width:           100%;
    height:          100%;
    display:         flex;
    align-items:     center;
    justify-content: center;
    background:      #111;
}

.el-ct-thumb-placeholder svg { width: 36px; height: 36px; opacity: .08; }

/* Mantidos para o el-ct-dest-card (card de destaque) */
.el-ct-cover {
    position:   absolute;
    inset:      0;
    width:      100% !important;
    height:     100% !important;
    max-width:  none !important;
    object-fit: cover;
    display:    block;
    transition: filter var(--el-transition-slow);
    z-index:    0;
}

.el-ct-cover-placeholder {
    position:        absolute;
    inset:           0;
    display:         flex;
    align-items:     center;
    justify-content: center;
    z-index:         0;
    background:      #111;
    transition:      filter var(--el-transition-slow);
}

.el-ct-cover-placeholder svg { width: 40px; height: 40px; opacity: .08; }

.el-ct-overlay {
    position:   absolute;
    inset:      0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,.99) 0%,
        rgba(0,0,0,.97) 30%,
        rgba(0,0,0,.93) 55%,
        rgba(0,0,0,.70) 70%,
        rgba(0,0,0,0)   82%
    );
    z-index:    1;
    transition: opacity var(--el-transition-slow);
}

.el-ct-hover-cta {
    position:        absolute;
    inset:           0;
    z-index:         3;
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    justify-content: center;
    gap:             8px;
    opacity:         0;
    transition:      opacity var(--el-transition-normal);
    pointer-events:  none;
}

.el-ct-hover-cta svg {
    width:  32px;
    height: 32px;
    color:  var(--el-text-primary);
}

.el-ct-hover-cta span {
    font-family:    var(--el-font-elementor);
    font-size:      11px;
    font-weight:    700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color:          var(--el-text-primary);
}

/* Corpo do card */
.el-ct-body {
    padding:        var(--el-sp-4);
    display:        flex;
    flex-direction: column;
    flex:           1;
    gap:            0;
}

.el-ct-title {
    font-family:   var(--el-font-elementor);
    font-size:     13px;
    font-weight:   700;
    color:         var(--el-text-primary);
    line-height:   1.4;
    margin:        0 0 var(--el-sp-2);
}

/* Rodapé do card: data + tempo de leitura à esquerda, botão à direita */
.el-ct-footer {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    margin-top:      auto;
    padding-top:     var(--el-sp-3);
    border-top:      1px solid var(--el-border-subtle);
    gap:             8px;
}

.el-ct-meta-left {
    display:     flex;
    align-items: center;
    gap:         6px;
    flex:        1;
    min-width:   0;
}

.el-ct-sep {
    width:         3px;
    height:        3px;
    border-radius: 50%;
    background:    var(--el-text-disabled);
    flex-shrink:   0;
}

.el-ct-date {
    font-family:    var(--el-font-elementor);
    font-size:      10px;
    color:          var(--el-text-muted);
    text-transform: uppercase;
    letter-spacing: .05em;
    white-space:    nowrap;
    line-height:    1.5;
}

.el-ct-time {
    font-family:  var(--el-font-elementor);
    font-size:    10px;
    color:        var(--el-text-muted);
    display:      flex;
    align-items:  center;
    gap:          3px;
    white-space:  nowrap;
    line-height:  1.3;
}

.el-ct-time svg { width: 11px; height: 11px; flex-shrink: 0; }


/* ═══════════════════════════════════════════════════════════════════════════
   17. TAGS DE CATEGORIA (apenas categorias ativas)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Tag de categoria — posicionada sobre a thumbnail, canto superior esquerdo */
.el-ct-thumb .el-ct-tag {
    position:        absolute;
    top:             10px;
    left:            10px;
    z-index:         2;
    font-family:     var(--el-font);
    font-size:       9px !important;
    font-weight:     800;
    letter-spacing:  .1em;
    text-transform:  uppercase;
    padding:         3px 10px;
    min-width:       72px;
    text-align:      center;
    border-radius:   var(--el-r-pill) !important;
    background-color: rgba(0, 0, 0, 0.60) !important;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter:          blur(6px);
    border:          1px solid currentColor;
}

/* Base — usada em outros contextos (destaque, sidebar) */
.el-ct-tag {
    align-self:     flex-start;
    font-family:    var(--el-font);
    font-size:      9px;
    font-weight:    800;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding:        3px 10px;
    border-radius:  var(--el-r-pill) !important;
    background-color: rgba(0, 0, 0, 0.55) !important;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter:         blur(4px);
    border: 1px solid currentColor;
    opacity: 1;
}

.el-ct-tag-financeiro       { color: var(--el-cat-financeiro) !important; }
.el-ct-tag-saude            { color: var(--el-cat-saude) !important; }
.el-ct-tag-industria        { color: var(--el-cat-industria) !important; }
.el-ct-tag-educacao         { color: var(--el-cat-educacao) !important; }
.el-ct-tag-logistica        { color: var(--el-cat-logistica) !important; }
.el-ct-tag-direito          { color: var(--el-cat-direito) !important; }
.el-ct-tag-alimentos        { color: var(--el-cat-alimentos) !important; }
.el-ct-tag-alimentos-e-bebidas { color: var(--el-cat-alimentos) !important; }
.el-ct-tag-energia          { color: var(--el-cat-energia) !important; }
.el-ct-tag-engenharia       { color: var(--el-cat-engenharia) !important; }
.el-ct-tag-imobiliario      { color: var(--el-cat-imobiliario) !important; }
.el-ct-tag-moda             { color: var(--el-cat-moda) !important; }
.el-ct-tag-rh               { color: var(--el-cat-rh) !important; }
.el-ct-tag-telecomunicacao  { color: var(--el-cat-telecomunicacao) !important; }
.el-ct-tag-default          { color: var(--el-cat-default) !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   18. CARD DE EPISÓDIO
   ═══════════════════════════════════════════════════════════════════════════ */

.el-ep-card {
    background:     var(--el-bg-card);
    border:         1px solid var(--el-border-strong);
    border-radius:  var(--el-r-md);
    overflow:       hidden;
    display:        flex;
    flex-direction: column;
    transition:     border-color var(--el-transition-normal);
}

.el-ep-card:hover { border-color: var(--el-orange); }

.el-ep-thumb {
    position:     relative;
    width:        100%;
    aspect-ratio: 16 / 9;
    overflow:     hidden;
    background:   #0f0f0f;
    flex-shrink:  0;
    cursor:       pointer;
}

.el-ep-thumb img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
    transition: transform var(--el-transition-slow);
}

.el-ep-thumb:hover img { transform: scale(1.04); }

.el-ep-thumb-placeholder {
    width:           100%;
    height:          100%;
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    justify-content: center;
    gap:             var(--el-sp-2);
    background:      #111;
}

.el-ep-thumb-placeholder svg  { width: 28px; height: 28px; opacity: .1; }
.el-ep-thumb-placeholder span {
    font-size:      11px;
    color:          var(--el-border);
    letter-spacing: .05em;
    font-family:    var(--el-font-elementor);
}

.el-ep-body {
    padding:        var(--el-sp-4);
    display:        flex;
    flex-direction: column;
    flex:           1;
    gap:            3px;
}

.el-ep-title {
    font-family:   var(--el-font-elementor);
    font-size:     13px;
    font-weight:   700;
    color:         var(--el-text-primary);
    line-height:   1.4;
    margin-bottom: var(--el-sp-2);
}

.el-ep-cargo {
    font-size:   11px;
    color:       var(--el-text-body);
    font-family: var(--el-font-elementor);
}

.el-ep-footer {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    margin-top:      auto;
    padding-top:     var(--el-sp-3);
    border-top:      1px solid var(--el-border-subtle);
}

.el-ep-date {
    font-size:      10px;
    color:          var(--el-text-muted);
    text-transform: uppercase;
    letter-spacing: .05em;
    line-height:    1.5;
    font-family:    var(--el-font-elementor);
}


/* ═══════════════════════════════════════════════════════════════════════════
   19. PLAY OVERLAY
   ═══════════════════════════════════════════════════════════════════════════ */

.el-play-overlay {
    position:        absolute;
    inset:           0;
    display:         flex;
    align-items:     center;
    justify-content: center;
    background:      rgba(0,0,0,0);
    transition:      background var(--el-transition-normal);
}

.el-ep-thumb:hover .el-play-overlay { background: rgba(0,0,0,.42); }

.el-play-circle {
    border-radius: 50%;
    background:    var(--el-orange);
    display:       flex;
    align-items:   center;
    justify-content: center;
    opacity:       0;
    transform:     scale(.8);
    transition:    opacity var(--el-transition-normal),
                   transform var(--el-transition-normal);
}

.el-ep-thumb:hover .el-play-circle { opacity: 1; transform: scale(1); }

.el-ep-thumb .el-play-circle     { width: 44px; height: 44px; }
.el-ep-thumb .el-play-circle svg { width: 14px; height: 14px; margin-left: 2px; }


/* ═══════════════════════════════════════════════════════════════════════════
   20. BOTÃO ASSISTIR
   ═══════════════════════════════════════════════════════════════════════════ */

.el-btn-assistir {
    display:         inline-flex;
    align-items:     center;
    gap:             var(--el-sp-2);
    font-family:     var(--el-font-elementor);
    font-size:       var(--el-caption-size);
    font-weight:     700;
    letter-spacing:  .08em;
    text-transform:  uppercase;
    color:           #000;
    background:      var(--el-orange);
    padding:         13px 36px;
    border-radius:   var(--el-r-pill);
    text-decoration: none;
    border:          none;
    cursor:          pointer;
    transition:      background var(--el-transition-fast);
    white-space:     nowrap;
    flex-shrink:     0;
}

/* !important: Elementor injeta hover rosa via CSS inline */
.el-btn-assistir:hover {
    background:      var(--el-orange-hover) !important;
    color:           #000 !important;
    text-decoration: none;
}

.el-btn-assistir:focus { box-shadow: var(--el-focus-ring); outline: none; }
.el-btn-assistir svg   { width: 8px; height: 8px; flex-shrink: 0; }

.el-btn-ler {
    display:         inline-flex;
    align-items:     center;
    gap:             5px;
    font-family:     var(--el-font);
    font-size:       12px !important;
    line-height:     1;
    font-weight:     700;
    letter-spacing:  .08em;
    text-transform:  uppercase;
    color:           #000 !important;
    background:      var(--el-orange);
    padding:         5px 12px;
    border-radius:   var(--el-r-pill);
    text-decoration: none;
    cursor:          pointer;
    transition:      background var(--el-transition-fast);
    white-space:     nowrap;
    flex-shrink:     0;
}

.el-btn-ler:hover {
    background:      var(--el-orange-hover) !important;
    color:           #000 !important;
    text-decoration: none;
}

.el-btn-ler:focus { box-shadow: var(--el-focus-ring); outline: none; }
.el-btn-ler svg   { width: 8px; height: 8px; flex-shrink: 0; }


/* ═══════════════════════════════════════════════════════════════════════════
   21. CARD DE ESPECIALISTA
   ═══════════════════════════════════════════════════════════════════════════ */

.el-esp-card {
    background:      var(--el-bg-card);
    border:          1px solid var(--el-border-strong);
    border-radius:   var(--el-r-md);
    display:         flex;
    flex-direction:  row;
    align-items:     stretch;
    gap:             0;
    padding:         0;
    text-decoration: none;
    color:           inherit;
    transition:      border-color var(--el-transition-normal);
    cursor:          pointer;
    overflow:        hidden;
    min-height:      100px;
}

.el-esp-card:hover { border-color: var(--el-orange); color: inherit; text-decoration: none; }

/* Foto ocupando toda a altura à esquerda */
.el-esp-foto {
    width:           90px;
    height:          100%;
    object-fit:      cover;
    object-position: center top;
    display:         block;
    flex-shrink:     0;
}

.el-esp-card:hover .el-esp-foto { opacity: .9; }

.el-esp-foto-placeholder {
    width:           90px;
    flex-shrink:     0;
    background:      var(--el-bg-input);
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-family:     var(--el-font-elementor);
    font-size:       22px;
    font-weight:     800;
    color:           var(--el-text-muted);
}

/* Bloco de texto à direita */
.el-esp-info {
    display:        flex;
    flex-direction: column;
    gap:            3px;
    min-width:      0;
    flex:           1;
    padding:        14px 14px;
}

.el-esp-nome {
    font-family:   var(--el-font-elementor);
    font-size:     12px;
    font-weight:   800;
    color:         var(--el-text-primary);
    line-height:   1.3;
    white-space:   nowrap;
    overflow:      hidden;
    text-overflow: ellipsis;
}

.el-esp-cargo {
    font-family:   var(--el-font-elementor);
    font-size:     10px;
    color:         var(--el-text-muted);
    line-height:   1.4;
    white-space:   nowrap;
    overflow:      hidden;
    text-overflow: ellipsis;
}

.el-esp-empresa {
    font-family:   var(--el-font-elementor);
    font-size:     10px;
    color:         var(--el-text-muted);
    white-space:   nowrap;
    overflow:      hidden;
    text-overflow: ellipsis;
}

.el-esp-artigos {
    font-family: var(--el-font-elementor);
    font-size:   10px;
    color:       var(--el-text-muted); /* #B8B8B8 — AAA */
    margin-top:  2px;
}


/* ═══════════════════════════════════════════════════════════════════════════
   22. CARD HORIZONTAL DESTAQUE DE CONTEÚDO (light)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   22. CARD DESTAQUE DE CONTEÚDO
   Mesmo padrão visual do card do grid — maior, com excerpt.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Garante que o widget shortcode do Elementor não colapsa o container */
.elementor-widget-shortcode .elementor-widget-container,
.elementor-widget-shortcode .elementor-shortcode {
    display:   block !important;
    width:     100% !important;
    max-width: 100% !important;
}

.el-ct-dest-card {
    position:        relative !important;
    border-radius:   var(--el-r-lg) !important;
    overflow:        hidden !important;
    display:         block !important;
    text-decoration: none !important;
    color:           inherit !important;
    border:          1px solid var(--el-border-strong) !important;
    aspect-ratio:    3 / 2 !important;
    width:           100% !important;
    max-width:       640px !important;
    min-width:       0 !important;
    min-height:      280px !important;
    box-sizing:      border-box !important;
    margin:          0 auto var(--el-sp-7) auto !important;
    transition:      border-color var(--el-transition-normal) !important;
}

.el-ct-dest-card:hover { border-color: var(--el-orange) !important; color: inherit !important; text-decoration: none !important; }

/* Imagem */
.el-ct-dest-card .el-ct-cover {
    transition: filter var(--el-transition-slow) !important;
}
.el-ct-dest-card:hover .el-ct-cover { filter: brightness(.2) !important; }

.el-ct-dest-card .el-ct-cover-placeholder {
    transition: filter var(--el-transition-slow) !important;
}
.el-ct-dest-card:hover .el-ct-cover-placeholder { filter: brightness(.2) !important; }

/* Overlay */
.el-ct-dest-card .el-ct-overlay {
    transition: opacity var(--el-transition-slow) !important;
}
.el-ct-dest-card:hover .el-ct-overlay { opacity: 0 !important; }

/* CTA hover */
.el-ct-dest-card .el-ct-hover-cta {
    opacity:    0 !important;
    transition: opacity var(--el-transition-normal) !important;
}
.el-ct-dest-card:hover .el-ct-hover-cta { opacity: 1 !important; }
.el-ct-dest-card .el-ct-hover-cta svg  { width: 44px !important; height: 44px !important; }
.el-ct-dest-card .el-ct-hover-cta span { font-size: 13px !important; color: #fff !important; }

/* Conteúdo */
.el-ct-dest-content {
    position:        absolute !important;
    inset:           0 !important;
    z-index:         2 !important;
    display:         flex !important;
    flex-direction:  column !important;
    justify-content: flex-end !important;
    padding:         24px !important;
    box-sizing:      border-box !important;
    transition:      opacity var(--el-transition-normal) !important;
    opacity:         1 !important;
}
.el-ct-dest-card:hover .el-ct-dest-content { opacity: 0 !important; }

.el-ct-dest-title,
.el-ct-dest-card .el-ct-dest-title,
.el-ct-dest-content .el-ct-dest-title,
[class*="elementor-element"] .el-ct-dest-title {
    font-family: var(--el-font-elementor) !important;
    font-size:   18px !important;
    font-weight: 700 !important;
    color:       #ffffff !important;
    line-height: 1.3 !important;
    margin:      0 0 10px 0 !important;
}

.el-ct-dest-excerpt {
    font-family:        var(--el-font-elementor) !important;
    font-size:          13px !important;
    color:              rgba(255,255,255,.6) !important;
    line-height:        1.55 !important;
    margin:             0 0 16px 0 !important;
    display:            -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow:           hidden !important;
}

.el-ct-dest-divider {
    border:        none !important;
    border-top:    1px solid rgba(255,255,255,.15) !important;
    margin-bottom: 12px !important;
}

.el-ct-dest-card .el-ct-date { font-size: 11px !important; }
.el-ct-dest-card .el-ct-time { font-size: 11px !important; }
.el-ct-dest-card .el-ct-time svg { width: 11px !important; height: 11px !important; }

@media (max-width: 768px) {
    .el-ct-dest-card  { aspect-ratio: 3 / 2 !important; max-width: 100% !important; }
    .el-ct-dest-title { font-size: 15px !important; }
    .el-ct-dest-excerpt { display: none !important; }
    .el-ct-dest-content { padding: 16px !important; }
}




/* ═══════════════════════════════════════════════════════════════════════════
   23. MODAL DE VÍDEO YOUTUBE
   ═══════════════════════════════════════════════════════════════════════════ */

.el-modal-overlay {
    display:          none;
    position:         fixed;
    inset:            0;
    z-index:          99999;
    background:       rgba(0,0,0,.88);
    align-items:      center;
    justify-content:  center;
    padding:          var(--el-sp-4);
    backdrop-filter:  blur(6px);
    -webkit-backdrop-filter: blur(6px);
    animation:        el-fade-in .2s ease;
}

.el-modal-overlay.ativo { display: flex; }

@keyframes el-fade-in  { from { opacity: 0; } to { opacity: 1; } }
@keyframes el-scale-in { from { transform: scale(.95); opacity: 0; } to { transform: scale(1); opacity: 1; } }

.el-modal {
    position:      relative;
    width:         100%;
    max-width:     960px;
    background:    #111;
    border-radius: var(--el-r-lg);
    overflow:      hidden;
    animation:     el-scale-in .22s ease;
}

.el-modal-header {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    padding:         14px 18px;
    border-bottom:   1px solid var(--el-border-subtle);
    gap:             var(--el-sp-4);
}

.el-modal-title {
    font-family:   var(--el-font-elementor);
    font-size:     13px;
    font-weight:   700;
    color:         var(--el-text-primary);
    white-space:   nowrap;
    overflow:      hidden;
    text-overflow: ellipsis;
}

.el-modal-close {
    background:  none !important;
    border:      none;
    cursor:      pointer;
    color:       var(--el-text-disabled);
    padding:     var(--el-sp-1);
    display:     flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition:  color var(--el-transition-fast);
    line-height: 0;
}

.el-modal-close:hover { color: var(--el-orange); !important }
.el-modal-close:focus { box-shadow: var(--el-focus-ring); outline: none; !important}
.el-modal-close svg   { width: 18px; height: 18px; !important}

.el-modal-video {
    position:     relative;
    width:        100%;
    aspect-ratio: 16 / 9;
    background:   #000;
}

.el-modal-video iframe {
    position: absolute;
    inset:    0;
    width:    100%;
    height:   100%;
    border:   none;
    display:  block;
}

.el-modal-footer { padding: 12px 18px; display: flex; justify-content: flex-end; }

.el-modal-yt-link {
    display:         inline-flex;
    align-items:     center;
    gap:             var(--el-sp-2);
    font-family:     var(--el-font-elementor);
    font-size:       11px;
    font-weight:     700;
    letter-spacing:  .06em;
    text-transform:  uppercase;
    color:           var(--el-text-disabled);
    text-decoration: none;
    transition:      color var(--el-transition-fast);
}

.el-modal-yt-link:hover { color: var(--el-orange); text-decoration: none; }
.el-modal-yt-link svg   { width: 14px; height: 14px; flex-shrink: 0; }


/* ═══════════════════════════════════════════════════════════════════════════
   24. AVATAR
   ═══════════════════════════════════════════════════════════════════════════ */

.el-avatar {
    border-radius: 50% !important;
    object-fit:    cover;
    display:       block;
    flex-shrink:   0;
}

.el-avatar-sm { width: 36px; height: 36px; border: 1.5px solid var(--el-border); }
.el-avatar-md { width: 44px; height: 44px; border: 2px   solid var(--el-border); }
.el-avatar-lg { width: 72px; height: 72px; border: 2px   solid var(--el-border); }
.el-avatar-xl { width: 80px; height: 80px; border: 2px   solid var(--el-border); }

.el-avatar-placeholder.el-avatar-sm { width: 36px; height: 36px; font-size: 13px; border: 1.5px solid var(--el-border); }
.el-avatar-placeholder.el-avatar-md { width: 44px; height: 44px; font-size: 14px; border: 2px   solid var(--el-border); }
.el-avatar-placeholder.el-avatar-lg { width: 72px; height: 72px; font-size: 24px; border: 2px   solid var(--el-border); }
.el-avatar-placeholder.el-avatar-xl { width: 80px; height: 80px; font-size: 24px; border: 2px   solid var(--el-border); }


/* ═══════════════════════════════════════════════════════════════════════════
   25. CARD DO AUTOR
   ═══════════════════════════════════════════════════════════════════════════ */

.el-autor-card {
    display:         flex;
    align-items:     stretch;
    gap:             0;
    background:      var(--el-bg-card);
    border:          1px solid var(--el-border-strong);
    border-radius:   var(--el-r-lg);
    padding:         0;
    margin-bottom:   var(--el-sp-7);
    text-decoration: none;
    color:           inherit;
    transition:      border-color var(--el-transition-normal);
    overflow:        hidden;
    min-height:      120px;
}

.el-autor-card:hover { border-color: var(--el-orange); color: inherit; text-decoration: none; }

/* Foto preenchendo a altura à esquerda */
.el-autor-card .el-avatar,
.el-autor-card .el-avatar-placeholder {
    width:           120px !important;
    height:          auto !important;
    border-radius:   0 !important;
    object-fit:      cover !important;
    object-position: center top !important;
    flex-shrink:     0 !important;
    border:          none !important;
    display:         block !important;
    align-self:      stretch !important;
}

.el-autor-card .el-avatar-placeholder {
    display:         flex !important;
    align-items:     center !important;
    justify-content: center !important;
    font-size:       32px !important;
    font-weight:     800 !important;
    color:           var(--el-text-disabled) !important;
    background:      var(--el-bg-input) !important;
}

.el-autor-card-info  {
    flex:            1;
    min-width:       0;
    display:         flex;
    flex-direction:  column;
    padding:         var(--el-sp-5);
}

.el-autor-card-nome {
    font-family: var(--el-font-elementor);
    font-size:   15px;
    font-weight: 800;
    color:       var(--el-text-primary);
    margin:      0;
}

.el-autor-card-cargo {
    font-family: var(--el-font-elementor);
    font-size:   12px;
    color:       var(--el-orange);
    margin:      0 0 var(--el-sp-3);
}

.el-autor-card-bio {
    font-size:   13px;
    color:       var(--el-text-muted);
    line-height: 1.65;
    margin:      0;
    flex:        1;
}

.el-autor-card-arrow {
    font-size:      20px;
    color:          var(--el-border);
    flex-shrink:    0;
    transition:     color var(--el-transition-fast);
    padding:        0 16px;
    display:        flex;
    align-items:    center;
    align-self:     stretch;
}

.el-autor-card:hover .el-autor-card-arrow { color: var(--el-orange); }

@media (max-width: 767px) {
    .el-autor-card { flex-direction: column; text-align: center; }
	
}


/* ═══════════════════════════════════════════════════════════════════════════
   26. SIDEBAR — BLOCO CONTAINER / MAIS LIDOS
   ═══════════════════════════════════════════════════════════════════════════ */

.el-sb-block {
    background:     var(--el-bg-card);
    border:         1px solid var(--el-border-strong);
    border-radius:  var(--el-r-md);
    padding:        var(--el-sp-4);
    display:        flex;
    flex-direction: column;
    gap:            var(--el-sp-3);
}

.el-lidos-list { display: flex; flex-direction: column; }

.el-lido-item {
    display:         flex;
    align-items:     flex-start;
    gap:             var(--el-sp-2);
    text-decoration: none;
    padding:         var(--el-sp-2) 0;
    border-bottom:   1px solid var(--el-bg-raised);
    transition:      color var(--el-transition-fast);
}

.el-lido-item:first-child { border-top: 1px solid var(--el-bg-raised); }

.el-lido-num {
    font-family: var(--el-font-elementor);
    font-size:   13px;
    font-weight: 800;
    color:       var(--el-text-muted); /* #B8B8B8 — AAA 7.2:1 */
    flex-shrink: 0;
    line-height: 1.2;
    min-width:   18px;
    transition:  color var(--el-transition-fast);
}

.el-lido-title {
    font-family: var(--el-font-elementor);
    font-size:   11px;
    font-weight: 700;
    color:       var(--el-text-body); /* #D4D4D4 — AAA 11:1 */
    line-height: 1.4;
    transition:  color var(--el-transition-fast);
}

.el-lido-item:hover .el-lido-title,
.el-lido-item:hover .el-lido-num { color: var(--el-orange); }


/* ═══════════════════════════════════════════════════════════════════════════
   27. LINKS SOCIAIS
   ═══════════════════════════════════════════════════════════════════════════ */

.el-social-links { display: flex; align-items: center; gap: var(--el-sp-2); }

.el-social-link {
    border-radius:   50%;
    background:      var(--el-bg-input);
    border:          1px solid var(--el-border);
    display:         flex;
    align-items:     center;
    justify-content: center;
    text-decoration: none;
    color:           var(--el-text-disabled);
    transition:      border-color var(--el-transition-fast),
                     color var(--el-transition-fast);
    flex-shrink:     0;
}

.el-social-link:hover { border-color: var(--el-orange); color: var(--el-orange); text-decoration: none; }
.el-social-link:focus { box-shadow: var(--el-focus-ring); outline: none; }

.el-social-link-sm { width: 28px; height: 28px; }
.el-social-link-sm svg { width: 13px; height: 13px; flex-shrink: 0; }

.el-social-link-md { width: 36px; height: 36px; }
.el-social-link-md svg { width: 16px; height: 16px; flex-shrink: 0; }

.el-social-link-pill {
    border-radius: var(--el-r-pill) !important;
    padding:       0 14px 0 10px !important;
    gap:           7px;
    font-family:   var(--el-font-elementor);
    font-size:     12px;
    font-weight:   700;
    width:         auto !important;
    height:        36px;
}

.el-social-link-pill span { white-space: nowrap; }


/* ═══════════════════════════════════════════════════════════════════════════
   28. META ÍCONE CIRCULAR (perfil de especialista)
   ═══════════════════════════════════════════════════════════════════════════ */

.el-esp-meta-item { display: flex; align-items: center; gap: var(--el-sp-3); }

.el-esp-meta-icon {
    width:           34px;
    height:          34px;
    border-radius:   50%;
    background:      rgba(255,122,3,.12);
    border:          1px solid rgba(255,122,3,.2);
    display:         flex;
    align-items:     center;
    justify-content: center;
    flex-shrink:     0;
    color:           var(--el-orange);
}

.el-esp-meta-icon svg { width: 14px; height: 14px; flex-shrink: 0; }

.el-esp-meta-texts { display: flex; flex-direction: column; gap: 2px; }

.el-esp-meta-label {
    font-family:    var(--el-font-elementor);
    font-size:      9px;
    font-weight:    700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color:          var(--el-text-disabled);
}

.el-esp-meta-value {
    font-family: var(--el-font-elementor);
    font-size:   13px;
    font-weight: 700;
    color:       var(--el-text-body);
}


/* ═══════════════════════════════════════════════════════════════════════════
   29. CTA CANAL YOUTUBE
   ═══════════════════════════════════════════════════════════════════════════ */

.el-cta-canal {
    background:    var(--el-bg-card);
    border:        1px solid var(--el-border);
    border-radius: var(--el-r-md);
    padding:       var(--el-sp-4);
    position:      relative;
    overflow:      hidden;
}

.el-cta-canal-title {
    font-family:    var(--el-font-elementor);
    font-size:      13px;
    font-weight:    800;
    color:          var(--el-text-primary);
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom:  var(--el-sp-2);
}

.el-cta-canal-desc {
    font-family:   var(--el-font-elementor);
    font-size:     12px;
    color:         var(--el-text-disabled);
    line-height:   1.6;
    margin-bottom: 18px;
}

.el-cta-canal-btn {
    display:         inline-flex;
    align-items:     center;
    gap:             var(--el-sp-2);
    font-family:     var(--el-font-elementor);
    font-size:       11px;
    font-weight:     700;
    letter-spacing:  .08em;
    text-transform:  uppercase;
    color:           var(--el-orange);
    text-decoration: none;
    transition:      color var(--el-transition-fast);
}

.el-cta-canal-btn:hover { color: var(--el-text-primary); text-decoration: none; }

.el-cta-canal-mic {
    position:       absolute;
    bottom:         -10px;
    right:          10px;
    font-size:      80px;
    line-height:    1;
    opacity:        .08;
    pointer-events: none;
    user-select:    none;
}

/* ── Card Estudo T&D ── */
.el-cta-estudo .el-cta-canal-title {
    font-size:  12px;
    margin-bottom: var(--el-sp-2);
}

.el-cta-canal-label {
    font-family:    var(--el-font-elementor);
    font-size:      9px;
    font-weight:    700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color:          var(--el-orange);
    margin-bottom:  8px;
}

.el-cta-estudo-btns {
    display:        flex;
    flex-direction: column;
    gap:            6px;
    margin-top:     14px;
}

.el-cta-estudo-btn {
    display:         block !important;
    width:           100% !important;
    font-family:     var(--el-font-elementor) !important;
    font-size:       9px !important;
    font-weight:     700 !important;
    letter-spacing:  .07em !important;
    text-transform:  uppercase !important;
    padding:         6px 10px !important;
    border-radius:   var(--el-r-sm) !important;
    text-decoration: none !important;
    text-align:      center !important;
    white-space:     nowrap !important;
    cursor:          pointer !important;
    line-height:     1.4 !important;
    box-sizing:      border-box !important;
}

.el-cta-estudo-btn--primario {
    background: var(--el-orange);
    color:      #111 !important;
    border:     none;
}
.el-cta-estudo-btn--primario:hover { background: #E06D00; text-decoration: none; }

.el-cta-estudo-btn--secundario {
    background:  transparent;
    color:       var(--el-orange) !important;
    border:      1px solid var(--el-orange);
}
.el-cta-estudo-btn--secundario:hover { background: rgba(255,122,3,.08); text-decoration: none; }


/* ═══════════════════════════════════════════════════════════════════════════
   30. [el_episodios]
   ═══════════════════════════════════════════════════════════════════════════ */

.el-ep-outer { width: 100%; box-sizing: border-box; }

.el-ep-wrap {
    display:               grid;
    grid-template-columns: 1fr var(--el-sidebar-width);
    gap:                   var(--el-section-gap);
    align-items:           start;
    width:                 100%;
    box-sizing:            border-box;
}

.el-ep-main { min-width: 0; }

.el-ep-grid {
    display:       grid;
    gap:           var(--el-sp-5);
    margin-bottom: 28px;
}

.el-ep-grid[data-cols="1"] { grid-template-columns: 1fr; }
.el-ep-grid[data-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.el-ep-grid[data-cols="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.el-ep-grid[data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.el-ep-sidebar {
    position:       sticky;
    top:            24px;
    display:        flex;
    flex-direction: column;
    gap:            28px;
    min-width:      0;
}

/* Bloco de filtro da sidebar de episódios */
.el-ep-filter-block {
    display:        flex;
    flex-direction: column;
    gap:            var(--el-sp-3);
}

@media (max-width: 1024px) {
    .el-ep-wrap { grid-template-columns: 1fr 240px; gap: 28px; }
    .el-ep-grid[data-cols="3"],
    .el-ep-grid[data-cols="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    .el-ep-wrap    { grid-template-columns: 1fr; }
    .el-ep-sidebar { position: static; order: -1; }
    .el-ep-grid[data-cols="2"],
    .el-ep-grid[data-cols="3"],
    .el-ep-grid[data-cols="4"] { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   31. [el_conteudos]
   ═══════════════════════════════════════════════════════════════════════════ */

.el-ct-outer  { width: 100%; box-sizing: border-box; }
.el-ct-main   { min-width: 0; }

.el-ct-layout {
    display:     grid;
    gap:         var(--el-section-gap);
    align-items: start;
}

.el-ct-layout.com-sidebar {
    grid-template-columns: 1fr var(--el-sidebar-width);
}

.el-ct-sidebar {
    position:       sticky;
    top:            20px;
    display:        flex;
    flex-direction: column;
    gap:            var(--el-sp-4);
}

/* Filtros acima do grid */
.el-ct-filtros-topo {
    margin-bottom:  var(--el-sp-4);
    display:        flex;
    flex-direction: column;
    gap:            var(--el-sp-3);
}

.el-ct-filtros-row {
    display:     flex;
    align-items: center;
    gap:         var(--el-sp-3);
    flex-wrap:   wrap;
}

/* Grid de cards de conteúdo */
.el-ct-grid {
    display:       grid;
    gap:           var(--el-sp-4);
    margin-bottom: 28px;
}

.el-ct-grid[data-cols="1"] { grid-template-columns: 1fr; }
.el-ct-grid[data-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.el-ct-grid[data-cols="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.el-ct-grid[data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 1024px) {
    .el-ct-layout.com-sidebar { grid-template-columns: 1fr 240px; gap: 28px; }
    .el-ct-grid[data-cols="3"],
    .el-ct-grid[data-cols="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    .el-ct-layout.com-sidebar { grid-template-columns: 1fr; }
    .el-ct-sidebar             { position: static; order: -1; }
    .el-ct-grid[data-cols="2"],
    .el-ct-grid[data-cols="3"],
    .el-ct-grid[data-cols="4"] { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   32. [el_especialistas]
   ═══════════════════════════════════════════════════════════════════════════ */

.el-esp-outer { width: 100%; box-sizing: border-box; }

.el-esp-grid {
    display:       grid;
    gap:           var(--el-sp-4);
    margin-bottom: 28px;
}

.el-esp-grid[data-cols="1"] { grid-template-columns: 1fr; }
.el-esp-grid[data-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.el-esp-grid[data-cols="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.el-esp-grid[data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 1024px) {
    .el-esp-grid[data-cols="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .el-esp-grid[data-cols="3"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    .el-esp-grid[data-cols="2"],
    .el-esp-grid[data-cols="3"],
    .el-esp-grid[data-cols="4"] { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   33. [el_especialista_perfil]
   ═══════════════════════════════════════════════════════════════════════════ */

/* Wrap geral — artigos abaixo ficam em 1280px */
.el-esp-perfil-wrap {
    width:      100%;
    max-width:  1280px;
    margin:     0 auto var(--el-sp-7);
    box-sizing: border-box;
}

/* Header limitado a 860px para leitura confortável */
.el-esp-header {
    display:               grid;
    grid-template-columns: 240px 1fr 180px;
    gap:                   var(--el-section-gap);
    align-items:           start;
    max-width:             860px;
    margin-left:           auto;
    margin-right:          auto;
    margin-bottom:         var(--el-sp-7);
}

.el-esp-header-foto {
    width:         240px;
    aspect-ratio:  3 / 4;
    flex-shrink:   0;
    overflow:      hidden;
    border-radius: var(--el-r-md);
    background:    #0f0f0f;
}

.el-esp-header-foto img {
    width:           100%;
    height:          100%;
    object-fit:      cover;
    object-position: center top;
    display:         block;
}

.el-esp-header-foto-placeholder {
    width:           100%;
    height:          100%;
    min-height:      280px;
    background:      #111;
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-family:     var(--el-font-elementor);
    font-size:       64px;
    font-weight:     800;
    color:           var(--el-border);
}

.el-esp-header-info {
    padding:        8px 0;
    display:        flex;
    flex-direction: column;
    gap:            var(--el-sp-3);
}

/* Eyebrow "Autor — Empresa" */
.el-esp-header-tag {
    font-family:    var(--el-font-elementor);
    font-size:      10px;
    font-weight:    700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color:          var(--el-orange);
}

.el-esp-header-nome {
    font-family: var(--el-font-elementor);
    font-size:   32px;
    font-weight: 800;
    color:       var(--el-text-primary);
    line-height: 1.15;
    margin:      0;
}

.el-esp-header-cargo {
    font-family: var(--el-font-elementor);
    font-size:   14px;
    color:       var(--el-text-hint);
    margin:      0;
}

.el-esp-header-bio {
    font-size:   13px;
    color:       var(--el-text-muted);
    line-height: 1.7;
    margin:      0;
}

/* Links em coluna: ícone + label */
.el-esp-header-links {
    display:        flex;
    flex-direction: column;
    gap:            var(--el-sp-2);
    padding-top:    var(--el-sp-1);
}

.el-esp-perfil-link {
    display:         inline-flex;
    align-items:     center;
    gap:             var(--el-sp-2);
    text-decoration: none;
    color:           var(--el-text-disabled);
    transition:      color var(--el-transition-fast);
}

.el-esp-perfil-link:hover { color: var(--el-orange); text-decoration: none; }

.el-esp-perfil-link-icon {
    width:           28px;
    height:          28px;
    border-radius:   50%;
    background:      var(--el-bg-input);
    border:          1px solid var(--el-border);
    display:         flex;
    align-items:     center;
    justify-content: center;
    flex-shrink:     0;
    transition:      border-color var(--el-transition-fast);
}

.el-esp-perfil-link:hover .el-esp-perfil-link-icon { border-color: var(--el-orange); }

.el-esp-perfil-link-label {
    font-family: var(--el-font-elementor);
    font-size:   12px;
    font-weight: 600;
}

/* Sidebar de segmentos */
.el-esp-header-meta {
    padding:        8px 0;
    display:        flex;
    flex-direction: column;
    gap:            var(--el-sp-3);
}

.el-esp-segmentos-label {
    font-family:    var(--el-font-elementor);
    font-size:      9px;
    font-weight:    700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color:          var(--el-text-disabled);
    display:        block;
}

.el-esp-segmentos {
    display:        flex;
    flex-direction: column;
    gap:            var(--el-sp-2);
}

.el-esp-segmento-tag {
    font-family:    var(--el-font-elementor);
    font-size:      11px;
    font-weight:    600;
    color:          var(--el-text-body);
    background:     var(--el-bg-overlay);
    border:         1px solid var(--el-border);
    border-radius:  var(--el-r-sm);
    padding:        5px 10px;
    display:        inline-block;
    line-height:    1.3;
}

.el-esp-artigos-titulo {
    font-family: var(--el-font-elementor);
    font-size:   18px;
    font-weight: 800;
    color:       var(--el-text-primary);
    margin:      0 0 var(--el-sp-4);
}

@media (max-width: 860px) {
    .el-esp-header { grid-template-columns: 200px 1fr; }
    .el-esp-header-meta { display: none; }
}
@media (max-width: 768px)  {
    .el-esp-header      { grid-template-columns: 1fr; }
    .el-esp-header-foto { width: 100%; aspect-ratio: 16/9; }
    .el-esp-header-info { padding: var(--el-sp-4) 0; }
    .el-esp-header-nome { font-size: 24px; }
	    .el-esp-header-foto img {
        object-position: center 30%; /* ajuste esse % para subir/descer o foco */
		object-fit: contain;
    }
}


/* ═══════════════════════════════════════════════════════════════════════════
   34. [el_single_conteudo]
   ═══════════════════════════════════════════════════════════════════════════ */

.el-sc-progress-bar {
    position:   fixed;
    top:        0;
    left:       0;
    height:     3px;
    background: var(--el-orange);
    width:      0%;
    z-index:    99998;
    transition: width .1s linear;
}

.el-sc-outer {
    width:      100%;
    max-width:  1280px;
    margin:     0 auto;
    box-sizing: border-box;
}

.el-sc-layout {
    display:               grid;
    grid-template-columns: var(--el-toc-width) minmax(0, 680px) var(--el-toc-width);
    gap:                   var(--el-section-gap);
    align-items:           start;
    justify-content:       space-between;
}

.el-sc-main          { min-width: 0; max-width: 680px; width: 100%; }

/* sticky limitado naturalmente pela altura do grid (= altura do texto).
   max-height = salvaguarda p/ TOC mais alta que a tela; o scroll fica na LISTA,
   o título "Neste artigo" permanece fixo no topo. */
.el-sc-sidebar-left  {
    position:       sticky;
    top:            24px;
    align-self:     start;
    max-height:     calc(100vh - 48px);
    display:        flex;
    flex-direction: column;
    min-height:     0;
    overflow:       hidden;
}

.el-sc-sidebar-right {
    position:       sticky;
    top:            24px;
    align-self:     start;
    display:        flex;
    flex-direction: column;
    gap:            var(--el-sp-5);
}

/* O .el-sc-content é o último filho do grid; o footer controla o espaçamento. */
.el-sc-main > .el-sc-content { margin-bottom: 0; }

/* Footer em largura cheia (até 1280px): card do autor + relacionados,
   fora do grid sticky → cabe mais card relacionado. */
.el-sc-footer {
    width:      100%;
    margin-top: var(--el-sp-7);   /* 48px de respiro após o texto */
}

/* Card do autor: 680px centralizado. Relacionados ficam abaixo, largura cheia. */
.el-sc-footer .el-autor-card {
    max-width:    680px;
    margin-left:  auto;
    margin-right: auto;
}

.el-sc-cat {
    font-family:     var(--el-font-elementor);
    font-size:       10px;
    font-weight:     800;
    letter-spacing:  .16em;
    text-transform:  uppercase;
    text-decoration: none;
    margin-bottom:   14px;
    display:         inline-block;
}

.el-sc-title {
    font-family: var(--el-font-elementor);
    font-size:   36px;
    font-weight: 800;
    color:       var(--el-text-primary);
    line-height: 1.15;
    margin:      0 0 var(--el-sp-4);
}

.el-sc-excerpt {
    font-size:   15px;
    color:       var(--el-text-hint);
    line-height: 1.7;
    margin:      0 0 var(--el-sp-6);
    max-width:   var(--el-prose-width);
}

.el-sc-meta-row {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    gap:             var(--el-sp-4);
    padding-bottom:  var(--el-sp-5);
    border-bottom:   1px solid var(--el-border-subtle);
    margin-bottom:   var(--el-sp-5);
    flex-wrap:       wrap;
}

.el-sc-meta-direita {
    display:     flex;
    align-items: center;
    gap:         var(--el-sp-2);
    flex-shrink: 0;
}

.el-sc-autor-info { display: flex; align-items: center; gap: var(--el-sp-2); text-decoration: none; color: inherit; }
.el-sc-autor-info:hover .el-sc-autor-nome { color: var(--el-orange); }
.el-sc-autor-textos { display: flex; flex-direction: column; gap: 1px; }

.el-sc-autor-nome {
    font-family: var(--el-font-elementor);
    font-size:   13px;
    font-weight: 700;
    color:       var(--el-text-body);
    transition:  color var(--el-transition-fast);
}

.el-sc-autor-cargo {
    font-family: var(--el-font-elementor);
    font-size:   11px;
    color:       var(--el-text-muted); /* #B8B8B8 — AAA */
}

.el-sc-meta-sep  { width: 3px; height: 3px; border-radius: 50%; background: var(--el-border); flex-shrink: 0; }

.el-sc-meta-item { display: flex; align-items: center; gap: 5px; font-family: var(--el-font-elementor); font-size: 12px; color: var(--el-text-muted); /* #B8B8B8 — AAA */ }
.el-sc-meta-item svg { width: 12px; height: 12px; opacity: .7; flex-shrink: 0; }

/* ── Modificadores de thumb — object-fit e aspect-ratio ── */

/* contain: mostra a imagem inteira sem corte, fundo escuro */
.el-thumb-contain .el-ct-cover,
.el-thumb-contain .el-ct-thumb img,
.el-thumb-contain.el-ct-dest-wrap .el-ct-dest-img img {
    object-fit:      contain !important;
    background:      var(--el-bg-base);
}

.el-thumb-contain .el-ct-overlay {
    background: linear-gradient(
        to top,
        rgba(0,0,0,.85) 0%,
        rgba(0,0,0,.3)  50%,
        rgba(0,0,0,.05) 100%
    ) !important;
}

/* aspect-ratio no card grid */
.el-thumb-ratio-16-9 { aspect-ratio: 16/9 !important; }
.el-thumb-ratio-4-3  { aspect-ratio: 4/3  !important; }
.el-thumb-ratio-3-2  { aspect-ratio: 3/2  !important; }
.el-thumb-ratio-1-1  { aspect-ratio: 1/1  !important; }
.el-thumb-ratio-3-4  { aspect-ratio: 3/4  !important; }

/* aspect-ratio no card destaque (afeta o container da imagem) */
.el-thumb-ratio-16-9.el-ct-dest-wrap .el-ct-dest-img,
.el-thumb-ratio-4-3.el-ct-dest-wrap  .el-ct-dest-img,
.el-thumb-ratio-3-2.el-ct-dest-wrap  .el-ct-dest-img,
.el-thumb-ratio-1-1.el-ct-dest-wrap  .el-ct-dest-img,
.el-thumb-ratio-3-4.el-ct-dest-wrap  .el-ct-dest-img {
    display: flex;
    align-items: center;
}

.el-thumb-ratio-16-9.el-ct-dest-wrap .el-ct-dest-img img { aspect-ratio: 16/9; height: auto; }
.el-thumb-ratio-4-3.el-ct-dest-wrap  .el-ct-dest-img img { aspect-ratio: 4/3;  height: auto; }
.el-thumb-ratio-3-2.el-ct-dest-wrap  .el-ct-dest-img img { aspect-ratio: 3/2;  height: auto; }
.el-thumb-ratio-1-1.el-ct-dest-wrap  .el-ct-dest-img img { aspect-ratio: 1/1;  height: auto; }
.el-thumb-ratio-3-4.el-ct-dest-wrap  .el-ct-dest-img img { aspect-ratio: 3/4;  height: auto; }

/* ── Modificadores de thumb — fim ── */


.el-sc-share-row {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    margin-bottom:   28px;
    gap:             var(--el-sp-4);
}

.el-sc-share-row .el-sc-share {
    margin-bottom: 0; /* remove margem quando dentro do row */
    flex-shrink: 0;
}

.el-sc-share-row-bottom {
    margin-top:    var(--el-sp-6);
    margin-bottom: 0;
    border-top:    1px solid var(--el-border);
    padding-top:   var(--el-sp-6);
}

.el-sc-dl-inline {
    flex-shrink: 0;
}

.el-sc-share { display: flex; align-items: center; gap: var(--el-sp-2); margin-bottom: 28px; }

.el-sc-share-label {
    font-family:    var(--el-font-elementor);
    font-size:      10px;
    font-weight:    700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color:          var(--el-text-muted); /* #B8B8B8 — AAA */
    margin-right:   var(--el-sp-1);
}

.el-sc-share-btn {
    width:           32px;
    height:          32px;
    border-radius:   50%;
    background:      var(--el-bg-input) !important;
    border:          1px solid var(--el-border) !important;
    display:         flex;
    align-items:     center;
    justify-content: center;
    text-decoration: none;
    color:           var(--el-text-muted) !important; /* #B8B8B8 — AAA */
    cursor:          pointer;
    flex-shrink:     0;
    transition:      border-color var(--el-transition-fast),
                     color var(--el-transition-fast);
    flex-shrink:     0;
}

.el-sc-share-btn:hover {
    border-color: var(--el-orange) !important;
    color:        var(--el-orange) !important;
    background:   var(--el-bg-input) !important;
}

.el-sc-share-btn:focus { box-shadow: var(--el-focus-ring); outline: none; }
.el-sc-share-btn       { position: relative; }
.el-sc-share-btn svg   { width: 14px; height: 14px; flex-shrink: 0; }

/* Cor do ícone cravada direto no SVG (path/circle), independente de
   `currentColor`/cor do <button> — o tema/Elementor força uma cor escura
   nos botões e o currentColor herdava essa cor. */
.el-sc-share-btn svg,
.el-sc-share-btn svg * { fill: var(--el-text-muted) !important; stroke: none !important; }

.el-sc-share-btn:hover svg,
.el-sc-share-btn:hover svg * { fill: var(--el-orange) !important; }

/* botão copiar: troca de ícone copiar → check + estado "copiado" */
.el-share-ico-check                          { display: none; }
.el-sc-share-btn.copiado .el-share-ico-copy  { display: none; }
.el-sc-share-btn.copiado .el-share-ico-check { display: block; }

.el-sc-share-btn.copiado {
    color:        #111 !important;
    background:   var(--el-orange) !important;
    border-color: var(--el-orange) !important;
}

.el-sc-share-btn.copiado svg,
.el-sc-share-btn.copiado svg * { fill: #111 !important; }

/* tooltip "Copiado!" */
.el-sc-share-tip {
    position:       absolute;
    bottom:         calc(100% + 8px);
    left:           50%;
    transform:      translateX(-50%) translateY(4px);
    background:     var(--el-orange);
    color:          #111;
    font-family:    var(--el-font-elementor);
    font-size:      11px;
    font-weight:    700;
    letter-spacing: .02em;
    padding:        4px 8px;
    border-radius:  var(--el-r-sm);
    white-space:    nowrap;
    opacity:        0;
    pointer-events: none;
    transition:     opacity var(--el-transition-fast), transform var(--el-transition-fast);
    z-index:        2;
}

.el-sc-share-tip::after {
    content:          '';
    position:         absolute;
    top:              100%;
    left:             50%;
    transform:        translateX(-50%);
    border:           4px solid transparent;
    border-top-color: var(--el-orange);
}

.el-sc-share-btn.copiado .el-sc-share-tip {
    opacity:   1;
    transform: translateX(-50%) translateY(0);
}

.el-sc-thumb { width: 100%; border-radius: var(--el-r-md); overflow: hidden; margin-bottom: 36px; aspect-ratio: 16/9; background: #111 !important; }
.el-sc-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Player YouTube */
.el-sc-video-wrap { position: relative; width: 100%; height: 100%; cursor: pointer; background: #111 !important; }
.el-sc-video-poster { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; transition: filter .3s; }
.el-sc-video-wrap:hover .el-sc-video-poster { filter: brightness(.7) !important; }
.el-sc-play-btn { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: none !important; border: none; cursor: pointer; padding: 0; }
.el-sc-play-btn svg { width: 68px; height: 48px; filter: drop-shadow(0 2px 8px rgba(0,0,0,.35)); transition: transform .2s, filter .2s; }
.el-sc-video-wrap:hover .el-sc-play-btn svg { transform: scale(1.1); filter: drop-shadow(0 4px 12px rgba(0,0,0,.5)); }
.el-sc-video-wrap iframe { width: 100%; height: 100%; border: 0; display: block; }

.el-sc-thumb-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: #111; }
.el-sc-thumb-placeholder svg { width: 40px; height: 40px; opacity: .06; }

.el-sc-content {
    font-size:     15px;
    color:         var(--el-text-body);
    line-height:   1.8;
    margin-bottom: var(--el-sp-7);
    max-width:     var(--el-prose-width);
}

.el-sc-content svg { max-width: 100%; height: auto; }

.el-sc-content h1,
.el-sc-content h2,
.el-sc-content h3,
.el-sc-content h4,
.el-sc-content h5,
.el-sc-content h6 {
    font-family:       var(--el-font-elementor);
    font-weight:       800;
    color:             var(--el-text-primary);
    line-height:       1.25;
    margin:            var(--el-sp-6) 0 14px;
    scroll-margin-top: 80px;
}

.el-sc-content h1 { font-size: 28px; }
.el-sc-content h2 { font-size: 24px; }
.el-sc-content h3 { font-size: 20px; }
.el-sc-content h4 { font-size: 17px; }
.el-sc-content h5 { font-size: 15px; }
.el-sc-content h6 { font-size: 13px; }

.el-sc-content p  { margin-bottom: var(--el-sp-4); }

.el-sc-content a       { color: var(--el-link); text-decoration: underline; text-underline-offset: 3px; }
.el-sc-content a:hover { color: var(--el-link-hover); }

.el-sc-content img { max-width: 100%; border-radius: var(--el-r-sm); margin: var(--el-sp-2) 0; }

.el-sc-content blockquote {
    border-left:   3px solid var(--el-orange);
    margin:        var(--el-sp-6) 0;
    padding:       14px var(--el-sp-4);
    background:    var(--el-bg-card);
    border-radius: 0 var(--el-r-sm) var(--el-r-sm) 0;
    font-size:     16px;
    color:         var(--el-text-primary);
    font-style:    italic;
}

.el-sc-content ul,
.el-sc-content ol { padding-left: var(--el-sp-6); margin-bottom: var(--el-sp-4); }
.el-sc-content li { margin-bottom: var(--el-sp-2); }

.el-sc-rel-titulo { font-family: var(--el-font-elementor); font-size: 18px; font-weight: 800; color: var(--el-text-primary); margin: 0 0 var(--el-sp-4); }

/* Card ~302px: a 1280px com gap de 24px cabem 4 por linha.
   auto-fill (e não auto-fit) mantém as trilhas vazias, então 1 card sozinho
   fica nesse tamanho em vez de esticar para a largura toda. */
.el-sc-rel-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap:                   var(--el-sp-5);
    margin-bottom:         0;
}

.el-sc-toc {
    padding:        0;
    display:        flex;
    flex-direction: column;
    min-height:     0;
    flex:           1;
}

.el-sc-toc-titulo {
    font-family:    var(--el-font-elementor);
    font-size:      9px;
    font-weight:    700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color:          var(--el-orange);
    margin-bottom:  14px;
    display:        flex;
    align-items:    center;
    gap:            var(--el-sp-2);
    flex-shrink:    0;
}

.el-sc-toc-titulo::before {
    content: ''; width: 6px; height: 6px; border-radius: 50%;
    background: var(--el-orange); flex-shrink: 0; display: inline-block;
}

.el-sc-toc-list {
    list-style:      none;
    padding:         0;
    margin:          0;
    display:         flex;
    flex-direction:  column;
    overflow-y:      auto;
    min-height:      0;
    flex:            1;
    scrollbar-width: thin;
    scrollbar-color: var(--el-border) transparent;
}

.el-sc-toc-list::-webkit-scrollbar        { width: 4px; }
.el-sc-toc-list::-webkit-scrollbar-track  { background: transparent; }
.el-sc-toc-list::-webkit-scrollbar-thumb  { background: var(--el-border); border-radius: var(--el-r-pill); }
.el-sc-toc-list::-webkit-scrollbar-thumb:hover { background: var(--el-text-disabled); }

.el-sc-toc-item a {
    display:         block;
    font-family:     var(--el-font-elementor);
    font-size:       12px;
    color:           var(--el-text-disabled);
    text-decoration: none;
    padding:         6px 0 6px 12px;
    border-left:     2px solid var(--el-border-subtle);
    transition:      color var(--el-transition-fast), border-color var(--el-transition-fast);
    line-height:     1.4;
}

.el-sc-toc-item a:hover { color: var(--el-text-primary); border-color: var(--el-text-disabled); }
.el-sc-toc-item.ativo a { color: var(--el-orange) !important; border-color: var(--el-orange); }

.el-sc-toc-item[data-level="3"] a { padding-left: 20px; font-size: 11px; color: var(--el-bg-overlay); }
.el-sc-toc-item[data-level="4"] a,
.el-sc-toc-item[data-level="5"] a,
.el-sc-toc-item[data-level="6"] a { padding-left: 28px; font-size: 11px; color: var(--el-border); }

.el-sc-sb-label {
    font-family:    var(--el-font-elementor);
    font-size:      10px;
    font-weight:    700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color:          var(--el-text-disabled);
    margin-bottom:  14px;
    display:        block;
}

.el-sc-dl-wrap {
    margin: var(--el-sp-6) 0;
    display: flex;
    justify-content: center;
}

.el-sc-dl-top  { margin-bottom: var(--el-sp-6); }
.el-sc-dl-bottom { margin-top: var(--el-sp-6); border-top: 1px solid var(--el-border); padding-top: var(--el-sp-6); }

.el-dl-post-btn {
    display:         inline-flex;
    align-items:     center;
    gap:             8px;
    background:      var(--el-orange);
    color:           #fff !important;
    text-decoration: none !important;
    font-family:     var(--el-font-elementor);
    font-size:       11px;
    font-weight:     700;
    letter-spacing:  .06em;
    text-transform:  uppercase;
    padding:         10px 20px;
    border-radius:   var(--el-r-pill);
    border:          none;
    cursor:          pointer;
    transition:      background var(--el-transition-fast);
    white-space:     nowrap;
}

.el-dl-post-btn:hover { background: var(--el-orange-hover); color: #fff !important; }
.el-dl-post-btn svg { stroke: #fff; flex-shrink: 0; width: 14px; height: 14px; }

@media (max-width: 1024px) {
    .el-sc-layout { grid-template-columns: 160px minmax(0, 680px) 160px; gap: 24px; justify-content: space-between; }
    .el-sc-title  { font-size: 28px; }
}

@media (max-width: 767px) {

    /* Layout */
    .el-sc-layout        { grid-template-columns: 1fr; }
    .el-sc-sidebar-right { position: static; max-height: none; }
    .el-sc-title         { font-size: 24px; }
    .el-sc-footer        { margin-top: var(--el-sp-6); }
    .el-sc-rel-grid      { grid-template-columns: 1fr; }

    /* TOC — vira bloco colapsável no mobile em vez de sumir */
    .el-sc-sidebar-left {
        display: block;
        order:   -1;
    }

    .el-sc-toc {
        background:    var(--el-bg-card);
        border:        1px solid var(--el-border);
        border-radius: var(--el-r-md);
        padding:       var(--el-sp-4);
        margin-bottom: var(--el-sp-5);
    }

    .el-sc-toc-titulo {
        cursor:          pointer;
        user-select:     none;
        justify-content: space-between;
        margin-bottom:   0;
    }

    .el-sc-toc-titulo::after {
        content:      '▾';
        font-size:    12px;
        color:        var(--el-text-hint);
        transition:   transform var(--el-transition-fast);
        margin-left:  auto;
        padding-left: var(--el-sp-2);
    }

    .el-sc-toc.fechado .el-sc-toc-titulo::after {
        transform: rotate(-90deg);
    }

    .el-sc-toc.fechado .el-sc-toc-list {
        display: none;
    }

    .el-sc-toc-list {
        margin-top: var(--el-sp-3);
        max-height: 240px;
    }

    /* Tabela — scroll horizontal */
    .el-sc-content table {
        display:    block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }

    /* Share row no mobile — empilha vertical */
    .el-sc-share-row {
        flex-direction: column;
        align-items:    flex-start;
        gap:            var(--el-sp-3);
    }

    /* Card do autor no mobile — escopo restrito ao single */
    .el-sc-footer .el-autor-card {
        flex-direction: column !important;
        text-align:     center;
    }

    .el-sc-footer .el-autor-card .el-avatar,
    .el-sc-footer .el-autor-card .el-avatar-placeholder {
        width:           100% !important;
        height:          unset !important;
        aspect-ratio:    1 / 1 !important;
        align-self:      auto !important;
        object-position: center top !important;
    }

    .el-sc-footer .el-autor-card .el-autor-card-info {
        align-items: center;
    }

    .el-sc-footer .el-autor-card .el-autor-card-arrow {
        padding:         var(--el-sp-3) 0;
        justify-content: center;
        align-self:      auto;
    }
}
/* ── Tabelas responsivas dentro do conteúdo ── */
.el-sc-content table {
    width:           100%;
    border-collapse: collapse;
    font-size:       14px;
    color:           var(--el-text-body);
    margin-bottom:   var(--el-sp-5);
}

.el-sc-content th,
.el-sc-content td {
    padding:     10px 14px;
    border:      1px solid var(--el-border);
    text-align:  left;
    line-height: 1.5;
}

.el-sc-content th {
    background:  var(--el-bg-overlay);
    font-weight: 700;
    color:       var(--el-text-primary);
    font-size:   12px;
    letter-spacing: .04em;
}

.el-sc-content tr:nth-child(even) td {
    background: var(--el-bg-raised);
}

/* Wrapper para scroll horizontal no mobile */
.el-sc-content .wp-block-table,
.el-sc-content figure.wp-block-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: var(--el-sp-5);
}

/* ═══════════════════════════════════════════════════════════════════════════
   35. [el_lista_episodios] / [el_lista_conteudos]
   !important necessário: Elementor injeta list-style nos widgets shortcode
   ═══════════════════════════════════════════════════════════════════════════ */

.el-lista-links,
.el-lista-links li,
.elementor-widget .el-lista-links,
.elementor-widget .el-lista-links li {
    list-style:      none !important;
    list-style-type: none !important;
    padding:         0 !important;
    margin:          0 !important;
    background:      none !important;
    border:          none !important;
}

.el-lista-links li::before,
.el-lista-links li::after { display: none !important; content: none !important; }

.el-lista-item { border: none !important; background: none !important; }

.el-lista-item a,
.elementor-widget .el-lista-item a {
    font-family:     var(--el-font-elementor);
    font-size:       12px !important;
    color:           #A8A8A8 !important;
    padding:         5px 0 !important;
    display:         block !important;
    text-decoration: none !important;
    transition:      color .2s, padding-left .2s;
    line-height:     1.4;
}

.el-lista-item a:hover,
.elementor-widget .el-lista-item a:hover {
    color:        #E8C4C4 !important;
    padding-left: 6px !important;
}

.el-lista-ep,
.el-lista-cat { color: #FF7A03 !important; font-weight: 700; font-size: 11px; margin-right: 2px; }

.el-lista-titulo { font-weight: 400; }

.el-lista-data { display: block; font-size: 10px; color: #666; margin-top: 1px; }


/* ═══════════════════════════════════════════════════════════════════════════
   36. HERO (diferenciado por page-id)
   Resolve o conflito de .section-hero entre Home e Programas.
   Substitui o CSS Personalizado do Elementor nas duas páginas.
   ═══════════════════════════════════════════════════════════════════════════ */
#home .section-hero {
  height: calc(100vh - 77px) !important;
  min-height: unset !important;
  max-height: calc(100vh - 77px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

#home .section-hero > .container {
  flex: 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* Tablet (até 1024px) */
@media (max-width: 1024px) {
  #home .section-hero {
    height: auto !important;
    min-height: 100svh !important;
    max-height: none !important;
    overflow: visible !important;
  }

  #home .section-hero > .container {
    min-height: unset !important;
    overflow: visible !important;
  }
}

/* Mobile (até 767px) */
@media (max-width: 767px) {
  #home .section-hero {
    height: auto !important;
    min-height: 100svh !important;
    max-height: none !important;
    overflow: visible !important;
  }

  #home .section-hero > .container {
    min-height: unset !important;
    overflow: visible !important;
  }
  #home .section-hero .icons-wrapper {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
    
    /* Esconde a scrollbar visualmente mas mantém funcional */
    scrollbar-width: none !important; /* Firefox */
    -ms-overflow-style: none !important; /* IE/Edge */
  }

  #home .section-hero .icons-wrapper::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
  }

  #home .section-hero .icons-wrapper > * {
    flex: 0 0 auto !important; /* Impede os itens de encolherem */
    white-space: nowrap !important;
	 align-items:center;
  }
}
	/* ═══════════════════════════════════════════════════════════════════════════
   HERO — Podcast
   ═══════════════════════════════════════════════════════════════════════════ */

#podcast .section-hero {
    height:           calc(100vh - 77px) !important;
    min-height:       unset !important;
    max-height:       calc(100vh - 77px) !important;
    display:          flex !important;
    flex-direction:   column !important;
    overflow:         hidden !important;
}

#podcast .section-hero > .container {
    flex:       1 !important;
    min-height: 0 !important;
    overflow:   hidden !important;
    display:    flex !important;
    align-items:     center !important;
    justify-content: center !important;
}

/* Tablet (até 1024px) */
@media (max-width: 1024px) {
    #podcast .section-hero {
        height:     auto !important;
        min-height: 100svh !important;
        max-height: none !important;
        overflow:   visible !important;
    }

    #podcast .section-hero > .container {
        min-height: unset !important;
        overflow:   visible !important;
    }
}

/* Mobile (até 767px) */
@media (max-width: 767px) {
    #podcast .section-hero {
        height:     auto !important;
        min-height: 100svh !important;
        max-height: none !important;
        overflow:   visible !important;
    }

    #podcast .section-hero > .container {
        min-height: unset !important;
        overflow:   visible !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   BLOCO DE MATERIAL INJETADO NO TEXTO
   ═══════════════════════════════════════════════════════════════════════════ */

.el-bloco-material {
    display:        flex;
    align-items:    stretch;
    gap:            0;
    background:     var(--el-bg-card);
    border:         1px solid var(--el-border-strong);
    border-left:    3px solid var(--el-orange);
    border-radius:  var(--el-r-lg);
    margin:         32px 0;
    box-sizing:     border-box;
    overflow:       hidden;
    min-height:     160px;
}

.el-bloco-material-img {
    flex-shrink: 0;
    width:       70%;
    max-width:   320px;
    overflow:    hidden;
}

.el-bloco-material-img img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
    margin:     0;
}

.el-bloco-material-body {
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    justify-content: center;
    gap:             16px;
    flex:            1;
    min-width:       0;
    padding:         24px;
}

.el-bloco-material-label {
    font-family:    var(--el-font-elementor);
    font-size:      10px;
    font-weight:    800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color:          var(--el-orange);
}

.el-bloco-material-btn {
    flex-shrink: 0;
}

@media (max-width: 767px) {
    .el-bloco-material {
        flex-direction: column;
        min-height:     unset;
    }
    .el-bloco-material-img {
        width:     100%;
        max-width: 100%;
        height:    160px;
    }
    .el-bloco-material-body {
        padding: 20px;
    }
}


/* ═══════════════════════════════════════════════════════════════════════════
   VOTAÇÃO — el-votacao.php
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Wrap geral ── */
.el-vot-wrap { background: #0a0a0a; color: #fff; font-family: 'Plus Jakarta Sans', sans-serif; }

/* ── Hero ── */
.el-vot-hero { background: linear-gradient(135deg, #0d0d0d 0%, #1a0e00 60%, #0d0d0d 100%); padding: 80px 0 60px; border-bottom: 1px solid #1f1f1f; }
.el-vot-hero-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
.el-vot-tag { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #FF7A03; border-bottom: 2px solid #FF7A03; padding-bottom: 4px; margin-bottom: 20px; }
.el-vot-hero-title { font-size: clamp(28px, 4vw, 48px); font-weight: 800; line-height: 1.15; margin-bottom: 16px; color: #fff; }
.el-vot-destaque { color: #FF7A03; }
.el-vot-hero-sub { font-size: 15px; color: #9a9a9a; margin-bottom: 32px; max-width: 440px; line-height: 1.6; }
.el-vot-cta-hero { font-size: 14px; padding: 14px 32px; }

/* Badge CBTD */
.el-vot-cbtd-badge { background: linear-gradient(135deg, #1a1200, #2d1f00); border: 1px solid #FF7A03; border-radius: 12px; padding: 24px 28px; text-align: center; min-width: 220px; }
.el-vot-cbtd-year { font-size: 13px; font-weight: 700; color: #FF7A03; letter-spacing: .1em; }
.el-vot-cbtd-title { font-size: 36px; font-weight: 900; color: #FF7A03; line-height: 1; margin: 4px 0; }
.el-vot-cbtd-sub { font-size: 9px; font-weight: 700; color: #fff; letter-spacing: .05em; text-transform: uppercase; line-height: 1.4; margin: 8px 0 4px; }
.el-vot-cbtd-data { font-size: 9px; color: #9a9a9a; margin-bottom: 8px; }
.el-vot-cbtd-tag { display: inline-block; font-size: 9px; font-weight: 700; color: #FF7A03; border: 1px solid #FF7A03; border-radius: 999px; padding: 2px 10px; letter-spacing: .08em; text-transform: uppercase; }

/* ── Stats ── */
.el-vot-stats { background: #111; border-bottom: 1px solid #1f1f1f; padding: 32px 0; }
.el-vot-stats-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.el-vot-stat { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 16px 24px; border-right: 1px solid #1f1f1f; gap: 6px; }
.el-vot-stat:last-child { border-right: none; }
.el-vot-stat svg { width: 28px; height: 28px; color: #FF7A03; stroke: #FF7A03; margin-bottom: 4px; }
.el-vot-stat strong { font-size: 32px; font-weight: 900; color: #fff; line-height: 1; }
.el-vot-stat span { font-size: 12px; color: #666; }

/* ── Por que existe ── */
.el-vot-porque { padding: 80px 0; border-bottom: 1px solid #1f1f1f; }
.el-vot-porque-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1fr 380px; gap: 60px; align-items: start; }
.el-vot-porque-texto h2 { font-size: 28px; font-weight: 800; margin-bottom: 20px; color: #fff; }
.el-vot-porque-texto p { font-size: 14px; color: #9a9a9a; line-height: 1.7; margin-bottom: 14px; }
.el-vot-benchmarking-card { background: #111; border: 1px solid #1f1f1f; border-radius: 12px; padding: 28px; }
.el-vot-benchmarking-card h3 { font-size: 18px; font-weight: 800; color: #fff; margin-bottom: 12px; }
.el-vot-benchmarking-card p { font-size: 13px; color: #9a9a9a; line-height: 1.6; margin-bottom: 20px; }

/* ── Candidatos ── */
.el-vot-candidatos { padding: 80px 0; }
.el-vot-candidatos-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.el-vot-candidatos-titulo { font-size: 28px; font-weight: 800; text-align: center; margin-bottom: 12px; color: #fff; }
.el-vot-candidatos-sub { font-size: 14px; color: #9a9a9a; text-align: center; max-width: 600px; margin: 0 auto 40px; line-height: 1.6; }

/* Grid de cards */
.el-vot-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 32px; padding-bottom: env(safe-area-inset-bottom, 0); }

/* Card */
.el-vot-card { background: #111; border: 1px solid #1f1f1f; border-radius: 10px; display: flex; flex-direction: column; transition: border-color .2s, box-shadow .2s; }
.el-vot-card--selecionado { border-color: #FF7A03; box-shadow: 0 0 0 1px #FF7A03; }

/* Foto — retrato 3:4, cobre quase todo o card */
.el-vot-card-foto { overflow: hidden; background: #1a1a1a; position: relative; border-radius: 10px 10px 0 0; flex-shrink: 0; }
.el-vot-card-foto--1-1 { aspect-ratio: 1/1; }
.el-vot-card-foto--3-4 { aspect-ratio: 3/4; }
.el-vot-card-foto img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }

/* Gradiente mais profundo — garante legibilidade do texto sobreposto */
.el-vot-foto-gradient { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; background: linear-gradient(to bottom, transparent 28%, rgba(17,17,17,.5) 55%, rgba(17,17,17,.88) 82%, #111111 100%) !important; pointer-events: none !important; z-index: 1 !important; }
.el-vot-card-foto-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.el-vot-card-foto-placeholder svg { width: 48px; height: 48px; color: #333; }

/* Badges */
.el-vot-badge { position: absolute; top: 8px; left: 8px; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; z-index: 3; line-height: 1.4; }
.el-vot-badge--novo { background: #FF7A03; color: #fff; }
.el-vot-badge--em-alta { background: #000; color: #FF7A03; border: 1px solid #FF7A03; top: 8px; left: auto; right: 8px; }

.el-vot-rank { position: absolute; top: 8px; left: 8px; z-index: 3; display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 26px; padding: 0 7px; border-radius: 999px; font-size: 12px; font-weight: 800; line-height: 1; background: rgba(0,0,0,.55); color: #fff; border: 1px solid rgba(255,255,255,.25); backdrop-filter: blur(2px); }
.el-vot-rank--1 { background: #FF7A03; color: #111; border-color: #FF7A03; }
.el-vot-rank--2 { background: rgba(0,0,0,.6); color: #fff; }
.el-vot-rank--3 { background: rgba(0,0,0,.6); color: #fff; }

/* Overlay: nome e meta sobre o gradiente da foto */
.el-vot-card-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 12px 10px 10px; z-index: 2; }
.el-vot-card-nome { display: block; font-size: 17px; font-weight: 700; color: #fff; margin: 0 0 6px; line-height: 1.25; text-shadow: 0 1px 8px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.4); }
.el-vot-card-meta { display: flex; flex-direction: column; gap: 4px; }
.el-vot-card-meta-row { display: flex; align-items: flex-start; gap: 5px; font-size: 10px; color: #ddd; line-height: 1.4; }
.el-vot-card-meta-row svg { width: 11px; height: 11px; stroke: #FF7A03; fill: none; flex-shrink: 0; margin-top: 1px; }
.el-vot-card-tema { font-size: 10px; color: #aaa; line-height: 1.5; margin: 4px 0 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.el-vot-card-tema em { font-style: normal; color: #888; }

/* Bridge — desativado no layout full bleed */
.el-vot-card-bridge { display: none; }

/* Body — só a barra, compacto */
.el-vot-card-body { padding: 8px 10px; display: flex; flex-direction: column; background: #111111; }
.el-vot-barra-wrap { display: flex; align-items: center; gap: 8px; }
.el-vot-barra { flex: 1; height: 6px; background: rgba(255,255,255,.14); border-radius: 999px; overflow: hidden; }
.el-vot-barra-fill { height: 100%; background: #FF7A03; border-radius: 999px; transition: width .6s ease; min-width: 0; }
.el-vot-pct { font-size: 15px; font-weight: 700; color: #FF7A03; }
.el-vot-sem-votos { font-size: 10px; color: #555; font-style: italic; }

/* Footer do card */
.el-vot-card-footer { display: flex; border-top: 1px solid #1f1f1f; margin-top: 8px; }

/* Wrapper do shortcode (substitui el-vot-wrap quando usado sem hero/stats) */
.el-vot-candidatos-wrap { width: 100%; }

/* (5) Contexto da votação — linha discreta acima do grid */
.el-vot-contexto { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; }
.el-vot-contexto-votos { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: #4ade80; font-weight: 500; }
.el-vot-contexto-votos svg { flex-shrink: 0; stroke: #4ade80; }
.el-vot-contexto-prazo { font-size: 12px; color: #666; }
.el-vot-contexto-prazo::before { content: '·'; margin-right: 16px; color: #333; }

/* (3) Badge flutuante — aparece quando o painel é fechado com seleções ativas */
.el-vot-badge-flutuante { position: fixed; bottom: 24px; right: 24px; z-index: 9999; width: 48px; height: 48px; border-radius: 50%; background: #FF7A03; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(255,122,3,.4); transition: transform .2s, box-shadow .2s; }
.el-vot-badge-flutuante:hover { transform: scale(1.08); box-shadow: 0 6px 20px rgba(255,122,3,.5); }
.el-vot-badge-flutuante span { font-size: 16px; font-weight: 800; color: #fff; line-height: 1; }

/* Botão votar — fundo cor do card, borda e texto laranja, sem border-radius exceto canto inferior esquerdo */
.el-vot-btn-votar {
    flex: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    padding: 10px 8px !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    background: #FF7A03 !important;
    color: #111111 !important;
    border: none !important;
    border-right: 1px solid rgba(0,0,0,.15) !important;
    border-radius: 0 0 0 10px !important;
    transition: background .2s !important;
    text-decoration: none !important;
    line-height: 1 !important;
    box-shadow: none !important;
    white-space: nowrap !important;
    min-width: 0 !important;
}
.el-vot-btn-votar:hover { background: #E06D00 !important; color: #111111 !important; }
.el-vot-btn-votar:disabled { opacity: .5 !important; cursor: not-allowed !important; }

/* Estado selecionado */
.el-vot-card--selecionado .el-vot-btn-votar { background: #E06D00 !important; color: #111111 !important; }

/* Botão ver matéria — texto branco, hover laranja, sem preenchimento */
.el-vot-btn-materia {
    flex: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    padding: 10px 0 !important;
    color: #ffffff !important;
    background: transparent !important;
    border: 1px solid #FF7A03 !important;
    border-bottom: none !important;
    border-right: none !important;
    border-radius: 0 0 10px 0 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    text-align: center !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transition: color .2s !important;
    white-space: nowrap !important;
    min-width: 0 !important;
}
.el-vot-btn-materia:hover { color: #FF7A03 !important; background: transparent !important; }

/* Painel flutuante de confirmação */
.el-vot-painel { position: fixed; bottom: 24px; right: 24px; z-index: 9999; width: 280px; background: #111; border: 1px solid #FF7A03; border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 8px 32px rgba(0,0,0,.6); }
.el-vot-painel-header { display: flex; align-items: center; gap: 10px; }
.el-vot-slots { display: flex; gap: 6px; }
.el-vot-slot-dot { width: 8px; height: 8px; border-radius: 50%; background: #1f1f1f; border: 1px solid #333; transition: background .2s, border-color .2s; display: inline-block; }
.el-vot-slot-dot--ativo { background: #FF7A03; border-color: #FF7A03; }
.el-vot-painel-header span { font-size: 12px; color: #9a9a9a; flex: 1; }
.el-vot-painel-fechar { position: absolute; top: 10px; right: 12px; background: none; border: none; color: #555; font-size: 14px; cursor: pointer; padding: 2px 4px; line-height: 1; }
.el-vot-painel-fechar:hover { color: #fff; }
.el-vot-painel-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.el-vot-painel-item { display: flex; align-items: center; justify-content: space-between; background: #1a1a1a; border-radius: 6px; padding: 8px 10px; font-size: 12px; color: #fff; }
.el-vot-painel-remover { background: none; border: none; color: #555; font-size: 12px; cursor: pointer; padding: 0 2px; line-height: 1; flex-shrink: 0; }
.el-vot-painel-remover:hover { color: #f87171; }

/* Botão confirmar — !important para sobrescrever estilos do Elementor */
.el-vot-btn-confirmar {
    font-size: 13px !important;
    padding: 12px 32px !important;
    background: #FF7A03 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    transition: background .2s !important;
    box-shadow: none !important;
}
.el-vot-btn-confirmar:hover { background: #e06d00 !important; }

/* Aviso */
.el-vot-aviso { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 14px 20px; border-radius: 12px; font-size: 14px; margin-bottom: 20px; background: #1a1a1a; border: 0.5px solid #2e2e2e; }
.el-vot-aviso--sucesso { border-color: #1e3a1e; }
.el-vot-aviso--erro    { border-color: #3a1a1a; }
.el-vot-aviso--aviso   { border-color: #3a2800; }
.el-vot-aviso-icon { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.el-vot-aviso-icon--sucesso { background: #163c16; color: #6ddc6d; }
.el-vot-aviso-icon--timer   { background: #3a2800; color: #f5b942; }
.el-vot-aviso-body { display: flex; flex-direction: column; gap: 2px; text-align: left; }
.el-vot-aviso-titulo { font-size: 14px; font-weight: 500; color: #d4fcd4; }
.el-vot-aviso--aviso .el-vot-aviso-titulo { color: #fde9c4; }
.el-vot-aviso--erro   .el-vot-aviso-titulo { color: #fca5a5; }
.el-vot-aviso-msg { font-size: 12px; color: #8fbc8f; opacity: .85; }
.el-vot-aviso--aviso .el-vot-aviso-msg { color: #c4a060; }
.el-vot-aviso--erro   .el-vot-aviso-msg { color: #e07070; }
.el-vot-aviso-bell { display: inline-flex; transform-origin: 50% 0%; animation: el-vot-ring 3s ease-in-out infinite; }
@keyframes el-vot-ring { 0%{transform:rotate(0)} 5%{transform:rotate(18deg)} 10%{transform:rotate(-16deg)} 15%{transform:rotate(14deg)} 20%{transform:rotate(-12deg)} 25%{transform:rotate(8deg)} 30%{transform:rotate(-4deg)} 35%{transform:rotate(2deg)} 40%,100%{transform:rotate(0)} }

/* ── Footer CTA ── */
.el-vot-footer-cta { background: #111; border-top: 1px solid #1f1f1f; padding: 80px 0; }
.el-vot-footer-cta-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1fr 380px; gap: 60px; align-items: start; }
.el-vot-footer-cta-texto h2 { font-size: 24px; font-weight: 800; color: #fff; margin-bottom: 16px; }
.el-vot-footer-cta-texto p { font-size: 14px; color: #9a9a9a; line-height: 1.7; margin-bottom: 12px; }
.el-vot-footer-cta-texto ul { padding-left: 20px; }
.el-vot-footer-cta-texto li { font-size: 13px; color: #9a9a9a; line-height: 1.7; margin-bottom: 4px; }
.el-vot-footer-cta-texto li::marker { color: #FF7A03; }
.el-vot-footer-cta-form { background: #0d0d0d; border: 1px solid #1f1f1f; border-radius: 12px; padding: 28px; }
.el-vot-footer-cta-form h3 { font-size: 18px; font-weight: 800; color: #fff; margin-bottom: 10px; }
.el-vot-footer-cta-form p { font-size: 13px; color: #9a9a9a; line-height: 1.6; }

/* ── Responsivo ── */

/* Tablet grande — 4 colunas vira 3 */
@media (max-width: 1100px) {
    .el-vot-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Breakpoint Elementor (768px) — 2 colunas, foto menos alta */
@media (max-width: 768px) {
    .el-vot-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; padding-bottom: 120px; }
    .el-vot-hero { padding: 48px 0 40px; }
    .el-vot-candidatos, .el-vot-porque, .el-vot-footer-cta { padding: 48px 0; }
    .el-vot-painel { right: 12px; bottom: 12px; width: calc(100vw - 24px); }
    .el-vot-hero-inner { grid-template-columns: 1fr; }
    .el-vot-hero-badge { display: none; }
    .el-vot-stats-inner { grid-template-columns: repeat(2, 1fr); }
    .el-vot-stat { border-right: none; border-bottom: 1px solid #1f1f1f; }
    .el-vot-stat:nth-child(odd) { border-right: 1px solid #1f1f1f; }
    .el-vot-stat:nth-last-child(-n+2) { border-bottom: none; }
    .el-vot-porque-inner,
    .el-vot-footer-cta-inner { grid-template-columns: 1fr; }

    /* Foto menos alta em 2 colunas — 4:5 em vez de 3:4 */
    .el-vot-card-foto--3-4 { aspect-ratio: 4/5; }
    .el-vot-card-foto--1-1 { aspect-ratio: 1/1; }

    /* Texto overlay ligeiramente menor para caber */
    .el-vot-card-nome { font-size: 13px; margin-bottom: 4px; }
    .el-vot-card-meta-row { font-size: 9px; }
    .el-vot-pct { font-size: 14px; }
    .el-vot-btn-votar { font-size: 10px !important; padding: 8px 4px !important; }
    .el-vot-btn-materia { font-size: 10px !important; padding: 8px 4px !important; }
}

/* Mobile pequeno — 1 coluna, foto em 16:9 para mostrar mais cards */
@media (max-width: 480px) {
    .el-vot-grid { grid-template-columns: 1fr; gap: 10px; }

    /* 16:9 em 1 coluna: foto ocupa ~56% da tela, não domina tudo */
    .el-vot-card-foto--3-4,
    .el-vot-card-foto--1-1 { aspect-ratio: 16/9; }

    /* Textos maiores pois o card é mais largo */
    .el-vot-card-nome { font-size: 16px; margin-bottom: 6px; }
    .el-vot-card-meta-row { font-size: 11px; }
    .el-vot-pct { font-size: 16px; }
    .el-vot-btn-votar { font-size: 12px !important; padding: 11px 8px !important; }
    .el-vot-btn-materia { font-size: 12px !important; padding: 11px 8px !important; }
}
