:root{
  --tvak-radius: 16px;
  --tvak-border: rgba(0,0,0,.12);
  --tvak-shadow: 0 10px 30px rgba(0,0,0,.12);
  --tvak-gap: 16px;
  --tvak-green: #45a833;
}

.tvak-wrap, .tvak-wrap *{ box-sizing: border-box; }

.tvak-wrap{ width:100%; }
.tvak-wrap .tvak-list{ display:grid; gap: var(--tvak-gap); }

.tvak-wrap .tvak-item{
  border: 1px solid var(--tvak-border);
  border-radius: var(--tvak-radius);
  padding: 18px 18px 16px 18px;
  background: #fff;
}

.tvak-wrap .tvak-item__title{ margin: 0 0 8px 0; line-height: 1.15; }

.tvak-wrap .tvak-item__meta{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom: 10px; }
.tvak-wrap .tvak-pill{
  display:inline-flex;
  align-items:center;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 0.92em;
  background: #fff;
  color: rgba(0,0,0,.65);
}

.tvak-wrap .tvak-item__content{ color: rgba(0,0,0,.62); line-height: 1.7; }
.tvak-wrap .tvak-item__intro{ margin-bottom: 6px; }
.tvak-wrap .tvak-item__full{ margin-top: 10px; color: rgba(0,0,0,.72); }

/* SPACE between content and buttons */
.tvak-wrap .tvak-item__actions{ margin-top: 18px; display:flex; gap:12px; flex-wrap:wrap; }

/* Buttons – FORCE white text even with theme overrides */
.tvak-wrap .tvak-btn,
.tvak-modal .tvak-btn{
  appearance:none;
  border: none !important;
  border-radius: var(--tvak-radius) !important;
  padding: 12px 20px;
  cursor: pointer;
  font-weight: 800;
  background: var(--tvak-green) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.tvak-wrap .tvak-btn:hover{ filter: brightness(0.98); }
.tvak-wrap .tvak-btn:active{ transform: translateY(1px); }

.tvak-wrap .tvak-btn--secondary{ background: rgba(69,168,51,.92) !important; }

.tvak-wrap .tvak-link{
  background: transparent;
  border: none;
  padding: 10px 8px;
  cursor:pointer;
  text-decoration: underline;
  color: rgba(0,0,0,.70);
  font-weight: 800;
}

.tvak-empty{ opacity:.85; }

/* === MODAL (HARDENED) === */
.tvak-modal{
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.tvak-modal.is-open{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.tvak-modal__backdrop{
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,.55) !important;
}
.tvak-modal__panel{
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%,-50%) !important;
  width: min(620px, 92vw) !important;
  max-height: 90vh !important;
  overflow:auto !important;
  background: #fff !important;
  box-shadow: var(--tvak-shadow) !important;
  border: 1px solid var(--tvak-border) !important;
  border-radius: var(--tvak-radius) !important;
  padding: 18px !important;
}

.tvak-modal__header{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.tvak-modal__title{ margin:0; font-size: 1.25rem; }
.tvak-icon-btn{
  width: 40px; height: 40px;
  border-radius: var(--tvak-radius) !important;
  border: 1px solid var(--tvak-border) !important;
  background: #fff !important;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
}

.tvak-form{ display:grid; gap: 12px; margin-top: 10px; }
.tvak-form__row label{ display:block; font-weight: 800; margin-bottom: 6px; }
.tvak-form input[type="text"],
.tvak-form input[type="tel"],
.tvak-form input[type="file"],
.tvak-form textarea{
  width: 100%;
  border: 1px solid rgba(0,0,0,.16) !important;
  border-radius: var(--tvak-radius) !important;
  padding: 10px 12px;
  font: inherit;
  background:#fff !important;
  color: inherit !important;
}
.tvak-help{ margin:6px 0 0 0; font-size: .9em; opacity:.75; }
.tvak-form__actions{ display:flex; gap: 10px; align-items:center; margin-top: 4px; flex-wrap:wrap; }
.tvak-form__status{ min-height: 22px; font-weight: 800; }
.tvak-form__status.is-error{ color: #b00020; }
.tvak-form__status.is-success{ color: #0a7a2f; }

body.tvak-modal-open{ overflow:hidden; }

@media (max-width: 640px){
  .tvak-wrap .tvak-item{ padding: 16px; }
  .tvak-wrap .tvak-item__actions{ flex-direction: column; align-items: stretch; }
}


/* === UI FONT & SQUARE CORNERS (v1.3.1) === */
.tvak-wrap,
.tvak-wrap button,
.tvak-wrap input,
.tvak-wrap textarea,
.tvak-modal,
.tvak-modal button,
.tvak-modal input,
.tvak-modal textarea{
  font-family: "DM Sans", sans-serif !important;
}

/* Remove rounded corners everywhere */
.tvak-wrap .tvak-item,
.tvak-wrap .tvak-btn,
.tvak-wrap .tvak-pill,
.tvak-modal .tvak-modal__panel,
.tvak-modal .tvak-icon-btn,
.tvak-modal input,
.tvak-modal textarea{
  border-radius: 0 !important;
}


/* === Facebook Share button (v1.4.0) === */
.tvak-wrap .tvak-btn--share{
  background: rgba(69,168,51,.80) !important;
}


/* === Compact vacancy card (v1.5.0) === */
/* Limit visible text so cards are not too tall */
.tvak-wrap .tvak-item__intro{
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Slightly tighter spacing */
.tvak-wrap .tvak-item{
  padding: 14px 16px 14px 16px;
}
.tvak-wrap .tvak-item__actions{
  margin-top: 14px !important;
}
