/* FLORIN+ · schufa-erklaerer-widget.css — bespoke se-*-Komponenten (Gauge/Wizard/Faktoren/Timeline/Tips) aus Legacy, re-tokened. Geist via .fp-doc. Lädt nach calc-v2.css. */
:root{--ap-ink:#11201d;--ap-mid:#3a4744;--ap-muted:#6b7975;--ap-line:rgba(17,32,29,.12);--ap-bg:#f6f8f7;--ap-white:#fff;--ap-teal:#00afa3;--ap-teal-dark:#016a62;--ap-teal-bright:#00afa3;}
/* Page shell ------------------------------------------------- */
.se-page { background: var(--ap-bg); }
.se-section { padding: 64px 0; }
.se-section--tight { padding: 40px 0; }
.se-section--alt { background: var(--ap-white); border-top: .5px solid var(--ap-line); border-bottom: .5px solid var(--ap-line); }
.se-section-narrow { max-width: 920px; margin: 0 auto; padding: 0 24px; }
.se-section-inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; }

/* Hero ------------------------------------------------------- */
.se-hero { background: linear-gradient(180deg,#f8faf9 0%,#ffffff 100%); padding: 72px 0 56px; border-bottom: .5px solid var(--ap-line); }
.se-hero-inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.se-hero-breadcrumb { font-size: 12px; color: var(--ap-muted); margin-bottom: 18px; letter-spacing: .005em; }
.se-hero-breadcrumb a { color: var(--ap-muted); text-decoration: none; transition: color .15s; }
.se-hero-breadcrumb a:hover { color: var(--ap-ink); }
.se-hero-breadcrumb span { color: var(--ap-muted); margin: 0 6px; }
.se-hero-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ap-teal); margin-bottom: 14px; }
.se-hero-h1 { font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1.05; letter-spacing: -.028em; font-weight: 800; color: var(--ap-ink); margin: 0 0 18px; max-width: 820px; }
.se-hero-lead { font-size: clamp(1rem, 2vw, 1.2rem); line-height: 1.55; color: var(--ap-mid); margin: 0 0 28px; max-width: 620px; }
.se-hero-pills { display: flex; gap: 10px; flex-wrap: wrap; }
.se-hero-pill { display: inline-flex; align-items: center; padding: 7px 14px; background: var(--ap-white); border: .5px solid var(--ap-line); border-radius: 999px; font-size: .82rem; font-weight: 600; color: var(--ap-ink); }
.se-hero-pill-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ap-teal); margin-right: 8px; flex-shrink: 0; }

/* Eyebrows / Headings --------------------------------------- */
.se-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ap-teal); margin: 0 0 12px; }
.se-h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.1; letter-spacing: -.025em; font-weight: 800; color: var(--ap-ink); margin: 0 0 14px; }
.se-sub { font-size: 1.05rem; line-height: 1.6; color: var(--ap-mid); margin: 0 0 36px; max-width: 640px; }
.se-step-label { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ap-muted); margin: 0 0 8px; }

/* Card ------------------------------------------------------- */
.se-card { background: var(--ap-white); border: .5px solid var(--ap-line); border-radius: 18px; padding: 32px; transition: box-shadow .2s, transform .2s; }
.se-card + .se-card { margin-top: 24px; }
@media(max-width:640px){ .se-card { padding: 22px 18px; border-radius: 14px; } }

