/* ============================================================================
   ks-theme.css — katzenscout.de (Tenant rs)
   Voll-Custom "Karamell & Creme"-Design (Katzenrassen-Verzeichnis). Erbt NICHT
   das Magazin-CSS (.site-weloveurlaub). Alles unter .ks gescoped.
   Fonts lokal (DSGVO): Bricolage Grotesque (Display), Hanken Grotesk (UI/Body),
   Source Serif 4 (Longread). Vorlage: Downloads/katzenscout-design/.../*.dc.html
   ============================================================================ */

/* ---------- Fonts (lokal, self-hosted) ---------- */
@font-face{font-family:'Hanken Grotesk';src:url('/css/fonts/hanken-grotesk-var.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap;}
@font-face{font-family:'Bricolage Grotesque';src:url('/css/fonts/bricolage-grotesque-var.woff2') format('woff2');font-weight:500 800;font-style:normal;font-display:swap;}
@font-face{font-family:'Source Serif 4';src:url('/css/fonts/source-serif-4-var.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap;}

/* ---------- Body / Reset im ks-Wrapper ---------- */
body.ks-page{margin:0;background:#f6f3f8;color:#2b2531;font-family:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.ks *{box-sizing:border-box;}
.ks img{max-width:100%;display:block;}

/* ---------- Tokens ---------- */
.ks{
  --ks-bg:#f6f3f8; --ks-surface:#fffdff; --ks-card:#FFFFFF;
  --ks-ink:#2b2531; --ks-ink-soft:#615a68; --ks-muted:#6e6678; --ks-faint:#6e6678;
  --ks-deco:#938b9e;
  --ks-brand:#4c3a57; --ks-brand-2:#5f4a6e;
  --ks-cta:#2f9c8c; --ks-cta-hover:#27897a; --ks-cta-bright:#2f9c8c;
  --ks-amber:#e0b24e; --ks-amber-ink:#29242f;
  --ks-border:#e7deec; --ks-border-2:#dacce0; --ks-line:#e7deec;
  --ks-tag-bg:#ede6f2; --ks-tag-ink:#6e5294; --ks-chip-bg:#efeaf3;
  --ks-ok:#3e8c6a; --ks-no:#c95b47;
  --ks-footer-bg:#2b2531; --ks-footer-ink:#c0b4cc; --ks-footer-soft:#938b9e;
  --ks-radius:16px; --ks-radius-sm:12px; --ks-radius-lg:20px; --ks-radius-pill:30px;
  --ks-shadow:0 2px 10px rgba(50,40,30,.05); --ks-shadow-lg:0 10px 28px rgba(50,40,30,.14);
  --ks-grad-dark:linear-gradient(120deg,#4c3a57,#5f4a6e);
  --ks-maxw:1180px;
  --ks-display:'Bricolage Grotesque',system-ui,sans-serif;
  --ks-serif:'Source Serif 4',Georgia,serif;
  color:var(--ks-ink);
}

/* ---------- Skip-Link (in cmp.css base versteckt, hier ks-Farben) ---------- */
.ks-page .skip-link{background:#e0b24e;color:#2b2531;font-weight:800;border-radius:0 0 8px 0;}

/* ---------- Sticky Footer (Footer bleibt unten, auch bei wenig Content) ----------
   WICHTIG: Der Body wird (von cmp/base) als display:grid gesetzt — dann schrumpft
   ein flex-.ks als Grid-Item auf Content-Breite (linksbündig/schmal). Daher Body
   für rs auf block, damit .ks die volle Breite füllt. */
body.ks-page{display:block;}
.ks{display:flex;flex-direction:column;min-height:100vh;width:100%;}
.ks > main,.ks main#main{flex:1 0 auto;}
.ks > .ks-footer{flex-shrink:0;}

/* ---------- Container ---------- */
.ks-wrap{max-width:var(--ks-maxw);margin:0 auto;padding:0 24px;}
.ks-wrap--wide{max-width:1280px;}
.ks-wrap--read{max-width:780px;}

/* ---------- Typo-Helfer ---------- */
.ks h1,.ks h2,.ks h3,.ks h4{font-family:var(--ks-display);color:var(--ks-ink);margin:0;line-height:1.1;letter-spacing:-.01em;}
.ks-kicker{font-family:ui-monospace,'SFMono-Regular',Menlo,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#8c6a1e;margin:0 0 12px;}
/* Strukturelle Links (Karten, Nav, Footer) erben die lokale Textfarbe; nur echte
   Inline-Content-Links werden eingefärbt (.ks-link, .ks-prose a, .ks-longread a). */
.ks a{color:inherit;text-decoration:none;}
.ks-link{color:var(--ks-cta);font-weight:700;text-decoration:none;}
.ks-link:hover{text-decoration:underline;}
.ks-longread a{color:#1f7d70;text-decoration:underline;text-underline-offset:2px;}

/* ---------- Buttons ---------- */
.ks-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--ks-body,'Hanken Grotesk');font-size:16px;font-weight:700;padding:15px 26px;border-radius:var(--ks-radius-sm);border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,transform .05s,box-shadow .15s;min-height:48px;}
.ks-btn:active{transform:translateY(1px);}
/* .ks prefix erhöht Spezifität über das generische `.ks a {color}` (0,1,1). */
.ks .ks-btn--cta{background:var(--ks-cta);color:#fff;box-shadow:0 6px 16px rgba(192,85,46,.26);}
.ks .ks-btn--cta:hover{background:var(--ks-cta-hover);color:#fff;}
.ks .ks-btn--ghost{background:#fff;color:var(--ks-brand);border-color:var(--ks-border-2);}
.ks .ks-btn--ghost:hover{border-color:var(--ks-brand);}
.ks .ks-btn--amber{background:var(--ks-amber);color:var(--ks-amber-ink);}
.ks .ks-btn--amber:hover{background:#d99a3c;color:var(--ks-amber-ink);}
.ks-btn--block{width:100%;}

/* ---------- Header ---------- */
.ks-header{background:var(--ks-surface);border-bottom:1px solid var(--ks-line);position:sticky;top:0;z-index:40;}
.ks-header__inner{max-width:1280px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.ks-header__left{display:flex;align-items:center;gap:36px;min-width:0;}
.ks-logo{display:flex;align-items:center;gap:8px;font-family:var(--ks-display);font-weight:800;font-size:23px;color:var(--ks-brand);text-decoration:none;white-space:nowrap;}
.ks-logo__dot{width:9px;height:9px;border-radius:50%;background:var(--ks-cta-bright);display:inline-block;margin-bottom:-2px;}
.ks-nav{display:flex;gap:26px;}
.ks-nav a{font-size:15px;font-weight:600;color:#615a68;text-decoration:none;}
.ks-nav a:hover{color:var(--ks-cta);}
.ks-nav a.is-active{color:var(--ks-cta);}
.ks-header__right{display:flex;align-items:center;gap:14px;}
.ks-headersearch{display:flex;align-items:center;gap:8px;width:230px;max-width:36vw;padding:9px 14px;background:var(--ks-chip-bg);border-radius:var(--ks-radius-pill);border:1px solid transparent;}
.ks-headersearch input{border:0;background:transparent;outline:none;font:inherit;font-size:14px;color:var(--ks-ink);width:100%;}
.ks-headersearch input::placeholder{color:#938b9e;}
.ks-headersearch svg{color:#938b9e;flex:none;}
/* Autocomplete-Dropdown */
.ks-headersearch{position:relative;}
.ks-ac{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--ks-border);border-radius:14px;box-shadow:var(--ks-shadow-lg);overflow:hidden;z-index:50;max-height:60vh;overflow-y:auto;}
.ks-ac__item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;text-decoration:none;color:var(--ks-ink);font-size:15px;font-weight:600;border-bottom:1px solid var(--ks-line);}
.ks-ac__item:last-child{border-bottom:0;}
.ks-ac__item:hover,.ks-ac__item.is-active{background:var(--ks-chip-bg);}
.ks-ac__t{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#5f4a6e;flex:none;}
.ks .ks-header__cta{padding:11px 18px;background:var(--ks-cta);color:#fff;border-radius:var(--ks-radius-pill);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;}
.ks .ks-header__cta:hover{background:var(--ks-cta-hover);color:#fff;}
.ks-burger{display:none;background:none;border:0;color:var(--ks-brand);cursor:pointer;padding:6px;}

/* ---------- Mobile-Nav-Sheet ---------- */
.ks-mnav-backdrop{position:fixed;inset:0;background:rgba(46,38,32,.5);opacity:0;visibility:hidden;transition:opacity .2s;z-index:10000;}
.ks-mnav-backdrop.is-open{opacity:1;visibility:visible;}
.ks-mnav{position:fixed;top:0;right:0;bottom:0;width:84%;max-width:340px;background:var(--ks-bg);transform:translateX(100%);transition:transform .25s ease;z-index:10001;padding:18px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;}
.ks-mnav.is-open{transform:none;}
.ks-mnav__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.ks-mnav .ks-headersearch{width:100%;max-width:none;margin-bottom:8px;}
.ks-mnav a{padding:14px 6px;font-size:18px;font-weight:700;color:var(--ks-brand);text-decoration:none;border-bottom:1px solid var(--ks-line);}
.ks-mnav__close{background:none;border:0;color:var(--ks-brand);cursor:pointer;}

/* ---------- Breadcrumb ---------- */
.ks-crumbs{font-family:ui-monospace,monospace;font-size:13px;color:var(--ks-muted);margin:0 0 16px;}
.ks-crumbs a{color:var(--ks-muted);text-decoration:none;}
.ks-crumbs a:hover{color:var(--ks-brand);}
.ks-crumbs__cur{color:var(--ks-brand);}

/* ---------- Sektion-Helfer ---------- */
.ks-section{padding:48px 0 8px;}
.ks-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px;}
.ks-section h2{font-size:30px;font-weight:700;}
.ks-section__more{font-size:15px;font-weight:700;color:var(--ks-cta);text-decoration:none;white-space:nowrap;}

/* ============================ HERO (Home) ============================ */
.ks-hero{padding:56px 0 8px;}
.ks-hero__grid{display:grid;grid-template-columns:1.04fr .96fr;gap:48px;align-items:center;}
.ks-hero__badge{display:inline-block;font-family:ui-monospace,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#5f4a6e;background:#ece5f1;padding:6px 12px;border-radius:var(--ks-radius-pill);margin-bottom:22px;}
.ks-hero h1{font-size:52px;font-weight:700;line-height:1.04;letter-spacing:-.015em;margin:0 0 20px;text-wrap:balance;}
.ks-hero__lead{font-size:18px;line-height:1.6;color:var(--ks-ink-soft);margin:0 0 32px;max-width:480px;}
.ks-hero__cta{display:flex;gap:14px;margin-bottom:26px;flex-wrap:wrap;}
.ks-hero__trust{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ks-muted);}
.ks-hero__stars{color:#c9a24a;font-size:15px;letter-spacing:1px;}
.ks-hero__media{position:relative;}
.ks-hero__img{aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:var(--ks-line);}
.ks-hero__img img{width:100%;height:100%;object-fit:cover;}
.ks-hero__card{position:absolute;left:-22px;bottom:-22px;background:#fff;border-radius:14px;padding:14px 16px;box-shadow:var(--ks-shadow-lg);display:flex;align-items:center;gap:12px;max-width:248px;}
.ks-hero__card-img{width:52px;height:52px;border-radius:10px;flex:none;overflow:hidden;background:var(--ks-line);}
.ks-hero__card-img img{width:100%;height:100%;object-fit:cover;}
.ks-hero__card-label{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.08em;color:#6e5294;text-transform:uppercase;}
.ks-hero__card-name{font-family:var(--ks-display);font-weight:700;font-size:16px;color:var(--ks-ink);}

/* ============================ TEST-TEASER ============================ */
.ks-testteaser{background:var(--ks-grad-dark);border-radius:var(--ks-radius-lg);padding:44px 48px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;color:#efeaf3;margin-top:24px;}
.ks-testteaser__kicker{font-family:ui-monospace,monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#e6c27e;margin-bottom:12px;}
.ks-testteaser h2{font-size:34px;font-weight:700;line-height:1.1;margin:0 0 14px;color:#faf6fc;}
.ks-testteaser p{font-size:16px;line-height:1.55;color:#ddd0e6;margin:0 0 26px;max-width:440px;}
.ks-testteaser__steps{display:flex;flex-direction:column;gap:12px;}
.ks-teststep{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:12px;padding:14px 16px;color:#efeaf3;font-size:15px;}
.ks-teststep span{width:30px;height:30px;border-radius:50%;background:#e0b24e;color:#29242f;font-weight:800;display:grid;place-items:center;font-size:14px;flex:none;}

/* ============================ RASSEN-KARTE ============================ */
.ks-grid{display:grid;gap:22px;}
.ks-grid--3{grid-template-columns:repeat(3,1fr);}
.ks-grid--4{grid-template-columns:repeat(4,1fr);}
.ks-grid--rel{grid-template-columns:repeat(3,minmax(0,1fr));}
.ks-breedcard{background:#fff;border:1px solid var(--ks-border);border-radius:var(--ks-radius);overflow:hidden;box-shadow:var(--ks-shadow);text-decoration:none;color:inherit;display:block;transition:transform .12s,box-shadow .12s;}
.ks-breedcard:hover{transform:translateY(-3px);box-shadow:var(--ks-shadow-lg);}
.ks-breedcard__img{aspect-ratio:4/3;background:var(--ks-line);overflow:hidden;}
.ks-breedcard__img img{width:100%;height:100%;object-fit:cover;}
.ks-breedcard__body{padding:16px 18px 18px;}
.ks-breedcard__name{font-family:var(--ks-display);font-weight:700;font-size:19px;color:var(--ks-ink);margin-bottom:4px;}
.ks-breedcard__char{font-size:14px;color:var(--ks-muted);margin-bottom:14px;line-height:1.45;}
.ks-breedcard__tags{display:flex;flex-wrap:wrap;gap:7px;}
.ks-tag{font-size:12px;font-weight:600;color:var(--ks-tag-ink);background:var(--ks-tag-bg);padding:5px 11px;border-radius:20px;}
.ks-breedcard__scales{display:flex;gap:14px;}
.ks-breedcard__scale-k{font-size:10px;font-family:ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em;color:#6e6678;margin-bottom:3px;}

/* ---------- Dot-Skala ---------- */
.ks-dots{font-size:13px;letter-spacing:1px;line-height:1;}
.ks-dots--lg{font-size:18px;letter-spacing:3px;}
.ks-dots__on{color:var(--ks-cta-bright);}
.ks-dots__off{color:#e2d6ea;}

/* ============================ SCHNELL-EINSTIEGE / FILTER-KACHELN ============================ */
.ks-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.ks-quick a{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--ks-border);border-radius:var(--ks-radius-sm);padding:16px 18px;text-decoration:none;}
.ks-quick a:hover{border-color:var(--ks-border-2);}
.ks-quick__name{font-size:16px;font-weight:700;color:var(--ks-brand);}
.ks-quick__count{font-size:13px;color:var(--ks-muted);font-family:ui-monospace,monospace;}

/* ============================ TOOL-KARTEN ============================ */
.ks-toolcard{background:#f6f1f8;border:1px solid #e7deec;border-radius:var(--ks-radius);padding:22px 20px;text-decoration:none;color:inherit;display:block;transition:transform .12s,box-shadow .12s;}
.ks-toolcard:hover{transform:translateY(-3px);box-shadow:var(--ks-shadow);}
.ks-toolcard__icon{width:46px;height:46px;border-radius:12px;background:#ece5f1;color:#5f4a6e;display:grid;place-items:center;margin-bottom:16px;}
.ks-toolcard__name{font-family:var(--ks-display);font-weight:700;font-size:17px;color:var(--ks-ink);margin-bottom:5px;}
.ks-toolcard__desc{font-size:14px;color:var(--ks-muted);line-height:1.45;}
.ks-toolcard,.ks-toolcard>div{min-width:0;}
.ks-toolcard__soon{display:inline-block;margin-top:10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#5f4a6e;background:#ece5f1;padding:3px 9px;border-radius:20px;}

/* ============================ RATGEBER-KARTEN ============================ */
.ks-guidecard{background:#fff;border:1px solid var(--ks-border);border-radius:var(--ks-radius);overflow:hidden;text-decoration:none;color:inherit;display:block;}
.ks-guidecard:hover{box-shadow:var(--ks-shadow);}
.ks-guidecard__img{aspect-ratio:16/9;background:var(--ks-line);overflow:hidden;}
.ks-guidecard__img img{width:100%;height:100%;object-fit:cover;}
.ks-guidecard__body{padding:18px;}
.ks-guidecard__meta{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5f4a6e;}
.ks-guidecard__title{font-family:var(--ks-display);font-weight:600;font-size:18px;line-height:1.25;color:var(--ks-ink);margin-top:8px;}

/* ============================ DATENBANK-HUB (Filter) ============================ */
.ks-hubintro{padding:26px 0 0;}
.ks-hubintro h1{font-size:38px;font-weight:700;margin:0 0 10px;}
.ks-hubintro p{font-size:16px;line-height:1.6;color:var(--ks-ink-soft);margin:0;max-width:760px;}
.ks-hublayout{display:grid;grid-template-columns:282px 1fr;gap:32px;padding:28px 0 48px;align-items:start;}
.ks-filterpanel{background:#fff;border:1px solid var(--ks-border);border-radius:18px;padding:22px 20px;position:sticky;top:88px;}
.ks-filterpanel__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.ks-filterpanel__head span{font-family:var(--ks-display);font-weight:700;font-size:18px;color:var(--ks-ink);}
.ks-filter-reset{font-size:13px;font-weight:700;color:var(--ks-cta);background:none;border:0;cursor:pointer;padding:0;}
.ks-filtergroup{margin-bottom:22px;}
.ks-filtergroup__label{font-size:13px;font-weight:700;color:var(--ks-brand);margin-bottom:10px;}
.ks-filtergroup[data-group="trait"]{max-height:288px;overflow-y:auto;padding-right:4px;}
/* Eigenschaften-Chips auf der Detailseite */
.ks-traits{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 8px;}
.ks-trait{display:inline-flex;align-items:center;gap:7px;font-family:var(--ks-body,'Hanken Grotesk');font-size:14px;font-weight:600;color:var(--ks-ink);background:#f6f1f8;border:1px solid #e7deec;border-radius:20px;padding:7px 14px;text-decoration:none;}
.ks-trait svg{color:#4f9a7a;flex:none;}
.ks-trait:hover{border-color:var(--ks-cta);color:var(--ks-cta);}
.ks-filtergroup--toggles{border-top:1px solid #efeaf3;padding-top:18px;display:flex;flex-direction:column;gap:13px;}
/* Checkbox-Reihen */
.ks-checkrow{display:flex;align-items:center;gap:10px;font-size:14px;color:#615a68;cursor:pointer;margin-bottom:9px;}
.ks-checkrow input{position:absolute;opacity:0;width:0;height:0;}
.ks-checkbox{width:18px;height:18px;border-radius:5px;border:1.5px solid #d4cdda;display:grid;place-items:center;color:#fff;flex:none;transition:background .12s,border-color .12s;}
.ks-checkrow input:checked + .ks-checkbox{background:var(--ks-cta-bright);border-color:var(--ks-cta-bright);}
.ks-checkrow input:focus-visible + .ks-checkbox{outline:2px solid var(--ks-brand);outline-offset:2px;}
.ks-checkbox svg{opacity:0;width:12px;height:12px;}
.ks-checkrow input:checked + .ks-checkbox svg{opacity:1;}
/* Segmented (Größe/Aktivität) */
.ks-seg{display:flex;gap:8px;}
.ks-seg button{flex:1;text-align:center;font-size:13px;font-weight:600;padding:9px 4px;border-radius:9px;background:var(--ks-tag-bg);color:var(--ks-tag-ink);border:0;cursor:pointer;}
.ks-seg button[aria-pressed="true"]{background:var(--ks-cta-bright);color:#fff;font-weight:700;}
/* Toggle-Switch */
.ks-toggle{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#615a68;font-weight:600;cursor:pointer;}
.ks-toggle input{position:absolute;opacity:0;}
.ks-switch{width:38px;height:22px;border-radius:20px;background:#e2d6ea;position:relative;flex:none;transition:background .15s;}
.ks-switch::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s;}
.ks-toggle input:checked + .ks-switch{background:var(--ks-cta-bright);}
.ks-toggle input:checked + .ks-switch::after{left:18px;}
.ks-toggle input:focus-visible + .ks-switch{outline:2px solid var(--ks-brand);outline-offset:2px;}
/* Ergebnisleiste */
.ks-resultbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:12px;}
.ks-resultbar__chips{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.ks-count{font-family:var(--ks-display);font-weight:700;font-size:18px;color:var(--ks-ink);}
.ks-chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#fff;background:var(--ks-brand);padding:6px 11px;border-radius:20px;border:0;cursor:pointer;}
.ks-chip:hover{background:#2b2531;}
.ks-sort{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ks-ink-soft);background:#fff;border:1px solid var(--ks-border);padding:9px 14px;border-radius:10px;}
.ks-sort select{border:0;background:transparent;font:inherit;font-weight:700;color:var(--ks-brand);cursor:pointer;}
.ks-empty{background:#fff;border:1px solid var(--ks-border);border-radius:var(--ks-radius);padding:40px 24px;text-align:center;color:var(--ks-ink-soft);}
.ks-empty h3{font-size:22px;margin:0 0 8px;}
/* Mobile-Filter-Trigger + Bottom-Sheet */
.ks-filterbar-m{display:none;}
.ks-sheet-backdrop{position:fixed;inset:0;background:rgba(46,38,32,.55);opacity:0;visibility:hidden;transition:opacity .2s;z-index:10000;}
.ks-sheet-backdrop.is-open{opacity:1;visibility:visible;}
.ks-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--ks-bg);border-radius:26px 26px 0 0;padding:14px 20px 24px;box-shadow:0 -12px 40px rgba(0,0,0,.3);z-index:10001;transform:translateY(100%);transition:transform .25s ease;max-height:86vh;overflow-y:auto;}
.ks-sheet.is-open{transform:none;}
.ks-sheet__handle{width:44px;height:5px;border-radius:10px;background:#d4cdda;margin:0 auto 16px;}

/* ============================ FILTER-LANDINGPAGE ============================ */
.ks-topichero{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;padding:40px 0 0;}
.ks-topichero h1{font-size:42px;font-weight:700;letter-spacing:-.01em;margin:0 0 14px;}
.ks-topichero__lead{font-family:var(--ks-serif);font-size:18px;line-height:1.7;color:#524a5a;margin:0;}
.ks-topichero__lead strong{color:var(--ks-brand);}
.ks-topichero__img{aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:var(--ks-line);}
.ks-topichero__img img{width:100%;height:100%;object-fit:cover;}
.ks-seoblock{padding:30px 0 0;max-width:860px;}
.ks-seoblock h2{font-size:24px;font-weight:700;margin:28px 0 12px;}
.ks-seoblock h2:first-child{margin-top:0;}
.ks-seoblock h3{font-family:var(--ks-display);font-size:20px;font-weight:700;color:var(--ks-ink);margin:22px 0 10px;}
.ks-seoblock p{font-family:var(--ks-serif);font-size:18px;line-height:1.7;color:#524a5a;margin:0 0 14px;}
.ks-seoblock ul,.ks-seoblock ol{font-family:var(--ks-serif);font-size:18px;line-height:1.7;color:#524a5a;padding-left:22px;margin:0 0 16px;}
.ks-seoblock li{margin:0 0 7px;}
.ks-seoblock strong{color:var(--ks-ink);}
.ks-seoblock a{color:#1f7d70;text-decoration:underline;text-underline-offset:2px;}
.ks-relatedpills{display:flex;gap:12px;flex-wrap:wrap;padding:24px 0 0;}
.ks-relatedpills a{font-size:14px;font-weight:700;color:var(--ks-brand);background:var(--ks-chip-bg);padding:11px 18px;border-radius:var(--ks-radius-pill);text-decoration:none;}
.ks-relatedpills a:hover{background:#e7deec;}

/* ============================ EINZELRASSE (Detail) ============================ */
/* Hero: feste 16:6-Bühne. Auf breiten Screens bleibt das Rassefoto in seinen
   Proportionen (contain), die Seiten füllt eine unscharfe Cover-Kopie desselben
   Bildes — kein Anschnitt des Hundes. Mobil: cover (Proportion passt). */
.ks-bhero{position:relative;height:340px;overflow:hidden;background:#2b2531;}
.ks-bhero__bg{position:absolute;inset:0;background-image:var(--ks-hero-img);background-size:cover;background-position:center;filter:blur(34px) brightness(.7) saturate(1.1);transform:scale(1.15);}
.ks-bhero__img{position:absolute;inset:0;}
.ks-bhero__img img{width:100%;height:100%;object-fit:contain;object-position:center;}
.ks-bhero__overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(46,38,32,.82) 0%,rgba(46,38,32,.2) 55%,transparent 100%);}
.ks-bhero__inner{position:absolute;left:0;right:0;bottom:30px;color:#fff;}
.ks-bhero__crumbs{font-family:ui-monospace,monospace;font-size:12px;color:#e3d2ea;margin-bottom:10px;}
.ks-bhero__crumbs a{color:#e3d2ea;text-decoration:none;}
.ks-bhero h1{font-size:50px;font-weight:700;letter-spacing:-.015em;margin:0 0 8px;color:#fff;}
.ks-bhero__char{font-size:18px;color:#ece5f1;margin:0;max-width:560px;}
/* Steckbrief-Karten */
.ks-steckbrief{width:100%;border-collapse:collapse;margin:22px 0 4px;background:#fff;border:1px solid var(--ks-border);border-radius:14px;overflow:hidden;font-size:.97rem;}
.ks-steckbrief caption{caption-side:top;text-align:left;font-weight:700;font-size:1.05rem;padding:14px 16px 6px;color:var(--ks-ink,#29242f);}
.ks-steckbrief th,.ks-steckbrief td{padding:10px 16px;border-top:1px solid var(--ks-border);text-align:left;vertical-align:top;}
.ks-steckbrief th{width:42%;font-weight:600;color:var(--ks-muted,#6e6678);background:rgba(0,0,0,.015);}
.ks-facts{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:28px 0 0;}
.ks-fact{background:#fff;border:1px solid var(--ks-border);border-radius:14px;padding:18px 16px;}
.ks-fact__icon{color:var(--ks-cta);margin-bottom:8px;}
.ks-fact__k{font-size:11px;font-family:ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em;color:#6e6678;margin-bottom:4px;}
.ks-fact__v{font-family:var(--ks-display);font-weight:700;font-size:17px;color:var(--ks-ink);line-height:1.15;}
/* Zweispaltig: Skalen + Aside */
.ks-detail{display:grid;grid-template-columns:1fr 320px;gap:32px;padding:40px 0 0;align-items:start;}
.ks-detail>*{min-width:0;}
.ks-detail h2{font-size:26px;font-weight:700;margin:0 0 6px;}
.ks-detail__sub{font-size:15px;color:var(--ks-muted);margin:0 0 24px;}
.ks-scales{display:grid;grid-template-columns:1fr 1fr;gap:18px 40px;}
.ks-scale__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px;}
.ks-scale__k{font-size:15px;font-weight:600;color:#29242f;}
.ks-scale__label{font-size:13px;font-family:ui-monospace,monospace;color:#6e6678;}
.ks-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.ks-gallery__item{aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--ks-line);}
.ks-gallery__item img{width:100%;height:100%;object-fit:cover;}
/* Hauptthemen sind jetzt H2 — optisch wie zuvor die Abschnitts-H3 (Semantik entkoppelt). */
.ks-longread h2{font-family:var(--ks-display);font-size:23px;font-weight:700;color:var(--ks-ink);margin:36px 0 13px;line-height:1.2;}
.ks-longread h2:first-child{margin-top:8px;}
.ks-longread h3{font-family:var(--ks-display);font-size:18px;font-weight:700;color:var(--ks-ink);margin:24px 0 10px;line-height:1.25;}
.ks-longread p{font-family:var(--ks-serif);font-size:18px;line-height:1.7;color:#524a5a;margin:0 0 18px;}
.ks-longread ul{font-family:var(--ks-serif);font-size:18px;line-height:1.7;color:#524a5a;padding-left:22px;margin:0 0 18px;}
.ks-longread ol{font-family:var(--ks-serif);font-size:18px;line-height:1.7;color:#524a5a;padding-left:22px;margin:0 0 18px;}
.ks-longread li{margin:0 0 7px;}
.ks-longread strong{color:var(--ks-ink);}
.ks-longread table{width:100%;border-collapse:collapse;margin:6px 0 24px;font-size:15px;background:#fff;border:1px solid var(--ks-border);border-radius:16px;overflow:hidden;}
.ks-longread caption{text-align:left;font-size:14px;color:var(--ks-ink-soft);margin-bottom:8px;}
.ks-longread th,.ks-longread td{padding:14px 16px;text-align:left;border-bottom:1px solid #efeaf3;vertical-align:top;}
.ks-longread thead th{background:#efeaf3;font-family:var(--ks-body,'Hanken Grotesk');font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ks-ink-soft);}
.ks-longread tbody td{font-weight:700;color:var(--ks-ink);}
.ks-longread tbody td:first-child{font-weight:500;color:var(--ks-ink-soft);}
.ks-longread tbody tr:last-child td{border-bottom:0;}
.ks-longread .ks-keyfacts{background:#f6f1f8;border-left:4px solid var(--ks-cta);border-radius:8px;padding:16px 20px;margin:16px 0 24px;}
.ks-longread .ks-keyfacts p{margin:0 0 6px;font-size:16.5px;}
.ks-longread .ks-keyfacts p:last-child{margin:0;}
@media(max-width:560px){.ks-longread table{display:block;overflow-x:auto;white-space:nowrap;}}

/* ====== Content-Module (ks-longread) — gegen Textwüste ====== */
/* Stat-Karten „Auf einen Blick" */
.ks-longread .ks-mod-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:8px 0 26px;}
.ks-longread .ks-mod-stat{background:#fff;border:1px solid var(--ks-border);border-radius:12px;padding:15px 14px;text-align:center;}
.ks-longread .ks-mod-stat__v{font-family:var(--ks-display);font-weight:700;font-size:20px;color:var(--ks-cta);line-height:1.15;}
.ks-longread .ks-mod-stat__k{font-family:var(--ks-display);font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ks-ink-soft);margin-top:5px;}

/* Info-/Warn-/Gesundheits-Box mit CSS-Icon */
.ks-longread .ks-mod-box{position:relative;border:1px solid var(--ks-border-2);border-radius:14px;padding:18px 20px 6px;margin:8px 0 24px;background:#fff;}
.ks-longread .ks-mod-box__t{display:flex;align-items:center;gap:9px;font-family:var(--ks-display);font-weight:700;font-size:18px;color:var(--ks-ink);margin:0 0 10px;}
.ks-longread .ks-mod-box__t::before{content:"";width:22px;height:22px;flex:none;background-size:contain;background-repeat:no-repeat;background-position:center;}
.ks-longread .ks-mod-box p{font-size:16.5px;margin:0 0 12px;}
.ks-longread .ks-mod-box ul{margin:0 0 12px;}
.ks-longread .ks-mod-box--info{background:#f6f1f8;border-color:#e7deec;}
.ks-longread .ks-mod-box--info .ks-mod-box__t::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C0552E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M12 16v-4'/><path d='M12 8h.01'/></svg>");}
.ks-longread .ks-mod-box--warn{background:#f6f1f8;border-color:#ead9b0;}
.ks-longread .ks-mod-box--warn .ks-mod-box__t{color:#8c6a1e;}
.ks-longread .ks-mod-box--warn .ks-mod-box__t::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c98512' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/><path d='M12 9v4'/><path d='M12 17h.01'/></svg>");}
.ks-longread .ks-mod-box--health{background:#faf6fc;border-color:#f0cfc7;}
.ks-longread .ks-mod-box--health .ks-mod-box__t{color:#27897a;}
.ks-longread .ks-mod-box--health .ks-mod-box__t::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b14e30' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M3.5 13h4l1.5-4 3 8 2-5 1.5 1h5'/></svg>");}

/* Pro/Contra: Das spricht dafür / ist zu bedenken */
.ks-longread .ks-mod-procon{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 24px;}
.ks-longread .ks-mod-procon__col{border:1px solid var(--ks-border-2);border-radius:14px;padding:16px 18px 8px;background:#fff;}
.ks-longread .ks-mod-procon__col :is(h4,.ks-modh){font-family:var(--ks-display);font-size:16px;font-weight:700;margin:0 0 12px;display:flex;align-items:center;gap:8px;}
.ks-longread .ks-mod-procon__col :is(h4,.ks-modh)::before{content:"";width:20px;height:20px;flex:none;background-size:contain;background-repeat:no-repeat;}
.ks-longread .ks-mod-procon--pro{background:#eef5f1;border-color:#c4e4d6;}
.ks-longread .ks-mod-procon--pro :is(h4,.ks-modh){color:#3e8c6a;}
.ks-longread .ks-mod-procon--pro :is(h4,.ks-modh)::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f7a46' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>");}
.ks-longread .ks-mod-procon--con{background:#faf6fc;border-color:#f0d0c8;}
.ks-longread .ks-mod-procon--con :is(h4,.ks-modh){color:#27897a;}
.ks-longread .ks-mod-procon--con :is(h4,.ks-modh)::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b14e30' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M18 6 6 18'/><path d='m6 6 12 12'/></svg>");}
.ks-longread .ks-mod-procon ul{font-size:16px;padding-left:20px;margin:0 0 8px;}
.ks-longread .ks-mod-procon li{margin:0 0 8px;}

/* Mythos vs. Fakt (Häufige Irrtümer) */
.ks-longread .ks-mod-myth{display:flex;flex-direction:column;gap:12px;margin:8px 0 24px;}
.ks-longread .ks-mod-myth__row{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--ks-border-2);border-radius:14px;overflow:hidden;background:#fff;}
.ks-longread .ks-mod-myth__claim,.ks-longread .ks-mod-myth__fact{padding:14px 16px;font-size:15.5px;line-height:1.5;font-family:var(--ks-serif);}
.ks-longread .ks-mod-myth__claim{background:#faf6fc;color:#6e5294;border-right:1px solid var(--ks-border-2);}
.ks-longread .ks-mod-myth__claim b,.ks-longread .ks-mod-myth__fact b{display:block;font-family:var(--ks-display);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;}
.ks-longread .ks-mod-myth__claim b{color:#27897a;}
.ks-longread .ks-mod-myth__fact b{color:#3e8c6a;}

@media(max-width:640px){
  .ks-longread .ks-mod-stats{grid-template-columns:repeat(2,1fr);}
  .ks-longread .ks-mod-procon,.ks-longread .ks-mod-myth__row{grid-template-columns:1fr;}
  .ks-longread .ks-mod-myth__claim{border-right:0;border-bottom:1px solid var(--ks-border-2);}
}

/* ====== Temperament & Eignung (View-Module: Radar/Skalen/Gauge/Ampel/Größe) ====== */
.ks-tempgrid{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:center;background:#fff;border:1px solid var(--ks-border);border-radius:16px;padding:24px 26px;margin:6px 0 16px;}
.ks-radarcard{display:flex;align-items:center;justify-content:center;}
.ks-skalen{display:flex;flex-direction:column;gap:13px;}
.ks-skala__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px;font-family:var(--ks-body,'Hanken Grotesk');font-size:14px;font-weight:600;color:var(--ks-ink);}
.ks-skala__v{font-family:ui-monospace,monospace;font-size:12px;font-weight:700;color:var(--ks-cta);letter-spacing:.04em;}
.ks-skala__track{height:8px;background:#efeaf3;border-radius:6px;overflow:hidden;}
.ks-skala__fill{height:100%;background:linear-gradient(90deg,var(--ks-amber),var(--ks-cta-bright));border-radius:6px;}
.ks-eigncards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 20px;}
.ks-eigncard{background:#fff;border:1px solid var(--ks-border);border-radius:16px;padding:18px 20px;}
.ks-eigncard__t{font-family:var(--ks-display);font-weight:700;font-size:16px;color:var(--ks-ink);margin-bottom:12px;}
.ks-eigncard p{font-family:var(--ks-body,'Hanken Grotesk');font-size:14px;line-height:1.5;color:var(--ks-ink-soft);margin:0;}
.ks-gaugecard{display:flex;align-items:center;gap:14px;}
.ks-gaugecard svg{flex:none;}
.ks-ampelgrid{display:flex;flex-direction:column;gap:8px;}
.ks-ampel{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;font-family:var(--ks-body,'Hanken Grotesk');}
.ks-ampel__ic{display:flex;flex:none;width:30px;height:30px;align-items:center;justify-content:center;border-radius:8px;background:#fff;}
.ks-ampel__k{flex:1;font-size:14px;font-weight:600;color:var(--ks-ink);}
.ks-ampel__v{font-size:12.5px;font-weight:700;font-family:ui-monospace,monospace;letter-spacing:.03em;}
.ks-ampel--gut{background:#eef5f1;}.ks-ampel--gut .ks-ampel__ic{color:#4f9a7a;}.ks-ampel--gut .ks-ampel__v{color:#2f7d5e;}
.ks-ampel--mittel{background:#f6f1f8;}.ks-ampel--mittel .ks-ampel__ic{color:#c9a24a;}.ks-ampel--mittel .ks-ampel__v{color:#8c6a1e;}
.ks-ampel--gering{background:#faf6fc;}.ks-ampel--gering .ks-ampel__ic{color:#27897a;}.ks-ampel--gering .ks-ampel__v{color:#27897a;}
.ks-sizecmp{display:flex;gap:20px;align-items:flex-end;justify-content:center;height:160px;padding-top:6px;}
.ks-sizecmp__col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;flex:1;max-width:80px;}
.ks-sizecmp__bar{width:38px;border-radius:7px 7px 0 0;min-height:12px;}
.ks-sizecmp__bar--human{background:#e2d6ea;}
.ks-sizecmp__bar--dog{background:var(--ks-caramel,#e0b24e);}
.ks-sizecmp__col span{margin-top:8px;font-family:var(--ks-body,'Hanken Grotesk');font-size:12px;line-height:1.3;text-align:center;color:var(--ks-ink-soft);}
.ks-sizecmp__col b{color:var(--ks-ink);font-weight:700;}
@media(max-width:820px){
  .ks-tempgrid{grid-template-columns:1fr;gap:18px;}
  .ks-eigncards{grid-template-columns:1fr;}
}

/* ====== Content-Stream-Module v2 (Design-Handoff) ====== */
/* M01 — Das Wichtigste in Kürze (dunkle Box) */
.ks-longread .ks-m01{background:linear-gradient(135deg,#4c3a57,#29242f);border-radius:18px;padding:22px 26px 13px;margin:16px 0 26px;}
.ks-longread .ks-m01__t{display:flex;align-items:center;gap:11px;font-family:var(--ks-display);font-weight:800;font-size:18px;color:#fff;margin:0 0 15px;}
.ks-longread .ks-m01__t::before{content:"";width:28px;height:28px;border-radius:8px;flex:none;background:var(--ks-amber) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233c2818' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 18h6'/><path d='M10 21h4'/><path d='M12 3a6 6 0 0 0-4 10.5c.7.7 1 1.3 1 2.5h6c0-1.2.3-1.8 1-2.5A6 6 0 0 0 12 3z'/></svg>") center/17px no-repeat;}
.ks-longread .ks-m01__grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 26px;}
.ks-longread .ks-m01__item{display:flex;gap:10px;align-items:flex-start;font-family:var(--ks-body,'Hanken Grotesk');font-size:15px;line-height:1.45;color:#e2d6ea;padding-bottom:11px;margin:0;}
.ks-longread .ks-m01__item::before{content:"";width:18px;height:18px;flex:none;margin-top:1px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E5A05C' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center/contain no-repeat;}
.ks-longread .ks-m01__item b{color:#fff;font-weight:700;}

/* M02 — Pro/Contra: Check-/X-Icons je Listenpunkt */
.ks-longread .ks-mod-procon ul{list-style:none;padding-left:0;}
.ks-longread .ks-mod-procon li{position:relative;padding-left:27px;}
.ks-longread .ks-mod-procon--pro li::before,.ks-longread .ks-mod-procon--con li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;background-size:contain;background-repeat:no-repeat;}
.ks-longread .ks-mod-procon--pro li::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235C8A52' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='m8 12 2.5 2.5L16 9'/></svg>");}
.ks-longread .ks-mod-procon--con li::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C25A3C' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M15 9l-6 6M9 9l6 6'/></svg>");}

/* M08 — Lebensphasen-Zeitstrahl (vertikal) */
.ks-longread .ks-m08{position:relative;margin:8px 0 26px;padding-left:6px;}
.ks-longread .ks-m08__row{position:relative;display:grid;grid-template-columns:46px 1fr;gap:14px;padding-bottom:18px;}
.ks-longread .ks-m08__row:not(:last-child)::before{content:"";position:absolute;left:22px;top:42px;bottom:-4px;width:2px;background:#e2d6ea;}
.ks-longread .ks-m08__no{width:44px;height:44px;border-radius:50%;background:var(--ks-cta);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--ks-display);font-weight:800;font-size:18px;flex:none;z-index:1;}
.ks-longread .ks-m08__bd :is(h4,.ks-modh){font-family:var(--ks-display);font-size:16px;font-weight:700;margin:6px 0 3px;color:var(--ks-ink);}
.ks-longread .ks-m08__bd .ks-m08__age{font-family:ui-monospace,monospace;font-size:12px;font-weight:700;letter-spacing:.04em;color:#1f7d70;text-transform:uppercase;}
.ks-longread .ks-m08__bd p{margin:5px 0 0;font-size:15px;}

/* M09 / M23 — Checkliste (2-spaltig, Häkchen-Boxen) */
.ks-longread .ks-m09{background:#fff;border:1px solid var(--ks-border-2);border-radius:16px;padding:18px 20px 8px;margin:8px 0 24px;}
.ks-longread .ks-m09__t{display:flex;align-items:center;gap:9px;font-family:var(--ks-display);font-weight:700;font-size:17px;color:var(--ks-ink);margin:0 0 13px;}
.ks-longread .ks-m09__t svg{color:var(--ks-cta);}
.ks-longread .ks-m09__grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 22px;}
.ks-longread .ks-m09__item{display:flex;gap:10px;align-items:flex-start;font-family:var(--ks-body,'Hanken Grotesk');font-size:14.5px;line-height:1.4;color:var(--ks-ink-soft);margin:0 0 4px;}
.ks-longread .ks-m09__item::before{content:"";width:19px;height:19px;flex:none;margin-top:1px;border-radius:6px;background:var(--ks-cta) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center/12px no-repeat;}

@media(max-width:640px){
  .ks-longread .ks-m01__grid,.ks-longread .ks-m09__grid{grid-template-columns:1fr;}
}

/* M07 — Kostenübersicht (Balken) */
.ks-longread .ks-m07{background:#fff;border:1px solid var(--ks-border-2);border-radius:16px;padding:20px 22px 14px;margin:8px 0 24px;}
.ks-longread .ks-m07__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.ks-longread .ks-m07__title{font-family:var(--ks-display);font-weight:700;font-size:17px;color:var(--ks-ink);}
.ks-longread .ks-m07__sum{font-family:var(--ks-display);font-weight:800;font-size:24px;color:var(--ks-cta);white-space:nowrap;}
.ks-longread .ks-m07__sub{font-size:13.5px;color:var(--ks-ink-soft);margin:4px 0 15px;}
.ks-longread .ks-m07__row{margin-bottom:11px;}
.ks-longread .ks-m07__rhead{display:flex;justify-content:space-between;font-family:var(--ks-body,'Hanken Grotesk');font-size:14px;font-weight:600;color:var(--ks-ink);margin-bottom:5px;}
.ks-longread .ks-m07__rhead b{font-family:ui-monospace,monospace;font-weight:700;letter-spacing:.02em;}
.ks-longread .ks-m07__track{height:8px;background:#efeaf3;border-radius:6px;overflow:hidden;}
.ks-longread .ks-m07__fill{height:100%;background:var(--ks-caramel,#e0b24e);border-radius:6px;}
.ks-longread .ks-m07__note{font-size:13.5px;color:var(--ks-ink-soft);margin:8px 0 2px;}

/* M29 — Pull-Quote (dunkel) */
.ks-longread .ks-m29{position:relative;background:linear-gradient(135deg,#4c3a57,#29242f);border-radius:18px;padding:24px 30px 22px;margin:18px 0 26px;overflow:hidden;}
.ks-longread .ks-m29::before{content:"\201C";position:absolute;top:6px;left:18px;font-family:Georgia,serif;font-size:84px;line-height:1;color:var(--ks-amber);opacity:.45;}
.ks-longread .ks-m29 p{font-family:var(--ks-serif);font-style:italic;font-size:20px;line-height:1.45;color:#efeaf3;margin:0;padding-left:34px;position:relative;}
.ks-longread .ks-m29 cite{display:block;margin-top:12px;padding-left:34px;font-family:var(--ks-body,'Hanken Grotesk');font-style:normal;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ks-amber);}

/* M30 — Pflege nach Jahreszeit (2 Karten) */
.ks-longread .ks-m30{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 24px;}
.ks-longread .ks-m30__card{border-radius:14px;padding:16px 18px;border:1px solid;}
.ks-longread .ks-m30__card :is(h4,.ks-modh){display:flex;align-items:center;gap:8px;font-family:var(--ks-display);font-size:16px;font-weight:700;margin:0 0 8px;}
.ks-longread .ks-m30__card p{font-size:14.5px;line-height:1.5;margin:0;color:var(--ks-ink-soft);}
.ks-longread .ks-m30--summer{background:#f6f1f8;border-color:#e7deec;}.ks-longread .ks-m30--summer h4{color:#a07d2a;}
.ks-longread .ks-m30--winter{background:#EEF1F5;border-color:#DCE3EC;}.ks-longread .ks-m30--winter h4{color:#5E7C9E;}

/* M19 — Wohn- & Klimaeignung (3 Karten) */
.ks-longread .ks-m19{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 24px;}
.ks-longread .ks-m19__card{background:#fff;border:1px solid var(--ks-border);border-radius:14px;padding:16px;text-align:center;}
.ks-longread .ks-m19__ic{width:42px;height:42px;border-radius:11px;background:var(--ks-paper-2,#f6f1f8);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;color:var(--ks-cta);}
.ks-longread .ks-m19__t{font-family:var(--ks-display);font-weight:700;font-size:15px;color:var(--ks-ink);margin-bottom:4px;}
.ks-longread .ks-m19__lvl{font-family:ui-monospace,monospace;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px;}
.ks-longread .ks-m19__lvl--gut{color:#2f7d5e;}.ks-longread .ks-m19__lvl--mittel{color:#8c6a1e;}.ks-longread .ks-m19__lvl--gering{color:#27897a;}
.ks-longread .ks-m19__card p{font-size:13.5px;line-height:1.45;color:var(--ks-ink-soft);margin:0;}

@media(max-width:640px){
  .ks-longread .ks-m30,.ks-longread .ks-m19{grid-template-columns:1fr;}
}

/* M22 — Herkunft-Timeline (horizontal, recherchierte Eckdaten) */
.ks-longread .ks-m22{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:14px 0 26px;}
.ks-longread .ks-m22__step{position:relative;padding-top:32px;text-align:center;}
.ks-longread .ks-m22__step::before{content:"";position:absolute;top:12px;left:-9px;right:-9px;height:2px;background:#e2d6ea;z-index:0;}
.ks-longread .ks-m22__step:first-child::before{left:50%;}
.ks-longread .ks-m22__step:last-child::before{right:50%;}
.ks-longread .ks-m22__step::after{content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);width:13px;height:13px;border-radius:50%;background:var(--ks-cta);border:3px solid #f6f3f8;box-shadow:0 0 0 1px var(--ks-border-2);z-index:1;}
.ks-longread .ks-m22__year{font-family:var(--ks-display);font-weight:800;font-size:18px;color:#1f7d70;margin-bottom:6px;}
.ks-longread .ks-m22__txt{font-size:13.5px;line-height:1.45;color:var(--ks-ink-soft);}

/* M20 — Pro-Tipp-Karten (3 Karten) */
.ks-longread .ks-m20{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 24px;}
.ks-longread .ks-m20__card{background:#f6f1f8;border:1px solid #e7deec;border-radius:14px;padding:16px;}
.ks-longread .ks-m20__ic{width:36px;height:36px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--ks-cta);margin-bottom:10px;}
.ks-longread .ks-m20__card p{font-size:14px;line-height:1.5;color:var(--ks-ink-soft);margin:0;}
.ks-longread .ks-m20__card p b{color:var(--ks-ink);font-weight:700;}

@media(max-width:640px){
  .ks-longread .ks-m20{grid-template-columns:1fr;}
  .ks-longread .ks-m22{grid-template-columns:1fr;gap:10px;}
  .ks-longread .ks-m22__step{padding-top:0;padding-left:26px;text-align:left;}
  .ks-longread .ks-m22__step::before{top:0;bottom:0;left:6px;right:auto;width:2px;height:auto;}
  .ks-longread .ks-m22__step:first-child::before{top:8px;left:6px;}
  .ks-longread .ks-m22__step:last-child::before{bottom:auto;height:14px;left:6px;}
  .ks-longread .ks-m22__step::after{top:4px;left:6px;transform:none;}
}
.ks-passt{background:#f1eff5;border:1px solid #e6e0ec;border-radius:18px;padding:26px 28px;margin:8px 0;}
.ks-passt h3{font-family:var(--ks-display);font-weight:700;font-size:22px;margin:0 0 16px;}
.ks-passt__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ks-passt__item{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:#615a68;line-height:1.4;}
.ks-passt__yes{color:#3e8c6a;font-weight:800;flex:none;}
.ks-passt__no{color:#27897a;font-weight:800;flex:none;}
/* Aside */
.ks-aside{display:flex;flex-direction:column;gap:18px;position:sticky;top:88px;}
.ks-toc{background:#fff;border:1px solid var(--ks-border);border-radius:16px;padding:18px 20px;max-height:56vh;overflow-y:auto;}
.ks-toc__kicker{font-family:var(--ks-display);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ks-ink-soft);margin-bottom:13px;}
.ks-toc__list{display:flex;flex-direction:column;border-left:2px solid var(--ks-border);}
.ks-toc__item{display:flex;flex-direction:column;}
.ks-toc__sub{display:flex;flex-direction:column;max-height:0;overflow:hidden;transition:max-height .25s ease;}
.ks-toc__item.is-open .ks-toc__sub{max-height:200px;}
.ks-toc__a{font-family:var(--ks-body,'Hanken Grotesk');font-size:14px;line-height:1.3;color:var(--ks-ink-soft);text-decoration:none;padding:7px 0 7px 14px;margin-left:-2px;border-left:2px solid transparent;}
.ks-toc__a--h3{font-size:13px;padding:6px 0 6px 26px;color:var(--ks-muted);}
.ks-toc__a:hover{color:var(--ks-cta);}
.ks-toc__a.is-active{color:var(--ks-cta);font-weight:700;border-left-color:var(--ks-cta);}
.ks-affil{background:#fff;border:1px solid var(--ks-border);border-radius:var(--ks-radius);overflow:hidden;}
.ks-affil__tag{background:var(--ks-chip-bg);padding:7px 14px;font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#5f4a6e;display:flex;justify-content:space-between;}
.ks-affil__body{padding:16px;}
.ks-affil__img{aspect-ratio:1.6;border-radius:10px;margin-bottom:12px;background:var(--ks-line);}
.ks-asidecta{background:var(--ks-brand);border-radius:var(--ks-radius);padding:20px;color:#ece5f1;}
.ks-asidecta h2,.ks-asidecta h3{font-family:var(--ks-display);font-weight:700;font-size:17px;color:#fff;margin:0 0 8px;}
.ks-asidecta p{font-size:14px;line-height:1.5;color:#d4cdda;margin:0 0 14px;}
/* FAQ */
.ks-faq{display:flex;flex-direction:column;gap:10px;}
.ks-faqitem{background:#fff;border:1px solid var(--ks-border);border-radius:12px;overflow:hidden;}
.ks-faqitem summary{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:16px;font-weight:700;color:var(--ks-ink);padding:18px 20px;cursor:pointer;list-style:none;}
.ks-faqitem summary::-webkit-details-marker{display:none;}
.ks-faqitem summary::after{content:"+";color:#6e6678;font-weight:700;font-size:18px;}
.ks-faqitem[open] summary::after{content:"–";color:var(--ks-cta);}
.ks-faqitem__a{padding:0 20px 18px;font-size:15px;line-height:1.6;color:var(--ks-ink-soft);margin:0;}
/* verwandte Rassen (kompakt) */
.ks-related{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ks-relatedcard{background:#fff;border:1px solid var(--ks-border);border-radius:var(--ks-radius);display:flex;align-items:center;gap:14px;padding:12px;text-decoration:none;color:inherit;}
.ks-relatedcard:hover{box-shadow:var(--ks-shadow);}
.ks-relatedcard__img{width:78px;height:78px;border-radius:12px;flex:none;background:var(--ks-line);overflow:hidden;}
.ks-relatedcard__img img{width:100%;height:100%;object-fit:cover;}
.ks-relatedcard__name{font-family:var(--ks-display);font-weight:700;font-size:17px;color:var(--ks-ink);}
.ks-relatedcard__char{font-size:13px;color:var(--ks-muted);}
.ks-sources{font-size:12px;font-family:ui-monospace,monospace;color:#6e6678;padding:30px 0 0;}

/* ============================ MATCHING-TEST ============================ */
.ks-quiz{max-width:1100px;margin:0 auto;background:linear-gradient(160deg,#4c3a57,#29242f);border-radius:14px;overflow:hidden;box-shadow:var(--ks-shadow-lg);min-height:640px;display:flex;flex-direction:column;color:#efeaf3;}
/* hidden-Attribut muss display:flex schlagen, sonst zeigt sich das leere Quiz
   schon vor "Test starten" (ohne Kacheln). */
.ks-quiz[hidden],.ks-result[hidden]{display:none;}
.ks-quiz__top{display:flex;align-items:center;justify-content:space-between;padding:22px 40px;}
.ks-quiz__step{font-size:14px;color:#d4cdda;}
.ks-quiz__abort{color:#fff;font-weight:700;background:none;border:0;cursor:pointer;font:inherit;}
.ks-quiz__progress{margin:0 40px;height:7px;border-radius:10px;background:rgba(255,255,255,.15);overflow:hidden;}
.ks-quiz__bar{height:100%;border-radius:10px;background:#e0b24e;width:12.5%;transition:width .3s;}
.ks-quiz__body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:32px 60px;}
.ks-quiz__qhead{text-align:center;margin-bottom:38px;}
.ks-quiz__qkicker{font-family:ui-monospace,monospace;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#e6c27e;margin-bottom:14px;}
.ks-quiz__q{font-family:var(--ks-display);font-weight:700;font-size:40px;margin:0;}
/* .ks prefix schlägt das generische `.ks h1{color:ink}` (sonst dunkel auf dunkel) */
.ks .ks-quiz__q{color:#fff;}
.ks-quiz__hint{font-size:17px;color:#ddd0e6;margin:12px 0 0;}
.ks-quiz__opts{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:760px;margin:0 auto;width:100%;}
.ks-opt{display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.07);border:2px solid rgba(255,255,255,.18);border-radius:16px;padding:22px 24px;cursor:pointer;text-align:left;color:#fff;font:inherit;transition:background .12s,border-color .12s,transform .08s;}
.ks-opt:hover{background:rgba(255,255,255,.14);border-color:#e0b24e;transform:translateY(-1px);}
.ks-opt:focus-visible{outline:3px solid #e0b24e;outline-offset:2px;}
.ks-opt__icon{flex:none;width:34px;height:34px;display:grid;place-items:center;color:#e6c27e;}
.ks-opt__t{font-size:19px;font-weight:700;color:#fff;}
.ks-opt__d{font-size:14px;color:#c0b4cc;}
.ks-opt.is-sel{background:#e0b24e;border-color:#e0b24e;box-shadow:0 10px 24px rgba(229,160,92,.3);}
.ks-opt.is-sel .ks-opt__t{color:#29242f;}
.ks-opt.is-sel .ks-opt__d{color:#6e5294;}
.ks-opt.is-sel .ks-opt__icon{color:#29242f;}
/* Immer sichtbarer Auswahl-Kreis (rechts) — signalisiert „anklickbare Wahl" */
.ks-opt__check{margin-left:auto;width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.45);background:transparent;color:transparent;display:grid;place-items:center;font-weight:800;font-size:14px;flex:none;}
.ks-opt.is-sel .ks-opt__check{background:#29242f;border-color:#29242f;color:#e0b24e;}
.ks-quiz__nav{display:flex;align-items:center;justify-content:space-between;padding:24px 40px;}
.ks-quiz__back{font-size:15px;color:#ddd0e6;font-weight:600;background:none;border:0;cursor:pointer;font:inherit;}
.ks-quiz__next{padding:14px 30px;background:#fff;color:var(--ks-brand);border-radius:12px;font-size:16px;font-weight:700;border:0;cursor:pointer;transition:opacity .15s;}
.ks-quiz__next.is-disabled{opacity:.4;pointer-events:none;}
/* Ergebnis */
.ks-result{max-width:1100px;margin:0 auto;background:#f6f3f8;border-radius:14px;overflow:hidden;box-shadow:var(--ks-shadow-lg);}
.ks-result__head{text-align:center;padding:48px 60px 30px;background:linear-gradient(180deg,#ece5f1,#f6f3f8);}
.ks-result__head h2{font-size:42px;font-weight:700;margin:0 0 10px;}
.ks-result__matches{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:10px 60px 30px;}
.ks-matchcard{background:#fff;border:1px solid var(--ks-border);border-radius:18px;overflow:hidden;box-shadow:0 3px 14px rgba(50,40,30,.07);text-decoration:none;color:inherit;}
.ks-matchcard__img{aspect-ratio:4/3;position:relative;background:var(--ks-line);overflow:hidden;}
.ks-matchcard__img img{width:100%;height:100%;object-fit:cover;}
.ks-matchcard__pct{position:absolute;top:12px;right:12px;background:#3e8c6a;color:#fff;font-weight:800;font-size:15px;padding:6px 12px;border-radius:20px;font-family:var(--ks-display);}
.ks-matchcard__body{padding:18px 20px 22px;}
.ks-matchcard__name{font-family:var(--ks-display);font-weight:700;font-size:21px;margin-bottom:8px;}
.ks-matchcard__why{font-size:14px;color:var(--ks-muted);line-height:1.5;margin-bottom:14px;}
.ks-matchcard__why strong{color:var(--ks-brand);}
.ks-matchcard__cta{padding:11px;background:var(--ks-tag-bg);color:var(--ks-brand);border-radius:10px;text-align:center;font-size:14px;font-weight:700;}
.ks-result__actions{display:flex;gap:14px;justify-content:center;padding:0 60px 48px;flex-wrap:wrap;}

/* ============================ TOOL-WIDGET ============================ */
.ks-toolhead{padding:30px 0 0;}
.ks-toolhead h1{font-size:38px;font-weight:700;margin:0 0 8px;}
.ks-toolhead__lead{font-size:16px;color:var(--ks-ink-soft);margin:0;max-width:680px;}
.ks-widget{background:#fff;border:1px solid var(--ks-border);border-radius:var(--ks-radius-lg);overflow:hidden;display:grid;grid-template-columns:1fr 380px;margin:26px 0 0;}
.ks-widget__in{padding:34px 36px;}
.ks-widget__field{margin-bottom:22px;}
.ks-widget__label{font-size:13px;font-weight:700;color:var(--ks-brand);margin-bottom:10px;display:block;}
.ks-widget__out{background:var(--ks-grad-dark);padding:34px 36px;display:flex;flex-direction:column;justify-content:center;color:#ece5f1;}
.ks-widget__out-kicker{font-family:ui-monospace,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#e6c27e;margin-bottom:8px;}
.ks-widget__result{font-family:var(--ks-display);font-weight:800;font-size:58px;line-height:1;color:#fff;}
.ks-widget__result small{font-size:24px;font-weight:600;}
.ks-widget__note{font-size:14px;color:#d4cdda;margin-top:10px;}
.ks-widget__sub{font-size:16px;font-weight:700;color:#fff;margin-top:6px;}
.ks-range{display:flex;align-items:center;gap:16px;}
.ks-range input[type=range]{flex:1;accent-color:var(--ks-cta-bright);height:8px;}
.ks-range__val{font-family:var(--ks-display);font-weight:800;font-size:24px;color:var(--ks-ink);min-width:52px;text-align:right;}
.ks-num{width:100%;padding:13px 14px;border:1.5px solid var(--ks-border-2);border-radius:10px;font:inherit;font-size:16px;color:var(--ks-ink);}
.ks-num:focus{outline:2px solid var(--ks-cta-bright);outline-offset:1px;border-color:var(--ks-cta-bright);}
.ks-explainer{padding:40px 0 0;max-width:820px;}
.ks-explainer h2{font-size:24px;font-weight:700;margin:30px 0 12px;}
.ks-explainer h2:first-child{margin-top:0;}
.ks-explainer h3{font-family:var(--ks-display);font-size:20px;font-weight:700;color:var(--ks-ink);margin:24px 0 10px;}
.ks-explainer p{font-family:var(--ks-serif);font-size:18px;line-height:1.7;color:#524a5a;margin:0 0 14px;}
.ks-explainer ul,.ks-explainer ol{font-family:var(--ks-serif);font-size:18px;line-height:1.7;color:#524a5a;padding-left:22px;margin:0 0 16px;}
.ks-explainer li{margin:0 0 7px;}
.ks-explainer a{color:var(--ks-cta);text-decoration:underline;text-underline-offset:2px;}
.ks-explainer strong{color:var(--ks-ink);}
.ks-explainer table{width:100%;border-collapse:collapse;margin:6px 0 20px;font-size:16px;background:#fff;border:1px solid var(--ks-border);border-radius:10px;overflow:hidden;}
.ks-explainer caption{text-align:left;font-size:14px;color:var(--ks-ink-soft);margin-bottom:8px;}
.ks-explainer th,.ks-explainer td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--ks-border);}
.ks-explainer thead th{background:var(--ks-paper-2,#f1eff5);font-weight:700;color:var(--ks-ink);}
.ks-explainer tbody tr:last-child td{border-bottom:0;}
.ks-explainer tbody tr:nth-child(even) td{background:#f6f3f8;}
.ks-explainer .ks-tnote{font-size:15px;color:var(--ks-ink-soft);margin:0 0 14px;}
.ks-explainer .ks-callout{background:#f6f1f8;border-left:4px solid var(--ks-cta);border-radius:8px;padding:16px 18px;margin:0 0 18px;}
.ks-explainer .ks-callout p{margin:0;font-size:16.5px;}
@media(max-width:560px){.ks-explainer table{display:block;overflow-x:auto;white-space:nowrap;}}

/* ============================ ÜBER UNS / STATIC ============================ */
.ks-statichero{text-align:center;padding:52px 0 40px;max-width:760px;margin:0 auto;}
.ks-statichero h1{font-size:42px;font-weight:700;line-height:1.1;margin:0 0 16px;}
.ks-statichero p{font-family:var(--ks-serif);font-size:19px;line-height:1.7;color:#524a5a;margin:0;}
.ks-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.ks-stat{background:#fff;border:1px solid var(--ks-border);border-radius:var(--ks-radius);padding:26px;text-align:center;}
.ks-stat__n{font-family:var(--ks-display);font-weight:800;font-size:38px;color:var(--ks-cta);}
.ks-stat__l{font-size:14px;color:var(--ks-ink-soft);}
.ks-methodik{background:var(--ks-brand);border-radius:var(--ks-radius-lg);padding:40px 44px;color:#ece5f1;margin:44px 0;}
.ks-methodik h2{font-size:28px;font-weight:700;color:#fff;margin:0 0 22px;}
.ks-methodik__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.ks-methodik__n{font-family:var(--ks-display);font-weight:800;font-size:30px;color:#e0b24e;margin-bottom:8px;}
.ks-methodik__t{font-size:17px;font-weight:700;color:#fff;margin-bottom:6px;}
.ks-methodik p{font-size:14px;line-height:1.55;color:#d4cdda;margin:0;}
.ks-prose{max-width:760px;}
.ks-prose h2{font-size:24px;margin:28px 0 12px;}
.ks-prose p{font-family:var(--ks-serif);font-size:18px;line-height:1.7;color:#524a5a;margin:0 0 16px;}
.ks-prose a{color:var(--ks-cta);text-decoration:underline;text-underline-offset:2px;}

/* ============================ RATGEBER-ARTIKEL ============================ */
.ks-arthead{padding:14px 0 8px;}
.ks-arthead__cat{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5f4a6e;margin-bottom:14px;}
.ks-arthead h1{font-size:42px;font-weight:700;line-height:1.1;letter-spacing:-.01em;margin:0 0 18px;text-wrap:balance;}
.ks-arthead__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;color:var(--ks-muted);}
.ks-arthead__author{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ks-ink-soft);}
.ks-arthead__ava{width:34px;height:34px;border-radius:50%;background:var(--ks-brand);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;font-family:var(--ks-display);flex:none;}
.ks-arthead__ava--lg{width:52px;height:52px;font-size:16px;}
.ks-art-cta{background:#f1eff5;border:1px solid #e6e0ec;border-radius:16px;padding:20px 22px;margin:24px 0;display:flex;align-items:center;gap:16px;}
.ks-art-cta__txt{flex:1;}
.ks-art-cta__label{font-size:12px;font-family:ui-monospace,monospace;color:#8c6a1e;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;}
.ks-art-cta__title{font-family:var(--ks-display);font-weight:700;font-size:18px;color:var(--ks-ink);}
.ks-arthero{aspect-ratio:16/7;border-radius:16px;overflow:hidden;background:var(--ks-line);margin:8px 0 26px;}
.ks-arthero img{width:100%;height:100%;object-fit:cover;}
.ks-artbox{background:#fff;border:1px solid var(--ks-border);border-left:4px solid var(--ks-cta-bright);border-radius:12px;padding:18px 22px;margin:22px 0;}
.ks-artbox--warn{border-left-color:#c9a24a;background:#f6f1f8;}
.ks-artbox__h{font-family:var(--ks-display);font-weight:700;font-size:17px;margin:0 0 6px;color:var(--ks-ink);}
.ks-artbox p{margin:0;font-size:16px;line-height:1.6;color:var(--ks-ink-soft);font-family:var(--ks-body,'Hanken Grotesk');}
.ks-arttable{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px;}
.ks-arttable caption{text-align:left;font-size:13px;color:var(--ks-muted);margin-bottom:8px;}
.ks-arttable th,.ks-arttable td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--ks-line);vertical-align:top;}
.ks-arttable th{background:var(--ks-chip-bg);font-weight:700;color:var(--ks-brand);}
.ks-arttable tr:nth-child(even) td{background:#fcfaf8;}
.ks-artauthor{display:flex;gap:16px;align-items:flex-start;background:#f1eff5;border:1px solid #e6e0ec;border-radius:16px;padding:22px 24px;margin:34px 0 0;}
.ks-artauthor__name{font-family:var(--ks-display);font-weight:700;font-size:17px;color:var(--ks-ink);margin-bottom:6px;}
.ks-artauthor p{margin:0;font-size:14px;line-height:1.55;color:var(--ks-ink-soft);}

/* ============================ SUCHE ============================ */
.ks-searchhead{padding:36px 0 0;}
.ks-searchhead h1{font-size:32px;font-weight:700;margin:0 0 6px;}
.ks-searchres{display:flex;flex-direction:column;gap:12px;padding:24px 0 0;}
.ks-searchrow{background:#fff;border:1px solid var(--ks-border);border-radius:14px;padding:14px;display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;}
.ks-searchrow:hover{box-shadow:var(--ks-shadow);}
.ks-searchrow__img{width:80px;height:80px;border-radius:11px;flex:none;background:var(--ks-line);overflow:hidden;}
.ks-searchrow__img img{width:100%;height:100%;object-fit:cover;}
.ks-searchrow__type{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5f4a6e;}
.ks-searchrow__name{font-family:var(--ks-display);font-weight:700;font-size:19px;color:var(--ks-ink);margin:3px 0 4px;}

/* ============================ 404 ============================ */
.ks-404{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:64px 0;}
.ks-404__code{font-family:var(--ks-display);font-weight:800;font-size:96px;line-height:1;color:var(--ks-cta);margin-bottom:8px;}
.ks-404 h1{font-size:38px;font-weight:700;line-height:1.1;margin:0 0 14px;}
.ks-404 p{font-size:17px;line-height:1.6;color:var(--ks-ink-soft);margin:0 0 28px;max-width:440px;}
.ks-404__links{display:flex;gap:12px;flex-wrap:wrap;}
.ks-404__img{aspect-ratio:4/3;border-radius:18px;background:var(--ks-line);overflow:hidden;}

/* ============================ AD-SLOTS ============================ */
.ks-ad{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px dashed #d4cdda;border-radius:10px;background:#f6f1f8;position:relative;margin:28px auto;}
.ks-ad::before{content:"Anzeige";position:absolute;top:8px;left:11px;font-family:ui-monospace,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#b8aacc;}
.ks-ad--leaderboard{max-width:728px;min-height:90px;}
.ks-ad--billboard{max-width:970px;min-height:250px;}
.ks-ad--rectangle{max-width:300px;min-height:250px;}
/* Echte Ad-Auslieferung */
.ks .ad-live{margin:28px auto;display:flex;justify-content:center;}
.ks .ad-live--sidebar{margin:0;}
/* Plattform-Einstellung: leere Platzhalter in Produktion ausblenden */
body.no-ad-placeholders .ks-ad{display:none;}

/* ============================ FOOTER ============================ */
.ks-footer{background:var(--ks-footer-bg);color:var(--ks-footer-ink);padding:44px 0 28px;}
.ks-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
.ks-footer__brand{display:flex;align-items:center;gap:8px;font-family:var(--ks-display);font-weight:800;font-size:22px;color:#fff;margin-bottom:12px;text-decoration:none;}
.ks-footer__tagline{font-size:14px;line-height:1.55;color:var(--ks-footer-soft);margin:0;max-width:240px;}
.ks-footer__col h3{font-size:14px;color:#fff;font-weight:700;margin:0 0 8px;font-family:var(--ks-body,'Hanken Grotesk');}
.ks-footer__col a{display:block;font-size:14px;line-height:2;color:var(--ks-footer-ink);text-decoration:none;}
.ks-footer__col a:hover{color:#fff;}
.ks-footer__bottom{border-top:1px solid #2b2531;margin-top:28px;padding-top:18px;font-size:12px;color:#938b9e;font-family:ui-monospace,monospace;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.ks-footer__bottom a{color:#938b9e;text-decoration:none;}
.ks-footer__bottom a:hover{color:var(--ks-footer-ink);}

/* ============================ CMP-Overrides (Karamell) ============================ */
/* WICHTIG: Das Consent-Banner liegt AUSSERHALB von .ks — die --ks-*-Tokens
   greifen dort nicht. Daher LITERALE Hex-Werte (sonst fällt bg/border weg und
   die Buttons werden weiß-auf-weiß). */
body.ks-page .cmp-btn--primary,
body.ks-page .cmp-btn--equal{background:#2f9c8c !important;color:#fff !important;border-color:#2f9c8c !important;}
body.ks-page .cmp-btn--primary:hover,
body.ks-page .cmp-btn--equal:hover{background:#27897a !important;color:#fff !important;border-color:#27897a !important;}
/* "Nur Essenzielle" / Ghost dezenter, aber klar sichtbar (dunkler Rand + Text). */
body.ks-page .cmp-btn--ghost{background:#fff !important;color:#2b2531 !important;border-color:#2b2531 !important;}
body.ks-page .cmp-banner,body.ks-page .cmp-modal{font-family:'Hanken Grotesk',system-ui,sans-serif;}
/* Links im Consent (Datenschutz/Impressum/Mehr) — --link-Token #a07d2a ist auf
   Weiß nur 3.9:1; literal abdunkeln auf >=4.5. */
body.ks-page .cmp-banner a,body.ks-page .cmp-modal a{color:#8c6a1e !important;}

/* ============================ RESPONSIVE ============================ */
@media (max-width:1080px){
  .ks-grid--4{grid-template-columns:repeat(3,1fr);}
  .ks-facts{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:900px){
  .ks-nav,.ks-headersearch{display:none;}
  .ks .ks-header__cta{display:none;}            /* sonst überdeckt der CTA das Logo; im Mobile-Sheet vorhanden */
  .ks-header__right{gap:8px;}
  .ks-burger{display:inline-flex;}
  .ks-hero__grid{grid-template-columns:1fr;gap:28px;}
  .ks-hero h1{font-size:38px;}
  .ks-hero__card{position:static;margin-top:14px;max-width:none;}
  .ks-testteaser{grid-template-columns:1fr;padding:28px 24px;}
  .ks-testteaser h2{font-size:26px;}
  .ks-hublayout{grid-template-columns:1fr;}
  .ks-filterpanel{display:none;}
  /* im Bottom-Sheet (verschoben): transparent, kein Karten-Rahmen/sticky —
     das Sheet-Padding sorgt fuer den Innenabstand. */
  #rsSheetBody .ks-filterpanel{display:block;position:static;background:transparent;border:0;border-radius:0;box-shadow:none;padding:4px 0 0;top:auto;}
  #rsSheetBody .ks-filterpanel__head{display:none;}
  .ks-filterbar-m{display:flex;gap:10px;position:sticky;top:72px;z-index:30;background:var(--ks-bg);padding:12px 0;}
  .ks-filterbar-m button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:12px;font-size:15px;font-weight:700;border:1px solid var(--ks-border);background:#fff;color:var(--ks-brand);cursor:pointer;}
  .ks-filterbar-m button.is-primary{background:var(--ks-brand);color:#fff;border-color:var(--ks-brand);}
  .ks-detail{grid-template-columns:1fr;}
  .ks-aside{position:static;}
  .ks-toc{display:none;}
  .ks-topichero{grid-template-columns:1fr;gap:20px;}
  .ks-404{grid-template-columns:1fr;gap:24px;padding:40px 0;}
  .ks-404__code{font-size:72px;}
  /* Mobil: niedrigere Bühne, Foto füllt (cover), keine Blur-Seiten */
  .ks-bhero{height:260px;}
  .ks-bhero__bg{display:none;}
  .ks-bhero__img img{object-fit:cover;}
  .ks-bhero h1{font-size:34px;}
  .ks-quiz__body{padding:28px 22px;}
  .ks-quiz__q{font-size:28px;}
  .ks-quiz__opts{grid-template-columns:1fr;gap:12px;}
  .ks-quiz__top,.ks-quiz__nav{padding:18px 22px;}
  .ks-result__head,.ks-result__matches,.ks-result__actions{padding-left:22px;padding-right:22px;}
  .ks-result__matches{grid-template-columns:1fr;}
  .ks-widget{grid-template-columns:1fr;}
  .ks-methodik__grid{grid-template-columns:1fr;gap:18px;}
  .ks-footer__grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  body.ks-page{font-size:16px;}
  .ks-wrap{padding:0 16px;}
  /* Rassen- und Tool-Karten mobil 2-spaltig (kein Platz verschenken) */
  .ks-grid--3,.ks-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ks-grid--rel{grid-template-columns:1fr;}
  .ks-quick,.ks-stats,.ks-scales,.ks-passt__grid,.ks-related{grid-template-columns:1fr;}
  .ks-grid{gap:12px;}
  .ks-facts{grid-template-columns:1fr 1fr;}
  .ks-section h2,.ks-hubintro h1,.ks-topichero h1,.ks-statichero h1{font-size:27px;}
  .ks-hero h1{font-size:32px;}
  .ks-footer__grid{grid-template-columns:1fr;}
  .ks-section{padding:34px 0 4px;}
}

/* ---------- Reduced motion ---------- */
@media (prefeks-reduced-motion:reduce){
  .ks *,.ks *::before,.ks *::after{transition:none !important;animation:none !important;}
}

/* ============================ KATZENNAMEN-FINDER ============================ */
.ks-widget--names{display:block;padding:18px;}
.ks-namefilter{display:flex;flex-direction:column;gap:14px;margin-bottom:18px;}
.ks-namefilter__search{display:flex;align-items:center;gap:8px;background:var(--ks-chip-bg);border:1px solid var(--ks-border);border-radius:var(--ks-radius-pill);padding:10px 16px;}
.ks-namefilter__search input{border:0;background:transparent;outline:none;flex:1;font:inherit;color:var(--ks-ink);min-width:0;}
.ks-namechips{display:flex;flex-wrap:wrap;gap:8px;}
.ks-namechip{font-size:13px;font-weight:600;padding:7px 14px;border-radius:var(--ks-radius-pill);background:var(--ks-tag-bg);color:var(--ks-tag-ink);border:1px solid transparent;cursor:pointer;}
.ks-namechip.is-active{background:var(--ks-brand);color:#fff;}
.ks-namefilter__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.ks-namefilter__actions .ks-btn{display:inline-flex;align-items:center;gap:8px;}
.ks-namecount{font-size:14px;color:var(--ks-muted);}
.ks-namegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
.ks-namecard{position:relative;background:var(--ks-bg);border:1px solid var(--ks-border);border-radius:var(--ks-radius-sm);padding:14px 38px 12px 14px;}
.ks-namecard.is-pick{border-color:var(--ks-cta);box-shadow:0 0 0 2px var(--ks-cta);}
.ks-namecard__name{font-family:var(--ks-display);font-weight:700;font-size:18px;color:var(--ks-ink);}
.ks-namecard__meta{font-size:12px;color:var(--ks-muted);margin-top:2px;}
.ks-namecard__g{font-weight:700;}
.ks-namecard__g--w{color:#c2549a;}
.ks-namecard__g--m{color:#3d7fb8;}
.ks-namecard__g--u{color:#8e6fa8;}
.ks-namecard__b{font-size:13px;color:var(--ks-ink-soft);margin-top:6px;line-height:1.4;}
.ks-namecard__fav{position:absolute;top:8px;right:8px;border:0;background:none;cursor:pointer;font-size:19px;line-height:1;color:var(--ks-deco);}
.ks-namecard.is-fav .ks-namecard__fav{color:#c95b47;}
.ks-namefavs{background:var(--ks-chip-bg);border:1px solid var(--ks-border);border-radius:var(--ks-radius-sm);padding:12px 14px;margin-bottom:16px;}
.ks-namefavs__head{font-weight:700;font-size:14px;color:var(--ks-ink);margin-bottom:8px;display:flex;align-items:center;gap:10px;}
.ks-namefavs__clear{font-size:12px;font-weight:600;color:var(--ks-muted);background:none;border:0;cursor:pointer;text-decoration:underline;}
.ks-namefavs__list{display:flex;flex-wrap:wrap;gap:8px;}
.ks-favchip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--ks-border);border-radius:var(--ks-radius-pill);padding:5px 10px;font-size:13px;font-weight:600;color:var(--ks-ink);}
.ks-favchip button{border:0;background:none;cursor:pointer;color:var(--ks-muted);font-size:12px;}
.ks-namegrid__empty{color:var(--ks-muted);padding:20px 4px;}
@media(max-width:640px){.ks-seg--names{flex-wrap:wrap;}.ks-seg--names button{flex:1 1 40%;}}

/* ===================== FUTTER-CLUSTER (Ampel) ===================== */
.ks-dot{display:inline-block;width:11px;height:11px;border-radius:50%;flex:none;vertical-align:middle;}
.ks-dot--gruen{background:#3e8c6a;}
.ks-dot--gelb{background:#d39a2a;}
.ks-dot--rot{background:#c95b47;}
/* Sofort-Antwort-Banner */
.ks-fampel{display:flex;gap:16px;align-items:flex-start;margin:18px 0 8px;padding:18px 20px;border-radius:16px;border:1px solid var(--ks-border);background:var(--ks-surface);}
.ks-fampel__light{flex:none;display:flex;flex-direction:column;gap:5px;padding:8px;border-radius:10px;background:#2b2531;}
.ks-fampel__light span{width:13px;height:13px;border-radius:50%;background:#4a4452;opacity:.35;}
.ks-fampel__label{font-family:var(--ks-display);font-weight:800;font-size:18px;margin-bottom:4px;}
.ks-fampel__answer{margin:0;font-family:var(--ks-serif,'Source Serif 4',Georgia,serif);font-size:17px;line-height:1.6;color:var(--ks-ink);}
.ks-fampel--gruen{background:#eef6f1;border-color:#cfe6da;}
.ks-fampel--gruen .ks-fampel__light span:nth-child(1){background:#3e8c6a;opacity:1;}
.ks-fampel--gruen .ks-fampel__label{color:#2f7d5e;}
.ks-fampel--gelb{background:#fbf4e6;border-color:#ecdcb6;}
.ks-fampel--gelb .ks-fampel__light span:nth-child(2){background:#d39a2a;opacity:1;}
.ks-fampel--gelb .ks-fampel__label{color:#a8742a;}
.ks-fampel--rot{background:#fbeeeb;border-color:#eccabf;}
.ks-fampel--rot .ks-fampel__light span:nth-child(3){background:#c95b47;opacity:1;}
.ks-fampel--rot .ks-fampel__label{color:#b14533;}
/* Gefahr-Callout */
.ks-callout--danger{background:#fbeeeb;border-left:4px solid #c95b47;}
.ks-callout--danger strong{color:#b14533;}
/* Lebensmittel-Liste */
.ks-foodlist{display:flex;flex-direction:column;gap:8px;}
.ks-foodrow{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--ks-border);border-radius:12px;background:#fff;text-decoration:none;color:var(--ks-ink);transition:border-color .14s,box-shadow .14s;}
a.ks-foodrow:hover{border-color:var(--ks-cta);box-shadow:0 4px 14px rgba(47,156,140,.13);}
.ks-foodrow--static{background:var(--ks-bg);}
.ks-foodrow__name{font-weight:700;font-size:15.5px;flex:none;min-width:120px;}
.ks-foodrow__short{flex:1;color:var(--ks-ink-soft);font-size:14px;line-height:1.45;}
.ks-foodrow__arrow{flex:none;color:var(--ks-cta);font-weight:700;}
.ks-foodlist__empty{color:var(--ks-muted);padding:18px 4px;}
/* Filterleiste */
.ks-foodfilter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px;}
.ks-foodfilter__search{flex:1;min-width:200px;border:1px solid var(--ks-border-2);border-radius:var(--ks-radius-pill,100px);padding:11px 18px;font:inherit;font-size:15px;color:var(--ks-ink);background:#fff;outline:none;}
.ks-foodfilter__search:focus{border-color:var(--ks-cta);}
.ks-foodfilter__chips{display:flex;gap:7px;flex-wrap:wrap;}
.ks-fchip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--ks-brand);background:#fff;padding:8px 13px;border-radius:20px;border:1px solid var(--ks-border-2);cursor:pointer;}
.ks-fchip:hover{border-color:var(--ks-brand);}
.ks-fchip.is-on{background:var(--ks-brand);color:#fff;border-color:var(--ks-brand);}
/* Checker */
.ks-checker{margin:8px 0 20px;}
.ks-checker__input{width:100%;border:2px solid var(--ks-border-2);border-radius:16px;padding:16px 20px;font:inherit;font-size:18px;color:var(--ks-ink);background:#fff;outline:none;}
.ks-checker__input:focus{border-color:var(--ks-cta);}
.ks-checker__hint{color:var(--ks-muted);font-size:14px;margin:12px 2px 0;}
.ks-checker__results{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
.ks-checkcard{border:1px solid var(--ks-border);border-left-width:5px;border-radius:13px;padding:14px 16px;background:#fff;}
.ks-checkcard--gruen{border-left-color:#3e8c6a;background:#eef6f1;}
.ks-checkcard--gelb{border-left-color:#d39a2a;background:#fbf4e6;}
.ks-checkcard--rot{border-left-color:#c95b47;background:#fbeeeb;}
.ks-checkcard--none{border-left-color:var(--ks-border-2);}
.ks-checkcard__top{display:flex;align-items:center;gap:9px;margin-bottom:6px;}
.ks-checkcard__name{font-family:var(--ks-display);font-weight:800;font-size:18px;}
.ks-checkcard__badge{margin-left:auto;font-size:12px;font-weight:700;color:var(--ks-ink-soft);}
.ks-checkcard__short{margin:0 0 6px;font-size:15px;line-height:1.55;color:var(--ks-ink);}
.ks-checkcard__more{font-weight:700;color:var(--ks-cta);text-decoration:none;font-size:14px;}
/* YMYL-Disclaimer */
.ks-disclaimer{margin-top:28px;padding:16px 18px;border:1px dashed var(--ks-border-2);border-radius:13px;background:var(--ks-bg);font-size:14px;color:var(--ks-ink-soft);line-height:1.6;}
.ks-disclaimer p{margin:0 0 6px;}
.ks-disclaimer__src{font-size:12.5px;color:var(--ks-muted);}
@media(max-width:640px){.ks-foodrow{flex-wrap:wrap;}.ks-foodrow__name{min-width:0;width:100%;}.ks-foodrow__short{flex:1 1 100%;}.ks-fampel{flex-direction:column;gap:12px;}.ks-fampel__light{flex-direction:row;}}

/* ===================== FUTTER-CLUSTER Nachschärfung ===================== */
/* Basis-Callout (ausserhalb .ks-explainer hatte es kein Padding -> Giftig-Box-Fix) */
.ks-longread > .ks-callout, .ks-foodhub .ks-callout{background:#f6f1f8;border-left:4px solid var(--ks-cta);border-radius:10px;padding:16px 20px;margin:0 0 18px;}
.ks-longread > .ks-callout p, .ks-foodhub .ks-callout p{margin:0 0 6px;}
.ks-longread > .ks-callout p:last-child, .ks-foodhub .ks-callout p:last-child{margin-bottom:0;}
.ks-longread > .ks-callout--danger, .ks-foodhub .ks-callout--danger{background:#fbeeeb;border-left-color:#c95b47;}
.ks-toxiclist{margin:6px 0 0;padding-left:20px;}
.ks-toxiclist li{margin-bottom:5px;line-height:1.5;}
/* Ampel-Status-Pille (Handlungsempfehlung als Text + Icon, nie Farbname) */
.ks-foodrow__ampel{display:inline-flex;align-items:center;gap:5px;flex:none;font-size:11.5px;font-weight:800;padding:4px 10px;border-radius:20px;white-space:nowrap;}
.ks-ico{font-weight:900;font-size:11px;line-height:1;display:inline-block;}
.ks-foodrow__ampel--gruen{background:#e1f0e8;color:#2f7d5e;}
.ks-foodrow__ampel--gelb{background:#f9ecca;color:#946514;}
.ks-foodrow__ampel--rot{background:#f6dad2;color:#b14533;}
.ks-foodrow__name{min-width:110px;}
/* Ampel-Legende */
/* Legende — Chip auf eigener Zeile, Text-Absatz darunter (nie 2-spaltig) */
.ks-legend{list-style:none;padding:0;margin:14px 0 4px;display:flex;flex-direction:column;gap:16px;}
.ks-legend li{display:flex;flex-direction:column;align-items:flex-start;gap:7px;}
.ks-legend li p{margin:0;color:var(--ks-ink-soft);font-size:15px;line-height:1.5;}
/* Kompakt-Liste (nur Pille + Name als Chips) */
.ks-foodlist--compact{flex-direction:row;flex-wrap:wrap;gap:8px;}
.ks-foodlist--compact .ks-foodrow{flex:0 0 auto;width:auto;gap:7px;padding:7px 11px;flex-wrap:nowrap;align-items:center;}
.ks-foodlist--compact .ks-foodrow__name{min-width:0;width:auto;font-size:14.5px;white-space:nowrap;}
.ks-foodlist--compact .ks-foodrow__arrow{display:none;}
/* Icon im Banner-Label */
.ks-fampel__label .ks-ico{font-size:14px;margin-right:2px;}

/* ===== KI-Kennzeichnung (Art. 50 KI-VO): sichtbares Zeichen am Bild ===== */
.ks-breedcard__img, .ks-bhero__img, .ks-hero__img, .ks-hero__card-img,
.ks-gallery__item, .ks-relatedcard__img, .ks-searchrow__img,
.ks-guidecard__img, .ks-arthero, .ks-topichero__img { position: relative; }
.ks-ai-badge {
  position: absolute; right: 6px; bottom: 6px; z-index: 2;
  font: 600 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .4px; color: #fff; background: rgba(24, 19, 30, .55);
  padding: 3px 5px; border-radius: 4px; pointer-events: none;
}
/* Auf Mini-Thumbnails (Hero-Karte, Related, Suche) kleiner setzen */
.ks-hero__card-img .ks-ai-badge, .ks-relatedcard__img .ks-ai-badge,
.ks-searchrow__img .ks-ai-badge { right: 3px; bottom: 3px; font-size: 8px; padding: 2px 3px; }
