@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/inter-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/fraunces-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/fraunces-latin-700-normal.woff2) format('woff2')}
/* HandReich v2 – selbst gehostete Schriften (Inter, Fraunces, SIL OFL), keine externen Ressourcen */
:root{--g:#1F5F3F;--g2:#17482f;--g-50:#eaf3ee;--o:#E8833A;--o-dark:#B85A14;--bg:#F7F5F0;--card:#fff;--ink:#1d2421;--muted:#5a6560;--line:#e2ded4;--r:16px;--sh:0 1px 2px rgba(20,40,30,.06),0 8px 24px rgba(20,40,30,.07);
--font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:400 1.125rem/1.6 var(--font);color:var(--ink);background:var(--bg);text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}a{color:var(--g)}a:hover{color:var(--g2)}
:focus-visible{outline:3px solid var(--o);outline-offset:2px;border-radius:4px}
h1,h2,h3{line-height:1.15;letter-spacing:-.02em;margin:0 0 .5em;font-weight:750}
h1{font-size:clamp(2rem,1.2rem + 3.6vw,3.4rem)}h2{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.2rem)}h3,.h3{font-size:1.2rem}
p{margin:0 0 1em}.lead{font-size:1.2rem;color:var(--muted);max-width:40em}.small{font-size:.9rem}.muted{color:var(--muted)}.center{text-align:center}.center.sub{color:var(--muted);margin-top:-.2em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--g);color:#fff;padding:.6em 1em;z-index:9}.skip:focus{left:1em}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}.section{padding:56px 0}.section.alt{background:#fff;border-block:1px solid var(--line)}
/* Header */
.site-header{background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.hdr{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:1.4rem;font-weight:650;letter-spacing:-.02em}.brand b{color:var(--g);font-weight:800}
.brand-light{color:#fff}.brand-light b{color:#bfe3cf}
.menu-btn{display:none;font:inherit;font-weight:600;background:none;border:2px solid var(--line);border-radius:10px;padding:.35em .9em;min-height:44px;color:var(--ink)}
.nav ul{list-style:none;display:flex;align-items:center;gap:4px;margin:0;padding:0}
.nav a,.linklike{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:550;font-size:1rem}
.nav a:hover{background:var(--g-50)}.nav a[aria-current]{color:var(--g);box-shadow:inset 0 -3px 0 var(--o)}
.nav .btn{color:#1d1d1d}.linklike{background:none;border:0;font:inherit;cursor:pointer;color:var(--g);text-decoration:underline}.nav .linklike{text-decoration:none;color:var(--ink);font-weight:550;font-size:1rem}
@media (max-width:960px){.menu-btn{display:inline-flex;align-items:center}.nav{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--sh)}.nav.open{display:block}.nav ul{flex-direction:column;align-items:stretch;padding:8px 16px 16px}.nav a,.nav .linklike{width:100%}.nav .btn{justify-content:center;margin-top:8px}}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:48px;padding:0 22px;border-radius:12px;border:2px solid transparent;font:inherit;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;transition:transform .12s,box-shadow .12s,background .12s}
.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:wait}
.btn-accent{background:var(--o);color:#1d1d1d;box-shadow:0 6px 16px rgba(232,131,58,.32)}.btn-accent:hover{background:#f0904a;color:#1d1d1d}
.btn-primary{background:var(--g);color:#fff}.btn-primary:hover{background:var(--g2);color:#fff}
.btn-ghost{background:transparent;border-color:var(--g);color:var(--g)}.btn-ghost:hover{background:var(--g-50)}
.btn-light{background:#fff;color:var(--g2)}.btn-danger{background:#a4262c;color:#fff}.btn-danger:hover{background:#861d22;color:#fff}
.btn-lg{min-height:56px;padding:0 28px;font-size:1.08rem}.btn-sm{min-height:44px;padding:0 16px;font-size:.95rem}.btn-block{width:100%}
/* Hero */
.hero{background:radial-gradient(1200px 500px at 85% -10%,#d8eadf 0,transparent 60%),linear-gradient(180deg,#fff 0,var(--bg) 100%);padding:56px 0 64px}
.hero-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:48px;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700;color:var(--o-dark);margin-bottom:.8em}
.hero h1{max-width:13em}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 20px}
.trust{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--muted);font-size:.95rem}.trust li::before{content:"✓ ";color:var(--g);font-weight:800}
.hero-card{background:#fff;border-radius:24px;box-shadow:var(--sh);padding:20px;display:grid;gap:12px;transform:rotate(1.2deg)}
.mini-job{border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:grid;gap:4px}.mini-job small{color:var(--muted)}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.hero-card{transform:none}.hero{padding:36px 0 44px}}
.promo{background:var(--g);color:#fff}.promo .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 24px;padding-block:16px}.promo p{margin:0}
/* Grid/Cards */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}@media (max-width:860px){.grid3{grid-template-columns:1fr}}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width:860px){.two{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}.pad{padding:24px}
.cat{display:block;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;text-decoration:none;color:var(--ink);box-shadow:var(--sh);transition:transform .15s,border-color .15s;border-top:5px solid var(--g)}
.cat:hover{transform:translateY(-3px);border-color:var(--g);color:var(--ink)}.cat p{color:var(--muted)}.cat .more{color:var(--g);font-weight:700}
.cat-garten{border-top-color:#4f8f3a}.cat-it{border-top-color:var(--o)}
.soon{color:var(--muted);font-size:.95rem;margin-top:24px}.soon::before{content:"Ausblick · ";font-weight:700;color:var(--o-dark)}
.steps{list-style:none;padding:0;margin:28px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s}
.steps>li{background:var(--bg);border-radius:var(--r);padding:24px}.steps span{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--o);color:#1d1d1d;font-weight:800;margin-bottom:12px}
@media (max-width:860px){.steps{grid-template-columns:1fr}}
.steps-v{grid-template-columns:1fr}.steps-v>li{display:flex;gap:16px;padding:16px;background:var(--bg)}.steps-v span{flex:none}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin:24px 0}
.job{padding:20px}.job h3{margin:.5em 0 .2em}.job h3 a{text-decoration:none;color:var(--ink)}.job h3 a:hover{color:var(--g)}.meta{color:var(--muted);font-size:.95rem}
.tag{display:inline-block;font-size:.8rem;font-weight:700;padding:.2em .7em;border-radius:99px;background:var(--g-50);color:var(--g2)}
.tag-garten{background:#e5f1dd;color:#2f5a1f}.tag-it{background:#fdeadb;color:#8a3f08}
.helper{display:flex;gap:14px;align-items:center;padding:16px;text-decoration:none;color:var(--ink)}.helper small{display:block;color:var(--muted)}
.split{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}@media (max-width:860px){.split{grid-template-columns:1fr}}
.checks ul{list-style:none;padding:24px;margin:0;background:#fff;border-radius:var(--r);box-shadow:var(--sh)}.checks li{padding:8px 0 8px 32px;position:relative}.checks li::before{content:"✓";position:absolute;left:0;top:6px;width:22px;height:22px;border-radius:50%;background:var(--g);color:#fff;font-size:.8rem;display:grid;place-items:center}
/* Avatar & Sterne */
.avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none;display:inline-grid;place-items:center}
.avatar-ph{background:linear-gradient(135deg,var(--g),#2f7d55);color:#fff;font-weight:800}
.avatar.lg{width:120px;height:120px;font-size:2.4rem;border:4px solid #fff;box-shadow:var(--sh)}.avatar.sm{width:44px;height:44px;font-size:.9rem}.avatar.xs{width:36px;height:36px;font-size:.8rem}
.stars{letter-spacing:1px;font-size:1.05em;white-space:nowrap}.stars .on{color:#C9631C}.stars .off{color:#d8d2c5}.stars-num{font-weight:700}
/* Profil */
.profile-head{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;margin-bottom:24px}
.profile-head h1{margin-bottom:.15em}.tags{display:flex;gap:6px;flex-wrap:wrap;margin:0}
.ph-score{text-align:center;padding:16px 24px;background:var(--bg);border-radius:var(--r)}.score{font-size:3rem;font-weight:800;line-height:1;margin:0 0 4px;color:var(--g2)}
@media (max-width:720px){.profile-head{grid-template-columns:1fr;text-align:center;justify-items:center}.tags{justify-content:center}}
.detail-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;align-items:start}@media (max-width:860px){.detail-grid{grid-template-columns:1fr}}
.stack{display:grid;gap:20px}
.review{border-top:1px solid var(--line);padding:16px 0}.review:first-of-type{border-top:0}.review-head{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.verified{color:var(--g);font-weight:700}
.dist{list-style:none;margin:0;padding:0}.dist li{display:grid;grid-template-columns:3em 1fr 2em;gap:8px;align-items:center;font-size:.9rem}
progress{width:100%;height:10px;appearance:none;border:0;border-radius:99px;background:var(--line);overflow:hidden}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--o)}progress::-moz-progress-bar{background:var(--o)}
.note{background:var(--g-50);border:1px solid #cfe3d7;border-left:5px solid var(--g);border-radius:12px;padding:18px 20px;font-size:.95rem}.note h3{font-size:1.05rem;margin-bottom:.4em}.note p{margin:0}
.report{font-size:.88rem;color:var(--muted)}
/* Auftrag */
.job-head{display:flex;gap:10px;align-items:center;justify-content:space-between}
.status{font-size:.8rem;font-weight:700;padding:.2em .7em;border-radius:99px;border:1px solid var(--line)}.status-offen{color:var(--g2);background:#eaf3ee}.status-vergeben{color:#8a3f08;background:#fdeadb}.status-erledigt{color:#fff;background:var(--g)}.status-storniert{color:var(--muted)}
.facts{display:flex;flex-wrap:wrap;gap:12px 32px;margin:16px 0 20px;padding:16px 0;border-block:1px solid var(--line)}.facts dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.facts dd{margin:0;font-weight:650}
.person{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);margin-bottom:16px}
.progress{list-style:none;padding:0;margin:0 0 16px}.progress li{padding:6px 0 6px 30px;position:relative;color:var(--muted)}.progress li::before{content:"";position:absolute;left:0;top:9px;width:18px;height:18px;border-radius:50%;border:2px solid var(--line)}.progress li.done{color:var(--ink)}.progress li.done::before{background:var(--g);border-color:var(--g)}
.star-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;border:0;padding:0;margin:0 0 8px}.star-input legend{width:100%;font-weight:650;margin-bottom:4px}
.star-input input{position:absolute;opacity:0;width:1px;height:1px}.star-input label{font-size:2.4rem;line-height:1;color:#d8d2c5;cursor:pointer;padding:2px;margin:0;min-width:44px;text-align:center}
.star-input input:checked~label,.star-input label:hover,.star-input label:hover~label{color:#C9631C}.star-input input:focus-visible+label{outline:3px solid var(--o);border-radius:6px}
/* Formulare */
.form{display:grid;gap:6px}.form label,.form legend{font-weight:650;margin-top:10px}
input,textarea,select{width:100%;font:inherit;font-size:1rem;padding:12px 14px;border:2px solid #cfc9bc;border-radius:10px;background:#fff;color:var(--ink);min-height:48px}
input:focus,textarea:focus,select:focus{border-color:var(--g);outline:3px solid rgba(31,95,63,.18)}
input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:0;accent-color:var(--g);flex:none;margin:2px 0 0}
.check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}
fieldset{border:0;padding:0;margin:0}.form .btn{margin-top:16px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row-plz{grid-template-columns:8em 1fr}@media (max-width:520px){.row2{grid-template-columns:1fr}.row-plz{grid-template-columns:7em 1fr}}
.hp{position:absolute;left:-9999px}
.kat-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width:520px){.kat-pick{grid-template-columns:1fr}}
.kat-opt{margin:0!important}.kat-opt input{position:absolute;opacity:0}.kat-opt span{display:flex;gap:10px;align-items:center;border:2px solid #cfc9bc;border-radius:12px;padding:12px;min-height:56px;cursor:pointer;font-weight:650}
.kat-opt input:checked+span{border-color:var(--g);background:var(--g-50);box-shadow:inset 0 0 0 1px var(--g)}.kat-opt input:focus-visible+span{outline:3px solid var(--o)}
.danger{border-color:#f0c9cb}
.flash{padding:14px 18px;border-radius:12px;margin:20px 0 0;background:var(--g-50);border:1px solid #cfe3d7}.flash ul{margin:0;padding-left:1.2em}.flash-err{background:#fdecec;border-color:#f3c2c4;color:#7a1a1f}.flash-info{background:#eef3fb;border-color:#cdd9ee}.flash-accent{background:#fdf1e7;border-color:#f6cfae}
/* Filter, Preise, FAQ */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.filters a{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border-radius:99px;border:2px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600;background:#fff}.filters a[aria-current]{background:var(--g);border-color:var(--g);color:#fff}
.price .big{font-size:3rem;font-weight:800;color:var(--g2);margin:.1em 0}.price ul{padding-left:1.2em}.featured{border:2px solid var(--o);position:relative}.badge{position:absolute;top:-14px;left:24px;background:var(--o);color:#1d1d1d;font-weight:800;font-size:.8rem;padding:.25em .8em;border-radius:99px;margin:0}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:0 20px}.faq summary{cursor:pointer;font-weight:700;padding:16px 0;min-height:44px;list-style-position:outside}.faq details[open]{padding-bottom:16px}
.legal h1{font-size:2.2rem}.legal h2{font-size:1.25rem;margin-top:1.6em}.ph{background:#fff3c4;padding:0 .3em;border-radius:4px}
.prose{max-width:65ch}
/* Konto/Admin */
.konto-head{display:flex;gap:16px;align-items:center}.konto-head h1{margin:0}
.joblist{list-style:none;padding:0;margin:0 0 16px}.joblist li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.kpis{list-style:none;display:flex;flex-wrap:wrap;gap:12px;padding:0}.kpis li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 18px}.kpis b{font-size:1.4rem;color:var(--g2)}
.admin section{margin-bottom:20px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line);vertical-align:top}
.modform{display:flex;gap:6px}.modform input{min-height:40px;padding:6px 10px;font-size:.9rem}.modrow{display:flex;flex-wrap:wrap;gap:12px}.report-item{border-top:1px solid var(--line);padding:12px 0}
/* Footer */
.site-footer{background:#14352a;color:#d6e6dc;margin-top:40px}.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;padding-block:48px 24px}.site-footer a{color:#fff}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{padding:6px 0}
.copy{border-top:1px solid rgba(255,255,255,.12);padding-block:16px;font-size:.85rem;color:#a9c4b5}
@media (max-width:720px){.foot{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.badge-de{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:6px 14px 6px 10px;font-weight:700;font-size:.9rem;color:var(--g2);box-shadow:var(--sh);margin-bottom:18px}
.hero-card{position:relative}.hero-map{position:absolute;right:-30px;top:-40px;width:170px;opacity:.55;z-index:-1}
@media (max-width:860px){.hero-map{display:none}}
.hero-map{right:auto;left:-70px;top:-50px;width:120px;opacity:1;z-index:1}

/* Karte Startseite */
.map-card{margin-top:28px;padding:8px;overflow:hidden}.de-map{height:360px;border-radius:12px;background:var(--g-50);z-index:0}
.de-map .leaflet-tooltip{font:600 .9rem/1.3 var(--font);color:var(--ink);border-radius:8px}
.map-cities{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
@media (max-width:860px){.de-map{height:260px}}
/* Firmen */
.pill{display:inline-block;font-size:.75rem;font-weight:800;padding:.15em .6em;border-radius:99px;vertical-align:middle;background:var(--g-50);color:var(--g2);border:1px solid var(--line)}
.pill-verified{background:#1F5F3F;color:#fff;border-color:#1F5F3F}
.firma-felder[hidden]{display:none}.impressum-block dl{display:grid;grid-template-columns:max-content 1fr;gap:.2em 1em;margin:0}.impressum-block dt{font-weight:700}

/* ===== Design-Update Okt 2026: warm, einladend, mehr Luft ===== */
:root{--g:#2C6A4D;--g2:#1F5039;--g-50:#EDF5EF;--o:#E9884A;--o-dark:#A4511D;--bg:#FBF7F1;--card:#fff;--ink:#2A2420;--muted:#665A51;--line:#ECE2D6;--r:20px;
--sh:0 1px 2px rgba(60,40,20,.05),0 10px 30px rgba(60,40,20,.08);--sh-lg:0 2px 4px rgba(60,40,20,.06),0 18px 44px rgba(60,40,20,.12);
--font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
--font-head:Fraunces,Georgia,"Times New Roman",serif}
body{font-size:1.0625rem;line-height:1.7;background:var(--bg);font-feature-settings:"cv11","ss01"}
h1,h2,.hero h1,.legal h1{font-family:var(--font-head);font-weight:650;letter-spacing:-.015em;line-height:1.12}
h3,.h3{font-weight:700;letter-spacing:-.01em}
h1{margin-bottom:.45em}h2{margin-bottom:.6em}
.lead{font-size:1.2rem;line-height:1.65}
.section{padding:80px 0}.section.alt{background:#FFFDF9;border-color:var(--line)}
@media (max-width:720px){.section{padding:56px 0}.wrap{padding:0 18px}}
a{text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--o-dark);outline-offset:3px;border-radius:8px}
/* Header */
.site-header{background:rgba(251,247,241,.9);border-bottom-color:var(--line)}
.hdr{min-height:76px}.brand{font-family:var(--font-head);font-weight:600}.brand b{color:var(--g)}
.nav a,.nav .linklike{border-radius:99px;padding:0 14px;font-weight:500}.nav a:hover{background:#F4EBDF;color:var(--ink)}
.nav a[aria-current]{background:var(--g-50);color:var(--g2);box-shadow:none;font-weight:600}
@media (max-width:960px){.nav{top:76px;background:var(--bg)}}
/* Buttons */
.btn{border-radius:99px;font-weight:600;letter-spacing:.005em;padding:0 24px;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.btn-accent{background:var(--o);color:#24160B;box-shadow:0 8px 20px rgba(233,136,74,.32)}.btn-accent:hover{background:#F19A5F;color:#24160B;box-shadow:0 12px 26px rgba(233,136,74,.4)}
.btn-primary{background:var(--g);box-shadow:0 8px 20px rgba(44,106,77,.22)}.btn-primary:hover{background:var(--g2);box-shadow:0 12px 26px rgba(44,106,77,.3)}
.btn-ghost{border-color:#CDBFAE;color:var(--ink);background:#fff}.btn-ghost:hover{border-color:var(--g);color:var(--g2);background:var(--g-50)}
.btn-light{color:var(--g2)}.btn-light:hover{background:#FFF4EA;color:var(--g2)}
.btn-lg{min-height:58px;padding:0 32px}
/* Hero & Flächen */
.hero{background:radial-gradient(900px 480px at 88% -8%,#FBE3CF 0,transparent 62%),radial-gradient(700px 420px at -5% 110%,#E3EFE5 0,transparent 60%),var(--bg);padding:80px 0 88px}
@media (max-width:720px){.hero{padding:48px 0 56px}}
.eyebrow{color:var(--o-dark);letter-spacing:.1em}
.hero-card{border-radius:28px;box-shadow:var(--sh-lg)}
.promo{background:linear-gradient(90deg,var(--g2),var(--g))}.promo .wrap{padding-block:20px}
.card{border-color:var(--line);box-shadow:var(--sh)}.pad{padding:28px}
@media (max-width:720px){.pad{padding:22px}}
.cards{gap:24px;margin:32px 0}
.job{transition:transform .15s ease,box-shadow .15s ease}.job:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}
.cat{border-radius:24px;padding:32px;border-top-width:6px;box-shadow:var(--sh)}.cat:hover{box-shadow:var(--sh-lg)}
.cat-it{border-top-color:var(--o)}
.tag{background:var(--g-50);color:var(--g2)}.tag-it{background:#FDEBDD;color:#86400F}
.pill{background:#FFF4EA;color:#86400F;border-color:#F5D3B8}.pill-verified{background:var(--g);color:#fff;border-color:var(--g)}
/* Formulare */
.form{gap:8px}
input,textarea,select{border:1.5px solid #D6C9B8;border-radius:14px;background:#fff;transition:border-color .15s,box-shadow .15s}
input:hover,textarea:hover,select:hover{border-color:#BBA992}
input:focus,textarea:focus,select:focus{border-color:var(--g);outline:none;box-shadow:0 0 0 4px rgba(44,106,77,.18)}
input[type=checkbox],input[type=radio]{box-shadow:none}
fieldset{border-radius:16px;border-color:var(--line)}
.flash{border-radius:16px}
/* Filter, FAQ */
.filters{gap:10px;margin:12px 0}.filters a{border-width:1.5px;border-color:#DCCDBB;font-weight:500;transition:background .15s,border-color .15s}
.filters a:hover{border-color:var(--g);background:var(--g-50);color:var(--g2)}.filters a[aria-current]{background:var(--g);border-color:var(--g);color:#fff}
.faq details{border-radius:16px;padding:0 24px;box-shadow:0 1px 2px rgba(60,40,20,.04)}.faq summary{padding:18px 0}.faq details[open]{box-shadow:var(--sh)}
.faq summary:hover{color:var(--g2)}
.legal{line-height:1.75}.legal h2{font-size:1.35rem;margin-top:1.6em}.legal h3{margin-top:1.2em}
/* Footer */
.site-footer{background:#2A2420;color:#EADFD2;margin-top:64px}.site-footer a{color:#fff}.site-footer a:hover{color:#FBD3B4}
.brand-light b{color:#F6B58A}.copy{color:#CDBFAE}
@media (prefers-reduced-motion:reduce){.btn,.job,.cat{transition:none}.btn:hover,.job:hover,.cat:hover{transform:none}}
.faq summary{list-style-position:inside}
#kat-felder[hidden]{display:none}
/* Nachrichten */
.count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5em;height:1.5em;padding:0 .45em;margin-left:.35em;border-radius:99px;background:var(--o);color:#24160B;font-size:.78rem;font-weight:700}
.thread-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.msgs{list-style:none;margin:16px 0;padding:0;display:grid;gap:12px;max-height:60vh;overflow:auto}
.msg{background:#F7F1E8;border-radius:16px 16px 16px 4px;padding:12px 16px;max-width:85%}
.msg-mine{background:var(--g-50);border-radius:16px 16px 4px 16px;margin-left:auto}
.msg-meta{font-size:.85rem;color:var(--muted);margin:0 0 .25em}.msg-body{margin:0;white-space:normal;overflow-wrap:anywhere}.msg .small{margin:.3em 0 0}
.convs{list-style:none;padding:0;margin:24px 0}.convs li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid var(--line)}.convs li:last-child{border-bottom:0}
.convs a{display:grid;text-decoration:none;color:var(--ink)}.convs a:hover strong{color:var(--g2);text-decoration:underline}
.filterform{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 16px}.filterform select,.filterform input{width:auto;min-width:12em;flex:1 1 12em}.filterform .btn{flex:none}
.score{font-size:2.6rem;font-weight:700;margin:0;font-family:var(--font-head)}
.dist-km{font-weight:600;color:var(--g2)}

/* HandReich – vorbereitetes größeres Header-Logo (NICHT live).
   Einbau: Inhalt ans Ende von assets/style.css anhängen, Logo-Datei z. B. logo-hw1.svg
   als assets/logo.svg ablegen, im Header <img src="assets/logo.svg" alt="HandReich" class="brand-logo">
   statt Icon+Text verwenden und style.css?v= hochzählen. */
.hdr{min-height:88px}
.brand{gap:0}
.brand-logo{display:block;height:60px;width:auto}      /* Desktop: ~60 px */
.brand img:not(.brand-logo){width:56px;height:56px}     /* falls nur Icon + Text-Wortmarke */
@media (max-width:640px){
  .hdr{min-height:64px}
  .brand-logo{height:44px}                              /* Mobil: 44 px */
  .brand img:not(.brand-logo){width:40px;height:40px}
  .nav{top:64px}                                        /* Aufklappmenü unter dem höheren Header */
}
.brand-logo-footer{height:48px}
.count-warn{background:#B3261E;color:#fff}.text-err{color:#B3261E}.card-warn{border:2px solid #B3261E}
/* ---- Header-Navigation v12: kein Umbruch, Konto/Admin-Dropdown, früheres Burger-Menü ---- */
.site-header .wrap.hdr{max-width:1360px}
.nav a,.nav .linklike,.nav summary,.nav .btn{white-space:nowrap}
.nav ul{gap:2px}
.nav a,.nav .linklike{padding:0 11px;font-size:.97rem}
.nav-dd{position:relative}
.nav-dd summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:99px;font-weight:500;font-size:.97rem;color:var(--ink)}
.nav-dd summary::-webkit-details-marker{display:none}
.nav-dd summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-left:2px}
.nav-dd[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.nav-dd summary:hover{background:#F4EBDF}.nav-dd summary[aria-current]{background:var(--g-50);color:var(--g2);font-weight:600}
.nav-dd summary:focus-visible{outline:3px solid var(--o);outline-offset:2px}
.nav-dd>ul{display:flex;flex-direction:column;align-items:stretch;gap:2px;position:absolute;right:0;top:calc(100% + 6px);min-width:230px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);z-index:50}
.nav-dd>ul a,.nav-dd>ul .linklike{width:100%;border-radius:10px}.nav-dd>ul form{margin:0}
@media (min-width:1201px) and (max-width:1366px){.nav a,.nav .linklike,.nav-dd summary{padding:0 9px;font-size:.93rem}.nav .btn{padding-inline:14px}}
@media (max-width:1200px){
  .menu-btn{display:inline-flex;align-items:center}
  .nav{display:none;position:absolute;left:0;right:0;top:88px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--sh);z-index:40}
  .nav.open{display:block}.nav ul{flex-direction:column;align-items:stretch;padding:8px 16px 16px}
  .nav a,.nav .linklike,.nav-dd summary{width:100%}.nav .btn{justify-content:center;margin-top:8px}
  .nav-dd>ul{position:static;box-shadow:none;border:0;padding:0 0 0 14px;min-width:0;background:transparent}

}
@media (max-width:640px){.nav{top:64px}}
/* ---- Handwerk (v13) ---- */
.cat-handwerk{border-top-color:#8A5A3B}.tag-handwerk{background:#F1E4D8;color:#6B4A33}
.pre-line{white-space:pre-line}
.gewerk-filter{align-items:center;gap:8px}.gewerk-filter select{min-height:44px;border-radius:10px;border:2px solid var(--line);padding:0 10px;font:inherit;max-width:100%}
.gewerk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin:24px 0}
.gewerk-grid .card h3{margin:0 0 10px;font-size:1.1rem;display:flex;align-items:center;gap:8px}
.gewerk-grid .card h3 .n{font:600 .8rem var(--font-body,inherit);color:var(--muted);background:#F4EBDF;border-radius:99px;padding:2px 8px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.chips a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:99px;background:#fff;border:1.5px solid #E2D3C3;color:var(--ink);text-decoration:none;font-size:.93rem;white-space:nowrap}
.chips a:hover,.chips a:focus-visible{border-color:var(--g);background:var(--g-50);color:var(--g2)}
.chips a .c{font-size:.75rem;font-weight:700;color:#fff;background:var(--g);border-radius:99px;padding:0 6px;min-width:18px;text-align:center}
.hw-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center}.hw-hero img{width:120px;height:120px}
@media (max-width:760px){.hw-hero{grid-template-columns:1fr}}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.grid-kats{grid-template-columns:repeat(4,1fr)}@media (max-width:1100px){.grid-kats{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.grid-kats{grid-template-columns:1fr}}.kat-pick{grid-template-columns:repeat(2,1fr)}@media (max-width:520px){.kat-pick{grid-template-columns:1fr}}
.brand{flex-shrink:0}.brand-logo{max-width:none}@media (min-width:1201px) and (max-width:1366px){.nav a,.nav .linklike,.nav-dd summary{padding:0 7px;font-size:.92rem}.nav .btn{padding-inline:12px}.site-header .wrap.hdr{padding-inline:16px}}
@media (min-width:1201px) and (max-width:1279px){.brand-logo{height:46px}}
/* ---- Kontaktfilter / Plattform-Hinweis (v14) ---- */
.plattform-hinweis{margin:0 0 12px;padding:12px 14px;border-radius:12px;background:#FFF4E5;border:1.5px solid #F0B37E;color:#5A3714;font-size:.95rem}
.plattform-hinweis strong{color:#5A3714}
.pill-warn{background:#FBE3E1;color:#8C1D18;border:1px solid #E7B4AF}
.msg-flag{background:#FFF1F0;border-left:4px solid #B3261E;padding:6px 10px;border-radius:8px}
/* ---- Karte mit Anbietern (v14) ---- */
:root{--k-haushalt:#2C6A4D;--k-garten:#6BA544;--k-it:#E9884A;--k-handwerk:#8A5A3B}
.map-legend{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:flex-start;padding:10px 12px 6px}
.map-legend fieldset{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.map-legend legend{font-weight:700;font-size:.85rem;color:var(--muted);float:left;margin-right:6px}
.map-chk{display:inline-flex!important;align-items:center;gap:6px;margin:0!important;min-height:36px;font-size:.93rem;cursor:pointer;white-space:nowrap}
.map-chk input{width:18px;height:18px;accent-color:var(--g)}
.dot{width:12px;height:12px;border-radius:50%;display:inline-block}
.dot-haushalt{background:var(--k-haushalt)}.dot-garten{background:var(--k-garten)}.dot-it{background:var(--k-it)}.dot-handwerk{background:var(--k-handwerk)}
.shape{width:12px;height:12px;display:inline-block;background:#665A51;border:2px solid #fff;box-shadow:0 0 0 1px #665A51}.shape-freelancer{border-radius:50%}.shape-firma{border-radius:2px}
.map-count{margin:0;flex-basis:100%}.map-note{margin:6px 10px 4px}
.pin{border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);background:#666}
.pin-freelancer{border-radius:50%}.pin-firma{border-radius:3px}
.pin-haushalt{background:var(--k-haushalt)}.pin-garten{background:var(--k-garten)}.pin-it{background:var(--k-it)}.pin-handwerk{background:var(--k-handwerk)}
.pin-multi{box-shadow:0 0 0 2px rgba(42,36,32,.55),0 1px 4px rgba(0,0,0,.35)}
.badge-typ{font-size:.72rem;font-weight:700;border-radius:99px;padding:1px 7px;vertical-align:middle}.badge-firma{background:#E7F0EA;color:#1F5039}.badge-freelancer{background:#FDEBDD;color:#86400F}
.de-map .leaflet-popup-content{font:.9rem/1.45 var(--font,inherit);margin:10px 12px}.de-map .leaflet-popup-content .tag{font-size:.72rem;margin-top:4px;display:inline-block}
.map-details{margin:12px 0 20px}.map-details>summary{cursor:pointer;font-weight:600;color:var(--g);min-height:44px;display:inline-flex;align-items:center}
.map-details .map-card{margin-top:8px}
/* ---- Firmennachweise (v14) ---- */
.pill-pruefung{background:#FFF4E5;color:#7A4A12;border:1px solid #F0C48F}
.pruef-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width:900px){.pruef-grid{grid-template-columns:1fr}}
.facts-2{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px}.facts-2 dt{font-weight:600;color:var(--muted)}.facts-2 dd{margin:0}
.plausi{list-style:none;padding:0;margin:0 0 10px}.plausi li{padding:6px 10px;border-radius:8px;margin-bottom:4px;font-size:.93rem}
.pl-ok{background:#E9F4EC;color:#1F5039}.pl-warn{background:#FFF4E5;color:#7A4A12}.pl-err{background:#FBE3E1;color:#8C1D18}
.doc-prev{margin:0 0 14px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.doc-prev img{display:block;max-width:100%;max-height:520px;margin-top:8px;border-radius:8px;border:1px solid var(--line)}
.pruef-aktionen{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}@media (max-width:700px){.pruef-aktionen{grid-template-columns:1fr}}
.row-active{background:var(--g-50)}.doc-list{padding-left:0;list-style:none}.doc-list li{margin:4px 0}
.nachweis-upload{margin-top:14px;padding:12px;border:1.5px dashed #E2D3C3;border-radius:12px;background:#FFFCF7}
/* ===== Polish v15: Suche, Trustbar, Anbieterkarten, Schritte, Testimonials ===== */
.search-bar{display:flex;align-items:stretch;gap:0;background:#fff;border-radius:18px;box-shadow:var(--sh-lg,0 12px 32px rgba(0,0,0,.12));padding:8px;margin:28px 0 10px;max-width:640px;border:1px solid var(--line)}
.search-bar .sb-field{display:flex;flex-direction:column;justify-content:center;padding:4px 14px;min-width:0}
.search-bar .sb-was{flex:1 1 auto}.search-bar .sb-plz{flex:0 0 120px;border-left:1px solid var(--line)}
.search-bar label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.search-bar input{border:0;padding:4px 0;font-size:1.05rem;background:transparent;min-width:0;width:100%;box-shadow:none}
.search-bar input:focus{box-shadow:none;outline:none}
.search-bar:focus-within{border-color:var(--g);box-shadow:0 0 0 4px rgba(44,106,77,.15),var(--sh-lg,0 12px 32px rgba(0,0,0,.12))}
.search-bar .btn{border-radius:12px;flex:none}
.search-bar-sm{max-width:none;margin:8px 0 20px;gap:8px;padding:6px;flex-wrap:wrap}
.search-bar-sm input,.search-bar-sm select{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:1rem}
.search-bar-sm input[name=q]{flex:1 1 220px}.search-bar-sm input[name=plz]{flex:0 0 110px}.search-bar-sm select{flex:0 0 100px}
.hero-pop{font-size:.92rem;color:var(--muted);margin:0 0 6px}.hero-pop a{display:inline-block;margin:4px 4px 0 0;padding:2px 10px;border-radius:99px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none}.hero-pop a:hover,.hero-pop a:focus-visible{border-color:var(--g);color:var(--g2)}
.hero .cta-row{margin:18px 0 0}
@media (max-width:560px){.search-bar{flex-wrap:wrap;padding:6px}.search-bar .sb-was{flex:1 1 100%}.search-bar .sb-plz{flex:1 1 0;border-left:0;border-top:1px solid var(--line)}.search-bar .btn{flex:1 1 0;margin-top:6px}.hero .cta-row .btn{flex:1 1 100%}}
.trustbar{background:#fff;border-block:1px solid var(--line)}
.trustbar ul{list-style:none;margin:0;padding:18px 0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;text-align:center}
.trustbar li{display:flex;flex-direction:column;gap:2px}.trustbar b{font-size:1.45rem;color:var(--g2);font-family:var(--font-head,inherit)}.trustbar span{font-size:.85rem;color:var(--muted)}
.trustbar li+li{border-left:1px solid var(--line)}
@media (max-width:860px){.trustbar ul{grid-template-columns:repeat(2,1fr);gap:14px 0}.trustbar li+li{border-left:0}.trustbar li:last-child{grid-column:1/-1}}
.cat img{transition:transform .2s}.cat:hover img{transform:scale(1.08) rotate(-3deg)}
.steps-ill>li{position:relative;background:#fff;border:1px solid var(--line);box-shadow:var(--sh);text-align:left}
.steps-ill>li img{display:block;width:64px;height:64px;padding:10px;border-radius:18px;background:var(--g-50);margin-bottom:14px}
.steps-ill>li>span{position:absolute;top:20px;right:20px;margin:0}
@media (min-width:861px){.steps-ill>li:not(:last-child)::after{content:"";position:absolute;right:-18px;top:50px;width:16px;height:2px;background:repeating-linear-gradient(90deg,var(--o) 0 4px,transparent 4px 8px)}}
.pcards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.pcard{display:flex;gap:16px;align-items:flex-start;padding:20px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s,border-color .15s;border:1px solid var(--line)}
.pcard:hover{transform:translateY(-3px);box-shadow:var(--sh-lg,var(--sh));border-color:var(--g);color:var(--ink)}
.avatar.md{width:64px;height:64px;font-size:1.25rem}
.pcard-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.pcard-name{font-size:1.08rem;line-height:1.25}.pcard-meta{font-size:.88rem;color:var(--muted)}.pcard-badges{display:flex;flex-wrap:wrap;gap:4px}
.pcard-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.pcard-tags .tag{font-size:.75rem}
.pill-free{display:inline-block;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:99px;background:#EEF2F7;color:#334155}
.testis{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin:28px 0 0}
.testi{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:12px}
.testi blockquote{margin:0;font-size:1.02rem;line-height:1.55;flex:1}
.testi figcaption{display:flex;gap:10px;align-items:center}.testi figcaption span{display:flex;flex-direction:column}.testi small{color:var(--muted)}
.gw-card{transition:border-color .15s,box-shadow .15s}.gw-card:hover{border-color:#D9C4AE;box-shadow:var(--sh-lg,var(--sh))}
.gewerk-grid .gw-card h3{align-items:center;gap:12px}
.gw-ico{width:48px;height:48px;padding:8px;border-radius:14px;background:#F6EDE3;flex:none}
.gw-card h3 span{display:flex;flex-direction:column}.gw-card h3 small{font:500 .82rem var(--font-body,inherit);color:var(--muted)}.gw-card h3 small b{color:var(--g)}
a:focus-visible,.pcard:focus-visible,.cat:focus-visible{outline:3px solid var(--o-dark);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.pcard,.cat img{transition:none}.pcard:hover{transform:none}}
@media (max-width:560px){.section{padding-block:44px}.pcard{padding:16px}.testi{padding:18px}h1{font-size:2rem}}
/* ================= ROUND 2 – Design-System ================= */
:root{
--g:#2C6A4D;--g2:#1E4D37;--g3:#143726;--g-50:#EEF5F0;--g-100:#DCEBE1;
--o:#E9884A;--o-50:#FDF0E6;--o-dark:#A4511D;--wood:#8A5A3B;--wood-50:#F6EDE3;
--bg:#FBF8F3;--surface:#fff;--ink:#231E1A;--ink2:#4A423B;--muted:#6B6058;--line:#EAE1D5;--line2:#DCCFBF;
--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
--r-sm:10px;--r:18px;--r-lg:26px;--r-xl:34px;
--sh-xs:0 1px 2px rgba(35,30,26,.06);
--sh:0 1px 2px rgba(35,30,26,.05),0 8px 24px -6px rgba(35,30,26,.10);
--sh-lg:0 2px 6px rgba(35,30,26,.06),0 24px 48px -12px rgba(35,30,26,.18);
--ease:cubic-bezier(.2,.7,.2,1);
--fs-h1:clamp(2.1rem,1.4rem + 2.6vw,3.6rem);--fs-h2:clamp(1.6rem,1.2rem + 1.4vw,2.4rem);--fs-h3:1.2rem}
body{font-family:var(--font);color:var(--ink);background:var(--bg);font-size:1.0625rem;-webkit-font-smoothing:antialiased}
h1{font-size:var(--fs-h1);letter-spacing:-.025em;line-height:1.06}
h2{font-size:var(--fs-h2);letter-spacing:-.02em;line-height:1.12}
h3,.h3{font-size:var(--fs-h3)}
.wrap{max-width:1200px;padding-inline:24px}
.section{padding:var(--s9) 0}.section-tight{padding:var(--s8) 0}
.section.alt{background:#fff;border-block:1px solid var(--line)}
.sub{color:var(--muted);max-width:44em;margin-inline:auto;font-size:1.08rem}
.eyebrow{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--o-dark);margin:0 0 8px}
.eyebrow.center{text-align:center}
@media (max-width:720px){.section{padding:var(--s8) 0}.section-tight{padding:var(--s7) 0}.wrap{padding-inline:18px}}
/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,248,243,.82);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid transparent;transition:box-shadow .2s var(--ease),border-color .2s,background .2s}
.site-header.scrolled{background:rgba(255,255,255,.94);border-bottom-color:var(--line);box-shadow:0 6px 24px -12px rgba(35,30,26,.25)}
.nav a{font-size:.95rem;color:var(--ink2)}.nav a:hover{color:var(--ink)}
/* Buttons */
.btn{min-height:46px;font-weight:650;border-radius:12px}
.btn-lg{min-height:56px;border-radius:14px;font-size:1.05rem}
.btn-sm{min-height:38px;border-radius:10px;padding:0 16px}
.nav .btn-accent{border-radius:12px}
.btn-accent{background:linear-gradient(180deg,#F0975C,#E57F3D);color:#241307;box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 8px 20px -6px rgba(229,127,61,.55)}
.btn-accent:hover{background:linear-gradient(180deg,#F3A26C,#E9884A);color:#241307}
.btn-primary{background:linear-gradient(180deg,#33785A,#2A6549);box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 8px 20px -6px rgba(44,106,77,.5)}
.btn-ghost{background:#fff;border:1.5px solid var(--line2)}
/* Hero */
.hero2{position:relative;overflow:hidden;padding:72px 0 88px;background:radial-gradient(800px 520px at 100% 0,#FCE6D3 0,transparent 60%),radial-gradient(700px 500px at 0 100%,#E4F0E7 0,transparent 60%),var(--bg)}
.hero2 .hero-grid{grid-template-columns:1.05fr 1fr;gap:56px}
.hero2 h1{max-width:12.5em;margin:14px 0 18px}.hero2 h1 em{font-style:normal;color:var(--g);display:block}
.hero2 .lead{color:var(--ink2);max-width:34em;font-size:1.18rem}
.eyebrow-pill{display:inline-flex;align-items:center;gap:8px;margin:0;padding:6px 14px 6px 10px;border-radius:99px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-xs);font-size:.85rem;font-weight:600;color:var(--g2)}
.hero2 .search-bar{max-width:620px;margin:28px 0 12px;border-radius:20px;padding:10px}
.hero2 .search-bar .btn{min-width:130px}
.hero-checks{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.92rem;color:var(--ink2);font-weight:500}
.hero-checks li{display:flex;align-items:center;gap:8px}
.hero-checks li::before{content:"";width:20px;height:20px;border-radius:50%;flex:none;background:var(--g) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.hero-art{position:relative;margin:0}
.hero-art img{display:block;width:100%;height:auto;border-radius:var(--r-xl);box-shadow:var(--sh-lg);aspect-ratio:4/3;object-fit:cover}
.hero-art::before{content:"";position:absolute;inset:-18px 18px 18px -18px;border-radius:var(--r-xl);background:var(--g-100);z-index:-1;transform:rotate(-2.5deg)}
.float-badge{position:absolute;display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:12px 16px;box-shadow:var(--sh-lg);border:1px solid var(--line)}
.float-badge span{display:flex;flex-direction:column;line-height:1.25}.float-badge b{font-size:.98rem}.float-badge small{color:var(--muted);font-size:.8rem}
.fb-rating{left:-28px;bottom:36px}.fb-check{right:-18px;top:28px}
.fb-star{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--o-50);color:#D46A22;font-size:1.3rem}
.fb-check img{width:40px;height:40px;padding:6px;border-radius:12px;background:var(--g-50)}
@media (prefers-reduced-motion:no-preference){.float-badge{animation:floaty 6s ease-in-out infinite}.fb-check{animation-delay:-3s}}
@keyframes floaty{50%{transform:translateY(-6px)}}
@media (max-width:960px){.hero2 .hero-grid{grid-template-columns:1fr;gap:40px}.hero-art{max-width:640px}.fb-rating{left:12px;bottom:-18px}.fb-check{right:12px;top:-18px}}
@media (max-width:560px){.hero2{padding:36px 0 64px}.hero2 .lead{font-size:1.05rem}.float-badge{padding:8px 12px}.float-badge small{display:none}.hero-art::before{inset:-10px 10px 10px -10px}.hero-checks{font-size:.88rem}}
/* Trustbar */
.trustbar{background:#fff}.trustbar b{font-family:var(--font);font-weight:800;letter-spacing:-.02em;font-size:1.6rem;color:var(--ink)}
/* Kategorien */
.grid-kats{gap:20px}
.cat{position:relative;border:1px solid var(--line);border-top:0;border-radius:var(--r-lg);padding:28px 26px 26px;background:#fff;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}
.cat::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:var(--k,var(--g))}
.cat img{width:76px;height:76px;padding:14px;border-radius:22px;background:var(--kb,var(--g-50));margin-bottom:6px}
.cat h3{font-size:1.3rem;margin:.5em 0 .3em}
.cat:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);border-color:var(--line2)}
.cat .more{display:inline-flex;gap:6px;align-items:center;margin-top:6px}
.cat-haushalt{--k:var(--k-haushalt);--kb:#E8F2EC}.cat-garten{--k:var(--k-garten);--kb:#EEF6E6}.cat-it{--k:var(--k-it);--kb:#FDEEE2}.cat-handwerk{--k:var(--k-handwerk);--kb:var(--wood-50)}
@media (min-width:1000px){.grid-kats{grid-template-columns:repeat(4,1fr)}}
/* Karussell */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.sec-head h2{margin:0}
.car-nav{display:flex;gap:8px;align-items:center}
.car-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line2);background:#fff;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--ink);transition:background .15s,border-color .15s}
.car-btn:hover{border-color:var(--g);background:var(--g-50)}
.carousel{list-style:none;margin:0;padding:6px 2px 18px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:2px;scrollbar-width:thin}
@media (min-width:1000px){.carousel{grid-auto-columns:calc((100% - 5*16px)/6)}}
.carousel li{scroll-snap-align:start}
.gw-tile{position:relative;display:flex;flex-direction:column;gap:4px;height:100%;padding:20px;border-radius:var(--r);background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);box-shadow:var(--sh-xs);transition:transform .2s var(--ease),box-shadow .2s,border-color .2s}
.gw-tile img{width:56px;height:56px;padding:10px;border-radius:16px;background:var(--wood-50);margin-bottom:10px}
.gw-tile strong{font-size:1.05rem}.gw-tile small{color:var(--muted);font-size:.85rem}
.gw-tile .go{position:absolute;top:18px;right:18px;color:var(--g);opacity:0;transform:translateX(-4px);transition:.2s}
.gw-tile:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:var(--line2);color:var(--ink)}.gw-tile:hover .go{opacity:1;transform:none}
@media (max-width:560px){.car-btn{display:none}.carousel{grid-auto-columns:62%}}
/* Vertrauen */
.trust2{background:linear-gradient(180deg,var(--g3),var(--g2));color:#E6F0EA}
.trust2 h2{color:#fff}.trust2 .sub{color:#C5D9CC}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
.trust-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:28px 24px}
.trust-item img{width:60px;height:60px;padding:10px;border-radius:18px;background:#F7F1E8}
.trust-item h3{color:#fff;margin:18px 0 8px}.trust-item p{margin:0;font-size:.97rem;color:#CFE0D5;line-height:1.6}
@media (max-width:1000px){.trust-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.trust-grid{grid-template-columns:1fr}}
/* Karten */
.card{border-radius:var(--r);border:1px solid var(--line);box-shadow:var(--sh-xs)}
.job{border-radius:var(--r);transition:transform .2s var(--ease),box-shadow .2s,border-color .2s}.job:hover{border-color:var(--line2)}
.pcard{border-radius:var(--r);box-shadow:var(--sh-xs)}
.avatar-ph{background:linear-gradient(135deg,#2C6A4D,#4C8C6A);letter-spacing:.02em}
.testi{border-radius:var(--r-lg);position:relative;padding:28px}
.testi::before{content:"“";position:absolute;top:6px;right:22px;font:700 4.5rem/1 var(--font-head);color:var(--o-50)}
.test-note{font-size:.78rem;color:var(--muted);opacity:.85;margin-top:16px}
.steps-ill>li{border-radius:var(--r-lg)}
/* Innenseiten: Kopfband */
body:not(.p-index) main{background:linear-gradient(180deg,#F4ECE1 0,var(--bg) 300px) no-repeat}
main>.wrap.section:first-child>h1:first-child,main>.wrap.section>h1:first-of-type{margin-top:0}
.result-count{color:var(--muted);font-weight:600;margin:20px 0 -8px}
.filters a{border-radius:10px;min-height:40px;display:inline-flex;align-items:center;background:#fff}
.search-bar-sm{background:#fff;border-radius:16px;box-shadow:var(--sh)}
.p-auftraege .cards,.p-anbieter .cards{margin-top:24px}
.map-details{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 18px;margin:20px 0}.map-details summary{cursor:pointer;font-weight:650;color:var(--g2)}
/* Profil / Auftrag */
.profile-head{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh);padding:32px}
.profile-head .avatar.lg{box-shadow:0 0 0 6px var(--g-50)}
.job-detail .job-head{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 32px;box-shadow:var(--sh);margin-bottom:24px}
.job-detail .job-head h1{font-size:clamp(1.7rem,1.3rem + 1.4vw,2.5rem)}
.detail-grid aside .card,.detail-grid>div>.card{margin-bottom:20px}
.facts{border-radius:var(--r)}
/* Login / Registrierung */
.p-login .narrow,.p-registrieren .narrow{max-width:620px}
.p-login h1,.p-registrieren h1{text-align:center}
.p-login .form.card,.p-registrieren .form.card{border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:36px}
.p-login main>.wrap::before,.p-registrieren main>.wrap::before{content:"";display:block;width:64px;height:64px;margin:0 auto 18px;border-radius:20px;background:#fff url(logo-icon.svg) center/44px no-repeat;box-shadow:var(--sh)}
@media (max-width:560px){.p-login .form.card,.p-registrieren .form.card{padding:22px}}
/* Mein Konto */
.konto-head{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh);padding:24px 28px;margin-bottom:24px}
.p-konto .card h2,.p-konto .card .h3{margin-top:0}
/* Footer */
.site-footer{background:#1D1915;color:#D8CEC2;margin-top:0}
.p-index .site-footer{margin-top:0}
.foot{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-block:64px 32px}
.foot-h{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#A8998A;margin:0 0 14px}
.site-footer ul li{margin-bottom:8px}.site-footer a{text-decoration:none;color:#F2EBE3}.site-footer a:hover{color:#F6B58A;text-decoration:underline}
.foot-trust{display:flex!important;flex-wrap:wrap;gap:8px;margin-top:16px!important}
.foot-trust li{margin:0!important;padding:4px 10px;border-radius:99px;border:1px solid rgba(255,255,255,.15);font-size:.8rem;color:#E9DFD3}
.copy{border-top:1px solid rgba(255,255,255,.1);color:#A8998A}.copy .test-note{display:inline-block;margin-left:8px;color:#CDBFAE}
@media (max-width:900px){.foot{grid-template-columns:1fr 1fr}.foot>div:first-child{grid-column:1/-1}}
/* Animationen */
@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease) var(--d,0ms),transform .6s var(--ease) var(--d,0ms)}.reveal.in{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.hero2 h1{max-width:none;font-size:clamp(2.1rem,1.3rem + 2.5vw,3.4rem)}
@media (max-width:560px){.eyebrow-pill{font-size:.78rem}}
/* Admin: Rechnungen */
.pill-err{display:inline-block;font-size:.78rem;font-weight:700;padding:2px 9px;border-radius:99px;background:#FDE8E6;color:#9F1D12;border:1px solid #F5C4BE;text-decoration:none}
a.pill-err:hover{background:#FBD5D1;color:#7A140B}
.re-cell{min-width:150px;font-size:.9rem;line-height:1.5}
.re-stats{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.re-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start;margin-bottom:16px}
.re-sum{margin:8px 0 2px;font-size:1.05rem}.re-actions{display:flex;gap:8px;flex-wrap:wrap}
.re-preview{border:1px solid var(--line);border-radius:var(--r-sm,10px);overflow:hidden;background:#F3EFEA}
.re-preview iframe{display:block;width:100%;height:720px;border:0;background:#fff}
.re-preview img{display:block;max-width:100%;height:auto;margin:0 auto}
@media (max-width:720px){.re-preview iframe{height:480px}}
.admin-quick{display:flex;gap:10px;flex-wrap:wrap}
/* Buchhaltung */
.bh-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid var(--line);margin:20px 0 24px}
.bh-tabs a{padding:10px 16px;border-radius:10px 10px 0 0;text-decoration:none;color:var(--ink2);font-weight:600;margin-bottom:-2px;border-bottom:2px solid transparent}
.bh-tabs a:hover{background:var(--g-50);color:var(--g2)}.bh-tabs a[aria-current]{color:var(--g2);border-bottom-color:var(--g);background:#fff}
.bh-tabs .bh-test{margin-left:auto;font-size:.85rem;font-weight:500;color:var(--muted)}.bh-tabs .bh-test.on{color:#9F1D12}
.bh-banner{margin-top:8px}
.bh-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
.bh-kpis .card{display:flex;flex-direction:column;gap:4px}.bh-kpis small{color:var(--muted);font-weight:600}.bh-kpis b{font-size:1.6rem;letter-spacing:-.02em}
@media (max-width:900px){.bh-kpis{grid-template-columns:1fr 1fr}}
.bh-table td,.bh-table th{vertical-align:top}.num{text-align:right;white-space:nowrap}
.bh-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.bh-actions form{margin:0}
.bh-more summary{cursor:pointer;font-size:.85rem;color:#9F1D12}.bh-more .form{min-width:220px;margin-top:6px}
.row-storno td{background:#FFF6F5}.row-warn td{background:#FFF8EC}.row-sum td{font-weight:700;border-top:2px solid var(--line2)}
.bh-sum th{text-align:left;font-weight:500}
.bh-dl{list-style:none;padding:0;display:grid;gap:10px}.bh-dl li{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:.93rem;color:var(--muted)}
.form-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.form-inline label{margin:0}
.checklist{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.checklist li{position:relative;padding-left:30px}.checklist li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:5px;border:2px solid var(--line2);background:#fff}
.checklist li.done{color:var(--muted);text-decoration:line-through}.checklist li.done::before{background:var(--g);border-color:var(--g)}
.pst-entwurf{background:#F1EEE9;color:#5B524A;border-color:#E2DCD3}.pst-freigegeben{background:#E7F0FB;color:#1C4E8A;border-color:#C9DBF3}.pst-versendet{background:#EEE8FB;color:#4B2C8A;border-color:#DACFF3}.pst-bezahlt{background:var(--g);color:#fff;border-color:var(--g)}.pst-storniert{background:#FDE8E6;color:#9F1D12;border-color:#F5C4BE}
.btn-danger{background:#B3261E;color:#fff}.btn-danger:hover{background:#8E1D17;color:#fff}
.bh-settings h2{margin-top:24px}.bh-settings h2:first-of-type{margin-top:0}
/* Rechnungsadresse */
.adr-felder{margin:8px 0 4px}.adr-hinweis{background:var(--g-50);border-radius:12px;padding:10px 14px;margin:0 0 10px;color:var(--ink2)}
.row-str{grid-template-columns:1fr 130px}
@media (max-width:560px){.row-str{grid-template-columns:1fr 110px}}
.adr-banner{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.adr-banner .btn{margin-left:auto}
.bh-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px 28px}
.bh-steuer{margin-bottom:24px}.bh-steuer h3,.bh-cols h3{margin:0 0 8px}
.bh-line{margin:0 0 12px}
.bilanz{display:grid;grid-template-columns:1fr;gap:8px}
.neu-alle{margin:0 0 12px}.neu-table tr.neu-heute td{background:#fdf1e7}.neu-badge{display:inline-block;padding:1px 8px;border-radius:99px;background:var(--o);color:#24160B;font-size:.75rem;font-weight:700}
.pager{display:flex;gap:12px;justify-content:center;margin:24px 0}
.re-mobile-hint{display:none}.re-open{margin-top:6px}
@media (max-width:720px){.erl-table .m-hide{display:none}.erl-table td,.erl-table th{white-space:normal}.re-preview iframe{display:none}.re-mobile-hint{display:block}.re-preview:has(iframe){display:none}}
/* Mobile-Audit: Grid-Spalten dürfen schrumpfen, Formularfelder/Tabellen sprengen die Seite nicht */
.stack>*,.two>*,.detail-grid>*,.row2>*,.split>*,.hero-grid>*,.pruef-grid>*,.bh-cols>*,.grid3>*,.form>*{min-width:0}
input,select,textarea{max-width:100%}
.card,.prose,dd,.legal{overflow-wrap:break-word}
@media (max-width:720px){.bh-table th,.bh-table td{white-space:normal}.card>table,.card .bh-table{display:block;overflow-x:auto}}
body{overflow-x:clip}
.table-wrap{position:relative}
.bh-bereit-fuss{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:12px 0 0}.bh-bereit-t td:first-child{width:2em}
@media (max-width:720px){.card .bh-bereit-t,.bh-bereit-t tbody,.bh-bereit-t tr,.bh-bereit-t td{display:block}.bh-bereit-t thead{display:none}
.bh-bereit-t tr{position:relative;padding:12px 0 12px 34px;border-bottom:1px solid var(--line)}.bh-bereit-t td{border:0;padding:2px 0;text-align:left;white-space:normal}
.bh-bereit-t td:first-child{position:absolute;left:0;top:14px;width:auto}.bh-bereit-t td.num{display:inline-block;margin-right:14px}
.bh-bereit-t td[data-label]::before{content:attr(data-label) ": ";color:var(--muted);font-size:.85em}.bh-bereit-t .btn{margin-top:6px}}
.team-hinweis{border-top:1px solid var(--line);padding:12px 0}.team-hinweis:first-of-type{border-top:0}.team-hinweis.neu{border-left:4px solid var(--o);padding-left:12px}
.re-anf{margin:6px 0}.re-anf-d summary{display:inline-flex;cursor:pointer;list-style:none}.re-anf-d summary::-webkit-details-marker{display:none}.re-anf-d[open] summary{margin-bottom:10px}.re-anf-d textarea{width:100%;font:inherit}
.rf-liste>li{border-bottom:1px solid var(--line);padding:12px 0;list-style:none}.rf-liste{margin:0;padding:0}
.plain-fs{border:0;padding:0;margin:0;min-width:0}.konto-typ .check span .small{font-weight:400}
.app-btn{display:inline-flex;align-items:center;gap:8px}.app-btn img{flex:none}
.app-page{padding:24px 0}.app-hero{display:flex;gap:20px;align-items:flex-start}.app-logo{flex:none;width:96px;height:96px}
.app-info{margin-top:20px}.app-steps{padding-left:20px}.app-steps li{margin:6px 0}code.break{word-break:break-all}.hero-app{margin:10px 0}
@media (max-width:600px){.app-hero{flex-direction:column;align-items:center;text-align:center}.app-hero .btn-lg{width:100%;justify-content:center}}
.grid2{display:grid;gap:20px;grid-template-columns:1fr 1fr}.grid2>*{min-width:0}@media (max-width:760px){.grid2{grid-template-columns:1fr}}
.btn-ghost-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);margin-top:12px}.btn-ghost-light:hover{background:rgba(255,255,255,.1);color:#fff}
.ga-verlauf{list-style:none;margin:0 0 10px;padding:0}.ga-item{border-left:3px solid var(--line);padding:4px 0 4px 10px;margin:6px 0}.ga-item.ga-mein{border-left-color:var(--o)}.ga-item p{margin:2px 0}
.ga-aktionen{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.ga-form{margin:8px 0}.ga-form summary{display:inline-flex;cursor:pointer;list-style:none}.ga-form summary::-webkit-details-marker{display:none}.ga-form[open] summary{margin-bottom:8px}.ga-wer{margin-top:14px}.ga-preis{margin-top:10px}
.inline-form{display:inline}
.joblist li{flex-wrap:wrap;align-items:center}.joblist li>a{min-width:0;overflow-wrap:anywhere}
.pw-link{width:100%;font-family:monospace;font-size:.85rem}
/* Profil mobil: lange Namen/E-Mails dürfen das Layout nicht sprengen */
.profile-head>*{min-width:0}.profile-head h1,.ph-main,.person strong,.review strong{overflow-wrap:anywhere}
@media (max-width:720px){.profile-head{grid-template-columns:minmax(0,1fr);gap:16px;padding:20px 16px;width:100%}.ph-score{width:100%;max-width:320px;box-sizing:border-box}}
.nowrap{white-space:nowrap}
.muster-box{border:2px dashed #c0392b}.muster-alle{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}
/* Buchhaltung neu: Kennzahlen + Kacheln */
.bh-kpis-top{margin-top:16px}.bh-kpis-top a.card{text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}.bh-kpis-top a.card:hover{border-color:var(--g);transform:translateY(-1px)}
.bh-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 12px}
.bh-tiles a{display:flex;flex-direction:column;gap:2px;min-height:64px;padding:12px 14px;border:2px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:var(--ink)}
.bh-tiles a strong{font-size:1rem}.bh-tiles a small{color:var(--muted);font-size:.8rem}
.bh-tiles a:hover{border-color:var(--g);background:var(--g-50)}.bh-tiles a[aria-current]{background:var(--g);border-color:var(--g);color:#fff}.bh-tiles a[aria-current] small{color:#e6f2ea}
.bh-modus{margin:0 0 20px;text-align:right}
.bh-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.bh-filter input,.bh-filter select{min-height:44px;width:auto;flex:1 1 140px}.bh-filter .btn{min-height:44px}
.bh-sum td{border-top:2px solid var(--line)}
.bh-back{margin:0 0 12px}
@media (max-width:900px){.bh-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.bh-tiles{grid-template-columns:1fr 1fr}.bh-kpis{grid-template-columns:1fr 1fr;gap:10px}.bh-kpis b{font-size:1.2rem}.bh-modus{text-align:left}.bh-filter input,.bh-filter select,.bh-filter .btn{flex:1 1 100%}}
.tu-leiste{background:#FFF4D6;color:#7A5A00;font-size:.78rem;text-align:center;padding:3px 8px;border-bottom:1px solid #F0DFA8}.tu-hinweis{background:#FFF4D6;border:1px solid #F0DFA8;border-radius:10px;padding:8px 12px;color:#5c4400}
.push-btns{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 14px}.push-btns .btn{min-height:48px;flex:1 1 180px}.push-ev .check{display:flex;gap:8px;align-items:flex-start;margin:6px 0}
.push-btns [hidden]{display:none!important}
.push-prompt{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;background:rgba(20,30,25,.45);padding:16px}
.push-prompt[hidden]{display:none}
.push-prompt-in{background:#fff;border-radius:18px;max-width:420px;width:100%;padding:22px 20px;text-align:center;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.push-prompt-in img{display:block;margin:0 auto 8px}.push-prompt-in h2{margin:0 0 6px}
.push-prompt-btns{display:flex;gap:10px;margin-top:14px}.push-prompt-btns .btn{flex:1;min-height:48px}
@media (min-width:700px){.push-prompt{align-items:center}}
.push-blockiert ol{margin:6px 0 12px;padding-left:20px}
/* Header: sichtbarer Anmelden-/Konto-Button neben „Menü“ */
.hdr-cta{order:3;display:inline-flex;align-items:center;min-height:44px;padding:.35em 1em;border-radius:10px;background:var(--g);color:#fff;font-weight:600;text-decoration:none;white-space:nowrap;margin-left:auto}
.hdr-cta:hover,.hdr-cta[aria-current]{background:var(--g2);color:#fff}
.hdr-konto{background:#fff;color:var(--g2);border:2px solid var(--g)}
.hdr-konto:hover{background:var(--g-50);color:var(--g2)}
.hdr .nav{order:2}.hdr .menu-btn{order:4;margin-left:8px}
.nav .nav-login{display:none}
@media (min-width:961px){.hdr-konto{display:none}.hdr-cta{margin-left:12px}}
@media (max-width:480px){.hdr{gap:8px}.brand-logo{max-width:140px;height:auto}.hdr-cta{padding:.35em .7em}.hdr .menu-btn{margin-left:0;padding:.35em .7em}}

/* Abmelden: mobil unten im Menü, auf dem Desktop im Konto-Dropdown */
.nav-logout{display:none}.logout-btn{gap:10px}.ico-logout{flex-shrink:0}
@media (max-width:1200px){.nav-logout{display:block;margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}.nav .nav-logout .linklike{color:#9b2c1c;font-weight:600}}
.konto-logout{margin:24px 0 8px;display:flex;justify-content:center}.konto-logout .btn{min-width:220px;justify-content:center;display:inline-flex;align-items:center}

/* Fortschritt: eigener offener Schritt als Tap-Ziel; „Jetzt bewerten“-Hinweis */
.progress li.progress-tap{padding:0}.progress li.progress-tap form{margin:0}
.progress-btn{display:block;width:100%;text-align:left;min-height:44px;padding:6px 0 6px 30px;position:relative;background:none;border:0;font:inherit;color:var(--g2,#1f5c3f);font-weight:600;cursor:pointer}
.progress-btn::before{content:"";position:absolute;left:0;top:12px;width:18px;height:18px;border-radius:50%;border:2px dashed var(--o,#e07a2e);box-sizing:border-box}
.progress-btn:focus-visible{outline:3px solid var(--o,#e07a2e);outline-offset:2px;border-radius:8px}
.card-cta{border:2px solid var(--o,#e07a2e)}
/* Formulare: Pflichtfelder, Feldfehler, Hilfetexte, große Touch-Ziele */
.form label.pflicht::after,.form legend.pflicht::after{content:" *";color:#b3261e}
.form .hilfe{font-size:.88rem;color:#5b6470;margin:.2rem 0 .6rem;line-height:1.35}
.form .feld-fehler{color:#b3261e;font-size:.92rem;font-weight:600;margin:.25rem 0 .6rem}
.form .feld-fehler::before{content:"⚠ "}
.form [aria-invalid=true]{border-color:#b3261e!important;box-shadow:0 0 0 2px rgba(179,38,30,.18)}
.form input:not([type=checkbox]):not([type=radio]):not([type=file]),.form select,.form textarea{min-height:48px;font-size:16px}
.form input[type=file]{min-height:44px;padding:.4rem 0}
.form .check{min-height:44px;align-items:center}
.form .check input[type=checkbox],.form .check input[type=radio]{width:22px;height:22px;flex:0 0 22px}
.form .btn{min-height:48px}
.form fieldset.abschnitt{border:1px solid #e3e6ea;border-radius:12px;padding:.9rem 1rem 1rem;margin:0 0 1.1rem}
.form fieldset.abschnitt>legend{font-weight:700;font-size:1.05rem;padding:0 .35rem}
.fehler-box a{color:inherit;text-decoration:underline}
.fehler-box:focus{outline:2px solid #b3261e;outline-offset:2px}
@media (max-width:480px){.form fieldset.abschnitt{padding:.7rem .7rem .8rem}}
.form .einsatzgebiet{background:#fff7ec;border:2px solid #f0a64a;border-radius:12px;padding:.8rem 1rem;margin:.6rem 0 1rem}
.form .einsatzgebiet label{font-weight:700;font-size:1.05rem}
/* Sterne-Bewertung: groß, antippbar, gefüllt bis zur Auswahl */
.star-input{flex-wrap:wrap}
.star-input label{font-size:2.75rem;min-width:52px;min-height:52px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:color .12s,transform .12s}
.star-input label:active{transform:scale(1.15)}
.star-input .feld-fehler{display:none}
.form fieldset.star-input+.feld-fehler{margin-top:0}
/* Passwort-Gate Testumgebung */
.gate-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f6f1e7;padding:16px}
.gate{width:100%;max-width:420px;text-align:center}
.gate-logo{height:56px;width:auto;margin:0 auto 18px;display:block}
.gate-karte{text-align:left}
.gate-badge{display:inline-block;background:#fff1de;color:#a24d10;border:1px solid #f0a64a;border-radius:999px;padding:4px 12px;font-weight:700;font-size:.85rem;margin:0 0 8px}
.gate .btn-block{width:100%;margin-top:12px}
.gate-fuss{margin:12px 0 0}
/* Kontakt: Bereichswahl */
.kontakt-wahl{display:grid;gap:10px;margin:0 0 16px}
@media (min-width:720px){.kontakt-wahl{grid-template-columns:repeat(3,1fr)}}
.kontakt-opt{display:flex;flex-direction:column;gap:2px;min-height:56px;padding:12px 14px;border:2px solid #e3dccd;border-radius:12px;background:#fff;color:inherit;text-decoration:none}
.kontakt-opt span{font-size:.88rem;color:#6b6457}
.kontakt-opt.aktiv{border-color:#E07B2E;background:#fff4e8}
.kontakt-opt:focus-visible{outline:3px solid #E07B2E;outline-offset:2px}