/* TLDR ------------------------------------------------------- */
.se-tldr { background: var(--ap-white); border: .5px solid var(--ap-line); border-radius: 18px; padding: 28px 32px; margin: 0 0 40px; position: relative; overflow: hidden; }
.se-tldr::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, var(--ap-teal), var(--ap-teal-dark)); }
.se-tldr-head { display: flex; align-items: center; gap: 10px; padding-bottom: 14px; margin-bottom: 16px; border-bottom: .5px solid var(--ap-line); }
.se-tldr-badge { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; padding: 4px 10px; background: var(--ap-teal); color: #fff; border-radius: 999px; }
.se-tldr-title { font-size: 1.05rem; font-weight: 800; color: var(--ap-ink); letter-spacing: -.015em; margin: 0; }
.se-tldr-list { list-style: none; padding: 0; margin: 0; }
.se-tldr-list li { padding-left: 22px; margin-bottom: 10px; position: relative; font-size: 1rem; line-height: 1.6; color: var(--ap-mid); }
.se-tldr-list li:last-child { margin-bottom: 0; }
.se-tldr-list li::before { content: ''; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: var(--ap-teal); }
.se-tldr-list li strong { color: var(--ap-ink); font-weight: 700; }

/* Gauge / Score Explorer ------------------------------------ */
.se-gauge-box { display: flex; flex-direction: column; align-items: center; margin: 8px 0 28px; }
.se-gauge-box svg { width: 100%; max-width: 320px; height: auto; display: block; overflow: visible; font-variant-numeric: tabular-nums; }
.g-track { fill: none; stroke: var(--ap-line); stroke-width: 18; stroke-linecap: round; opacity: .9; }
.g-fill  { fill: none; stroke-width: 18; stroke-linecap: round; transition: stroke-dashoffset .75s cubic-bezier(.4,0,.2,1), stroke .35s; }

/* Zone strip below gauge (Apple-pure: hairline cells, dot + tiny label) */
.se-zone-strip { display: flex; width: 100%; max-width: 460px; border: .5px solid var(--ap-line); border-radius: 12px; overflow: hidden; margin: 0 auto 12px; background: var(--ap-white); }
.se-zs-seg { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 10px 4px; gap: 4px; border-right: .5px solid var(--ap-line); }
.se-zs-seg:last-child { border-right: none; }
.se-zs-dot { width: 8px; height: 8px; border-radius: 50%; }
.se-zs-name { font-size: .68rem; font-weight: 700; color: var(--ap-ink); letter-spacing: .01em; white-space: nowrap; }
.se-zs-range { font-size: .6rem; font-weight: 500; color: var(--ap-muted); white-space: nowrap; font-variant-numeric: tabular-nums; letter-spacing: .02em; }

/* Slider (Apple-pure) --------------------------------------- */
.se-slider-section { max-width: 460px; margin: 0 auto 20px; }
.se-slider { -webkit-appearance: none; appearance: none; width: 100%; height: 4px; background: linear-gradient(to right, var(--ap-teal) 0%, var(--ap-teal) var(--fill, 84%), var(--ap-line) var(--fill, 84%), var(--ap-line) 100%); border-radius: 4px; outline: none; cursor: pointer; }
.se-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; background: #fff; border-radius: 50%; cursor: pointer; box-shadow: 0 0 0 1px rgba(0,0,0,.12), 0 2px 6px rgba(0,0,0,.16); transition: transform .15s, box-shadow .15s; }
.se-slider::-webkit-slider-thumb:hover { transform: scale(1.08); box-shadow: 0 0 0 1px var(--ap-teal), 0 4px 12px rgba(0,175,163,.3); }
.se-slider::-moz-range-thumb { width: 22px; height: 22px; background: #fff; border-radius: 50%; border: 1px solid rgba(0,0,0,.12); box-shadow: 0 2px 6px rgba(0,0,0,.16); cursor: pointer; }
.se-slider-marks { display: flex; justify-content: space-between; font-size: 11px; color: var(--ap-muted); margin-top: 8px; letter-spacing: .04em; font-variant-numeric: tabular-nums; }

/* Number input + quick-select ------------------------------- */
.se-num-row { display: flex; align-items: center; gap: 10px; justify-content: center; margin: 0 auto 22px; flex-wrap: wrap; }
.se-num-row label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--ap-muted); }
.se-num-input { width: 100px; padding: 11px 12px; border: .5px solid var(--ap-line); border-radius: 10px; font-size: 1.05rem; font-weight: 700; font-family: inherit; color: var(--ap-ink); background: var(--ap-white); text-align: center; transition: border-color .15s, box-shadow .15s; font-variant-numeric: tabular-nums; }
.se-num-input:focus { border-color: var(--ap-teal); outline: none; box-shadow: 0 0 0 3px rgba(0,175,163,.18); }
.se-num-suffix { font-size: .9rem; color: var(--ap-mid); font-weight: 600; }

