/* Bolsa de empleo 360 · tarjetas compartibles */
.t360-jobs{max-width:980px}
.t360-jobs .jh{margin-bottom:28px}
.t360-jobs .jh h1{font-size:clamp(1.6rem,3.5vw,2.2rem);margin:0 0 8px;font-weight:800}
.t360-jobs .jh p{margin:0;color:var(--q-mut,#8b9bb4);max-width:52ch}
.t360-jobs .jh-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}

.t360-jobs .filters{
  display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;margin-bottom:22px;
}
@media(max-width:720px){.t360-jobs .filters{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.t360-jobs .filters{grid-template-columns:1fr}}

.t360-jobs .job-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(max-width:700px){.t360-jobs .job-grid{grid-template-columns:1fr}}

.t360-jobs .job-card{
  display:flex;flex-direction:column;gap:10px;padding:20px 18px;
  border-radius:18px;border:1px solid var(--q-line,rgba(120,160,220,.18));
  background:rgba(12,20,38,.75);cursor:pointer;transition:.22s;text-align:left;
  min-height:200px;
}
.t360-jobs .job-card:hover{
  transform:translateY(-3px);
  border-color:rgba(45,212,232,.45);
  box-shadow:0 16px 40px -20px rgba(45,212,232,.35);
}
.t360-jobs .job-card.featured{
  border-color:rgba(232,181,74,.4);
  background:radial-gradient(90% 70% at 100% 0%,rgba(232,181,74,.12),transparent 55%),rgba(12,20,38,.8);
}
.t360-jobs .job-card h3{margin:0;font-size:1.08rem;color:#fff;font-weight:700;line-height:1.3}
.t360-jobs .job-card .co{font-weight:600;color:var(--q-cyan2,#7ef0ff);font-size:.9rem}
.t360-jobs .job-card .meta{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:.78rem;color:var(--q-mut,#8b9bb4)}
.t360-jobs .job-card .meta span{
  padding:3px 10px;border-radius:999px;border:1px solid var(--q-line);background:rgba(255,255,255,.03);
}
.t360-jobs .job-card .skills{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.t360-jobs .job-card .skills i{
  font-style:normal;font-size:.72rem;padding:3px 8px;border-radius:999px;
  background:rgba(45,212,232,.1);color:var(--q-cyan,#2dd4e8);border:1px solid rgba(45,212,232,.25);
}
.t360-jobs .empty{text-align:center;padding:48px 16px;color:var(--q-mut)}
.t360-jobs .pager{display:flex;justify-content:center;gap:10px;margin-top:22px}

/* Detalle vacante · share card */
.t360-jobs .vac{
  padding:28px 22px;border-radius:20px;border:1px solid rgba(45,212,232,.25);
  background:linear-gradient(165deg,rgba(45,212,232,.08),rgba(12,20,38,.9));
}
.t360-jobs .vac h1{font-size:clamp(1.45rem,3vw,2rem);margin:0 0 6px}
.t360-jobs .vac .co{font-size:1.05rem;color:var(--q-cyan2);font-weight:700;margin-bottom:12px}
.t360-jobs .vac .tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.t360-jobs .vac .tags span{
  font-size:.78rem;padding:5px 12px;border-radius:999px;
  border:1px solid var(--q-line);background:rgba(255,255,255,.04);
}
.t360-jobs .vac .body{color:#c5d0e0;font-size:.95rem;line-height:1.65;margin-bottom:18px}
.t360-jobs .vac .body h3{color:#fff;font-size:1rem;margin:18px 0 8px}
.t360-jobs .share{
  display:flex;flex-wrap:wrap;gap:8px;padding-top:16px;border-top:1px solid var(--q-line);margin-top:8px;
}
.t360-jobs .share a,.t360-jobs .share button{
  display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;
  border:1px solid var(--q-line);background:rgba(255,255,255,.04);color:#e8eef8;
  font-size:.82rem;font-weight:700;text-decoration:none;cursor:pointer;
}
.t360-jobs .share a:hover,.t360-jobs .share button:hover{border-color:var(--q-cyan);color:var(--q-cyan2)}

.t360-jobs .apply-box{
  margin-top:20px;padding:20px;border-radius:16px;border:1px solid var(--q-line);
  background:rgba(5,10,22,.6);display:grid;gap:12px;
}
.t360-jobs .apply-box h3{margin:0;color:#fff}
.t360-jobs .apply-box .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.t360-jobs .apply-box .row{grid-template-columns:1fr}}

/* Publish form */
.t360-jobs .pub{display:grid;gap:16px}
.t360-jobs .pub .sec-title{
  font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--q-cyan);margin:8px 0 4px;
}
.t360-jobs .pub .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.t360-jobs .pub .grid2{grid-template-columns:1fr}}
.t360-jobs .pub label{display:grid;gap:6px;font-size:.85rem;color:var(--q-mut)}
.t360-jobs .pub input,.t360-jobs .pub select,.t360-jobs .pub textarea{
  padding:11px 14px;width:100%;font:inherit;
}
.t360-jobs .pub textarea{min-height:110px;resize:vertical}
.t360-jobs .success{
  text-align:center;padding:36px 20px;border-radius:18px;
  border:1px solid rgba(52,211,153,.35);background:rgba(52,211,153,.08);
}
.t360-jobs .success h2{color:#fff;margin:0 0 10px}
.t360-jobs .success .url{
  word-break:break-all;padding:12px;border-radius:12px;background:rgba(0,0,0,.35);
  color:var(--q-cyan2);font-size:.88rem;margin:14px 0;
}
