/* Investment Lab und Investitionsrechner im Design-System (CP4, 28.10.2026). Nur auf Seiten mit fgsTools: true (base.njk),
   zusätzlich zu fg-system.css. Inhalt: der Abschnitt „Investment Lab und Investitionsrechner“ aus fg-design.css unverändert,
   geändert nur die Hülle (.fgd-textlink → .fgs-link, .fgd-btn → .fgs-btn, Pfeil-Symbol → .fgs-arrow). Die Skripte
   /investment-lab.js und /investitionsrechner.js erzeugen lab-* und invest-* und schalten über [hidden], .is-active, .is-visible.
   Die --fgd-* Werte zeigen auf das System; die Angleichung an den Brief steht am Ende (Navy nur im Abschlussband, Felder mit
   Linie unten, keine Kästen, keine Kicker über H2, Kennzahlen ohne Kacheln). */
.fgs {
  --fgd-navy: var(--fgs-navy); --fgd-navy-2: #11113D; --fgd-gold: var(--fgs-gold); --fgd-gold-ink: var(--fgs-gold-text);
  --fgd-paper: var(--fgs-bg); --fgd-stone: #EFEBE1; --fgd-white: #FFFFFF; --fgd-ink: var(--fgs-ink); --fgd-muted: var(--fgs-ink-2);
  --fgd-line: var(--fgs-line); --fgd-on-navy: var(--fgs-on-navy); --fgd-line-navy: var(--fgs-line-navy);
  --fgd-serif: var(--fgs-serif); --fgd-sans: var(--fgs-sans); --fgd-header-h: var(--fgs-header-h); --fgd-radius: var(--fgs-r); --fgd-ease: var(--fgs-ease);
}

/* =========================================================================
   Investment Lab (investment-lab.njk) und Investitionsrechner (investitionsrechner.njk), Brief Design-Pass §4.6
   Nur Gestaltung: Markup der Rechner kommt aus /investment-lab.js und /investitionsrechner.js (Klassen lab-*, invest-*).
   Diese Skripte schalten Bereiche über [hidden], .is-active und .is-visible; das muss hier erhalten bleiben.
   ========================================================================= */
.fgd-lab [hidden], .fgd-lab-start [hidden], .fgd-invest [hidden] { display: none !important; }