.se-quick-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--ap-muted); text-align: center; margin: 0 0 10px; }
.se-quick-btns { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.se-q-btn { background: var(--ap-white); border: .5px solid var(--ap-line); border-radius: 999px; padding: 8px 16px; font-size: .82rem; font-weight: 600; cursor: pointer; font-family: inherit; color: var(--ap-ink); transition: border-color .2s, background .2s, transform .15s; display: inline-flex; align-items: center; gap: 8px; }
.se-q-btn:hover { border-color: rgba(0,175,163,.4); background: rgba(0,175,163,.04); transform: translateY(-1px); }
.se-q-btn .se-q-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }

/* Score interpretation panel -------------------------------- */
.se-interp { margin-top: 24px; padding: 22px 24px; border: .5px solid var(--ap-line); border-radius: 14px; background: var(--ap-bg); }
.se-interp-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.se-interp-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.se-interp-rating { font-size: 1.2rem; font-weight: 800; color: var(--ap-ink); letter-spacing: -.018em; }
.se-interp-range { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--ap-muted); margin-left: auto; font-variant-numeric: tabular-nums; }
.se-interp-text { font-size: .95rem; line-height: 1.65; color: var(--ap-mid); }
.se-interp-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.se-interp-tag { font-size: .76rem; font-weight: 600; color: var(--ap-ink); background: var(--ap-white); border: .5px solid var(--ap-line); border-radius: 999px; padding: 5px 12px; display: inline-flex; align-items: center; gap: 6px; }
.se-interp-tag-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }

.se-disclaimer-mini { font-size: .78rem; color: var(--ap-muted); text-align: center; margin-top: 16px; line-height: 1.55; }
.se-disclaimer-mini a { color: var(--ap-ink); text-decoration: underline; text-decoration-color: rgba(0,0,0,.2); text-underline-offset: 3px; }
.se-disclaimer-mini a:hover { color: var(--ap-teal); }

/* Factor unified-frame (Apple: one container, hairline rows) */
.se-factor-frame { border: .5px solid var(--ap-line); border-radius: 14px; overflow: hidden; background: var(--ap-white); }
.se-factor-row { display: grid; grid-template-columns: 1fr auto; gap: 14px 18px; padding: 18px 22px; border-bottom: .5px solid var(--ap-line); align-items: start; }
.se-factor-row:last-child { border-bottom: none; }
.se-factor-head { display: flex; align-items: center; gap: 10px; }
.se-factor-name { font-size: .98rem; font-weight: 700; color: var(--ap-ink); letter-spacing: -.012em; }
.se-factor-impact { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--ap-muted); display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.se-factor-impact .se-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.se-factor-text { grid-column: 1 / -1; font-size: .92rem; line-height: 1.6; color: var(--ap-mid); margin: 0; }
.se-factor-bar { grid-column: 1 / -1; height: 3px; background: var(--ap-line); border-radius: 3px; overflow: hidden; margin-top: 2px; }
.se-factor-bar-fill { height: 100%; border-radius: 3px; background: var(--ap-teal); transition: width .5s; }

