/* InstantJob 2.0 — shared editorial and application design.
   State classes, field names and server-rendered dashboard variants are intact. */
body.ij-site.ij-modern {
  --ij-paper: #f5f7f5;
  --ij-white: #fff;
  --ij-ink: #17271f;
  --ij-forest: #0b4b3a;
  --ij-lime: #e3eee7;
  --ij-muted: #647068;
  --ij-line: rgba(23,39,31,.14);
  --ij-ui-text: var(--ij-ink);
  --ij-ui-muted: var(--ij-muted);
  --ij-ui-line: var(--ij-line);
  --ij-ui-brand: var(--ij-forest);
  --ij-ui-radius: 4px;
  --ij-content-max: 1180px;
  --ij-content-gutter: clamp(1rem,3vw,2rem);
  --bs-body-color: var(--ij-ink);
  --bs-body-bg: var(--ij-paper);
  --bs-primary: #0b4b3a;
  --bs-primary-rgb: 11,75,58;
  --bs-link-color: #0b4b3a;
  --bs-link-hover-color: #17271f;
  --bs-border-color: var(--ij-line);
  --bs-border-radius: 4px;
  background: var(--ij-paper) !important;
  color: var(--ij-ink) !important;
  font-size: 16px;
  line-height: 1.65;
  font-synthesis: none;
}
body.ij-modern :is(.ij-landing, .nx-wrap, #regWizard, .ij-profile-wrap,
  .ij-auth-wrap, .ij-settings-wrap, .ij-prx-wrap, .ij-dash-desktop,
  .ij-dash-mobile, .ij-help-wrap, .ij-how-wrap, .ij-hub-wrap, .ij-pay-wrap,
  .ij-deals-wrap, .ij-404-wrap, .ij-regional-page) {
  --bg: var(--ij-paper) !important;
  --text: var(--ij-ink) !important;
  --muted: var(--ij-muted) !important;
  --muted2: var(--ij-muted) !important;
  --card: var(--ij-white) !important;
  --border: var(--ij-line) !important;
  --brand: var(--ij-forest) !important;
  --brand-2: var(--ij-ink) !important;
  --brand1: var(--ij-forest) !important;
  --brand2: var(--ij-forest) !important;
  --ij-primary: var(--ij-forest) !important;
  --ij-bg: var(--ij-paper) !important;
  --ij-surface: var(--ij-white) !important;
  --ij-text: var(--ij-ink) !important;
  --ij-muted: #647068 !important;
  --ij-line: rgba(23,39,31,.14) !important;
  --color-primary: var(--ij-forest) !important;
  --color-accent: var(--ij-forest) !important;
  --color-text: var(--ij-ink) !important;
  --color-light: #fff !important;
  --color-border: var(--ij-line) !important;
  --ij-shadow: none !important;
  --shadow-sm: none !important;
  --shadow-md: none !important;
  --radius: 3px !important;
  color: var(--ij-ink);
}
body.ij-modern ::selection { background: var(--ij-lime); color: var(--ij-ink); }
body.ij-modern :where(a) { color: var(--ij-forest); text-underline-offset: .2em; }
body.ij-modern :where(a:hover) { color: var(--ij-ink); }
body.ij-modern :where(h1,h2,h3,h4,h5,h6) { color: var(--ij-ink); text-wrap: wrap; }
body.ij-modern :where(p) { text-wrap: pretty; }
body.ij-modern :is(.text-muted,.ij-muted,.small-text,.ij-card-sub,.ij-settings-sub,
  .ij-help-sub,.ij-auth-sub,.ij-hub-sub,.ij-how-sub,.ij-prx-hero-sub,.ij-pay-sub,
  .ij-deals-sub,.ij-stat-hint,.ij-f-help,.nx-help,.nx-sub,.nx-kicker) {
  color: var(--ij-muted) !important;
  line-height: 1.65 !important;
}
body.ij-modern :is(.ij-profile-wrap,.ij-auth-wrap,.ij-settings-wrap,.ij-help-wrap,
  .ij-hub-wrap,.ij-how-wrap,.ij-pay-wrap,.ij-deals-wrap,.ij-prx-wrap,
  .ij-regional-page,.ij-404-wrap,.nx-wrap) {
  width: 100%;
  max-width: var(--ij-content-max) !important;
  margin: 0 auto !important;
  padding: clamp(2rem,4vw,3rem) var(--ij-content-gutter) clamp(3rem,5vw,4.5rem) !important;
}
body.ij-modern :is(.ij-auth-title,.ij-settings-title,.ij-help-title,.ij-hub-title,
  .ij-how-title,.ij-pay-title,.ij-deals-title,.ij-prx-hero-title,.ij-404-title,
  .nx-title,.ij-regional-page>h1) {
  max-width: none;
  margin: .6rem 0 .9rem !important;
  color: var(--ij-ink) !important;
  font-size: clamp(2rem,3.5vw,2.9rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.12 !important;
  overflow-wrap: normal;
  word-break: normal;
}
body.ij-modern :is(.ij-auth-head,.ij-settings-head,.ij-help-head,.ij-hub-head,
  .ij-how-head,.ij-pay-header,.ij-deals-head) {
  margin: 0 0 1.75rem !important;
  padding: 0 0 1.35rem;
  border-bottom: 1px solid var(--ij-line);
}
body.ij-modern :is(.ij-auth-sub,.ij-settings-sub,.ij-help-sub,.ij-hub-sub,
  .ij-how-sub,.ij-deals-sub,.ij-pay-sub,.nx-sub,.ij-prx-hero-sub,.ij-regional-lead) {
  max-width: 72ch !important;
  margin-bottom: 0;
  font-size: 1rem !important;
  color: var(--ij-muted) !important;
}
body.ij-modern :is(.ij-auth-tag,.ij-settings-tag,.ij-help-tag,.ij-hub-tag,
  .ij-how-tag,.ij-deals-tag,.ij-pay-head-tag,.ij-profile-tag,.ij-prx-tag,
  .ij-404-badge,.nx-badge,.ij-tag) {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  width: auto;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ij-forest) !important;
  box-shadow: none !important;
  font-size: .72rem !important;
  font-weight: 650 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}
body.ij-modern :is(.ij-auth-tag,.ij-settings-tag,.ij-help-tag,.ij-hub-tag,
  .ij-how-tag,.ij-pay-head-tag,.ij-deals-tag,.nx-badge)::before {
  content: '';
  width: 1.75rem;
  height: 1px;
  background: currentColor;
}

