/* workflow-film.css */
/* Workflow sales page: scoped to preserve the remaining website. */
.wfs-hero{padding-bottom:50px!important}.wfs-hero .phero-display{max-width:22ch}.wfs-hero .wfs-intro-copy{max-width:63ch}.wfs-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:28px}.wfs-actions .btn{margin:0}.wfs-link{color:var(--ink);font-size:16px;font-weight:600;text-decoration:none;border-bottom:1px solid #c999e6;padding:9px 0}.wfs-link:hover{color:#9131bb}.wfs-actions small{display:block;font-size:14px;color:var(--ink-soft);margin-top:10px}.wfs-film{padding:48px 0 88px}.wfs-film-heading{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:27px}.wfs-film-heading h2{font-size:clamp(27px,3vw,39px);margin:0;max-width:25ch}.wfs-film-heading p{font-size:16px;color:var(--ink-soft);margin:0;max-width:30ch;line-height:1.6}.wfs-player{margin:0;border:1px solid #e8ddee;border-radius:22px;background:#fff;box-shadow:0 22px 60px #6a287811;overflow:hidden}.wfs-player video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#fcfbf9;object-fit:contain}.wfs-player video:focus-visible,.wfs-link:focus-visible{outline:3px solid #a13ee7;outline-offset:4px}.wfs-player figcaption{padding:18px 24px;display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid #eee5f3;font-size:14px;color:var(--ink-soft);line-height:1.6}.wfs-player figcaption strong{color:var(--ink);font-weight:500}.wfs-outcomes{display:flex;justify-content:space-between;gap:24px;list-style:none;margin:25px 0 0;padding:0;font-size:16px;color:var(--ink-soft)}.wfs-outcomes li{display:flex;gap:10px;align-items:center}.wfs-outcomes svg{width:21px;height:21px;flex:none;color:#a43de2}.wfs-stages{background:linear-gradient(115deg,#f7f0fc,#fdf5fa);border-block:1px solid #ebe1ef}.wfs-stages .wfs-lead{max-width:60ch;font-size:19px;line-height:1.75;color:var(--ink-soft);margin:20px 0 45px}.wfs-flow{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:0;padding:0;counter-reset:step}.wfs-flow li{position:relative}.wfs-step-mark{display:flex;align-items:center;gap:14px;margin-bottom:30px}.wfs-step-mark span{display:grid;place-items:center;width:47px;height:47px;background:#fff;border:1px solid #e3caef;border-radius:50%;color:#9c32dd;font-size:15px;flex:none}.wfs-step-mark strong{font-weight:500;font-size:16px;color:#723d87}.wfs-step-mark:after{content:'→';margin-left:auto;color:#b189c0;font-size:23px}.wfs-flow li:last-child .wfs-step-mark:after{content:'✓';font-size:19px}.wfs-flow h3{font-size:25px;line-height:1.25;letter-spacing:-.025em;max-width:20ch;margin:0 0 18px}.wfs-flow p{font-size:17px;line-height:1.8;color:var(--ink-soft);margin:0}.wfs-flow .wfs-example{margin-top:24px;padding-top:19px;border-top:1px solid #e3d2ea;font-size:14px;color:#785288}.wfs-focus{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.wfs-focus h2{max-width:17ch}.wfs-focus .wfs-lead{font-size:19px;line-height:1.8;color:var(--ink-soft);max-width:40ch}.wfs-focus-points{margin:0;display:grid;gap:28px}.wfs-focus-points>div{border-bottom:1px solid var(--line);padding-bottom:25px}.wfs-focus-points>div:last-child{border:0;padding-bottom:0}.wfs-focus-points dt{font-size:21px;font-weight:650;letter-spacing:-.025em;margin-bottom:10px}.wfs-focus-points dd{margin:0;font-size:17px;color:var(--ink-soft);line-height:1.8}.wfs-gallery-link{font-size:16px;display:inline-block;margin-top:20px;color:#9841c0;text-underline-offset:5px}.wfs-memory{margin-top:30px;padding:24px 0;display:flex;gap:0;align-items:center;border-block:1px solid var(--line);font-size:15px;line-height:1.5;color:#80538b}.wfs-memory span{flex:1}.wfs-memory b{font-weight:400;color:#c09ace;margin:0 16px}.wfs-end{background:linear-gradient(120deg,#faf2ff,#fff5fa);border-top:1px solid #ebdcef}.wfs-end .wrap{text-align:center}.wfs-end h2{max-width:24ch;margin-inline:auto}.wfs-end p{max-width:48ch;margin:22px auto;color:var(--ink-soft);font-size:19px;line-height:1.8}.wfs-end .wfs-actions{justify-content:center}.wfs-end .wfs-trial-note{font-size:14px;margin:18px auto 0}
@media(max-width:850px){.wfs-film-heading{align-items:start;flex-direction:column;gap:14px}.wfs-film-heading p{max-width:55ch}.wfs-flow{gap:25px}.wfs-flow h3{font-size:22px}.wfs-focus{gap:40px}.wfs-outcomes{gap:15px;flex-wrap:wrap}.wfs-flow p{font-size:16px}}
@media(max-width:650px){.wfs-hero{padding-bottom:40px!important}.wfs-film{padding:32px 0 60px}.wfs-player{border-radius:12px}.wfs-player figcaption{align-items:start;flex-direction:column;gap:4px;padding:15px 17px}.wfs-outcomes{display:grid;gap:12px}.wfs-flow{grid-template-columns:1fr;gap:32px}.wfs-step-mark{margin-bottom:17px}.wfs-flow h3{max-width:none;font-size:24px}.wfs-flow .wfs-example{margin-top:16px;padding-top:14px}.wfs-flow li:not(:last-child) .wfs-step-mark:after{content:'↓'}.wfs-focus{grid-template-columns:1fr;gap:32px}.wfs-focus h2{max-width:22ch}.wfs-memory{font-size:14px}.wfs-memory b{margin-inline:10px}.wfs-actions{gap:18px}.wfs-actions .btn{font-size:15px}.wfs-stages .wfs-lead{font-size:18px;margin-bottom:32px}}

/* Beschreibung zum Video unter der Überschrift statt rechts daneben */
.wfs-film-heading{flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:14px!important}
.wfs-film-heading p{max-width:62ch!important}

/* Schritte 01–03: Überschriften, Texte und Linien stehen in allen Spalten auf gleicher Höhe */
.wfs-flow li{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
.wfs-flow li > .wfs-step-mark{align-self:start}
.wfs-flow li > h3{align-self:start}
.wfs-flow li > p:not(.wfs-example){align-self:start}
.wfs-flow li > .wfs-example{align-self:start}

/* Einheitliche Textbreite auf den Funktionsseiten */
.wfs-hero .wfs-intro-copy,
.wfs-film-heading p,
.wfs-stages .wfs-lead,
.wfs-focus .wfs-lead,
.customers-film-note,.booking-film-note,.gallery-film-note,.masterchat-film-note,
.reports-film-note,.team-film-note,.campaign-note{max-width:660px!important}

/* Schlussüberschriften: breit genug für zwei Zeilen */
.wfs-end h2{max-width:40ch!important}

/* Kein Häkchen nach dem dritten Schritt */
.wfs-flow li:last-child .wfs-step-mark:after{content:none!important;display:none!important}

/* Zwischenblock: untereinander, zwei Punkte nebeneinander darunter */
.wfs-focus{display:block!important}
.wfs-focus h2{max-width:none!important}
.wfs-focus .wfs-lead{margin-top:16px}
.wfs-focus>div+div{margin-top:40px}
.wfs-focus-points{grid-template-columns:1fr 1fr!important;gap:28px 56px!important}
.wfs-focus-points>div{border-bottom:0!important;border-top:1px solid var(--line);padding:22px 0 0!important}
.wfs-focus-points>div:last-child{border-top:1px solid var(--line)!important}
.wfs-focus-points dt{font-size:19px!important}
.wfs-focus-points dd{font-size:16.5px!important;line-height:1.7!important}
.wfs-focus>div+div>a{display:inline-block;margin-top:28px}
@media(max-width:760px){.wfs-focus-points{grid-template-columns:1fr!important}}

/* Zusatzpunkte direkt unter den drei Schritten */
.wfs-stages .wfs-lead{display:none}
.wfs-extras{display:grid;grid-template-columns:1fr 1fr;gap:18px 56px;margin-top:48px;padding-top:26px;border-top:1px solid var(--line);max-width:none}
.wfs-extras p{margin:0;font-size:16px;line-height:1.7;color:var(--ink-soft)}
.wfs-extras b{color:var(--ink);font-weight:650}
.wfs-extras-link{margin-top:26px}
@media(max-width:760px){.wfs-extras{grid-template-columns:1fr}}

/* Schritte kompakt: Marke als Titel, ein Satz darunter */
.wfs-flow li>p{margin-top:12px}
.wfs-stages .wrap>.wfs-flow:first-child{margin-top:0}

/* Gleichrangige Punkte ohne Nummern: Raster 2 x 2 */
.wfs-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 72px;max-width:900px}
.wfs-grid h3{font-size:20px;font-weight:650;letter-spacing:-.02em;margin:0 0 8px}
.wfs-grid p{margin:0;font-size:16.5px;line-height:1.7;color:var(--ink-soft)}
@media(max-width:760px){.wfs-grid{grid-template-columns:1fr;gap:28px}}
/* Zusatzsatz unter echten Abläufen, ohne Linie */
.wfs-more{margin:36px 0 0;font-size:16.5px;line-height:1.7;color:var(--ink-soft);max-width:660px}
.wfs-extras-link{margin-top:32px}

/* Platzhalter, solange ein Video fehlt */
.wfs-platzhalter{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background:repeating-linear-gradient(135deg,#faf7fc,#faf7fc 14px,#f4eef8 14px,#f4eef8 28px);color:var(--ink-soft);text-align:center;padding:24px}
.wfs-platzhalter b{font-size:18px;color:var(--ink);font-weight:650}
.wfs-platzhalter span{font-size:15px;max-width:46ch}

/* Punkte als Karten */
.wfs-grid{gap:22px!important;max-width:980px}
.wfs-grid>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 26px 28px;
  box-shadow:0 12px 34px rgba(106,40,120,.05)}
.wfs-grid h3{font-size:19px;margin:0 0 10px}
.wfs-grid p{font-size:16px}
@media(max-width:760px){.wfs-grid>div{padding:22px}}

/* Karten über die volle Spaltenbreite */
.wfs-grid{max-width:none!important}

/* Satz unter dem Abschluss */
.wfs-end-lead{margin:14px 0 0;font-size:17px;color:var(--ink-soft)}

/* Abschlussüberschrift: eine Zeile, etwas kleiner */
.wfs-end h2{max-width:none!important;font-size:clamp(25px,2.6vw,34px);white-space:nowrap}
@media(max-width:820px){.wfs-end h2{white-space:normal;font-size:clamp(22px,5.5vw,28px)}}

/* Abschluss: klare Abstufung */
.wfs-end h2{font-size:clamp(28px,3vw,40px)!important;white-space:nowrap}
.wfs-end .wfs-end-lead{font-size:16px!important;margin-top:12px!important;color:var(--ink-soft)}
.wfs-end .wfs-actions{margin-top:34px;flex-direction:column;gap:16px}
.wfs-end .wfs-actions .btn{font-size:17px}
.wfs-end-link{border-bottom:1px solid #c999e6;font-weight:500;font-size:15.5px;padding:2px 0}
@media(max-width:820px){.wfs-end h2{white-space:normal;font-size:clamp(23px,5.5vw,30px)!important}}

/* Abschluss sicher mittig */
.wfs-end .wrap{text-align:center!important}
.wfs-end h2{display:block;width:100%;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.wfs-end .wfs-end-lead{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.wfs-end .wfs-actions{align-items:center!important}

/* Abschlussüberschrift auf breiten Bildschirmen in einer Zeile */
@media(min-width:900px){.wfs-end h2{white-space:nowrap!important}}

/* Abschlussüberschrift: stärkere Regel als section[id^=registrieren] h2 */
section[id^="registrieren"].wfs-end h2{max-width:none!important;width:auto!important;margin:0 auto!important;text-align:center!important}
section[id^="registrieren"].wfs-end .wfs-end-lead{max-width:46ch!important;margin:12px auto 0!important;text-align:center!important}

/* Hinweis unter den Karten in einer Zeile */
.hinweis-einzeilig{max-width:none!important;white-space:nowrap}
@media(max-width:1000px){.hinweis-einzeilig{white-space:normal}}

/* AKTIONS-HINWEIS-KLEINER */
.wfs-trial-note{font-size:13px!important}

/* FILM-UEBERSCHRIFT-BREIT: Video-Überschriften nicht künstlich umbrechen */
.wfs-film-heading h2{max-width:none!important}

/* VIDEOHINWEIS-EINHEITLICH: Hinweis unter dem Video überall gleich */
.customers-film-note,.booking-film-note,.gallery-film-note,.masterchat-film-note,
.reports-film-note,.team-film-note,.campaign-note{
  font-size:14px!important;line-height:1.7!important;color:var(--ink-soft)!important;
  margin:22px 0 0!important;max-width:660px!important;text-wrap:balance}

/* NOTE-BREIT: längerer Hinweis in einer Zeile */
.note-breit{display:block}
.customers-film-note:has(.note-breit){max-width:none!important}
/* booking-film.css */
.booking-film-note{font-size:14px;color:var(--ink-soft);line-height:1.75;margin:24px 0 0;max-width:90ch}.tf-perspectives .wfs-step-mark:after{content:none!important}.tf-periods{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.tf-periods span{padding:14px 24px;border:1px solid #e5ceef;background:linear-gradient(115deg,#f7ebff,#fff1f8);border-radius:13px;font-size:17px;color:#8537ac}
.bf-questions{background:linear-gradient(115deg,#f7f0fc,#fff5f8)}.bf-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}.bf-question-grid article{background:#fff;border:1px solid #e8daef;border-radius:22px;padding:32px}.bf-question-grid h3{font-size:25px;line-height:1.45;margin:18px 0}.bf-question-grid p{color:var(--ink-soft);line-height:1.8}@media(max-width:640px){.bf-question-grid{grid-template-columns:1fr}.bf-question-grid article{padding:24px}}
/* language.css */
/* The language control is the only addition to the existing page structure. */
.language-switch{display:flex;align-items:center;flex-shrink:0;gap:2px;padding:3px;border:1px solid var(--line);border-radius:24px;background:#fff}
.language-switch a{display:flex;align-items:center;justify-content:center;min-width:34px;min-height:32px;padding:3px 6px;border-radius:20px;color:#625970;font:600 12px/1.2 'DM Sans',sans-serif;text-decoration:none;transition:background .15s,color .15s}
.language-switch a[aria-current]{background:linear-gradient(110deg,#f0e3ff,#fde8f5);color:#7c25be}
.language-switch a:hover{background:#f4e8ff;color:#7325ad}
.language-switch a:focus-visible{outline:2px solid #9333ea;outline-offset:3px}
.nav{gap:18px}.nav-links{gap:18px}
@media(max-width:1320px){.nav-links{display:none}.burger{display:flex}.nav .logo{margin-right:auto}}
@media(max-width:600px){.nav{gap:10px}}
@media(max-width:420px){.wrap.nav{padding-left:16px;padding-right:16px;gap:6px}.nav .logo{font-size:14px;gap:3px}.nav .logo span{font-size:12px}.nav .logo .mark{width:26px;height:26px}.language-switch a{min-width:29px;min-height:30px;padding:3px 4px}.nav .burger{width:36px;height:36px;flex-shrink:0}}
/* a11y.css */
/* Kontrast-Korrekturen (WCAG 2.1 AA, 4,5:1 für normalen Text) – minimal abgedunkelt,
   Farbwelt der Designvorlage bleibt erhalten. Wird nach allen Vorlagen-Styles geladen. */
:root{--crm-gradient:linear-gradient(90deg,#9333ea 0%,#c026d3 50%,#db2777 100%)} /* vorher #d946ef/#ec4899: Weiß 3,46:1 */
.hero .hero-cta .trial{color:#736c79!important} /* vorher #78717e: 4,47:1 */
.preis-dark .fine{color:#6c6672} /* vorher #77707f: 4,09:1 */
/* Schriften: beide Dateien sind variable Fonts (Geist wght 100–900, DM Sans 100–1000).
   Die Vorlage deklarierte nur eine feste Stärke (800 bzw. 400) -> Browser fälschte Zwischen-/Fettstufen.
   Freigabe 29.09.2026. */
@font-face{font-family:Geist;src:url('/assets/geist.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:DM Sans;src:url('/assets/dm-sans.woff2') format('woff2');font-weight:100 1000;font-display:swap}
/* Zusatztext Online-Galerie (.gf-details): Absatz- und Zwischenüberschriften-Abstände
   (die Vorlage hat für Fließtext in .sec keine Abstände). ANNAHME 29.09. mit dem Text. */
.gf-details h2{margin:10px 0 18px}
.gf-details h3{margin:34px 0 10px;font-size:1.2rem;line-height:1.4}
.gf-details p{margin:0 0 14px;line-height:1.75;color:var(--ink-soft)}
/* Preis-Umschalter Jährlich/Monatlich (Freigabe Viktor 30.09.2026) */
.price-toggle{display:inline-flex;gap:4px;padding:4px;margin:18px 0 0;border:1px solid var(--line);border-radius:999px;background:#fff}
.price-toggle button{font:600 14px 'DM Sans',sans-serif;border:0;background:transparent;color:var(--ink-soft);padding:8px 16px;border-radius:999px;cursor:pointer}
.price-toggle button[aria-pressed="true"]{background:var(--violet-deep);color:#fff}
.price-toggle button:focus-visible{outline:3px solid var(--violet);outline-offset:2px}
.price-toggle .save{font-size:12px;font-weight:700;margin-left:2px}
.plan [hidden]{display:none!important}

/* 30.09.2026: Hero-Claims leichter (vorher 800 aus design.css, dann 700) */
.hero-display,.phero-display{font-weight:500}

/* 30.09.2026: KI-Kennzeichnung – klein, aber lesbar (Art. 50 KI-VO) */
.photo{position:relative}
.ki-label{position:absolute;right:10px;bottom:8px;z-index:1;font:500 10px/1.2 "DM Sans",sans-serif;letter-spacing:.02em;color:#fff;background:rgba(20,14,28,.45);padding:2px 6px;border-radius:4px;pointer-events:none}

/* 30.09.2026: Rechtstabellen (AGB/Terms) auf dem Handy horizontal scrollbar statt Seitenüberlauf */
.legal-table{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}

/* 30.09.2026: Layout-Check (43 Seiten × 7 Breiten) */
/* Überschriften ohne einzelnes Wort in der letzten Zeile */
h1,h2,h3,.phero-display{text-wrap:balance}
/* Preis nie "39,99 / €" umbrechen */
.price b{white-space:nowrap}
@media(max-width:400px){.price b{font-size:3.3rem!important}}
/* Blog-Artikel: Text klebte am Rahmen */
article.legal-copy.post{padding:clamp(22px,4vw,56px)}
/* Handy: Hero-Bild lag unter dem Kleingedruckten der CTA */
@media(max-width:600px){.hero{min-height:0;padding-bottom:310px}.hero-art{inset:auto 0 30px;height:265px}}

/* 01.10.2026: Statusbox des Kontaktformulars (von Devops in design.css ergaenzt, 4fd43d4) - hier gesichert, weil design.css beim Build neu erzeugt wird */
.form-status{margin-top:20px;padding:16px 18px;border:1px solid;border-radius:12px;font-size:16px;font-weight:600;line-height:1.5}.form-status[data-state=success]{color:#176b3a;background:#edf9f1;border-color:#a9ddbb}.form-status[data-state=error]{color:#a42a2a;background:#fff1f1;border-color:#f1b7b7}

/* 02.10.2026: Footer auf schmalen Handys – Kontakt-Spalte über volle Breite, damit E-Mail und "Cookie-Einstellungen" nicht umbrechen */
@media(max-width:420px){.f-grid{gap:30px 16px}.f-grid>div:last-child{grid-column:1/-1}.f-grid a{font-size:14px}}

/* 02.10.2026: zweispaltiges Kartenraster (Tablet) – einzelne letzte Karte über die volle Breite */
@media(min-width:681px) and (max-width:940px){.g3>:last-child:nth-child(odd){grid-column:1/-1}}

/* 27.10.2026: Briefing „ChatGPT-Suche“ – Galerie-Seite (Tabelle, Kapitel) */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.video-chapters ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0}
.video-chapters a{display:inline-flex;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none;font-size:.95rem}
.video-chapters a:hover,.video-chapters a:focus-visible{border-color:var(--violet)}
.video-chapters time{font-variant-numeric:tabular-nums;color:var(--ink-soft)}
.gf-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;margin:24px 0 8px}
.gf-table{width:100%;border-collapse:collapse;font-size:.97rem;line-height:1.5}
.gf-table th,.gf-table td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line)}
.gf-table thead th{font-size:.85rem;letter-spacing:.04em;color:var(--ink-soft)}
.gf-table tbody th{white-space:nowrap}
@media(max-width:600px){.gf-table tbody th{white-space:normal}.gf-table th,.gf-table td{padding:10px 8px}}
/* 27.10.2026: Kundenansichten auf der Galerie-Seite */
.gf-shot{margin:22px 0 30px}
.gf-shot img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}
.gf-shot figcaption{margin-top:8px;font-size:.85rem;color:var(--ink-soft)}
.gf-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.gf-steps span{display:block;margin-top:8px;font-weight:600;font-size:.92rem}
@media(max-width:700px){.gf-steps{grid-template-columns:1fr}}
/* 28.10.2026: Galerie-Seite nach Design-/QA-Review – Schritte gleich hoch, breitere Screenshots, Tabelle als Karten auf dem Handy */
#gallery-video{scroll-margin-top:100px}
.gf-shot{margin:28px 0 48px}
.gf-shot-narrow{max-width:520px}
.gf-steps{align-items:stretch}
.gf-steps img{aspect-ratio:1/1;object-fit:cover;object-position:top center;background:#fff}
@media(max-width:700px){.gf-steps{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.gf-steps li{scroll-snap-align:start}}
.gf-table td{color:var(--ink-soft)}
.gf-table-wrap{margin-bottom:32px}
@media(max-width:600px){.gf-table thead{display:none}.gf-table,.gf-table tbody,.gf-table tr,.gf-table th,.gf-table td{display:block;width:auto}.gf-table tr{padding:14px 0;border-bottom:1px solid var(--line)}.gf-table tbody th,.gf-table td{padding:2px 0;border:0}.gf-table tbody th{font-size:1.05rem;margin-bottom:6px}.gf-table td+td{margin-top:8px}.gf-table td::before{content:attr(data-label);display:block;font-size:.8rem;letter-spacing:.04em;color:var(--ink-soft);font-weight:600}}
@media(max-width:600px){.video-chapters ol{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.video-chapters a{white-space:nowrap;font-size:.85rem;padding:6px 12px}}
/* 28.10.2026 (2): „Im Detail“ als Zeilen Text | Screenshot, Video auf Fensterhöhe, Hinweis unter den Buttons */
#galerie-video .wfs-player{max-width:min(100%,calc((100svh - 116px) * 16 / 9));margin-inline:auto}
.gf-trial,.phero p.gf-trial{margin:14px 0 0;font-size:15px;line-height:1.5;color:var(--ink-soft)}
.wfs-end .gf-trial{margin:0;text-align:center}
.gf-details .wrap{max-width:1180px}
.gf-intro{max-width:860px}
.gf-details h3{font-size:clamp(1.4rem,2.2vw,1.85rem);line-height:1.25;letter-spacing:-.02em;margin:0 0 14px}
.gf-row{margin-top:clamp(56px,7vw,96px)}
.gf-copy{max-width:760px}
.gf-media .gf-shot{margin:24px 0 0}
.gf-shot-narrow{max-width:360px;margin-inline:auto!important}
.gf-note{margin-top:clamp(56px,7vw,88px);max-width:860px;padding:24px 28px;border-left:3px solid var(--violet);background:var(--cream-deep);border-radius:12px}
.gf-note h3{font-size:1.15rem}
.gf-note p{font-size:.95rem;margin:0}
@media(min-width:1000px){
 .gf-row:not(.gf-row-full){display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}
 .gf-row.gf-row-rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.gf-row-rev .gf-copy{order:2}
 .gf-row:not(.gf-row-full) .gf-media .gf-shot:first-child{margin-top:0}
 .gf-row-full .gf-media .gf-shot{margin-top:28px}
 .gf-steps{gap:20px}}
@media(max-width:600px){.gf-shot-wide img{aspect-ratio:4/3;object-fit:cover;object-position:left top}}
/* 28.10.2026 (3): dritte Review-Runde – Achse, Abschlussblock, Tabellenlinks, Kapitel-Trefferflächen */
.wfs-end p.gf-trial{font-size:15px;line-height:1.5;max-width:none;margin:0}
.gf-trust,.wfs-end p.gf-trust{margin:22px auto 0;font-size:14px;line-height:1.5;color:var(--ink-soft);text-align:center}
.wfs-end-link{display:inline-flex;align-items:center;min-height:44px}
.gf-details .wrap{max-width:var(--wrap)}
.gf-details .wrap>*{max-width:1180px}
.gf-details .wrap>.gf-intro,.gf-details .wrap>.gf-note{max-width:860px}
.gf-copy{max-width:860px}
.gf-row{scroll-margin-top:100px}
.gf-table tbody th a{color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.gf-table tbody th a:hover{text-decoration-color:var(--violet)}
.gf-note{border-radius:0 12px 12px 0}
.gf-steps+figcaption{margin-top:16px}
.video-chapters a{min-height:44px;align-items:center}
@media(max-width:600px){.gf-note{padding:20px}}
@media(min-width:601px) and (max-width:999px){.gf-row-rev .gf-media{display:grid;grid-template-columns:1.55fr 1fr;gap:20px;align-items:end}.gf-row-rev .gf-media .gf-shot{margin:24px 0 0!important;max-width:none}}
/* 27.10. Mobile Kopfzeile: Testen-Knopf statt Sprachumschalter; der Umschalter steht als erste Zeile im Burger-Menue. */
.nav .cta-kurz,.m-panel .m-lang{display:none}
@media(max-width:600px){.wrap.nav>.btn{display:inline-flex;align-items:center;height:40px;min-height:0;padding:0 14px;line-height:1;gap:6px;font-size:14px;white-space:nowrap;flex-shrink:0}.wrap.nav>.btn .cta-voll{display:none}.wrap.nav>.btn .cta-kurz{display:inline}.wrap.nav>.btn .arw{width:auto}.wrap.nav>.language-switch{display:none}.m-panel .m-lang{display:inline-flex;width:max-content;margin:0 0 10px}.m-panel .m-lang a{display:flex;font-size:13px;min-height:36px;min-width:44px;padding:4px 10px;border:0}}
@media(max-width:350px){.wrap.nav>.btn .arw{display:none}}
/* 29.10. Ergebnisse der Prüfung (Tester, Barrierefreiheit). Bedienziele auf dem Handy mindestens 44 px; bei Textlinks
   vergrößert eine unsichtbare Fläche das Ziel, ohne das Layout zu verschieben. Offenes Burger-Menü zeigt ×. */
.burger{position:relative}
.burger[aria-expanded="true"] svg{opacity:0}
.burger[aria-expanded="true"]::before,.burger[aria-expanded="true"]::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:1.6px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.burger[aria-expanded="true"]::after{transform:translate(-50%,-50%) rotate(-45deg)}
.m-panel.open{max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:760px){.home-text-link,.home-footnote-link{position:relative}.home-text-link::after,.home-footnote-link::after{content:"";position:absolute;inset:-11px -4px}.home-footnote-link::after{inset:-12px -10px}.price-toggle button{min-height:44px}.tour-pin::after{content:"";position:absolute;inset:-8px;border-radius:50%}}
@media(max-width:600px){.wrap.nav>.btn{height:44px}}
@media(max-width:420px){.nav .burger{width:44px;height:44px}}
/* 29.10. Paket 1b. Erster Bildschirm der Startseite kompakter: der Testen-Knopf rückt von ~452 auf ~370 px
   und bleibt auf den meisten Handys über dem Cookie-Banner sichtbar. */
@media(max-width:600px){.hero{padding-top:18px}.hero h1.key{margin-top:0;margin-bottom:10px}.hero .hero-display{font-size:clamp(2.3rem,9.6vw,3.4rem);margin-bottom:12px}.hero-lead{font-size:16px;line-height:1.5;margin-bottom:16px}}
/* Kopfzeile auf dem Handy deckend, sonst scheint Text durch */
@media(max-width:1000px){header{background:#fcfbf8}}
/* Laptops 1101–1320 px: Navigation statt Burger, "Startseite" entfällt (das Logo führt dorthin), Kopf-Knopf kurz */
@media(max-width:1320px) and (min-width:1101px){.nav-links{display:flex!important;gap:14px}.nav-links>a[href="/"],.nav-links>a[href="/en/"]{display:none}.burger{display:none!important}.wrap.nav>.btn .cta-voll{display:none}.wrap.nav>.btn .cta-kurz{display:inline}}
/* Zeilenumbrüche: keine einzelnen Wörter am Ende von Überschriften; feste <br> im Lead auf dem Handy aus */
h1,h2,h3,.hero-display,.phero-display{text-wrap:balance}
@media(max-width:600px){.phero p:not(.phero-display) br{display:none}}
/* Videokapitel auf Tablets in einer Reihe statt 4+1 */
@media(min-width:601px) and (max-width:999px){.video-chapters ol{display:grid;grid-template-columns:repeat(5,auto);justify-content:start}}
/* Pause-Knopf der Tour im Stil der Chips statt Browser-Standard */
.tour-toggle{-webkit-appearance:none;appearance:none;box-sizing:border-box;cursor:pointer;border-radius:999px;border:1px solid #e4e0e6;background:#fff;color:var(--ink-soft);font:500 12.5px/1 'DM Sans',sans-serif;min-height:32px}
.tour-toggle:hover{border-color:var(--violet)}
.tour-toggle:focus-visible{outline:3px solid var(--violet);outline-offset:2px}
@media(max-width:760px){.tour-toggle,.tour-chip{min-height:44px}}
/* Kontrast der Hinweise unter den Preisen (4,18:1 -> 5,6:1) */
#preisdetails p,#preisdetails p strong{color:#675870}
/* Fußzeilen-Überschriften als Absatz (Überschriftenfolge), Aussehen wie bisher */
.f-grid .f-h{font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#bca9cf;margin:0 0 16px;font-weight:500;line-height:1.7}
/* Hero mobil: Dachzeile einzeilig und etwas weniger Abstand vor dem CTA, damit der CTA neben dem Cookie-Banner sichtbar bleibt */
@media(max-width:430px){.hero h1.key{font-size:11.5px;letter-spacing:.08em}.hero-lead{margin-bottom:12px}}
/* 06.11.2026 SEO R1: Block „So funktioniert's" auf Funktionsseiten (funktion_text.py) */
.ft-how h2{margin:10px 0 28px;max-width:28ch}
.ft-steps{list-style:none;counter-reset:ft;margin:0;padding:0;display:grid;gap:22px;max-width:820px}
.ft-steps li{counter-increment:ft;position:relative;padding-left:52px}
.ft-steps li::before{content:counter(ft);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;background:var(--violet-soft);color:var(--ink);font-weight:600;display:flex;align-items:center;justify-content:center;font-size:.95rem}
.ft-steps h3{margin:4px 0 6px;font-size:1.12rem;line-height:1.4}
.ft-steps p,.ft-outro{margin:0;line-height:1.75;color:var(--ink-soft);max-width:72ch}
.ft-outro{margin-top:28px}
/* FAQ-Antworten: keine Einzelwörter in der letzten Zeile */
.faq details p{text-wrap:pretty}
/* Sticky-CTA der Startseite ausblenden, solange das Handy-Menü offen ist (verdeckte sonst den letzten Menüpunkt) */
html:has(#mobile-nav:not([hidden])) .home-sticky-cta{display:none!important}
/* Preisumschalter und Preiszusatz nicht umbrechen */
.price-toggle button,.price>span{white-space:nowrap}
.price{flex-wrap:wrap;row-gap:2px}
/* Startseite 1001–1199 px: Lead und Testhinweis nicht über das Heldenbild laufen lassen */
@media(min-width:1001px) and (max-width:1199px){.hero .hero-lead,.hero .trial{max-width:28rem}}
/* 11.11. Blogartikel: Lesebreite ~70 Zeichen, Testkasten am Ende (Knopf ohne Link-Unterstreichung des Artikels) */
.legal-copy.post{max-width:42rem}
.legal-copy.post h1{font-size:clamp(1.75rem,3.6vw,2.6rem)}
.legal-copy.post .post-cta{margin:48px 0 0;padding:clamp(20px,3vw,32px);border:1px solid var(--line);border-radius:16px;background:var(--cream-deep)}
.legal-copy.post .post-cta p{margin:0 0 16px}
.legal-copy.post .post-cta .post-cta-title{font-size:1.25rem;line-height:1.35;font-weight:700;color:var(--ink);margin-bottom:6px}
.legal-copy.post .post-cta .btn{color:#fff;text-decoration:none}
/* 11.11. /preise, /en/pricing: Preiskarte näher an den Seitenkopf, damit Preis und Testen-Knopf früher sichtbar sind */
.phero + .sec:has(.plan-single){padding-top:clamp(28px,4vw,48px)}
.phero + .sec .plan-single{margin-top:0}
.phero:has(+ .sec .plan-single){padding-bottom:clamp(32px,4vw,48px)}
/* 11.11.2026 Gesamtaudit Paket C */
/* C3: Klickflächen mind. 24 px hoch (WCAG 2.2, 2.5.8) – unsichtbar per ::after vergrößert, kein Layoutsprung */
.f-grid a{min-height:24px}
.home-review figcaption a,.customer-quote figcaption a,.home-reviews-footer a,.home-gallery-top a,.gf-table tbody th a,.legal-copy ul a,.legal-copy p>a:only-child{position:relative}
.home-review figcaption a::after,.customer-quote figcaption a::after,.home-reviews-footer a::after,.home-gallery-top a::after,.gf-table tbody th a::after,.legal-copy ul a::after,.legal-copy p>a:only-child::after{content:"";position:absolute;inset:-4px -2px}
@media(min-width:761px){.home-text-link{position:relative}.home-text-link::after{content:"";position:absolute;inset:-4px -2px}}
/* Handy quer: Kopfzeile (sticky) 60 statt 87 px, Seitenkopf mit weniger Luft oben */
@media(orientation:landscape) and (max-height:500px){.nav{height:60px}.phero{padding-top:44px}}
/* Blog-Übersicht mit nur einem Beitrag: Karte breiter statt 2/3 Leerraum */
.fgrid>.fcard:only-child{grid-column:1/-1;max-width:760px}
/* Startseite Anfragen-Generator: fester Umbruch im H2 nur ab Tablet (auf dem Handy brach „Fotoshooting-/Anfragen“ hässlich) */
@media(max-width:600px){.home-marketing h2 br{display:none}}
/* 13.11.2026 Audit D6: Funktionsseiten ab 1024 px – weniger Luft im Seitenkopf, damit der Produktfilm schon im ersten Bildschirm anfängt
   (vorher bei 1366×768 komplett unter dem Rand). Textbreite 660 px (Einheitliche Textbreite) bleibt unverändert. */
@media(min-width:1024px){.wfs-hero{padding-top:52px}.wfs-hero.phero{padding-bottom:32px!important}.wfs-film{padding-top:32px}.wfs-film-heading{margin-bottom:20px}}
@media(min-width:1024px) and (max-height:820px){.wfs-hero{padding-top:36px}.wfs-hero .phero-display{font-size:clamp(2.7rem,4.4vw,4rem)!important}}
