body {
    background-color: #f8fafc;
    color: #0f172a;
}

.glass-nav {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.hero-bg {
    background-color: #ffffff;
    background-image: radial-gradient(#e2e8f0 1px, transparent 1px);
    background-size: 24px 24px;
}

.professional-card {
    background: #ffffff;
    border: 1px solid #f1f5f9;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    transition: all 0.2s ease-in-out;
}

.professional-card:hover,
.professional-card-hover:hover {
    border-color: #e2e8f0;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    transform: translateY(-2px);
}

.bg-primary {
    background-color: #1c3468 !important;
}

.btn-primary {
    background-color: #1c3468 !important;
    color: white;
    transition: all 0.2s;
}

.btn-primary:hover {
    background-color: #2650a8 !important;
    box-shadow: 0 4px 12px rgba(28, 52, 104, 0.3);
}

/* Custom Checkbox */
.form-checkbox {
    appearance: none;
    background-color: #fff;
    margin: 0;
    font: inherit;
    color: currentColor;
    width: 1.15em;
    height: 1.15em;
    border: 1px solid #cbd5e1;
    border-radius: 0.25em;
    display: grid;
    place-content: center;
}

.form-checkbox::before {
    content: "";
    width: 0.65em;
    height: 0.65em;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em white;
    background-color: white;
    transform-origin: center;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.form-checkbox:checked {
    background-color: #1c3468;
    border-color: #1c3468;
}

.form-checkbox:checked::before {
    transform: scale(1);
}

/* Custom Scrollbar */
.custom-scrollbar {
    scrollbar-width: none;
    scrollbar-color: rgba(28, 52, 104, 0.1) transparent;
}

.custom-scrollbar::-webkit-scrollbar {
    width: 2px;
    height: 2px;
}

.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
    background-color: rgba(28, 52, 104, 0.3);
    border-radius: 10px;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background-color: rgba(28, 52, 104, 0.6);
}
/* ===== Animações de entrada (substituem o AOS) ===== */
.bv-anim {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .5s ease, transform .5s ease;
}
.bv-anim[data-aos^="zoom"] { transform: scale(.96); }
.bv-anim[data-aos="fade-right"] { transform: translateX(-16px); }
.bv-anim[data-aos="fade-left"] { transform: translateX(16px); }
.bv-anim.bv-visivel { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
    .bv-anim { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ===== Menu mobile (no lugar do Preline) ===== */
[data-hs-collapse] { cursor: pointer; }
.hs-collapse-open .icone-abrir { display: none; }
.icone-fechar { display: none; }
.hs-collapse-open .icone-fechar { display: block; }

/* ===== Páginas com HTML rico (descrição da vaga, blog) ===== */
.rich-text h2 { font-size: 1.25rem; font-weight: 700; color: #0f172a; margin: 1.5rem 0 .5rem; }
.rich-text h3 { font-size: 1.05rem; font-weight: 700; color: #0f172a; margin: 1.25rem 0 .5rem; }
.rich-text p { margin-bottom: .85rem; line-height: 1.75; color: #334155; }
.rich-text ul, .rich-text ol { margin: 0 0 1rem 1.25rem; }
.rich-text ul { list-style: disc; }
.rich-text ol { list-style: decimal; }
.rich-text li { margin-bottom: .35rem; line-height: 1.7; color: #334155; }
.rich-text a { color: #1d4ed8; text-decoration: underline; }
.rich-text strong { font-weight: 700; color: #0f172a; }
.rich-text img { max-width: 100%; height: auto; border-radius: .75rem; margin: 1rem 0; }