/* Buttons: deliberate, square-edged actions, shared across all template families. */
body.ij-modern :is(.ij-btn,.ij-btn-primary,.ij-btn-secondary,.ij-btn-ghost,
  .ij-btn-danger,.nx-btn,.ij-pg-btn,.ij-help-btn,.ij-help-btn-ghost,.ij-deal-btn,
  .ij-deal-btn-ghost,.ij-auth-btn-primary,.ij-prx-btn-primary,.ij-prx-btn-ghost,
  .ij-prx-btn-calc,.ij-prx-btn-primary-large,.ij-404-btn,.ij-prov-btn,
  .ij-regional-actions a,:where(#regWizard) .btn-brand,:where(#regWizard) .btn-ghost,
  .ij-dash-desktop .btn,.ij-dash-mobile .btn,.modal .btn) {
  min-height: 48px;
  max-width: 100%;
  padding: .8rem 1.25rem !important;
  border: 1px solid var(--ij-forest) !important;
  border-radius: 4px !important;
  background: var(--ij-forest) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: .9rem !important;
  font-weight: 550 !important;
  line-height: 1.4 !important;
  letter-spacing: .015em !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  transition: background-color .18s ease,color .18s ease,border-color .18s ease !important;
  transform: none !important;
}
body.ij-modern :is(.ij-btn-ghost,.ij-btn-secondary,.nx-ghost,.ij-help-btn-ghost,
  .ij-deal-btn-ghost,.ij-prx-btn-ghost,.ij-404-btn-ghost,:where(#regWizard) .btn-ghost,
  .ij-dash-desktop .btn-outline-primary,.ij-dash-desktop .btn-outline-secondary,
  .ij-dash-mobile .btn-outline-primary,.ij-dash-mobile .btn-outline-secondary) {
  background: transparent !important;
  color: var(--ij-forest) !important;
  border-color: var(--ij-line) !important;
}
body.ij-modern :is(.ij-btn,.nx-btn,.ij-help-btn,.ij-deal-btn,.ij-auth-btn-primary,
  .ij-prx-btn-primary,.ij-prx-btn-calc,.ij-prx-btn-primary-large,.ij-404-btn,
  .ij-prov-btn,:where(#regWizard) .btn-brand,:where(#regWizard) .btn-ghost,.ij-btn-primary,
  .ij-btn-secondary,.ij-btn-ghost,.ij-regional-actions a):hover {
  background: var(--ij-ink) !important;
  border-color: var(--ij-ink) !important;
  color: #fff !important;
  filter: none !important;
}
body.ij-site.ij-modern :is(.ij-btn-danger,.ij-delete-confirm,.btn-danger) { background: #873f32 !important; border-color: #873f32 !important; color: #fff !important; }
body.ij-modern :is(button,input[type=submit]):disabled { opacity: .45 !important; cursor: not-allowed; }
body.ij-modern :is(.ij-btn-row,.ij-actions,.ij-profile-actions,.ij-help-support-actions,
  .ij-prx-hero-actions,.ij-settings-actions,.nx-actions) { gap: .8rem !important; }

/* Quiet surfaces, hairlines and clear hierarchy replace floating gradient cards. */
body.ij-modern :is(.ij-card,.ij-settings-card,.ij-help-card,.ij-help-answer-card,
  .ij-auth-card,.wiz-card,.ij-stat-card,.ij-kpi-card,.ij-kpi-box,.ij-kpi-item,
  .ij-job-card,.ij-job-item,.ij-prx-price-card,.ij-prx-calc-card,.ij-prx-trust-card,
  .ij-prx-step,.ij-cta-box,.ij-credits-box,.ij-deal-card,.ij-pay-logo,
  .ij-profile-wrap .card,.ij-dash-desktop .card,.ij-dash-mobile .card,
  .ij-dash-mobile .card-hwk,.ij-dash-mobile .card-hwk-1,.ij-dash-mobile .card-hwk-2,
  .nx-panel,.ij-delete-dialog,.ij-onb-modal,.ijm-rate-modal,.modal-content) {
  background: var(--ij-white) !important;
  background-image: none !important;
  border: 1px solid var(--ij-line) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  color: var(--ij-ink) !important;
  transform: none !important;
}
body.ij-modern :is(.ij-card,.ij-settings-card,.ij-auth-card,.ij-help-answer-card,
  .ij-prx-calc-card,.nx-panel) { padding: clamp(1.1rem,2.4vw,1.5rem) !important; }
body.ij-modern :is(.ij-card-title,.ij-settings-card-title,.ij-help-stage-title,
  .ij-help-answer-title,.ij-prx-calc-title,.ij-prx-panel-title,.ij-cta-title,
  .ij-deal-name,.nx-h) {
  color: var(--ij-ink) !important;
  font-weight: 550 !important;
  font-size: clamp(1.1rem,1.6vw,1.35rem) !important;
  line-height: 1.25 !important;
  letter-spacing: -.025em !important;
  text-transform: none !important;
}
body.ij-modern :is(.ij-card-head,.ij-settings-card-head,.nx-panelhead) {
  padding-bottom: .9rem;
  margin-bottom: 1.1rem !important;
  border-bottom: 1px solid var(--ij-line);
}
body.ij-modern :is(.ij-divider,.ij-settings-divider,.nx-split) { display: block; background: var(--ij-line) !important; height: 1px; }
body.ij-modern :is(.ij-pill,.ij-badge,.ij-card-pill,.ij-settings-pill,.ij-package-chip,
  .ij-pill-badge,.ij-help-card-tag,.ij-prx-pill,.ij-prx-pill2,.ij-coins-chip,
  .ij-vip-badge,.ij-vip-verify-badge,.ij-cat-pill,.ij-prx-trust-item,.nx-stepchip,
  .ij-deal-label,.ij-pay-badge,.badge) {
  border-radius: 2px !important;
  box-shadow: none !important;
  background-image: none !important;
  letter-spacing: .025em !important;
  text-transform: none !important;
}
body.ij-modern :is(.ij-card-pill,.ij-settings-pill,.ij-package-chip,.ij-prx-pill,
  .ij-prx-pill2,.ij-coins-chip,.nx-stepchip,.ij-vip-badge,.ij-cat-pill) {
  padding: .35rem .55rem !important;
  border: 1px solid var(--ij-line) !important;
  background: var(--ij-lime) !important;
  color: var(--ij-forest) !important;
  font-size: .75rem !important;
}
body.ij-modern :is(.ij-stat-label,.ij-kpi-label,.ij-info-label,.ij-section-title,
  .ij-stat-title,.ij-credits-label) {
  color: var(--ij-muted) !important;
  font-size: .7rem !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  line-height: 1.5;
  text-transform: uppercase;
}
body.ij-modern :is(.ij-stat-value,.ij-kpi-val,.ij-credits-val) {
  color: var(--ij-forest) !important;
  font-size: 1.7rem !important;
  font-weight: 500 !important;
  letter-spacing: -.04em;
}
body.ij-modern :is(.ij-job-card,.ij-help-card,.ij-cat,.ij-deal-card) { transition: border-color .18s ease,background-color .18s ease !important; }
body.ij-modern :is(.ij-job-card,.ij-help-card,.ij-cat):hover { border-color: var(--ij-forest) !important; background: #f0f3eb !important; box-shadow: none !important; transform: none !important; }

/* Permanent form labels, readable field surfaces and unambiguous focus. */
body.ij-modern :is(.nx-in,.nx-sel,.nx-ta,.ij-input,.ij-f-in,.ij-f-ta,.ij-auth-input,
  .ij-settings-field input,.ij-settings-field select,.ij-settings-field textarea,
  .ij-field input,.ij-field select,.ij-field textarea,.form-control,.form-select,
  .ui-field input,.ui-field select,.ui-field textarea,.ij-prx-field input,
  .ij-prx-field select) {
  min-height: 50px;
  padding: .85rem 1rem !important;
  border: 1px solid #a9b3a8 !important;
  border-radius: 2px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--ij-ink) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}
body.ij-modern :is(.form-check-input,.ij-switch input,input[type=checkbox],input[type=radio],input[type=hidden],input[type=file]) { min-height: initial; }
body.ij-modern :is(.nx-ta,.ij-f-ta,textarea.form-control,.ij-settings-field textarea) { min-height: 112px; }
body.ij-modern :is(.ui-field) { display: flex; flex-direction: column; gap: .4rem; }
body.ij-modern #regWizard .ui-field label,
body.ij-modern :is(.ui-field label,.ui-field.filled label,.ij-prx-field label,
  .nx-field label,.ij-settings-field label,.ij-auth-field-label,.ij-f-label,.form-label) {
  position: static !important;
  inset: auto !important;
  order: -1;
  width: auto;
  padding: 0 !important;
  margin: 0 0 .45rem !important;
  background: transparent !important;
  color: var(--ij-ink) !important;
  font-size: .8rem !important;
  font-weight: 550 !important;
  letter-spacing: .015em !important;
  line-height: 1.5 !important;
  text-transform: none !important;
  text-decoration: none !important;
  transform: none !important;
}
body.ij-modern :is(.ij-settings-field,.nx-field,.ij-prx-field) { min-width: 0; }
body.ij-modern :is(.form-control,.form-select,.ui-field input,.ui-field select,
  .ui-field textarea,.nx-in,.nx-sel,.nx-ta,.ij-auth-input):focus {
  border-color: var(--ij-forest) !important;
  box-shadow: 0 0 0 1px var(--ij-forest) !important;
}
body.ij-modern :is(.is-invalid,.ij-email-exists,.ij-ac-bad) { border-color: #a54b3d !important; }
body.ij-modern input[readonly] { background: #f0f1eb !important; color: var(--ij-muted) !important; }
body.ij-modern :is(.ij-settings-error,.invalid-feedback,.text-danger) { color: #973d32 !important; }
body.ij-modern .ij-switch .ij-slider { background: #c8cec4 !important; border-radius: 2px; }
body.ij-modern .ij-switch input:checked + .ij-slider { background: var(--ij-forest) !important; }
body.ij-modern .ij-switch .ij-slider::before { border-radius: 1px; box-shadow: none; }

/* A single content column keeps the introduction and form on one alignment.
   There is no empty side panel when a registration step is short. */
body.ij-modern .ij-auth-wrap { max-width: 960px !important; }
body.ij-modern.ij-view-login .ij-auth-wrap { max-width: 760px !important; }
body.ij-modern :is(#registerSection,#loginSection) { display: block; }
body.ij-modern :is(#registerSection,#loginSection)>.ij-auth-head { border: 0; padding: 0; margin-bottom: 1.5rem !important; }
body.ij-modern :is(#registerSection,#loginSection)>.row { margin: 0 !important; }
body.ij-modern :is(#registerSection,#loginSection)>.row>div { width: 100% !important; padding: 0; }
body.ij-modern .ij-auth-title { max-width: none; font-size: clamp(2rem,3.2vw,2.65rem) !important; }
body.ij-modern .ij-auth-features { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 1.25rem; }
body.ij-modern .ij-auth-feature { min-width: 0; align-items: flex-start; gap: .65rem; color: var(--ij-muted); font-size: .84rem; line-height: 1.5; }
body.ij-modern .ij-auth-feature-icon { flex: 0 0 30px; border-radius: 0; background: transparent; color: var(--ij-forest); border: 1px solid var(--ij-line); width: 30px; height: 30px; }
body.ij-modern .ij-auth-inner { max-width: 640px !important; margin: 0 auto; }
body.ij-modern .ij-auth-inner .ij-auth-card { margin-top: 1.5rem; }
body.ij-modern #regWizard .wiz-card { border-top: 3px solid var(--ij-forest) !important; }
body.ij-modern #regWizard .card-body { padding: clamp(1.1rem,2.4vw,1.75rem) !important; }
body.ij-modern #regWizard :is(.bar,.ij-auth-progress) { height: 3px; border: 0; border-radius: 0; background: #dfe3d9; }
body.ij-modern #regWizard .bar>span { background: var(--ij-forest); }
body.ij-modern #regWizard .stepper { gap: .35rem; align-items: stretch; }
body.ij-modern #regWizard .pill { flex: 1 1 100px; border: 0; border-bottom: 2px solid var(--ij-line); border-radius: 0; background: transparent; color: var(--ij-muted); padding: .6rem .15rem; font-size: .75rem; }
body.ij-modern #regWizard .pill.active { border-color: var(--ij-forest); box-shadow: none; color: var(--ij-forest); }

/* Job creation and direct booking share a new straight-lined form shell. */
body.ij-modern .nx-wrap { max-width: 1040px !important; }
body.ij-modern .nx-hero { padding: 0 0 1.5rem !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--ij-line) !important; border-radius: 0 !important; box-shadow: none !important; }
body.ij-modern .nx-title { max-width: none; }
body.ij-modern .nx-shell { margin-top: 1.5rem; }
body.ij-modern .nx-panel { border-top: 3px solid var(--ij-forest) !important; }
body.ij-modern .nx-progress { gap: .75rem; }
body.ij-modern .nx-bar { height: 3px; border: 0; border-radius: 0; background: #e2e6dd; }
body.ij-modern .nx-bar>span { border-radius: 0; background: var(--ij-forest); }
body.ij-modern .nx-barline { font-size: .78rem; color: var(--ij-muted); }
body.ij-modern .nx-actions { border-top: 1px solid var(--ij-line); padding-top: 1.1rem; margin-top: 1.25rem; }
body.ij-modern .nx-check { align-items: flex-start; padding: .75rem 0; border-bottom: 1px solid var(--ij-line); }
body.ij-modern .nx-check input { margin-top: .3rem !important; }

/* Public profile and job archive: light editorial columns and ruled lists. */
body.ij-modern .ij-profile-head { padding-bottom: 1.5rem; margin-bottom: 1.75rem; border-bottom: 1px solid var(--ij-line); }
body.ij-modern .ij-profile-name { font-size: clamp(1.9rem,3vw,2.75rem) !important; font-weight: 500 !important; letter-spacing: -.035em; line-height: 1.15; color: var(--ij-ink) !important; }
body.ij-modern .ij-profile-avatar { border-radius: 4px !important; border: 1px solid var(--ij-line) !important; box-shadow: none !important; background: #e7ecdf !important; }
body.ij-modern .ij-profile-grid { gap: 1.25rem; grid-template-columns: minmax(0,2.15fr) minmax(260px,1fr); }
body.ij-modern .ij-job-list { gap: 1rem; }
body.ij-modern .ij-job-card { padding: 1.2rem !important; }
body.ij-modern .ij-job-title-row h2 { font-weight: 550; font-size: 1.3rem; line-height: 1.3; letter-spacing: -.025em; }
body.ij-modern .ij-job-thumb img { border-radius: 2px; filter: saturate(.7); }
body.ij-modern .ij-job-thumb--placeholder { border-radius: 2px; background: #e9ede2; }
body.ij-modern .ij-beschreibung-box { padding: 1.25rem; background: var(--ij-paper); border-radius: 2px; font-size: .95rem; line-height: 1.8; }
body.ij-modern .ij-info-row { padding-bottom: .75rem; border-bottom: 1px solid var(--ij-line); }
body.ij-modern .ij-pagination .page-numbers { border-radius: 2px; background: transparent; border-color: var(--ij-line); color: var(--ij-ink); }
body.ij-modern .ij-pagination .page-numbers.current { background: var(--ij-forest); color: #fff; border-color: var(--ij-forest); box-shadow: none; }
body.ij-modern .ij-stat-grid { gap: .75rem; }
body.ij-modern .ij-stat-card { padding: 1rem !important; }

/* Guidance, discovery, verification and support use an index-like layout. */
body.ij-modern :is(.ij-help-card-grid,.ij-cat-grid,.ij-cats) { gap: 1px; padding: 1px; background: var(--ij-line); border: 1px solid var(--ij-line); }
body.ij-modern :is(.ij-help-card,.ij-cat) { padding: 1.2rem !important; border: 0 !important; border-radius: 0 !important; background: var(--ij-paper) !important; box-shadow: none !important; color: var(--ij-ink) !important; }
body.ij-modern :is(.ij-help-card-title,.ij-cat-title,.ij-cat-name) { font-size: 1.15rem; font-weight: 550; letter-spacing: -.02em; }
body.ij-modern :is(.ij-help-card-desc,.ij-cat-text,.ij-cat-desc) { color: var(--ij-muted); font-size: .92rem; line-height: 1.7; }
body.ij-modern .ij-help-card-tag { padding-left: 0; background: transparent; color: var(--ij-forest); border: 0; }
body.ij-modern :is(.ij-tips-tabs,.ij-help-steps) { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.5rem 0; padding-bottom: .85rem; border-bottom: 1px solid var(--ij-line); }
body.ij-modern :is(.ij-tips-tab,.ij-help-step-pill) { border-radius: 2px; border: 1px solid var(--ij-line); background: transparent; color: var(--ij-muted); padding: .65rem .9rem; box-shadow: none; }
body.ij-modern :is(.ij-tips-tab.is-active,.ij-help-step-pill.is-active) { background: var(--ij-forest); color: #fff; border-color: var(--ij-forest); }
body.ij-modern .ij-help-step-dot { border-radius: 0; background: transparent; color: inherit; }
body.ij-modern .ij-help-support-box { border-radius: 4px; border: 1px solid var(--ij-line); padding: 1.5rem; background: var(--ij-lime); color: var(--ij-forest); box-shadow: none; }
body.ij-modern :is(.ij-faq-item,details.ij-faq) { border: 0; border-top: 1px solid var(--ij-line); border-radius: 0; background: transparent; box-shadow: none; padding: 1.3rem 0; }
body.ij-modern .ij-faq-q { font-size: 1.08rem; font-weight: 550; color: var(--ij-ink); }
body.ij-modern .ij-faq-a { line-height: 1.8; color: var(--ij-muted); }
body.ij-modern .ij-how-wrap .ij-step { border: 0; border-top: 1px solid var(--ij-line); border-radius: 0; box-shadow: none; background: transparent; padding: 1.5rem 0; }
body.ij-modern .ij-how-wrap .ij-step-num { border-radius: 0; background: transparent; color: var(--ij-forest); font-size: 2.2rem; font-weight: 400; border: 0; }
body.ij-modern .ij-regional-page section { padding: 1.75rem 0; border-top-color: var(--ij-line); }
body.ij-modern .ij-regional-page h2 { font-size: clamp(1.4rem,2.3vw,1.9rem); font-weight: 500; letter-spacing: -.035em; }
body.ij-modern .ij-table { border-color: var(--ij-line); }
body.ij-modern .ij-table :is(th,td) { padding: 1rem; background: transparent; border-color: var(--ij-line); }

/* Calculator and finance: prominent figures, restrained sectioning. */
body.ij-modern .ij-prx-hero { padding: 0 0 2rem !important; margin-bottom: 0; border: 0; border-radius: 0; background: transparent !important; box-shadow: none !important; }
body.ij-modern .ij-prx-hero-trust { margin-top: 1.25rem; gap: 1.5rem; }
body.ij-modern .ij-prx-trust-item { background: transparent; padding: 0; color: var(--ij-muted); }
body.ij-modern .ij-prx-price-grid { gap: 1px; background: var(--ij-line); border: 1px solid var(--ij-line); }
body.ij-modern .ij-prx-price-card { padding: 1.2rem; border: 0 !important; border-radius: 0 !important; background: var(--ij-paper) !important; }
body.ij-modern .ij-prx-price-icon { width: 100%; height: auto; margin-bottom: 1rem; border-radius: 0; background: transparent; color: var(--ij-forest); justify-content: flex-start; font-size: 1.5rem; }
body.ij-modern :is(.ij-prx-result-amount,.ij-deal-price) { font-size: clamp(1.75rem,3vw,3rem) !important; font-weight: 450 !important; letter-spacing: -.05em; color: var(--ij-forest) !important; }
body.ij-modern .ij-prx-calculator { margin-top: 2.5rem; }
body.ij-modern .ij-prx-calc-card { border-top: 3px solid var(--ij-forest) !important; }
body.ij-modern .ij-prx-tabs { gap: 0; margin-top: 1.5rem; border-bottom: 1px solid var(--ij-line); }
body.ij-modern .ij-prx-tab { flex: 1 1 120px; min-height: 48px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: .85rem .75rem; background: transparent; color: var(--ij-muted); box-shadow: none; white-space: normal; }
body.ij-modern .ij-prx-tab.is-active { background: var(--ij-lime); color: var(--ij-forest); border-color: var(--ij-forest); }
body.ij-modern .ij-prx-dot { width: 5px; height: 5px; border-radius: 0; background: currentColor; }
body.ij-modern .ij-prx-result { background: #eaf0df; border: 1px solid var(--ij-line); border-radius: 4px; padding: 1.5rem; box-shadow: none; }
body.ij-modern .ij-prx-step-number { border-radius: 0; background: transparent; color: var(--ij-forest); font-size: 2rem; font-weight: 450; }
body.ij-modern .ij-prx-final-cta { padding: clamp(1.5rem,4vw,3rem); border-radius: 4px; background: var(--ij-forest); color: #fff; box-shadow: none; }
body.ij-modern .ij-prx-final-cta :is(h2,p) { color: #fff; }
body.ij-modern .ij-prx-final-cta .ij-prx-btn-primary-large { border-color: var(--ij-lime) !important; background: var(--ij-lime) !important; color: var(--ij-forest) !important; }
body.ij-modern .ij-deals-grid { gap: 1.25rem; }
body.ij-modern .ij-deal-card { padding: 1.5rem !important; }
body.ij-modern .ij-deal-premium { border-top: 3px solid var(--ij-forest) !important; }
body.ij-modern .ij-deal-label { top: 1rem; right: 1rem; padding: .4rem .65rem; background: var(--ij-lime); color: var(--ij-forest); }
body.ij-modern .ij-deal-bullet { border-radius: 0; background: var(--ij-forest); }
body.ij-modern .ij-deals-balance { border: 1px solid var(--ij-line); border-radius: 2px; background: transparent; color: var(--ij-forest); }
body.ij-modern .ij-pay-logo { padding: .65rem 1rem; filter: saturate(.75); }
body.ij-modern .ij-credits-box { background: var(--ij-lime) !important; }
body.ij-modern .ij-pay-form-grid { gap: 1.25rem; }

/* Dashboard and dialogs use the same visual language as the public pages. */
body.ij-modern .ij-dash-desktop .fullwidth-margins { max-width: var(--ij-content-max); padding: clamp(2rem,4vw,3rem) var(--ij-content-gutter); }
body.ij-modern .ij-dash-desktop .ij-settings-title { max-width: none; font-size: clamp(2rem,3.2vw,2.8rem) !important; }
body.ij-modern .ij-dash-desktop .ij-settings-head { border: 0; padding: 0; margin-bottom: 1.75rem !important; }
body.ij-modern .ij-dash-desktop #dashboardTabs { display: flex; align-items: stretch; gap: 0; flex-wrap: wrap !important; overflow: visible; border: 0; border-bottom: 1px solid var(--ij-line) !important; padding-bottom: 0 !important; margin-bottom: 2rem !important; }
body.ij-modern .ij-dash-desktop #dashboardTabs .nav-link { padding: .85rem 1rem; min-height: 50px; border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; color: var(--ij-muted); font-size: .82rem; line-height: 1.4; background: transparent; opacity: 1; }
body.ij-modern .ij-dash-desktop #dashboardTabs .nav-link.active { background: var(--ij-lime); color: var(--ij-forest) !important; border-bottom-color: var(--ij-forest) !important; opacity: 1 !important; }
body.ij-modern :is(.tab-badge,.ijm-kpi,.ij-stat) { border-radius: 2px; background: #edf0e7; color: var(--ij-forest); border: 1px solid var(--ij-line); box-shadow: none; }
body.ij-modern :is(.ij-dash-desktop,.ij-dash-mobile) :is(.card-title,.title-card,.titel-auftrag) { padding-bottom: .5rem; font-size: 1.2rem !important; line-height: 1.35; font-weight: 550 !important; text-transform: none; text-decoration: none; letter-spacing: -.02em; color: var(--ij-ink); }
body.ij-modern :is(.ij-dash-desktop,.ij-dash-mobile) :is(.card-hwk-1,.card-hwk-2,.card-hwk)::before { background: none !important; box-shadow: none !important; }
body.ij-modern :is(.ij-dash-desktop,.ij-dash-mobile) .avatar { box-shadow: none; border: 1px solid var(--ij-line); }
body.ij-modern .ij-note { border: 1px solid var(--ij-line) !important; border-left: 3px solid var(--ij-forest) !important; border-radius: 4px; background: #edf2e6 !important; box-shadow: none !important; color: var(--ij-ink); }
body.ij-modern .ij-note::before { background: none !important; }
body.ij-modern .ij-note-icon-wrap { border-radius: 0; background: transparent !important; color: var(--ij-forest) !important; }
body.ij-modern .ij-note-label { color: var(--ij-muted); letter-spacing: .08em; }
body.ij-modern :is(.ij-onb-modal,.ij-delete-dialog,.ijm-rate-modal,.modal-content) { border-radius: 4px !important; }
body.ij-modern :is(.ij-onb-glow,.ij-blob,.hero-decor) { display: none !important; }
body.ij-modern :is(.ij-onb-tag,.ij-onb-btn,.ij-verification-step-badge,.ijm-rate-badge,.ijm-star) { border-radius: 2px !important; box-shadow: none !important; background-image: none !important; }
body.ij-modern .ij-onb-btn-primary { background: var(--ij-forest); color: #fff; }
body.ij-modern :is(.ij-onb-overlay,.ij-delete-overlay,.modal-backdrop) { backdrop-filter: blur(2px); }
body.ij-modern .ij-delete-icon { background: #f1e6df; color: #873f32; border-radius: 0; box-shadow: none; }
body.ij-modern .modal-header { border-bottom: 1px solid var(--ij-line); padding: 1.5rem; }
body.ij-modern .modal-body { padding: 1.5rem; }
body.ij-modern .modal-footer { border-top: 1px solid var(--ij-line); padding: 1.25rem 1.5rem; }
body.ij-modern .modal-title { font-weight: 500; letter-spacing: -.025em; color: var(--ij-ink); }
body.ij-modern :is(.ij-notice,.nx-note,.ij-auth-error,.ij-auth-success,.ij-alert,.alert) { border-radius: 2px !important; box-shadow: none !important; background-image: none !important; }
body.ij-modern :is(.alert-success,.ij-auth-success,.nx-ok) { background: #e9f0de !important; color: #294c30 !important; border-color: #c2d3b7 !important; }
body.ij-modern :is(.alert-danger,.ij-auth-error,.nx-bad) { background: #f5e9e2 !important; color: #873f32 !important; border-color: #dec2b4 !important; }
body.ij-modern :is(.alert-info,.alert-secondary,.nx-info) { background: #edf0e8 !important; color: #455247 !important; border-color: #cbd2c5 !important; }
body.ij-modern :is(.alert-warning) { background: #f5efda !important; color: #775d20 !important; border-color: #ded0a3 !important; }

/* Service landing pages retain their content but receive the new composition. */
body.ij-modern .ij-landing { background: var(--ij-paper) !important; }
body.ij-modern .ij-landing .ij-hero { padding: clamp(2rem,4vw,3rem) 0; border-bottom: 1px solid var(--ij-line); background: transparent !important; background-image: none !important; }
body.ij-modern .ij-landing .ij-container { max-width: var(--ij-content-max); padding-left: var(--ij-content-gutter); padding-right: var(--ij-content-gutter); }
body.ij-modern .ij-landing h1 { font-size: clamp(2rem,3.5vw,2.9rem) !important; line-height: 1.12 !important; letter-spacing: -.035em; font-weight: 500; color: var(--ij-ink); }
body.ij-modern .ij-landing h1 span { color: var(--ij-forest); }
body.ij-modern .ij-landing h2 { font-size: clamp(1.5rem,2.6vw,2rem) !important; line-height: 1.1; letter-spacing: -.04em; font-weight: 500; color: var(--ij-ink); }
body.ij-modern .ij-landing .ij-section { padding-top: clamp(2rem,4vw,3rem); padding-bottom: clamp(2rem,4vw,3rem); background: transparent !important; }
body.ij-modern .ij-landing .ij-vip-panel { border: 1px solid var(--ij-line); border-radius: 4px; background: var(--ij-forest) !important; box-shadow: none; color: #fff; }
body.ij-modern .ij-landing .ij-vip-card { border-radius: 2px; background: #f4f5ed !important; color: var(--ij-ink); border: 1px solid var(--ij-line); box-shadow: none; }
body.ij-modern .ij-landing :is(.ij-vip-name,.ij-vip-city,.ij-vip-job,.ij-vip-bio) { color: var(--ij-ink) !important; }
body.ij-modern .ij-landing .ij-vip-panel-header :is(h2,p,span) { color: #fff !important; }
body.ij-modern .ij-404-wrap { min-height: 65vh; }
body.ij-modern .ij-404-code { color: var(--ij-forest); font-size: clamp(5rem,16vw,10rem); font-weight: 400; letter-spacing: -.08em; line-height: 1; }

@media (max-width: 1024px) {
  body.ij-modern .ij-profile-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 991.98px) {
  body.ij-modern.ij-dashboard-desktop .ij-dash-desktop #dashboardTabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.ij-modern .ij-dash-mobile { background: var(--ij-paper) !important; padding: 1rem 0 !important; }
  body.ij-modern .ij-dash-mobile :is(.card,.card-hwk,.card-hwk-1,.card-hwk-2,.shadow-sm) { background: #fff !important; border-radius: 4px !important; box-shadow: none !important; }
  body.ij-modern .ij-dash-mobile :is(.ijm-title,.ij-settings-title) { font-size: 2rem !important; font-weight: 500 !important; letter-spacing: -.04em; line-height: 1.1 !important; }
  body.ij-modern .ij-dash-mobile :is(.ijm-sub,.card-body) { line-height: 1.6 !important; }
  body.ij-modern .ij-dash-mobile .card-body { padding: 1.35rem 1.1rem !important; }
  body.ij-modern .ij-dash-mobile .ijm-nav { background: var(--ij-paper) !important; backdrop-filter: none !important; border-top: 1px solid var(--ij-line) !important; box-shadow: none !important; padding-top: .5rem !important; }
  body.ij-modern .ij-dash-mobile .ijm-nav-btn { border-radius: 2px !important; background: transparent !important; color: var(--ij-muted) !important; box-shadow: none !important; }
  body.ij-modern .ij-dash-mobile .ijm-nav-btn.active { background: var(--ij-forest) !important; color: #fff !important; }
  body.ij-modern .ij-dash-mobile .ijm-nav-btn.active i { color: var(--ij-lime) !important; }
  body.ij-modern .ij-dash-mobile .ijm-nav-btn span { letter-spacing: 0; }
}
@media (max-width: 640px) {
  body.ij-modern :is(.ij-profile-wrap,.ij-auth-wrap,.ij-settings-wrap,.ij-help-wrap,
    .ij-hub-wrap,.ij-how-wrap,.ij-pay-wrap,.ij-deals-wrap,.ij-prx-wrap,
    .ij-regional-page,.ij-404-wrap,.nx-wrap) { padding-top: 1.75rem !important; padding-left: 1rem !important; padding-right: 1rem !important; padding-bottom: 3rem !important; }
  body.ij-modern :is(.ij-auth-title,.ij-settings-title,.ij-help-title,.ij-hub-title,
    .ij-how-title,.ij-pay-title,.ij-deals-title,.ij-prx-hero-title,.nx-title) { font-size: clamp(1.85rem,7vw,2.35rem) !important; }
  body.ij-modern :is(.ij-card,.ij-settings-card,.ij-auth-card,.ij-help-answer-card,.nx-panel) { padding: 1.2rem !important; }
  body.ij-modern .ij-profile-head { gap: 1rem; padding-bottom: 1.25rem; margin-bottom: 1.5rem; }
  body.ij-modern .ij-profile-name { font-size: 2.1rem !important; }
  body.ij-modern .ij-help-support-box { padding: 1.5rem; }
  body.ij-modern .ij-help-card-grid { grid-template-columns: minmax(0,1fr); }
  body.ij-modern .ij-deals-grid { grid-template-columns: minmax(0,1fr); }
  body.ij-modern .ij-deal-card { padding: 1.5rem !important; }
  body.ij-modern .ij-prx-price-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.ij-modern .ij-prx-price-card { padding: 1rem; }
  body.ij-modern .ij-prx-tabs { flex-wrap: wrap; }
  body.ij-modern .ij-table { display: block; overflow-x: auto; }
  body.ij-modern .nx-panelhead { gap: .85rem; }
  body.ij-modern .ij-dash-desktop #dashboardTabs .nav-link { padding: .75rem .5rem; }
}

/* Content stays visible if the optional legacy animation CDN is unavailable. */
body.ij-modern [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }

/* Legacy accent utilities and inline links follow the same royal green palette. */
body.ij-modern :is(.text-primary,.text-info,.ij-link,.ij-prx-link,.ij-cat-cta) { color: var(--ij-forest) !important; }
body.ij-modern .bg-primary { background-color: var(--ij-forest) !important; }
body.ij-modern :is(.bg-primary-subtle,.bg-info-subtle,.bg-info) { background-color: var(--ij-lime) !important; color: var(--ij-forest) !important; }
body.ij-modern :is(.ij-hub-wrap,.ij-how-wrap,.ij-profile-wrap,.ij-help-wrap,
  .ij-prx-wrap,.ij-dash-desktop,.ij-dash-mobile) :is([style*="color:#1d4ed8"],
  [style*="color: #1d4ed8"],[style*="color:#2563eb"],[style*="color: #2563eb"],
  [style*="color:#0d6efd"],[style*="color: #0d6efd"],[style*="color:#0069d9"],
  [style*="color: #0069d9"]) { color: var(--ij-forest) !important; }
body.ij-modern :is(.ij-dash-desktop,.ij-dash-mobile) [style*="background:linear-gradient"] { background: var(--ij-line) !important; }

/* Legacy auxiliary surfaces also use the new family of components. */
body.ij-modern :is(.ij-avatar-btn,.ij-auth-pw-toggle,.ij-verification-step-badge) { border-radius: 4px !important; background: var(--ij-forest) !important; color: #fff !important; box-shadow: none !important; }
body.ij-modern :is(.ij-hub-wrap,.ij-how-wrap,.ij-settings-wrap) .ij-faq { background: transparent !important; border: 0 !important; border-top: 1px solid var(--ij-line) !important; border-radius: 0 !important; box-shadow: none !important; }
body.ij-modern :is(.ij-hub-wrap,.ij-how-wrap,.ij-settings-wrap) .ij-faq details { padding: 1.3rem 0; border-color: var(--ij-line); }
body.ij-modern .ij-alert-error { border-radius: 2px !important; background: #f5e9e2 !important; border-color: #dec2b4 !important; color: #873f32 !important; }
body.ij-modern .ij-credits-box { color: var(--ij-forest) !important; }
body.ij-modern #ijWelcomeModal .ijwm-dialog { border-radius: 4px !important; background: var(--ij-paper) !important; box-shadow: none !important; border: 1px solid var(--ij-line) !important; }
body.ij-modern #ijWelcomeModal :is(.ijwm-topline,.ijwm-footer) { background: transparent !important; border-color: var(--ij-line) !important; }
body.ij-modern #ijWelcomeModal :is(.ijwm-badge,.ijwm-card,.ijwm-btn) { border-radius: 3px !important; background-image: none !important; box-shadow: none !important; }
body.ij-modern #ijWelcomeModal .ijwm-card { background: #fff !important; border-color: var(--ij-line) !important; }
body.ij-modern #ijWelcomeModal .ijwm-btn-primary { background: var(--ij-forest) !important; border-color: var(--ij-forest) !important; color: #fff !important; }
body.ij-modern #ijWelcomeModal :is(.ijwm-badge,.ijwm-btn-ghost) { background: var(--ij-lime) !important; color: var(--ij-forest) !important; border-color: var(--ij-line) !important; }
body.ij-modern #ijWelcomeModal .ijwm-title { font-size: clamp(1.6rem,3vw,2.25rem); font-weight: 500; letter-spacing: -.035em; color: var(--ij-ink); }
body.ij-modern #ijWelcomeModal .ijwm-links a { color: var(--ij-forest) !important; }
body.ij-modern :is(.ij-auth-footer a,.ij-auth-back-login,.ij-auth-hint a,
  .ij-help-back,.ij-report-trigger,.ij-receipt-actions a:not([class*="btn"]),
  .ij-profile-meta a,.ij-table a,.btn-link) { color: var(--ij-forest) !important; }
body.ij-modern .form-check-input:checked { background-color: var(--ij-forest); border-color: var(--ij-forest); }
body.ij-modern .select2-container--bootstrap-5 .select2-results__option--highlighted { background: var(--ij-forest) !important; color: #fff !important; }
body.ij-modern #chatToggle { background: var(--ij-forest); border-radius: 4px; box-shadow: none; }
body.ij-modern #chatPane { border-radius: 4px; border: 1px solid var(--ij-line); box-shadow: none; background: #fff; }
body.ij-modern #chatHeader { background: var(--ij-forest); color: #fff; }
/* Calculator sections stay inside the shared page gutter at every width. */
body.ij-modern :is(.ij-prx-quick-prices,.ij-prx-how-it-works) {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
  border-top: 1px solid var(--ij-line);
}
body.ij-modern .ij-popular-links > li { min-width: 0; max-width: 100%; }
body.ij-modern .ij-popular-links a { max-width: 100%; white-space: normal !important; overflow-wrap: anywhere; border-radius: 4px; border-color: var(--ij-line); background: transparent; color: var(--ij-forest); }
body.ij-modern :is(.ij-pill,.ij-lottery-notice-info,.ij-pill-badge--status-erledigt) { background: var(--ij-lime) !important; color: var(--ij-forest) !important; border-color: var(--ij-line) !important; }
body.ij-modern .ij-note strong { color: var(--ij-ink) !important; }
body.ij-modern .ij-note a { color: var(--ij-forest) !important; }
body.ij-modern .ij-prx-result-cta { background: var(--ij-lime); border: 1px solid var(--ij-line); border-radius: 4px; }
body.ij-modern .ij-prx-hero { text-align: left; }
body.ij-modern :is(.ij-prx-hero-actions,.ij-prx-hero-trust) { justify-content: flex-start; }
body.ij-modern :is(.ij-onb-title,.ij-onb-step-title,.ij-onb-step-label,
  .ij-delete-title,.ijm-rate-title,.ij-verification-step-title) { color: var(--ij-ink) !important; }
body.ij-modern :is(.ij-onb-sub,.ij-onb-step-text,.ij-onb-list,.ij-onb-progress,
  .ij-delete-text,.ijm-rate-sub) { color: var(--ij-muted) !important; }
body.ij-modern :is(.ij-onb-tag,.ij-verification-step-badge) { background: var(--ij-lime) !important; color: var(--ij-forest) !important; }
body.ij-modern .ij-auth-footer { color: var(--ij-muted) !important; font-size: .85rem; }

/* The shared /schweiz/{service}/ template lives outside the page templates. */
body.ij-modern .ij-job-landing {
  --brand: var(--ij-forest) !important;
  --brand2: var(--ij-forest) !important;
  --bg: var(--ij-paper) !important;
  --text: var(--ij-ink) !important;
  --muted: #647068 !important;
  --b: var(--ij-line) !important;
  --r: 4px !important;
  --sh: none !important;
  background: var(--ij-paper) !important;
  color: var(--ij-ink) !important;
}
body.ij-modern .ij-job-landing .ijc { max-width: var(--ij-content-max); padding-left: var(--ij-content-gutter); padding-right: var(--ij-content-gutter); }
body.ij-modern .ij-job-landing .ij-hero { padding: clamp(2rem,4vw,3rem) 0; background: transparent !important; border-bottom: 1px solid var(--ij-line); }
body.ij-modern .ij-job-landing .ij-h1 { max-width: none; margin: .8rem 0 1rem; font-size: clamp(2rem,3.5vw,2.9rem) !important; font-weight: 500 !important; letter-spacing: -.035em; line-height: 1.12; }
body.ij-modern .ij-job-landing .ij-h2 { font-size: clamp(1.5rem,2.6vw,2rem) !important; font-weight: 500 !important; letter-spacing: -.04em; line-height: 1.15; color: var(--ij-ink); }
body.ij-modern .ij-job-landing .ij-lead { color: var(--ij-muted); font-size: 1.05rem; line-height: 1.8; }
body.ij-modern .ij-job-landing .ij-badge { border-radius: 0 !important; background: transparent; padding: 0; color: var(--ij-forest); font-weight: 600; font-size: .72rem; letter-spacing: .08em; }
body.ij-modern .ij-job-landing .ij-dot { width: 5px; height: 5px; background: var(--ij-forest); }
body.ij-modern .ij-job-landing .ij-section { padding: clamp(2rem,4vw,3rem) 0; border-color: var(--ij-line); }
body.ij-modern .ij-job-landing :is(.ij-side,.ij-cta,.ij-prov-card) { padding: clamp(1.1rem,2.4vw,1.5rem); border: 1px solid var(--ij-line); border-radius: 4px !important; background: #fff !important; box-shadow: none !important; color: var(--ij-ink); }
body.ij-modern .ij-job-landing .ij-side::before { content: none !important; background: none !important; }
body.ij-modern .ij-job-landing .ij-side h2 { font-size: 1.35rem; font-weight: 550; letter-spacing: -.02em; color: var(--ij-ink); }
body.ij-modern .ij-job-landing .ij-side p { color: var(--ij-muted) !important; }
body.ij-modern .ij-job-landing .ij-side :is(label,b) { color: var(--ij-ink) !important; }
body.ij-modern .ij-job-landing .ij-side label { font-size: .8rem !important; line-height: 1.5; }
body.ij-modern .ij-job-landing .ij-side :is(input,select):not([type=checkbox]):not([type=range]) { min-height: 46px; padding: .7rem .8rem !important; border: 1px solid #a9b3a8 !important; border-radius: 2px !important; background: #fff !important; color: var(--ij-ink) !important; font-size: .95rem; }
body.ij-modern .ij-job-landing #ij-costcalc { gap: 1rem !important; margin-top: 1.5rem !important; }
body.ij-modern .ij-job-landing #ij-costcalc>div:last-of-type { border-radius: 2px !important; border-color: var(--ij-line) !important; background: var(--ij-lime) !important; padding: 1rem !important; }
body.ij-modern .ij-job-landing #ij-costcalc div { color: var(--ij-ink) !important; }
body.ij-modern .ij-job-landing #ijEstTotal { font-size: 1.4rem !important; font-weight: 550 !important; letter-spacing: -.03em; }
body.ij-modern .ij-job-landing .ij-kpi { background: var(--ij-lime); border-color: var(--ij-line); border-radius: 2px; color: var(--ij-ink); }
body.ij-modern .ij-job-landing .ij-kpi :is(b,span) { color: var(--ij-ink); }
body.ij-modern .ij-job-landing .ij-faq details { border: 0; border-top: 1px solid var(--ij-line); border-radius: 0; background: transparent; padding: 1.4rem 0; box-shadow: none; }
body.ij-modern .ij-job-landing .ij-faq summary { font-weight: 550; }
body.ij-modern .ij-job-landing .ij-card h3 { font-size: 1.2rem; font-weight: 550; letter-spacing: -.02em; }
body.ij-modern .ij-job-landing .ij-pill { border-radius: 2px; box-shadow: none; transform: none; }
body.ij-modern .ij-job-landing .ij-prov-ava { border-radius: 3px; object-fit: cover; }
body.ij-modern .ij-job-landing .ij-prov-name { margin-top: 1rem; font-size: 1.15rem; font-weight: 550; }
body.ij-modern .ij-job-landing :is(.ij-prov-loc,.ij-prov-bio) { color: var(--ij-muted); font-size: .9rem; }
body.ij-modern .ij-job-landing .ij-prov-tag { color: var(--ij-forest); font-size: .75rem; }
body.ij-modern .ij-dash-desktop .card-body.card-hwk-2 { background: #fff !important; background-image: none !important; border: 1px solid var(--ij-line); border-radius: 4px !important; box-shadow: none !important; }

/* Content height follows real copy; short descriptions no longer reserve rows. */
body.ij-modern .ij-how-wrap .ij-step,
body.ij-modern .ij-job-landing .ij-prov-bio,
body.ij-modern #ijm-a-bew .ij-stat { min-height: 0; height: auto; }
body.ij-modern :is(.ij-dash-desktop,.ij-dash-mobile) .auftragsbeschreibung {
  min-height: 0;
  height: auto;
  max-height: none;
  margin-bottom: 1rem;
}
/* The rotating profile list needs its slide geometry only when profiles exist. */
body.ij-modern .ij-landing #ijVipScroller:not(:has(.ij-vip-item)) {
  height: auto !important;
  min-height: 0 !important;
}
@media (max-width: 700px) {
  body.ij-modern .ij-auth-features { grid-template-columns: minmax(0,1fr); gap: .65rem; }
  body.ij-modern .ij-auth-feature { align-items: center; }
}

/* Calculator headings and rows use the same left edge as their following cards. */
body.ij-modern .ij-prx-section-head { text-align: left; margin-bottom: 1.5rem; }
body.ij-modern :is(.ij-prx-price-card,.ij-prx-step,.ij-prx-trust-card) { text-align: left; }
body.ij-modern .ij-prx-step-number { width: auto; height: auto; justify-content: flex-start; margin: 0 0 .75rem; }
body.ij-modern .ij-prx-how-cta { text-align: left; align-items: flex-start; }

/* Keep the calculator introduction, examples and form on one page grid. */
body.ij-modern .ij-prx-hero-sub {
  max-width: 76ch !important;
  margin: 0 0 1.35rem !important;
}
body.ij-modern .ij-prx-hero-actions { margin-bottom: 0; }
body.ij-modern .ij-prx-hero-trust { margin-top: 1.5rem; padding-top: 1.25rem; }
body.ij-modern .ij-prx-quick-prices { border-top: 0; padding-top: 0; padding-bottom: 0; }
body.ij-modern .ij-prx-section-head h2 { margin-top: 0; }
body.ij-modern :is(.ij-prx-price-grid,.ij-prx-steps,.ij-prx-trust-grid) {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
body.ij-modern .ij-prx-price-grid { grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 1.15rem; }
body.ij-modern .ij-prx-price-card { min-width: 0; transform: none !important; }
body.ij-modern .ij-prx-price-amount {
  margin: .6rem 0 .45rem;
  color: var(--ij-forest) !important;
  font-size: clamp(1.1rem,1.55vw,1.3rem) !important;
  font-weight: 550 !important;
  letter-spacing: -.025em;
  line-height: 1.4;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
body.ij-modern .ij-prx-quick-note {
  max-width: 86ch;
  margin: 0;
  text-align: left;
  font-size: .9rem;
}
body.ij-modern .ij-prx-calculator { margin-top: 2rem; padding: 0 0 2rem; }
body.ij-modern .ij-prx-calc-card { padding: 0 !important; }
body.ij-modern :is(.ij-prx-calc-head,.ij-prx-panels) { padding: clamp(1rem,2.4vw,1.5rem); }
body.ij-modern .ij-prx-tabs { padding: 0 clamp(1rem,2.4vw,1.5rem); margin-top: 0; }
body.ij-modern .ij-prx-panel-help { max-width: 85ch; }
body.ij-modern .ij-prx-result { margin: 0 clamp(1rem,2.4vw,1.5rem) clamp(1rem,2.4vw,1.5rem); }
body.ij-modern .ij-prx-result-header > div { min-width: 0; }
body.ij-modern .ij-prx-breakdown-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); gap: 1rem; }
body.ij-modern .ij-prx-breakdown-row strong { min-width: 0; text-align: right; }
body.ij-modern .ij-prx-how-it-works { padding-top: 2rem; padding-bottom: 2rem; }
body.ij-modern .ij-prx-trust-section { padding: 1rem 0 2rem; }
body.ij-modern .ij-prx-final-cta { margin: 0; }
body.ij-modern .ij-prx-final-cta p { max-width: 76ch; }
@media (max-width: 960px) {
  body.ij-modern .ij-prx-price-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.ij-modern .ij-prx-price-amount { font-size: 1.3rem !important; }
}
@media (max-width: 520px) {
  body.ij-modern .ij-prx-price-grid { grid-template-columns: minmax(0,1fr); }
  body.ij-modern .ij-prx-price-icon { margin-bottom: .5rem; }
  body.ij-modern .ij-prx-hero-trust { gap: .7rem 1.25rem; }
  body.ij-modern .ij-prx-breakdown-row { grid-template-columns: minmax(0,1fr); gap: .2rem; }
  body.ij-modern .ij-prx-breakdown-row strong { text-align: left; }
  body.ij-modern .ij-prx-result { padding: 1rem; }
}

/* Contextual guides on each maintained service page. */
.ij-site .ij-service-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem}
.ij-site .ij-service-guide{display:flex;flex-direction:column;gap:.8rem;min-width:0;padding:1.4rem;border:1px solid var(--ij-border,#d4dcd7);background:#fff;color:inherit;text-decoration:none}
.ij-site .ij-service-guide h3{font-size:1.12rem;line-height:1.4;margin:0;overflow-wrap:anywhere}
.ij-site .ij-service-guide p{font-size:.95rem;line-height:1.65;margin:0}
.ij-site .ij-service-guide>span{margin-top:auto;font-weight:600;color:var(--ij-brand,#0c4b3a)}
.ij-site .ij-service-guide:hover{border-color:var(--ij-brand,#0c4b3a)}
.ij-site .ij-service-guide:focus-visible{outline:2px solid var(--ij-brand,#0c4b3a);outline-offset:4px}
@media(max-width:760px){.ij-site .ij-service-guide-grid{grid-template-columns:1fr}}
