/* Reusable layout/color utilities for legacy inline LP fragments. */
.u-container-1200 {
  max-width:1200px;
  margin:0 auto;
}

.u-container-1200-mt-sm {
  max-width:1200px;
  margin:12px auto 0;
}

.u-filter-actions-row {
  display:flex;
  align-items:flex-end;
  gap:16px;
  flex-wrap:wrap;
  padding-bottom:16px;
  border-bottom:var(--border-bottom-subtle);
  margin-bottom:16px;
}

.u-stack-start-2 {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
}

.u-card-padded {
  background:#fff;
  border:var(--border-card);
  border-radius:var(--radius);
  padding:24px;
}

.u-card-flex-note {
  background:#fff;
  border:var(--border-card);
  border-radius:12px;
  padding:18px 20px;
  display:flex;
  gap:14px;
  align-items:flex-start;
}

.u-card-flex-step {
  display:flex;
  gap:16px;
  align-items:flex-start;
  background:#fff;
  border:var(--border-card);
  border-radius:12px;
  padding:16px 20px;
}

.u-inline-heading-row {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}

.u-inline-wrap-16 {
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}

.u-tag-row {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.u-check-green-inline {
  color:var(--green);
  font-weight: var(--font-weight-semibold);
  display:flex;
  align-items:center;
  gap:4px;
}

.u-inline-chip-muted {
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--gray-700);
  font-weight: var(--font-weight-medium);
  white-space:nowrap;
}

.u-note-blue-soft {
  background:rgba(34,68,232,0.08);
  border-radius:14px;
  padding:20px 24px;
  margin-top:22px;
}

.u-list-stack-10 {
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:16px 0;
}