/* Font-Awesome-Zeichen aus den Skripten: im neuen Design ohne Icon-Schrift; Pfeile als Linienpfeil, Rest entfällt */
.fgd-lab i.fas { display: none; }
.fgd-lab i.fa-arrow-right, .fgd-lab i.fa-arrow-left {
  display: inline-block; flex: none; width: 17px; height: 17px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.fgd-lab i.fa-arrow-left { transform: rotate(180deg); }

/* Kleine Überschriften und Knöpfe, die das Skript erzeugt, wie fgd-kicker und fgd-btn */
.fgd-lab .lab-kicker {
  display: inline-flex; align-items: flex-start; gap: 12px; margin-bottom: 14px;
  font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--fgd-gold-ink);
}
.fgd-lab .lab-kicker::before { content: ""; flex: none; width: 28px; height: 1px; margin-top: .75em; background: currentColor; }
.fgd-lab .lab-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px;
  font: 600 15px/1 var(--fgd-sans); text-decoration: none !important; white-space: nowrap; cursor: pointer;
  border: 1px solid var(--fgd-navy); border-radius: var(--fgd-radius); background: transparent; color: var(--fgd-navy) !important;
  transition: background-color 400ms var(--fgs-ease), color 400ms var(--fgs-ease), border-color 400ms var(--fgs-ease);
}
.fgd-lab .lab-btn:hover { background: var(--fgd-navy); color: #fff !important; }
.fgd-lab .lab-btn-gold { background: var(--fgd-gold); border-color: var(--fgd-gold); }
.fgd-lab .lab-btn-gold:hover { background: #DEC683; border-color: #DEC683; color: var(--fgd-navy) !important; }

/* ---------- Schnellstart und Suche ---------- */
.fgd-lab-starts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1px; background: var(--fgd-line); border: 1px solid var(--fgd-line); }
@media (min-width: 640px) { .fgd-lab-starts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .fgd-lab-starts { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.fgd-lab-starts button {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 24px 26px;
  font: inherit; text-align: left; color: var(--fgd-ink); background: var(--fgd-white); border: 0; cursor: pointer;
  transition: background-color 400ms var(--fgs-ease);
}
.fgd-lab-starts button:hover { background: var(--fgd-paper); }
.fgd-lab-starts strong { display: block; font-family: var(--fgd-serif); font-weight: 400; font-size: 22px; line-height: 1.2; color: var(--fgd-navy); }
.fgd-lab-starts small { display: block; margin-top: 6px; font-size: 15px; line-height: 1.45; color: var(--fgd-muted); }
.fgd-lab-starts .fgs-arrow { flex: none; color: var(--fgd-gold-ink); transition: transform 400ms var(--fgs-ease); }
.fgd-lab-starts button:hover .fgs-arrow { transform: translateX(4px); }

.fgd-lab-search { margin-top: clamp(28px, 4vw, 44px); padding: clamp(22px, 3vw, 34px); background: var(--fgd-navy); color: #fff; border-top: 2px solid var(--fgd-gold); }
.fgd-lab-search label { display: block; font-family: var(--fgd-serif); font-size: clamp(22px, 2vw, 27px); line-height: 1.25; }
.fgd-lab-search label small { display: block; margin-bottom: 8px; font-family: var(--fgd-sans); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--fgd-gold); }
.fgd-lab-search-row { display: grid; gap: 10px; margin-top: 18px; }
@media (min-width: 720px) { .fgd-lab-search-row { grid-template-columns: minmax(0, 1fr) auto; } }
.fgd-lab-search input, .fgd-lab .lab-search input {
  width: 100%; min-height: 52px; padding: 0 16px; font: inherit; font-size: 16px; color: var(--fgd-ink);
  background: var(--fgd-white); border: 1px solid var(--fgd-line); border-radius: var(--fgd-radius);
}
.fgd-lab-search input:focus, .fgd-lab .lab-search input:focus { outline: 2px solid var(--fgd-gold); outline-offset: 1px; border-color: var(--fgd-navy); }
.fgd-lab-search .fgs-btn { background: var(--fgd-gold); color: var(--fgd-navy) !important; }
.fgd-lab-search .fgs-btn:hover { background: #DEC683; }
.fgd-lab-search .lab-quick-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.fgd-lab-search .lab-quick-links button {
  padding: 8px 14px; font: 500 14px var(--fgd-sans); color: #fff; background: transparent; cursor: pointer;
  border: 1px solid var(--fgd-line-navy); border-radius: var(--fgd-radius); transition: border-color 400ms var(--fgs-ease), color 400ms var(--fgs-ease);
}
.fgd-lab-search .lab-quick-links button:hover { border-color: var(--fgd-gold); color: var(--fgd-gold); }
.fgd-lab-search .lab-navigator-result { margin-top: 18px; padding: 14px 16px; font-size: 16px; line-height: 1.55; color: var(--fgd-ink); background: var(--fgd-paper); }
.fgd-lab-search .lab-navigator-result button { padding: 0; font: 600 16px var(--fgd-sans); color: var(--fgd-navy); background: none; border: 0; border-bottom: 1px solid var(--fgd-gold-ink); cursor: pointer; }

/* ---------- Reiter ---------- */
.fgd-lab .lab-tabs { display: flex; gap: 0; overflow-x: auto; border-bottom: 1px solid var(--fgd-line); margin-bottom: clamp(32px, 4vw, 52px); scrollbar-width: none; }
.fgd-lab .lab-tabs::-webkit-scrollbar { display: none; }
.fgd-lab .lab-tabs button {
  flex: none; padding: 16px 22px 15px; font: 600 15px var(--fgd-sans); letter-spacing: .01em; color: var(--fgd-muted);
  background: none; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; cursor: pointer; transition: color 400ms var(--fgs-ease), border-color 400ms var(--fgs-ease);
}
.fgd-lab .lab-tabs button:hover { color: var(--fgd-navy); }
.fgd-lab .lab-tabs button.is-active { color: var(--fgd-navy); border-bottom-color: var(--fgd-gold); }
.fgd-lab .lab-panel { display: none; }
.fgd-lab .lab-panel.is-active { display: block; }

/* ---------- Hauptrechner ---------- */
.fgd-lab .lab-featured { display: grid; gap: 28px; padding: clamp(26px, 3.4vw, 44px); background: var(--fgd-navy); color: #fff; border-top: 2px solid var(--fgd-gold); }
@media (min-width: 960px) { .fgd-lab .lab-featured { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: center; gap: 48px; } }
.fgd-lab .lab-featured .fgd-kicker { color: var(--fgd-gold); }
.fgd-lab .lab-featured h2 { font-size: clamp(26px, 2.5vw, 36px); }
.fgd-lab .lab-featured p:not(.fgd-kicker) { margin-top: 14px; max-width: 62ch; color: var(--fgd-on-navy); }
.fgd-lab .lab-featured-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 26px; }
.fgd-lab .lab-featured .fgs-link { color: #fff !important; }
.fgd-lab .lab-featured-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--fgd-line-navy); border: 1px solid var(--fgd-line-navy); }
.fgd-lab .lab-featured-metrics li { padding: 18px 16px; font-family: var(--fgd-serif); font-size: 19px; color: var(--fgd-gold); background: var(--fgd-navy); }

.fgd-lab .lab-investment-embed { margin-top: 24px; border: 1px solid var(--fgd-line); background: var(--fgd-white); }
.fgd-lab .lab-embed-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 18px; background: var(--fgd-navy); color: #fff; }
.fgd-lab .lab-embed-head strong { font-family: var(--fgd-serif); font-weight: 400; font-size: 20px; }
.fgd-lab .lab-embed-head button { padding: 8px 14px; font: 600 14px var(--fgd-sans); color: #fff; background: transparent; border: 1px solid rgba(255, 255, 255, .45); border-radius: var(--fgd-radius); cursor: pointer; }
.fgd-lab .lab-embed-head button:hover { border-color: var(--fgd-gold); color: var(--fgd-gold); }
.fgd-lab .lab-investment-embed iframe { display: block; width: 100%; height: 1350px; min-height: 70vh; border: 0; background: var(--fgd-paper); }

/* ---------- Kopf je Bereich mit Suche ---------- */
.fgd-lab .lab-section-head { display: grid; gap: 20px 48px; align-items: end; margin: clamp(48px, 6vw, 80px) 0 28px; }
.fgd-lab .lab-panel > .lab-section-head:first-child { margin-top: 0; }
@media (min-width: 960px) { .fgd-lab .lab-section-head { grid-template-columns: minmax(0, 1.4fr) minmax(260px, 1fr); } }
.fgd-lab .lab-section-head h2 { font-size: clamp(26px, 2.6vw, 38px); }
.fgd-lab .lab-section-head p:not(.fgd-kicker) { margin-top: 14px; max-width: 64ch; color: var(--fgd-muted); }
.fgd-lab .lab-section-head p a { color: var(--fgd-navy); text-decoration: underline; text-decoration-color: var(--fgd-gold-ink); text-underline-offset: 3px; }

/* ---------- Rechnerkarten ---------- */
.fgd-lab .lab-tool-grid, .fgd-lab .lab-article-grid, .fgd-lab .lab-location-grid, .fgd-lab .lab-saved-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
@media (min-width: 640px) { .fgd-lab .lab-tool-grid, .fgd-lab .lab-article-grid, .fgd-lab .lab-location-grid, .fgd-lab .lab-saved-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .fgd-lab .lab-tool-grid, .fgd-lab .lab-article-grid, .fgd-lab .lab-saved-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .fgd-lab .lab-tool-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .fgd-lab .lab-tool-grid .lab-tool-card h3 { font-size: 20px; } }
.fgd-lab .lab-tool-card, .fgd-lab .lab-article-card, .fgd-lab .lab-location-card, .fgd-lab .lab-saved-grid article {
  position: relative; display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 26px 26px 24px;
  font: inherit; text-align: left; color: var(--fgd-ink); background: var(--fgd-paper); border: 1px solid var(--fgd-line);
  transition: border-color 400ms var(--fgs-ease), transform 400ms var(--fgs-ease), box-shadow 400ms var(--fgs-ease);
}
.fgd-lab .lab-tool-card::before, .fgd-lab .lab-article-card::before, .fgd-lab .lab-location-card::before {
  content: ""; position: absolute; left: -1px; right: -1px; top: -1px; height: 2px; background: var(--fgd-gold);
  transform: scaleX(0); transform-origin: left; transition: transform 400ms var(--fgs-ease);
}
.fgd-lab .lab-tool-card:hover, .fgd-lab .lab-article-card:hover, .fgd-lab .lab-location-card:hover { border-color: #CFC6AE; transform: translateY(-3px); box-shadow: 0 22px 40px rgba(8, 8, 47, .08); }
.fgd-lab .lab-tool-card:hover::before, .fgd-lab .lab-article-card:hover::before, .fgd-lab .lab-location-card:hover::before { transform: scaleX(1); }
.fgd-lab .lab-tool-card h3, .fgd-lab .lab-article-card h3 { font-size: 22px; line-height: 1.25; color: var(--fgd-navy); }
.fgd-lab .lab-tool-card p, .fgd-lab .lab-article-card p { font-size: 15.5px; line-height: 1.55; color: var(--fgd-muted); }
.fgd-lab .lab-card-action, .fgd-lab .lab-article-card button {
  display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-top: auto; padding: 8px 0 3px;
  font: 600 15px var(--fgd-sans); color: var(--fgd-navy) !important; text-decoration: none !important;
  background: none; border: 0; border-bottom: 1px solid var(--fgd-gold-ink); cursor: pointer;
}
.fgd-lab .lab-card-action span { color: var(--fgd-gold-ink); transition: transform 400ms var(--fgs-ease); }
.fgd-lab .lab-tool-card:hover .lab-card-action span { transform: translateX(3px); }
/* Ganze Karte klickbar: der Knopf deckt die Karte ab */
.fgd-lab .lab-tool-card .lab-card-action::after { content: ""; position: absolute; inset: 0; }
.fgd-lab .lab-article-card > span { font-size: 15px; color: var(--fgd-muted); } /* Update 7, Frage 5 */
.fgd-lab .lab-article-card button::after { content: ""; position: absolute; inset: 0; }
.fgd-lab .lab-empty { padding: 20px 0; color: var(--fgd-muted); }

/* ---------- Geöffneter Rechner ---------- */
.fgd-lab .lab-workspace { padding: clamp(24px, 3.4vw, 44px); background: var(--fgd-paper); border: 1px solid var(--fgd-line); border-top: 2px solid var(--fgd-gold); }
.fgd-lab .lab-back-button, .fgd-lab .lab-clear, .fgd-lab .lab-saved-grid button {
  display: inline-flex; align-items: center; gap: 10px; margin-bottom: 26px; padding: 0;
  font: 600 15px var(--fgd-sans); color: var(--fgd-navy); background: none; border: 0; cursor: pointer;
}
.fgd-lab .lab-back-button span { display: block; text-align: left; line-height: 1.25; }
.fgd-lab .lab-back-button small { display: block; font-size: 12.5px; font-weight: 500; color: var(--fgd-muted); }
.fgd-lab .lab-back-button i { color: var(--fgd-gold-ink); }
.fgd-lab .lab-back-button:hover { color: var(--fgd-gold-ink); }
.fgd-lab .lab-work-head .lab-back-button { display: flex; }
.fgd-lab .lab-work-head .lab-kicker { display: none; }
.fgd-lab .lab-work-head h2 { font-size: clamp(26px, 2.6vw, 38px); color: var(--fgd-navy); }
.fgd-lab .lab-work-head p { margin-top: 12px; max-width: 64ch; color: var(--fgd-muted); }
.fgd-lab .fgd-lab-toolinfo { max-width: 72ch; margin-top: 20px; padding: 16px 18px; font-size: 15.5px; line-height: 1.6; color: var(--fgd-ink); background: var(--fgd-white); border-left: 2px solid var(--fgd-gold); }
.fgd-lab .fgd-lab-toolinfo p + p { margin-top: 6px; color: var(--fgd-muted); }
.fgd-lab .fgd-lab-toolinfo b { font-weight: 600; color: var(--fgd-ink); }
.fgd-lab .lab-calc-form { margin-top: 28px; }
.fgd-lab .lab-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px 20px; }
@media (min-width: 640px) { .fgd-lab .lab-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .fgd-lab .lab-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); } .fgd-lab .lab-fields:has(> fieldset) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fgd-lab .lab-fields fieldset { display: grid; gap: 16px; min-width: 0; margin: 0; padding: 20px; border: 1px solid var(--fgd-line); background: var(--fgd-white); }
.fgd-lab .lab-fields legend { padding: 0 6px; font-family: var(--fgd-serif); font-size: 20px; color: var(--fgd-navy); }
.fgd-lab .lab-field { display: grid; gap: 6px; min-width: 0; }
.fgd-lab .lab-field > span { font-size: 14.5px; font-weight: 500; line-height: 1.35; color: var(--fgd-ink); }
.fgd-lab .lab-field > div { position: relative; }
.fgd-lab .lab-field input, .fgd-lab .lab-field select {
  width: 100%; min-height: 50px; padding: 0 52px 0 14px; font: inherit; font-size: 16px; color: var(--fgd-ink);
  background: var(--fgd-white); border: 1px solid var(--fgd-line); border-radius: var(--fgd-radius);
}
.fgd-lab .lab-field select { appearance: none; padding-right: 40px; background-image: linear-gradient(45deg, transparent 50%, var(--fgd-navy) 50%), linear-gradient(135deg, var(--fgd-navy) 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.fgd-lab .lab-field input:focus, .fgd-lab .lab-field select:focus { outline: 2px solid var(--fgd-gold); outline-offset: 1px; border-color: var(--fgd-navy); }
.fgd-lab .lab-field b { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font-weight: 500; font-size: 15px; color: var(--fgd-muted); pointer-events: none; }
.fgd-lab .lab-form-actions { margin-top: 24px; }

/* Ergebnis */
.fgd-lab .lab-tool-result:empty { display: none; }
.fgd-lab .lab-tool-result { margin-top: 32px; }
.fgd-lab .lab-result-kpis { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1px; background: var(--fgd-line); border: 1px solid var(--fgd-line); }
@media (min-width: 640px) { .fgd-lab .lab-result-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .fgd-lab .lab-result-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.fgd-lab .lab-result-kpis article { min-width: 0; padding: 18px 20px; background: var(--fgd-white); }
.fgd-lab .lab-result-kpis article:first-child { background: var(--fgd-navy); }
.fgd-lab .lab-result-kpis span { display: block; font-size: 13.5px; color: var(--fgd-muted); }
.fgd-lab .lab-result-kpis strong { display: block; margin-top: 6px; font-family: var(--fgd-serif); font-weight: 400; font-size: clamp(22px, 2vw, 28px); line-height: 1.15; color: var(--fgd-ink); overflow-wrap: anywhere; }
.fgd-lab .lab-result-kpis small { display: block; margin-top: 4px; font-size: 13px; color: var(--fgd-muted); }
.fgd-lab .lab-result-kpis small:empty { display: none; }
.fgd-lab .lab-result-kpis article:first-child span, .fgd-lab .lab-result-kpis article:first-child small { color: var(--fgd-on-navy); }
.fgd-lab .lab-result-kpis article:first-child strong { color: var(--fgd-gold); }
.fgd-lab .lab-result-note { margin-top: 16px; max-width: 72ch; font-size: 15px; color: var(--fgd-muted); }
.fgd-lab .lab-result-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.fgd-lab .lab-tornado { margin-top: 22px; padding: 22px; background: var(--fgd-white); border: 1px solid var(--fgd-line); }
.fgd-lab .lab-tornado h3 { margin-bottom: 14px; font-size: 19px; color: var(--fgd-navy); }
/* Balken links (weniger) und rechts (mehr) einer Mittelachse; die Breite setzt das Skript (höchstens 48 %) */
.fgd-lab .lab-tornado div { display: grid; grid-template-columns: 150px minmax(0, 1fr) 100px; align-items: center; gap: 12px; padding: 7px 0; font-size: 14.5px; border-top: 1px solid var(--fgd-line); background: linear-gradient(#CFC6AE, #CFC6AE) no-repeat calc(162px + (100% - 274px) / 2) 0 / 1px 100%; }
.fgd-lab .lab-tornado i { display: block; height: 12px; min-width: 2px; }
.fgd-lab .lab-tornado i.neg { margin-left: auto; margin-right: 50%; background: var(--fgd-navy); }
.fgd-lab .lab-tornado i.pos { margin-left: 50%; background: var(--fgd-gold); }
.fgd-lab .lab-tornado b { font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }

/* Gespeichert */
.fgd-lab .lab-saved:empty { display: none; }
.fgd-lab .lab-saved .lab-section-head { grid-template-columns: minmax(0, 1fr) auto; }
.fgd-lab .lab-clear { margin: 0; border-bottom: 1px solid var(--fgd-gold-ink); padding-bottom: 3px; }
.fgd-lab .lab-saved-grid article small { font-size: 13px; color: var(--fgd-muted); }
.fgd-lab .lab-saved-grid article h3 { font-size: 20px; color: var(--fgd-navy); }
.fgd-lab .lab-saved-grid article p { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; border-top: 1px solid var(--fgd-line); padding-top: 8px; }
.fgd-lab .lab-saved-grid article p span { color: var(--fgd-muted); }
.fgd-lab .lab-saved-grid article p strong { font-weight: 600; text-align: right; }
.fgd-lab .lab-saved-grid button { margin: 8px 0 0; align-self: flex-start; font-size: 14px; border-bottom: 1px solid var(--fgd-gold-ink); padding-bottom: 2px; }

/* ---------- Filter, A–Z, Lexikonliste ---------- */
.fgd-lab .lab-filter-row, .fgd-lab .lab-az { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 26px; }
.fgd-lab .lab-filter-row button, .fgd-lab .lab-az button {
  min-width: 40px; min-height: 40px; padding: 0 14px; font: 500 14.5px var(--fgd-sans); color: var(--fgd-ink); cursor: pointer;
  background: var(--fgd-white); border: 1px solid var(--fgd-line); border-radius: var(--fgd-radius); transition: border-color 400ms var(--fgs-ease), background-color 400ms var(--fgs-ease), color 400ms var(--fgs-ease);
}
.fgd-lab .lab-az button { padding: 0 10px; }
.fgd-lab .lab-filter-row button:hover, .fgd-lab .lab-az button:hover { border-color: var(--fgd-navy); }
.fgd-lab .lab-filter-row button.is-active, .fgd-lab .lab-az button.is-active { background: var(--fgd-navy); border-color: var(--fgd-navy); color: #fff; }
.fgd-lab .lab-lexicon-list { display: grid; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--fgd-line); }
@media (min-width: 900px) { .fgd-lab .lab-lexicon-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; } }
.fgd-lab .lab-lexicon-entry {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; align-items: center; align-content: start; padding: 16px 0;
  font: inherit; text-align: left; color: var(--fgd-ink); background: none; border: 0; border-bottom: 1px solid var(--fgd-line); cursor: pointer;
}
.fgd-lab .lab-lexicon-entry strong { font-family: var(--fgd-serif); font-weight: 400; font-size: 20px; color: var(--fgd-navy); }
.fgd-lab .lab-lexicon-entry span { grid-column: 1; font-size: 15px; line-height: 1.5; color: var(--fgd-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fgd-lab .lab-lexicon-entry i { grid-column: 2; grid-row: 1 / span 2; color: var(--fgd-gold-ink); }
.fgd-lab .lab-lexicon-entry:hover strong { color: var(--fgd-gold-ink); }

/* ---------- Standortkarten ---------- */
.fgd-lab .lab-location-card { cursor: pointer; }
.fgd-lab .lab-location-card header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.fgd-lab .lab-location-card header span { font-size: 15px; color: var(--fgd-muted); } /* Update 7, Frage 5 */
.fgd-lab .lab-location-card h3 { margin-top: 6px; font-size: 24px; color: var(--fgd-navy); }
.fgd-lab .lab-location-card header i { color: var(--fgd-gold-ink); margin-top: 4px; }
.fgd-lab .lab-location-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 8px 0 4px; background: var(--fgd-line); border: 1px solid var(--fgd-line); }
.fgd-lab .lab-location-metrics p { min-width: 0; padding: 10px 12px; background: var(--fgd-white); }
.fgd-lab .lab-location-metrics span { display: block; font-size: 12.5px; color: var(--fgd-muted); }
.fgd-lab .lab-location-metrics strong { display: block; margin-top: 2px; font-size: 15px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.fgd-lab .lab-location-card-summary { font-size: 15.5px; line-height: 1.55; color: var(--fgd-muted); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.fgd-lab .lab-location-card .lab-card-action i { color: var(--fgd-gold-ink); }

/* ---------- Leseansicht (Fachartikel, Standort, Begriff) ---------- */
.fgd-lab .lab-reader { max-width: 860px; }
.fgd-lab .lab-detail-header { padding-bottom: 24px; border-bottom: 1px solid var(--fgd-line); }
.fgd-lab .lab-detail-header h2 { font-size: clamp(28px, 3vw, 42px); color: var(--fgd-navy); }
.fgd-lab .lab-lead { margin-top: 16px; font-size: clamp(18px, 1.5vw, 20px); line-height: 1.6; color: var(--fgd-muted); }
.fgd-lab .content-meta { margin-top: 14px; font-size: 14px; color: var(--fgd-muted); }
.fgd-lab .lab-science-section { margin-top: 32px; }
.fgd-lab .lab-science-section h3, .fgd-lab .lab-pro-con h3, .fgd-lab .lab-location-analysis-grid h3 { font-size: 22px; color: var(--fgd-navy); }
.fgd-lab .lab-science-section p { margin-top: 12px; max-width: 68ch; }
.fgd-lab .lab-reader ul { display: grid; gap: 8px; margin-top: 12px; }
.fgd-lab .lab-reader li { position: relative; padding-left: 20px; max-width: 68ch; line-height: 1.55; }
.fgd-lab .lab-reader li::before { content: ""; position: absolute; left: 0; top: .72em; width: 8px; height: 1px; background: var(--fgd-gold-ink); }
.fgd-lab .lab-formula-card { display: grid; gap: 8px; margin-top: 14px; padding: 18px 20px; background: var(--fgd-navy); color: #fff; }
.fgd-lab .lab-formula { font-family: var(--fgd-serif); font-size: 18px; line-height: 1.45; }
.fgd-lab .lab-example-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 14px; }
@media (min-width: 760px) { .fgd-lab .lab-example-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fgd-lab .lab-example-grid > div { padding: 18px 20px; background: var(--fgd-paper); border: 1px solid var(--fgd-line); }
.fgd-lab .lab-example-grid h4 { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--fgd-gold-ink); }
.fgd-lab .lab-interpretation { margin-top: 16px; padding: 16px 18px; background: var(--fgd-paper); border-left: 2px solid var(--fgd-gold); }
.fgd-lab .lab-interpretation p { margin-top: 6px; }
.fgd-lab .lab-pro-con section:not(:has(li)), .fgd-lab .lab-pro-con:not(:has(li)) { display: none; }
.fgd-lab .lab-pro-con, .fgd-lab .lab-location-analysis-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 32px; }
@media (min-width: 760px) { .fgd-lab .lab-pro-con, .fgd-lab .lab-location-analysis-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fgd-lab .lab-pro-con > section, .fgd-lab .lab-location-analysis-grid > section { padding: 20px 22px; border: 1px solid var(--fgd-line); background: var(--fgd-white); }
.fgd-lab .lab-location-analysis-grid p { margin-top: 10px; font-size: 16px; line-height: 1.6; color: var(--fgd-muted); }
.fgd-lab .lab-source-section a { color: var(--fgd-navy); text-decoration: underline; text-decoration-color: var(--fgd-gold-ink); text-underline-offset: 3px; overflow-wrap: anywhere; }
.fgd-lab .lab-reader-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.fgd-lab .lab-location-keyfacts-v2 { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1px; margin-top: 24px; background: var(--fgd-line); border: 1px solid var(--fgd-line); }
@media (min-width: 640px) { .fgd-lab .lab-location-keyfacts-v2 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fgd-lab .lab-location-keyfacts-v2 article { padding: 16px 18px; background: var(--fgd-white); }
.fgd-lab .lab-location-keyfacts-v2 span { display: block; font-size: 13px; color: var(--fgd-muted); }
.fgd-lab .lab-location-keyfacts-v2 strong { display: block; margin-top: 4px; font-family: var(--fgd-serif); font-weight: 400; font-size: 22px; }
.fgd-lab .lab-location-keyfacts-v2 small { display: block; margin-top: 4px; font-size: 13px; color: var(--fgd-muted); }
.fgd-lab .lab-location-view { padding: 22px 24px; background: var(--fgd-navy); color: #fff; }
.fgd-lab .lab-location-view .lab-kicker { color: var(--fgd-gold); }
.fgd-lab .lab-location-view h3 { color: #fff; }
.fgd-lab .lab-location-view p { color: var(--fgd-on-navy); }

/* ---------- Rechenweg und Grenzen ---------- */
.fgd-lab-tools { display: grid; grid-template-columns: minmax(0, 1fr); margin: 0; border-top: 1px solid var(--fgd-line); }
@media (min-width: 900px) { .fgd-lab-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 56px; } }
.fgd-lab-tools > div { padding: 22px 0; border-bottom: 1px solid var(--fgd-line); }
.fgd-lab-tools dt { font-family: var(--fgd-serif); font-size: 21px; line-height: 1.25; color: var(--fgd-navy); }
.fgd-lab-tools dt a { color: inherit !important; text-decoration: underline; text-decoration-color: var(--fgd-gold-ink); text-underline-offset: 4px; }
.fgd-lab-tools dd { margin: 8px 0 0; font-size: 16px; line-height: 1.6; color: var(--fgd-muted); }
.fgd-lab-tools dd p + p { margin-top: 4px; }
.fgd-lab-tools b { font-weight: 600; color: var(--fgd-ink); }

@media (max-width: 639px) {
  .fgd-lab .lab-tornado div { grid-template-columns: minmax(0, 1fr) auto; background: none; }
  .fgd-lab .lab-tornado i { grid-column: 1 / -1; grid-row: 2; }
  .fgd-lab .lab-result-actions .lab-btn, .fgd-lab .lab-featured-actions .fgs-btn { width: 100%; }
  .fgd-lab .lab-location-metrics { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Investitionsrechner ---------- */
.fgd-invest .invest-intro-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-bottom: clamp(40px, 5vw, 64px); }
@media (min-width: 960px) { .fgd-invest .invest-intro-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fgd-invest .invest-card { padding: clamp(24px, 3vw, 38px); background: var(--fgd-white); border: 1px solid var(--fgd-line); }
.fgd-invest .invest-card h2 { font-size: clamp(26px, 2.4vw, 34px); color: var(--fgd-navy); }
.fgd-invest .invest-card h3 { font-size: clamp(22px, 1.9vw, 27px); color: var(--fgd-navy); }
.fgd-invest .invest-card p { margin-top: 14px; }
.fgd-invest .invest-muted { color: var(--fgd-muted); }
.fgd-invest .invest-card .invest-muted { font-size: 16px; }
.fgd-invest .invest-card b { font-weight: 600; color: var(--fgd-ink); }
.fgd-invest .invest-mini-list { display: grid; gap: 10px; margin-top: 20px; }
.fgd-invest .invest-mini-list li { display: flex; gap: 12px; font-size: 16px; line-height: 1.5; }
.fgd-invest .invest-mini-list .fgd-icon { flex: none; width: 18px; height: 18px; margin-top: 3px; color: var(--fgd-gold-ink); }

.fgd-invest .invest-calculator-shell { background: var(--fgd-white); border: 1px solid var(--fgd-line); }
.fgd-invest .invest-calculator-top { display: grid; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1000px) { .fgd-invest .invest-calculator-top { grid-template-columns: minmax(260px, 320px) minmax(0, 1fr); } }
.fgd-invest .invest-step-sidebar { padding: clamp(24px, 3vw, 36px); background: var(--fgd-navy); color: #fff; }
.fgd-invest .invest-step-sidebar h2 { font-size: clamp(22px, 1.7vw, 25px); hyphens: none; overflow-wrap: break-word; }
.fgd-invest .invest-step-sidebar > p { margin-top: 12px; font-size: 15.5px; line-height: 1.55; color: var(--fgd-on-navy); }
.fgd-invest .invest-step-list { display: grid; gap: 1px; margin-top: 24px; background: var(--fgd-line-navy); border: 1px solid var(--fgd-line-navy); }
@media (max-width: 999px) { .fgd-invest .invest-step-list { grid-template-columns: repeat(5, minmax(0, 1fr)); } .fgd-invest .invest-step-item small { display: none !important; } .fgd-invest .invest-step-item { grid-template-columns: minmax(0, 1fr) !important; justify-items: center; text-align: center; padding: 12px 6px !important; } .fgd-invest .invest-step-item strong { font-size: 12.5px !important; } }
.fgd-invest .invest-step-item { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; align-items: center; padding: 12px 14px; background: var(--fgd-navy); opacity: .62; transition: opacity 400ms var(--fgs-ease); }
.fgd-invest .invest-step-item.is-active, .fgd-invest .invest-step-item.is-done { opacity: 1; }
.fgd-invest .invest-step-item span { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; font-family: var(--fgd-serif); font-size: 16px; color: var(--fgd-gold); border: 1px solid var(--fgd-line-navy); border-radius: 50%; }
.fgd-invest .invest-step-item.is-active span { color: var(--fgd-navy); background: var(--fgd-gold); border-color: var(--fgd-gold); }
.fgd-invest .invest-step-item.is-done span { border-color: var(--fgd-gold); }
.fgd-invest .invest-step-item strong { display: block; font-size: 15px; font-weight: 600; }
.fgd-invest .invest-step-item small { display: block; font-size: 13px; line-height: 1.4; color: var(--fgd-on-navy); }
/* Handy: fünf Schritte nur als Ziffern, der Name steht über dem Formular; für Vorleseprogramme bleibt er erhalten */
@media (max-width: 639px) { .fgd-invest .invest-step-item strong { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } }

.fgd-invest .invest-form-area { min-width: 0; padding: clamp(24px, 3vw, 40px); }
.fgd-invest .invest-progress-meta { display: grid; gap: 14px; margin-bottom: 24px; }
.fgd-invest .invest-progress-label { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--fgd-gold-ink); }
.fgd-invest .invest-progress-title { margin-top: 6px !important; font-size: clamp(24px, 2.3vw, 32px); color: var(--fgd-navy); }
.fgd-invest .invest-progress-bar { height: 3px; background: var(--fgd-stone); }
.fgd-invest .invest-progress-bar span { display: block; height: 100%; width: 20%; background: var(--fgd-gold); transition: width 400ms var(--fgs-ease); }
.fgd-invest .invest-warnings { display: none; margin-bottom: 22px; padding: 16px 18px; font-size: 15.5px; line-height: 1.6; background: var(--fgd-paper); border-left: 2px solid var(--fgd-gold-ink); }
.fgd-invest .invest-warnings.is-visible { display: block; }
.fgd-invest .invest-warnings strong { font-weight: 600; }
.fgd-invest .invest-warnings ul { display: grid; gap: 4px; margin-top: 6px; padding-left: 18px; list-style: disc; }
.fgd-invest .invest-step-panel { display: none; }
.fgd-invest .invest-step-panel.is-active { display: block; }
.fgd-invest .invest-field-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px 20px; }
@media (min-width: 700px) { .fgd-invest .invest-field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fgd-invest .invest-field-full { grid-column: 1 / -1; } }
.fgd-invest .invest-field, .fgd-invest .invest-field-full { min-width: 0; }
.fgd-invest .invest-label-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.fgd-invest .invest-label-row label { font-size: 14.5px; font-weight: 500; line-height: 1.35; color: var(--fgd-ink); }
.fgd-invest .invest-required { color: var(--fgd-gold-ink); }
.fgd-invest .invest-info {
  position: relative; flex: none; width: 24px; height: 24px; padding: 0; font: 600 12px var(--fgd-sans); color: var(--fgd-navy);
  background: var(--fgd-white); border: 1px solid var(--fgd-line); border-radius: 50%; cursor: help;
}
.fgd-invest .invest-info:hover, .fgd-invest .invest-info:focus { border-color: var(--fgd-navy); }
.fgd-invest .invest-info[data-tip]::after {
  content: attr(data-tip); position: absolute; z-index: 20; right: 0; top: 32px; width: min(320px, 78vw); padding: 12px 14px;
  font: 400 13.5px/1.55 var(--fgd-sans); text-align: left; color: #fff; background: var(--fgd-navy); border-top: 2px solid var(--fgd-gold);
  box-shadow: 0 18px 36px rgba(8, 8, 47, .22); opacity: 0; pointer-events: none; transform: translateY(-4px); transition: opacity 400ms var(--fgs-ease), transform 400ms var(--fgs-ease);
}
.fgd-invest .invest-info:hover::after, .fgd-invest .invest-info:focus::after { opacity: 1; transform: translateY(0); }
.fgd-invest .invest-input-wrap { position: relative; }
.fgd-invest .invest-input-wrap input, .fgd-invest .invest-input-wrap select {
  width: 100%; min-height: 50px; padding: 0 52px 0 14px; font: inherit; font-size: 16px; color: var(--fgd-ink);
  background: var(--fgd-white); border: 1px solid var(--fgd-line); border-radius: var(--fgd-radius); appearance: none;
}
.fgd-invest .invest-input-wrap input:focus, .fgd-invest .invest-input-wrap select:focus { outline: 2px solid var(--fgd-gold); outline-offset: 1px; border-color: var(--fgd-navy); }
.fgd-invest .invest-input-wrap input::placeholder { color: #8A8A94; }
.fgd-invest .invest-input-wrap .suffix { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font-size: 15px; font-weight: 500; color: var(--fgd-muted); pointer-events: none; }
.fgd-invest .invest-input-wrap .suffix .fgd-icon { width: 16px; height: 16px; color: var(--fgd-navy); }
.fgd-invest .invest-rec-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.fgd-invest .invest-rec-row button { padding: 6px 10px; font: 500 13px var(--fgd-sans); color: var(--fgd-navy); background: var(--fgd-paper); border: 1px solid var(--fgd-line); border-radius: var(--fgd-radius); cursor: pointer; }
.fgd-invest .invest-rec-row button:hover { border-color: var(--fgd-navy); }
.fgd-invest .invest-financing-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-bottom: 22px; background: var(--fgd-line); border: 1px solid var(--fgd-line); }
.fgd-invest .invest-financing-summary:empty { display: none; }
/* sechs Werte: zwei Reihen zu drei, ohne leere Zellen */
@media (min-width: 700px) { .fgd-invest .invest-financing-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fgd-invest .invest-financing-summary > div { min-width: 0; padding: 12px 14px; background: var(--fgd-paper); }
.fgd-invest .invest-financing-summary span { display: block; font-size: 12.5px; color: var(--fgd-muted); }
.fgd-invest .invest-financing-summary strong { display: block; margin-top: 2px; font-size: 16px; font-weight: 600; overflow-wrap: anywhere; }
.fgd-invest .invest-nav-actions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--fgd-line); }
.fgd-invest .invest-prev, .fgd-invest .invest-next, .fgd-invest .invest-calc {
  display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 24px;
  font: 600 15px/1 var(--fgd-sans); border-radius: var(--fgd-radius); cursor: pointer; transition: background-color 400ms var(--fgs-ease), color 400ms var(--fgs-ease), border-color 400ms var(--fgs-ease);
}
.fgd-invest .invest-prev { color: var(--fgd-navy); background: transparent; border: 1px solid var(--fgd-navy); }
.fgd-invest .invest-prev:hover { color: #fff; background: var(--fgd-navy); }
.fgd-invest .invest-next, .fgd-invest .invest-calc { color: var(--fgd-navy); background: var(--fgd-gold); border: 1px solid var(--fgd-gold); }
.fgd-invest .invest-next:hover, .fgd-invest .invest-calc:hover { background: #DEC683; border-color: #DEC683; }
.fgd-invest .invest-step-panel > .invest-muted { font-size: 16px; }

/* Ergebnis */
.fgd-invest .invest-results { display: none; padding: clamp(24px, 3.4vw, 44px); background: var(--fgd-paper); border-top: 1px solid var(--fgd-line); }
.fgd-invest .invest-results.is-visible { display: block; }
.fgd-invest .invest-print-header { display: none; }
.fgd-invest .invest-results-head { display: grid; gap: 12px; justify-items: start; margin-bottom: 28px; }
.fgd-invest .invest-results-head .fgd-kicker { margin-bottom: 0 !important; }
.fgd-invest .invest-results-head h2 { font-size: clamp(28px, 2.8vw, 40px); color: var(--fgd-navy); }
.fgd-invest .invest-results-head .fgs-btn { margin-top: 6px; }
.fgd-invest .invest-kpi-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1px; background: var(--fgd-line); border: 1px solid var(--fgd-line); }
@media (min-width: 640px) { .fgd-invest .invest-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .fgd-invest .invest-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.fgd-invest .invest-kpi { min-width: 0; padding: 18px 20px; background: var(--fgd-white); }
.fgd-invest .invest-kpi small { display: block; font-size: 13.5px; color: var(--fgd-muted); }
.fgd-invest .invest-kpi strong { display: block; margin-top: 6px; font-family: var(--fgd-serif); font-weight: 400; font-size: clamp(22px, 2vw, 28px); line-height: 1.15; color: var(--fgd-ink); overflow-wrap: anywhere; }
.fgd-invest .invest-hint { display: block; margin-top: 6px; font-size: 13px; line-height: 1.45; color: var(--fgd-muted); }
.fgd-invest .invest-subheadline { margin: 40px 0 16px !important; font-size: clamp(22px, 2vw, 28px); color: var(--fgd-navy); }
.fgd-invest .invest-summary-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 760px) { .fgd-invest .invest-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fgd-invest .invest-summary-card { min-width: 0; padding: 18px 20px; background: var(--fgd-white); border: 1px solid var(--fgd-line); }
.fgd-invest .invest-summary-card h3 { margin-bottom: 8px; font-size: 18px; color: var(--fgd-navy); }
.fgd-invest .invest-summary-card div { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 14.5px; border-top: 1px solid var(--fgd-line); }
.fgd-invest .invest-summary-card span { color: var(--fgd-muted); }
.fgd-invest .invest-summary-card strong { min-width: 0; font-weight: 600; text-align: right; -webkit-hyphens: none; hyphens: none; overflow-wrap: break-word; }
.fgd-invest .invest-chart-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 40px; }
@media (min-width: 900px) { .fgd-invest .invest-chart-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fgd-invest .invest-chart-card { min-width: 0; padding: 20px; background: var(--fgd-white); border: 1px solid var(--fgd-line); }
.fgd-invest .invest-chart-card h3 { margin-bottom: 12px; font-size: 19px; color: var(--fgd-navy); }
.fgd-invest .invest-chart-card .invest-muted { font-size: 16px; line-height: 1.6; }
.fgd-invest .invest-svg-chart { display: block; width: 100%; height: auto; }
.fgd-invest .invest-chart-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; font-size: 13.5px; color: var(--fgd-muted); }
.fgd-invest .invest-chart-legend span { display: inline-flex; align-items: center; gap: 6px; }
.fgd-invest .invest-chart-legend i { display: inline-block; width: 14px; height: 3px; }
.fgd-invest .invest-table-wrap { margin-top: 40px; overflow-x: auto; background: var(--fgd-white); border: 1px solid var(--fgd-line); }
.fgd-invest .invest-table { width: 100%; min-width: 1400px; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.fgd-invest .invest-table th, .fgd-invest .invest-table td { padding: 10px 12px; text-align: right; white-space: nowrap; border-bottom: 1px solid var(--fgd-line); }
.fgd-invest .invest-table th { position: sticky; top: 0; font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--fgd-gold-ink); background: var(--fgd-white); border-bottom-color: var(--fgd-navy); }
.fgd-invest .invest-table th:first-child, .fgd-invest .invest-table td:first-child { text-align: left; font-weight: 600; }
.fgd-invest .invest-disclaimer { margin-top: 28px; max-width: 80ch; font-size: 14.5px; line-height: 1.6; color: var(--fgd-muted); }
.fgd-invest .invest-disclaimer strong { font-weight: 600; color: var(--fgd-ink); }

/* Terminbuchung */
.fgd-invest .invest-cta-inner { display: grid; gap: 24px 64px; align-items: center; }
@media (min-width: 960px) { .fgd-invest .invest-cta-inner { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); } }
.fgd-invest .invest-cta h2 { color: var(--fgd-navy); }
.fgd-invest .invest-cta p:not(.fgd-kicker) { margin-top: 16px; max-width: 64ch; color: var(--fgd-muted); }
.fgd-invest .invest-cta-actions { display: grid; gap: 10px; justify-items: start; }
.fgd-invest .invest-cta-actions small { font-size: 14px; color: var(--fgd-muted); }
@media (max-width: 599px) { .fgd-invest .invest-nav-actions button, .fgd-invest .invest-cta-actions .fgs-btn { flex: 1 1 auto; width: 100%; } }


/* Eingebettet im Investment Lab (?embedded=1 oder im iframe): nur Rechner und Ergebnis */
html.fg-embedded-calculator .fgs-header, html.fg-embedded-calculator .fgs-footer, html.fg-embedded-calculator .fgs-mobile,
html.fg-embedded-calculator .fgs-mobile-contact, html.fg-embedded-calculator .fgs-skip, html.fg-embedded-calculator .fgs-pagehead,
html.fg-embedded-calculator .fgs-closing, html.fg-embedded-calculator .fg-ai-assistant, html.fg-embedded-calculator .fgd-assistant-launcher,
html.fg-embedded-calculator .invest-cta { display: none !important; }
html.fg-embedded-calculator .fgd-invest .invest-section { padding-top: 24px; }
html.fg-embedded-calculator body { padding-top: 0 !important; }

@media print {
  .fgs-header, .fgs-footer, .fgs-mobile, .fgs-mobile-contact, .fgs-pagehead, .fgs-closing, .fg-ai-assistant, .fgd-assistant-launcher,
  .fgd-lab-start, .fgd-lab .lab-tabs, .fgd-lab .lab-card-action, .fgd-lab .lab-form-actions, .fgd-lab .lab-result-actions, .fgd-lab-limits,
  .fgd-invest .invest-intro-grid, .fgd-invest .invest-step-sidebar, .fgd-invest .invest-form-area, .fgd-invest .invest-cta,
  .fgd-invest .invest-nav-actions, .fgd-invest .invest-warnings, .fgd-invest .invest-financing-summary, .fgd-invest [data-print-result] { display: none !important; }
  body.fgs { background: #fff !important; }
  .fgd-invest .invest-section, .fgd-lab { padding: 0 !important; }
  .fgd-invest .invest-calculator-shell { border: 0 !important; }
  .fgd-invest .invest-results { display: block !important; padding: 0 !important; background: #fff !important; border: 0 !important; }
  .fgd-invest .invest-print-header { display: grid !important; grid-template-columns: 120px 1fr; gap: 22px; align-items: center; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 2px solid var(--fgd-gold); }
  .fgd-invest .invest-print-header img { max-width: 110px; background: var(--fgd-navy); padding: 10px; }
  .fgd-invest .invest-kpi-grid, .fgd-invest .invest-summary-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .fgd-invest .invest-summary-card, .fgd-invest .invest-kpi { break-inside: avoid; }
  .fgd-invest .invest-chart-grid { grid-template-columns: 1fr !important; }
  .fgd-invest .invest-table { min-width: 0 !important; font-size: 10px !important; }
  .fgd-invest .invest-table th, .fgd-invest .invest-table td { padding: 5px !important; }
  .fgd-lab .lab-panel { display: none !important; }
  .fgd-lab .lab-panel.is-active { display: block !important; }
}

/* ---------- Angleichung an das System (Brief 3.7, Formulare F: Linie unten, große Beschriftung) ---------- */
/* Köpfe der Bereiche: H2 und Satz, ohne Kicker */
.fgs-lab-head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--fgs-gap); align-items: end; }
.fgs-lab-head > h2 { grid-column: 1 / span 6; }
.fgs-lab-head > p { grid-column: 8 / span 5; color: var(--fgs-ink-2); }
@media (max-width: 899px) { .fgs-lab-head > h2, .fgs-lab-head > p { grid-column: 1 / -1; } .fgs-lab-head > p { margin-top: 16px; } }
.fgs-lab-head + * { margin-top: 48px; }

/* Schnellstart: vier Zeilen mit Linie statt Kacheln */
.fgs .fgd-lab-starts { gap: 0 var(--fgs-gap); background: none; border: 0; border-top: 1px solid var(--fgs-ink); }
.fgs .fgd-lab-starts button { padding: 24px 0; background: none; border-bottom: 1px solid var(--fgs-line); }
.fgs .fgd-lab-starts button:hover { background: none; }
.fgs .fgd-lab-starts button:hover strong { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.fgs .fgd-lab-starts strong { font-size: var(--fgs-h3); color: var(--fgs-ink); }
.fgs .fgd-lab-starts .fgs-arrow { width: 30px; height: 14px; color: var(--fgs-ink); }

/* Frage-Suche: hell mit Linie statt Navy */
.fgs .fgd-lab-search { padding: 32px 0 0; background: none; color: var(--fgs-ink); border-top: 0; }
.fgs .fgd-lab-search label { font-size: var(--fgs-h3); }
.fgs .fgd-lab-search label small { font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--fgs-ink-2); }
.fgs .fgd-lab-search .lab-quick-links { gap: 8px 24px; }
.fgs .fgd-lab-search .lab-quick-links button { padding: 0; font-size: 15px; color: var(--fgs-ink); border: 0; border-radius: 0; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.fgs .fgd-lab-search .lab-quick-links button:hover { color: var(--fgs-ink-2); }
.fgs .fgd-lab-search .lab-navigator-result { padding: 16px 0; background: none; border-top: 1px solid var(--fgs-line); border-bottom: 1px solid var(--fgs-line); }
.fgs .fgd-lab-search .lab-navigator-result button { border-bottom-color: var(--fgs-ink); }

/* Eingabefelder: nur Linie unten */
.fgs .fgd-lab-search input, .fgs .fgd-lab .lab-search input, .fgs .fgd-lab .lab-field input, .fgs .fgd-lab .lab-field select,
.fgs .fgd-invest .invest-input-wrap input, .fgs .fgd-invest .invest-input-wrap select {
  min-height: 52px; padding-left: 0; background-color: transparent; border: 0; border-bottom: 1px solid var(--fgs-ink); border-radius: 0;
}
.fgs .fgd-lab-search input:focus, .fgs .fgd-lab .lab-search input:focus, .fgs .fgd-lab .lab-field input:focus, .fgs .fgd-lab .lab-field select:focus,
.fgs .fgd-invest .invest-input-wrap input:focus, .fgs .fgd-invest .invest-input-wrap select:focus { outline: 0; border-bottom: 2px solid var(--fgs-ink); }
.fgs .fgd-lab-search input:focus-visible, .fgs .fgd-lab .lab-search input:focus-visible, .fgs .fgd-lab .lab-field input:focus-visible, .fgs .fgd-lab .lab-field select:focus-visible,
.fgs .fgd-invest .invest-input-wrap input:focus-visible, .fgs .fgd-invest .invest-input-wrap select:focus-visible { outline: 2px solid var(--fgs-gold); outline-offset: 4px; }
.fgs .fgd-lab .lab-field > span, .fgs .fgd-invest .invest-label-row label { font-size: 15px; }
.fgs .fgd-invest .invest-input-wrap .suffix, .fgs .fgd-lab .lab-field b { right: 0; }
.fgs .fgd-lab .lab-field select { background-position: calc(100% - 6px) 50%, calc(100% - 1px) 50%; }

/* Reiter */
.fgs .fgd-lab .lab-tabs { border-bottom-color: var(--fgs-line); }
.fgs .fgd-lab .lab-tabs button { padding-left: 0; padding-right: 0; margin-right: 32px; color: var(--fgs-ink-2); }
.fgs .fgd-lab .lab-tabs button.is-active { color: var(--fgs-ink); border-bottom-color: var(--fgs-ink); }

/* Hauptrechner: Text links, Kennzahlen als Zeilen rechts, ohne Navy */
.fgs .fgd-lab .lab-featured { padding: 0; background: none; color: var(--fgs-ink); border-top: 0; }
.fgs .fgd-lab .lab-featured h2 { font-size: var(--fgs-h2); }
.fgs .fgd-lab .lab-featured p { color: var(--fgs-ink); }
.fgs .fgd-lab .lab-featured .fgs-link { color: var(--fgs-ink) !important; margin-top: 0; }
.fgs .fgd-lab .lab-featured-metrics { gap: 0 32px; background: none; border: 0; border-top: 1px solid var(--fgs-ink); }
.fgs .fgd-lab .lab-featured-metrics li { padding: 16px 0; font-size: 20px; color: var(--fgs-ink); background: none; border-bottom: 1px solid var(--fgs-line); }
.fgs .fgd-lab .lab-investment-embed { border: 0; border-top: 1px solid var(--fgs-ink); background: none; }
.fgs .fgd-lab .lab-embed-head { padding: 16px 0; background: none; color: var(--fgs-ink); border-bottom: 1px solid var(--fgs-line); }
.fgs .fgd-lab .lab-embed-head button { color: var(--fgs-ink); border: 0; padding: 0; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.fgs .fgd-lab .lab-embed-head button:hover { color: var(--fgs-ink-2); }
.fgs .fgd-lab .lab-investment-embed iframe { background: var(--fgs-bg); }

/* Bereichsköpfe */
.fgs .fgd-lab .lab-section-head { margin-top: 96px; }
.fgs .fgd-lab .lab-section-head h2 { font-size: var(--fgs-h2); }
.fgs .fgd-lab .lab-section-head p a, .fgs .fgd-lab .lab-source-section a { color: var(--fgs-ink); text-decoration-color: currentColor; text-decoration-thickness: 1px; }

/* Karten der Rechner, Artikel, Standorte, Gespeichertes: ohne Kasten und Schatten, Linie oben */
.fgs .fgd-lab .lab-tool-grid, .fgs .fgd-lab .lab-article-grid, .fgs .fgd-lab .lab-location-grid, .fgs .fgd-lab .lab-saved-grid { gap: 0 var(--fgs-gap); }
.fgs .fgd-lab .lab-tool-card, .fgs .fgd-lab .lab-article-card, .fgs .fgd-lab .lab-location-card, .fgs .fgd-lab .lab-saved-grid article {
  padding: 24px 0 32px; background: none; border: 0; border-top: 1px solid var(--fgs-line); transform: none !important; box-shadow: none !important;
}
.fgs .fgd-lab .lab-tool-card::before, .fgs .fgd-lab .lab-article-card::before, .fgs .fgd-lab .lab-location-card::before { display: none; }
.fgs .fgd-lab .lab-tool-card:hover h3, .fgs .fgd-lab .lab-article-card:hover h3, .fgs .fgd-lab .lab-location-card:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.fgs .fgd-lab .lab-tool-card h3, .fgs .fgd-lab .lab-article-card h3, .fgs .fgd-lab .lab-location-card h3, .fgs .fgd-lab .lab-saved-grid article h3 { font-size: var(--fgs-h3); color: var(--fgs-ink); }
.fgs .fgd-lab .lab-tool-card p, .fgs .fgd-lab .lab-article-card p { color: var(--fgs-ink-2); }
.fgs .fgd-lab .lab-card-action, .fgs .fgd-lab .lab-article-card button { color: var(--fgs-ink) !important; border-bottom: 0; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.fgs .fgd-lab .lab-card-action span, .fgs .fgd-lab .lab-location-card .lab-card-action i { color: var(--fgs-ink); }
/* Einordnung über Karten und Rechnern: eine Zeile in Grau statt Gold-Kicker (nur über der H1) */
.fgs .fgd-lab .lab-kicker { gap: 0; margin-bottom: 8px; font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--fgs-ink-2); }
.fgs .fgd-lab .lab-kicker::before { display: none; }
.fgs .fgd-lab .lab-article-card > span, .fgs .fgd-lab .lab-location-card header span, .fgs .fgd-lab .lab-example-grid h4 { font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--fgs-ink-2); }
.fgs .fgd-lab .lab-location-card header i, .fgs .fgd-lab .lab-lexicon-entry i { color: var(--fgs-ink); }
.fgs .fgd-lab .lab-location-metrics { gap: 0 16px; background: none; border: 0; border-top: 1px solid var(--fgs-line); }
.fgs .fgd-lab .lab-location-metrics p { padding: 10px 0; background: none; }

/* Geöffneter Rechner */
.fgs .fgd-lab .lab-workspace { padding: 40px 0 0; background: none; border: 0; border-top: 1px solid var(--fgs-ink); }
.fgs .fgd-lab .lab-back-button:hover { color: var(--fgs-ink-2); }
.fgs .fgd-lab .lab-back-button i { color: var(--fgs-ink); }
.fgs .fgd-lab .lab-work-head h2 { font-size: var(--fgs-h2); color: var(--fgs-ink); }
.fgs .fgd-lab .fgd-lab-toolinfo { padding: 0 0 0 20px; background: none; border-left: 2px solid var(--fgs-gold); }
.fgs .fgd-lab .lab-fields fieldset { padding: 20px 0 0; background: none; border: 0; border-top: 1px solid var(--fgs-line); }
.fgs .fgd-lab .lab-fields legend { padding: 0 12px 0 0; color: var(--fgs-ink); }
/* Ergebnis: Kennzahlen als Zeilen, die erste ohne Navy */
.fgs .fgd-lab .lab-result-kpis { gap: 0 var(--fgs-gap); background: none; border: 0; }
.fgs .fgd-lab .lab-result-kpis article, .fgs .fgd-lab .lab-result-kpis article:first-child { padding: 18px 0; background: none; border-top: 1px solid var(--fgs-line); }
/* Update 7, Frage 23: Hauptergebnis wieder hervorgehoben, ohne Navy: über die ganze Reihe, goldene Linie darüber,
   Zahl in Marcellus in H2-Größe, auf der Hintergrundfarbe */
.fgs .fgd-lab .lab-result-kpis article:first-child { grid-column: 1 / -1; padding: 24px 0; border-top: 2px solid var(--fgs-gold); }
.fgs .fgd-lab .lab-result-kpis article:first-child span, .fgs .fgd-lab .lab-result-kpis article:first-child small { color: var(--fgs-ink-2); }
.fgs .fgd-lab .lab-result-kpis article:first-child strong { margin-top: 8px; font-family: var(--fgs-serif); font-size: var(--fgs-h2); line-height: 1.1; color: var(--fgs-ink); overflow-wrap: normal; }
.fgs .fgd-lab .lab-tornado { padding: 24px 0 0; background: none; border: 0; border-top: 1px solid var(--fgs-line); }
.fgs .fgd-lab .lab-tornado h3, .fgs .fgd-lab .lab-science-section h3, .fgs .fgd-lab .lab-pro-con h3, .fgs .fgd-lab .lab-location-analysis-grid h3 { color: var(--fgs-ink); }
.fgs .fgd-lab .lab-clear, .fgs .fgd-lab .lab-saved-grid button { border-bottom-color: var(--fgs-ink); }
/* Filter und A–Z: Buchstaben und Wörter ohne Kästchen, aktiv unterstrichen */
.fgs .fgd-lab .lab-filter-row, .fgs .fgd-lab .lab-az { gap: 4px 20px; padding: 12px 0; border-top: 1px solid var(--fgs-line); border-bottom: 1px solid var(--fgs-line); }
.fgs .fgd-lab .lab-filter-row button, .fgs .fgd-lab .lab-az button { min-width: 0; min-height: 40px; padding: 0; color: var(--fgs-ink-2); background: none; border: 0; border-radius: 0; }
.fgs .fgd-lab .lab-filter-row button:hover, .fgs .fgd-lab .lab-az button:hover { color: var(--fgs-ink); }
.fgs .fgd-lab .lab-filter-row button.is-active, .fgs .fgd-lab .lab-az button.is-active { color: var(--fgs-ink); background: none; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.fgs .fgd-lab .lab-lexicon-entry strong { color: var(--fgs-ink); }
.fgs .fgd-lab .lab-lexicon-entry:hover strong { color: var(--fgs-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
/* Leseansicht */
.fgs .fgd-lab .lab-detail-header h2 { font-size: var(--fgs-h2); color: var(--fgs-ink); }
.fgs .fgd-lab .lab-reader li::before { background: var(--fgs-ink); }
.fgs .fgd-lab .lab-formula-card { padding: 4px 0 4px 20px; background: none; color: var(--fgs-ink); border-left: 2px solid var(--fgs-gold); }
.fgs .fgd-lab .lab-example-grid > div, .fgs .fgd-lab .lab-pro-con > section, .fgs .fgd-lab .lab-location-analysis-grid > section { padding: 20px 0 0; background: none; border: 0; border-top: 1px solid var(--fgs-line); }
.fgs .fgd-lab .lab-interpretation { padding: 0 0 0 20px; background: none; }
.fgs .fgd-lab .lab-location-keyfacts-v2 { gap: 0 var(--fgs-gap); background: none; border: 0; }
.fgs .fgd-lab .lab-location-keyfacts-v2 article { padding: 16px 0; background: none; border-top: 1px solid var(--fgs-line); }
.fgs .fgd-lab .lab-location-view { padding: 24px 0 0; background: none; color: var(--fgs-ink); border-top: 1px solid var(--fgs-ink); }
.fgs .fgd-lab .lab-location-view .lab-kicker, .fgs .fgd-lab .lab-location-view p { color: var(--fgs-ink-2); }
.fgs .fgd-lab .lab-location-view h3 { color: var(--fgs-ink); }
/* Rechenweg und Grenzen */
.fgs .fgd-lab-tools { margin-top: 48px; border-top-color: var(--fgs-ink); }
.fgs .fgd-lab-tools dt { font-size: var(--fgs-h3); color: var(--fgs-ink); }
.fgs .fgd-lab-tools dt a { text-decoration-color: currentColor; text-decoration-thickness: 1px; }
.fgs .fgd-lab-tools dd { color: var(--fgs-ink-2); }

/* ---------- Investitionsrechner ---------- */
/* Einordnung oben: zwei Textspalten statt Kästen, Liste mit Linien statt Häkchen */
.fgs .fgd-invest .invest-intro-grid { gap: 48px var(--fgs-gap); margin-bottom: 96px; }
.fgs .fgd-invest .invest-card { padding: 0; background: none; border: 0; }
.fgs .fgd-invest .invest-card h2 { font-size: var(--fgs-h2); color: var(--fgs-ink); }
.fgs .fgd-invest .invest-card h3 { font-size: var(--fgs-h3); color: var(--fgs-ink); }
.fgs .fgd-invest .invest-card p { margin-top: 16px; }
.fgs .fgd-invest .invest-mini-list { gap: 0; margin-top: 24px; border-top: 1px solid var(--fgs-line); }
.fgs .fgd-invest .invest-mini-list li { display: block; padding: 14px 0; border-bottom: 1px solid var(--fgs-line); }
/* Rechner: volle Breite mit Fortschritt; Schritte links hell, nummeriert (echter Ablauf) */
.fgs .fgd-invest .invest-calculator-shell { background: none; border: 0; border-top: 1px solid var(--fgs-ink); }
.fgs .fgd-invest .invest-step-sidebar { padding: 40px 32px 40px 0; background: none; color: var(--fgs-ink); border-right: 1px solid var(--fgs-line); }
.fgs .fgd-invest .invest-step-sidebar h2 { font-size: var(--fgs-h3); color: var(--fgs-ink); }
.fgs .fgd-invest .invest-step-sidebar > p { color: var(--fgs-ink-2); }
.fgs .fgd-invest .invest-step-list { gap: 0; background: none; border: 0; border-top: 1px solid var(--fgs-line); }
.fgs .fgd-invest .invest-step-item { padding: 12px 0; background: none; border-bottom: 1px solid var(--fgs-line); opacity: .55; }
.fgs .fgd-invest .invest-step-item span { color: var(--fgs-ink); border-color: var(--fgs-line); }
.fgs .fgd-invest .invest-step-item.is-active span { color: var(--fgs-navy); background: var(--fgs-gold); border-color: var(--fgs-gold); }
.fgs .fgd-invest .invest-step-item.is-done span { border-color: var(--fgs-ink); }
.fgs .fgd-invest .invest-step-item small { color: var(--fgs-ink-2); }
@media (max-width: 999px) { .fgs .fgd-invest .invest-step-sidebar { padding: 32px 0; border-right: 0; border-bottom: 1px solid var(--fgs-line); } .fgs .fgd-invest .invest-step-list { border-top: 0; } .fgs .fgd-invest .invest-step-item { border-bottom: 0; } }
.fgs .fgd-invest .invest-form-area { padding: 40px 0 40px 48px; }
@media (max-width: 999px) { .fgs .fgd-invest .invest-form-area { padding: 32px 0; } }
.fgs .fgd-invest .invest-progress-label { font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--fgs-ink-2); }
.fgs .fgd-invest .invest-progress-title { font-size: var(--fgs-h3); color: var(--fgs-ink); }
.fgs .fgd-invest .invest-progress-bar { background: var(--fgs-line); }
.fgs .fgd-invest .invest-warnings { padding: 0 0 0 20px; background: none; border-left-color: var(--fgs-gold); }
.fgs .fgd-invest .invest-required { color: var(--fgs-ink); }
.fgs .fgd-invest .invest-info { color: var(--fgs-ink); background: transparent; border-color: var(--fgs-ink-2); }
.fgs .fgd-invest .invest-info[data-tip]::after { color: var(--fgs-ink); background: #fff; border-top: 0; border: 1px solid var(--fgs-line); box-shadow: 0 18px 36px rgba(8, 8, 47, .12); }
.fgs .fgd-invest .invest-rec-row { gap: 4px 16px; }
.fgs .fgd-invest .invest-rec-row button { padding: 0; font-size: 14px; color: var(--fgs-ink-2); background: none; border: 0; border-radius: 0; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.fgs .fgd-invest .invest-rec-row button:hover { color: var(--fgs-ink); }
.fgs .fgd-invest .invest-financing-summary { gap: 0 24px; background: none; border: 0; border-top: 1px solid var(--fgs-line); }
.fgs .fgd-invest .invest-financing-summary > div { padding: 12px 0; background: none; border-bottom: 1px solid var(--fgs-line); }
.fgs .fgd-invest .invest-nav-actions { border-top-color: var(--fgs-line); }
.fgs .fgd-invest .invest-prev, .fgs .fgd-invest .invest-next, .fgs .fgd-invest .invest-calc { min-height: 52px; font-weight: 500; border-radius: 0; }
.fgs .fgd-invest .invest-prev { color: var(--fgs-ink); border-color: var(--fgs-ink); }
.fgs .fgd-invest .invest-prev:hover { color: #fff; background: var(--fgs-ink); }
/* Ergebnis: Kennzahlen, Eingaben und Diagramme ohne Kästen */
.fgs .fgd-invest .invest-results { padding: 64px 0 0; background: none; border-top: 1px solid var(--fgs-ink); }
.fgs .fgd-invest .invest-results-head h2 { font-size: var(--fgs-h2); color: var(--fgs-ink); }
.fgs .fgd-invest .invest-kpi-grid { gap: 0 var(--fgs-gap); background: none; border: 0; }
.fgs .fgd-invest .invest-kpi { padding: 18px 0; background: none; border-top: 1px solid var(--fgs-line); }
.fgs .fgd-invest .invest-subheadline { font-size: var(--fgs-h3); color: var(--fgs-ink); }
.fgs .fgd-invest .invest-summary-grid, .fgs .fgd-invest .invest-chart-grid { gap: 32px var(--fgs-gap); }
.fgs .fgd-invest .invest-summary-card, .fgs .fgd-invest .invest-chart-card { padding: 20px 0 0; background: none; border: 0; border-top: 1px solid var(--fgs-ink); }
.fgs .fgd-invest .invest-summary-card h3, .fgs .fgd-invest .invest-chart-card h3 { color: var(--fgs-ink); }
.fgs .fgd-invest .invest-table-wrap { background: none; border: 0; border-top: 1px solid var(--fgs-ink); }
.fgs .fgd-invest .invest-table th { color: var(--fgs-ink-2); background: var(--fgs-bg); border-bottom-color: var(--fgs-ink); }
/* Terminbuchung: Text und ein Button, ohne Kicker */
.fgs .fgd-invest .invest-cta h2 { color: var(--fgs-ink); }
.fgs .fgd-invest .invest-cta p { color: var(--fgs-ink-2); }
.fgs .fgd-invest .invest-cta-actions small { color: var(--fgs-ink-2); }
/* Diagrammfläche: Das Skript zeichnet ein weißes Rechteck mit runden Ecken (rx 18) als Hintergrund; im System ohne Kasten */
.fgs .fgd-invest .invest-svg-chart > rect:first-child { fill: transparent; }

/* CP5 Wortüberlauf (28.10.2026): bei vier Rechnern je Reihe (ab 1200 px) Titel in 20 px wie im Lab vorgesehen,
   sonst läuft „Kaufnebenkostenrechner“ über die Spalte */
@media (min-width: 1200px) { .fgs .fgd-lab .lab-tool-grid .lab-tool-card h3 { font-size: 20px; } }

/* Update 7 §3.9 (28.10.2026): Rechner und Lab-Text, den Besucher lesen, mindestens 15 px. Klein bleibt nur das „i“ der Hilfe (.invest-info) und der Druck. */
.fgs .fgd-lab .lab-kicker, .fgs .fgd-lab-search label small, .fgd-lab-search .lab-quick-links button, .fgs .fgd-lab .lab-back-button small,
.fgs .fgd-lab .lab-field > span, .fgs .fgd-lab .lab-result-kpis span, .fgs .fgd-lab .lab-result-kpis small, .fgs .fgd-lab .lab-tornado div,
.fgs .fgd-lab .lab-saved-grid article small, .fgs .fgd-lab .lab-saved-grid button, .fgs .fgd-lab .lab-filter-row button, .fgs .fgd-lab .lab-az button,
.fgs .fgd-lab .lab-location-metrics span, .fgs .fgd-lab .content-meta, .fgs .fgd-lab .lab-example-grid h4,
.fgs .fgd-lab .lab-location-keyfacts-v2 span, .fgs .fgd-lab .lab-location-keyfacts-v2 small,
.fgs .fgd-lab .lab-article-card > span, .fgs .fgd-lab .lab-location-card header span, .fgd-lab .lab-embed-head button,
.fgs .fgd-invest .invest-step-item small, .fgs .fgd-invest .invest-progress-label, .fgs .fgd-invest .invest-label-row label,
.fgs .fgd-invest .invest-rec-row button, .fgs .fgd-invest .invest-financing-summary span, .fgs .fgd-invest .invest-kpi small,
.fgs .fgd-invest .invest-hint, .fgs .fgd-invest .invest-summary-card div, .fgs .fgd-invest .invest-chart-legend,
.fgs .fgd-invest .invest-table, .fgs .fgd-invest .invest-table th, .fgs .fgd-invest .invest-disclaimer, .fgs .fgd-invest .invest-cta-actions small { font-size: 15px; }
.fgs .fgd-invest .invest-info[data-tip]::after { font-size: 15px; }
@media (min-width: 640px) and (max-width: 999px) { .fgs .fgd-invest .invest-step-item strong { font-size: 15px !important; } }

/* Update 8 §2 (29.10.2026): Die Standortkarten im Lab zeigen Kaufpreis und Miete mit Quelle und Stand wie das Zahlenband der Gebietsseiten; statt der Renditezeile steht ein Link zum Investitionsrechner.
   Die Karte ist ein article: der Knopf „Standortanalyse öffnen“ deckt sie ab, der Link liegt darüber. Lesetext mindestens 15 px (Update 7 §3.9). */
.fgd-lab .lab-location-card .lab-card-action::after { content: ""; position: absolute; inset: 0; }
.fgd-lab .lab-location-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fgs .fgd-lab .lab-location-metrics small { display: block; margin-top: 4px; font-size: 15px; line-height: 1.45; color: var(--fgs-ink-2); }
.fgs .fgd-lab .lab-location-metrics p { margin: 0; }
.fgd-lab .lab-location-metrics p.lab-location-yieldlink { grid-column: 1 / -1; padding-top: 14px; }
.fgd-lab .lab-location-yieldlink a { position: relative; z-index: 1; color: var(--fgs-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.fgd-lab .lab-location-source a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.fgd-lab .lab-location-keyfacts-v2 article.lab-location-yieldlink { display: flex; align-items: center; }
@media (max-width: 639px) { .fgd-lab .lab-location-metrics { grid-template-columns: minmax(0, 1fr); } }
