.xp-root {
  --xp-text: var(--bde-body-text-color, var(--wp--preset--color--foreground, currentColor));
  --xp-heading: var(--bde-headings-color, var(--xp-text));
  --xp-muted: color-mix(in srgb, var(--xp-text) 68%, transparent);
  --xp-border: color-mix(in srgb, var(--xp-text) 18%, transparent);
  --xp-bg: var(--bde-background-color, #fff);
  --xp-surface: color-mix(in srgb, var(--xp-bg) 88%, var(--xp-text));
  --xp-accent: var(
    --bde-brand-primary-color,
    var(--wp--preset--color--primary, #1b4d8c)
  );
  --xp-accent-hover: var(--bde-brand-primary-color-hover, var(--xp-accent));
  --xp-accent-ink: #fff;
  --xp-link: var(--bde-links-color, var(--xp-accent));
  --xp-danger: #9b1c2e;
  --xp-ok: #1f6b3a;
  --xp-radius: 3px;
  --xp-card-radius: var(--xp-input-radius, var(--xp-radius));
  --xp-accent-bar: var(--xp-accent);
  --xp-font: inherit;
  --xp-font-heading: inherit;
  color: var(--xp-text);
  font-family: var(--xp-font, inherit);
  font-size: var(--xp-font-size, inherit);
  line-height: var(--xp-line-height, 1.5);
  box-sizing: border-box;
}

.xp-root *,
.xp-root *::before,
.xp-root *::after {
  box-sizing: border-box;
}

.xp-root .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.xp-filter-wrap,
.xp-filter,
.xp-apply__form,
.xp-job-detail,
.xp-board__layout {
  width: 100%;
}

.xp-filter-sentinel {
  height: 1px;
  margin: 0;
  pointer-events: none;
}

.xp-filter-wrap {
  position: relative;
  z-index: 40;
  margin: 0 0 1.1rem;
}

.xp-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 0.75rem;
  align-items: flex-end;
  margin: 0;
  padding: 0.65rem 0.75rem;
  background: var(--xp-bg);
  border: 1px solid var(--xp-border);
  border-radius: var(--xp-card-radius, var(--xp-radius));
  box-shadow: 0 10px 28px color-mix(in srgb, var(--xp-text) 10%, transparent);
}

.xp-filter--stuck {
  box-shadow: 0 16px 40px color-mix(in srgb, var(--xp-text) 16%, transparent);
  background: var(--xp-bg);
}

.xp-filter-wrap--stuck {
  background: var(--xp-bg);
}

.xp-filter label {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.85rem;
  color: var(--xp-muted);
}

.xp-filter input,
.xp-filter input[type="text"],
.xp-filter input[type="search"] {
  min-height: var(--xp-input-min-height, 2.5rem);
  padding: var(--xp-input-padding, 0.4rem 0.7rem);
  border: var(--xp-input-border, 1px solid var(--xp-border));
  border-radius: var(--xp-input-radius, var(--xp-radius));
  background: var(--xp-input-bg, var(--xp-bg));
  color: var(--xp-input-color, inherit);
  font: inherit;
}

/* Icon as flex sibling (not absolute overlay) so theme padding can never cover the loupe. */
.xp-filter__search {
  position: relative;
  flex: 1 1 14rem;
  min-width: 12rem;
  display: flex;
  align-items: stretch;
  box-sizing: border-box;
  border: var(--xp-input-border, 1px solid var(--xp-border));
  border-radius: var(--xp-input-radius, var(--xp-radius));
  background: var(--xp-input-bg, var(--xp-bg));
  overflow: hidden;
}

.xp-filter__icon {
  position: static;
  transform: none;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  align-self: stretch;
  padding: 0 0.2rem 0 0.75rem;
  color: var(--xp-muted);
  pointer-events: none;
  z-index: auto;
}

.xp-filter__icon .xp-icon {
  width: 1.15rem;
  height: 1.15rem;
  display: block;
}

.xp-root .xp-filter__search input,
.xp-root .xp-filter__search input[type="search"],
.xp-root .xp-filter__search input[type="text"] {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding-left: 0.45rem !important;
  outline: none;
}

.xp-root .xp-filter__search input::-webkit-search-decoration,
.xp-root .xp-filter__search input::-webkit-search-cancel-button,
.xp-root .xp-filter__search input::-webkit-search-results-button,
.xp-root .xp-filter__search input::-webkit-search-results-decoration {
  -webkit-appearance: none;
}

.xp-filter__side {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: flex-end;
}

.xp-filter__compact {
  min-width: 5.5rem;
}

.xp-filter__compact input[name="postalCode"] {
  width: 6.5rem;
}

.xp-filter__compact input[name="searchRadius"] {
  width: 5.25rem;
}

@media (max-width: 640px) {
  .xp-filter {
    flex-direction: column;
    align-items: stretch;
  }

  .xp-filter__side {
    width: 100%;
  }

  .xp-filter__compact {
    flex: 1 1 auto;
  }

  .xp-filter__compact input[name="postalCode"],
  .xp-filter__compact input[name="searchRadius"] {
    width: 100%;
  }

  .xp-filter__side .xp-btn {
    flex: 1 1 auto;
  }
}

.xp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--xp-btn-min-height, 2.75rem);
  padding: var(--xp-btn-padding, 0.7rem 1.4rem);
  border: 1px solid var(--xp-border);
  border-radius: var(--xp-btn-radius, var(--xp-radius));
  background: var(--xp-bg);
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: var(--xp-btn-size, inherit);
  font-weight: var(--xp-btn-weight, 500);
  letter-spacing: var(--xp-btn-tracking, normal);
  text-transform: var(--xp-btn-transform, none);
  text-decoration: none;
  box-shadow: var(--xp-btn-shadow, none);
}

