.tt-block{
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  padding:18px;
  background:#fff;
}

.tt-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}

.tt-title{margin:0;font-size:20px;line-height:1.2;}
.tt-subtitle{margin:6px 0 0;font-size:13px;color:rgba(15,23,42,.68);}

.tt-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.12);
  text-decoration:none;
  font-weight:600;
  white-space:nowrap;
}

.tt-empty{
  padding:14px;
  background:rgba(15,23,42,.03);
  border-radius:12px;
}

.tt-card{
  display:block;
  height:100%;
  border:1px solid rgba(15,23,42,.10);
  border-radius:14px;
  padding:14px;
  text-decoration:none;
  background:rgba(15,23,42,.02);
}

.tt-job-title{font-size:15px;font-weight:700;line-height:1.25;margin-bottom:6px;color:#0f172a;}
.tt-company{font-size:13px;font-weight:600;color:rgba(15,23,42,.7);}

.tt-meta{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}

.tt-pill{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  color:rgba(15,23,42,.85);
}

.tt-salary{
  margin-left:auto;
  font-size:12px;
  font-weight:700;
  color:rgba(15,23,42,.85);
}

.tt-nav{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:10px;
}

.tt-prev, .tt-next{
  width:40px;height:40px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  font-size:20px;
  cursor:pointer;
}

.tt-pagination{
  margin-top:10px;
}

@media (max-width: 640px){
  .tt-head{flex-direction:column;align-items:stretch;}
  .tt-cta{justify-content:center;}
  .tt-salary{margin-left:0;}
}
