.fnm-vacancy-badge {
    display:inline-flex;
    align-items:center;
    gap:.5em;
    padding:.45em .9em;
    border-radius:999px;
    background:#e8f2f6;
    color:#123f4c;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.08em;
    line-height:1.2;
}
.fnm-vacancy-badge-icon { font-size:.85em; opacity:.85; }
.fnm-vacancy-apply {
    display:inline-flex;
    align-items:center;
    gap:.45em;
    text-decoration:none;
    font-weight:700;
}
.fnm-vacancy-apply span {
    font-size:1.35em;
    line-height:0;
    transition:transform .2s ease;
}
.fnm-vacancy-apply:hover span { transform:translateX(3px); }

/* Full Vacancy Card widget */
.fnm-vacancy-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
    border: 1px solid #D4E1DF;
    border-radius: 14px;
    background: #FAF8F3;
    color: #103A45;
    box-sizing: border-box;
    box-shadow: none;
}
.fnm-vacancy-card__body { flex: 1 1 auto; padding: 30px 30px 24px; }
.fnm-vacancy-card__badge {
    display: inline-flex;
    align-items: center;
    gap: .55em;
    margin-bottom: 24px;
    padding: .55em 1em;
    border-radius: 30px;
    background: #E4F0F4;
    color: #164653;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.15;
}
.fnm-vacancy-card__badge-icon { font-size: 1.1em; line-height: 1; }
.fnm-vacancy-card__title { margin: 0 0 12px; color: #103A45; font-size: 1.45rem; line-height: 1.2; }
.fnm-vacancy-card__title a { color: inherit; text-decoration: none; }
.fnm-vacancy-card__location { display: flex; align-items: center; gap: .5em; margin-bottom: 18px; color: #52656B; font-size: 1rem; line-height: 1.45; }
.fnm-vacancy-card__location-label { font-weight: 700; }
.fnm-vacancy-card__description { color: #52656B; font-size: 1rem; line-height: 1.55; }
.fnm-vacancy-card__footer { margin: 0 30px; padding: 22px 0 27px; border-top: 1px solid #D4E1DF; }
.fnm-vacancy-card__apply { display: inline-flex; align-items: center; gap: .55em; color: #164653; font-weight: 700; text-decoration: none; }
.fnm-vacancy-card__apply span { font-size: 1.45em; line-height: .7; transition: transform .2s ease; }
.fnm-vacancy-card__apply:hover span { transform: translateX(4px); }
.fnm-vacancy-card--linked { cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.fnm-vacancy-card--linked:hover { transform: translateY(-2px); }
.fnm-vacancy-card--empty { min-height: 180px; align-items: flex-start; justify-content: center; gap: 8px; padding: 30px; }
.fnm-vacancy-card--empty span { opacity: .7; }
@media (max-width: 767px) {
    .fnm-vacancy-card__body { padding: 24px 22px 20px; }
    .fnm-vacancy-card__footer { margin: 0 22px; padding: 19px 0 22px; }
    .fnm-vacancy-card__title { font-size: 1.25rem; }
}

.fnm-vacancy-card--debug { border:2px dashed #b45309; background:#fffaf0; color:#713f12; }
.fnm-vacancy-card--debug span { display:block; margin-top:8px; font-size:13px; line-height:1.5; }
