/* MÓDULO: vaga | card leve premium + modal central (reestruturação total, referência: card vagas019) | 2026-07-02 */

/* ===== CARD DE VAGA ===== */
.vc{position:relative;overflow:hidden;border-radius:16px;background:#fff;border:1px solid rgba(15,23,42,.07);
  padding:16px 16px 13px 19px;display:flex;flex-direction:column;gap:9px;cursor:pointer;
  box-shadow:0 1px 2px rgba(15,23,42,.04),0 10px 26px -16px rgba(37,99,235,.32);
  transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s cubic-bezier(.2,.8,.2,1),border-color .18s;
  animation:fadeUp .3s ease both}
.vc::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#2563eb,#1d4ed8)}
@media(hover:hover){.vc:hover{transform:translateY(-3px);border-color:rgba(37,99,235,.2);box-shadow:0 1px 2px rgba(15,23,42,.05),0 20px 36px -18px rgba(37,99,235,.4)}
  .vc:hover .vc-arw{transform:translateX(3px)}}
.vc:active{transform:scale(.985)}
.vc:focus-visible{outline:2px solid #2563eb;outline-offset:2px}

.vc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.vc-code{font-size:10px;font-weight:800;letter-spacing:.3px;color:#94a3b8;background:#f1f5f9;padding:3px 8px;border-radius:999px;white-space:nowrap}
.vc-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.mi-nova,.mi-urg{font-size:10px;font-weight:800;letter-spacing:.3px;color:#fff;padding:4px 9px;border-radius:999px;white-space:nowrap}
.mi-nova{background:linear-gradient(120deg,#16a085,#0e6e57)}
.mi-urg{background:linear-gradient(120deg,#2563eb,#1d4ed8)}
.mi-urg.hot{background:linear-gradient(120deg,#ef4444,#b91c1c)}

.vc-title{margin:0;font-size:16.5px;font-weight:800;line-height:1.28;letter-spacing:-.2px;color:#0f172a;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vc-emp{font-size:12.5px;font-weight:700;color:#2563eb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.vc-meta{display:flex;flex-wrap:wrap;gap:6px}
.vc-meta .mi{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#475569;
  background:#f8fafc;border:1px solid #eef2f7;padding:4px 8px;border-radius:8px}

.vc-sal{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:800;color:#0a6b43}

.vc-cta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:1px;padding-top:11px;
  border-top:1px solid #f1f5f9;font-size:11.5px;font-weight:700;color:#2563eb}
.vc-arw{display:inline-flex;transition:transform .18s}

.vc-bottom{display:flex;gap:10px;flex-wrap:wrap}
.vc-pill{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:700;color:#94a3b8;
  text-transform:uppercase;letter-spacing:.3px}
.vc-pill .ic{width:.9em;height:.9em}

@keyframes skshimmer{100%{background-position:-200% 0}}
.vc.skel{pointer-events:none;padding:16px}
.vc.skel::before{display:none}
.sk{background:linear-gradient(90deg,rgba(239,160,23,.09) 25%,rgba(239,160,23,.22) 37%,rgba(239,160,23,.09) 63%);background-size:200% 100%;animation:skshimmer 1.15s linear infinite;border-radius:8px}
.sk-top{width:54px;height:18px;border-radius:999px;margin-bottom:14px}
.sk-title{width:78%;height:18px;margin-bottom:14px}
.sk-row{width:90%;height:12px;margin-bottom:8px}
.sk-btn{width:100%;height:42px;border-radius:13px;margin-top:12px}

.emptybox{grid-column:1/-1;text-align:center;color:#6d4500;font-weight:800;font-size:16px;padding:46px 18px;line-height:1.6}
.emptybox span{display:block;margin-top:6px;font-size:13px;font-weight:600;color:#9a917d}

/* ===== MODAL CENTRAL DE VAGA ===== */
.vg-ov{position:fixed;inset:0;z-index:130;background:rgba(15,23,42,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  opacity:0;pointer-events:none;transition:opacity .25s ease}
.vg-ov.on{opacity:1;pointer-events:auto}

.vg-modal{position:fixed;z-index:131;left:50%;top:7vh;width:68%;max-width:760px;max-height:78vh;max-height:78dvh;
  transform:translate(-50%,0) scale(.94);opacity:0;pointer-events:none;
  background:#fff;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 30px 80px -20px rgba(15,23,42,.45),0 0 0 1px rgba(255,255,255,.6) inset;
  transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .22s ease}
.vg-modal.on{transform:translate(-50%,0) scale(1);opacity:1;pointer-events:auto}
@media(prefers-reduced-motion:reduce){.vg-ov,.vg-modal{transition:opacity .12s linear}.vg-modal{transform:translate(-50%,0)!important}}

.vg-close{position:absolute;top:14px;right:14px;z-index:2;width:36px;height:36px;min-width:44px;min-height:44px;
  margin:-4px -4px 0 0;display:grid;place-items:center;border:0;border-radius:50%;
  background:rgba(15,23,42,.06);color:#475569;cursor:pointer;transition:background .15s,color .15s}
.vg-close .ic{width:18px;height:18px}
.vg-close:hover{background:rgba(15,23,42,.1);color:#0f172a}
.vg-close:focus-visible{outline:2px solid #2563eb;outline-offset:2px}

.vg-modal-inner{overflow-y:auto;-webkit-overflow-scrolling:touch}
.vg-hd{padding:26px 56px 16px 26px;border-bottom:1px solid #f1f5f9}
.vg-code{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.4px;color:#2563eb;
  background:rgba(37,99,235,.08);padding:4px 10px;border-radius:999px;margin-bottom:9px}
.vg-title{margin:0 0 5px;font-size:21px;font-weight:800;line-height:1.25;letter-spacing:-.3px;color:#0f172a}
.vg-emp{font-size:13.5px;font-weight:700;color:#2563eb}

.vg-bd{padding:20px 26px max(28px,calc(env(safe-area-inset-bottom) + 22px))}
.vg-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}
.vg-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#475569;
  background:#f8fafc;border:1px solid #eef2f7;padding:6px 11px;border-radius:999px}
.vg-chip-sal{color:#0a6b43;background:#eafbf1;border-color:rgba(16,120,72,.2)}
.vg-chip.hot{color:#b91c1c;background:#fef2f2;border-color:rgba(185,28,28,.2)}

.vg-block{margin:0 0 20px}
.vg-block h4{margin:0 0 9px;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#2563eb}
.vg-txt{font-size:14px;line-height:1.65;color:#475569;white-space:pre-line}

.vg-cand{background:#f8fafc;border:1px solid #eef2f7;border-radius:16px;padding:16px}
.vg-cand p{margin:0 0 14px;font-size:13px;line-height:1.55;color:#64748b}
.vg-cand b{color:#0f172a}
.vc-apply{display:flex;flex-direction:column;gap:10px}
.vc-apply .vc-apply-load,.vc-apply .vc-apply-none{font-size:13px;color:#94a3b8;text-align:center;padding:6px}
.vc-btn-wa,.vc-btn-em{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:50px;
  border-radius:14px;font-weight:800;font-size:15px;color:#fff!important;text-decoration:none;border:0;
  transition:transform .12s,filter .12s,box-shadow .12s}
.vc-btn-wa{background:linear-gradient(145deg,#2bcb6e,#138c4c);box-shadow:0 8px 18px -8px rgba(19,140,76,.55)}
.vc-btn-em{background:linear-gradient(145deg,#1976ff,#0047ff);box-shadow:0 8px 18px -8px rgba(0,71,255,.5)}
.vc-btn-wa:hover,.vc-btn-em:hover{filter:brightness(1.05)}
.vc-btn-wa:active,.vc-btn-em:active{transform:scale(.97)}
.vc-btn-wa:focus-visible,.vc-btn-em:focus-visible{outline:2px solid #0f172a;outline-offset:2px}
.vc-btn-wa svg,.vc-btn-em svg{width:18px;height:18px;flex:0 0 auto}

.vg-share{margin:0 0 16px;text-align:center}
.vg-share-btn{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid #eef2f7;
  color:#2563eb;font-weight:700;font-size:12.5px;padding:9px 16px;border-radius:999px;cursor:pointer;transition:background .15s}
.vg-share-btn:hover{background:rgba(37,99,235,.06)}
.vg-share-btn .ic{width:14px;height:14px}

.vg-foot{padding-top:14px;border-top:1px solid #f1f5f9;font-size:11.5px;color:#94a3b8;text-align:center;line-height:1.5}

@media(max-width:760px){
  .vg-modal{width:92%;max-height:78dvh;border-radius:20px}
  .vg-hd{padding:22px 52px 14px 20px}
  .vg-bd{padding:16px 20px max(28px,calc(env(safe-area-inset-bottom) + 22px))}
  .vg-title{font-size:19px}
}