.xp-btn:hover,
.xp-btn:focus-visible {
  filter: brightness(0.97);
}

.xp-btn--primary {
  background: var(--xp-accent);
  border-color: var(--xp-accent);
  color: var(--xp-accent-ink);
}

.xp-btn--primary:hover,
.xp-btn--primary:focus-visible {
  background: var(--xp-accent-hover, var(--xp-accent));
  border-color: var(--xp-accent-hover, var(--xp-accent));
  filter: none;
}

.xp-root .xp-filter[hidden],
.xp-root .xp-status[hidden],
.xp-root .xp-board__layout[hidden],
.xp-root .xp-job-detail[hidden],
.xp-root .xp-pager[hidden] {
  display: none !important;
}

.xp-root--detail .xp-filter-sentinel,
.xp-root--detail .xp-filter-wrap,
.xp-root--detail .xp-filter,
.xp-root--detail .xp-status,
.xp-root--detail .xp-board__layout,
.xp-root--detail .xp-map-fab {
  display: none !important;
}

.xp-root--detail .xp-job-detail {
  display: block !important;
}

.xp-btn--ghost {
  background: var(--xp-btn-secondary-bg, transparent);
  color: var(--xp-btn-secondary-color, inherit);
  border-color: var(--xp-btn-secondary-border, var(--xp-border));
}

.xp-btn--back {
  gap: 0.4rem;
  margin: 0;
}

.xp-status {
  margin: 0 0 1rem;
  padding: 0.7rem 0.9rem;
  border-radius: var(--xp-card-radius, var(--xp-radius));
  border: 1px solid var(--xp-border);
}

.xp-status--ok {
  color: var(--xp-ok);
}

.xp-status--error {
  color: var(--xp-danger);
  border-color: #f0c4cb;
  background: #fdf2f4;
}

.xp-board__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(16rem, 0.9fr);
  gap: 1rem;
  min-height: 28rem;
}

.xp-board__layout--list-only {
  grid-template-columns: 1fr;
}

.xp-board__title {
  margin: 0 0 0.75rem;
  color: var(--xp-heading);
  font-family: var(--xp-font-heading, inherit);
  font-size: 1.25rem;
  font-weight: var(--xp-heading-weight, 600);
  letter-spacing: var(--xp-heading-tracking, normal);
  text-transform: var(--xp-heading-transform, none);
}

