/* Independent vacancy cards; reusable with [icy_vacatures] on any page. */
.icy-jobs-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; list-style: none; margin: 0; padding: 0; }
.icy-jobs-grid *, .icy-job-card { box-sizing: border-box; }
.icy-jobs-grid .icy-job-card { list-style: none; margin: 0; padding: 0; min-width: 0; }
.icy-job-card > a { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid #e5ecec; border-radius: 16px; background: #fff; box-shadow: 0 3px 12px #163c4010; color: #164f50; text-decoration: none; transition: box-shadow .2s, transform .2s; }
.icy-job-card > a:hover { transform: translateY(-4px); box-shadow: 0 8px 22px #163c4022; color: #164f50; }
.icy-job-card > a:focus-visible { outline: 3px solid #007b80; outline-offset: 4px; }
.icy-job-photo { display: flex; aspect-ratio: 4 / 3; width: 100%; overflow: hidden; background: #edf7f7; }
.icy-job-photo img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.icy-job-photo-fallback { display: grid; place-items: center; width: 100%; font-size: 44px; font-weight: 600; letter-spacing: .15em; color: #48b0af; }
.icy-job-card-body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 22px; }
.icy-job-title { font-size: 21px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.icy-job-meta { color: #587174; font-size: 15px; line-height: 1.5; }
.icy-job-more { display: flex; gap: 12px; align-items: center; margin-top: auto; padding-top: 20px; color: #007b80; font-size: 15px; font-weight: 600; }
.icy-jobs-count { margin: 0 0 20px; color: #587174; text-align: right; font-size: 14px; }
.icy-jobs-empty { padding: 24px; border-radius: 12px; background: #edf7f7; color: #164f50; }
@media (max-width: 1050px) { .icy-jobs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) { .icy-jobs-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .icy-job-card > a { transition: none; } .icy-job-card > a:hover { transform: none; } }
body .entry-content .icy-jobs-grid { list-style: none; margin: 0; padding: 0; }
body .entry-content .icy-jobs-grid .icy-job-card > a { text-decoration: none; }
