/* ATS widget CSS variable overrides */
:root {
  --ubFontFamily: Calibri, Arial, sans-serif;
  --ubTitleFontFamily: FFDINStdMedium, Arial, sans-serif;
  --ubTitleFontWeight: 300;
  --ubMainContainerPaddingMobile: 0;
  --ubHeaderColor: #333;
  /* --ubMainFontSize: 17px;
  --ubTitleFontSize: 1.5rem;
  --ubH1FontSize: 1.5rem;
  --ubH2FontSize: 1.15rem;
  --ubH3FontSize: 0.95rem;
  --ubH4FontSize: 1rem;
  --ubButtonFontSize: 0.9rem;
  --ubPrimaryColor: #2563eb;
  --ubButtonBackground: #2563eb;
  --ubButtonBackgroundHover: #1d4ed8;
  --ubLinkColor: #2563eb;
  --ubLinkColorHover: #1d4ed8;
  --ubInputBorderColor: #e5e7eb;
  --ubInputBorderRadius: 8px;
  --ubButtonBorderRadius: 8px;
  --ubGray: #6b7280;
  --ubLabelColor: #374151;
  --ubPlaceholderColor: #9ca3af;
  --ubNoteColor: #6b7280;
  --ubGreen: #16a34a;
  --ubMenuItemTextColorActive: #2563eb;
  --ubMenuItemTextColorHover: #2563eb; */
}

/* ATS widget normalization */
#ub-apply-form,
#ub-candidate-portal,
#ub-event-form {
  /* font-size: 17px; */
}

#ub-apply-form .ub-form-title,
#ub-apply-form .ub-form-content-title,
#ub-apply-form .ub-section-title,
#ub-candidate-portal .ub-form-title,
#ub-candidate-portal .ub-form-content-title,
#ub-candidate-portal .ub-section-title,
#ub-event-form .ub-form-title,
#ub-event-form .ub-form-content-title,
#ub-event-form .ub-section-title {
  /* font-size: 1.15rem; */
}

#ub-apply-form label.ub-input-label,
#ub-candidate-portal label.ub-input-label,
#ub-event-form label.ub-input-label,
#ub-apply-form .ub-input-checkbox-label,
#ub-candidate-portal .ub-input-checkbox-label,
#ub-event-form .ub-input-checkbox-label {
  /* font-size: 0.9rem; */
}

#ub-apply-form .ub-question-field input:not([type='checkbox']),
#ub-apply-form .ub-question-field select,
#ub-apply-form .ub-question-field button.ub-multiselect,
#ub-candidate-portal .ub-question-field input:not([type='checkbox']),
#ub-candidate-portal .ub-question-field select,
#ub-candidate-portal .ub-question-field button.ub-multiselect,
#ub-event-form .ub-question-field input:not([type='checkbox']),
#ub-event-form .ub-question-field select,
#ub-event-form .ub-question-field button.ub-multiselect {
  /* font-size: 0.9rem; */
}

#ub-apply-form .ub-question-field .ub-multiselect-options .ub-multiselect-option,
#ub-candidate-portal .ub-question-field .ub-multiselect-options .ub-multiselect-option,
#ub-event-form .ub-question-field .ub-multiselect-options .ub-multiselect-option {
  /* font-size: 0.9rem; */
}

#ub-apply-form .ub-field-status,
#ub-apply-form .ub-form-note,
#ub-candidate-portal .ub-field-status,
#ub-candidate-portal .ub-form-note,
#ub-event-form .ub-field-status,
#ub-event-form .ub-form-note {
  /* font-size: 0.85rem; */
}

#ub-apply-form .ub-form-details .ub-section-list .ub-list-item,
#ub-candidate-portal .ub-form-details .ub-section-list .ub-list-item,
#ub-event-form .ub-form-details .ub-section-list .ub-list-item {
  /* font-size: 0.9rem; */
}

#ub-apply-form .ub-form-content .ub-section-counter,
#ub-candidate-portal .ub-form-content .ub-section-counter,
#ub-event-form .ub-form-content .ub-section-counter {
  /* font-size: 0.85rem; */
}

#ub-apply-form .ub-input-text-area,
#ub-candidate-portal .ub-input-text-area,
#ub-event-form .ub-input-text-area {
  /* font-size: 0.9rem; */
}

