.vfe-vacatures-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}
.vfe-vacature-card {
  border: 1px solid #e5e5e5;
  border-radius: 14px;
  padding: 16px;
  background: #fff;
}
.vfe-badge {
  display: inline-block;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid #ddd;
  margin-bottom: 10px;
}
.vfe-actions { display:flex; gap:10px; align-items:center; margin-top: 12px; }
.vfe-open-modal {
  border: 0;
  border-radius: 10px;
  padding: 10px 12px;
  cursor: pointer;
}
.vfe-link { text-decoration: underline; }

.vfe-subtitle { margin: 6px 0 0; }
.vfe-meta { margin: 8px 0 0; font-size: 13px; opacity: .85; }

.vfe-empty { padding: 16px; border: 1px dashed #ddd; border-radius: 14px; }

.vfe-filters { margin: 0 0 16px; }
.vfe-filters__row { display:flex; flex-wrap:wrap; gap: 10px; align-items:center; }
.vfe-filters input[type="text"], .vfe-filters select {
  padding: 10px;
  border-radius: 10px;
  border: 1px solid #ddd;
}
.vfe-filters button {
  border: 0;
  border-radius: 10px;
  padding: 10px 12px;
  cursor: pointer;
}
.vfe-reset { text-decoration: underline; }

/* Modal: force always on top of any theme overlays */
.vfe-modal {
  display: none;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important; pointer-events: all !important; /* max-ish to beat theme headers/menus */
}
.vfe-modal.is-open { display:block; }

.vfe-modal__backdrop{
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0,0,0,.55) !important;
  z-index: 0 !important;
}

.vfe-modal__panel{
  position: absolute !important;
  left: 50% !important;
  top: 6vh !important;
  transform: translateX(-50%) !important;
  width: min(920px, 92vw) !important;
  max-height: 88vh !important;
  overflow: auto !important;
  background: #fff !important;
  border-radius: 16px !important;
  padding: 20px !important;
  z-index: 1 !important;
}

.vfe-modal__close {
  position:absolute; top: 10px; right: 12px;
  border:0; background:transparent;
  font-size: 28px; cursor:pointer;
}

body.vfe-modal-open { overflow: hidden !important; }

.vfe-modal__section { margin-top: 18px; }

.vfe-sollicitatie-form {
  display:grid; gap: 12px; max-width: 640px;
}
.vfe-sollicitatie-form input, .vfe-sollicitatie-form textarea {
  width:100%;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid #ddd;
}
.vfe-form-success {
  padding: 12px 14px;
  border: 1px solid #cfe8cf;
  background: #f3fbf3;
  border-radius: 12px;
  margin-bottom: 12px;
}

.vfe-modal * { position: relative; z-index: 2147483647 !important; }
