/* Bolsa de empleo */
.filtros { display: grid; gap: 0.75rem; margin: 1.5rem 0 0.5rem; padding: 1rem; border: 1px solid var(--borde); border-radius: var(--radio); background: var(--superficie); }
@media (min-width: 760px) { .filtros { grid-template-columns: 1fr 2fr auto; align-items: end; } }
.filtros label, .form-oferta label { display: grid; gap: 0.3rem; font-weight: 600; font-size: 0.925rem; }
.filtros input, .filtros select, .form-oferta input, .form-oferta select, .form-oferta textarea {
  width: 100%; box-sizing: border-box; padding: 0.65rem 0.75rem; border: 1px solid var(--borde); border-radius: var(--radio);
  background: var(--fondo); color: var(--tinta); font: inherit;
}
.bolsa-lista { display: grid; gap: 1rem; margin-top: 1rem; }
.oferta { padding: 1.25rem; border: 1px solid var(--borde); border-radius: var(--radio); background: var(--superficie); }
.oferta h2 { margin: 0; font-size: 1.2rem; }
.oferta-empresa { margin: 0.25rem 0 0; color: var(--tinta-suave); }
.oferta-datos { display: grid; gap: 0.25rem; margin: 0.75rem 0; padding: 0; list-style: none; }
.oferta details summary { cursor: pointer; color: var(--acento); font-weight: 600; }
.oferta-desc { white-space: pre-line; color: var(--tinta-suave); }
.oferta footer { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-top: 0.75rem; }
.oferta footer .nota { margin: 0; }
.oferta footer .boton-texto { margin-left: auto; font-size: 0.85rem; }
.empresas { margin-top: 2.5rem; }
.empresas > p { color: var(--tinta-suave); }
.form-oferta { display: grid; gap: 0.9rem; margin-top: 1rem; }
.form-oferta .dos { display: grid; gap: 0.9rem; }
@media (min-width: 760px) { .form-oferta .dos { grid-template-columns: 1fr 1fr; } }
.form-oferta .opcional { font-weight: 400; color: var(--tinta-suave); }
.form-oferta .boton-grande { justify-self: start; }
.aviso-tablon { margin-top: 2rem; }