/* Apple system colors for impact dots */
.se-impact--pos .se-dot, .se-impact--pos { color: #1d1d1f; }
.se-impact--pos .se-dot { background: #34c759; }
.se-impact--neg .se-dot { background: #ff3b30; }
.se-impact--neu .se-dot { background: #ff9500; }

/* Timeline (hairline list) ---------------------------------- */
.se-tl { border: .5px solid var(--ap-line); border-radius: 14px; overflow: hidden; background: var(--ap-white); }
.se-tl-row { display: grid; grid-template-columns: auto 1fr auto; gap: 14px 18px; align-items: start; padding: 18px 22px; border-bottom: .5px solid var(--ap-line); }
.se-tl-row:last-child { border-bottom: none; }
.se-tl-dot { width: 10px; height: 10px; border-radius: 50%; margin-top: 7px; flex-shrink: 0; }
.se-tl-body strong { display: block; font-size: .98rem; color: var(--ap-ink); font-weight: 700; letter-spacing: -.012em; margin-bottom: 4px; }
.se-tl-body p { font-size: .9rem; color: var(--ap-mid); margin: 0; line-height: 1.55; }
.se-tl-dur { font-size: .78rem; font-weight: 700; color: var(--ap-ink); background: var(--ap-bg); border: .5px solid var(--ap-line); border-radius: 999px; padding: 5px 12px; white-space: nowrap; font-variant-numeric: tabular-nums; letter-spacing: -.005em; }

/* Tips list ------------------------------------------------- */
.se-tips { border: .5px solid var(--ap-line); border-radius: 14px; overflow: hidden; background: var(--ap-white); list-style: none; padding: 0; margin: 0; }
.se-tip { display: grid; grid-template-columns: 1fr auto; gap: 8px 18px; padding: 18px 22px; border-bottom: .5px solid var(--ap-line); align-items: start; }
.se-tip:last-child { border-bottom: none; }
.se-tip-title { font-size: .98rem; font-weight: 700; color: var(--ap-ink); letter-spacing: -.012em; margin: 0 0 4px; }
.se-tip-desc { font-size: .9rem; color: var(--ap-mid); line-height: 1.55; margin: 0; }
.se-tip-impact { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--ap-muted); display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.se-tip-impact .se-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.se-tip-body { grid-column: 1; }

/* Hint (Apple-pure, teal hairline) -------------------------- */
.se-hint { background: rgba(0,175,163,.05); border: .5px solid rgba(0,175,163,.18); border-left: 3px solid var(--ap-teal); border-radius: 0 12px 12px 0; padding: 16px 20px; font-size: .92rem; line-height: 1.6; color: var(--ap-mid); margin: 24px 0 0; }
.se-hint strong { color: var(--ap-ink); font-weight: 700; }

/* Wizard ---------------------------------------------------- */
.se-wiz-progress-track { height: 4px; background: var(--ap-line); border-radius: 4px; overflow: hidden; margin-bottom: 14px; }
.se-wiz-progress-fill { height: 100%; background: var(--ap-teal); border-radius: 4px; transition: width .35s ease; }
.se-wiz-step-lbl { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--ap-muted); margin: 0 0 16px; font-variant-numeric: tabular-nums; }
.se-wiz-criterion { font-size: .82rem; font-weight: 600; color: var(--ap-teal); margin: 0 0 6px; letter-spacing: -.005em; }
.se-wiz-q { font-size: 1.1rem; font-weight: 700; color: var(--ap-ink); letter-spacing: -.018em; line-height: 1.45; margin: 0 0 20px; }
.se-wiz-answers { display: flex; flex-direction: column; gap: 10px; }
.se-wiz-ans { background: var(--ap-white); border: .5px solid var(--ap-line); border-radius: 12px; padding: 14px 18px; font-size: .95rem; font-weight: 500; color: var(--ap-ink); cursor: pointer; text-align: left; font-family: inherit; transition: border-color .2s, background .2s, transform .15s; letter-spacing: -.005em; }
.se-wiz-ans:hover { border-color: rgba(0,175,163,.4); background: rgba(0,175,163,.04); transform: translateY(-1px); }
.se-wiz-ans.chosen { border-color: var(--ap-teal); background: rgba(0,175,163,.06); }
.se-wiz-back { background: transparent; border: .5px solid var(--ap-line); border-radius: 999px; padding: 9px 18px; font-size: .85rem; font-weight: 600; color: var(--ap-mid); cursor: pointer; font-family: inherit; margin-top: 18px; transition: border-color .15s, color .15s; }
.se-wiz-back:hover { border-color: var(--ap-teal); color: var(--ap-teal); }

/* Wizard result */
.se-wiz-result { display: none; }
.se-wiz-result-gauge { display: flex; flex-direction: column; align-items: center; margin: 8px 0 22px; }
.se-wiz-result-gauge svg { width: 100%; max-width: 280px; height: auto; display: block; font-variant-numeric: tabular-nums; }
.se-wiz-desc { font-size: .96rem; color: var(--ap-mid); line-height: 1.65; margin: 0 0 20px; text-align: center; max-width: 480px; margin-left: auto; margin-right: auto; }
.se-wiz-apply-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 28px; background: var(--ap-ink); color: #fff; border-radius: 999px; font-weight: 600; font-size: .95rem; text-decoration: none; border: none; cursor: pointer; font-family: inherit; transition: background .25s, transform .25s; }
.se-wiz-apply-btn:hover { background: var(--ap-teal); transform: translateY(-1px); color: #fff; }
.se-wiz-restart-btn { display: inline-flex; align-items: center; gap: 6px; padding: 11px 20px; background: transparent; color: var(--ap-mid); border: .5px solid var(--ap-line); border-radius: 999px; font-weight: 600; font-size: .88rem; cursor: pointer; font-family: inherit; transition: border-color .15s, color .15s; margin-left: 10px; }
.se-wiz-restart-btn:hover { border-color: var(--ap-teal); color: var(--ap-teal); }
.se-wiz-btn-row { display: flex; justify-content: center; flex-wrap: wrap; gap: 0; }

/* Decision grid (when SCHUFA matters) ------------------------ */
.se-decision-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border-top: .5px solid var(--ap-line); border-left: .5px solid var(--ap-line); border-radius: 18px; overflow: hidden; background: var(--ap-white); }
.se-decision-card { padding: 28px 26px; border-right: .5px solid var(--ap-line); border-bottom: .5px solid var(--ap-line); transition: background .25s; }
.se-decision-card:hover { background: #fafbfc; }
.se-decision-eyebrow { font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ap-teal); margin: 0 0 12px; }
.se-decision-title { font-size: 1.1rem; font-weight: 700; color: var(--ap-ink); letter-spacing: -.015em; margin: 0 0 14px; }
.se-decision-list { list-style: none; padding: 0; margin: 0; }
.se-decision-list li { padding-left: 22px; margin-bottom: 9px; position: relative; font-size: .93rem; line-height: 1.55; color: var(--ap-mid); }
.se-decision-list li::before { content: ''; position: absolute; left: 0; top: .55em; width: 6px; height: 6px; border-radius: 50%; background: var(--ap-teal); }
@media(max-width:640px){ .se-decision-grid { grid-template-columns: 1fr; } .se-decision-card { padding: 24px 22px; } }

/* Cross-links ------------------------------------------------ */
.se-xlinks { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 32px; }
.se-xlink { background: var(--ap-white); border: .5px solid var(--ap-line); border-radius: 14px; padding: 22px; text-decoration: none; display: block; transition: transform .2s, box-shadow .2s, border-color .2s; }
.se-xlink:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0,0,0,.06); border-color: rgba(0,175,163,.3); }
.se-xlink-eyebrow { font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ap-teal); margin: 0 0 8px; }
.se-xlink-title { font-size: .98rem; font-weight: 700; color: var(--ap-ink); letter-spacing: -.012em; margin: 0 0 4px; }
.se-xlink-desc { font-size: .82rem; color: var(--ap-mid); margin: 0; }
@media(max-width:760px){ .se-xlinks { grid-template-columns: 1fr; } }

