/* SP Empleos — bolsa de trabajo. Móvil primero: el candidato entra desde celular con datos móviles. */
.sp-emp{--sp-navy:rgb(15,35,70);--sp-azul:rgb(24,95,165);--sp-ambar:rgb(245,158,11);--sp-borde:#dfe4ec;--sp-gris:#5b6478;
  font-family:inherit;color:var(--sp-navy);max-width:1120px;margin:0 auto;padding:0 1rem;box-sizing:border-box}
.sp-emp *,.sp-emp *::before,.sp-emp *::after{box-sizing:border-box}
.sp-emp h2{font-size:1.35rem;line-height:1.25;margin:1.8rem 0 .8rem;color:var(--sp-navy)}
.sp-emp h3{font-size:1.02rem;line-height:1.3;margin:.2rem 0}
.sp-emp p{color:var(--sp-gris);line-height:1.65;margin:0 0 .9rem}

/* ---- botón ---- */
.sp-emp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:var(--sp-azul);color:#fff!important;text-decoration:none;font-weight:700;
  padding:.85rem 1.4rem;border-radius:.6rem;border:0;cursor:pointer;font-size:1rem;
  min-height:48px;/* objetivo táctil cómodo */ width:100%}
@media (min-width:640px){.sp-emp-btn{width:auto}}
.sp-emp-btn:hover{background:var(--sp-navy)}

/* ---- filtros ---- */
.sp-emp-filtros{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1rem 0 1.3rem;align-items:end}
.sp-emp-filtros label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:700;color:var(--sp-gris)}
.sp-emp-filtros select{font-size:1rem;padding:.6rem .7rem;border:1px solid var(--sp-borde);border-radius:.5rem;background:#fff;min-height:44px}
.sp-emp-cuenta{grid-column:1/-1;font-size:.85rem;color:var(--sp-gris);font-weight:600}
@media (min-width:720px){.sp-emp-filtros{grid-template-columns:repeat(3,1fr) auto}.sp-emp-cuenta{grid-column:auto;padding-bottom:.7rem}}

/* ---- tarjetas ---- */
.sp-emp-grid{display:grid;grid-template-columns:1fr;gap:.8rem}
@media (min-width:640px){.sp-emp-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.sp-emp-grid{grid-template-columns:repeat(3,1fr)}}
.sp-emp-card{display:flex;flex-direction:column;gap:.35rem;background:#fff;border:1px solid var(--sp-borde);
  border-radius:.9rem;padding:1rem;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}
.sp-emp-card:hover{box-shadow:0 8px 24px rgba(15,35,70,.10);transform:translateY(-2px)}
.sp-emp-card[hidden]{display:none}
.sp-emp-pais{font-size:.78rem;font-weight:700;color:var(--sp-gris);letter-spacing:.02em}
.sp-emp-tag{align-self:flex-start;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  background:#fff4e0;color:#8a5a00;border-radius:999px;padding:.15rem .55rem}
.sp-emp-sueldo{font-weight:800;color:var(--sp-azul);font-size:1rem}
.sp-emp-turno{font-size:.85rem;color:var(--sp-gris)}
.sp-emp-ver{margin-top:.4rem;font-size:.85rem;font-weight:700;color:var(--sp-azul)}
.sp-emp-vacio{margin:1rem 0;font-weight:600}

/* ---- ficha de vacante ---- */
.sp-emp-datos{display:grid;grid-template-columns:1fr;gap:.6rem;background:#f6f8fb;border:1px solid var(--sp-borde);
  border-radius:.9rem;padding:1rem;margin:1rem 0}
@media (min-width:640px){.sp-emp-datos{grid-template-columns:repeat(2,1fr)}}
.sp-emp-datos div{display:flex;flex-direction:column}
.sp-emp-datos span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--sp-gris);font-weight:700}
.sp-emp-datos b{font-size:1rem;color:var(--sp-navy)}
.sp-emp-cta{margin:1rem 0 1.4rem}
.sp-emp-cuerpo{margin:0 0 1.2rem}
.sp-emp-cuerpo ul{color:var(--sp-gris);line-height:1.65;padding-left:1.2rem}
.sp-emp-vigencia{font-size:.85rem;color:var(--sp-gris);border-top:1px solid var(--sp-borde);padding-top:.8rem}
.sp-emp-volver{margin:1.4rem 0}
.sp-emp-volver a,.sp-emp-similares a{color:var(--sp-azul);font-weight:700;text-decoration:none}
.sp-emp-nota{background:#fff8ec;border:1px solid #f3dcae;border-radius:.7rem;padding:.9rem 1rem;color:#6b4c00}
.sp-emp-aviso{background:#f6f8fb;border:1px solid var(--sp-borde);border-radius:.9rem;padding:1.2rem;margin:1rem 0}
.sp-emp-aviso h2{margin-top:0}

/* ---- formulario ---- */
.sp-emp-form-wrap{background:#f6f8fb;border:1px solid var(--sp-borde);border-radius:.9rem;padding:1.1rem;margin:1.6rem 0}
.sp-post-grid{display:grid;grid-template-columns:1fr;gap:.8rem}
@media (min-width:640px){.sp-post-grid{grid-template-columns:1fr 1fr}.sp-post-full{grid-column:1/-1}}
.sp-post-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:700;color:var(--sp-navy)}
.sp-post-form input[type=text],.sp-post-form input[type=tel],.sp-post-form input[type=email]{
  font-size:16px;/* evita el zoom automático de iOS al enfocar */ padding:.7rem .8rem;border:1px solid var(--sp-borde);
  border-radius:.5rem;background:#fff;min-height:46px;width:100%}
.sp-post-form input[type=file]{font-size:.9rem;padding:.5rem 0}
.sp-post-hint{font-weight:500;color:var(--sp-gris);font-size:.78rem}
.sp-post-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:.6rem;
  margin:1rem 0;font-weight:500!important;font-size:.9rem;color:var(--sp-gris);line-height:1.5}
.sp-post-consent input{margin-top:.25rem;width:20px;height:20px;flex:0 0 auto}
.sp-post-hp{position:absolute;left:-9999px;width:1px;height:1px}
.sp-post-msg{margin:.8rem 0 0;font-weight:600;font-size:.9rem}
.sp-post-msg.sp-post-err{color:#b3261e}
.sp-post-msg.sp-post-ok{color:#1b6e2f}
.sp-emp-similares{margin-top:2rem;border-top:1px solid var(--sp-borde);padding-top:.6rem}