#ub-apply-form .ub-input-file span,
#ub-apply-form .ub-input-multifile span,
#ub-candidate-portal .ub-input-file span,
#ub-candidate-portal .ub-input-multifile span,
#ub-event-form .ub-input-file span,
#ub-event-form .ub-input-multifile span {
  /* font-size: 0.9rem; */
}

#ub-apply-form .ub-dropdown .ub-dropdown-combobox,
#ub-apply-form .ub-dropdown .ub-dropdown-listbox .ub-dropdown-option,
#ub-apply-form .ub-country-dropdown,
#ub-candidate-portal .ub-dropdown .ub-dropdown-combobox,
#ub-candidate-portal .ub-dropdown .ub-dropdown-listbox .ub-dropdown-option,
#ub-candidate-portal .ub-country-dropdown,
#ub-event-form .ub-dropdown .ub-dropdown-combobox,
#ub-event-form .ub-dropdown .ub-dropdown-listbox .ub-dropdown-option,
#ub-event-form .ub-country-dropdown {
  /* font-size: 0.9rem; */
}

#ub-apply-form .ub-form-details .ub-list-item,
#ub-candidate-portal .ub-form-details .ub-list-item,
#ub-event-form .ub-form-details .ub-list-item {
  text-align: left;
}

/* ── Vacatures view layout (scoped to .ubeeo-vacatures) ── */

.ubeeo-vacatures *,
.ubeeo-vacatures *::before,
.ubeeo-vacatures *::after {
  box-sizing: border-box;
}

.ubeeo-vacatures .hidden {
  display: none !important;
}

.ubeeo-tabs {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #e5e7eb;
}

.ubeeo-tabs a {
  padding: 0.5rem 1rem;
  color: #6b7280;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

.ubeeo-tabs a:hover {
  color: #374151;
}

.ubeeo-tabs a:focus {
  color: #0070a3;
  border-bottom: 2px solid #0070a3 !important;
}

.ubeeo-tabs a.active {
  color: #0070a3;
  border-bottom-color: #0070a3 !important;
}

.ubeeo-layout {
  display: flex;
  gap: 1.5rem;
}

.ubeeo-vacatures .aside-list {
  flex: 1 1 0;
  min-width: 0;
  position: sticky;
  top: 1rem;
  align-self: flex-start;
}

.ubeeo-vacatures .aside-list-inner {
  background: #fff;
  /* border-radius: 8px; */
  /* padding: 1.25rem; */
  /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); */
  max-height: calc(100vh - 6rem);
  overflow-y: auto;
}

.ubeeo-vacatures .aside-list-inner h2 {
  margin: 0 0 1rem;
  font-size: 1.15rem;
}

.ubeeo-vacatures .main-content {
  flex: 2 1 0;
  min-width: 0;
  background: #fff;
  /* border-radius: 8px; */
  /* padding: 1.5rem; */
  /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); */
}

.ubeeo-vacatures .aside-placeholder {
  color: #666;
  /* font-size: 0.9rem; */
  text-align: center;
  padding: 4rem 2rem;
}

.ubeeo-vacatures .pane {
  display: none;
}

.ubeeo-vacatures .pane.active {
  display: block;
}

.ubeeo-vacatures.portal-view .aside-list {
  display: none;
}

/* Vacancy list */
.ubeeo-vacatures .vacancy-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ubeeo-vacatures .vacancy-item {
  border-bottom: 1px solid #e5e7eb;
}

.ubeeo-vacatures .vacancy-item:first-child {
  border-top: 1px solid #e5e7eb;
}

.ubeeo-vacatures .vacancy-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 0.25rem;
  /* color: inherit; */
  text-decoration: none;
  /* font-size: 0.95rem; */
  transition: color 0.15s;
  border-bottom: 0 !important;
}

.ubeeo-vacatures .vacancy-link:hover {
  /* color: #2563eb; */
}

.ubeeo-vacatures .vacancy-item.selected .vacancy-link {
  /* color: #2563eb; */
  font-weight: 600;
}

.ubeeo-vacatures .vacancy-chevron {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  color: #2563eb;
  transition: transform 0.15s;
}

.ubeeo-vacatures .vacancy-item.selected .vacancy-chevron {
  transform: translateX(2px);
}

