/* =========================================================
   llms.txt Generator - Stylesheet (hell, offen, flach)
   Kein Box-Layout: Weissraum + feine Trennlinien statt Karten.
   Systemfonts (kein Google-CDN), WCAG-AA-Kontraste
   ========================================================= */
:root{
  --bg:#ffffff; --bg-soft:#f4f6f8; --surface2:#eceff3;
  --text:#1c2733; --muted:#59636f; --border:#d9dee4; --line:#e9ecf0;
  --primary:#1e3a5f; --primary-d:#14273f; --on-primary:#ffffff;
  --success:#1a7f4b; --success-bg:#eaf4ee;
  --danger:#b3392c; --danger-bg:#f8ebe9;
  --focus:#1e3a5f; --radius:6px;
  --maxw:1280px;   /* breite, volle Layout-Breite */
  --readw:760px;   /* schmaler fuer reine Lesetexte */
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg); color:var(--text);
  font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased;
  display:flex; flex-direction:column; min-height:100vh;
}
a{color:var(--primary); text-decoration:none}
a:hover{text-decoration:underline}
code{
  font-family:"SF Mono",Consolas,"Liberation Mono",Menlo,monospace;
  background:var(--surface2); padding:2px 6px; border-radius:5px; font-size:.9em; color:#334;
}
h1{font-size:clamp(2rem,5vw,3rem); line-height:1.12; margin-bottom:.7rem; letter-spacing:-.025em; color:#0f172a}
h2{font-size:clamp(1.35rem,3vw,1.8rem); margin:0 0 .8rem; letter-spacing:-.01em; color:#0f172a}
h3{font-size:1.1rem; margin:1.2rem 0 .4rem}
p{margin-bottom:1rem}

/* --- Accessibility --- */
.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:-999px;top:0;background:var(--primary);color:#fff;padding:.6rem 1rem;z-index:200;border-radius:0 0 var(--radius) 0}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--focus); outline-offset:2px; border-radius:5px}

/* --- Navigation --- */
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;position:relative}
.logo{font-weight:800;font-size:1.2rem;color:#0f172a;display:flex;align-items:center;gap:.5rem}
.logo:hover{text-decoration:none}
.logo span{color:var(--primary)}
.logo-mark{display:block;flex:none}
.nav-links{list-style:none;display:flex;gap:1.8rem}
.nav-links a{color:var(--muted);font-weight:500;font-size:.95rem}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--text);text-decoration:none}
.nav-links a[aria-current="page"]{color:var(--primary)}
.nav-contact{background:var(--primary);color:#fff!important;padding:.5rem 1.1rem;border-radius:var(--radius);font-weight:600}
.nav-contact:hover{background:var(--primary-d);text-decoration:none}
/* Wissen-Dropdown */
.nav-dd{position:relative}
.nav-dd-toggle{display:inline-flex;align-items:center;gap:.3rem;background:none;border:0;padding:0;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:500;color:var(--muted)}
.nav-dd-toggle:hover{color:var(--text)}
.nav-dd.active > .nav-dd-toggle{color:var(--primary)}
.nav-dd-toggle svg{transition:transform .2s}
.nav-dd-menu{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);min-width:190px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(28,39,51,.14);padding:.4rem;display:none;z-index:40}
.nav-dd-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.nav-dd-menu a{display:block;padding:.55rem .8rem;border-radius:6px;color:var(--muted);font-size:.92rem;font-weight:500}
.nav-dd-menu a:hover{background:var(--bg-soft);color:var(--text);text-decoration:none}
.nav-dd-menu a[aria-current="page"]{color:var(--primary)}
.nav-dd.open .nav-dd-menu{display:block}
.nav-dd.open .nav-dd-toggle svg{transform:rotate(180deg)}
@media (min-width:761px){
  .nav-dd:hover .nav-dd-menu{display:block}
  .nav-dd:hover .nav-dd-toggle svg{transform:rotate(180deg)}
}