.xp-list {
  display: grid;
  gap: 0.75rem;
}

.xp-item {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 1rem 1.1rem 1.15rem 1.25rem;
  border: 1px solid var(--xp-border);
  border-radius: var(--xp-card-radius, var(--xp-radius));
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.xp-item__accent {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(
    180deg,
    var(--xp-accent-bar, var(--xp-accent)),
    color-mix(in srgb, var(--xp-accent-bar, var(--xp-accent)) 35%, #fff)
  );
}

.xp-no-accent-bar .xp-item__accent {
  display: none;
}

.xp-item--clickable {
  cursor: pointer;
}

.xp-item--clickable:hover,
.xp-item--clickable:focus-visible,
.xp-item--active,
.xp-item--candidate:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--xp-accent) 50%, var(--xp-border));
  box-shadow: 0 14px 32px color-mix(in srgb, var(--xp-accent) 16%, transparent);
}

.xp-item__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.xp-item__heading {
  min-width: 0;
  flex: 1;
}

.xp-item__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 2.6rem;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--xp-accent) 14%, var(--xp-bg));
  color: var(--xp-accent);
}

.xp-item__avatar .xp-icon {
  width: 1.35rem;
  height: 1.35rem;
  color: inherit;
}

.xp-root .xp-item__title,
.xp-root h2.xp-item__title,
.xp-root h3.xp-item__title {
  margin: 0 !important;
  color: var(--xp-heading);
  font-family: inherit;
  font-size: var(--xp-item-title, 0.8rem) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.xp-item__teaser {
  margin: 0.5rem 0 0 !important;
  color: var(--xp-muted);
  font-size: 0.9rem;
}

.xp-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.5rem 0 0;
}

.xp-root .xp-item--job > .xp-chips {
  margin: 0.45rem 0 0.85rem !important;
}

.xp-root .xp-item--job > .xp-item__teaser {
  margin-top: 0 !important;
}

.xp-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  max-width: 100%;
  padding: 0.22rem 0.7rem;
  border: 1px solid color-mix(in srgb, var(--xp-accent) 22%, var(--xp-border));
  border-radius: 999px;
  background: color-mix(in srgb, var(--xp-accent) 10%, var(--xp-bg));
  color: var(--xp-text);
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.35;
}

.xp-chip > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 18rem;
}

.xp-chip .xp-icon,
.xp-btn .xp-icon {
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
  color: var(--xp-accent);
}

.xp-chip--salary {
  background: color-mix(in srgb, var(--xp-ok) 12%, var(--xp-bg));
  border-color: color-mix(in srgb, var(--xp-ok) 28%, var(--xp-border));
}

.xp-chip--age,
.xp-chip--gender {
  background: color-mix(in srgb, var(--xp-text) 6%, var(--xp-bg));
}

.xp-facts {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  margin: 0.9rem 0 0;
}

.xp-fact {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  min-width: 0;
}

.xp-fact__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 2rem;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--xp-accent) 12%, var(--xp-bg));
  color: var(--xp-accent);
}

.xp-fact__icon .xp-icon {
  width: 1rem;
  height: 1rem;
  color: inherit;
}

.xp-fact__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

.xp-fact__label {
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--xp-muted);
  font-weight: 600;
}