.ubeeo-vacatures .vacancy-title {
  flex: 1;
  min-width: 0;
}

/* Vacancy detail */
.ubeeo-vacatures .vacancy-detail {
  margin-bottom: 1.5rem;
}

.ubeeo-vacatures .vacancy-detail-heading {
  background: #d4f3ff;
  /* border: 1px solid #e5e7eb; */
  /* border-radius: 8px; */
  padding: 1.25rem;
}

.ubeeo-vacatures .vacancy-detail-heading h2 {
  margin: 0 0 0.75rem;
  padding-top: 0;
  /* font-size: 1.15rem; */
}

.ubeeo-vacatures .vacancy-detail-heading .detail-meta {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0;
}

.ubeeo-vacatures .vacancy-detail-heading .detail-meta-row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  /* font-size: 0.9rem; */
  color: #0070a3;
}

.ubeeo-vacatures .vacancy-detail-heading .detail-icon {
  width: 0.9rem;
  height: 0.9rem;
  flex-shrink: 0;
  margin-top: 0.5em;
  color: #0070a3;
}

.ubeeo-vacatures .vacancy-detail-heading .detail-other {
  display: none;
  /* padding-top: 0.75rem; */
  /* border-top: 1px solid #e5e7eb; */
}

.ubeeo-vacatures .vacancy-detail-heading .detail-row {
  margin: 0.2rem 0;
}

.ubeeo-vacatures .vacancy-detail-heading .detail-row:last-child {
  margin-bottom: 0;
}

.ubeeo-vacatures .vacancy-detail .detail-row {
  /* font-size: 0.9rem; */
  color: #0070a3;
  margin: 0.25rem 0;
}

.ubeeo-vacatures .vacancy-detail .detail-label {
  font-weight: 600;
  color: #0070a3;
}

.ubeeo-vacatures .vacancy-detail .content-block {
  margin: 1rem 0;
}

.ubeeo-vacatures .vacancy-detail .content-block h3 {
  /* font-size: 0.95rem; */
  margin: 0 0 0.35rem;
}

.ubeeo-vacatures .vacancy-detail .content-block p,
.ubeeo-vacatures .vacancy-detail .content-block ul {
  margin: 0;
  /* font-size: 0.9rem; */
  /* line-height: 1.5; */
}

.ubeeo-vacatures .vacancy-detail .content-block p {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.ubeeo-vacatures .vacancy-detail .content-block p:first-child {
  margin-top: 0;
}

.ubeeo-vacatures .vacancy-detail .content-block ul {
  padding-left: 1.25rem;
  list-style: disc;
  list-style-position: outside;
}

.ubeeo-vacatures .vacancy-detail .content-block li {
  text-align: left;
}

/* Status messages */
.ubeeo-vacatures .loading,
.ubeeo-vacatures .error {
  padding: 2rem;
  text-align: center;
  color: #666;
}

.ubeeo-vacatures .error {
  color: #b91c1c;
}

#portal-container {
  min-height: 300px;
}

/* ── Back button (mobile only) ── */
.ubeeo-back {
  display: none !important;
  align-items: center;
  gap: 0.35rem;
  background: none;
  border: none;
  padding: 0 0 1rem;
  margin: 0 0 1rem 0 !important;
  cursor: pointer;
  color: #0070a3;
  font-size: 0.9rem;
  font-family: inherit;
}

.ubeeo-back:hover {
  color: #005a82;
}

/* ── Responsive layout ── */
@media (max-width: 767px) {
  .ubeeo-layout {
    flex-direction: column;
    gap: 0;
  }

  .ubeeo-vacatures .aside-list {
    width: 100%;
    position: static;
  }

  .ubeeo-vacatures .aside-list-inner {
    max-height: none;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    background: transparent;
  }

  .ubeeo-vacatures .main-content {
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    background: transparent;
  }

  /* Default mobile state: list visible, detail hidden */
  .ubeeo-vacatures .main-content {
    display: none;
  }

  /* Mobile detail state: detail visible, list hidden, back button shown */
  .ubeeo-vacatures.showing-detail .aside-list {
    display: none;
  }

  .ubeeo-vacatures.showing-detail .main-content {
    display: block;
  }

  .ubeeo-vacatures.showing-detail .ubeeo-back {
    display: inline-flex !important;
  }
}