/* Feature-Badges unter dem Formular */
.features{list-style:none;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.5rem 1.1rem;margin-top:1.4rem;font-size:.8rem;color:var(--muted)}
.features li{display:flex;align-items:center;gap:.35rem;white-space:nowrap}
.feat-icon{color:var(--primary);flex:none;width:15px;height:15px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.burger span{display:block;width:26px;height:3px;background:#374151;border-radius:2px;transition:.25s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* --- Layout: offen, mittig, viel Weissraum --- */
main{flex:1;width:100%;max-width:var(--maxw);margin:0 auto;padding:3.5rem clamp(1.2rem,5vw,3rem) 5rem;overflow-x:clip}
section{margin-bottom:5rem}

/* --- Hero: modernes Zwei-Spalten-Layout --- */
.hero{padding:2.5rem 0 1rem;position:relative}
.dsgvo-badge{position:absolute;top:-14px;right:18px;display:inline-flex;align-items:center;gap:.4rem;
  background:var(--success-bg);color:var(--success);border:1px solid #b6d9c4;
  padding:.4rem .85rem;border-radius:999px;font-size:.82rem;font-weight:700;z-index:3;
  box-shadow:0 4px 12px rgba(28,39,51,.1)}
.btn-refresh{display:inline-flex;align-items:center;gap:.45rem;font-size:.92rem;font-weight:600;
  padding:.62rem 1.2rem;border-radius:var(--radius);border:1.5px solid var(--primary);
  color:#fff;background:var(--primary);transition:.15s}
.btn-refresh:hover{background:var(--primary-d);border-color:var(--primary-d);color:#fff;text-decoration:none}
.btn-refresh svg{flex:none}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:stretch}
.hero-copy{text-align:left}
.eyebrow{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.hero-copy h1{font-size:clamp(2.1rem,4vw,3.2rem);letter-spacing:-.02em}
.hero-copy h1 .hl{color:#8ea6c2}
.nowrap{white-space:nowrap}
.lead{font-size:1.15rem;color:var(--muted);max-width:560px;margin:0 0 2rem}
.url-form{display:flex;gap:.7rem;max-width:520px;margin:0;flex-wrap:wrap}
.url-form input[type=url]{flex:1;min-width:200px;padding:.95rem 1.1rem;font-size:1rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);color:var(--text)}
.url-form input[type=url]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(30,58,95,.14)}
.hint{font-size:.9rem;color:var(--muted);margin-top:1rem}
.hero-visual{position:relative;display:grid;grid-template-rows:1fr auto;justify-items:center;align-items:center;
  background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;
  padding:clamp(1rem,2vw,1.6rem)}
/* Glow um alle Illustrations-Boxen (Hero, Warum, Ratgeber) */
.hero-visual,.why-visual,.guide-visual{box-shadow:0 10px 55px 0 rgba(45,111,179,.20)}
.hero-features{width:100%;text-align:center;border-top:1px solid var(--line);padding-top:.9rem;margin-top:.9rem}
.hero-features-main{display:block;font-weight:600;color:#5a7290;font-size:.95rem}
.hero-features-sub{display:block;font-size:.84rem;color:#8ea0b3;margin-top:.15rem}
.hero-img{display:block;width:100%;max-width:600px;height:auto}
/* Social-Proof-Zaehler unter dem Hero */
.stat-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;max-width:1000px;margin:-1.5rem auto 6rem}
.stat-inner{display:inline-flex;align-items:center;gap:.55rem;background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:.5rem 1.15rem}
.stat-inner > svg{color:var(--primary);flex:none}
.stat-figure{font-size:1.5rem;font-weight:800;color:var(--primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.stat-label{color:var(--muted);font-size:.92rem;font-weight:600}
/* Kundenstimmen */
.reviews-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.reviews-head h2{margin:0;text-align:left}
.review-arrows{display:flex;gap:.5rem;flex:none}
.review-nav{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--primary);display:grid;place-items:center;cursor:pointer;transition:.15s;flex:none}
.review-nav:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.review-track{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:.6rem}
.review-track::-webkit-scrollbar{height:8px}
.review-track::-webkit-scrollbar-track{background:transparent}
.review-track::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}
.review{flex:0 0 340px;max-width:82vw;scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.4rem 1.5rem;display:flex;flex-direction:column;gap:.85rem}
.review-stars{display:flex;gap:2px;color:#f5a623}
.review-stars svg{flex:none}
.review-stars .star-off{color:#d9dee5}
.review-quote{margin:0;color:var(--text);font-size:1rem;line-height:1.6;flex:1}
.review-author{display:flex;align-items:center;gap:.7rem;margin:0}
.review-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem;flex:none;letter-spacing:.02em}
.review-name{font-weight:700;color:var(--text);font-size:.92rem}
.review-role{color:var(--muted);font-size:.84rem}
/* KI-Prompts */
.prompt-list{display:flex;flex-direction:column;gap:1.3rem;margin-top:1.5rem}
.prompt{border:1px solid var(--line);border-radius:12px;padding:1.4rem 1.6rem;background:#fff}
.prompt h2{margin:0 0 .3rem;font-size:1.15rem;font-weight:800}
.prompt-desc{color:var(--muted);margin:0 0 .9rem;font-size:.95rem}
.prompt-box{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px}
.prompt-bar{display:flex;justify-content:flex-end;padding:.5rem .5rem 0}
.prompt-copy{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;padding:.32rem .7rem;border-radius:6px;border:1px solid var(--border);background:#fff;color:var(--primary);cursor:pointer;flex:none}
.prompt-copy:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.prompt-copy svg{width:14px;height:14px;flex:none}
.prompt-text{margin:0;padding:.5rem 1.1rem 1rem;background:none;border:0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,Consolas,monospace;font-size:.88rem;line-height:1.55;color:var(--text)}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero-visual{order:2;padding:1.4rem}
  .hero-img{max-width:560px}
}

/* --- Warum-Sektion: Zwei Spalten, volle Breite, animiertes SVG --- */
.why{max-width:none}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.why-copy{text-align:left;order:2}
.why-copy h2{margin-top:0}
.why-copy p{color:var(--muted)}
.why-points{list-style:none;margin:1.5rem 0 0;display:flex;flex-direction:column;gap:.85rem}
.why-points li{display:flex;align-items:flex-start;gap:.6rem;color:var(--text)}
.why-points .feat-icon{color:var(--primary);flex:none;width:18px;height:18px;margin-top:.15rem}
.why-visual{display:flex;align-items:center;justify-content:center;background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:clamp(1.2rem,2.5vw,2rem)}
.why-svg{width:100%;max-width:560px;height:auto}
.llms-scroll{animation:llmsScroll 9s linear infinite}
@keyframes llmsScroll{from{transform:translateY(0)}to{transform:translateY(-200px)}}
.robo-blink{transform-origin:center;animation:roboBlink 2.6s ease-in-out infinite}
@keyframes roboBlink{0%,90%,100%{opacity:1}95%{opacity:.2}}
.scan-beam{animation:scanDash 2.4s linear infinite}
@keyframes scanDash{to{stroke-dashoffset:-28}}
@media (max-width:900px){
  .why-grid{grid-template-columns:1fr;gap:2.4rem}
  .why-svg{max-width:420px}
}

/* --- Buttons --- */
.btn-primary,.btn-secondary{display:inline-block;font-size:1rem;font-weight:600;padding:.9rem 1.7rem;border-radius:var(--radius);border:0;cursor:pointer;transition:.15s;text-align:center}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-d);text-decoration:none}
.btn-secondary{background:#fff;color:var(--text);border:1px solid var(--border)}
.btn-secondary:hover{background:var(--bg-soft);text-decoration:none}
.btn-primary[disabled]{opacity:.85;cursor:progress}
.spinner{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px;margin-right:.5rem}
@keyframes spin{to{transform:rotate(360deg)}}

/* --- Alerts --- */
.alert{padding:.85rem 1.1rem;border-radius:var(--radius);margin:0 auto 1.4rem;max-width:560px;text-align:left;border:1px solid}
.alert p{margin:0}
.alert.error{background:var(--danger-bg);border-color:#f5c2c3;color:#a3282c}
.alert.success{background:var(--success-bg);border-color:#b6e4c8;color:#0b7a44}

/* --- Ergebnis (flach, nur oben eine feine Linie) --- */
.result{border-top:1px solid var(--line);padding-top:2rem}
.result-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem}
.btn-sm{padding:.5rem 1rem;font-size:.88rem}
.btn-compact{padding:.32rem .7rem;font-size:.8rem;border-radius:6px}
.gate-done-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0 0}
.share-btn{display:inline-flex;align-items:center;gap:.4rem;vertical-align:middle}
.share-btn svg{flex:none}
.result-meta{color:var(--muted);font-size:.95rem}
.method-badge{display:inline-block;font-size:.72rem;font-weight:700;padding:.15rem .55rem;border-radius:999px;background:var(--surface2);color:var(--primary);margin-left:.4rem}
/* GEO-Score im Ergebnis */
.geo-score{display:flex;gap:1.6rem;align-items:center;flex-wrap:wrap;background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:1.5rem 1.8rem;margin:0 0 2rem}
.geo-ring{width:104px;height:104px;border-radius:50%;background:conic-gradient(var(--primary) calc(var(--score,0)*1%),#e2e8f0 0);display:grid;place-items:center;flex:none}
.geo-ring-inner{width:80px;height:80px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.geo-ring-inner strong{font-size:1.9rem;font-weight:800;color:var(--primary)}
.geo-ring-inner span{font-size:.72rem;color:var(--muted);margin-top:2px}
.geo-score-body{flex:1;min-width:250px}
.geo-score-body h3{margin:0 0 .3rem}
.geo-score-body > p{color:var(--muted);margin:0 0 .8rem}
.geo-score-checks{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:0 0 .8rem}
.geo-score-checks li{display:flex;align-items:center;gap:.35rem;font-size:.9rem;color:var(--text)}
.geo-score-checks svg{flex:none}
.geo-score-checks .ok svg{color:var(--success)}
.geo-score-checks .no svg{color:#b7791f}
.geo-score-hint{font-size:.85rem;color:var(--muted);margin:0}
.geo-info{position:relative;display:inline-flex;vertical-align:middle;margin-left:.35rem}
.geo-info-btn{width:22px;height:22px;padding:0;border:0;background:none;color:var(--muted);cursor:pointer;display:grid;place-items:center;border-radius:50%}
.geo-info-btn:hover{color:var(--primary)}
.geo-info-pop{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);width:300px;max-width:78vw;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(28,39,51,.16);padding:.9rem 1rem;font-size:.85rem;font-weight:400;line-height:1.55;color:var(--muted);text-align:left;z-index:30;display:none}
.geo-info-pop strong{color:var(--text)}
.geo-info-pop::before{content:"";position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border:7px solid transparent;border-bottom-color:#fff;filter:drop-shadow(0 -1px 0 var(--line))}
.geo-info.open .geo-info-pop{display:block}
@media (hover:hover){.geo-info:hover .geo-info-pop{display:block}}
.code-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:.6rem 0 1rem}
.code-box{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;overflow-x:auto;white-space:pre;font-family:"SF Mono",Consolas,monospace;font-size:.85rem;line-height:1.6;color:#243}
.code-box code{background:none;padding:0;color:inherit}
.blurred{filter:blur(5px);user-select:none;max-height:170px;overflow:hidden}
.gate{position:relative}
.gate-form{border-left:3px solid var(--primary);background:var(--bg-soft);border-radius:0 var(--radius) var(--radius) 0;padding:1.5rem 1.7rem;max-width:600px}
.gate-form h3{margin-top:0;color:#0f172a;font-size:1.25rem}
.gate-done{background:var(--success-bg);border-left-color:var(--success)}
.preview-label{font-size:.8rem;color:var(--muted);margin:1.6rem 0 .4rem;font-weight:600}
.gate-form input[type=email]{width:100%;max-width:420px;padding:.9rem 1rem;font-size:1rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);margin-bottom:.9rem}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;color:var(--muted);margin-bottom:1.1rem;text-align:left;max-width:520px}
.consent input{margin-top:4px;width:18px;height:18px;min-width:18px;accent-color:var(--primary)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* --- How / Steps (offene Spalten, keine Karten) --- */
.steps{list-style:none;counter-reset:s;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.steps li{counter-increment:s;position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:3.6rem 1.4rem 1.4rem}
.steps li::before{content:counter(s);position:absolute;top:1.3rem;left:1.4rem;width:34px;height:34px;background:#8ea6c2;color:#fff;border-radius:50%;display:grid;place-items:center;font-weight:700}

/* --- Pages / Legal --- */
.page{max-width:var(--maxw);margin:0 auto;padding-top:2.5rem}
.page h2{margin-top:2.6rem}
.page.center{text-align:center}
/* Nur auf der Startseite Fliesstext begrenzen; Unterseiten volle Breite */
.how > p{max-width:900px}
.legal h2{font-size:1.25rem;margin-top:2rem}
.legal p{color:var(--muted)}
.edit-hint{background:#fff8e6;border:1px solid #f0dca0;border-radius:var(--radius);padding:.85rem 1rem;color:#8a6d1a}
.ph{color:#b7791f;font-style:italic}
.info-table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.95rem}
.info-table th,.info-table td{text-align:left;padding:.7rem .6rem;border-bottom:1px solid var(--line)}
.info-table th{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}
.support-box{background:var(--bg-soft);border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:0 var(--radius) var(--radius) 0;padding:1.4rem 1.6rem;margin:2.5rem 0}
.support-box h2{margin-top:0}
.support-box p:last-child{margin-bottom:0}
/* Regel: Buttons im grauen Kasten immer GROSS (auch wenn .btn-compact gesetzt ist) */
.support-box .btn-primary,.support-box .btn-secondary{padding:.9rem 1.7rem;font-size:1rem;border-radius:var(--radius)}
.support-row{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.support-row p{margin:0;flex:1;min-width:220px}
.support-row .btn-primary{flex:none}
.support-box p a:not(.btn-primary):not(.btn-secondary){color:var(--primary);text-decoration:underline}
.support-btns{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.1rem}
.stand{font-size:.85rem;margin-top:2rem;color:var(--muted)}

/* --- FAQ (offene Liste mit Trennlinien, keine Karten) --- */
.faq-list{display:flex;flex-direction:column}
.faq-item{border-bottom:1px solid var(--line);padding:.3rem 0}
.faq-item summary{cursor:pointer;font-weight:600;padding:1rem 0;list-style:none;color:#0f172a;display:flex;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::before{content:"+";color:var(--primary);font-weight:700;margin-right:.7rem;font-size:1.2rem}
.faq-item[open] summary::before{content:"\2013"}
.faq-item p{color:var(--muted);padding-bottom:1rem;margin:0}

/* --- Ratgeber (Themen untereinander, flach) --- */
.guide-toc{margin:1.5rem 0 .5rem;border-left:3px solid var(--primary);padding:.2rem 0 .2rem 1.2rem}
.guide-toc ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.guide-toc a{color:var(--muted);font-size:.95rem}
.guide-toc a:hover{color:var(--primary)}
.guide-item{border-top:1px solid var(--line);padding-top:1.6rem;margin-top:2.4rem;scroll-margin-top:90px}
.guide-item h2{margin-top:0}
.guide-item p{color:var(--muted)}
.guide-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 1rem}
.guide-tag{display:inline-block;background:var(--bg-soft);border:1px solid var(--line);color:var(--primary);font-size:.78rem;font-weight:600;padding:.2rem .6rem;border-radius:4px}
.guide-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;margin:1.5rem 0 .5rem}
.guide-intro .guide-toc{margin:0}
.guide-visual{display:flex;align-items:center;justify-content:center;background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:clamp(1rem,2.5vw,1.8rem)}
.seo-svg{width:100%;max-width:440px;height:auto}
.seo-line{stroke-dasharray:3 6;animation:scanDash 3.2s linear infinite}
@media (max-width:760px){
  .guide-intro{grid-template-columns:1fr;gap:1.8rem}
  .guide-visual{display:none}
}

/* --- GEO-Checkliste (interaktiv, nur lokal gespeichert) --- */
.geo-check{border-top:1px solid var(--line);padding-top:1.6rem;margin-top:2.4rem;scroll-margin-top:90px}
.geo-check h2{margin-top:0}
.geo-check > p{color:var(--muted)}
.geo-progress{display:block;height:9px;background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;overflow:hidden;margin:1.3rem 0 .5rem}
.geo-progress-bar{display:block;height:100%;width:0;background:var(--primary);border-radius:999px;transition:width .35s ease}
.geo-count{font-size:.9rem;color:var(--muted);margin:0 0 1.3rem}
#geoDone{color:var(--primary);font-weight:700}
.geo-list{list-style:none;display:flex;flex-direction:column}
.geo-list li{border-bottom:1px solid var(--line)}
.geo-list label{display:flex;align-items:flex-start;gap:.85rem;padding:.9rem .1rem;cursor:pointer}
.geo-list input{position:absolute;opacity:0;width:1px;height:1px}
.geo-box{flex:none;width:24px;height:24px;border:2px solid var(--border);border-radius:6px;background:#fff;color:#fff;display:grid;place-items:center;transition:.15s;margin-top:.1rem}
.geo-box svg{width:15px;height:15px;opacity:0;transition:.15s}
.geo-list input:checked + .geo-box{background:var(--primary);border-color:var(--primary)}
.geo-list input:checked + .geo-box svg{opacity:1}
.geo-list input:focus-visible + .geo-box{box-shadow:0 0 0 3px rgba(30,58,95,.2)}
.geo-text{display:block}
.geo-text strong{display:block;color:var(--text);font-weight:600}
.geo-text small{display:block;color:var(--muted);font-size:.88rem;margin-top:.15rem}
.geo-list input:checked ~ .geo-text strong{color:var(--muted);text-decoration:line-through}
.check-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin:1.6rem 0 .5rem}
.check-actions .btn-primary,.check-actions .btn-secondary{display:inline-flex;align-items:center;gap:.5rem}
.geo-check--page{border-top:0;margin-top:1.5rem;padding-top:0}
/* Checklisten-Seite: Liste links, Fortschrittsring rechts (volle Breite) */
.check-layout{display:grid;grid-template-columns:1fr 280px;gap:clamp(2rem,4vw,3.5rem);align-items:start;margin-top:1.5rem}
.check-aside{position:sticky;top:90px;text-align:center;background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:1.6rem 1.4rem}
.check-ring svg{width:150px;height:150px;display:block;margin:0 auto}
.ring-track{fill:none;stroke:var(--line);stroke-width:10}
.ring-fill{fill:none;stroke:var(--primary);stroke-width:10;stroke-linecap:round;stroke-dasharray:326.726;stroke-dashoffset:326.726;transition:stroke-dashoffset .45s ease}
.ring-pct{fill:var(--primary);font-size:24px;font-weight:700}
.check-aside .geo-count{margin:.9rem 0 .4rem;font-size:.95rem}
.check-note{font-size:.82rem;color:var(--muted);margin:0}
@media (max-width:820px){
  .check-layout{grid-template-columns:1fr}
  .check-aside{display:none}
}

/* --- Admin --- */
.login-form,.pw-wrap{max-width:380px}
.login-form label{display:block;margin:.8rem 0 .3rem;font-weight:600}
.login-form input{width:100%;padding:.8rem .9rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);color:var(--text)}
.pw-wrap{position:relative}
.pw-toggle{position:absolute;right:.5rem;top:.45rem;background:none;border:0;cursor:pointer;font-size:1.1rem}
.login-form .btn-primary{margin-top:1.2rem}
.admin-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.admin-head > div{display:flex;flex-wrap:wrap;gap:.5rem}
.admin-head .btn-secondary{padding:.32rem .7rem;font-size:.8rem;border-radius:6px}
/* Blaue Admin-Buttons (Speichern, Zugangsdaten aendern) genauso klein wie die oben */
.settings-form .btn-primary,.set-group .btn-primary,.btn-save-end{padding:.32rem .7rem;font-size:.8rem;border-radius:6px}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);margin-top:1rem}
table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff}
th,td{padding:.75rem .9rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
th{background:var(--surface2);color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
tr:last-child td{border-bottom:0}
.btn-del{background:none;border:0;color:var(--danger);font-size:1.3rem;cursor:pointer;line-height:1}
.empty{text-align:center;color:var(--muted)}
.admin-stats{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin:1rem 0;color:var(--muted);font-size:.92rem}
.admin-stats strong{color:var(--text);font-size:1.05rem}
.report{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin:1.4rem 0 2rem}
.report-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.4rem}
.report-card h3{margin:0 0 .8rem;font-size:1rem}
.donut-row{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.donut{flex:none}
.donut-num{fill:var(--text);font-size:1.35rem;font-weight:700}
.donut-lbl{fill:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em}
.legend{list-style:none;display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;color:var(--muted)}
.legend li{display:flex;align-items:center;gap:.5rem}
.legend b{color:var(--text)}
.legend small{color:var(--muted)}
.legend .dot{width:12px;height:12px;border-radius:50%;flex:none;display:inline-block}
.report-note{margin:1rem 0 0;font-size:.88rem;color:var(--muted)}
.settings-form{max-width:none;margin-top:1.8rem}
.set-group{border:1px solid var(--line);border-radius:var(--radius);margin:0 0 1rem;background:#fff}
.set-group summary{cursor:pointer;font-weight:700;color:var(--text);padding:.95rem 1.2rem;list-style:none;font-size:.98rem;user-select:none}
.set-group summary::-webkit-details-marker{display:none}
.set-group summary::before{content:"\25B8";color:var(--primary);margin-right:.6rem;display:inline-block;transition:transform .2s}
.set-group[open] summary::before{transform:rotate(90deg)}
.set-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:1.4rem;row-gap:.3rem;padding:0 1.3rem 1.3rem}
.set-field{display:block;margin:.7rem 0 0;font-size:.88rem;font-weight:600;color:var(--text)}
.set-field input,.set-field select{display:block;width:100%;margin-top:.3rem;padding:.6rem .8rem;font-weight:400;background:#fff;border:1px solid var(--border);border-radius:var(--radius);color:var(--text)}
.set-check{grid-column:1/-1;display:flex;align-items:center;gap:.5rem;margin:.9rem 0 .2rem;font-size:.9rem;color:var(--text)}
.set-check input{width:18px;height:18px;accent-color:var(--primary)}
.set-full{grid-column:1/-1}
.set-field textarea{display:block;width:100%;margin-top:.3rem;padding:.6rem .8rem;font-weight:400;font-family:inherit;font-size:.9rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);resize:vertical;line-height:1.5}
.set-hint{display:block;margin-top:.35rem;font-weight:400;font-size:.78rem;color:var(--muted)}
.settings-form .btn-primary{margin-top:.4rem}
@media (max-width:900px){.set-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.set-grid{grid-template-columns:1fr}}
.filter-form{display:flex;align-items:center;gap:.6rem;margin:.5rem 0 0;font-size:.9rem;color:var(--muted)}
.filter-form select{padding:.5rem .7rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text)}
.badge-yes,.badge-no,.badge-wait{display:inline-block;font-size:.75rem;font-weight:700;padding:.15rem .55rem;border-radius:999px}
.badge-yes{background:var(--success-bg);color:var(--success)}
.badge-no{background:var(--danger-bg);color:var(--danger)}
.badge-wait{background:#f0ead8;color:#8a6d1a}
td small{color:var(--muted);font-size:.75rem}
.alert.info{background:#eef2f7;border-color:#d3dce6;color:#2b3a4d}
.mail-meta{margin:.2rem 0;font-size:.9rem;color:var(--muted)}
.mail-body{border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;background:#fff;margin-top:.9rem;overflow-x:auto}
.handbuch{max-width:900px}
.handbuch h2{margin-top:2.2rem;font-size:1.3rem}
.handbuch ul,.handbuch ol{margin:0 0 1.1rem 1.4rem}
.handbuch li{margin-bottom:.3rem}
.handbuch table{margin:1rem 0}
.handbuch .code-box{margin:1rem 0}
.handbuch blockquote{border-left:3px solid var(--primary);background:var(--bg-soft);padding:.85rem 1.1rem;margin:1.2rem 0;border-radius:0 var(--radius) var(--radius) 0;color:var(--text)}

/* --- Footer --- */
footer{border-top:1px solid var(--line);padding:2.5rem 1.2rem}
.footer-inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-direction:column;gap:.7rem;align-items:center;text-align:center;color:var(--muted);font-size:.9rem}
.footer-inner nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.6rem;padding:0}
.footer-inner a{color:var(--muted)}
.footer-inner a:hover{color:var(--primary)}
.footer-inner .made{font-size:.82rem}

/* --- Mobile --- */
@media (max-width:760px){
  main{padding-top:2.5rem}
  .burger{display:flex}
  .nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#fff;max-height:0;overflow:hidden;transition:max-height .3s ease}
  .nav-links.open{max-height:640px;border-bottom:3px solid var(--primary)}
  .nav-links li{width:100%}
  .nav-links a{display:block;padding:1rem;border-bottom:1px solid var(--line)}
  .nav-links a[aria-current="page"]{border-bottom:1px solid var(--line)}
  /* Kontakt im Burger-Menue wie ein normaler Link (kein blauer Button) */
  .nav-links .nav-contact{background:none;color:var(--muted)!important;padding:1rem;border-radius:0;font-weight:500}
  .nav-links .nav-contact:hover{background:var(--bg-soft)}
  /* Wissen-Dropdown im Burger: Unterpunkte immer sichtbar, eingerueckt */
  .nav-dd{width:100%}
  .nav-dd-toggle{width:100%;justify-content:space-between;padding:1rem;font-size:1rem;color:var(--muted);border-bottom:1px solid var(--line)}
  .nav-dd-menu{position:static;transform:none;box-shadow:none;border:0;border-radius:0;padding:0;min-width:0;background:var(--bg-soft)}
  .nav-dd-menu::before{display:none}
  .nav-dd-menu a{padding:.9rem 1rem .9rem 2rem;border-radius:0}
  /* Mobile-First: Formular stapeln, Buttons voll breit, grosse Tap-Ziele */
  .url-form{flex-direction:column;gap:.6rem}
  .url-form input[type=url]{min-width:0;width:100%}
  .url-form .btn-primary,.gate-form .btn-primary,.page.center .btn-primary{width:100%}
  .code-actions .btn-secondary{flex:1;min-width:140px}
  h1{font-size:clamp(1.7rem,7vw,2.2rem)}
}

/* --- Back-to-Top --- */
.back-to-top{position:fixed;right:1.4rem;bottom:1.4rem;width:46px;height:46px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--primary);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(20,40,80,.14);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s;z-index:120}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{background:var(--primary);color:#fff;border-color:var(--primary)}

/* --- Reduced motion --- */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
