:root{--ec-primary:#185fa5;--ec-primary-d:#0c447c;--ec-green:#27500a;--ec-green-bg:#eaf3de;--ec-amber:#633806;--ec-amber-bg:#faeeda;--ec-red:#791f1f;--ec-red-bg:#fcebeb;--ec-gray:#5f5e5a;--ec-border:#d3d1c7;--ec-radius:10px;--ec-font:system-ui,-apple-system,sans-serif}
.ec-form-wrap,.ec-candidatos-wrap,.ec-meu-cadastro-wrap,.ec-painel-wrap{font-family:var(--ec-font);max-width:760px;margin:0 auto}
.ec-form{display:flex;flex-direction:column;gap:18px}
.ec-field{display:flex;flex-direction:column;gap:6px}
.ec-field label{font-size:14px;font-weight:500;color:#1a1a18}
.ec-obrig{color:var(--ec-red);margin-left:2px}
.ec-opcional{color:var(--ec-gray);font-size:12px;font-weight:400}
.ec-hint{font-size:12px;color:var(--ec-gray)}
.ec-field input[type=text],.ec-field input[type=tel],.ec-field input[type=email],.ec-field select,.ec-field textarea{padding:10px 14px;border:1px solid var(--ec-border);border-radius:var(--ec-radius);font-size:14px;font-family:var(--ec-font);color:#1a1a18;background:#fff;transition:border-color .15s;width:100%}
.ec-field input:focus,.ec-field select:focus,.ec-field textarea:focus{outline:none;border-color:var(--ec-primary);box-shadow:0 0 0 3px rgba(24,95,165,.1)}
.ec-field-readonly input{background:#f9f9f7;color:#888;cursor:not-allowed}
.ec-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ec-radio-group{display:flex;flex-direction:column;gap:10px}
.ec-radio-horizontal{flex-direction:row;flex-wrap:wrap;gap:12px}
.ec-radio{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;padding:10px 14px;border:1px solid var(--ec-border);border-radius:var(--ec-radius);background:#fff;transition:all .15s}
.ec-radio:hover{border-color:var(--ec-primary);background:#f0f7ff}
.ec-radio input{cursor:pointer;accent-color:var(--ec-primary)}
.ec-contador{font-size:12px;color:var(--ec-gray);text-align:right}
.ec-lgpd{background:#f9f9f7;border-radius:var(--ec-radius);padding:14px}
.ec-check-label{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#444;cursor:pointer;line-height:1.5}
.ec-check-label input{flex-shrink:0;margin-top:3px;accent-color:var(--ec-primary)}
.ec-check-label a{color:var(--ec-primary)}
.ec-btn-submit{padding:13px 24px;background:var(--ec-primary);color:#fff;border:none;border-radius:var(--ec-radius);font-size:15px;font-weight:500;cursor:pointer;transition:background .15s;width:100%;font-family:var(--ec-font)}
.ec-btn-submit:hover{background:var(--ec-primary-d)}
.ec-btn-secundario{display:inline-block;padding:10px 18px;border:1px solid var(--ec-border);border-radius:var(--ec-radius);font-size:14px;color:#444;text-decoration:none;background:#fff;cursor:pointer}
.ec-btn-secundario:hover{background:#f1efe8}

/* Abas de local (cidades x raio) */
.ec-tabs-local{display:flex;gap:8px;margin-bottom:10px}
.ec-tab-btn{padding:7px 16px;font-size:13px;border:1px solid var(--ec-border);border-radius:6px;background:#fff;cursor:pointer;transition:all .15s;color:#444}
.ec-tab-btn.ativo{background:var(--ec-primary);color:#fff;border-color:var(--ec-primary)}
.ec-tab-conteudo{padding:12px;border:1px solid var(--ec-border);border-radius:var(--ec-radius);background:#fafaf8}

/* Mensagens */
.ec-sucesso{background:var(--ec-green-bg);border:1px solid #97c459;border-radius:var(--ec-radius);padding:1.5rem 1.75rem;margin:1rem 0}
.ec-sucesso h3{color:var(--ec-green);font-size:18px;margin-bottom:8px}
.ec-sucesso p{color:#2d5a0f;font-size:14px;margin:6px 0;line-height:1.6}
.ec-sucesso-icone{font-size:36px;margin-bottom:8px}
.ec-sucesso-nota{font-size:13px;color:var(--ec-gray)}
.ec-aviso{background:var(--ec-amber-bg);border:1px solid #f0b429;border-radius:var(--ec-radius);padding:1.25rem 1.5rem;margin:1rem 0}
.ec-aviso h3{color:var(--ec-amber);font-size:16px;margin-bottom:6px}
.ec-aviso p{color:#412402;font-size:14px;margin:4px 0}
.ec-erros{background:var(--ec-red-bg);border:1px solid #e24b4a;border-radius:var(--ec-radius);padding:1rem 1.5rem;margin-bottom:1rem}
.ec-erros ul{margin:0;padding-left:18px}
.ec-erros li{color:var(--ec-red);font-size:14px;padding:3px 0}
.ec-aviso-instrucoes{background:#fffbf0;border:1px solid #f0b429;border-radius:var(--ec-radius);padding:1.75rem 2rem;max-width:560px;margin:1rem auto}
.ec-aviso-instrucoes .ec-aviso-icone{font-size:40px;margin-bottom:12px}
.ec-aviso-instrucoes h3{font-size:18px;color:var(--ec-amber);margin-bottom:10px}
.ec-aviso-instrucoes p{font-size:14px;color:#412402;line-height:1.7;margin:8px 0}
.ec-aviso-instrucoes a{color:var(--ec-primary)}

/* Cards de candidatos */
.ec-filtros{margin-bottom:1.5rem}
.ec-form-filtro{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:10px}
.ec-form-filtro input,.ec-form-filtro select{padding:9px 13px;border:1px solid var(--ec-border);border-radius:8px;font-size:14px;font-family:var(--ec-font)}
.ec-form-filtro button{padding:9px 20px;background:var(--ec-primary);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer}
.ec-btn-limpar{padding:9px 14px;border:1px solid var(--ec-border);border-radius:8px;font-size:14px;color:#444;text-decoration:none}
.ec-total{font-size:13px;color:var(--ec-gray);margin-top:6px}
.ec-grade{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.ec-card-candidato,.ec-card-vaga{background:#fff;border:1px solid var(--ec-border);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:10px}
.ec-card-topo{display:flex;justify-content:space-between;align-items:flex-start}
.ec-card-nome{font-size:16px;font-weight:500;color:#1a1a18}
.ec-card-meta{font-size:13px;color:var(--ec-gray);margin-top:3px}
.ec-badge-disponivel{background:var(--ec-green-bg);color:var(--ec-green);font-size:12px;padding:3px 10px;border-radius:6px;font-weight:500;white-space:nowrap}
.ec-badge-contratado{background:#e6f1fb;color:var(--ec-primary);font-size:12px;padding:3px 10px;border-radius:6px;font-weight:500}
.ec-card-vinculo{font-size:13px;color:#444}
.ec-card-exp{font-size:13px;color:var(--ec-gray);line-height:1.5}
.ec-card-contato{display:flex;flex-direction:column;gap:8px;border-top:1px solid #f1efe8;padding-top:12px}
.ec-btn-contato{display:block;padding:9px 14px;border-radius:8px;font-size:13px;font-weight:500;text-decoration:none;text-align:center;transition:opacity .15s}
.ec-btn-contato:hover{opacity:.85}
.ec-btn-tel{background:var(--ec-green-bg);color:var(--ec-green)}
.ec-btn-email{background:#e6f1fb;color:var(--ec-primary)}
.ec-btn-wpp{background:#d4f5e2;color:#1a6336}
.ec-contato-bloqueado{padding:10px;background:#f9f9f7;border-radius:8px;font-size:13px;color:var(--ec-gray);text-align:center}
.ec-contato-bloqueado a{color:var(--ec-primary)}
.ec-card-rodape{font-size:11px;color:#aaa}
.ec-vazio{text-align:center;padding:3rem 1rem;color:var(--ec-gray)}

/* Meu cadastro */
.ec-meu-cadastro-wrap h2{font-size:22px;font-weight:500;margin-bottom:6px}
.ec-sub{font-size:14px;color:var(--ec-gray);margin-bottom:1.5rem}
.ec-resumo-cadastro{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1.5rem;background:#f9f9f7;border-radius:var(--ec-radius);padding:1rem}
.ec-resumo-item{display:flex;flex-direction:column;gap:2px}
.ec-resumo-item span{font-size:11px;color:var(--ec-gray);text-transform:uppercase;letter-spacing:.04em}
.ec-resumo-item strong{font-size:14px;color:#1a1a18}
.ec-status-disponivel{color:var(--ec-green)}
.ec-status-pausado{color:var(--ec-amber)}
.ec-status-contratado{color:var(--ec-primary)}
.ec-status-expirado{color:var(--ec-gray)}
.ec-label-grupo{font-size:14px;font-weight:500;margin-bottom:10px;color:#1a1a18}
.ec-status-form{display:flex;flex-direction:column;gap:10px}
.ec-opcao-status{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border:1px solid var(--ec-border);border-radius:var(--ec-radius);cursor:pointer;transition:all .15s}
.ec-opcao-status:hover{border-color:var(--ec-primary)}
.ec-opcao-status input{margin-top:3px;flex-shrink:0;accent-color:var(--ec-primary)}
.ec-opcao-conteudo{display:flex;flex-direction:column;gap:3px}
.ec-opcao-conteudo strong{font-size:14px;color:#1a1a18}
.ec-opcao-conteudo small{font-size:13px;color:var(--ec-gray)}
.ec-opcao-disponivel:has(input:checked){background:var(--ec-green-bg);border-color:#97c459}
.ec-opcao-pausado:has(input:checked){background:var(--ec-amber-bg);border-color:#f0b429}
.ec-opcao-contratado:has(input:checked){background:#e6f1fb;border-color:#85b7eb}

/* Painel empresa */
.ec-painel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:10px}
.ec-painel-header h2{font-size:22px;font-weight:500;margin:0}
.ec-badge-plano{background:var(--ec-green-bg);color:var(--ec-green);padding:6px 14px;border-radius:8px;font-size:13px;font-weight:500}
.ec-badge-gratis{background:var(--ec-amber-bg);color:var(--ec-amber);padding:6px 14px;border-radius:8px;font-size:13px;font-weight:500}
.ec-badge-bloqueado{background:var(--ec-red-bg);color:var(--ec-red);padding:6px 14px;border-radius:8px;font-size:13px;font-weight:500}
.ec-abas{display:flex;gap:6px;margin-bottom:1.5rem;flex-wrap:wrap}
.ec-aba{padding:9px 20px;border:1px solid var(--ec-border);border-radius:8px;text-decoration:none;font-size:14px;color:#444;background:#fff;transition:all .15s}
.ec-aba:hover{background:#f1efe8}
.ec-aba.ativa{background:var(--ec-primary);color:#fff;border-color:var(--ec-primary)}
.ec-aba-conteudo{padding:1.5rem;background:#fff;border:1px solid var(--ec-border);border-radius:12px}
.ec-aba-conteudo h3{font-size:16px;font-weight:500;margin-bottom:1rem}
.ec-pesquisas-badge{font-size:13px}
.ec-aviso-pesquisas{background:var(--ec-amber-bg);border:1px solid #f0b429;border-radius:8px;padding:10px 16px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}
.ec-bloqueio-pesquisa{background:var(--ec-red-bg);border:1px solid #e24b4a;border-radius:var(--ec-radius);padding:1.5rem;text-align:center}
.ec-bloqueio-pesquisa h3{color:var(--ec-red);margin-bottom:10px}
.ec-link-planos{color:var(--ec-primary);font-weight:500;white-space:nowrap}
.ec-aviso-acesso{background:#f8f9fa;border:1px solid var(--ec-border);border-radius:var(--ec-radius);padding:2rem;text-align:center;max-width:480px;margin:2rem auto}
.ec-lista-vagas{display:flex;flex-direction:column;gap:12px;margin-top:1rem}
.ec-form-vaga{max-width:100%}
.ec-vaga-encerrada{opacity:.65}

/* Avaliações */
.ec-aval-notas{display:flex;flex-direction:column;gap:14px;background:#f9f9f7;border-radius:var(--ec-radius);padding:1rem}
.ec-criterio{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ec-criterio-label{font-size:14px;font-weight:500;min-width:180px}
.ec-estrelas-input{display:flex;align-items:center;gap:4px}
.ec-estrela-btn{font-size:28px;cursor:pointer;color:#d3d1c7;transition:color .1s;line-height:1}
.ec-estrela-btn.ativa{color:#f59e0b}
.ec-nota-texto{font-size:13px;color:var(--ec-gray);margin-left:8px}

/* Select2 customização */
.select2-container--default .select2-selection--multiple,.select2-container--default .select2-selection--single{border:1px solid var(--ec-border);border-radius:var(--ec-radius);min-height:42px;display:flex;align-items:center}
.select2-container--default .select2-selection--multiple .select2-selection__choice{background:var(--ec-primary);color:#fff;border:none;border-radius:6px;padding:2px 8px;font-size:13px}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#fff;margin-right:6px}
.select2-container--default .select2-results__option--highlighted{background:var(--ec-primary)}
.select2-container{width:100%!important}

@media(max-width:600px){.ec-row,.ec-resumo-cadastro{grid-template-columns:1fr}.ec-grade{grid-template-columns:1fr}.ec-radio-horizontal{flex-direction:column}.ec-painel-header{flex-direction:column;align-items:flex-start}.ec-form-filtro input,.ec-form-filtro select{width:100%}}

/* ── Avatares com iniciais coloridas ─────────────────────────── */
.ec-avatar-inicial {
    width: 48px; height: 48px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 800;
    color: #fff;
    flex-shrink: 0;
}
.ec-avatar-a { background: linear-gradient(135deg,#185fa5,#0ea5e9); }
.ec-avatar-b { background: linear-gradient(135deg,#1a6336,#22c55e); }
.ec-avatar-c { background: linear-gradient(135deg,#7c3aed,#a78bfa); }
.ec-avatar-d { background: linear-gradient(135deg,#dc2626,#f87171); }
.ec-avatar-e { background: linear-gradient(135deg,#d97706,#fbbf24); }

/* ═══════════════════════════════════════════════════════════════
   HEADER / MENU — Redesign v3.7.4
   ═══════════════════════════════════════════════════════════════ */

/* Header principal — fundo escuro com gradiente sutil */
.ast-primary-header-bar,
.main-header-bar {
    background: linear-gradient(180deg, #0f1923 0%, #1a2332 100%) !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    box-shadow: 0 2px 20px rgba(0,0,0,.3) !important;
    padding: 4px 0 !important;
}

/* Logo — dar um pouco mais de respiro */
.ast-site-identity { padding: 8px 0; }
.custom-logo { 
    max-height: 52px !important; 
    width: auto !important;
    transition: opacity .2s;
}
.custom-logo:hover { opacity: .85; }

/* Links do menu — tipografia limpa */
.ast-primary-header-bar .ast-nav-menu > li > a,
.main-header-bar .ast-nav-menu > li > a {
    color: rgba(255,255,255,.78) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    letter-spacing: .02em !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    transition: all .2s ease !important;
    position: relative;
}

/* Hover nos links */
.ast-primary-header-bar .ast-nav-menu > li > a:hover,
.main-header-bar .ast-nav-menu > li > a:hover {
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
}

/* Link ativo (página atual) */
.ast-primary-header-bar .ast-nav-menu > li.current-menu-item > a,
.main-header-bar .ast-nav-menu > li.current-menu-item > a {
    color: #fff !important;
    background: rgba(255,255,255,.1) !important;
}

/* Underline animado no hover */
.ast-primary-header-bar .ast-nav-menu > li > a::after,
.main-header-bar .ast-nav-menu > li > a::after {
    content: '';
    position: absolute;
    bottom: 4px; left: 14px; right: 14px;
    height: 2px;
    background: #f59e0b;
    border-radius: 2px;
    transform: scaleX(0);
    transition: transform .2s ease;
}
.ast-primary-header-bar .ast-nav-menu > li > a:hover::after,
.ast-primary-header-bar .ast-nav-menu > li.current-menu-item > a::after,
.main-header-bar .ast-nav-menu > li > a:hover::after,
.main-header-bar .ast-nav-menu > li.current-menu-item > a::after {
    transform: scaleX(1);
}

/* Item "sou-empresa" — botão CTA destacado */
.ast-primary-header-bar .ast-nav-menu > li.menu-item a[href*="sou-empresa"],
.main-header-bar .ast-nav-menu > li.menu-item a[href*="sou-empresa"] {
    background: #185fa5 !important;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 9px 16px !important;
    font-weight: 700 !important;
    border: 1px solid rgba(255,255,255,.15) !important;
}
.ast-primary-header-bar .ast-nav-menu > li.menu-item a[href*="sou-empresa"]:hover,
.main-header-bar .ast-nav-menu > li.menu-item a[href*="sou-empresa"]:hover {
    background: #1d75cc !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(24,95,165,.4) !important;
}
.ast-primary-header-bar .ast-nav-menu > li.menu-item a[href*="sou-empresa"]::after,
.main-header-bar .ast-nav-menu > li.menu-item a[href*="sou-empresa"]::after {
    display: none !important;
}

/* Item "quero-trabalhar" — destaque em amarelo */
.ast-primary-header-bar .ast-nav-menu > li.menu-item a[href*="quero-trabalhar"],
.main-header-bar .ast-nav-menu > li.menu-item a[href*="quero-trabalhar"] {
    color: #fbbf24 !important;
    font-weight: 600 !important;
}
.ast-primary-header-bar .ast-nav-menu > li.menu-item a[href*="quero-trabalhar"]:hover,
.main-header-bar .ast-nav-menu > li.menu-item a[href*="quero-trabalhar"]:hover {
    color: #f59e0b !important;
    background: rgba(251,191,36,.08) !important;
}
.ast-primary-header-bar .ast-nav-menu > li.menu-item a[href*="quero-trabalhar"]::after,
.main-header-bar .ast-nav-menu > li.menu-item a[href*="quero-trabalhar"]::after {
    background: #fbbf24 !important;
}

/* Hamburguer mobile — cor branca */
.ast-mobile-header-wrap .menu-toggle,
.ast-menu-toggle { color: #fff !important; }
.ast-mobile-header-wrap .menu-toggle span,
.ast-mobile-header-wrap .menu-toggle span::before,
.ast-mobile-header-wrap .menu-toggle span::after {
    background-color: #fff !important;
}

/* Menu mobile — fundo escuro */
@media (max-width: 920px) {
    .ast-above-header-menu-items,
    .ast-below-header-section .ast-primary-header-bar {
        background: #0f1923 !important;
    }
    .ast-mobile-popup-menu .ast-nav-menu,
    .ast-header-break-point .ast-primary-header-bar {
        background: #0f1923 !important;
    }
}

/* ── Título hero — legibilidade máxima em qualquer tela ─────── */
.hero h1 {
    color: #ffffff !important;
    text-shadow:
        0 2px 8px rgba(0,0,0,.35),
        0 1px 2px rgba(0,0,0,.2) !important;
    line-height: 1.2 !important;
}

/* Subtítulo do hero — branco com leve transparência */
.hero p {
    color: rgba(255,255,255,.90) !important;
    text-shadow: 0 1px 4px rgba(0,0,0,.25) !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
}

/* Mobile — aumentar um pouco o tamanho para facilitar leitura */
@media (max-width: 768px) {
    .hero h1 {
        font-size: 32px !important;
        line-height: 1.25 !important;
    }
    .hero p {
        font-size: 15px !important;
    }
}
