.fsant-contact-box {
  margin: 34px 0 8px;
  padding: 24px;
  border: 1px solid #e4d7c9;
  border-radius: 18px;
  background: #fffaf4;
}
.fsant-contact-box h3 { margin-top: 0; }
.fsant-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:18px; }
.fsant-field { display:flex; flex-direction:column; gap:7px; }
.fsant-field span { font-weight:600; }
.fsant-field input { width:100%; min-height:46px; padding:10px 12px; border:1px solid #d9cbbc; border-radius:10px; background:#fff; color:#3c342d; font:inherit; }
.fsant-field input:focus { outline:2px solid rgba(101,114,95,.24); border-color:#65725f; }
.fsant-consent { display:grid; grid-template-columns:22px 1fr; gap:10px; align-items:start; margin-top:18px; line-height:1.5; }
.fsant-consent input { width:18px; height:18px; margin-top:3px; }
.fsant-small { margin-top:10px; font-size:.9rem; color:#7a6d63; }
.fsant-error,.fsant-result-mail-notice { margin-top:14px; padding:12px 14px; border-radius:10px; }
.fsant-error,.fsant-result-mail-notice[data-type="error"] { background:#f8e9e5; color:#7d493d; }
.fsant-result-mail-notice[data-type="success"] { background:#e8eee5; color:#43533f; }
.fsant-result-mail-notice[data-type="info"] { background:#f2eee8; color:#5e554d; }
.fsant-result-mail-notice { margin-bottom:24px; }

/* Fortschritt bleibt beim Scrollen sichtbar */
.feinschritt-native-test #test .progress-wrap {
  position: sticky;
  top: 14px;
  z-index: 50;
  margin: 18px 0 24px;
  padding: 12px 14px 8px;
  border: 1px solid #e4d7c9;
  border-radius: 14px;
  background: rgba(255, 250, 244, .97);
  box-shadow: 0 8px 20px rgba(80, 67, 57, .08);
  backdrop-filter: blur(4px);
}
.feinschritt-native-test #test .progress-wrap .small { margin-bottom:0; }

@media (max-width:680px) {
  .fsant-field-grid { grid-template-columns:1fr; }
  .feinschritt-native-test #test .progress-wrap { top:8px; }
}

/* Version 1.2: Fortschritt unabhängig vom Test-Container immer sichtbar */
.feinschritt-native-test #test .progress-wrap {
  position: static !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.fsant-floating-progress {
  position: fixed;
  top: 16px;
  left: 50%;
  transform: translate(-50%, -12px);
  width: min(620px, calc(100vw - 28px));
  z-index: 999999;
  padding: 11px 14px 12px;
  border: 1px solid #e4d7c9;
  border-radius: 16px;
  background: rgba(255,250,244,.98);
  box-shadow: 0 10px 28px rgba(61,77,77,.14);
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, transform .2s ease;
}
.fsant-floating-progress.is-visible { opacity:1; visibility:visible; transform:translate(-50%,0); }
.fsant-floating-progress-row { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:8px; color:#3d4d4d; font-size:14px; }
.fsant-floating-progress-row strong { font-weight:600; }
.fsant-floating-progress-track { height:8px; background:#e8ded2; border-radius:999px; overflow:hidden; }
.fsant-floating-progress-track > div { height:100%; width:0; background:#7f8b78; border-radius:999px; transition:width .2s ease; }

/* PDF wird als eigene A4-Seiten mit den auf der Website geladenen Schriften gerendert */
#fsant-pdf-render-root { position:fixed; left:-100000px; top:0; width:794px; z-index:-99999; background:#fff; }
.fsant-pdf-page { width:794px; height:1123px; background:#fff; color:#3d4d4d; position:relative; overflow:hidden; font-family:var(--fsant-body-font); }
.fsant-pdf-page-inner { padding:62px 68px 70px; height:100%; box-sizing:border-box; }
.fsant-pdf-page h1,.fsant-pdf-page h2,.fsant-pdf-page h3 { font-family:var(--fsant-heading-font); font-weight:400; color:#3d4d4d; }
.fsant-pdf-page h1 { font-size:42px; line-height:1.12; margin:14px 0 20px; }
.fsant-pdf-page h2 { font-size:25px; line-height:1.2; margin:0 0 22px; }
.fsant-pdf-page p,.fsant-pdf-page li,.fsant-pdf-page span,.fsant-pdf-page strong { font-family:var(--fsant-body-font); }
.fsant-pdf-logo { display:block; width:150px; height:auto; object-fit:contain; object-position:left center; margin-bottom:34px; }
.fsant-pdf-logo-large { width:210px; margin-bottom:0; }
.fsant-pdf-cover { background:#faf6f0; }
.fsant-pdf-cover-space { height:88px; }
.fsant-pdf-kicker { font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:#7f8b78; font-weight:600; }
.fsant-pdf-lead { font-size:20px; line-height:1.55; margin:0 0 30px; }
.fsant-pdf-lead-sm { font-size:17px; line-height:1.6; margin:0 0 28px; }
.fsant-pdf-note { font-size:14px; line-height:1.55; color:#766b63; max-width:570px; }
.fsant-pdf-highlight { padding:22px 25px; background:#fff; border:1px solid #e4d7c9; border-radius:22px; margin:28px 0; }
.fsant-pdf-highlight span { display:block; font-size:13px; color:#766b63; margin-bottom:8px; }
.fsant-pdf-highlight strong { display:block; font-size:23px; line-height:1.3; color:#3d4d4d; }
.fsant-pdf-date { position:absolute; left:68px; bottom:74px; color:#766b63; font-size:13px; }
.fsant-pdf-footer { position:absolute; left:68px; right:68px; bottom:28px; border-top:1px solid #e4d7c9; padding-top:12px; font-size:11px; color:#8b8178; }
.fsant-pdf-scores { margin-top:26px; }
.fsant-pdf-score-row { display:grid; grid-template-columns:1fr 215px; gap:22px; align-items:center; padding:17px 0; border-bottom:1px solid #e4d7c9; }
.fsant-pdf-score-row strong { display:block; font-size:17px; margin-bottom:5px; }
.fsant-pdf-score-row span { display:block; color:#766b63; font-size:13px; }
.fsant-pdf-score-track { height:9px; background:#e8ded2; border-radius:999px; overflow:hidden; }
.fsant-pdf-score-track i { display:block; height:100%; background:#7f8b78; border-radius:999px; }
.fsant-pdf-section-title { margin-top:32px !important; margin-bottom:14px !important; font-size:24px !important; }
.fsant-pdf-radar { display:block; max-width:490px; max-height:360px; object-fit:contain; margin:10px auto 0; }
.fsant-pdf-info-box { background:#faf6f0; border:1px solid #e4d7c9; border-radius:20px; padding:20px 22px; box-sizing:border-box; }
.fsant-pdf-info-box h3 { margin:0 0 12px; font-size:20px; }
.fsant-pdf-info-box p { margin:0; font-size:14px; line-height:1.55; }
.fsant-pdf-info-box ul { margin:0; padding-left:20px; }
.fsant-pdf-info-box li { margin:8px 0; font-size:14px; line-height:1.4; }
.fsant-pdf-info-box-wide { margin:26px 0 34px; }
.fsant-pdf-meta-pill { display:inline-block; padding:9px 14px; background:#edf0ea; border-radius:999px; color:#52604f; font-size:13px; margin-bottom:24px; }
.fsant-pdf-copy p { font-size:15px; line-height:1.58; margin:0 0 14px; }
.fsant-pdf-two-col { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:26px; }
.fsant-pdf-writing-lines { margin:35px 0 52px; }
.fsant-pdf-writing-lines i { display:block; height:38px; border-bottom:1px solid #d8cec4; }
.fsant-pdf-closing { padding:26px; background:#faf6f0; border-radius:20px; font-size:17px; line-height:1.58; }
.fsant-pdf-claim { margin-top:30px; font-size:18px; line-height:1.45; color:#65725f; font-weight:600; }

@media (max-width:680px) {
  .fsant-floating-progress { top:8px; width:calc(100vw - 18px); }
}
