:root {
  /* Can be overridden in theme/Elementor custom CSS */
  --geiger-jobs-accent: #1f4f4a;
  --geiger-jobs-apply-bg: #007758;
  /* Pfeil-Farbe bei Listen in Job-Beschreibung (überschreibbar im Theme) */
  --geiger-job-list-arrow-color: #0d6f66;
  --geiger-jobs-main-bg: #E6F1EE;
  --geiger-jobs-date-bg: #d9d9d9;
  --geiger-jobs-location-bg: #cfcfcf;
  --geiger-jobs-border: #e6e6e6;
  --geiger-jobs-radius: 2px;
  --geiger-jobs-row-min-height: 78px;
}

.geiger-jobs {
  font-family: inherit;
  overflow-wrap: break-word;
  word-wrap: break-word;
  box-sizing: border-box;
}

.geiger-jobs-row {
  display: grid;
  grid-template-columns: 220px 1fr 240px;
  gap: 0;
  margin: 0 0 10px 0;
}

.geiger-jobs-date,
.geiger-jobs-location {
  padding: 18px 16px;
  line-height: 1.2;
  border-radius: var(--geiger-jobs-radius);
  min-height: var(--geiger-jobs-row-min-height);
  display: flex;
  align-items: center;
}

.geiger-jobs-date {
  background: var(--geiger-jobs-date-bg);
  color: #111;
  font-weight: 600;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.geiger-jobs-main {
  appearance: none;
  border: 0;
  border-radius: 0;
  padding: 18px 16px;
  background: var(--geiger-jobs-main-bg);
  color: #0f2a27;
  text-align: left;
  cursor: pointer;
  width: 100%;
  font: inherit;
  line-height: 1.2;
  min-height: var(--geiger-jobs-row-min-height);
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal !important;
}

.geiger-jobs-main:hover,
.geiger-jobs-main[aria-expanded="true"] {
  background: var(--geiger-jobs-accent);
  color: #fff;
}

.geiger-jobs-main:focus:not(:hover):not([aria-expanded="true"]),
.geiger-jobs-main:active:not(:hover):not([aria-expanded="true"]) {
  /* Prevent theme focus/active styles (often red) when collapsed */
  background: var(--geiger-jobs-main-bg);
  color: #0f2a27;
  box-shadow: none;
}

.geiger-jobs-main:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.35);
  outline-offset: 2px;
}

.geiger-jobs-title {
  font-weight: 700;
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: auto;
  white-space: normal !important;
}

.geiger-jobs-subtitle {
  margin-top: 6px;
  font-weight: 500;
  opacity: 0.95;
  min-height: 1.2em;
  overflow-wrap: break-word;
  word-wrap: break-word;
  white-space: normal !important;
}

.geiger-jobs-location {
  background: var(--geiger-jobs-location-bg);
  color: #222;
  font-weight: 600;
  text-align: left;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.geiger-jobs-details {
  /* Only under the middle (main) column */
  grid-column: 2 / 3;
  grid-row: 2;
  border: 1px solid var(--geiger-jobs-border);
  border-top: 0;
  padding: 18px 16px;
  border-radius: var(--geiger-jobs-radius);
  background: #fff;
}

.geiger-jobs-details-content p:first-child {
  margin-top: 0;
}
.geiger-jobs-details-content p:last-child {
  margin-bottom: 0;
}

/* Listen mit Pfeilen (normale ul/li aus dem Editor) */
.geiger-jobs-details-content ul {
  list-style: none;
  padding-left: 0;
  margin: 10px 0 0;
}

.geiger-jobs-details-content ul li {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
  align-items: flex-start;
}

.geiger-jobs-details-content ul li::before {
  content: "→";
  color: var(--geiger-job-list-arrow-color);
  flex-shrink: 0;
  font-weight: 600;
  line-height: inherit;
}

.geiger-jobs-details-content ul li:last-child {
  margin-bottom: 0;
}

.geiger-jobs-details-content ul li > p {
  margin: 0;
  flex: 1;
  min-width: 0;
}

.geiger-jobs-details-content ul ul {
  margin-top: 8px;
  margin-bottom: 0;
  width: 100%;
}

.geiger-jobs-apply-wrap {
  margin-top: 14px;
}

.geiger-jobs-apply {
  display: inline-block;
  padding: 10px 14px;
  background: var(--geiger-jobs-apply-bg);
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 3px;
  font-weight: 700;
  line-height: 1.2;
}

.geiger-jobs-apply:hover {
  filter: brightness(1.05);
  color: #fff !important;
  text-decoration: none !important;
}

.geiger-jobs-apply:focus,
.geiger-jobs-apply:active,
.geiger-jobs-apply:visited {
  color: #fff !important;
  text-decoration: none !important;
}

/* Responsive: stack columns */
@media (max-width: 820px) {
  .geiger-jobs,
  .geiger-jobs *,
  .geiger-jobs *::before,
  .geiger-jobs *::after {
    box-sizing: border-box;
  }

  .geiger-jobs {
    max-width: 100vw;
    overflow: hidden;
    padding: 0;
  }

  .geiger-jobs-row {
    grid-template-columns: 1fr;
    max-width: 100%;
    width: 100%;
  }

  .geiger-jobs-date,
  .geiger-jobs-main,
  .geiger-jobs-location {
    border-radius: var(--geiger-jobs-radius);
    min-height: auto;
    padding: 10px 12px;
    font-size: clamp(12px, 3.5vw, 15px);
    width: 100%;
    max-width: 100%;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  .geiger-jobs-title {
    font-size: clamp(13px, 3.8vw, 16px);
  }

  .geiger-jobs-subtitle {
    font-size: clamp(12px, 3.2vw, 14px);
  }

  .geiger-jobs-location {
    text-align: left;
  }

  .geiger-jobs-details {
    grid-column: 1 / -1;
    grid-row: auto;
    border-top: 1px solid var(--geiger-jobs-border);
    padding: 12px;
    word-break: break-word;
    overflow-wrap: anywhere;
    max-width: 100%;
  }
}

