/* Ad slots written by public_ads.py. Fixed boxes per shape keep the page from jumping
   when an ad arrives; an unfilled or blocked slot collapses. Neutral 1px outline only. */
.rks-ad{display:flex;flex-direction:column;gap:6px;margin:28px 0;padding:10px 12px 12px;border:1px solid var(--line,#e5e7eb);border-radius:12px;background:var(--surface,#fff);min-width:0;overflow:hidden}
article.job-detail>.rks-ad{margin:8px 0;border-radius:16px}
.rks-ad-label{font-size:11px;line-height:1.2;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#6b7280)}
.rks-ad ins.adsbygoogle{display:block;width:100%;height:280px}
@media (min-width:768px){
  .rks-ad[data-rks-shape=box] ins.adsbygoogle{height:250px}
  .rks-ad[data-rks-shape=row] ins.adsbygoogle{height:120px}
}
body[data-rks-section] .jobs.job-list>li.rks-ad-row{display:block;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;list-style:none}
body[data-rks-section] .jobs.job-list>li.rks-ad-row .rks-ad{margin:4px 0}
.rks-ad:has(ins[data-ad-status=unfilled]),li.rks-ad-row:has(ins[data-ad-status=unfilled]),
html.rks-ads-blocked .rks-ad,html.rks-ads-blocked li.rks-ad-row{display:none}
@media print{.rks-ad,li.rks-ad-row{display:none}}
