/* Vagas Flex — cards de vaga + schema JobPosting */
.wvf-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
.wvf-card {
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 1px 3px rgba(0,0,0,.05);
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.wvf-logo { max-height: 48px; width: auto; object-fit: contain; align-self: flex-start; }
.wvf-titulo { margin: 0; font-size: 20px; font-weight: 700; color: #111827; }
.wvf-meta { margin: 0; font-size: 14px; color: #4b5563; }
.wvf-salario { margin: 0; font-size: 15px; font-weight: 600; color: #0066ff; }
.wvf-desc { font-size: 14px; line-height: 1.6; color: #4b5563; }
.wvf-desc p { margin: 0 0 8px; }
.wvf-cta {
    align-self: flex-start;
    margin-top: 6px;
    display: inline-block;
    background: #0066ff;
    color: #fff;
    padding: 10px 22px;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    transition: opacity .2s ease;
}
.wvf-cta:hover { opacity: .9; }

.wvf-titulo, .wvf-meta, .wvf-desc, .wvf-salario, .wvf-cta { font-family: inherit; }

@media (max-width: 767px) {
    .wvf-grid { grid-template-columns: 1fr !important; }
    .wvf-card { padding: 18px; }
}