.xp-fact__value {
  font-size: 0.9rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.xp-btn--back .xp-icon {
  color: currentColor;
}

.xp-item__meta,
.xp-job-detail__meta {
  color: var(--xp-muted);
  font-size: 0.9rem;
  margin: 0 0 0.4rem;
}

.xp-item p {
  margin: 0;
}

.xp-geo {
  color: var(--xp-accent);
  font-weight: 600;
}

.xp-root a:not(.xp-btn) {
  color: var(--xp-link, var(--xp-accent));
}

.xp-root .leaflet-control-attribution a {
  color: inherit;
}

.xp-map {
  min-height: 28rem;
  height: 100%;
  border: 1px solid var(--xp-border);
  border-radius: var(--xp-card-radius, var(--xp-radius));
  isolation: isolate;
  transform: translateZ(0);
  z-index: 0;
}

.xp-board__map-pane {
  position: relative;
  z-index: 0;
  isolation: isolate;
}

.xp-layout-split .xp-board__map-pane {
  position: sticky;
  top: var(--xp-map-sticky-top, var(--xp-sticky-top, 8px));
  align-self: start;
  max-height: calc(100dvh - var(--xp-map-sticky-top, 8px) - 16px);
}

.xp-layout-split .xp-map-dialog__card,
.xp-layout-split .xp-map {
  min-height: 22rem;
  height: min(64dvh, 34rem);
  max-height: inherit;
}

.xp-root .leaflet-container {
  z-index: 0 !important;
}

.xp-root .leaflet-pane {
  z-index: 1 !important;
}

.xp-root .leaflet-map-pane {
  z-index: 2 !important;
}

.xp-root .leaflet-overlay-pane {
  z-index: 3 !important;
}

.xp-root .leaflet-marker-pane {
  z-index: 4 !important;
}

.xp-root .leaflet-tooltip-pane {
  z-index: 5 !important;
}

.xp-root .leaflet-popup-pane {
  z-index: 6 !important;
}

.xp-root .leaflet-control-container .leaflet-top,
.xp-root .leaflet-control-container .leaflet-bottom {
  z-index: 7 !important;
}

.xp-root .leaflet-bar {
  border-color: var(--xp-border);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
}

.xp-root .leaflet-bar a {
  color: var(--xp-heading);
  background: var(--xp-bg);
  border-bottom-color: var(--xp-border);
  width: 2.1rem;
  height: 2.1rem;
  line-height: 2.1rem;
  font-size: 1.15rem;
}

.xp-root .leaflet-bar a:hover,
.xp-root .leaflet-bar a:focus {
  background: var(--xp-surface);
}

.xp-root .leaflet-control-attribution {
  background: color-mix(in srgb, var(--xp-bg) 88%, transparent);
  color: var(--xp-muted);
}

.xp-pager {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-top: 1rem;
}

.xp-job-detail {
  margin: 0;
}

.xp-job-detail__toolbar {
  display: flex;
  justify-content: flex-start;
  margin: 0 0 1rem;
}

.xp-root .xp-job-detail__title {
  margin: 0 0 0.5rem !important;
  color: var(--xp-heading);
  font-family: inherit;
  font-size: calc(var(--xp-item-title, 0.8rem) * 1.2) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.xp-root .xp-job-detail__head .xp-chips {
  margin: 0 0 0.75rem !important;
}

.xp-job-detail__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.75rem 0 1rem;
}

.xp-job-html {
  display: block;
  width: 100%;
  min-height: 12rem;
  height: auto;
  max-height: none;
  border: 0;
  border-radius: var(--xp-radius);
  background: #fff;
}

.xp-fallback-banner {
  margin-bottom: 1rem;
  padding: 0.6rem 0.8rem;
  background: var(--xp-surface);
  border-radius: 8px;
  color: var(--xp-muted);
}

.xp-fallback-section {
  margin: 0 0 1rem;
}

.xp-fallback-section h3 {
  margin: 0 0 0.4rem;
  font-size: 1rem;
}

.xp-apply {
  max-width: 44rem;
}

.xp-apply__card {
  overflow: hidden;
  background: var(--xp-bg, #fff);
  border: 1px solid var(--xp-border);
  border-radius: var(--xp-card-radius, var(--xp-radius));
  box-shadow: 0 12px 32px color-mix(in srgb, var(--xp-text) 10%, transparent);
}

.xp-apply__header {
  position: relative;
  padding: 1.35rem 1.35rem 1.2rem 1.5rem;
  background: color-mix(in srgb, var(--xp-accent) 8%, var(--xp-bg, #fff));
  border-bottom: 1px solid var(--xp-border);
}

.xp-apply__accent {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--xp-accent-bar, 4px);
  background: var(--xp-accent);
}

.xp-root.xp-apply .xp-apply__title {
  margin: 0 0 0.6rem;
  font-family: inherit;
}

.xp-apply__intro,
.xp-hint {
  color: var(--xp-muted);
  margin: 0 0 1rem;
}

.xp-apply__header .xp-apply__intro {
  margin: 0;
  max-width: 40rem;
}

.xp-apply__job-chip {
  display: inline-flex;
  margin: 0.75rem 0 0;
  padding: 0.28rem 0.75rem;
  border-radius: 999px;
  background: var(--xp-bg, #fff);
  border: 1px solid color-mix(in srgb, var(--xp-accent) 28%, var(--xp-border));
  color: var(--xp-text);
  font-size: 0.82rem;
  font-weight: 600;
}

.xp-apply__form {
  padding: 1.25rem 1.35rem 1.4rem;
}

.xp-apply__section {
  margin: 0 0 1.4rem;
  padding: 0;
  border: 0;
}

.xp-root.xp-apply .xp-apply__section-title {
  margin: 0 0 0.75rem;
  font-family: inherit;
}

.xp-apply__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.85rem 1rem !important;
}

.xp-root.xp-apply .xp-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
  min-width: 0;
  margin: 0 !important;
}

.xp-root.xp-apply .xp-field--wide {
  grid-column: 1 / -1;
}

.xp-root.xp-apply .xp-field__label {
  display: block !important;
  margin: 0 !important;
  color: var(--xp-muted);
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

.xp-root.xp-apply .xp-input,
.xp-root.xp-apply input.xp-input {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: var(--xp-input-min-height, 2.75rem) !important;
  margin: 0 !important;
  padding: var(--xp-input-padding, 0.55rem 0.8rem) !important;
  border: var(--xp-input-border, 1px solid var(--xp-border)) !important;
  border-radius: var(--xp-input-radius, var(--xp-card-radius, var(--xp-radius))) !important;
  background: var(--xp-input-bg, var(--xp-bg, #fff)) !important;
  color: var(--xp-input-color, var(--xp-text)) !important;
  font: inherit !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
}

.xp-root.xp-apply .xp-input:focus {
  outline: 2px solid color-mix(in srgb, var(--xp-accent) 45%, transparent);
  outline-offset: 1px;
}

.xp-file-drop {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 7rem;
  padding: 1.1rem 1rem;
  border: 1.5px dashed color-mix(in srgb, var(--xp-accent) 35%, var(--xp-border));
  border-radius: var(--xp-card-radius, var(--xp-radius));
  background: color-mix(in srgb, var(--xp-accent) 5%, var(--xp-bg, #fff));
  cursor: pointer;
}

.xp-file-drop:hover,
.xp-file-drop.is-drag {
  border-color: var(--xp-accent);
  background: color-mix(in srgb, var(--xp-accent) 10%, var(--xp-bg, #fff));
}

.xp-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
}

.xp-file-drop__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.4rem;
  padding: 0.45rem 1rem;
  border-radius: var(--xp-btn-radius, var(--xp-radius));
  background: var(--xp-accent);
  color: var(--xp-accent-ink, #fff);
  font-size: 0.9rem;
  font-weight: 600;
}

.xp-file-drop__meta {
  color: var(--xp-muted);
  font-size: 0.8rem;
}

.xp-file-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  list-style: none;
  margin: 0.75rem 0 0;
  padding: 0;
}

.xp-file-list li {
  max-width: 100%;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--xp-accent) 10%, var(--xp-bg, #fff));
  border: 1px solid color-mix(in srgb, var(--xp-accent) 22%, var(--xp-border));
  font-size: 0.8rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.xp-apply__privacy {
  margin: 0 0 1.1rem;
}

.xp-apply__actions {
  display: flex;
  justify-content: center;
  margin-top: 0.25rem;
}

.xp-root.xp-apply .xp-apply__actions .xp-btn--primary {
  min-width: 12rem;
  color: var(--xp-accent-ink, #fff) !important;
  font-size: 0.98rem !important;
  font-weight: 600 !important;
}

@media (max-width: 720px) {
  .xp-apply__grid {
    grid-template-columns: 1fr !important;
  }

  .xp-apply__header,
  .xp-apply__form {
    padding-left: 1.1rem;
    padding-right: 1.1rem;
  }
}

.xp-job-detail--html .xp-job-detail__head {
  display: none !important;
}

.xp-job-detail--html .xp-job-html {
  border: 0;
  border-radius: var(--xp-radius);
}

.xp-board__list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0 0 0.75rem;
}

.xp-board__list-head .xp-board__title {
  margin: 0;
}

.xp-map-fab {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-width: 3.15rem;
  height: 3.15rem;
  padding: 0 1rem 0 0.85rem;
  border: 0;
  border-radius: 999px;
  background: var(--xp-accent);
  color: var(--xp-accent-ink);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--xp-accent) 42%, transparent);
  cursor: pointer;
  transform: translateY(0) scale(1);
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, filter 0.18s ease;
}

.xp-map-fab:hover,
.xp-map-fab:focus-visible {
  background: var(--xp-accent-hover, var(--xp-accent));
  box-shadow: 0 16px 36px color-mix(in srgb, var(--xp-accent) 55%, transparent);
  transform: translateY(-3px) scale(1.04);
  filter: brightness(1.06);
}

.xp-map-fab:active {
  transform: translateY(-1px) scale(1.01);
  box-shadow: 0 10px 22px color-mix(in srgb, var(--xp-accent) 40%, transparent);
}

.xp-map-fab .xp-icon {
  width: 1.4rem;
  height: 1.4rem;
  color: inherit;
}

.xp-map-fab__label {
  font-weight: 650;
  font-size: 0.92rem;
}

.xp-map-fab:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
  filter: none;
}

.xp-layout-map-dialog .xp-map-fab,
.xp-layout-tiles .xp-map-fab {
  position: fixed;
  top: var(--xp-fab-top, auto);
  right: var(--xp-fab-right, 24px);
  bottom: var(--xp-fab-bottom, 24px);
  left: var(--xp-fab-left, auto);
  z-index: 40;
  display: inline-flex;
}

.xp-map-open .xp-map-fab {
  visibility: hidden;
}

.xp-btn--icon {
  width: 2.5rem;
  min-height: 2.5rem;
  padding: 0;
}

.xp-layout-list .xp-board__layout,
.xp-layout-map-dialog .xp-board__layout,
.xp-layout-tiles .xp-board__layout,
.xp-layout-map-top .xp-board__layout {
  grid-template-columns: 1fr;
  min-height: 0;
}

.xp-layout-map-top .xp-board__map-pane {
  order: -1;
}

.xp-layout-split .xp-map-dialog__head,
.xp-layout-map-top .xp-map-dialog__head,
.xp-layout-list .xp-board__map-pane {
  display: none;
}

.xp-map-dialog__card {
  display: flex;
  flex-direction: column;
  min-height: 28rem;
  height: 100%;
  background: var(--xp-bg);
  border: 1px solid var(--xp-border);
  border-radius: var(--xp-card-radius, var(--xp-radius));
}

.xp-map-dialog__head {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.7rem 0.9rem;
  border-bottom: 1px solid var(--xp-border);
}

.xp-layout-map-dialog.xp-map-open .xp-board__map-pane,
.xp-layout-tiles.xp-map-open .xp-board__map-pane {
  position: fixed;
  inset: 0;
  z-index: 100050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: color-mix(in srgb, #0b1215 45%, transparent);
}

.xp-layout-map-dialog:not(.xp-map-open) .xp-board__map-pane,
.xp-layout-tiles:not(.xp-map-open) .xp-board__map-pane {
  display: none;
}

.xp-layout-map-dialog.xp-map-open .xp-map-dialog__card,
.xp-layout-tiles.xp-map-open .xp-map-dialog__card {
  width: min(960px, 100%);
  height: min(80vh, 640px);
  min-height: 0;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
}

.xp-layout-map-dialog.xp-map-open .xp-map-dialog__head,
.xp-layout-tiles.xp-map-open .xp-map-dialog__head {
  display: flex;
}

.xp-layout-map-dialog.xp-map-open .xp-map,
.xp-layout-tiles.xp-map-open .xp-map {
  flex: 1;
  min-height: 0;
  border: 0;
  border-radius: 0;
}

.xp-layout-tiles .xp-list {
  grid-template-columns: repeat(auto-fill, minmax(16.5rem, 1fr));
}

.xp-layout-tiles .xp-item {
  min-height: 11rem;
  display: flex;
  flex-direction: column;
  padding: 1rem 1.05rem 1.1rem;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--xp-text) 8%, transparent);
}

.xp-item__header {
  cursor: pointer;
}

.xp-item__chevron {
  display: none;
  align-items: center;
  justify-content: center;
  flex: 0 0 1.5rem;
  color: var(--xp-muted);
  transition: transform 0.18s ease;
}

.xp-item__chevron .xp-icon {
  width: 1.35rem;
  height: 1.35rem;
}

.xp-item--open .xp-item__chevron {
  transform: rotate(180deg);
}

.xp-item--candidate {
  display: flex;
  flex-direction: column;
}

.xp-item__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  gap: 0.5rem;
  margin: 0.9rem 0 0;
}

.xp-root a.xp-btn--inquire {
  gap: 0.45rem;
  color: var(--xp-accent-ink, #fff) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.xp-root a.xp-btn--inquire span {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1.2 !important;
  overflow: visible;
  max-width: none;
  white-space: nowrap;
}

.xp-btn--inquire .xp-icon {
  color: inherit !important;
}

.xp-layout-split .xp-item--candidate .xp-item__details,
.xp-layout-list .xp-item--candidate .xp-item__details,
.xp-layout-map-dialog .xp-item--candidate .xp-item__details,
.xp-layout-map-top .xp-item--candidate .xp-item__details {
  display: none;
}

.xp-layout-split .xp-item--candidate:not(.xp-item--open) .xp-item__actions,
.xp-layout-list .xp-item--candidate:not(.xp-item--open) .xp-item__actions,
.xp-layout-map-dialog .xp-item--candidate:not(.xp-item--open) .xp-item__actions,
.xp-layout-map-top .xp-item--candidate:not(.xp-item--open) .xp-item__actions {
  display: none;
}

.xp-layout-split .xp-item--candidate.xp-item--open .xp-item__details,
.xp-layout-list .xp-item--candidate.xp-item--open .xp-item__details,
.xp-layout-map-dialog .xp-item--candidate.xp-item--open .xp-item__details,
.xp-layout-map-top .xp-item--candidate.xp-item--open .xp-item__details {
  display: block;
}

.xp-layout-split .xp-item--candidate:not(.xp-item--open) .xp-chip--age,
.xp-layout-split .xp-item--candidate:not(.xp-item--open) .xp-chip--gender,
.xp-layout-list .xp-item--candidate:not(.xp-item--open) .xp-chip--age,
.xp-layout-list .xp-item--candidate:not(.xp-item--open) .xp-chip--gender,
.xp-layout-map-dialog .xp-item--candidate:not(.xp-item--open) .xp-chip--age,
.xp-layout-map-dialog .xp-item--candidate:not(.xp-item--open) .xp-chip--gender,
.xp-layout-map-top .xp-item--candidate:not(.xp-item--open) .xp-chip--age,
.xp-layout-map-top .xp-item--candidate:not(.xp-item--open) .xp-chip--gender {
  display: none;
}

.xp-layout-split .xp-item__chevron,
.xp-layout-list .xp-item__chevron,
.xp-layout-map-dialog .xp-item__chevron,
.xp-layout-map-top .xp-item__chevron {
  display: inline-flex;
}

.xp-layout-tiles .xp-item__header {
  cursor: default;
}

.xp-layout-tiles .xp-item__actions {
  margin-top: auto;
  padding-top: 0.9rem;
}

.xp-layout-split .xp-item--candidate.xp-item--open .xp-item__actions,
.xp-layout-list .xp-item--candidate.xp-item--open .xp-item__actions,
.xp-layout-map-dialog .xp-item--candidate.xp-item--open .xp-item__actions,
.xp-layout-map-top .xp-item--candidate.xp-item--open .xp-item__actions {
  margin-top: auto;
  padding-top: 0.9rem;
}

.xp-title-sm {
  --xp-item-title: 0.8rem;
}

.xp-title-md {
  --xp-item-title: 1.05rem;
}

.xp-title-lg {
  --xp-item-title: 1.35rem;
}

.xp-chips-accent .xp-chip {
  background: var(--xp-accent);
  border-color: var(--xp-accent);
  color: var(--xp-accent-ink);
}

.xp-chips-accent .xp-chip .xp-icon {
  color: inherit;
}

.xp-chips-outline .xp-chip {
  background: transparent;
  border-color: var(--xp-accent);
  color: var(--xp-accent);
}

.xp-chips-outline .xp-chip .xp-icon {
  color: var(--xp-accent);
}

.xp-has-chip-location .xp-chip--location,
.xp-has-chip-salary .xp-chip--salary,
.xp-has-chip-age .xp-chip--age,
.xp-has-chip-gender .xp-chip--gender {
  color: #fff !important;
}

.xp-has-chip-location .xp-chip--location .xp-icon,
.xp-has-chip-salary .xp-chip--salary .xp-icon,
.xp-has-chip-age .xp-chip--age .xp-icon,
.xp-has-chip-gender .xp-chip--gender .xp-icon {
  color: inherit !important;
}

.xp-has-chip-location .xp-chip--location {
  background: var(--xp-chip-location) !important;
  border-color: var(--xp-chip-location) !important;
}

.xp-has-chip-salary .xp-chip--salary {
  background: var(--xp-chip-salary) !important;
  border-color: var(--xp-chip-salary) !important;
}

.xp-has-chip-age .xp-chip--age {
  background: var(--xp-chip-age) !important;
  border-color: var(--xp-chip-age) !important;
}

.xp-has-chip-gender .xp-chip--gender {
  background: var(--xp-chip-gender) !important;
  border-color: var(--xp-chip-gender) !important;
}

.xp-pin-wrap {
  background: none !important;
  border: 0 !important;
}

.xp-pin {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 44px;
  height: 54px;
  color: var(--xp-accent);
}

.xp-pin__pulse {
  position: absolute;
  top: 14px;
  left: 50%;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.28;
  transform: translate(-50%, -50%);
  animation: xp-pin-pulse 1.8s ease-out infinite;
}

.xp-pin__mark {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-top: 2px;
  border: 3px solid #fff;
  border-radius: 50% 50% 50% 0;
  background: currentColor;
  transform: rotate(-45deg);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.35);
}

.xp-pin__mark .xp-icon {
  width: 16px;
  height: 16px;
  color: #fff;
  transform: rotate(45deg);
}

@keyframes xp-pin-pulse {
  0% {
    transform: translate(-50%, -50%) scale(0.7);
    opacity: 0.45;
  }
  70% {
    transform: translate(-50%, -50%) scale(2);
    opacity: 0;
  }
  100% {
    transform: translate(-50%, -50%) scale(2);
    opacity: 0;
  }
}

@media (max-width: 900px) {
  .xp-board__layout,
  .xp-layout-split .xp-board__layout {
    grid-template-columns: 1fr;
  }

  .xp-layout-split .xp-board__map-pane {
    position: relative;
    top: auto;
    max-height: none;
  }

  .xp-layout-split .xp-map-dialog__card,
  .xp-layout-split .xp-map {
    height: 18rem;
    min-height: 18rem;
  }

  .xp-map {
    min-height: 18rem;
  }

  .xp-layout-tiles .xp-list {
    grid-template-columns: 1fr;
  }

  .xp-chip > span {
    max-width: 12rem;
  }
}