/* Inline CTA inside card ------------------------------------ */
.se-inline-cta { margin-top: 32px; padding: 26px 30px; background: linear-gradient(180deg, var(--ap-white), #f8faf9); border: .5px solid var(--ap-line); border-radius: 16px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.se-inline-cta-text h3 { font-size: 1.05rem; font-weight: 700; color: var(--ap-ink); letter-spacing: -.015em; margin: 0 0 4px; }
.se-inline-cta-text p { font-size: .9rem; color: var(--ap-mid); margin: 0; line-height: 1.5; }
.se-inline-cta-btn { display: inline-flex; align-items: center; gap: 6px; padding: 12px 24px; background: var(--ap-ink); color: #fff; border-radius: 999px; font-size: .92rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background .2s, transform .15s; }
.se-inline-cta-btn:hover { background: var(--ap-teal); transform: translateY(-1px); color: #fff; }
@media(max-width:640px){ .se-inline-cta { flex-direction: column; align-items: flex-start; padding: 22px 20px; } .se-inline-cta-btn { width: 100%; justify-content: center; } }

/* FAQ (Apple-pure, hairline) -------------------------------- */
.se-faq { margin: 0; border-top: .5px solid var(--ap-line); }
.se-faq-item { background: transparent; border: none; border-bottom: .5px solid var(--ap-line); border-radius: 0; margin: 0; padding: 0; overflow: visible; }
.se-faq-item summary { cursor: pointer; padding: 22px 56px 22px 0; font-size: 1.02rem; font-weight: 600; color: var(--ap-ink); letter-spacing: -.012em; line-height: 1.4; position: relative; list-style: none; transition: color .15s; }
.se-faq-item summary::-webkit-details-marker { display: none; }
.se-faq-item summary::marker { display: none; content: ""; }
.se-faq-item summary:hover { color: var(--ap-teal); }
.se-faq-item summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 50%; border: .5px solid var(--ap-line); display: inline-flex; align-items: center; justify-content: center; font-size: 1.15rem; font-weight: 400; color: var(--ap-mid); line-height: 1; transition: color .2s, border-color .2s, background .2s; background: transparent; font-family: system-ui, sans-serif; }
.se-faq-item[open] summary::after { content: "\2212"; color: var(--ap-teal); border-color: var(--ap-teal); }
.se-faq-item summary:hover::after { color: var(--ap-teal); border-color: var(--ap-teal); }
.se-faq-body { padding: 0 56px 22px 0; font-size: .96rem; line-height: 1.65; color: var(--ap-mid); }
.se-faq-body p { margin: 0 0 12px; }
.se-faq-body p:last-child { margin-bottom: 0; }
.se-faq-body strong { color: var(--ap-ink); font-weight: 700; }

/* Final CTA -------------------------------------------------- */
.se-final-cta { padding: 88px 24px; background: var(--ap-white); border-top: .5px solid var(--ap-line); border-bottom: .5px solid var(--ap-line); }
.se-final-cta-inner { max-width: 1140px; margin: 0 auto; }
.se-final-cta-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ap-teal); margin: 0 0 14px; }
.se-final-cta h2 { font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.06; letter-spacing: -.028em; font-weight: 800; color: var(--ap-ink); margin: 0 0 16px; max-width: 720px; }
.se-final-cta-sub { font-size: 1.05rem; line-height: 1.55; color: var(--ap-mid); margin: 0 0 28px; max-width: 580px; }
.se-final-cta-bullets { display: flex; flex-wrap: wrap; gap: 18px; margin: 0 0 32px; font-size: .9rem; color: var(--ap-mid); }
.se-final-cta-bullets span { display: inline-flex; align-items: center; gap: 8px; }
.se-final-cta-bullets span::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--ap-teal); }
.se-final-cta-btn { display: inline-flex; align-items: center; gap: 8px; padding: 15px 32px; background: var(--ap-ink); color: #fff; border-radius: 999px; font-weight: 600; font-size: 1rem; text-decoration: none; transition: background .25s, transform .25s; }
.se-final-cta-btn:hover { background: var(--ap-teal); transform: translateY(-1px); color: #fff; }
.se-final-cta-trust { font-size: .82rem; color: var(--ap-muted); margin-top: 18px; }
.se-final-cta-trust a { color: var(--ap-ink); text-decoration: underline; text-decoration-color: rgba(0,0,0,.2); text-underline-offset: 3px; }
.se-final-cta-trust a:hover { color: var(--ap-teal); }
@media(max-width:640px){ .se-final-cta { padding: 64px 20px; } .se-final-cta-btn { width: 100%; justify-content: center; } }

/* Antrag iframe --------------------------------------------- */
#antrag { padding: 0; margin: 0; line-height: 0; background: var(--ap-bg); }
#antrag-iframe { border: none; display: block; width: 100%; height: 900px; transition: height .2s ease; }

/* Share strip ------------------------------------------------ */
.share-strip { background: var(--ap-bg); border-top: .5px solid var(--ap-line); border-bottom: .5px solid var(--ap-line); padding: 32px 0; }
.share-strip .container { max-width: 1140px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.share-strip p { font-size: .92rem; color: var(--ap-mid); margin: 0; }
.share-buttons { display: flex; gap: 8px; flex-wrap: wrap; }
.share-btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; background: var(--ap-ink); color: #fff; border: none; border-radius: 999px; font-size: .82rem; font-weight: 600; text-decoration: none; cursor: pointer; font-family: inherit; transition: background .2s, transform .15s; }
.share-btn:hover { background: var(--ap-teal); transform: translateY(-1px); color: #fff; }
@media(max-width:600px){ .share-btn { padding: 8px 12px; font-size: .78rem; } }

/* Cookie banner footer overrides ---------------------------- */
@media(max-width:600px){#cookie-banner{flex-direction:column;gap:10px;padding:14px}.cb-btn{width:100%;text-align:center}}

/* === Apple-pure factor-bar improvement (subtle, no harsh red lines) === */
.se-factor-bar { height: 6px !important; background: rgba(118,118,128,.12) !important; border-radius: 999px !important; overflow: hidden !important; margin-top: 12px !important; max-width: 100% !important; }
.se-factor-bar-fill { height: 100% !important; border-radius: 999px !important; transition: width .4s ease-out !important; }
/* Negative impact: soft red */
.se-factor-row:has(.se-impact--neg) .se-factor-bar-fill,
.se-factor-row .se-impact--neg ~ * .se-factor-bar-fill { background: #ff3b30 !important; }
/* Positive impact: teal */
.se-factor-row .se-impact--pos ~ * .se-factor-bar-fill { background: var(--ap-teal, #00afa3) !important; }


/* === Apple-UX Quiz Layout === */
#wizardCard { padding: 36px 36px 32px !important; border-radius: 18px !important; border: .5px solid var(--ap-line, #d2d2d7) !important; background: #fff !important; }
@media (max-width: 640px) { #wizardCard { padding: 24px 22px 24px !important; border-radius: 16px !important; } }

/* Step label — quiet, refined */
#wizardCard .se-step-label { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--ap-muted, #86868b) !important; margin: 0 0 8px !important; }
#wizardCard .se-h2 { font-size: 1.5rem !important; font-weight: 800 !important; letter-spacing: -.022em !important; margin: 0 0 8px !important; color: var(--ap-ink, #1d1d1f) !important; line-height: 1.2 !important; }
#wizardCard .se-sub { font-size: 1rem !important; color: var(--ap-mid, #515154) !important; margin-bottom: 28px !important; line-height: 1.55 !important; }

/* Hint (disclaimer) — quieter */
#wizardCard .se-hint { background: var(--ap-bg, #f5f5f7) !important; border: .5px solid var(--ap-line, #d2d2d7) !important; border-radius: 12px !important; padding: 14px 16px !important; font-size: .85rem !important; line-height: 1.5 !important; color: var(--ap-mid, #515154) !important; margin: 0 0 28px !important; }
#wizardCard .se-hint strong { color: var(--ap-ink, #1d1d1f) !important; }

/* === Progress Bar — Apple-pure === */
.se-wiz-progress-track { height: 4px !important; background: rgba(118,118,128,.16) !important; border-radius: 999px !important; overflow: hidden !important; margin: 0 0 12px !important; }
.se-wiz-progress-fill { height: 100% !important; background: linear-gradient(90deg, var(--ap-teal-bright, #00afa3), var(--ap-teal-dark, #0d8276)) !important; border-radius: 999px !important; transition: width .4s cubic-bezier(.4,0,.2,1) !important; }
.se-wiz-step-lbl { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--ap-muted, #86868b) !important; margin: 0 0 28px !important; font-variant-numeric: tabular-nums !important; }
.se-wiz-step-lbl #wiz-progress-text { color: var(--ap-ink, #1d1d1f) !important; }

/* === Question === */
#wiz-section { animation: wizFade .25s ease-out !important; }
@keyframes wizFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.se-wiz-criterion { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--ap-teal-dark, #0d8276) !important; margin: 0 0 10px !important; }
.se-wiz-q { font-size: 1.35rem !important; font-weight: 700 !important; letter-spacing: -.018em !important; color: var(--ap-ink, #1d1d1f) !important; line-height: 1.3 !important; margin: 0 0 28px !important; }
@media (max-width: 640px) { .se-wiz-q { font-size: 1.15rem !important; margin-bottom: 22px !important; } }

/* === Answers — Apple-pure Touch-Targets === */
.se-wiz-answers { display: flex !important; flex-direction: column !important; gap: 10px !important; margin-bottom: 24px !important; }
.se-wiz-answers button, .se-wiz-answers .se-wiz-answer { 
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  min-height: 60px !important; padding: 16px 22px !important;
  background: #fff !important; border: .5px solid var(--ap-line, #d2d2d7) !important; border-radius: 14px !important;
  font: inherit !important; font-size: 1rem !important; font-weight: 500 !important; color: var(--ap-ink, #1d1d1f) !important;
  text-align: left !important; cursor: pointer !important;
  transition: border-color .15s ease, background .15s ease, transform .1s ease, box-shadow .15s ease !important;
  appearance: none !important; -webkit-appearance: none !important;
  width: 100% !important;
}
.se-wiz-answers button::after, .se-wiz-answers .se-wiz-answer::after {
  content: '›' !important; color: var(--ap-muted, #86868b) !important; font-size: 1.2rem !important; font-weight: 400 !important;
  transition: color .15s ease, transform .15s ease !important; margin-left: 12px !important;
}
.se-wiz-answers button:hover, .se-wiz-answers .se-wiz-answer:hover {
  border-color: var(--ap-teal, #0d8276) !important; 
  background: rgba(0,175,163,.04) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.04) !important;
}
.se-wiz-answers button:hover::after, .se-wiz-answers .se-wiz-answer:hover::after {
  color: var(--ap-teal-dark, #0d8276) !important; transform: translateX(2px) !important;
}
.se-wiz-answers button:active, .se-wiz-answers .se-wiz-answer:active { 
  transform: translateY(0) !important; background: rgba(0,175,163,.08) !important;
}
.se-wiz-answers button:focus-visible, .se-wiz-answers .se-wiz-answer:focus-visible {
  outline: 2px solid var(--ap-teal-dark, #0d8276) !important; outline-offset: 2px !important;
}

/* === Back button === */
.se-wiz-back { 
  background: transparent !important; border: none !important; padding: 8px 16px !important;
  font: inherit !important; font-size: .9rem !important; color: var(--ap-mid, #515154) !important;
  cursor: pointer !important; border-radius: 999px !important;
  transition: color .15s, background .15s !important;
}
.se-wiz-back:hover { color: var(--ap-ink, #1d1d1f) !important; background: var(--ap-bg, #f5f5f7) !important; }

@media (max-width: 640px) {
  .se-wiz-answers button, .se-wiz-answers .se-wiz-answer { min-height: 56px !important; padding: 14px 18px !important; font-size: .96rem !important; }

/* ===== fp-Optimierung: Lesebreite auf dieser Seite (einspaltig, nicht volle 1180px) ===== */
main.fp-container > .se-card,
main.fp-container > .sc-toc,
main.fp-container > .fp-section,
main.fp-container > .se-xlinks{max-width:920px;margin-left:auto;margin-right:auto;}
main.fp-container > .se-final-cta,
main.fp-container > #antrag{max-width:1040px;margin-left:auto;margin-right:auto;}

/* ===== Mobile-Fix: 3-Spalten-Grids (Timeline/Faktoren/Tipps) stapeln, Pills nicht clippen ===== */
@media(max-width:600px){
  .se-tl-row{grid-template-columns:auto 1fr;row-gap:8px;}
  .se-tl-dur{grid-column:2;justify-self:start;white-space:normal;}
  .se-factor-row{grid-template-columns:1fr;gap:8px;}
  .se-factor-impact{justify-self:start;white-space:normal;}
  .se-tip{grid-template-columns:1fr;gap:6px;}
  .se-tip-impact{justify-self:start;white-space:normal;}
  .se-interp-range{margin-left:0;}
}
