
/* Anchor-Ziele unter dem Sticky-Header sauber positionieren */
html {
  scroll-padding-top: 110px;
}

:root {
  --bg: #ffffff;
  --text: #171717;
  --muted: #626262;
  --line: #dddddd;
  --soft: #f1f4f5;
  --soft-2: #e9e9e9;
  --dark: #171717;
  --white: #ffffff;
  --radius-xl: 34px;
  --radius-lg: 26px;
  --radius-md: 17px;
  --radius-sm: 11px;
  --container: 1120px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { line-height: 1.06; letter-spacing: -0.035em; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.narrow { max-width: 880px; }
.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; }
.skip-link { position:absolute; left:16px; top:-70px; z-index:100; padding:10px 14px; background:#111; color:#fff; border-radius:8px; }
.skip-link:focus { top:12px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255,255,255,.95);
  border-bottom: 1px solid rgba(0,0,0,.06);
  backdrop-filter: blur(14px);
}
.header-inner {
  min-height: 76px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 26px;
}
.brand { display:inline-flex; width:fit-content; align-items:center; gap:9px; }
.brand img { width:31px; height:auto; }
.brand-name {
  font-family: "Segoe Script", "Brush Script MT", Georgia, serif;
  font-size: 1.28rem;
  font-weight: 700;
  letter-spacing: -0.04em;
}
.main-nav { display:flex; gap:28px; font-size:.92rem; color:#404040; }
.main-nav a:hover,.footer-nav a:hover,.text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.header-inner > .button-small { justify-self:end; }

.button {
  display:inline-flex;
  min-height:50px;
  align-items:center;
  justify-content:center;
  padding:0 22px;
  border:1px solid var(--dark);
  border-radius:12px;
  background:var(--dark);
  color:#fff;
  font-weight:760;
  line-height:1.15;
  transition: transform 160ms ease, box-shadow 160ms ease;
}
.button:hover { transform: translateY(-1px); box-shadow: 0 9px 24px rgba(0,0,0,.13); }
.button-small { min-height:40px; padding-inline:15px; font-size:.88rem; }
.button-large { min-height:56px; padding-inline:25px; }
.button-inverse { background:#fff; color:#171717; border-color:#fff; }
.button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid #777; outline-offset:4px; }
.text-link { font-weight:720; }

.hero { padding:78px 0 60px; text-align:center; }
.hero-inner { display:flex; flex-direction:column; align-items:center; }
.availability {
  display:inline-flex; align-items:center; gap:8px;
  margin:0 0 20px; padding:8px 12px;
  border:1px solid var(--line); border-radius:999px;
  background:#fafafa; font-size:.88rem; font-weight:650;
}
.availability span { width:7px; height:7px; border-radius:50%; background:#222; }
h1 { margin-bottom:22px; font-size:clamp(3.1rem,7vw,6rem); font-weight:820; max-width:920px; }
.hero-text { max-width:760px; margin-bottom:27px; color:#404040; font-size:clamp(1.05rem,1.7vw,1.28rem); }
.hero-actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:19px; margin-bottom:52px; }

.transformation {
  width:100%;
  padding:42px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:28px;
  align-items:center;
  border-radius:var(--radius-xl);
  background:var(--soft);
  text-align:left;
}
.form-example { min-height:365px; border:1px solid #d7d7d7; border-radius:20px; background:#fff; padding:30px; }
.form-example-official { box-shadow: inset 0 0 0 1px rgba(0,0,0,.015); }
.example-label { display:block; margin-bottom:20px; color:#666; font-size:.74rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.paper-head { width:45%; height:11px; background:#1c1c1c; margin-bottom:25px; }
.paper-lines { display:grid; gap:8px; margin-bottom:28px; }
.paper-lines span { display:block; height:5px; border-radius:5px; background:#d3d3d3; }
.paper-lines .short { width:65%; }
.official-question { border:1px solid #d8d8d8; border-radius:10px; padding:16px; }
.official-question strong { display:block; margin-bottom:7px; font-size:.94rem; }
.official-question p { margin-bottom:0; color:#666; font-size:.82rem; }
.fake-fields { display:flex; gap:12px; margin-top:17px; }
.fake-fields i { width:22px; height:22px; border:1px solid #999; border-radius:4px; }
.transform-arrow { font-size:2rem; font-weight:400; color:#555; }
.form-example-simple { position:relative; box-shadow:0 15px 44px rgba(0,0,0,.08); }
.mini-brand { display:flex; align-items:center; gap:7px; margin-bottom:15px; font-weight:780; font-size:.9rem; }
.mini-brand img { width:23px; height:auto; }
.progress { height:4px; margin:0 -30px 30px; background:#ededed; }
.progress span { display:block; width:42%; height:100%; background:#222; }
.form-example-simple h2,
.form-example-simple .demo-question { max-width:410px; margin-top:0; margin-bottom:14px; font-size:clamp(1.8rem,3.1vw,2.65rem); font-weight:700; line-height:1.06; letter-spacing:-0.035em; color:var(--brand); }
.form-example-simple > p { color:#666; }
.choice-row { display:flex; gap:12px; margin-top:28px; }
.choice-row span { min-width:82px; padding:11px 20px; border:1px solid #aaa; border-radius:10px; text-align:center; font-weight:700; }
.example-note { margin:12px 0 0; color:#777; font-size:.78rem; }

.benefits { padding:22px 0 88px; }
.benefit-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:42px; }
.benefit-item { text-align:center; }
.benefit-item img { height:78px; width:auto; margin:0 auto 20px; object-fit:contain; }
.benefit-item h3 { margin-bottom:9px; font-size:1.06rem; }
.benefit-item p { margin-bottom:0; color:#666; font-size:.91rem; }

.why-section { padding:88px 0; border-block:1px solid #ececec; text-align:center; }
.eyebrow { margin:0 0 13px; color:#5f5f5f; font-size:.76rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.why-section h2 { margin-bottom:23px; font-size:clamp(2.3rem,5vw,4.2rem); }
.lead { color:#474747; font-size:clamp(1.03rem,1.55vw,1.18rem); }
.why-section .lead { max-width:790px; margin:0 auto; }

.section { padding:96px 0; }
.section-soft { background:var(--soft); }
.section-heading { max-width:790px; margin-bottom:46px; }
.section-heading h2,.product-copy h2,.trust-grid h2,.languages h2,.faq-heading h2,.final-cta h2 { font-size:clamp(2.25rem,4.8vw,4rem); margin-bottom:17px; }

.steps { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:24px; align-items:start; }
.step { display:flex; gap:17px; }
.step-number { flex:0 0 38px; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:#171717; color:#fff; font-weight:800; }
.step h3 { margin:3px 0 8px; font-size:1.18rem; }
.step p { margin:0; color:#666; font-size:.94rem; }
.step-arrow { margin-top:8px; color:#aaa; font-size:1.6rem; }

.product-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:75px; align-items:center; }
.product-copy .lead { max-width:650px; }
.check-list { list-style:none; padding:0; margin:28px 0 32px; display:grid; gap:12px; }
.check-list li { position:relative; padding-left:27px; }
.check-list li::before { content:"✓"; position:absolute; left:0; top:-1px; font-weight:900; }
.product-note { margin:16px 0 0; color:#6e6e6e; font-size:.86rem; }
.document-stack { position:relative; min-height:445px; }
.document { position:absolute; width:72%; height:330px; right:10%; top:55px; padding:26px; border:1px solid #d0d0d0; border-radius:18px; background:#fff; box-shadow:0 18px 46px rgba(0,0,0,.07); }
.document-back { transform:rotate(7deg) translate(38px,-15px); background:#e9e9e9; color:#777; }
.document-middle { transform:rotate(-5deg) translate(-35px,8px); background:#f8f8f8; color:#555; }
.document-front { z-index:3; display:flex; flex-direction:column; align-items:flex-start; }
.document > span:first-child { font-size:.85rem; font-weight:700; }
.document-front img { width:38px; height:auto; margin-bottom:18px; }
.doc-kicker { font-size:.72rem !important; color:#666; text-transform:uppercase; letter-spacing:.08em; }
.document-front strong { margin:5px 0 22px; font-size:3rem; line-height:1; }
.doc-lines { width:100%; display:grid; gap:9px; margin-bottom:auto; }
.doc-lines i { display:block; height:5px; border-radius:5px; background:#dadada; }
.doc-lines i:nth-child(2),.doc-lines i:nth-child(5) { width:72%; }
.doc-status { margin-top:26px; padding:8px 10px; border-radius:8px; background:#f1f1f1; font-size:.74rem !important; color:#4d4d4d; }

.languages { padding:82px 0; border-bottom:1px solid #ececec; }
.languages-inner { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
.languages h2 { margin-bottom:15px; }
.languages p:last-child { margin-bottom:0; color:#5e5e5e; }
.language-list { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.language-list span { padding:11px 15px; border:1px solid #d7d7d7; border-radius:999px; background:#fafafa; font-weight:650; font-size:.9rem; }

.trust-grid { display:grid; grid-template-columns:310px 1fr; gap:75px; align-items:center; }
.trust-icon { min-height:300px; display:grid; place-items:center; border-radius:var(--radius-lg); background:var(--soft); }
.trust-icon img { width:190px; height:auto; }
.muted { color:#747474; font-size:.88rem; }

.faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:start; }
.faq-heading { position:sticky; top:120px; margin-bottom:0; }
.faq-list { border-top:1px solid #ccc; }
details { border-bottom:1px solid #ccc; }
summary { position:relative; cursor:pointer; list-style:none; padding:21px 34px 21px 0; font-weight:740; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; position:absolute; right:4px; top:18px; font-size:1.3rem; font-weight:400; }
details[open] summary::after { content:"−"; }
details p { margin:0; padding:0 40px 22px 0; color:#646464; }

.final-cta { padding:96px 0; background:#171717; color:#fff; text-align:center; }
.final-cta-inner { max-width:840px; }
.final-cta .eyebrow { color:#bdbdbd; }
.final-cta h2 { margin-inline:auto; }
.final-cta p:not(.eyebrow) { margin:0 auto 28px; max-width:650px; color:#d0d0d0; font-size:1.08rem; }

.site-footer { padding:36px 0 42px; }
.footer-inner { display:grid; grid-template-columns:1fr auto; gap:22px; align-items:center; }
.brand-footer img { width:26px; }
.footer-nav { display:flex; gap:22px; color:#4d4d4d; font-size:.88rem; }
.footer-note { grid-column:1 / -1; margin:4px 0 0; color:#777; font-size:.78rem; }

@media (max-width: 900px) {
  .header-inner { grid-template-columns:1fr auto; }
  .main-nav { display:none; }
  .transformation { grid-template-columns:1fr; gap:17px; padding:25px; }
  .transform-arrow { transform:rotate(90deg); justify-self:center; }
  .form-example { min-height:auto; }
  .benefit-grid { grid-template-columns:repeat(2,1fr); row-gap:52px; }
  .steps { grid-template-columns:1fr; gap:26px; }
  .step-arrow { display:none; }
  .product-grid,.languages-inner,.trust-grid,.faq-layout { grid-template-columns:1fr; gap:48px; }
  .language-list { justify-content:flex-start; }
  .trust-icon { min-height:230px; }
  .faq-heading { position:static; }
}

@media (max-width: 620px) {
  .container { width:min(calc(100% - 28px), var(--container)); }
  .site-header { position:relative; }
  .header-inner { min-height:68px; }
  .header-inner > .button-small { display:none; }
  .brand-name { font-size:1.15rem; }
  .hero { padding:54px 0 42px; }
  h1 { font-size:clamp(2.65rem,14vw,4.4rem); }
  .hero-actions { flex-direction:column; width:100%; margin-bottom:36px; }
  .hero-actions .button { width:100%; }
  .transformation { padding:16px; border-radius:24px; }
  .form-example { padding:22px; border-radius:16px; }
  .progress { margin-left:-22px; margin-right:-22px; }
  .benefits { padding:18px 0 66px; }
  .benefit-grid { grid-template-columns:1fr 1fr; gap:38px 18px; }
  .benefit-item img { height:60px; margin-bottom:13px; }
  .benefit-item h3 { font-size:.98rem; }
  .benefit-item p { font-size:.82rem; }
  .why-section,.section,.languages,.final-cta { padding:70px 0; }
  .document-stack { min-height:365px; }
  .document { width:78%; height:285px; right:11%; padding:22px; }
  .trust-icon { min-height:200px; }
  .trust-icon img { width:150px; }
  .footer-inner { grid-template-columns:1fr; }
  .footer-nav { flex-wrap:wrap; }
}


/* =========================================================
   FORMHELFER V3 – typography, brand and layout refinement
   ========================================================= */
:root {
  --brand: #36474f;
  --brand-dark: #263238;
  --body-text: #263238;
  --muted-v3: #596970;
  --soft-v3: #f4f7f8;
  --line-v3: #dce3e6;
  --container: 1150px;
}

body {
  color: var(--body-text);
  font-size: 18px;
  line-height: 1.62;
}

h1,h2,h3 { color: var(--brand); }
h1 { font-size: clamp(3.2rem, 6vw, 5rem); line-height: 1.02; }
.section-heading h2,
.product-copy h2,
.trust-card h2,
.faq-heading h2,
.final-cta h2 {
  font-size: clamp(2.15rem, 3.7vw, 3.25rem);
  line-height: 1.08;
}
h3 { line-height: 1.18; }

.site-header {
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid rgba(54,71,79,.10);
}
.header-inner { min-height: 92px; }
.brand img {
  width: 190px;
  height: auto;
  max-height: 68px;
  object-fit: contain;
}
.brand-name { display: none; }
.brand-footer img { width: 175px; }

.button {
  background: var(--brand);
  border-color: var(--brand);
}
.button:hover { background: var(--brand-dark); border-color: var(--brand-dark); }
.button-inverse { background: #fff; color: var(--brand); border-color: #fff; }

.hero { padding: 78px 0 62px; }
.hero-text {
  max-width: 790px;
  font-size: clamp(1.12rem, 1.65vw, 1.3rem);
  line-height: 1.55;
  color: #4d5e65;
}
.availability { color: var(--brand); }
.availability span,
.progress span,
.step-number { background: var(--brand); }

.transformation {
  background: var(--soft-v3);
  border: 1px solid var(--line-v3);
}
.form-example-simple { border-top: 4px solid var(--brand); }
.mini-brand img {
  width: 145px;
  height: auto;
  max-height: 46px;
  object-fit: contain;
}

.benefits { padding: 70px 0 92px; }
.benefits-heading {
  max-width: 680px;
  margin: 0 auto 42px;
  text-align: center;
}
.benefit-grid { gap: 26px; }
.benefit-item {
  padding: 28px 20px 26px;
  border: 1px solid var(--line-v3);
  border-radius: 18px;
  background: #fff;
}
.benefit-visual {
  min-height: 112px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
}
.benefit-item img {
  width: auto;
  height: 96px;
  max-width: 100%;
  margin: 0;
}
.benefit-item h3 { font-size: 1.16rem; margin-bottom: 10px; }
.benefit-item p {
  font-size: .96rem;
  line-height: 1.55;
  color: var(--muted-v3);
}

.section { padding: 86px 0; }
.section-heading { margin-bottom: 42px; }
.lead { font-size: 1.08rem; line-height: 1.62; color: #45565d; }
.step p { font-size: .96rem; line-height: 1.55; color: var(--muted-v3); }
.step h3 { font-size: 1.12rem; }

.section-soft { background: var(--soft-v3); }
.product-grid { gap: 72px; }
.check-list { font-size: .98rem; }
.document { border-color: #d3dde0; }
.document-front { border-top: 4px solid var(--brand); }
.document-front strong { color: var(--brand); }
.doc-copy { margin: 0 0 22px; font-size: .88rem; line-height: 1.45; color: #617078; }

.trust-section { background: #fff; }
.trust-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
}
.trust-card {
  min-height: 100%;
  padding: 42px;
  border: 1px solid var(--line-v3);
  border-radius: 24px;
  background: var(--soft-v3);
}
.trust-card h2 {
  margin-bottom: 18px;
  font-size: clamp(2rem, 3vw, 2.75rem);
}
.trust-card > p,
.privacy-copy > p:not(.eyebrow) {
  color: #52636a;
  font-size: 1rem;
}
.language-list {
  margin-top: 28px;
  justify-content: flex-start;
}
.trust-card-privacy {
  display: grid;
  grid-template-columns: 1fr 130px;
  gap: 24px;
  align-items: center;
}
.privacy-visual {
  min-height: 160px;
  display: grid;
  place-items: center;
}
.privacy-visual img {
  width: 120px;
  max-height: 130px;
  object-fit: contain;
}

.faq-layout { gap: 72px; }
summary { font-size: 1rem; }
details p { font-size: .95rem; line-height: 1.58; }

.final-cta { background: var(--brand); }
.final-cta p:not(.eyebrow) { font-size: 1.08rem; }

.footer-note { font-size: .82rem; }

@media (max-width: 900px) {
  .trust-pair { grid-template-columns: 1fr; }
  .brand img { width: 185px; }
}

@media (max-width: 620px) {
  body { font-size: 17px; }
  h1 { font-size: clamp(2.65rem, 13vw, 4rem); }
  .section-heading h2,
  .product-copy h2,
  .faq-heading h2,
  .final-cta h2 { font-size: clamp(2rem, 9vw, 2.7rem); }
  .header-inner { min-height: 72px; }
  .brand img { width: 160px; }
  .benefit-grid { grid-template-columns: 1fr; }
  .benefit-item { padding: 24px 20px; }
  .trust-card { padding: 28px 24px; }
  .trust-card-privacy { grid-template-columns: 1fr; }
  .privacy-visual { min-height: 100px; justify-content: start; }
}


/* =========================================================
   V3.1 – skalierbare Formular-Kacheln
   ========================================================= */
.forms-section {
  overflow: hidden;
}

.forms-heading {
  max-width: 700px;
}

.forms-heading > p:last-child {
  margin-top: 14px;
  color: var(--muted-v3);
  font-size: 1.05rem;
}

.form-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 360px));
  gap: 28px;
  align-items: stretch;
}

.form-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 470px;
  padding: 38px 34px 32px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line-v3);
  border-radius: 22px;
  box-shadow: 0 14px 38px rgba(38, 50, 56, .08);
}

.free-ribbon {
  position: absolute;
  top: 24px;
  right: -48px;
  width: 190px;
  padding: 8px 0;
  transform: rotate(45deg);
  background: var(--brand);
  color: #fff;
  text-align: center;
  box-shadow: 0 4px 12px rgba(38, 50, 56, .16);
}

.free-ribbon span {
  display: block;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
}

.form-card-top {
  padding-right: 28px;
}

.form-category {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--brand);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.form-card h3 {
  margin: 0 0 16px;
  max-width: 240px;
  font-size: 1.7rem;
  line-height: 1.12;
}

.form-card-top p {
  margin: 0;
  color: var(--muted-v3);
  font-size: .96rem;
  line-height: 1.58;
}

.form-card-features {
  display: grid;
  gap: 10px;
  margin: 28px 0 32px;
  padding: 24px 0;
  border-top: 1px solid var(--line-v3);
  border-bottom: 1px solid var(--line-v3);
  list-style: none;
}

.form-card-features li {
  position: relative;
  padding-left: 27px;
  color: var(--body-text);
  font-size: .94rem;
}

.form-card-features li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--brand);
  font-weight: 800;
}

.form-card-bottom {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: auto;
}

.form-price {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.price-now {
  color: var(--brand);
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1;
}

.price-note {
  color: var(--muted-v3);
  font-size: .8rem;
}

.form-card-button {
  width: 100%;
  justify-content: center;
}

.more-forms-note {
  margin: 22px 0 0;
  color: var(--muted-v3);
  font-size: .9rem;
}

@media (max-width: 900px) {
  .form-card-grid {
    grid-template-columns: repeat(2, minmax(0, 360px));
  }
}

@media (max-width: 620px) {
  .form-card-grid {
    grid-template-columns: 1fr;
  }

  .form-card {
    min-height: 0;
    padding: 32px 26px 28px;
  }

  .form-card h3 {
    font-size: 1.55rem;
  }
}

/* V3.4 – Hero: Verfügbarkeits-Hinweis entfernt, sonst unverändert */
.hero { padding-top: 48px; }
@media (max-width: 620px) { .hero { padding-top: 34px; } }


/* V3.5 – Benefit-Icons etwas präsenter */
.benefit-item img {
  height: 113px;
}


/* V3.8 – Formularauswahl direkt nach Hero-Text, vor der Demo */
.hero .forms-section-hero {
  margin: 40px 0 42px;
  padding: 32px 34px 30px;
  background: var(--soft-v3);
  border: 1px solid var(--line-v3);
  border-radius: 22px;
}
.hero .forms-section-hero .container {
  width: 100%;
  max-width: none;
  padding: 0;
}
.hero .forms-section-hero .forms-heading {
  max-width: 700px;
  margin-bottom: 22px;
}
.hero .forms-section-hero .forms-heading h2 {
  font-size: clamp(1.9rem, 3vw, 2.5rem);
}
.hero .forms-section-hero .forms-heading > p:last-child {
  margin-top: 8px;
  font-size: .95rem;
}
.hero .forms-section-hero .form-card-grid {
  grid-template-columns: repeat(3, minmax(0, 330px));
}
.hero .forms-section-hero .form-card {
  min-height: 0;
  padding: 28px 27px 25px;
}
.hero .forms-section-hero .form-card h3 {
  font-size: 1.42rem;
}
.hero .forms-section-hero .form-card-features {
  margin: 4px 0 16px;
  padding: 18px 0;
}
.hero .forms-section-hero .more-forms-note {
  margin-top: 15px;
}
@media (max-width: 900px) {
  .hero .forms-section-hero .form-card-grid {
    grid-template-columns: minmax(0, 360px);
  }
}
@media (max-width: 620px) {
  .hero .forms-section-hero {
    margin: 30px 0 32px;
    padding: 24px 18px 22px;
  }
  .hero .forms-section-hero .form-card-grid {
    grid-template-columns: 1fr;
  }
}


/* V3.9 – gezielte CTA-Zonen */
.section-cta {
  display: flex;
  justify-content: center;
  margin: -34px auto 82px;
  padding: 0 24px;
}

.section-cta .button {
  min-width: 210px;
  justify-content: center;
}

@media (max-width: 620px) {
  .section-cta {
    margin: -18px auto 62px;
  }
}


/* V3.12 – Originaldesign beibehalten; nur längere echte Beispieltexte einpassen */
.transformation .official-question p {
  font-size: .78rem;
  line-height: 1.38;
}

.transformation .form-example-simple h2,
.transformation .form-example-simple .demo-question {
  font-size: clamp(1.45rem, 2.25vw, 2rem);
  line-height: 1.12;
}

.transformation .choice-row-real {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.transformation .choice-row-real span {
  white-space: nowrap;
  padding-inline: 14px;
  font-size: .82rem;
}


/* V3.13 – Vergleich weiter beruhigt */
.transformation .fake-lines,
.transformation .official-card > .line,
.transformation .official-card > .lines {
  display: none !important;
}

.transformation .fake-checkboxes {
  display: flex;
  align-items: center;
  gap: 9px;
}

.transformation .fake-checkboxes em {
  margin-right: 16px;
  color: #263238;
  font-size: .88rem;
  font-style: normal;
}

.transformation .simple-card h2,
.transformation .form-example-simple h2,
.transformation .form-example-simple .demo-question {
  font-size: clamp(1.38rem, 2.05vw, 1.82rem);
}


/* V3.14 – tatsächliche Deko-Linien des Behördenformulars entfernt */
.form-example-official .paper-head,
.form-example-official .paper-lines {
  display: none !important;
}

.form-example-official .official-question {
  margin-top: 30px;
}

.fake-fields-labeled {
  display: flex;
  gap: 28px;
  align-items: center;
}

.fake-fields-labeled span {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: #263238;
  font-size: .88rem;
}

.fake-fields-labeled i {
  margin: 0;
}


/* V3.15 – beide Vergleichskarten gleichwertig und Formhelfer-Rahmen feiner */
.transformation {
  align-items: stretch;
}

.transformation .form-example {
  width: 100%;
  min-height: 455px;
  height: 100%;
  box-sizing: border-box;
  border: 1px solid #d7d7d7;
}

.transformation .form-example-simple {
  border-top: 1px solid #d7d7d7;
}

/* Fortschrittsanteil entfernen; nur eine feine Trennlinie unter dem Logo */
.transformation .progress {
  height: 1px;
  margin: 0 -30px 30px;
  background: #dedede;
}

.transformation .progress span {
  display: none;
}

@media (max-width: 900px) {
  .transformation .form-example {
    min-height: 0;
    height: auto;
  }
}


/* V3.16 – sehr sparsamer grüner Akzent: ausschließlich Häkchen und Pfeile */
:root {
  --positive: #55B86A;
}

/* Übergang Behördenformular → Formhelfer */
.transformation .transform-arrow {
  color: var(--positive) !important;
}

/* Häkchen in Vorteils-/Formularlisten */
.form-card li::before,
.form-card .check,
.available-form-card li::before,
.available-form-card .check,
.check-list li::before,
.checkmark {
  color: var(--positive) !important;
}

/* Pfeile in textlichen Weiterführungen, sofern als eigene Arrow-Elemente ausgezeichnet */
.arrow,
.link-arrow {
  color: var(--positive) !important;
}


/* V3.17 – freundlicher Formhelfer-Akzent */
:root {
  --positive: #55B86A;
}

/* Geschwungener Übergang: Behördenformular → Formhelfer */
.transformation .transform-arrow-curved {
  width: 92px;
  height: 74px;
  display: grid;
  place-items: center;
  color: var(--positive);
}

.transformation .transform-arrow-curved svg {
  display: block;
  width: 92px;
  height: 64px;
  overflow: visible;
}

.transformation .transform-arrow-curved .curve-line,
.transformation .transform-arrow-curved .curve-head {
  fill: none;
  stroke: currentColor;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.transformation .transform-arrow-curved .curve-head {
  stroke-width: 5;
}

/* Kindergeld-Kachel: exakt derselbe Grünton für die drei Häkchen */
.form-card li::before,
.form-card .check,
.available-form-card li::before,
.available-form-card .check,
.check-list li::before,
.checkmark {
  color: var(--positive) !important;
}

@media (max-width: 900px) {
  .transformation .transform-arrow-curved {
    width: 74px;
    height: 64px;
    transform: rotate(90deg);
    justify-self: center;
  }

  .transformation .transform-arrow-curved svg {
    width: 74px;
    height: 54px;
  }
}


/* V3.18 – geschwungenen Vergleichspfeil vertikal mittig zwischen den Karten platzieren */
@media (min-width: 901px) {
  .transformation .transform-arrow-curved {
    align-self: center;
    transform: translateY(38px);
  }
}


/* V3.19 – wärmeres Hellgrau der bisherigen Formhelfer-Landingpage */
:root {
  --formhelfer-soft-gray: #f1f4f5;
}

/* Große helle Sektionen / Vergleichsflächen */
.forms-section,
.formular-section,
.available-forms,
.transformation,
.comparison-wrap,
.section-soft,
.soft-section,
.bg-soft {
  background-color: var(--formhelfer-soft-gray) !important;
}

/* Karten selbst bleiben bewusst weiß */
.form-card,
.available-form-card,
.transformation .form-example,
.transformation .form-example-official,
.transformation .form-example-simple {
  background-color: #fff;
}


/* V3.20 – Mehrsprachig- und Datenschutz-Karten ebenfalls im warmen Formhelfer-Grau */
.trust-section .trust-card {
  background-color: #f1f4f5 !important;
}


/* V3.21 – Hauptboxen auf eine einheitliche Seitenbreite bringen */
.forms-section,
.formular-section,
.available-forms,
.transformation,
.comparison-wrap,
.trust-section,
.faq-section {
  width: min(1440px, calc(100% - 64px));
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

@media (max-width: 700px) {
  .forms-section,
  .formular-section,
  .available-forms,
  .transformation,
  .comparison-wrap,
  .trust-section,
  .faq-section {
    width: calc(100% - 32px);
  }
}

/* Sprachwahl im Header */
.language-menu {
  position: relative;
  font: inherit;
}

.language-menu summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: inherit;
  white-space: nowrap;
}

.language-menu summary::-webkit-details-marker {
  display: none;
}

.language-menu summary span {
  font-size: .9em;
  transition: transform .18s ease;
}

.language-menu[open] summary span {
  transform: rotate(180deg);
}

.language-menu-list {
  position: absolute;
  z-index: 50;
  top: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 180px;
  padding: 8px;
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 14px;
  box-shadow: 0 14px 35px rgba(38, 50, 56, .12);
}

.language-menu-list a {
  display: block;
  padding: 9px 12px;
  border-radius: 9px;
  text-decoration: none;
  color: #263238;
  white-space: nowrap;
}

.language-menu-list a:hover,
.language-menu-list a:focus-visible {
  background: #f1f4f5;
}

.language-menu-list a[aria-current="page"] {
  font-weight: 700;
}


/* V3.22 – Header: CTA + Sprachwahl rechts, Sprachwahl ganz außen */
.site-header .container,
.header-inner,
header .container {
  display: flex;
  align-items: center;
}

.site-header nav,
header nav {
  margin-left: auto;
}

.site-header .language-menu,
header .language-menu {
  margin-left: 18px;
  flex: 0 0 auto;
}

/* Die Sprachwahl ist das letzte Element rechts im Header. */
.site-header .language-menu-list,
header .language-menu-list {
  left: auto;
  right: 0;
  transform: none;
}

/* Einheitliche Flucht aller großen Box-/Sektionselemente */
:root {
  --section-width-v322: 1440px;
  --section-gutter-v322: 64px;
}

.forms-section,
.formular-section,
.available-forms,
.transformation,
.comparison-wrap,
.trust-section,
.faq-section {
  width: min(var(--section-width-v322), calc(100% - var(--section-gutter-v322))) !important;
  max-width: var(--section-width-v322) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

@media (max-width: 900px) {
  .site-header .language-menu,
  header .language-menu {
    margin-left: 12px;
  }
}

@media (max-width: 700px) {
  :root {
    --section-gutter-v322: 32px;
  }
}


/* V3.23 – Header wieder optisch zentriert */
@media (min-width: 901px) {
  header .container,
  .site-header .container,
  .header-inner {
    position: relative;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
  }

  header nav,
  .site-header nav {
    grid-column: 2;
    margin: 0 !important;
    justify-self: center;
  }

  /* CTA und Sprachwahl liegen rechts, ohne die mittlere Navigation zu verschieben */
  header .header-cta,
  header .nav-cta,
  .site-header .header-cta,
  .site-header .nav-cta {
    grid-column: 3;
    justify-self: end;
    margin-right: 122px;
  }

  header .language-menu,
  .site-header .language-menu {
    position: absolute;
    right: 0;
    margin: 0 !important;
  }
}

/* Sprachwahl bewusst dezenter als Navigation und CTA */
.language-menu summary {
  font-size: .94rem !important;
  font-weight: 500 !important;
  line-height: 1.2;
  color: #36474F;
  padding: 8px 0;
  border: 0;
  background: transparent;
}

/* Kein zusätzliches Öffnungs-/Plus-/Pfeilzeichen */
.language-menu summary::after,
.language-menu summary::before {
  content: none !important;
  display: none !important;
}

.language-menu-list {
  min-width: 154px !important;
  padding: 6px !important;
  border-radius: 11px !important;
}

.language-menu-list a {
  font-size: .86rem !important;
  font-weight: 400 !important;
  line-height: 1.25;
  padding: 7px 9px !important;
}

.language-menu-list a[aria-current="page"] {
  font-weight: 600 !important;
}


/* V3.24 – Header ohne Überlagerung: feste eigene Spalten für CTA und Sprache */
@media (min-width: 901px) {
  header .container,
  .site-header .container,
  .header-inner {
    display: grid !important;
    grid-template-columns: minmax(250px, 1fr) auto minmax(190px, auto) minmax(90px, auto) !important;
    column-gap: 28px;
    align-items: center;
  }

  header .brand,
  header .logo,
  .site-header .brand,
  .site-header .logo {
    grid-column: 1;
    justify-self: start;
  }

  header nav,
  .site-header nav {
    grid-column: 2 !important;
    justify-self: center !important;
    margin: 0 !important;
  }

  header .header-cta,
  .site-header .header-cta {
    grid-column: 3 !important;
    position: static !important;
    justify-self: end !important;
    margin: 0 !important;
  }

  header .language-menu,
  .site-header .language-menu {
    grid-column: 4 !important;
    position: relative !important;
    right: auto !important;
    left: auto !important;
    justify-self: end !important;
    margin: 0 !important;
  }

  .language-menu-list {
    left: auto !important;
    right: 0 !important;
    transform: none !important;
  }
}

/* Sprachwahl bleibt bewusst zurückhaltend */
.language-menu summary {
  font-size: .9rem !important;
  font-weight: 400 !important;
  padding: 7px 0 !important;
}


/* V3.25 – Desktop-Header: Navigation exakt auf Seitenmitte,
   Sprache bleibt ganz rechts. CTA sitzt dazwischen. */
@media (min-width: 1101px) {
  header .container,
  .site-header .container,
  .header-inner {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Logo bleibt links */
  header .brand,
  header .logo,
  .site-header .brand,
  .site-header .logo {
    margin-right: 0 !important;
  }

  /* Navigation unabhängig von Logo/CTA exakt in der Seitenmitte */
  header nav,
  .site-header nav {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
  }

  /* Sprache bleibt an ihrer jetzigen rechten Position */
  header .language-menu,
  .site-header .language-menu {
    position: absolute !important;
    right: 0 !important;
    left: auto !important;
    margin: 0 !important;
  }

  /* CTA rechts, aber mit eigenem Abstand vor der Sprachwahl */
  header .header-cta,
  .site-header .header-cta {
    position: absolute !important;
    right: 145px !important;
    left: auto !important;
    margin: 0 !important;
  }
}

/* Dropdown weiterhin rechtsbündig unter "Sprache" */
.language-menu-list {
  right: 0 !important;
  left: auto !important;
  transform: none !important;
}


/* V3.26 – Unterstreichung unter der Sprachwahl entfernen */
.language-menu summary {
  border-bottom: 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.language-menu summary::before,
.language-menu summary::after {
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}


/* V3.27 – tatsächliche Ursache der Linie unter "Sprache" entfernen */
details.language-menu {
  border-bottom: none !important;
  border: 0 !important;
}


/* V3.28 – Einstieg in die Formularauswahl */
.available-forms .section-head,
.available-forms .section-header,
.forms-section .section-head,
.forms-section .section-header {
  text-align: center !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.available-forms .section-head h2,
.available-forms .section-header h2,
.forms-section .section-head h2,
.forms-section .section-header h2,
.available-forms > h2,
.forms-section > h2 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.available-forms .section-head p,
.available-forms .section-header p,
.forms-section .section-head p,
.forms-section .section-header p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Produktkacheln bewusst nicht zentrieren:
   weitere Formulare können später von links nach rechts ergänzt werden. */


/* V3.29 – Kopf der Formularauswahl exakt auf der Mittelachse der grauen Box */
.available-forms .section-head,
.available-forms .section-header,
.forms-section .section-head,
.forms-section .section-header {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto 28px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.available-forms .section-head h2,
.available-forms .section-header h2,
.forms-section .section-head h2,
.forms-section .section-header h2,
.available-forms .section-head p,
.available-forms .section-header p,
.forms-section .section-head p,
.forms-section .section-header p {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
}

/* Falls der Bereich seinen Kopf über direkte Kinder aufbaut */
.available-forms > h2,
.forms-section > h2,
.available-forms > p:first-of-type,
.forms-section > p:first-of-type {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* Kachelraster bleibt unverändert links beginnend. */


/* V3.30 – Fix: tatsächliche Klasse des Kopfes ist .forms-heading */
.forms-section > .container > .forms-heading {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 28px 0 !important;
  padding: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.forms-section > .container > .forms-heading h2,
.forms-section > .container > .forms-heading p {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: center !important;
}

.forms-section > .container > .forms-heading > p:last-child {
  margin-top: 14px !important;
}


/* V3.31 – Sprachtext + Datenschutzsymbol */
.trust-card-privacy .privacy-visual {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 150px !important;
  min-width: 150px !important;
  height: 150px !important;
  background: transparent !important;
}

.trust-card-privacy .privacy-visual img {
  display: block !important;
  width: 125px !important;
  height: auto !important;
  max-width: none !important;
  background: transparent !important;
  mix-blend-mode: multiply;
  object-fit: contain !important;
}


/* V3.32 – Datenschutzsymbol größer, Link ohne Pfeil */
.trust-card-privacy .privacy-visual {
  width: 210px !important;
  min-width: 210px !important;
  height: 210px !important;
  background: transparent !important;
}

.trust-card-privacy .privacy-visual img {
  width: 185px !important;
  max-width: 185px !important;
  height: auto !important;
  background: transparent !important;
  mix-blend-mode: multiply;
  object-fit: contain !important;
}


/* V3.34 – FAQ-Einleitung scrollt wieder ganz normal mit dem Abschnitt */
.faq-intro,
.faq-copy,
.faq-heading,
.faq-section .section-copy,
.faq-section .section-head {
  position: static !important;
  top: auto !important;
  align-self: auto !important;
}


/* V3.35 – ruhiger, heller Abschluss-CTA */
.final-cta,
.cta-final,
#abschluss {
  background: #f1f4f5 !important;
  color: #36474f !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 72px 24px !important;
  display: block !important;
}

.final-cta-inner {
  width: min(760px, 100%);
  margin: 0 auto;
  text-align: center;
}

.final-cta-inner h2 {
  margin: 0 auto 18px;
  max-width: 720px;
  color: #36474f;
  font-size: clamp(2rem, 3.1vw, 2.75rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.final-cta-inner p {
  max-width: 650px;
  margin: 0 auto 30px;
  color: #43555e;
  font-size: 1.08rem;
  line-height: 1.65;
}

.final-cta-inner .final-cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 28px;
  border-radius: 12px;
  background: #36474f;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}

@media (max-width: 700px) {
  .final-cta,
  .cta-final,
  #abschluss {
    padding: 54px 20px !important;
  }
}


/* V3.36 – kompakter Abschluss direkt vor dem Footer */
.final-cta,
.cta-final,
#abschluss {
  background: #ffffff !important;
  color: #36474f !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 62px 24px 66px !important;
  display: block !important;
}

.final-cta-inner {
  width: min(680px, 100%);
  margin: 0 auto;
  text-align: center;
}

.final-cta-inner h2 {
  margin: 0 0 24px !important;
  color: #36474f !important;
  font-size: clamp(1.8rem, 2.5vw, 2.3rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
}

.final-cta-inner p {
  display: none !important;
}

.final-cta-inner .final-cta-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 27px;
  border-radius: 12px;
  background: #36474f !important;
  color: #ffffff !important;
  text-decoration: none;
  font-weight: 700;
}

@media (max-width: 700px) {
  .final-cta,
  .cta-final,
  #abschluss {
    padding: 48px 20px 52px !important;
  }
}


/* V3.37 – Abschlussbereich kompakter und enger an den Footer */
.final-cta,
.cta-final,
#abschluss {
  min-height: 0 !important;
  height: auto !important;
  padding: 34px 24px 36px !important;
}

.final-cta-inner h2 {
  margin-bottom: 14px !important;
}

.final-cta-inner .final-cta-button {
  min-height: 48px !important;
}

@media (max-width: 700px) {
  .final-cta,
  .cta-final,
  #abschluss {
    padding: 30px 20px 32px !important;
  }
}


/* V3.38 – einzelnes verfügbares Formular bewusst zentrieren */
.forms-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center !important;
}

.forms-grid > * {
  width: 100%;
  max-width: 360px;
}

.forms-note,
.forms-coming-soon,
.more-forms-note {
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* V3.39 – Korrektur: tatsächliches Formular-Grid zentrieren */
.form-card-grid {
  grid-template-columns: minmax(0, 360px) !important;
  justify-content: center !important;
  justify-items: stretch !important;
  width: 100% !important;
}

.form-card-grid .form-card {
  width: 100% !important;
  max-width: 360px !important;
}

.more-forms-note {
  text-align: center !important;
  width: 100% !important;
}


/* V3.43 – dezente grüne Prozesspfeile zwischen Schritt 1, 2 und 3 */
.step-arrow-curved {
  width: 54px;
  height: 42px;
  margin-top: 4px;
  display: grid;
  place-items: center;
  color: var(--positive, #55B86A);
}

.step-arrow-curved svg {
  display: block;
  width: 54px;
  height: 36px;
  overflow: visible;
}

.step-arrow-curved .step-curve-line,
.step-arrow-curved .step-curve-head {
  fill: none;
  stroke: currentColor;
  stroke-width: 3.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 760px) {
  .step-arrow-curved { display: none; }
}

/* V3.44 – kompakter, sauber ausbalancierter Seitenabschluss */
.final-cta,
.cta-final,
#abschluss {
  padding: 34px 24px 58px !important;
}

.site-footer {
  padding: 50px 0 !important;
}

.footer-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "brand nav"
    "note  ." !important;
  column-gap: 48px !important;
  row-gap: 30px !important;
  align-items: center !important;
}

.brand-footer {
  grid-area: brand;
  align-self: center;
}

.footer-nav {
  grid-area: nav;
  align-self: center;
  justify-self: end;
  margin: 0 !important;
}

.footer-note {
  grid-area: note;
  grid-column: auto !important;
  margin: 0 !important;
  align-self: start;
}

@media (max-width: 620px) {
  .final-cta,
  .cta-final,
  #abschluss {
    padding: 30px 20px 46px !important;
  }

  .site-footer {
    padding: 40px 0 !important;
  }

  .footer-inner {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "brand"
      "nav"
      "note" !important;
    row-gap: 24px !important;
  }

  .footer-nav {
    justify-self: start;
  }
}

/* V3.45 – Footer auf Desktop bewusst auf eine einzige optische Ebene reduzieren */
@media (min-width: 761px) {
  .site-footer {
    padding: 42px 0 !important;
  }

  .footer-inner {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas: "brand note nav" !important;
    column-gap: 44px !important;
    row-gap: 0 !important;
    align-items: center !important;
  }

  .brand-footer {
    grid-area: brand !important;
    align-self: center !important;
  }

  .brand-footer img {
    width: 190px !important;
    height: auto !important;
    display: block !important;
  }

  .footer-note {
    grid-area: note !important;
    grid-column: auto !important;
    align-self: center !important;
    margin: 0 !important;
    white-space: nowrap !important;
    font-size: .82rem !important;
  }

  .footer-nav {
    grid-area: nav !important;
    align-self: center !important;
    justify-self: end !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 1100px) and (min-width: 761px) {
  .footer-inner { column-gap: 26px !important; }
  .brand-footer img { width: 165px !important; }
  .footer-note { white-space: normal !important; }
}

/* V3.46 – ruhiger Seitenabschluss: kein Footer-Logo, Navigation + Hinweis zentriert */
.final-cta,
.cta-final,
#abschluss {
  padding: 54px 24px 62px !important;
}

.site-footer {
  padding: 0 24px 44px !important;
}

.footer-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  text-align: center !important;
}

.brand-footer {
  display: none !important;
}

.footer-nav {
  order: 1 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 28px !important;
  margin: 0 !important;
  font-size: .94rem !important;
  white-space: normal !important;
}

.footer-note {
  order: 2 !important;
  grid-column: auto !important;
  margin: 0 !important;
  color: #7a7a7a !important;
  font-size: .78rem !important;
  line-height: 1.55 !important;
  white-space: normal !important;
  text-align: center !important;
}

@media (max-width: 620px) {
  .final-cta,
  .cta-final,
  #abschluss {
    padding: 42px 20px 50px !important;
  }
  .site-footer { padding: 0 20px 36px !important; }
  .footer-inner { gap: 14px !important; }
  .footer-nav { gap: 20px !important; font-size: .9rem !important; }
  .footer-note { max-width: 420px !important; }
}
\n\n/* V3.46 – Abschluss ausgewogener: CTA kompakter, Footer als eine horizontale Ebene */
.final-cta,
.cta-final,
#abschluss {
  padding: 42px 24px 44px !important;
}

.site-footer {
  padding: 30px 0 34px !important;
  border-top: 1px solid rgba(54, 71, 79, .10);
}

.footer-inner {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 40px !important;
}

.footer-note {
  margin: 0 !important;
  font-size: .84rem !important;
  line-height: 1.5 !important;
  white-space: normal !important;
}

.footer-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 30px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .final-cta,
  .cta-final,
  #abschluss {
    padding: 34px 20px 38px !important;
  }

  .site-footer {
    padding: 28px 0 32px !important;
  }

  .footer-inner {
    flex-direction: column !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 18px !important;
  }

  .footer-nav {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
  }
}

/* V3.48 – Behördenfrage im Vergleich besser lesbar */
.transformation .form-example-official .official-question {
  padding: 20px;
}

.transformation .form-example-official .official-question p {
  font-size: 1rem;
  line-height: 1.48;
  color: #4b555a;
}

.transformation .fake-fields-labeled span {
  font-size: 1rem;
}

@media (max-width: 620px) {
  .transformation .form-example-official .official-question p,
  .transformation .fake-fields-labeled span {
    font-size: .95rem;
  }
}

/* V3.62 – oberen Textblock der Kindergeld-Kachel geometrisch zentrieren */
.form-card-top {
  padding-right: 0;
}

/* V3.63 – Überschrift der Kindergeld-Kachel optisch feinjustieren */
.form-card-top h3 {
  position: relative;
  left: 6px;
}

/* V3.64 – Kindergeldantrag wie die übrigen Texte geometrisch zentrieren */
.form-card-top h3 {
  position: static;
  left: auto;
  width: 100%;
  max-width: 240px;
  margin: 0 auto 16px;
  text-align: center;
}

/* V3.71 – Eyebrow-Typografie in den beiden Trust-Karten angleichen */
.trust-card .eyebrow {
  font-size: 1rem;
  color: #5f5f5f;
}

/* V3.73 – Datenschutz-Überschrift gezielt etwas kompakter */
.trust-card-privacy h2 {
  font-size: clamp(1.8rem, 2.65vw, 2.45rem);
}

/* V3.74 – Trust-Bereich kompakter: beide Karten bleiben gleich hoch und vollständig erfassbar */
.trust-section {
  padding-top: 56px;
  padding-bottom: 56px;
}

.trust-section .trust-card {
  padding-top: 36px;
  padding-bottom: 36px;
}

/* V3.75 – Datenschutz-Anker beim Navigationssprung um 8 px nach oben feinjustiert */

/* V3.93 – Hero-Typografie moderat kompakter; sonst unverändert */
@media (min-width: 621px) {
  .hero h1 {
    font-size: clamp(2.9rem, 5.35vw, 4.45rem);
  }

  .hero-text {
    font-size: clamp(1.06rem, 1.52vw, 1.2rem);
  }
}


/* V3.94 – Ablauf direkt nach Formularauswahl; Darstellung trotz Hero-Elternelement beibehalten */
.hero #so-funktionierts {
  width: 100%;
  text-align: left;
}
.hero #so-funktionierts > .container {
  width: 100%;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

/* V3.97 – Weißraum feinjustiert: 10 px weniger als V3.96 */
@media (min-width: 621px) {
  .section-cta {
    margin-bottom: 167px;
  }
}

/* V3.99 – Arabisch in der Sprachwahl an derselben linken Achse wie die übrigen Sprachen. */
.language-menu-list a[lang="ar"] {
  text-align: left;
}

/* V3.101 – gezielte Mobile-Optimierung; Desktop V3.100 bleibt unverändert */
.mobile-menu-toggle,
.mobile-navigation { display: none; }

@media (max-width: 620px) {
  /* Mobile Header */
  .site-header {
    position: sticky !important;
    top: 0;
  }
  .header-inner {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: 12px !important;
    min-height: 72px;
  }
  .site-header .brand { min-width: 0; }
  .site-header .brand img { width: 150px; max-width: 100%; }
  .site-header .language-menu { margin: 0 !important; justify-self: end; }
  .language-menu-list { top: calc(100% + 12px); right: 0 !important; }

  .mobile-menu-toggle {
    display: inline-flex;
    width: 42px;
    height: 42px;
    padding: 10px;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    border: 1px solid var(--line-v3);
    border-radius: 10px;
    background: #fff;
    color: var(--brand);
    cursor: pointer;
  }
  .mobile-menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
  }
  .mobile-navigation {
    position: absolute;
    z-index: 60;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    padding: 10px;
    border: 1px solid var(--line-v3);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 16px 36px rgba(38,50,56,.14);
  }
  .mobile-navigation:not([hidden]) { display: grid; gap: 2px; }
  .mobile-navigation > a:not(.button) {
    padding: 12px 13px;
    border-radius: 9px;
    font-size: .96rem;
    font-weight: 600;
  }
  .mobile-navigation > a:not(.button):hover { background: var(--soft-v3); }
  .mobile-navigation .mobile-nav-cta {
    width: 100%;
    min-height: 48px;
    margin-top: 6px;
  }

  /* Hero: keine abgeschnittene H1 mehr */
  .hero { padding-top: 38px; }
  .hero h1 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(2.15rem, 10.4vw, 2.55rem) !important;
    line-height: 1.05;
    overflow-wrap: normal;
    word-break: normal;
  }
  .hero-text { font-size: 1.03rem; line-height: 1.55; }

  /* Einheitliche mobile Fluchten */
  .hero #so-funktionierts { width: 100%; }
  .hero #so-funktionierts > .container { width: 100%; padding: 0 2px; }
  #so-funktionierts .section-heading { margin-bottom: 36px; }

  /* Vorteile kompakter, ohne Lesbarkeit zu verlieren */
  .benefit-grid { gap: 20px; }
  .benefit-item { padding: 20px 18px 22px; }
  .benefit-visual { min-height: 78px; margin-bottom: 10px; }
  .benefit-item img { height: 72px; }
  .benefit-item h3 { margin-bottom: 7px; font-size: 1.05rem; }
  .benefit-item p { font-size: .9rem; line-height: 1.5; }

  /* FAQ: konsistente Seitenränder und etwas ruhigere Fragen */
  #faq { padding-left: 0 !important; padding-right: 0 !important; }
  #faq > .container {
    width: calc(100% - 40px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  #faq .faq-layout { gap: 38px; }
  #faq .faq-heading { width: 100%; }
  #faq .faq-list { width: 100%; }
  #faq summary {
    padding: 18px 34px 18px 0;
    font-size: .94rem;
    line-height: 1.4;
  }
  #faq details p {
    padding: 0 28px 19px 0;
    font-size: .92rem;
    line-height: 1.55;
  }
}

/* V3.102 – Mobile Header/Hero Feinschliff; Desktop unverändert */
@media (max-width: 620px) {
  /* Etwas mehr Luft zwischen Header und Hero. */
  .hero { padding-top: 48px; }

  /* Die lange erste Zeile bleibt vollständig im Viewport. */
  .hero h1 {
    font-size: 2.05rem !important;
    line-height: 1.08;
  }

  /* Dezenterer, feinerer Menüschalter. */
  .mobile-menu-toggle {
    width: 38px;
    height: 38px;
    padding: 8px;
    gap: 4px;
    border-width: 1px;
    border-radius: 9px;
  }
  .mobile-menu-toggle span {
    width: 20px;
    height: 1.5px;
    align-self: center;
    border-radius: 999px;
  }
}

/* V3.117 – Tablet-Header 621–800 px. Andere Viewports bleiben unverändert. */
@media (min-width: 621px) and (max-width: 800px) {
  .site-header {
    position: sticky !important;
    top: 0;
  }
  .header-inner {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: 14px !important;
    min-height: 78px;
    align-items: center;
  }
  .site-header .brand { min-width: 0; }
  .site-header .brand img { width: 170px; max-width: 100%; }
  .site-header .main-nav,
  .site-header .header-cta { display: none !important; }
  .site-header .language-menu {
    margin: 0 !important;
    justify-self: end;
  }
  .language-menu-list {
    top: calc(100% + 12px);
    right: 0 !important;
  }
  .mobile-menu-toggle {
    display: inline-flex;
    width: 42px;
    height: 42px;
    padding: 10px;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    border: 1px solid var(--line-v3);
    border-radius: 10px;
    background: #fff;
    color: var(--brand);
    cursor: pointer;
  }
  .mobile-menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
  }
  .mobile-navigation {
    position: absolute;
    z-index: 60;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    padding: 10px;
    border: 1px solid var(--line-v3);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 16px 36px rgba(38,50,56,.14);
  }
  .mobile-navigation:not([hidden]) { display: grid; gap: 2px; }
  .mobile-navigation > a {
    padding: 12px 13px;
    border-radius: 9px;
    font-size: .96rem;
    font-weight: 600;
  }
  .mobile-navigation > a:hover { background: var(--soft-v3); }
}

/* V3.125 – Header-Feinschliff ausschließlich für 1024×768-nahe Viewports.
   Bereits abgestimmte Smartphone-, 600px- und 768px-Ansichten bleiben unverändert. */
@media (min-width: 1000px) and (max-width: 1048px) and (min-height: 740px) and (max-height: 800px) {
  .site-header .header-inner {
    grid-template-columns: 230px minmax(0, 1fr) auto auto !important;
    column-gap: 18px !important;
  }

  .site-header .main-nav {
    justify-self: center !important;
    gap: 22px !important;
    white-space: nowrap;
  }

  .site-header .header-cta {
    justify-self: center !important;
  }

  .site-header .language-menu {
    justify-self: end !important;
  }
}


/* V3.132 – Header ausschließlich für 820×1180-nahe Viewports.
   Alle bereits abgestimmten Formate bleiben unverändert. */
@media (min-width: 810px) and (max-width: 830px) and (min-height: 1160px) and (max-height: 1200px) {
  .site-header .header-inner {
    position: relative !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto auto !important;
    align-items: center !important;
    column-gap: 18px !important;
    min-height: 78px;
  }

  .site-header .brand {
    margin: 0 !important;
    justify-self: start !important;
  }

  .site-header .brand img {
    width: 158px !important;
    max-width: 158px !important;
  }

  .site-header .main-nav {
    display: flex !important;
    position: static !important;
    transform: none !important;
    justify-self: center !important;
    gap: 28px !important;
    margin: 0 !important;
    font-size: .92rem !important;
    white-space: nowrap;
  }

  .site-header .header-cta {
    display: inline-flex !important;
    flex: 0 0 auto;
    min-height: 44px;
    padding: 0 14px !important;
    margin: 0 22px 0 0 !important;
    font-size: .78rem !important;
    white-space: nowrap;
  }

  .site-header .language-menu {
    position: static !important;
    flex: 0 0 auto;
    margin: 0 4px 0 0 !important;
  }

  .site-header .language-menu summary {
    font-size: .92rem !important;
    white-space: nowrap;
  }

  .site-header .mobile-menu-toggle {
    display: none !important;
  }
}


/* V3.150 – Scroll-Runway ausschließlich für 820×1180-nahe Viewports.
   Hintergrund: Der FAQ-Scroll war am maximal möglichen Seiten-Scroll angekommen.
   Deshalb hatten +100 px im scrollTo keine sichtbare Wirkung.
   Diese Reserve liegt erst NACH dem Seiteninhalt und verändert die FAQ-Box selbst nicht. */
@media (min-width: 801px) and (max-width: 839px) and (min-height: 1140px) and (max-height: 1220px) {
  body::after {
    content: "";
    display: block;
    height: 140px;
    pointer-events: none;
  }
}

/* V3.153 – nur 1920×1080-nah: zusätzliche Scrollreserve, keine FAQ-Boxänderung. */
@media (min-width: 1910px) and (max-width: 1930px) and (min-height: 1070px) and (max-height: 1090px) {
  body::after { content:""; display:block; height:120px; pointer-events:none; }
}


/* V3.156 – ausschließlich Impressum/Datenschutz-Unterseiten */
.legal-page { min-height:100vh; background:#fff; }
.legal-page .legal-main { padding:72px 24px 92px; }
.legal-page .legal-shell { width:min(920px,100%); margin:0 auto; }
.legal-page .legal-eyebrow { margin:0 0 12px; font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.legal-page .legal-title { margin:0 0 18px; font-size:clamp(38px,5vw,58px); line-height:1.06; }
.legal-page .legal-intro { max-width:760px; margin:0 0 42px; font-size:18px; line-height:1.65; }
.legal-page .legal-card { padding:38px 42px; border-radius:24px; background:#f3f4f4; }
.legal-page .legal-card h2 { margin:34px 0 10px; font-size:23px; line-height:1.3; }
.legal-page .legal-card h2:first-child { margin-top:0; }
.legal-page .legal-card p { margin:0 0 14px; line-height:1.7; }
.legal-page .draft-note { margin-top:30px; padding:16px 18px; border-radius:12px; background:#fff; font-size:14px; line-height:1.55; }
.legal-page .legal-footer { padding:30px 24px 42px; text-align:center; }
.legal-page .legal-footer-links { display:flex; justify-content:center; gap:24px; flex-wrap:wrap; margin-bottom:14px; }
.legal-page .legal-footer a { color:inherit; text-decoration:none; }
.legal-page .legal-footer a:hover { text-decoration:underline; }
@media (max-width:700px) {
  .legal-page .legal-main { padding:44px 18px 68px; }
  .legal-page .legal-card { padding:26px 22px; border-radius:18px; }
  .legal-page .legal-intro { font-size:16px; margin-bottom:30px; }
  .privacy-page .legal-title { font-size:32px; }
}


/* V3.157 – Footer der Recht-Unterseiten dezenter, analog zur Hauptseite */
.legal-page .legal-footer {
  font-size: 14px;
}
.legal-page .legal-footer-links {
  gap: 20px;
  margin-bottom: 12px;
}
.legal-page .legal-footer-links a {
  font-size: 14px;
  font-weight: 400;
}
.legal-page .legal-footer > div:last-child {
  font-size: 13px;
}


/* V3.158 – Datenschutztext aktualisiert; bestehende Trust-Karten-Geometrie beibehalten */
.trust-card-privacy .privacy-copy > p:not(.eyebrow) {
  font-size: .93rem;
  line-height: 1.48;
}
.trust-card-privacy .privacy-copy > p:not(.eyebrow) + p:not(.eyebrow) {
  margin-top: 10px;
}
.legal-page .legal-card ul {
  margin: 0 0 18px 1.25rem;
  padding: 0;
}
.legal-page .legal-card li {
  margin: 0 0 8px;
  line-height: 1.65;
}

@media (min-width: 621px) {
  .trust-card-privacy { min-height: 560px; }
}
@media (max-width: 620px) {
  .trust-card-privacy { min-height: 590px; }
}


/* V3.159 – Datenschutzkarte: volle Textbreite und klare Kernaussagen; Kartenmaß unverändert */
.trust-card-privacy {
  grid-template-columns: 1fr;
}
.trust-card-privacy .privacy-copy > p:not(.eyebrow) {
  font-size: 1rem;
  line-height: 1.48;
}
.trust-card-privacy .privacy-copy strong {
  color: #26383f;
  font-weight: 700;
}

/* V3.160 – Datenschutzkarte oben an Sprachkarte ausrichten; Kartenmaß unverändert */
.trust-card-privacy {
  align-items: start;
}


/* V3.161 – Datenschutzlink mit mehr Abstand zum zweiten Absatz */
.trust-card-privacy .privacy-copy .text-link {
  display: inline-block;
  margin-top: 10px;
}

/* V3.162 – Datenschutz-Headline exakt auf Größe der Sprachkarten-Headline angleichen */
.trust-card-privacy h2 {
  font-size: clamp(2rem, 3vw, 2.75rem);
}

/* =========================================================
   Kindergeld: "Was brauche ich für den Antrag?"
   Isolierter Modal-Prototyp
   ========================================================= */

.requirements-link {
  display: block;
  width: fit-content;
  margin: 4px 0 20px;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.requirements-link:hover {
  text-decoration-thickness: 2px;
}

.requirements-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10000;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.requirements-modal.is-open {
  display: flex;
}

.requirements-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

.requirements-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 700px);
  max-height: calc(100dvh - 48px);
  overflow: hidden;
  box-sizing: border-box;
  padding: 32px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18);
}

.requirements-modal-dialog h2 {
  margin: 0 48px 18px 0;
  font-size: 24px;
  line-height: 1.25;
}

.requirements-modal-content {
  max-height: calc(100dvh - 180px);
  overflow-y: auto;
  line-height: 1.6;
}

.requirements-modal-content p:first-child {
  margin-top: 0;
}

.requirements-modal-content p:last-child {
  margin-bottom: 0;
}

.requirements-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 28px;
  line-height: 34px;
  cursor: pointer;
}

.requirements-modal-close:hover {
  background: rgba(0, 0, 0, 0.06);
}

@media (max-width: 620px) {
  .requirements-modal {
    padding: 16px;
  }

  .requirements-modal-dialog {
    width: 100%;
    max-height: calc(100dvh - 32px);
    padding: 26px 22px;
    border-radius: 16px;
  }

  .requirements-modal-dialog h2 {
    margin-right: 40px;
    font-size: 21px;
  }

  .requirements-modal-content {
    max-height: calc(100dvh - 150px);
  }

  .requirements-modal-close {
    top: 14px;
    right: 14px;
  }
}

/* Requirements-Link – dezenter Textlink */
.form-card .requirements-link {
  display: block;
  width: fit-content;
  min-width: 0;
  min-height: 0;
  margin: -2px auto 14px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #1f2528;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  appearance: none;
}

.form-card .requirements-link:hover {
  background: transparent;
  color: #1f2528;
  box-shadow: none;
  transform: none;
  text-decoration-thickness: 2px;
}


/* Kindergeld-Kachel – Link zur weiterführenden Infoseite */
.kindergeld-info-link {
  display: block;
  margin: -4px auto 0;
  color: #1f2528;
  font-size: .8rem;
  line-height: 1.3;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.kindergeld-info-link:hover {
  color: var(--body-text);
}

/* Kindergeld-Infoseite: Quellenlinks eindeutig als Links erkennbar */
.kindergeld-sources a {
  color: #1f2528;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.kindergeld-sources a:hover {
  text-decoration-thickness: 2px;
}

/* Kindergeld-Infoseite: mehr Abstand zwischen Hero-Text und CTA */
.kindergeld-page .hero-text {
  margin-bottom: 50px;
}

/* Kindergeld-Infoseite: gut lesbare Artikelbreite */
.kindergeld-content {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}

/* Kindergeld-Infoseite: klare Trennung der Themenabschnitte */
.kindergeld-content > section {
  margin-top: 56px;
}

.kindergeld-content > section:first-child {
  margin-top: 48px;
}

.kindergeld-content > section h2 {
  margin-top: 0;
  margin-bottom: 22px;
}

/* Kindergeld-Infoseite: klare Hierarchie innerhalb der Themenblöcke */
.kindergeld-content > section {
  margin-top: 56px;
}

.kindergeld-content > section h2 {
  margin: 0 0 18px;
}

.kindergeld-content > section > p {
  margin: 0 0 18px;
}

.kindergeld-content > section > p:last-child {
  margin-bottom: 0;
}

/* Kindergeld-Infoseite: Unterthemen innerhalb eines Hauptthemas */
.kindergeld-content > section.kindergeld-subtopic {
  margin-top: 34px;
}

.kindergeld-content > section.kindergeld-subtopic h3 {
  margin: 0 0 12px;
  font-size: 1.18rem;
  line-height: 1.3;
  letter-spacing: -0.015em;
}

/* Kindergeld-Infoseite: deutlichere Trennung zwischen Frageblöcken */
.kindergeld-content > section.kindergeld-subtopic {
  margin-top: 48px;
}

.kindergeld-content > section.kindergeld-subtopic h2 {
  margin: 0 0 18px;
}

/* Kindergeld-Infoseite: Luft zwischen den einzelnen Formularen */
.kindergeld-content .kindergeld-form-name {
  margin: 26px 0 10px;
}

.kindergeld-content .kindergeld-form-name + p {
  margin-top: 0;
}

/* Kindergeld-Infoseite: klare Gliederung der FAQ */
.kindergeld-content .kindergeld-faq > h2 {
  margin: 0 0 24px;
}

.kindergeld-content .kindergeld-faq > h3 {
  margin: 30px 0 14px;
}

.kindergeld-content .kindergeld-faq > h2 + h3 {
  margin-top: 0;
}

.kindergeld-content .kindergeld-faq > h3 + p {
  margin: 0;
}

/* Kindergeld-Infoseite: einheitlicher Überschriftenabstand im FAQ */
.kindergeld-content .kindergeld-faq h3 {
  margin-top: 38px;
  margin-bottom: 18px;
}

.kindergeld-content .kindergeld-faq h2 + h3 {
  margin-top: 0;
}

/* Kindergeld-Infoseite: Luft zwischen letztem Inhalt und Footer */
.kindergeld-content {
  padding-bottom: 70px;
}

/* Kindergeld-Infoseite – Abstand vor Start-CTA */
.kindergeld-start-cta {
  padding-top: 18px;
}

/* Sprachhinweis – schwebende Sprechblase unten links */
.language-hint {
  position: fixed !important;
  z-index: 100;
  left: 24px !important;
  right: auto !important;
  top: auto !important;
  bottom: 24px;
  width: min(340px, calc(100vw - 48px));
  padding: 0;
  background: #fff;
  border: 1px solid var(--line-v3);
  border-radius: 14px;
  box-shadow: 0 10px 32px rgba(38, 50, 56, .12);
  pointer-events: auto;
}

.language-hint[hidden] {
  display: none !important;
}

.language-hint-inner {
  position: relative;
  width: 100% !important;
  min-height: 0;
  display: block !important;
  padding: 16px 42px 16px 17px !important;
  color: var(--muted-v3);
  font-size: .82rem !important;
  line-height: 1.4 !important;
  text-align: left !important;
  pointer-events: auto;
}

.language-hint-text {
  margin: 0 0 5px;
}

.language-hint-link {
  color: var(--brand);
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 3px;
  pointer-events: auto;
}

.language-hint-link:hover {
  color: var(--brand-dark);
}

.language-hint-close {
  display: block !important;
  position: absolute;
  top: 9px;
  right: 9px;
  margin: 0;
  padding: 4px 7px;
  border: 0;
  background: transparent;
  color: var(--muted-v3);
  font-family: inherit;
  font-size: 1.05rem;
  line-height: 1;
  cursor: pointer;
}

.language-hint-close:hover {
  color: var(--brand-dark);
}

@media (max-width: 620px) {
  .language-hint {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px;
    width: auto;
  }

  .language-hint-inner {
    padding: 14px 40px 14px 15px !important;
    font-size: .8rem !important;
  }
}

/* Sprachhinweis – RTL */
.language-hint[dir="rtl"] .language-hint-inner {
  padding-left: 42px !important;
  padding-right: 17px !important;
  text-align: right !important;
}

.language-hint[dir="rtl"] .language-hint-close {
  left: 9px;
  right: auto;
}
