/* =====================================================================
   Festgeld Rechner v1.0.0 — festgeld-calculator.css
   Scoped under .zsr-festgeld-calculator — zero global pollution.
   GeneratePress-safe: font-family inherit, no contain:, display
   !important on layout-critical elements.
   ===================================================================== */

/* [hidden] safety — GP .entry-content can override native [hidden] */
.zsr-festgeld-calculator [hidden] {
  display: none !important;
}
/* Specificity fix: .fg-field uses display:flex !important — class selector
   beats attribute selector when both carry !important, so we need a
   class+attribute rule to guarantee hidden wins for fg-field elements. */
.zsr-festgeld-calculator .fg-field[hidden] {
  display: none !important;
}

/* ── Design tokens ──────────────────────────────────────────────── */
.zsr-festgeld-calculator {
  --fg-font-display: Georgia, 'Times New Roman', serif;
  --fg-text:         #0f172a;
  --fg-text-muted:   #64748b;
  --fg-text-hint:    #94a3b8;
  --fg-surface:      #ffffff;
  --fg-surface-2:    #f8fafc;
  --fg-border:       #e2e8f0;
  --fg-focus:        #1d4ed8;
  --fg-accent:       #1d4ed8;
  --fg-accent-light: #eff6ff;
  --fg-green:        #059669;
  --fg-green-light:  #ecfdf5;
  --fg-red:          #dc2626;
  --fg-amber:        #d97706;
  --fg-radius-sm:    6px;
  --fg-radius:       10px;
  --fg-radius-lg:    16px;
  --fg-radius-xl:    22px;
  --fg-shadow:       0 1px 3px rgba(0,0,0,.07), 0 4px 16px rgba(0,0,0,.05);
  --fg-trans:        200ms cubic-bezier(.4,0,.2,1);
  font-family: inherit;
  color: var(--fg-text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* GP resets */
.zsr-festgeld-calculator *,
.zsr-festgeld-calculator *::before,
.zsr-festgeld-calculator *::after { box-sizing: border-box; }

.zsr-festgeld-calculator p {
  color: var(--fg-text-muted); font-size:1rem; line-height:1.7;
  margin:0 0 1rem; font-family:inherit;
}
.zsr-festgeld-calculator p:last-child { margin-bottom:0; }
.zsr-festgeld-calculator h1,.zsr-festgeld-calculator h2,.zsr-festgeld-calculator h3 {
  font-family: var(--fg-font-display); color: var(--fg-text); line-height:1.2; font-weight:700;
}
.zsr-festgeld-calculator h2 { font-size: clamp(1.3rem,3vw,1.75rem); margin:0 0 .875rem; }
.zsr-festgeld-calculator h3 { font-size:.9375rem; margin:0 0 .5rem; font-family:inherit; }
.zsr-festgeld-calculator a { color:var(--fg-accent); text-decoration:none; }
.zsr-festgeld-calculator a:hover { text-decoration:underline; }
.zsr-festgeld-calculator ul,.zsr-festgeld-calculator ol { margin:0;padding:0;list-style:none; }

@media (prefers-color-scheme: dark) {
  .zsr-festgeld-calculator {
    --fg-text:#f1f5f9; --fg-text-muted:#94a3b8; --fg-text-hint:#64748b;
    --fg-surface:#1e293b; --fg-surface-2:#0f172a; --fg-border:#334155;
    --fg-accent:#60a5fa; --fg-accent-light:#172554; --fg-green-light:#052e16;
  }
}

.zsr-festgeld-calculator :focus-visible {
  outline:2px solid var(--fg-focus); outline-offset:2px; border-radius:var(--fg-radius-sm);
}

/* ── Hero ───────────────────────────────────────────────────────── */
.zsr-festgeld-calculator .fg-hero {
  text-align:center; padding:1.5rem 1rem 1.25rem; max-width:680px; margin:0 auto 1.25rem;
}
.zsr-festgeld-calculator .fg-hero__eyebrow {
  font-size:.75rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--fg-accent); margin-bottom:.625rem; font-family:inherit; display:block !important;
}
.zsr-festgeld-calculator .fg-hero__title {
  font-family:var(--fg-font-display); font-size:clamp(1.75rem,5vw,2.75rem);
  line-height:1.1; color:var(--fg-text); margin:0 0 .625rem; font-weight:700;
}
.zsr-festgeld-calculator .fg-hero__lead {
  font-size:1rem; color:var(--fg-text-muted); margin:0 0 .375rem; line-height:1.65;
}
.zsr-festgeld-calculator .fg-hero__trust {
  font-size:.75rem; color:var(--fg-text-hint); font-style:italic; margin:0; font-family:inherit;
}

/* ── Layout ─────────────────────────────────────────────────────── */
.zsr-festgeld-calculator .fg-calculator-section { max-width:980px; margin:0 auto 2.5rem; }
.zsr-festgeld-calculator .fg-layout {
  display:grid !important; grid-template-columns:1fr 1fr; gap:24px; align-items:start;
}
@media (max-width:780px) {
  .zsr-festgeld-calculator .fg-layout { grid-template-columns:1fr; }
}

/* ── Card ───────────────────────────────────────────────────────── */
.zsr-festgeld-calculator .fg-card {
  background:var(--fg-surface); border:1px solid var(--fg-border);
  border-radius:var(--fg-radius-xl); padding:1.625rem; box-shadow:var(--fg-shadow);
}
.zsr-festgeld-calculator .fg-card__title {
  font-family:var(--fg-font-display); font-size:1.125rem; font-weight:700;
  margin:0 0 1.25rem; color:var(--fg-text);
}

/* ── Form fields ─────────────────────────────────────────────────── */
.zsr-festgeld-calculator .fg-field {
  display:flex !important; flex-direction:column; gap:5px; margin-bottom:1rem;
}
.zsr-festgeld-calculator .fg-field:last-of-type { margin-bottom:0; }
.zsr-festgeld-calculator .fg-label {
  font-size:.8125rem; font-weight:500; color:var(--fg-text-muted); font-family:inherit;
}
.zsr-festgeld-calculator .fg-field-hint {
  font-size:.75rem; color:var(--fg-text-hint); font-family:inherit;
}
.zsr-festgeld-calculator .fg-input-wrap {
  position:relative; display:flex !important; align-items:center;
}
.zsr-festgeld-calculator .fg-input-wrap--laufzeit { flex:1; }
.zsr-festgeld-calculator .fg-input-prefix,
.zsr-festgeld-calculator .fg-input-suffix {
  position:absolute; font-size:.875rem; font-weight:500;
  color:var(--fg-text-muted); pointer-events:none; font-family:inherit;
}
.zsr-festgeld-calculator .fg-input-prefix { left:12px; }
.zsr-festgeld-calculator .fg-input-suffix { right:12px; }
.zsr-festgeld-calculator .fg-input {
  width:100%; border:1.5px solid var(--fg-border); border-radius:var(--fg-radius);
  padding:9px 34px 9px 13px; font-size:1rem; font-family:inherit; font-weight:500;
  background:var(--fg-surface); color:var(--fg-text); -webkit-appearance:none;
  appearance:none; box-shadow:none; transition:border-color var(--fg-trans);
}
.zsr-festgeld-calculator .fg-input--prefixed { padding-left:34px !important; padding-right:13px !important; }
.zsr-festgeld-calculator .fg-input:hover { border-color:#94a3b8; }
.zsr-festgeld-calculator .fg-input:focus { border-color:var(--fg-focus); outline:none; }
.zsr-festgeld-calculator .fg-input[type="number"]::-webkit-inner-spin-button,
.zsr-festgeld-calculator .fg-input[type="number"]::-webkit-outer-spin-button { -webkit-appearance:none; }
.zsr-festgeld-calculator .fg-input[type="number"] { -moz-appearance:textfield; }
.zsr-festgeld-calculator .fg-select { padding-right:34px !important; cursor:pointer; }
.zsr-festgeld-calculator .fg-input-wrap--select::after {
  content:''; position:absolute; right:12px; top:50%; transform:translateY(-50%);
  width:0; height:0; border-left:4px solid transparent;
  border-right:4px solid transparent; border-top:5px solid var(--fg-text-muted);
  pointer-events:none;
}

/* Laufzeit row */
.zsr-festgeld-calculator .fg-laufzeit-row {
  display:flex !important; gap:8px; align-items:stretch;
}
.zsr-festgeld-calculator .fg-unit-toggle {
  display:flex !important; border:1.5px solid var(--fg-border); border-radius:var(--fg-radius);
  overflow:hidden; flex-shrink:0;
}
.zsr-festgeld-calculator .fg-unit-btn {
  padding:9px 12px; font-size:.8125rem; font-family:inherit; font-weight:500;
  background:var(--fg-surface-2); color:var(--fg-text-muted); border:none;
  cursor:pointer; box-shadow:none; text-transform:none; letter-spacing:normal;
  transition:background var(--fg-trans),color var(--fg-trans);
}
.zsr-festgeld-calculator .fg-unit-btn--active {
  background:var(--fg-accent) !important; color:#fff !important;
}

/* ── Chips ───────────────────────────────────────────────────────── */
.zsr-festgeld-calculator .fg-chips {
  display:flex !important; align-items:center; flex-wrap:wrap; gap:5px; margin-top:5px;
}
.zsr-festgeld-calculator .fg-chips__label {
  font-size:.6875rem; color:var(--fg-text-hint); font-weight:600;
  text-transform:uppercase; letter-spacing:.07em; font-family:inherit; white-space:nowrap;
}
.zsr-festgeld-calculator .fg-chip {
  display:inline-flex !important; align-items:center; padding:2px 9px;
  font-size:.8125rem; font-family:inherit; font-weight:500;
  color:var(--fg-text-muted); background:var(--fg-surface-2);
  border:1px solid var(--fg-border); border-radius:999px; cursor:pointer;
  box-shadow:none; text-transform:none;
  transition:background var(--fg-trans),border-color var(--fg-trans),color var(--fg-trans);
}
.zsr-festgeld-calculator .fg-chip:hover {
  background:var(--fg-accent-light); border-color:var(--fg-accent); color:var(--fg-accent);
}
.zsr-festgeld-calculator .fg-chip--active {
  background:var(--fg-accent) !important; border-color:var(--fg-accent) !important; color:#fff !important;
}

/* ── Advanced toggle ─────────────────────────────────────────────── */
.zsr-festgeld-calculator .fg-advanced { margin-top:1.125rem; border:1px solid var(--fg-border); border-radius:var(--fg-radius-lg); overflow:hidden; }
.zsr-festgeld-calculator .fg-advanced__toggle {
  display:flex !important; align-items:center; justify-content:space-between;
  width:100%; padding:10px 14px; background:var(--fg-surface-2); border:none;
  cursor:pointer; font-family:inherit; font-size:.875rem; font-weight:500;
  color:var(--fg-text-muted); text-transform:none; letter-spacing:normal; box-shadow:none;
  transition:background var(--fg-trans);
}
.zsr-festgeld-calculator .fg-advanced__toggle:hover { background:var(--fg-border); }
.zsr-festgeld-calculator .fg-advanced__icon {
  display:flex !important; align-items:center; flex-shrink:0;
  transition:transform var(--fg-trans);
}
.zsr-festgeld-calculator .fg-advanced__toggle[aria-expanded="true"] .fg-advanced__icon {
  transform:rotate(180deg);
}
.zsr-festgeld-calculator .fg-advanced__body {
  padding:14px; display:flex !important; flex-direction:column; gap:10px;
  border-top:1px solid var(--fg-border);
}

/* Steuer toggle */
.zsr-festgeld-calculator .fg-toggle-row {
  display:flex !important; align-items:center; gap:10px;
}
.zsr-festgeld-calculator .fg-toggle__input { position:absolute; opacity:0; width:0; height:0; }
.zsr-festgeld-calculator .fg-toggle__track {
  display:inline-flex !important; align-items:center; width:42px; height:24px;
  background:var(--fg-border); border-radius:999px; cursor:pointer;
  transition:background var(--fg-trans); flex-shrink:0; position:relative;
}
.zsr-festgeld-calculator .fg-toggle__input:checked + .fg-toggle__track { background:var(--fg-accent); }
.zsr-festgeld-calculator .fg-toggle__thumb {
  display:block !important; width:18px; height:18px; border-radius:50%;
  background:#fff; position:absolute; left:3px;
  transition:transform var(--fg-trans);
}
.zsr-festgeld-calculator .fg-toggle__input:checked + .fg-toggle__track .fg-toggle__thumb {
  transform:translateX(18px);
}
.zsr-festgeld-calculator .fg-toggle__label {
  font-size:.875rem; font-family:inherit; color:var(--fg-text-muted);
}
.zsr-festgeld-calculator .fg-steuer-details { margin-top:6px; }

/* ── Warn / Trust ────────────────────────────────────────────────── */
.zsr-festgeld-calculator .fg-warn {
  background:#fffbeb; border:1px solid #fde68a; border-radius:var(--fg-radius);
  padding:9px 13px; font-size:.8125rem; color:#92400e; margin-top:.75rem; font-family:inherit;
}
@media (prefers-color-scheme: dark) {
  .zsr-festgeld-calculator .fg-warn { background:#1c1107; border-color:#78350f; color:#fde68a; }
}
.zsr-festgeld-calculator .fg-trust-strip {
  display:flex !important; flex-wrap:wrap; gap:8px 14px; justify-content:center;
  margin-top:1.125rem; padding-top:.875rem; border-top:1px solid var(--fg-border);
}
.zsr-festgeld-calculator .fg-trust-strip__item {
  display:flex !important; align-items:center; gap:5px;
  font-size:.75rem; color:var(--fg-text-muted); white-space:nowrap; font-family:inherit;
}
.zsr-festgeld-calculator .fg-trust-strip__item svg { opacity:.5; flex-shrink:0; }

/* ── Result card ─────────────────────────────────────────────────── */
.zsr-festgeld-calculator .fg-sep {
  height:1px; background:var(--fg-border); margin:1rem 0;
}
.zsr-festgeld-calculator .fg-section-label {
  font-size:.6875rem !important; font-weight:700 !important; text-transform:uppercase !important;
  letter-spacing:.09em !important; color:var(--fg-text-hint) !important;
  margin:0 0 .625rem !important; font-family:inherit !important; display:block !important;
}

/* Primary */
.zsr-festgeld-calculator .fg-primary { padding:.25rem 0 .5rem; }
.zsr-festgeld-calculator .fg-primary__val {
  font-family:var(--fg-font-display); font-size:clamp(2rem,4.5vw,2.75rem);
  font-weight:700; line-height:1.05; color:var(--fg-text); letter-spacing:-.025em;
  display:block !important; margin-bottom:.25rem;
}
.zsr-festgeld-calculator .fg-primary__label {
  font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.09em;
  color:var(--fg-text-hint); display:block !important; font-family:inherit; margin-bottom:.25rem;
}
.zsr-festgeld-calculator .fg-primary__sub {
  font-size:.8125rem; color:var(--fg-text-muted); display:block !important; font-family:inherit;
}

/* Breakdown stack */
.zsr-festgeld-calculator .fg-stack {
  display:flex !important; flex-direction:column; margin:0;
  border:1px solid var(--fg-border); border-radius:var(--fg-radius); overflow:hidden;
}
.zsr-festgeld-calculator .fg-stack__row {
  display:flex !important; justify-content:space-between; align-items:center;
  padding:.4375rem .75rem; font-size:.875rem; font-family:inherit;
  border-bottom:1px solid var(--fg-border); background:var(--fg-surface);
}
.zsr-festgeld-calculator .fg-stack__row:last-child { border-bottom:none; }
.zsr-festgeld-calculator .fg-stack__row dt { color:var(--fg-text-muted); font-size:.8125rem; }
.zsr-festgeld-calculator .fg-stack__row dd { font-weight:600; color:var(--fg-text); font-variant-numeric:tabular-nums; }
.zsr-festgeld-calculator .fg-stack__row--add { background:var(--fg-surface); }
.zsr-festgeld-calculator .fg-stack__row--sub { background:var(--fg-surface); }
.zsr-festgeld-calculator .fg-stack__row--result { background:var(--fg-surface-2); font-weight:600; }
.zsr-festgeld-calculator .fg-stack__row--result dt { color:var(--fg-text); font-weight:600; }
.zsr-festgeld-calculator .fg-stack__row--result dd { color:var(--fg-accent); }
.zsr-festgeld-calculator .fg-stack__row--inflation { background:var(--fg-surface); }
.zsr-festgeld-calculator .fg-stack__row--realwert {
  background:#f0f4ff; font-weight:600;
}
@media (prefers-color-scheme: dark) {
  .zsr-festgeld-calculator .fg-stack__row--realwert { background:#1a2040; }
}

/* Metric cards */
.zsr-festgeld-calculator .fg-metric-cards {
  display:grid !important; grid-template-columns:1fr 1fr; gap:8px;
}
.zsr-festgeld-calculator .fg-metric-card {
  display:flex !important; flex-direction:column; gap:3px;
  padding:.625rem .75rem; border:1px solid var(--fg-border);
  border-radius:var(--fg-radius); background:var(--fg-surface-2);
}
.zsr-festgeld-calculator .fg-metric-card__label {
  font-size:.6875rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em;
  color:var(--fg-text-hint); font-family:inherit; display:block !important;
}
.zsr-festgeld-calculator .fg-metric-card__val {
  font-family:var(--fg-font-display); font-size:1.125rem; font-weight:700;
  color:var(--fg-text); display:block !important; letter-spacing:-.01em;
}
.zsr-festgeld-calculator .fg-val--loss { color:var(--fg-red) !important; }
.zsr-festgeld-calculator .fg-val--gain { color:var(--fg-green) !important; }

/* Realwert box */
.zsr-festgeld-calculator .fg-realwert-box {
  background:var(--fg-accent-light); border:1px solid #bfdbfe;
  border-left:3px solid var(--fg-accent);
  border-radius:0 var(--fg-radius) var(--fg-radius) 0; padding:.875rem 1rem;
}
@media (prefers-color-scheme: dark) {
  .zsr-festgeld-calculator .fg-realwert-box { background:#172554; border-color:#2d4a8a; }
}
.zsr-festgeld-calculator .fg-realwert-box__text {
  font-size:.875rem !important; margin:0 0 .375rem !important; color:var(--fg-text-muted) !important;
}
.zsr-festgeld-calculator .fg-realwert-box__val {
  font-family:var(--fg-font-display); font-size:1.0625rem; font-weight:700;
  color:var(--fg-accent); display:block !important; margin-bottom:.25rem;
}
.zsr-festgeld-calculator .fg-realwert-box__note {
  font-size:.6875rem; color:var(--fg-text-hint); font-style:italic;
  font-family:inherit; display:block !important; margin:0;
}

/* Interpretation */
.zsr-festgeld-calculator .fg-interp__list {
  list-style:none !important; padding:0; margin:0;
  display:flex !important; flex-direction:column; gap:5px;
}
.zsr-festgeld-calculator .fg-interp__item {
  font-size:.8375rem; line-height:1.55; padding:5px 8px 5px 20px;
  border-radius:var(--fg-radius-sm); position:relative;
  background:var(--fg-surface-2); color:var(--fg-text-muted); font-family:inherit;
}
.zsr-festgeld-calculator .fg-interp__item::before {
  content:''; position:absolute; left:7px; top:11px;
  width:6px; height:6px; border-radius:50%; background:var(--fg-text-hint);
}
.zsr-festgeld-calculator .fg-interp__placeholder {
  font-size:.8125rem; color:var(--fg-text-hint); font-style:italic; margin:0; font-family:inherit;
}

/* ── Content blocks ──────────────────────────────────────────────── */
.zsr-festgeld-calculator .fg-content-blocks { max-width:980px; margin:0 auto; padding-bottom:4rem; }
.zsr-festgeld-calculator .fg-block { margin-bottom:3rem; }
.zsr-festgeld-calculator .fg-divider {
  height:0; border:none; border-top:1px solid var(--fg-border); margin:2rem 0; opacity:.5;
}
.zsr-festgeld-calculator .fg-block-note {
  font-size:.8125rem; color:var(--fg-text-hint); font-style:italic; margin:1rem 0 0; font-family:inherit;
}
.zsr-festgeld-calculator .fg-short-answer {
  background:var(--fg-accent-light); border-left:3px solid var(--fg-accent);
  border-radius:0 var(--fg-radius) var(--fg-radius) 0; padding:.875rem 1.1rem; margin:1rem 0;
}
.zsr-festgeld-calculator .fg-short-answer h3 {
  font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em;
  color:var(--fg-accent); margin:0 0 .4rem; font-family:inherit;
}
.zsr-festgeld-calculator .fg-short-answer p { font-size:.9rem; color:var(--fg-text); margin:0; }
.zsr-festgeld-calculator .fg-info-box {
  background:var(--fg-surface-2); border-left:3px solid var(--fg-amber);
  border-radius:0 var(--fg-radius) var(--fg-radius) 0;
  padding:.875rem 1.1rem; margin:1rem 0;
  font-size:.9375rem; color:var(--fg-text-muted); font-family:inherit; line-height:1.6;
}
.zsr-festgeld-calculator .fg-formula-block {
  border:1px solid var(--fg-border); border-radius:var(--fg-radius);
  overflow:hidden; margin:1rem 0;
}
.zsr-festgeld-calculator .fg-formula-row {
  display:flex !important; justify-content:space-between; align-items:baseline;
  flex-wrap:wrap; gap:8px; padding:.5rem .875rem;
  border-bottom:1px solid var(--fg-border);
  background:var(--fg-surface); font-size:.875rem; font-family:inherit;
}
.zsr-festgeld-calculator .fg-formula-row:last-child { border-bottom:none; }
.zsr-festgeld-calculator .fg-formula-row--accent { background:var(--fg-accent-light); font-weight:600; }
.zsr-festgeld-calculator .fg-formula-name { color:var(--fg-text-muted); font-size:.8125rem; }
.zsr-festgeld-calculator .fg-formula-eq { font-family:Georgia,serif; color:var(--fg-text); }
.zsr-festgeld-calculator .fg-two-col {
  display:grid !important; grid-template-columns:1fr 1fr; gap:14px; margin:1rem 0;
}
@media (max-width:560px) { .zsr-festgeld-calculator .fg-two-col { grid-template-columns:1fr; } }
.zsr-festgeld-calculator .fg-info-card {
  background:var(--fg-surface); border:1px solid var(--fg-border);
  border-radius:var(--fg-radius-lg); padding:1.125rem;
}
.zsr-festgeld-calculator .fg-info-card--accent {
  background:var(--fg-accent-light); border-color:var(--fg-accent);
}
.zsr-festgeld-calculator .fg-info-card__icon {
  font-family:var(--fg-font-display); font-size:1.5rem; color:var(--fg-accent);
  margin-bottom:.4rem; display:block !important;
}

/* Ecosystem */
.zsr-festgeld-calculator .fg-ecosystem {
  max-width:980px; margin:0 auto 2.5rem;
  padding:1.5rem; background:var(--fg-surface-2);
  border:1px solid var(--fg-border); border-radius:var(--fg-radius-xl);
}
.zsr-festgeld-calculator .fg-ecosystem__title {
  font-family:var(--fg-font-display); font-size:clamp(1.1rem,2.5vw,1.375rem);
  font-weight:700; color:var(--fg-text); margin:0 0 .25rem;
}
.zsr-festgeld-calculator .fg-ecosystem__lead {
  font-size:.875rem; color:var(--fg-text-muted); margin:0 0 1.125rem; font-family:inherit;
}
.zsr-festgeld-calculator .fg-ecosystem-grid {
  display:grid !important; grid-template-columns:repeat(3,1fr); gap:10px;
}
@media (max-width:700px) { .zsr-festgeld-calculator .fg-ecosystem-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:480px) { .zsr-festgeld-calculator .fg-ecosystem-grid { grid-template-columns:1fr; } }
.zsr-festgeld-calculator .fg-ecosystem-card {
  display:flex !important; flex-direction:column; gap:4px;
  padding:.875rem 1rem; background:var(--fg-surface);
  border:1px solid var(--fg-border); border-radius:var(--fg-radius-lg);
  text-decoration:none; transition:border-color var(--fg-trans),transform .15s;
}
.zsr-festgeld-calculator .fg-ecosystem-card:hover {
  border-color:var(--fg-accent); transform:translateY(-2px); text-decoration:none;
}
.zsr-festgeld-calculator .fg-ecosystem-card__label {
  font-size:.9375rem; font-weight:600; color:var(--fg-text);
  font-family:inherit; display:block !important;
}
.zsr-festgeld-calculator .fg-ecosystem-card:hover .fg-ecosystem-card__label { color:var(--fg-accent); }
.zsr-festgeld-calculator .fg-ecosystem-card__desc {
  font-size:.8125rem; color:var(--fg-text-muted); line-height:1.45;
  font-family:inherit; display:block !important;
}

/* Table */
.zsr-festgeld-calculator .fg-table-wrap {
  overflow-x:auto; margin:1rem 0;
  border-radius:var(--fg-radius); border:1px solid var(--fg-border);
}
.zsr-festgeld-calculator .fg-table {
  width:100%; border-collapse:collapse; font-size:.875rem;
  background:var(--fg-surface); font-family:inherit; font-variant-numeric:tabular-nums;
}
.zsr-festgeld-calculator .fg-table caption {
  font-size:.75rem; color:var(--fg-text-hint); padding:.5rem .875rem;
  text-align:left; background:var(--fg-surface-2); border-bottom:1px solid var(--fg-border);
}
.zsr-festgeld-calculator .fg-table th {
  padding:.5625rem .875rem; text-align:left; font-size:.75rem; font-weight:600;
  color:var(--fg-text-muted); text-transform:uppercase; letter-spacing:.05em;
  background:var(--fg-surface-2); border:none; border-bottom:1px solid var(--fg-border);
}
.zsr-festgeld-calculator .fg-table td {
  padding:.5625rem .875rem; border:none; border-bottom:1px solid var(--fg-border);
  color:var(--fg-text);
}
.zsr-festgeld-calculator .fg-table tr:last-child td { border-bottom:none; }
.zsr-festgeld-calculator .fg-table tr:hover td { background:var(--fg-surface-2); }
.zsr-festgeld-calculator .fg-table__highlight td { background:var(--fg-accent-light); font-weight:600; }

/* Trust grid */
.zsr-festgeld-calculator .fg-block--trust {
  background:var(--fg-surface-2); border:1px solid var(--fg-border);
  border-radius:var(--fg-radius-xl); padding:1.625rem;
}
.zsr-festgeld-calculator .fg-trust-grid {
  display:grid !important; grid-template-columns:1fr 1fr; gap:12px;
}
@media (max-width:560px) { .zsr-festgeld-calculator .fg-trust-grid { grid-template-columns:1fr; } }
.zsr-festgeld-calculator .fg-trust-item {
  background:var(--fg-surface); border:1px solid var(--fg-border);
  border-radius:var(--fg-radius); padding:.875rem;
}

/* FAQ */
.zsr-festgeld-calculator .fg-faq {
  border:1px solid var(--fg-border); border-radius:var(--fg-radius-lg); overflow:hidden;
}
.zsr-festgeld-calculator .fg-faq__item { border-bottom:1px solid var(--fg-border); }
.zsr-festgeld-calculator .fg-faq__item:last-child { border-bottom:none; }
.zsr-festgeld-calculator .fg-faq__q {
  list-style:none; padding:.875rem 1.125rem; cursor:pointer; font-size:.9375rem;
  font-weight:600; color:var(--fg-text); display:flex !important;
  justify-content:space-between; align-items:center;
  background:var(--fg-surface); font-family:inherit; user-select:none;
  transition:background var(--fg-trans);
}
.zsr-festgeld-calculator .fg-faq__q::-webkit-details-marker { display:none; }
.zsr-festgeld-calculator .fg-faq__q::after {
  content:'+'; font-size:1.25rem; font-weight:300; color:var(--fg-text-muted); flex-shrink:0;
}
.zsr-festgeld-calculator .fg-faq__item[open] .fg-faq__q { background:var(--fg-surface-2); }
.zsr-festgeld-calculator .fg-faq__item[open] .fg-faq__q::after { content:'\2013'; }
.zsr-festgeld-calculator .fg-faq__a {
  padding:.75rem 1.125rem 1rem; background:var(--fg-surface-2);
}
.zsr-festgeld-calculator .fg-faq__a p { font-size:.9rem; margin:0; }

/* Disclaimer */
.zsr-festgeld-calculator .fg-disclaimer {
  border-top:1px solid var(--fg-border); padding-top:1.5rem;
}
.zsr-festgeld-calculator .fg-disclaimer p {
  font-size:.8125rem; color:var(--fg-text-hint); line-height:1.65;
}

/* SR-only */
.zsr-festgeld-calculator .fg-sr-only {
  position:absolute; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* GP compat overrides */
.zsr-festgeld-calculator table { border-collapse:collapse; width:100%; margin:0; }
.zsr-festgeld-calculator table th,
.zsr-festgeld-calculator table td { text-align:left; vertical-align:top; border:none; }
.zsr-festgeld-calculator svg { display:inline-block !important; vertical-align:middle; overflow:visible; }
.zsr-festgeld-calculator .fg-ecosystem-card,
.zsr-festgeld-calculator .fg-ecosystem-card:visited { text-decoration:none; }

/* ── Glossary (fg-glossar) ───────────────────────────────────────── */
.zsr-festgeld-calculator .fg-glossar {
  display: flex !important;
  flex-direction: column;
  margin: 0;
  border: 1px solid var(--fg-border);
  border-radius: var(--fg-radius);
  overflow: hidden;
}
.zsr-festgeld-calculator .fg-glossar__row {
  display: flex !important;
  gap: 1rem;
  padding: 0.5rem 0.875rem;
  border-bottom: 1px solid var(--fg-border);
  font-size: 0.875rem;
  font-family: inherit;
  background: var(--fg-surface);
}
.zsr-festgeld-calculator .fg-glossar__row:last-child { border-bottom: none; }
.zsr-festgeld-calculator .fg-glossar__row:nth-child(even) { background: var(--fg-surface-2); }
.zsr-festgeld-calculator .fg-glossar dt {
  min-width: 11rem;
  font-weight: 600;
  color: var(--fg-text);
  flex-shrink: 0;
}
.zsr-festgeld-calculator .fg-glossar dd {
  color: var(--fg-text-muted);
  margin: 0;
}
@media (max-width: 560px) {
  .zsr-festgeld-calculator .fg-glossar__row { flex-direction: column; gap: 2px; }
  .zsr-festgeld-calculator .fg-glossar dt { min-width: 0; }
}

/* ── zsr-tool-cta: contextual calculator handoff button ─── */
.zsr-festgeld-calculator a.zsr-tool-cta,
.zsr-festgeld-calculator a.zsr-tool-cta:visited {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-top: 0;
  padding: 0.75rem 1.375rem;
  border-radius: 999px;
  border: 1.5px solid #6366f1;
  background: transparent;
  color: #6366f1 !important;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 150ms ease, color 150ms ease;
}
.zsr-festgeld-calculator a.zsr-tool-cta:hover {
  background: #eef2ff;
  color: #4f46e5 !important;
  border-color: #4f46e5;
  text-decoration: none !important;
}
.zsr-festgeld-calculator a.zsr-tool-cta:focus-visible {
  outline: 2px solid #6366f1;
  outline-offset: 3px;
}

/* ── CTA row wrapper ─────────────────────────────────────────── */
.zsr-festgeld-calculator .fg-cta-row {
  margin-top: 1rem;
  margin-bottom: 0;
}

/* ── Official sources 3-card grid ───────────────────────────── */
.zsr-festgeld-calculator .fg-quellen-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1rem !important;
  margin-top: 1.25rem !important;
  list-style: none !important;
  padding: 0 !important;
}
@media (max-width: 700px) {
  .zsr-festgeld-calculator .fg-quellen-grid {
    grid-template-columns: 1fr !important;
  }
}
.zsr-festgeld-calculator .fg-quellen-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
  padding: 1rem 1.125rem !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  margin: 0 !important;
}
.zsr-festgeld-calculator .fg-quellen-card__name,
.zsr-festgeld-calculator .fg-quellen-card strong {
  display: block !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  color: #0f172a !important;
  margin: 0 0 0.2rem !important;
  padding: 0 !important;
}
.zsr-festgeld-calculator .fg-quellen-card__desc,
.zsr-festgeld-calculator .fg-quellen-card p {
  display: block !important;
  font-size: 0.8125rem !important;
  color: #64748b !important;
  flex: 1 !important;
  margin: 0 0 0.4rem !important;
  padding: 0 !important;
}
.zsr-festgeld-calculator .fg-quellen-card__link {
  display: inline-block !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: #6366f1 !important;
  text-decoration: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.zsr-festgeld-calculator .fg-quellen-card__link:hover {
  text-decoration: underline !important;
}

/* Mobile CTA full-width ─────────────────────────────────────── */
@media (max-width: 480px) {
  .zsr-festgeld-calculator a.zsr-tool-cta {
    width: 100%;
    max-width: 100%;
    justify-content: center;
  }
}
