/* Mobile B journey (jobs list, detail, bewerbung) — scoped overrides, desktop grid preserved. */

.job-row-hit,
.job-row-place,
.job-row-facts,
.job-row-chevron { display: none; }
.job-row-desktop { display: contents; }

.hero-utility-lead--mobile { display: none; }

.bw-lead-mobile { display: none; }

/* Job detail — editorial polish (all viewports; list/status rules above unchanged) */
body.cta-job-detail .job-detail-tags { display: none; }
body.cta-job-detail .detail-block-highlight {
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
  margin-left: 0;
  margin-right: 0;
}
body.cta-job-detail .detail-block-highlight .detail-list li {
  border-top-color: var(--color-hairline);
}
body.cta-job-detail .detail-block-highlight .detail-list li:last-child {
  border-bottom-color: var(--color-hairline);
}

@media (max-width: 720px) {
  .hero-utility-lead--desktop { display: none; }
  .hero-utility-lead--mobile { display: block; }

  body.jobs-index .hero-utility { padding-bottom: 8px; }
  body.jobs-index .hero-utility .breadcrumb { margin-bottom: 10px; }
  body.jobs-index .hero-utility-title {
    font-size: var(--page-hero-title-mobile, clamp(36px, 10.25vw, 48px));
    line-height: 1.08;
    margin-bottom: 6px;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
    text-wrap: pretty;
  }
  body.jobs-index .hero-utility-lead--mobile { font-size: 14px; line-height: 1.4; margin: 0; }
  body.jobs-index .hero-utility-counter,
  body.jobs-index .filter-tags { display: none; }

  body.filter-inline-ready .job-filter {
    display: block;
    position: sticky;
    top: 60px;
    z-index: 45;
    padding: 8px 0 10px;
    border-bottom: 1px solid var(--color-hairline);
  }
  body.filter-inline-ready .filter-bar {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    align-items: end;
  }
  body.filter-inline-ready .filter-field label {
    font-size: 10px;
    margin-bottom: 0;
    letter-spacing: 0.06em;
  }
  body.filter-inline-ready .filter-field { gap: 4px; }
  body.filter-inline-ready .filter-bar input,
  body.filter-inline-ready .filter-bar select {
    height: var(--btn-min-height, 48px);
    font-size: 16px;
  }
  body.filter-inline-ready .filter-search { grid-column: 1 / -1; }
  body.filter-inline-ready .filter-more-btn,
  body.filter-inline-ready .filter-submit {
    grid-column: span 1;
    min-height: var(--btn-min-height, 48px);
    height: var(--btn-min-height, 48px);
    position: static;
    transform: none;
    left: auto;
    bottom: auto;
    z-index: auto;
    box-shadow: none;
    border-radius: var(--btn-radius, 999px);
  }
  body.filter-inline-ready .filter-more-btn { display: inline-flex; }
  body.filter-inline-ready:not(.filter-expanded) .filter-field-cat,
  body.filter-inline-ready:not(.filter-expanded) .filter-tags { display: none; }
  body.filter-inline-ready.filter-expanded .filter-field-cat { grid-column: 1 / -1; }
  body.filter-inline-ready.filter-expanded .filter-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
    grid-column: 1 / -1;
  }

  .filter-more-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--color-accent);
    color: var(--color-accent-ink);
    font-size: 12px;
    font-weight: 700;
  }
  .filter-more-badge[hidden] { display: none; }

  body.jobs-index .job-list-section { padding: 16px 0 48px; }
  body.jobs-index .job-list-header {
    margin-bottom: 12px;
    padding-bottom: 10px;
    gap: 8px;
  }
  body.jobs-index .job-list-title { font-size: 17px; }
  body.jobs-index .sort-select { font-size: 13px; }

  body.jobs-index .job-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    border: none;
  }
  body.jobs-index .job-list[aria-busy="true"] { min-height: 200px; }
  body.jobs-index .job-row {
    display: block;
    padding: 0;
    border: 1px solid var(--color-hairline);
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(26, 26, 46, 0.06);
    background: #fff;
  }
  body.jobs-index .job-row:first-child,
  body.jobs-index .job-row:last-child {
    border-radius: 10px;
    border-bottom: 1px solid var(--color-hairline);
  }
  body.jobs-index .job-row:hover { background: #fff; }
  body.jobs-index .job-row-meta { display: none; }
  body.jobs-index .job-row-desktop { display: none; }
  body.jobs-index .job-row-hit {
    display: flex;
    align-items: stretch;
    gap: 12px;
    padding: 14px 16px;
    min-height: 44px;
    color: inherit;
    text-decoration: none;
    border-radius: 10px;
  }
  body.jobs-index .job-row-hit:focus-visible {
    outline: 2px solid var(--color-logo-teal);
    outline-offset: -2px;
  }
  body.jobs-index .job-row-hit-body { flex: 1; min-width: 0; }
  body.jobs-index .job-row-place {
    display: block;
    margin: 0 0 4px;
    font-size: 15px;
    color: var(--color-text-body);
    line-height: 1.35;
  }
  body.jobs-index .job-row-facts {
    display: block;
    margin: 0;
    font-size: 14px;
    color: var(--color-text-muted);
    line-height: 1.4;
  }
  body.jobs-index .job-row-title {
    font-size: 17px;
    margin: 0 0 4px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
  body.jobs-index .job-row-chevron {
    display: block;
    flex-shrink: 0;
    align-self: center;
    width: 20px;
    height: 20px;
    color: var(--color-teal-deep);
  }

  body.cta-job-detail .job-detail-apply,
  body.cta-job-detail .apply-flow { display: none; }
  body.cta-job-detail .hero-detail { padding-top: 12px; padding-bottom: 4px; }
  body.cta-job-detail .hero-detail .breadcrumb { margin-bottom: 10px; }
  body.cta-job-detail .hero-detail-label { display: none; }
  body.cta-job-detail .hero-detail-title,
  body.cta-job-detail #jd-title {
    font-size: var(--page-hero-title-mobile, clamp(36px, 10.25vw, 48px));
    line-height: 1.08;
    margin-bottom: 10px;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
    text-wrap: pretty;
  }
  body.cta-job-detail #jd-title .mwd {
    font-size: 0.82em;
    font-weight: 500;
    display: inline;
    margin-left: 0.12em;
    white-space: nowrap;
  }
  body.cta-job-detail .hero-detail-grid {
    gap: 16px;
    padding-bottom: 20px;
    border-bottom: none;
  }
  body.cta-job-detail .hero-detail-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
  }
  body.cta-job-detail .hero-detail-meta > div { min-width: 0; }
  body.cta-job-detail .hero-detail-meta dt { font-size: 10px; margin-bottom: 2px; }
  body.cta-job-detail .hero-detail-meta dd {
    overflow-wrap: anywhere;
    hyphens: auto;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 600;
  }
  body.cta-job-detail .job-detail-body {
    padding: 20px 0 48px;
  }
  body.cta-job-detail .job-detail-lead {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 12px;
    padding-bottom: 0;
    border-bottom: none;
  }
  body.cta-job-detail .detail-block {
    margin-bottom: 32px;
  }
  body.cta-job-detail .detail-block-title {
    font-size: 20px;
    margin-bottom: 12px;
  }
  body.cta-job-detail .detail-richtext p {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 12px;
  }
  body.cta-job-detail .detail-richtext ul + p { margin-top: 20px; }
  body.cta-job-detail .detail-richtext p:has(> strong:only-child) {
    margin: 20px 0 8px;
  }
  body.cta-job-detail .detail-list li {
    border: none;
    padding: 0 0 0 1.15em;
    margin: 0 0 10px;
    font-size: 16px;
    line-height: 1.5;
  }
  body.cta-job-detail .detail-list li:last-child {
    margin-bottom: 0;
    border-bottom: none;
  }
  body.cta-job-detail .detail-list li::before {
    top: 0.55em;
    width: 5px;
    height: 5px;
  }

  body.cta-job-detail details.detail-fold {
    border: none;
    border-top: 1px solid var(--color-hairline);
    border-radius: 0;
    padding: 0;
    margin-bottom: 0;
  }
  body.cta-job-detail details.detail-fold + details.detail-fold,
  body.cta-job-detail .detail-block + details.detail-fold {
    border-top: 1px solid var(--color-hairline);
  }
  body.cta-job-detail details.detail-fold > .detail-fold-summary {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 4px 0;
    cursor: pointer;
    font-size: 17px;
    font-weight: 700;
    color: var(--color-text);
    list-style: none;
  }
  body.cta-job-detail details.detail-fold > .detail-fold-summary::after {
    content: "";
    flex-shrink: 0;
    margin-left: auto;
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--color-teal-deep);
    border-bottom: 2px solid var(--color-teal-deep);
    transform: rotate(45deg);
    transition: transform 160ms ease;
  }
  body.cta-job-detail details.detail-fold[open] > .detail-fold-summary::after {
    transform: rotate(-135deg);
    margin-top: 4px;
  }
  body.cta-job-detail details.detail-fold > .detail-fold-summary::-webkit-details-marker { display: none; }
  body.cta-job-detail details.detail-fold > .detail-fold-body {
    padding-bottom: 24px;
  }
  body.cta-job-detail details.detail-fold > .detail-fold-body .detail-block-title {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }

  body.cta-no-float .bewerbung-steps,
  body.cta-no-float .kontakt-side,
  body.cta-no-float #bw-meta { display: none; }
  body.cta-no-float .hero-detail { padding-top: 12px; padding-bottom: 8px; }
  body.cta-no-float .hero-detail .breadcrumb { margin-bottom: 10px; }
  body.cta-no-float .hero-detail-grid { gap: 10px; }
  body.cta-no-float .hero-detail-title {
    font-size: var(--page-hero-title-mobile, clamp(36px, 10.25vw, 48px));
    line-height: 1.08;
    margin-bottom: 6px;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
    text-wrap: pretty;
  }
  body.cta-no-float .hero-detail-lead {
    font-size: 15px;
    line-height: 1.4;
    margin: 0;
  }
  body.cta-no-float .hero-detail-lead .bw-lead-desktop { display: none; }
  body.cta-no-float .hero-detail-lead .bw-lead-mobile { display: inline; }
  body.cta-no-float .kontakt-section { padding-top: 12px; }
  body.cta-no-float .kontakt-block-head { display: none; }
  body.cta-no-float .kontakt-form-wrap > .jobs-empty-state { margin-top: 0; }
}

@media (min-width: 721px) {
  .filter-more-btn { display: none; }
  .hero-detail-lead .bw-lead-mobile { display: none; }
  details.detail-fold > .detail-fold-summary { display: none; }
  details.detail-fold { border: none; padding: 0; margin: 0; }
  details.detail-fold > .detail-fold-body > .detail-block-title {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
  }
}