.u-icon-square-blue {
  width:36px;
  height:36px;
  border-radius:10px;
  background:var(--accent-color-soft);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.u-icon-square-orange {
  width:36px;
  height:36px;
  border-radius:10px;
  background:var(--accent-orange-soft);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.u-icon-square-green {
  width:36px;
  height:36px;
  border-radius:10px;
  background:var(--green-light);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.u-icon-error-circle {
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--accent-orange-soft);
  color:var(--accent-orange-text);
  font-weight: var(--font-weight-black);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  line-height: var(--line-height-tight);
}

.u-step-number-blue {
  width:32px;
  height:32px;
  border-radius:8px;
  background:var(--accent-color-soft);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-weight: var(--font-weight-extrabold);
  color:var(--accent-color-text);
}

.u-mini-card-success {
  border-color:rgba(22,163,74,0.2);
  background:#F0FDF4;
}

.u-mini-card-purple {
  border-color:rgba(124,58,237,0.15);
  background:#F5F3FF;
}

.u-flex-min-0 {
  flex:1;
  min-width:0;
}

.u-flex-min-220 {
  flex:1;
  min-width:220px;
}

.u-max-760 {
  max-width:760px;
}

.u-col-min-90 {
  min-width:90px;
}

.u-col-min-110 {
  min-width:110px;
}

.u-col-min-120 {
  min-width:120px;
}

.u-col-min-130 {
  min-width:130px;
}

.u-col-min-140 {
  min-width:140px;
}

.u-col-min-160 {
  min-width:160px;
}

.u-col-min-200 {
  min-width:200px;
}

.u-col-center-90 {
  min-width:90px;
  text-align:center;
}

/* Additional repeated LP fragments. */
.u-compare-row-border {
  display:flex;
  align-items:center;
  gap:16px;
  padding:14px 20px;
  border-bottom:1px solid var(--gray-200);
}

.u-compare-row {
  display:flex;
  align-items:center;
  gap:16px;
  padding:14px 20px;
}

.u-split-card {
  display:flex;
  align-items:stretch;
  gap:0;
  background:#fff;
  border:var(--border-card);
  border-radius:12px;
  overflow:hidden;
}

.u-pill-link {
  font-weight: var(--font-weight-semibold);
  color:var(--accent-color-text);
  background:#fff;
  border:var(--border-card);
  border-radius:20px;
  padding:4px 12px;
  text-decoration:none;
  transition:border-color .15s;
}

.u-relative-list-muted {
  color:var(--gray-500);
  line-height: var(--line-height-caption);
  padding-left:18px;
  position:relative;
}

.u-abs-check-green {
  position:absolute;
  left:0;
  color:var(--green);
  font-weight: var(--font-weight-extrabold);
}

.u-abs-check-red {
  position:absolute;
  left:0;
  color:var(--red);
  font-weight: var(--font-weight-extrabold);
}

.u-abs-muted-marker {
  position:absolute;
  left:0;
  color:var(--gray-300);
  font-weight: var(--font-weight-bold);
}

.u-logo-media-fit {
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:4px;
}

.u-scroll-anchor {
  scroll-margin-top: 80px;
}

.u-grid-3-border {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  border-bottom:var(--border-bottom-muted);
}

.u-table-cell-heading {
  padding:12px 16px;
  font-weight: var(--font-weight-semibold);
  color:var(--gray-700);
}

.u-table-cell-muted {
  padding:12px 16px;
  color:var(--gray-700);
  background:var(--gray-100);
}

.u-table-cell-blue {
  padding:12px 16px;
  color:var(--gray-700);
  background:var(--accent-color-soft);
}

.u-step-number-orange {
  width:32px;
  height:32px;
  border-radius:8px;
  background:var(--accent-orange-soft);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-weight: var(--font-weight-extrabold);
  color:var(--accent-orange-text);
}

.u-note-body-muted {
  color:var(--gray-500);
  line-height: var(--line-height-note);
  margin:0;
}

.u-body-muted {
  color:var(--gray-500);
  line-height: var(--line-height-note);
}

.u-body-muted-wide {
  color:var(--gray-500);
  line-height: var(--line-height-base);
  margin:0;
}

.u-title-strong-mb4 {
  font-weight: var(--font-weight-extrabold);
  color:var(--gray-800);
  margin-bottom:4px;
}

.u-title-strong-mb5 {
  font-weight: var(--font-weight-extrabold);
  color:var(--gray-800);
  margin-bottom:5px;
}

/* Generic LP inline cleanup utilities. */
.u-text-center { text-align:center; }
.u-text-gray-800 { color:var(--gray-800); }
.u-text-gray-700 { color:var(--gray-700); }
.u-text-gray-500 { color:var(--gray-500); }
.u-text-gray-300 { color:var(--gray-300); }
.u-text-blue { color:var(--accent-color-text); }
.u-text-green { color:var(--green); }
.u-text-green-strong { color:var(--green); font-weight: var(--font-weight-bold); }
.u-text-green-xstrong { color:var(--green); font-weight: var(--font-weight-extrabold); }
.u-text-orange-strong { color:var(--accent-orange-text); font-weight: var(--font-weight-semibold); }
.u-fw-700 { font-weight: var(--font-weight-bold); }
.u-fw-800 { font-weight: var(--font-weight-extrabold); }
.u-fw-900 { font-weight: var(--font-weight-black); }
.u-bg-white { background:#fff; }
.u-mb-0 { margin-bottom:0; }
.u-mb-14 { margin-bottom:14px; }
.u-mb-32 { margin-bottom:32px; }
.u-mt-3 { margin-top:3px; }
.u-mt-12 { margin-top:12px; }
.u-ml-auto { margin-left:auto; }
.u-flex-1 { flex:1; }
.u-flex-shrink-0 { flex-shrink:0; }
.u-order-1-min-0 { order:1; min-width:0; }
.u-grid-1-gap-12 { grid-template-columns:1fr; gap:12px; }
.u-grid-2 { grid-template-columns:1fr 1fr; }
.u-min-80 { min-width:80px; }
.u-min-100 { min-width:100px; }
.u-min-150 { min-width:150px; }
.u-min-190 { min-width:190px; }
.u-min-100-center { min-width:100px; text-align:center; }
.u-nowrap-muted-center { color:var(--gray-500); text-align:center; white-space:nowrap; }
.u-nowrap-muted { color:var(--gray-500); white-space:nowrap; }
.u-muted-mt-12 { color:var(--gray-300); margin-top:12px; }
.u-gray-700-lh-15 { color:var(--gray-700); line-height: var(--line-height-normal); }
.u-gray-700-lh-16-pad-rel { color:var(--gray-700); line-height: var(--line-height-note); padding-left:14px; position:relative; }
.u-gray-500-ml-10 { color:var(--gray-500); margin-left:10px; }
.u-title-700-gray-800 { font-weight: var(--font-weight-bold); color:var(--gray-800); }
.u-title-700-gray-800-mb10 { font-weight: var(--font-weight-bold); color:var(--gray-800); margin-bottom:10px; }
.u-uppercase-blue-mb12 { font-weight: var(--font-weight-bold); color:var(--accent-color-text); text-transform:uppercase; letter-spacing: var(--letter-spacing-label); margin-bottom:12px; }
.u-flex-center-gap-14-wrap-auto { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-left:auto; }
.u-flex-center-gap-5-muted { display:flex; align-items:center; gap:5px; color:var(--gray-300); }
.u-flex-center-gap-6-wrap { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.u-stack-gap-12 { display:flex; flex-direction:column; gap:12px; }
.u-width-full-pad-sm { width:100%; padding:6px 0 2px; }
.u-empty-state-muted { text-align:center; padding:60px 20px; color:var(--gray-500); }
.u-cell-center-gray-700-600 { text-align:center; font-weight: var(--font-weight-semibold); color:var(--gray-700); }
.u-cell-center-green-800 { text-align:center; font-weight: var(--font-weight-extrabold); color:var(--green); }
.u-cell-center-gray-800-800 { text-align:center; font-weight: var(--font-weight-extrabold); color:var(--gray-800); }

/* Repeated LP card and badge fragments. */
.u-grid-2-gap-16-my-24 { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:24px 0; }
.u-card-border-overflow { background:#fff; border:var(--border-card); border-radius:12px; overflow:hidden; }
.u-card-head-blue { background:var(--accent-color-soft); padding:12px 20px; border-bottom:var(--border-bottom-subtle); }
.u-card-head-orange { background:var(--accent-orange-soft); padding:12px 20px; border-bottom:var(--border-bottom-subtle); }
.u-card-body-stack-10 { padding:16px 20px; display:flex; flex-direction:column; gap:10px; }
.u-title-blue-800 { font-weight: var(--font-weight-extrabold); color:var(--accent-color-text); }
.u-title-orange-800 { font-weight: var(--font-weight-extrabold); color:var(--accent-orange-text); }
.u-side-blue { width:6px; flex-shrink:0; background:var(--accent-color-bg); }
.u-side-orange { width:6px; flex-shrink:0; background:var(--accent-orange-bg); }
.u-side-amber { width:6px; flex-shrink:0; background:#F59E0B; }
.u-badge-blue-soft { font-weight: var(--font-weight-extrabold); letter-spacing: var(--letter-spacing-eyebrow); text-transform:uppercase; background:var(--accent-color-soft); color:var(--accent-color-text); padding:3px 10px; border-radius:20px; white-space:nowrap; flex-shrink:0; }
.u-badge-orange-soft { font-weight: var(--font-weight-extrabold); letter-spacing: var(--letter-spacing-eyebrow); text-transform:uppercase; background:var(--accent-orange-soft); color:var(--accent-orange-text); padding:3px 10px; border-radius:20px; white-space:nowrap; flex-shrink:0; }
.u-badge-amber-soft { font-weight: var(--font-weight-extrabold); letter-spacing: var(--letter-spacing-eyebrow); text-transform:uppercase; background:#FEF3C7; color:#B45309; padding:3px 10px; border-radius:20px; white-space:nowrap; flex-shrink:0; }
.u-icon-square-purple { width:36px; height:36px; border-radius:10px; background:var(--purple-light); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.u-bg-green-wash { background:#F0FBF4; }
.u-card-danger-wash { border-color:rgba(220,38,38,0.15); background:#FFF5F5; }
.u-icon-inline-blue { vertical-align:-2px; margin-right:4px; color:var(--accent-color-text); }
.u-text-gray-400-mt2 { color:var(--gray-400); margin-top:2px; }
.u-hidden { display:none; }
.u-relative { position:relative; }
.u-mt-16 { margin-top:16px; }

/* Targeted LP inline cleanup: guthabenkonto + kredit fuer selbststaendige. */
.u-filter-helper-text { color:var(--gray-500); font-weight: var(--font-weight-medium); margin-top:8px; }
.u-filter-helper-em { color:var(--accent-color-text); font-weight: var(--font-weight-semibold); }
.u-filter-panel-title { font-weight: var(--font-weight-extrabold); color:var(--gray-800); letter-spacing:-0.1px; }
.u-filter-auto-note { color:var(--gray-500); font-style:italic; margin-bottom:0; }
.u-filter-auto-note-tight { color:var(--gray-500); font-style:italic; margin-bottom:4px; }
.u-method-strip { padding:20px 5vw 16px; background:var(--gray-50); border-bottom:var(--border-bottom-subtle); }
.u-method-card-blue { background:linear-gradient(135deg,var(--accent-color-soft) 0%,var(--accent-color-soft-strong) 100%); border:var(--border-card); border-radius:16px; padding:18px 22px; }
.u-method-icon-lg { flex-shrink:0; width:44px; height:44px; border-radius:12px; background:var(--accent-color-bg); display:flex; align-items:center; justify-content:center; box-shadow:0 3px 10px rgba(47,73,179,0.2); }
.u-method-title { font-weight: var(--font-weight-extrabold); color:var(--gray-800); letter-spacing: var(--letter-spacing-ui-tight); line-height: var(--line-height-heading); }
.u-method-divider { width:1px; height:36px; background:var(--gray-200); flex-shrink:0; display:none; }
.u-method-criteria { display:flex; flex-wrap:wrap; gap:6px 18px; flex:1; min-width:280px; }
.u-method-note { margin-top:14px; background:rgba(255,255,255,0.65); border:var(--border-subtle); border-radius:10px; padding:9px 14px; display:flex; align-items:center; gap:8px; }
.u-method-note-text { color:var(--gray-400); line-height: var(--line-height-ui); }
.u-float-img-right { float:right; width:280px; max-width:45%; border-radius:16px; object-fit:cover; margin:4px 0 20px 32px; box-shadow:0 4px 24px rgba(34,68,232,0.10); }
.u-clear-both { clear:both; }
.u-compare-table-shell { background:#fff; border:1.5px solid var(--gray-200); border-radius:14px; overflow:hidden; margin:20px 0 24px; }
.u-grid-3-border-strong { display:grid; grid-template-columns:1fr 1fr 1fr; border-bottom:2px solid var(--gray-200); }
.u-compare-head { padding:12px 16px; font-weight:800; color:var(--gray-500); text-transform:uppercase; letter-spacing:0.07em; }
.u-compare-head-blue { padding:12px 16px; font-weight:800; color:var(--accent-color-text); text-transform:uppercase; letter-spacing:0.07em; background:var(--accent-color-soft); }
.u-compare-head-muted { padding:12px 16px; font-weight:800; color:var(--gray-500); text-transform:uppercase; letter-spacing:0.07em; background:var(--gray-100); }
.u-compare-cell-green-blue { padding:12px 16px; color:var(--green); font-weight:700; background:var(--accent-color-soft); }
.u-kredit-calc-card { background:#fff; border:var(--border-card); border-radius:14px; padding:20px 24px; margin-top:4px; }
.u-kredit-calc-head { display:flex; align-items:center; gap:8px; margin-bottom:18px; padding-bottom:14px; border-bottom:var(--border-bottom-muted); }
.u-icon-square-blue-sm { width:30px; height:30px; border-radius:8px; background:var(--accent-color-soft); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.u-kredit-calc-title { font-weight: var(--font-weight-bold); color:var(--gray-700); letter-spacing:-0.1px; }
.u-mt-1-muted { color:var(--gray-500); margin-top:1px; }
.u-kredit-calc-layout { display:flex; gap:24px; flex-wrap:wrap; align-items:flex-end; }
.u-kredit-calc-inputs { display:flex; gap:14px; flex-wrap:wrap; flex:1; min-width:260px; }
.u-kredit-result-box { display:flex; gap:0; background:var(--gray-50); border:var(--border-card); border-radius:12px; overflow:hidden; flex-shrink:0; }
.u-kredit-result-cell { padding:14px 22px; text-align:center; }
.u-kredit-result-cell-border { padding:14px 22px; text-align:center; border-right:1px solid var(--gray-200); }
.u-kredit-disclaimer { color:var(--gray-500); line-height: var(--line-height-list); margin:14px 0 0; padding-top:12px; border-top:1px solid var(--gray-100); }
.u-icon-inline-gray { vertical-align:-1px; margin-right:3px; color:var(--gray-500); }
.u-method-strip-white { background:#fff; border-top:1px solid var(--gray-200); border-bottom:var(--border-bottom-subtle); padding:14px 5vw; }
.u-flex-start-gap-14-wrap { display:flex; align-items:flex-start; gap:14px; flex-wrap:wrap; }
.u-method-icon-sm { flex-shrink:0; width:28px; height:28px; border-radius:8px; background:var(--accent-color-soft); display:flex; align-items:center; justify-content:center; margin-top:1px; }
.u-mt-4-0-0 { margin:4px 0 0; }
.u-section-bottom-72 { padding:0 0 72px; }
.u-auto-grid-cards { margin-top:36px; display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; margin-bottom:40px; }
.u-card-muted-padded { background:#fff; border:var(--border-subtle); border-radius:var(--radius); padding:20px 24px; }
.u-card-gray-padded-mt16 { background:var(--gray-50); border:var(--border-subtle); border-radius:var(--radius); padding:20px 24px; margin-top:16px; }
.u-flex-center-gap-8-mb12 { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.u-icon-square-blue-xs { width:26px; height:26px; border-radius:7px; background:var(--accent-color-soft); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.u-source-title { color:var(--gray-800); text-transform:uppercase; letter-spacing: var(--letter-spacing-meta); }
.u-mb-12-zero { margin:0 0 12px; }
.u-flex-wrap-gap-8 { display:flex; flex-wrap:wrap; gap:8px; }

/* Targeted LP JS-template inline cleanup. */
.u-grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; }
.u-reason-line { color:var(--gray-500); margin-top:4px; line-height: var(--line-height-caption); font-style:italic; }
.u-chip-muted-small { display:inline-block; font-weight: var(--font-weight-medium); color:var(--gray-700); background:var(--gray-100); border-radius:4px; padding:2px 6px; margin-bottom:3px; line-height: var(--line-height-caption); }
.u-table-provider-row { display:flex; align-items:flex-start; gap:10px; }
.u-logo-dynamic-bg { flex-shrink:0; }
.u-min-0 { min-width:0; }
.u-cell-center-strong { text-align:center; font-weight: var(--font-weight-extrabold); color:var(--gray-800); }
.u-cell-center-700 { text-align:center; font-weight: var(--font-weight-bold); }
.u-cell-center-muted-600 { text-align:center; font-weight: var(--font-weight-semibold); color:var(--gray-500); }
.u-kredit-type-chip { font-weight: var(--font-weight-semibold); color:var(--accent-color-text); background:var(--accent-color-soft); border-radius:6px; padding:3px 8px; }
.u-stack-gap-3 { display:flex; flex-direction:column; gap:3px; }
.u-stack-start-gap-3 { display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
.u-month-note { color:var(--gray-300); font-weight: var(--font-weight-medium); }
.u-btn-table-prominent { padding:10px 18px; box-shadow:0 3px 10px rgba(34,68,232,0.18); }
.u-cta-note-muted { color:var(--gray-300); padding-left:2px; margin-top:4px; display:block; }
.u-percent-inline { font-weight: var(--font-weight-bold); vertical-align:-2px; margin-right:5px; }

/* Brand color utilities used by text fallback logos in LP tables. */
.u-brand-bbva { color:#0078D7; }
.u-brand-c24 { color:#2244E8; }
.u-brand-comdirect { color:#CCAA00; }
.u-brand-1822 { color:#E30613; }
.u-brand-santander { color:#EC0000; }
.u-brand-tomorrow { color:#1C6B3C; }
.u-brand-n26 { color:#1A1A1A; }
.u-brand-n26-navy { color:#111845; }
.u-brand-consors { color:#E30613; }
.u-brand-smava { color:#2244E8; }
.u-brand-comd { color:#FDB813; }
.u-brand-revolut-blue { color:#2440D4; }
.u-brand-revolut-light { color:#0075EB; }
.u-brand-revolut { color:#6337EA; }
.u-brand-bforbank { color:#6366F1; }
.u-brand-bunq { color:#059669; }
.u-brand-bunq-bright { color:#00C58E; }
.u-brand-tr-black { color:#111; }
.u-brand-mgk { color:#2244E8; }
.u-brand-dark { color:#2F2F2F; }
.u-brand-tr-blue { color:#2244E8; }
.u-brand-tomorrow-dark { color:#0A6B4B; }
.u-brand-instabank { color:#F05E18; }
.u-brand-commerzbank-yellow { color:#FFCC00; }
.u-brand-paycenter { color:#555; }
.u-brand-wise { color:#9FE870; }
.u-brand-qonto-blue { color:#0082FF; }
.u-brand-tr-green { color:#14641E; }
.u-brand-c24-purple { color:#6A22CC; }
.u-brand-iwoca { color:#00C064; }
.u-brand-targobank { color:#960032; }
