/* ==========================================================================
   Naturklar — Naturheilkunde-Ratgeber — Design System
   Elegant-editorial · Bodoni Moda (Display) + Archivo (Body)
   Palette: Creme #f4f1ea · Lehm-Rosé #b3735e · Aubergine #4a3a4d · Tinte #2b2530
   Prefix: nk-   ·   Mobile-first, getestet ≤380px
   ========================================================================== */

/* ---------- Selbst gehostete Schriften (DSGVO/RGPD, keine externen Requests) ----------
   Bodoni Moda (Display) + Archivo (Body) · Variable-Fonts · Subsets: latin + latin-ext */
@font-face{
  font-family:'Archivo'; font-style:normal; font-weight:300 700; font-display:swap;
  src:url(fonts/archivo-normal-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Archivo'; font-style:normal; font-weight:300 700; font-display:swap;
  src:url(fonts/archivo-normal-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Archivo'; font-style:italic; font-weight:400; font-display:swap;
  src:url(fonts/archivo-italic-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Archivo'; font-style:italic; font-weight:400; font-display:swap;
  src:url(fonts/archivo-italic-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Bodoni Moda'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url(fonts/bodonimoda-normal-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Bodoni Moda'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url(fonts/bodonimoda-normal-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Bodoni Moda'; font-style:italic; font-weight:400 500; font-display:swap;
  src:url(fonts/bodonimoda-italic-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Bodoni Moda'; font-style:italic; font-weight:400 500; font-display:swap;
  src:url(fonts/bodonimoda-italic-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ---------- Tokens ---------- */
:root{
  --nk-creme:      #f4f1ea;
  --nk-creme-tief: #eae4d7;
  --nk-rose:       #b3735e;
  --nk-rose-dunkel:#95573f;
  --nk-aubergine:  #4a3a4d;
  --nk-aubergine-2:#5e4b62;
  --nk-tinte:      #2b2530;
  --nk-weiss:      #fffdf9;
  --nk-linie:      #d8cfbe;
  --nk-grau:       #6f6675;

  --nk-serif: 'Bodoni Moda', Georgia, 'Times New Roman', serif;
  --nk-sans:  'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

  --nk-maxw: 1140px;
  --nk-lese: 720px;
  --nk-rad:  4px;
  --nk-rad-gross: 10px;
  --nk-schatten: 0 1px 2px rgba(43,37,48,.05), 0 12px 32px -18px rgba(43,37,48,.28);
  --nk-rand: 1px solid var(--nk-linie);

  --nk-s1: .5rem;  --nk-s2: 1rem;   --nk-s3: 1.5rem;
  --nk-s4: 2.25rem; --nk-s5: 3.5rem; --nk-s6: 5.5rem;
}

/* ---------- Reset / Backstop ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html,body{ overflow-x:hidden; max-width:100%; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--nk-creme);
  color:var(--nk-tinte);
  font-family:var(--nk-sans);
  font-weight:400;
  font-size:1.0625rem;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--nk-rose-dunkel); text-decoration:none; }
a:hover{ text-decoration:underline; }
h1,h2,h3,h4{ font-family:var(--nk-serif); color:var(--nk-aubergine); line-height:1.14; font-weight:600; margin:0 0 .5em; letter-spacing:-.01em; }
h1{ font-size:clamp(2.1rem,6vw,3.6rem); font-weight:700; }
h2{ font-size:clamp(1.55rem,4vw,2.35rem); }
h3{ font-size:clamp(1.2rem,3vw,1.5rem); }
p{ margin:0 0 1.1em; }
ul,ol{ margin:0 0 1.1em; padding-left:1.3em; }
li{ margin:.35em 0; }
hr{ border:0; border-top:var(--nk-rand); margin:var(--nk-s4) 0; }
strong{ font-weight:600; color:var(--nk-aubergine); }
::selection{ background:var(--nk-rose); color:var(--nk-weiss); }

/* ---------- Layout ---------- */
.nk-wrap{ width:100%; max-width:var(--nk-maxw); margin-inline:auto; padding-inline:clamp(1.15rem,5vw,2.5rem); }
.nk-lese{ max-width:var(--nk-lese); margin-inline:auto; }
.nk-section{ padding-block:clamp(2.75rem,7vw,var(--nk-s6)); }
.nk-eyebrow{
  font-family:var(--nk-sans); font-weight:600; text-transform:uppercase;
  letter-spacing:.19em; font-size:.72rem; color:var(--nk-rose-dunkel);
  margin:0 0 .9rem;
}
.nk-lead{ font-size:clamp(1.1rem,2.4vw,1.3rem); line-height:1.6; color:var(--nk-grau); }

/* ---------- Fortschrittsbalken (eindeutige ID) ---------- */
#nk-lesefortschritt{
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:linear-gradient(90deg,var(--nk-rose),var(--nk-aubergine));
  z-index:120; transition:width .1s linear;
}

/* ---------- Header / Nav (sticky) ---------- */
.nk-header{
  position:sticky; top:0; z-index:100;
  background:rgba(244,241,234,.9);
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  border-bottom:var(--nk-rand);
}
.nk-header__inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:66px; }
.nk-brand{ display:inline-flex; align-items:baseline; gap:.5rem; font-family:var(--nk-serif); font-weight:700; font-size:1.4rem; color:var(--nk-aubergine); letter-spacing:-.02em; }
.nk-brand:hover{ text-decoration:none; }
.nk-brand__mark{ width:11px; height:11px; border-radius:50%; background:var(--nk-rose); display:inline-block; transform:translateY(-1px); }
.nk-nav{ display:flex; align-items:center; gap:clamp(1rem,3vw,2rem); }
.nk-nav a{
  font-family:var(--nk-sans); font-weight:500; font-size:.95rem; color:var(--nk-tinte);
  padding:.35rem 0; position:relative;
}
.nk-nav a::after{ content:""; position:absolute; left:0; right:100%; bottom:-2px; height:2px; background:var(--nk-rose); transition:right .25s ease; }
.nk-nav a:hover{ text-decoration:none; color:var(--nk-aubergine); }
.nk-nav a:hover::after{ right:0; }
.nk-nav a.is-active{ color:var(--nk-aubergine); }
.nk-nav a.is-active::after{ right:0; }
.nk-nav__cta{ font-weight:600 !important; color:var(--nk-rose-dunkel) !important; }

.nk-burger{ display:none; background:none; border:0; padding:.4rem; cursor:pointer; color:var(--nk-aubergine); }
.nk-burger svg{ width:26px; height:26px; }

/* ---------- Hero ---------- */
.nk-hero{ position:relative; padding-block:clamp(2.75rem,8vw,var(--nk-s6)); }
.nk-hero__grid{ display:grid; grid-template-columns:1fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; }
.nk-hero h1{ margin-bottom:.3em; }
.nk-hero__lead{ font-size:clamp(1.12rem,2.6vw,1.4rem); line-height:1.55; color:var(--nk-grau); max-width:36ch; }
.nk-hero__figure{ position:relative; border-radius:var(--nk-rad-gross); overflow:hidden; box-shadow:var(--nk-schatten); background:var(--nk-creme-tief); aspect-ratio:4/3; }
.nk-hero__figure img{ width:100%; height:100%; object-fit:cover; }
.nk-hero__rule{ width:64px; height:2px; background:var(--nk-rose); margin:1.4rem 0; border:0; }

/* ---------- Buttons ---------- */
.nk-btn{
  display:inline-flex; align-items:center; gap:.55rem;
  font-family:var(--nk-sans); font-weight:600; font-size:.98rem;
  padding:.8rem 1.5rem; border-radius:var(--nk-rad); cursor:pointer;
  border:1px solid var(--nk-aubergine); background:var(--nk-aubergine); color:var(--nk-weiss);
  transition:transform .15s ease, background .2s ease, box-shadow .2s ease;
}
.nk-btn:hover{ text-decoration:none; background:var(--nk-tinte); transform:translateY(-1px); box-shadow:var(--nk-schatten); }
.nk-btn--ghost{ background:transparent; color:var(--nk-aubergine); }
.nk-btn--ghost:hover{ background:var(--nk-aubergine); color:var(--nk-weiss); }
.nk-btn--rose{ background:var(--nk-rose); border-color:var(--nk-rose); }
.nk-btn--rose:hover{ background:var(--nk-rose-dunkel); }
.nk-btn__arrow{ transition:transform .2s ease; }
.nk-btn:hover .nk-btn__arrow{ transform:translateX(3px); }

/* ---------- Pillar-Push (starker Verweis) ---------- */
.nk-pillar{ background:var(--nk-aubergine); color:var(--nk-creme); border-radius:var(--nk-rad-gross); overflow:hidden; }
.nk-pillar__inner{ display:grid; grid-template-columns:1fr; gap:1.5rem; padding:clamp(1.75rem,5vw,3.25rem); }
.nk-pillar .nk-eyebrow{ color:var(--nk-rose); }
.nk-pillar h2{ color:var(--nk-creme); }
.nk-pillar p{ color:rgba(244,241,234,.82); }
.nk-pillar .nk-btn{ background:var(--nk-rose); border-color:var(--nk-rose); color:var(--nk-weiss); }
.nk-pillar .nk-btn:hover{ background:var(--nk-rose-dunkel); }

/* ---------- Karten-Raster ---------- */
.nk-grid{ display:grid; gap:clamp(1.25rem,3vw,1.75rem); grid-template-columns:1fr; }
@media(min-width:620px){ .nk-grid--2{ grid-template-columns:repeat(2,1fr);} }
@media(min-width:860px){ .nk-grid--3{ grid-template-columns:repeat(3,1fr);} }

.nk-card{
  display:flex; flex-direction:column;
  background:var(--nk-weiss); border:var(--nk-rand); border-radius:var(--nk-rad-gross);
  overflow:hidden; box-shadow:var(--nk-schatten);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.nk-card:hover{ transform:translateY(-4px); border-color:var(--nk-rose); box-shadow:0 18px 40px -22px rgba(43,37,48,.4); }
a.nk-card:hover{ text-decoration:none; }
.nk-card__media{ aspect-ratio:16/10; background:var(--nk-creme-tief); overflow:hidden; }
.nk-card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.nk-card:hover .nk-card__media img{ transform:scale(1.04); }
.nk-card__body{ padding:1.35rem 1.4rem 1.5rem; display:flex; flex-direction:column; flex:1; }
.nk-chip{
  align-self:flex-start; font-family:var(--nk-sans); font-weight:600; font-size:.68rem;
  text-transform:uppercase; letter-spacing:.14em; color:var(--nk-rose-dunkel);
  background:var(--nk-creme); border:1px solid var(--nk-linie); border-radius:99px;
  padding:.28rem .7rem; margin-bottom:.85rem;
}
.nk-card__title{ font-family:var(--nk-serif); font-size:1.32rem; font-weight:600; color:var(--nk-aubergine); margin:0 0 .5rem; line-height:1.2; }
.nk-card__text{ color:var(--nk-grau); font-size:.97rem; margin:0 0 1rem; }
.nk-card__more{ margin-top:auto; font-weight:600; font-size:.9rem; color:var(--nk-rose-dunkel); display:inline-flex; align-items:center; gap:.4rem; }
.nk-card:hover .nk-card__more{ text-decoration:underline; }

/* ---------- Artikel-Typografie (für #more Artikel) ---------- */
.nk-article{ padding-block:clamp(1.5rem,4vw,var(--nk-s4)); }
.nk-article__hero{ padding-block:clamp(2rem,5vw,var(--nk-s5)) clamp(1rem,3vw,var(--nk-s3)); }
.nk-kicker{ font-family:var(--nk-sans); font-weight:600; text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; color:var(--nk-rose-dunkel); margin-bottom:1rem; }
.nk-article__lead{ font-size:clamp(1.12rem,2.5vw,1.32rem); line-height:1.6; color:var(--nk-grau); max-width:44ch; }

/* Byline */
.nk-byline{ display:flex; align-items:center; gap:.85rem; margin-top:1.6rem; padding-top:1.2rem; border-top:var(--nk-rand); }
.nk-byline__avatar{ width:46px; height:46px; border-radius:50%; background:var(--nk-aubergine); color:var(--nk-creme); display:grid; place-items:center; font-family:var(--nk-serif); font-weight:700; font-size:1.15rem; flex:none; }
.nk-byline__meta{ font-size:.9rem; line-height:1.4; color:var(--nk-grau); }
.nk-byline__name{ font-weight:600; color:var(--nk-tinte); display:block; }

/* TOC */
.nk-toc{ background:var(--nk-weiss); border:var(--nk-rand); border-radius:var(--nk-rad-gross); padding:1.3rem 1.5rem; margin:2rem 0; }
.nk-toc__title{ font-family:var(--nk-sans); font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; color:var(--nk-rose-dunkel); margin:0 0 .7rem; }
.nk-toc ol{ margin:0; padding-left:1.2rem; columns:1; }
.nk-toc a{ color:var(--nk-tinte); }
@media(min-width:640px){ .nk-toc ol{ columns:2; column-gap:2rem; } }

/* Intro-Kasten */
.nk-intro{ background:var(--nk-creme-tief); border-left:3px solid var(--nk-rose); border-radius:var(--nk-rad); padding:1.25rem 1.4rem; margin:1.8rem 0; }
.nk-intro p:last-child{ margin-bottom:0; }

/* Callouts */
.nk-callout{ border-radius:var(--nk-rad-gross); padding:1.2rem 1.4rem 1.2rem 1.4rem; margin:1.8rem 0; border:1px solid; display:flex; gap:.9rem; }
.nk-callout__icon{ flex:none; width:26px; height:26px; }
.nk-callout p:last-child{ margin-bottom:0; }
.nk-callout__label{ font-weight:700; font-family:var(--nk-sans); display:block; margin-bottom:.25rem; }
.nk-callout--tip{ background:#eef3ec; border-color:#cfe0c8; color:#2f4029; }
.nk-callout--tip .nk-callout__label{ color:#3f5a35; }
.nk-callout--tip .nk-callout__icon{ color:#5a7a49; }
.nk-callout--warn{ background:#f9ece7; border-color:#e6c3b6; color:#6b3423; }
.nk-callout--warn .nk-callout__label{ color:#95573f; }
.nk-callout--warn .nk-callout__icon{ color:var(--nk-rose-dunkel); }

/* Tabelle (responsive Wrapper) */
.nk-tablewrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin:1.8rem 0; border:var(--nk-rand); border-radius:var(--nk-rad-gross); }
.nk-table{ width:100%; border-collapse:collapse; min-width:460px; font-size:.95rem; }
.nk-table caption{ text-align:left; font-size:.85rem; color:var(--nk-grau); padding:.7rem 1rem; }
.nk-table th,.nk-table td{ padding:.8rem 1rem; text-align:left; border-bottom:1px solid var(--nk-linie); }
.nk-table thead th{ background:var(--nk-aubergine); color:var(--nk-creme); font-family:var(--nk-sans); font-weight:600; font-size:.82rem; text-transform:uppercase; letter-spacing:.06em; }
.nk-table tbody tr:nth-child(even){ background:var(--nk-creme); }
.nk-table tbody tr:last-child td{ border-bottom:0; }

/* FAQ Akkordeon */
.nk-faq{ margin:1.8rem 0; }
.nk-faq details{ border:var(--nk-rand); border-radius:var(--nk-rad); background:var(--nk-weiss); margin-bottom:.7rem; overflow:hidden; }
.nk-faq details[open]{ border-color:var(--nk-rose); }
.nk-faq summary{
  list-style:none; cursor:pointer; padding:1rem 1.2rem; font-family:var(--nk-sans);
  font-weight:600; color:var(--nk-aubergine); display:flex; justify-content:space-between; align-items:center; gap:1rem;
}
.nk-faq summary::-webkit-details-marker{ display:none; }
.nk-faq summary::after{ content:"+"; font-family:var(--nk-serif); font-size:1.4rem; color:var(--nk-rose); transition:transform .2s ease; line-height:1; }
.nk-faq details[open] summary::after{ transform:rotate(45deg); }
.nk-faq__body{ padding:0 1.2rem 1.1rem; color:var(--nk-tinte); }
.nk-faq__body p:last-child{ margin-bottom:0; }

/* Biblio / Quellen */
.nk-biblio{ font-size:.88rem; color:var(--nk-grau); }
.nk-biblio ol{ padding-left:1.3rem; }
.nk-biblio li{ margin:.5rem 0; }

/* Next-Read */
.nk-nextread{ display:grid; gap:1rem; grid-template-columns:1fr; margin:2rem 0; }
@media(min-width:640px){ .nk-nextread{ grid-template-columns:repeat(2,1fr);} }
.nk-nextread__item{ border:var(--nk-rand); border-radius:var(--nk-rad-gross); padding:1.1rem 1.3rem; background:var(--nk-weiss); transition:border-color .2s ease, transform .2s ease; }
.nk-nextread__item:hover{ border-color:var(--nk-rose); transform:translateY(-2px); }
a.nk-nextread__item:hover{ text-decoration:none; }
.nk-nextread__kick{ font-size:.68rem; text-transform:uppercase; letter-spacing:.13em; color:var(--nk-rose-dunkel); font-weight:600; }
.nk-nextread__t{ font-family:var(--nk-serif); font-size:1.12rem; color:var(--nk-aubergine); margin:.3rem 0 0; }

/* ---------- Disclaimer ---------- */
.nk-disclaimer{ background:var(--nk-creme-tief); border:1px dashed var(--nk-rose); border-radius:var(--nk-rad-gross); padding:1.2rem 1.4rem; margin:2rem 0; font-size:.9rem; color:var(--nk-grau); }
.nk-disclaimer strong{ color:var(--nk-rose-dunkel); }

/* ---------- Footer ---------- */
.nk-footer{ background:var(--nk-tinte); color:var(--nk-creme); padding-block:clamp(2.5rem,6vw,4rem); margin-top:var(--nk-s5); }
.nk-footer a{ color:var(--nk-creme); opacity:.82; }
.nk-footer a:hover{ opacity:1; }
.nk-footer__grid{ display:grid; gap:2rem; grid-template-columns:1fr; }
@media(min-width:720px){ .nk-footer__grid{ grid-template-columns:1.4fr 1fr 1fr; } }
.nk-footer__brand{ font-family:var(--nk-serif); font-size:1.5rem; font-weight:700; color:var(--nk-creme); margin-bottom:.6rem; }
.nk-footer__desc{ opacity:.7; font-size:.92rem; max-width:34ch; }
.nk-footer h4{ font-family:var(--nk-sans); text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; color:var(--nk-rose); margin:0 0 .9rem; }
.nk-footer ul{ list-style:none; margin:0; padding:0; }
.nk-footer li{ margin:.5rem 0; font-size:.92rem; }
.nk-footer__bottom{ border-top:1px solid rgba(244,241,234,.15); margin-top:2.5rem; padding-top:1.4rem; font-size:.82rem; opacity:.62; display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; justify-content:space-between; }

/* ---------- Mobile Nav ---------- */
@media(max-width:760px){
  .nk-burger{ display:inline-flex; }
  .nk-nav{
    position:fixed; inset:66px 0 auto 0; flex-direction:column; align-items:flex-start;
    gap:0; background:var(--nk-creme); border-bottom:var(--nk-rand);
    padding:.5rem clamp(1.15rem,5vw,2.5rem) 1.2rem; transform:translateY(-8px);
    opacity:0; pointer-events:none; transition:opacity .2s ease, transform .2s ease;
  }
  .nk-nav.is-open{ opacity:1; transform:translateY(0); pointer-events:auto; }
  .nk-nav a{ width:100%; padding:.85rem 0; border-bottom:1px solid var(--nk-linie); font-size:1.05rem; }
  .nk-nav a::after{ display:none; }
}

/* ---------- Grössere Layout-Verbesserungen ---------- */
@media(min-width:860px){
  .nk-hero__grid{ grid-template-columns:1.05fr .95fr; }
  .nk-pillar__inner{ grid-template-columns:1.4fr auto; align-items:center; }
}

/* ==========================================================================
   Heilpflanzen-Finder (interaktives Modul)  ·  Prefix: nk-finder
   ========================================================================== */
.nk-finder{
  background:var(--nk-weiss); border:var(--nk-rand); border-radius:var(--nk-rad-gross);
  overflow:hidden; box-shadow:var(--nk-schatten);
}
.nk-finder__inner{ padding:clamp(1.6rem,4.5vw,3rem); }
.nk-finder__head{ max-width:52ch; }
.nk-finder__lead{ color:var(--nk-grau); font-size:clamp(1.02rem,2.2vw,1.15rem); margin:0; }

/* Chips (Tablist) */
.nk-finder__chips{
  display:flex; flex-wrap:wrap; gap:.6rem; margin:1.6rem 0 0; padding:0;
  border:0;
}
.nk-finder__chip{
  font-family:var(--nk-sans); font-weight:600; font-size:.92rem;
  color:var(--nk-aubergine); background:var(--nk-creme);
  border:1px solid var(--nk-linie); border-radius:99px;
  padding:.55rem 1.15rem; cursor:pointer; line-height:1.2;
  display:inline-flex; align-items:center; gap:.5rem;
  transition:background .18s ease, color .18s ease, border-color .18s ease, transform .15s ease;
}
.nk-finder__chip:hover{ border-color:var(--nk-rose); transform:translateY(-1px); }
.nk-finder__chip:focus-visible{ outline:2px solid var(--nk-aubergine); outline-offset:2px; }
.nk-finder__chip[aria-selected="true"]{
  background:var(--nk-aubergine); border-color:var(--nk-aubergine); color:var(--nk-creme);
}
.nk-finder__chip[aria-selected="true"]:hover{ background:var(--nk-tinte); border-color:var(--nk-tinte); }
.nk-finder__chip .nk-finder__dot{
  width:7px; height:7px; border-radius:50%; background:var(--nk-rose); flex:none;
}
.nk-finder__chip[aria-selected="true"] .nk-finder__dot{ background:var(--nk-rose); }

/* Panel */
.nk-finder__panel{ margin-top:1.7rem; }
.nk-finder__panel:focus-visible{ outline:2px solid var(--nk-aubergine); outline-offset:4px; border-radius:var(--nk-rad); }
.nk-finder__panelhead{
  display:flex; align-items:baseline; flex-wrap:wrap; gap:.5rem 1rem; margin-bottom:1.1rem;
}
.nk-finder__paneltitle{
  font-family:var(--nk-serif); font-weight:600; color:var(--nk-aubergine);
  font-size:clamp(1.25rem,3.2vw,1.6rem); margin:0; line-height:1.15;
}
.nk-finder__count{ font-size:.85rem; color:var(--nk-grau); }

/* Pflanzen-Liste */
.nk-finder__plants{ list-style:none; margin:0; padding:0; display:grid; gap:1rem; }
@media(min-width:640px){ .nk-finder__plants{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:960px){ .nk-finder__plants{ grid-template-columns:repeat(3,1fr); } }
.nk-finder__plant{
  background:var(--nk-creme); border:1px solid var(--nk-linie);
  border-left:3px solid var(--nk-rose); border-radius:var(--nk-rad);
  padding:1.1rem 1.25rem; margin:0;
  animation:nk-finder-in .32s ease both;
}
.nk-finder__pname{
  font-family:var(--nk-serif); font-weight:600; color:var(--nk-aubergine);
  font-size:1.12rem; margin:0; line-height:1.2;
}
.nk-finder__plat{ font-style:italic; font-weight:400; color:var(--nk-grau); font-size:.9rem; }
.nk-finder__puse{
  display:block; font-family:var(--nk-sans); font-weight:600; font-size:.82rem;
  color:var(--nk-rose-dunkel); margin:.5rem 0 .35rem;
}
.nk-finder__pnote{ margin:0; font-size:.94rem; color:var(--nk-tinte); line-height:1.55; }

@keyframes nk-finder-in{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }

/* HWG-Disclaimer im Modul */
.nk-finder__disclaimer{
  display:flex; gap:.8rem; align-items:flex-start;
  margin-top:1.8rem; padding:1.05rem 1.25rem;
  background:var(--nk-creme-tief); border:1px dashed var(--nk-rose);
  border-radius:var(--nk-rad); font-size:.88rem; color:var(--nk-grau); line-height:1.55;
}
.nk-finder__disclaimer svg{ flex:none; width:22px; height:22px; color:var(--nk-rose-dunkel); margin-top:1px; }
.nk-finder__disclaimer strong{ color:var(--nk-rose-dunkel); }
.nk-finder__disclaimer p{ margin:0; }

@media(min-width:420px){
  .nk-finder__panelhead{ align-items:baseline; }
}

/* Reduced motion für das Modul */
@media(prefers-reduced-motion:reduce){
  .nk-finder__plant{ animation:none; }
}

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

/* ==========================================================================
   HOME PREMIUM  ·  Editorial-Upgrade der Startseite
   Nur additive/gescopte Regeln — Basisklassen anderer Seiten bleiben unberuehrt.
   ========================================================================== */

/* Sanfte Papier-Tiefe nur auf der Startseite */
body.nk-home{
  background:
    radial-gradient(1100px 560px at 82% -6%, rgba(179,115,94,.055), transparent 60%),
    radial-gradient(820px 480px at -8% 10%, rgba(74,58,77,.045), transparent 55%),
    var(--nk-creme);
}

/* Eyebrow mit feinem Vorlauf-Strich */
.nk-eyebrow--mark{ display:flex; align-items:center; }
.nk-eyebrow--mark::before{
  content:""; width:26px; height:1px; background:var(--nk-rose);
  margin-right:.8rem; flex:none;
}

/* Sektionskopf (Titel + Begleitlink auf einer Linie) */
.nk-secthead{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:.6rem 2rem; flex-wrap:wrap; margin-bottom:clamp(1.5rem,3.2vw,2.4rem);
}
.nk-secthead__main{ max-width:46ch; }
.nk-secthead h2{ margin-bottom:0; }
.nk-secthead__link{
  font-family:var(--nk-sans); font-weight:600; font-size:.9rem; color:var(--nk-rose-dunkel);
  display:inline-flex; align-items:center; gap:.45rem; white-space:nowrap; padding-bottom:.15rem;
}
.nk-secthead__link:hover{ text-decoration:none; color:var(--nk-aubergine); }
.nk-secthead__link .nk-btn__arrow{ transition:transform .2s ease; }
.nk-secthead__link:hover .nk-btn__arrow{ transform:translateX(3px); }

/* ---------- Hero (nur Startseite via --home) ---------- */
.nk-hero--home{ padding-top:clamp(2.25rem,6vw,4.25rem); }
.nk-hero--home h1{ margin-bottom:.28em; }
.nk-hero--home h1 em{ font-style:italic; font-weight:500; color:var(--nk-rose-dunkel); }
.nk-hero__actions{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.8rem; align-items:center; }
.nk-hero__meta{
  margin:1.3rem 0 0; font-size:.82rem; letter-spacing:.02em; color:var(--nk-grau);
}
.nk-hero--home .nk-hero__figure{ position:relative; }
.nk-hero--home .nk-hero__figure::after{
  content:""; position:absolute; inset:0; border:1px solid rgba(255,253,249,.45);
  border-radius:inherit; pointer-events:none;
}
.nk-herofig{ position:relative; }
.nk-herofig .nk-hero__figure{ position:relative; z-index:1; }
.nk-herofig::before{
  content:""; position:absolute; right:-16px; bottom:-16px; width:54%; height:60%;
  border:1px solid var(--nk-rose); opacity:.35; border-radius:var(--nk-rad-gross); z-index:0;
}
@media(max-width:640px){ .nk-herofig::before{ display:none; } }
.nk-figcaption{
  margin-top:.75rem; font-family:var(--nk-sans); font-size:.82rem; color:var(--nk-grau);
  display:flex; align-items:center; gap:.5rem;
}
.nk-figcaption::before{ content:""; width:16px; height:1px; background:var(--nk-rose); flex:none; }

/* ---------- Vertrauensband ---------- */
.nk-trust{ background:var(--nk-weiss); border-top:var(--nk-rand); border-bottom:var(--nk-rand); }
.nk-trust__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; }
.nk-trust__item{
  display:flex; gap:.85rem; align-items:flex-start; padding:1.1rem 0;
  border-top:1px solid var(--nk-linie);
}
.nk-trust__item:first-child{ border-top:0; }
.nk-trust__icon{ flex:none; width:24px; height:24px; color:var(--nk-rose-dunkel); margin-top:2px; }
.nk-trust__t{ display:block; font-family:var(--nk-sans); font-weight:700; font-size:.95rem; color:var(--nk-aubergine); }
.nk-trust__d{ display:block; font-size:.85rem; color:var(--nk-grau); line-height:1.45; margin-top:.15rem; }
@media(min-width:560px) and (max-width:979.98px){
  .nk-trust__grid{ grid-template-columns:1fr 1fr; }
  .nk-trust__item{ padding:1.25rem clamp(.7rem,2vw,1.3rem); }
  .nk-trust__item:nth-child(1),.nk-trust__item:nth-child(2){ border-top:0; }
  .nk-trust__item:nth-child(odd){ padding-left:0; }
  .nk-trust__item:nth-child(even){ border-left:1px solid var(--nk-linie); }
}
@media(min-width:980px){
  .nk-trust__grid{ grid-template-columns:repeat(4,1fr); }
  .nk-trust__item{ border-top:0; padding:1.5rem clamp(1rem,2vw,1.9rem); border-left:1px solid var(--nk-linie); }
  .nk-trust__item:first-child{ border-left:0; padding-left:0; }
}

/* ---------- Pillar-Veredelung ---------- */
.nk-pillar__tags{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.3rem; }
.nk-pillar__tags span{
  font-family:var(--nk-sans); font-weight:600; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--nk-creme); border:1px solid rgba(244,241,234,.28); border-radius:99px; padding:.34rem .85rem;
}
.nk-pillar__aside{ display:flex; flex-direction:column; align-items:flex-start; gap:1.25rem; }
.nk-pillar__deco{
  font-family:var(--nk-serif); font-weight:700; font-size:clamp(3.5rem,9vw,5.75rem); line-height:.8;
  color:transparent; -webkit-text-stroke:1px rgba(179,115,94,.6); letter-spacing:-.02em;
}
@media(min-width:860px){ .nk-pillar__aside{ align-items:flex-end; text-align:right; } }

/* ---------- Register (Verfahren-Index) ---------- */
.nk-idx{ margin-top:.5rem; }
.nk-idx__row{
  display:grid; grid-template-columns:2.6rem 1fr auto; gap:.1rem 1rem; align-items:baseline;
  padding:1.05rem .5rem; border-top:var(--nk-rand); transition:background .2s ease;
}
.nk-idx__row:last-child{ border-bottom:var(--nk-rand); }
.nk-idx__n{ grid-column:1; grid-row:1 / span 2; align-self:center; font-family:var(--nk-serif); font-weight:600; font-size:1.15rem; color:var(--nk-rose); font-variant-numeric:tabular-nums; }
.nk-idx__t{ grid-column:2; grid-row:1; font-family:var(--nk-serif); font-size:1.18rem; color:var(--nk-aubergine); line-height:1.2; transition:color .2s ease; }
.nk-idx__g{ grid-column:2; grid-row:2; color:var(--nk-grau); font-size:.92rem; }
.nk-idx__a{ grid-column:3; grid-row:1 / span 2; align-self:center; color:var(--nk-rose-dunkel); transition:transform .2s ease; }
a.nk-idx__row:hover{ text-decoration:none; background:var(--nk-weiss); }
.nk-idx__row:hover .nk-idx__t{ color:var(--nk-rose-dunkel); }
.nk-idx__row:hover .nk-idx__a{ transform:translateX(4px); }

/* Karten-Index-Nummer (nur bei .nk-cards--index) */
.nk-cards--index .nk-card__media{ position:relative; }
.nk-card__num{
  position:absolute; top:.7rem; left:.7rem; z-index:2;
  font-family:var(--nk-serif); font-weight:600; font-size:.95rem; line-height:1; color:var(--nk-creme);
  width:2.15rem; height:2.15rem; display:grid; place-items:center;
  background:rgba(43,37,48,.55); border:1px solid rgba(255,253,249,.35); border-radius:99px;
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
}

/* ---------- Discrete Reveal-Animation (nur mit JS, respektiert reduced-motion) ---------- */
html.nk-js .nk-reveal{ opacity:0; transform:translateY(16px); transition:opacity .7s cubic-bezier(.2,.6,.2,1), transform .7s cubic-bezier(.2,.6,.2,1); }
html.nk-js .nk-reveal.is-in{ opacity:1; transform:none; }
html.nk-js .nk-reveal--d1{ transition-delay:.09s; }
html.nk-js .nk-reveal--d2{ transition-delay:.18s; }
html.nk-js .nk-reveal--d3{ transition-delay:.27s; }
@media(prefers-reduced-motion:reduce){
  html.nk-js .nk-reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* ===== reveal-fix (2026-07-08 v2): opacity TOUJOURS 1 (jamais caché), entrée transform-only sûre ===== */
@keyframes nkRevealFix{from{transform:translateY(16px)}to{transform:none}}
.nk-reveal{opacity:1!important;animation:nkRevealFix .7s cubic-bezier(.2,.6,.2,1) both}
.nk-reveal--d1{animation-delay:.09s}
.nk-reveal--d2{animation-delay:.18s}
.nk-reveal--d3{animation-delay:.27s}
@media(prefers-reduced-motion:reduce){.nk-reveal{animation:none;transform:none!important}}

/* ===== icon-fix (2026-07-08): contraindre les SVG d'icônes ===== */
.nk-trust__icon{flex:none;width:30px;height:30px}
.nk-trust__item svg,.nk-feat svg,.nk-pillar svg{max-width:32px;max-height:32px}
