/* ============================================================
   Ina Heinemann · Hebamme mit Bauchgefühl
   WordPress-Theme · Khan Solutions
   ============================================================ */

/* ============ Design Tokens ============ */
:root{
  --clay:#c05e2c;
  --clay-dark:#8c421d;
  --clay-ink:#a14f25;   /* kleine Orange-Schrift: AA auf Weiß, Creme und Sand */
  --clay-soft:#f6e8e1;
  --clay-tint:#fbf5f2;
  --ink:#181818;
  --body:#4d4c49;
  --muted:#6b6966;
  --line:#dfded9;
  --line-soft:#eae9e5;
  --cream:#faf9f7;
  --sand:#efeeeb;
  --sand-2:#e5e4df;
  --sage:#5f7263;
  --sage-dark:#4a5b4e;
  --sage-mist:#eaefe9;
  --sage-tint:#f3f6f2;
  --gold:#b8894e;

  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  --radius:16px;
  --radius-lg:26px;
  --shadow-sm:0 2px 10px rgba(24,24,22,.06);
  --shadow-md:0 12px 34px rgba(24,24,22,.10);
  --shadow-lg:0 28px 70px rgba(24,24,22,.16);
  --header-h:76px;
}

*{margin:0;padding:0}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  font-family:var(--sans);
  color:var(--body);
  background:var(--cream);
  line-height:1.68;
  font-size:1rem;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4,.serif{font-family:var(--serif);color:var(--ink);font-weight:600;line-height:1.16;letter-spacing:-.01em}
img,svg,video{max-width:100%;display:block}
a{color:var(--clay-ink);text-decoration:none}
a:hover{color:var(--clay-dark)}
strong{color:var(--ink);font-weight:600}
section{scroll-margin-top:calc(var(--header-h) + 14px)}
:focus-visible{outline:3px solid var(--clay);outline-offset:3px;border-radius:6px}

.container{width:min(1200px,92%);margin-inline:auto}
.container--narrow{width:min(860px,92%);margin-inline:auto}
.container--mid{width:min(1020px,92%);margin-inline:auto}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.7em 1.2em;z-index:999}
.skip:focus{left:12px;top:12px}

/* ============ Bausteine ============ */
.eyebrow{
  display:inline-flex;align-items:center;gap:.55em;font-family:var(--sans);
  font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--clay-ink);margin-bottom:1rem;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--clay);opacity:.5}
.eyebrow--center::after{content:"";width:26px;height:1px;background:var(--clay);opacity:.5}
.section{padding:clamp(3.6rem,7vw,6rem) 0}
.section--tight{padding:clamp(2.6rem,5vw,4rem) 0}
.section--sand{background:var(--sand)}
.section--cream{background:var(--cream)}
.section--tintclay{background:var(--clay-tint)}
.section-head{max-width:720px;margin:0 auto clamp(2.2rem,4vw,3.2rem);text-align:center}
.section-head--left{margin-left:0;text-align:left}
.section-head h2{font-size:clamp(1.75rem,3.6vw,2.6rem);margin-bottom:.85rem}
.section-head p{font-size:1.06rem;color:var(--body)}
.lead{font-size:1.14rem;color:var(--body)}

/* ============ Buttons ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--sans);font-size:.97rem;font-weight:600;line-height:1;
  padding:.95em 1.7em;border-radius:999px;border:1.5px solid transparent;
  cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
  text-align:center;
}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:var(--clay);color:#fff;box-shadow:0 8px 20px rgba(192,94,44,.24)}
.btn-primary:hover{background:var(--clay-dark);color:#fff;transform:translateY(-2px);box-shadow:0 14px 30px rgba(192,94,44,.30)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{background:#fff;border-color:var(--clay);color:var(--clay-ink);transform:translateY(-2px)}
.btn-light{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}
.btn-light:hover{color:var(--clay-ink);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-sage{background:var(--sage);color:#fff}
.btn-sage:hover{background:var(--sage-dark);color:#fff;transform:translateY(-2px)}
.btn-sm{padding:.7em 1.25em;font-size:.88rem}
.btn-block{width:100%}
.textlink{display:inline-flex;align-items:center;gap:.45em;font-weight:600;font-size:.95rem}
.textlink svg{width:16px;height:16px;transition:transform .18s ease}
.textlink:hover svg{transform:translateX(4px)}

/* ============ Header ============ */
.site-header{
  position:sticky;top:0;z-index:100;background:rgba(250,249,247,.86);
  backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid transparent;transition:border-color .25s ease,box-shadow .25s ease;
}
.site-header.is-stuck{border-bottom-color:var(--line-soft);box-shadow:0 4px 20px rgba(24,24,22,.05)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--header-h)}
.brand{display:flex;align-items:center;gap:.72rem}
.brand .mark{height:34px;width:auto;flex:none}
.brand-name{
  display:flex;flex-direction:column;font-family:var(--serif);font-weight:600;
  font-size:1.1rem;line-height:1.08;color:var(--ink);
}
.brand-name .sub{
  font-family:var(--sans);font-size:.63rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--muted);margin-top:.34em;
}
@media (max-width:440px){.brand-name .sub{display:none}.brand .mark{height:30px}}
.main-nav ul{list-style:none;display:flex;align-items:center;gap:.15rem}
.main-nav a{
  display:block;padding:.55em .85em;border-radius:999px;font-size:.94rem;font-weight:500;
  color:var(--ink);transition:background .18s ease,color .18s ease;
}
.main-nav a:hover{background:var(--sand);color:var(--clay-ink)}
.main-nav a.active{color:var(--clay-ink);background:var(--clay-soft)}
.header-cta{display:flex;align-items:center;gap:.6rem}
.header-cta .tel{display:inline-flex;align-items:center;gap:.4em;font-size:.9rem;font-weight:600;color:var(--ink);padding:.5em .6em}
.header-cta .tel svg{width:17px;height:17px;color:var(--clay)}
.header-cta .tel:hover{color:var(--clay-ink)}
.nav-toggle{
  display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:12px;
  cursor:pointer;position:relative;flex:none;
}
.nav-toggle span{
  display:block;position:absolute;left:12px;width:20px;height:2px;background:var(--ink);border-radius:2px;
  transition:transform .25s ease,opacity .2s ease;
}
.nav-toggle span:nth-child(1){top:15px}
.nav-toggle span:nth-child(2){top:21px}
.nav-toggle span:nth-child(3){top:27px}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media (max-width:1040px){
  .main-nav{
    position:absolute;top:100%;left:0;right:0;background:var(--cream);
    border-bottom:1px solid var(--line);padding:1rem 4% 1.6rem;
    transform:translateY(-8px);opacity:0;visibility:hidden;transition:.22s ease;
    box-shadow:var(--shadow-md);max-height:calc(100vh - var(--header-h));overflow:auto;
  }
  .main-nav.open{transform:translateY(0);opacity:1;visibility:visible}
  .main-nav ul{flex-direction:column;align-items:stretch;gap:.15rem}
  .main-nav a{padding:.85em 1em;font-size:1.02rem}
  .nav-toggle{display:block}
  .header-cta .btn{display:none}
}
@media (max-width:620px){ .header-cta .tel span{display:none} }

/* ============ Hero ============ */
.hero{position:relative;background:linear-gradient(170deg,var(--sand) 0%,var(--cream) 62%);overflow:hidden}
.hero::before{
  content:"";position:absolute;right:-14vw;top:-24vh;width:58vw;height:58vw;border-radius:50%;
  background:radial-gradient(circle at 40% 40%,rgba(192,94,44,.10),transparent 62%);pointer-events:none;
}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;
  padding:clamp(2.8rem,6vw,5.2rem) 0 clamp(3rem,6vw,5rem)}
.hero h1{font-size:clamp(2.3rem,5.4vw,4rem);margin-bottom:1.1rem}
.hero h1 em{font-style:normal;color:var(--clay)}
.hero-sub{font-size:clamp(1.05rem,1.6vw,1.22rem);max-width:46ch;margin-bottom:1.9rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2.2rem}
.hero-trust{display:flex;flex-wrap:wrap;gap:1.6rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.hero-trust div{display:flex;flex-direction:column}
.hero-trust b{font-family:var(--serif);font-size:1.6rem;color:var(--clay);line-height:1.1}
.hero-trust span{font-size:.84rem;color:var(--muted);letter-spacing:.02em}
.hero-media{position:relative}
.hero-media img{
  width:100%;border-radius:200px 200px var(--radius-lg) var(--radius-lg);
  box-shadow:var(--shadow-lg);object-fit:cover;aspect-ratio:4/5;
}
.hero-badge{
  position:absolute;left:-1.2rem;bottom:2rem;background:#fff;border-radius:var(--radius);
  padding:.95rem 1.2rem;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.75rem;max-width:250px;
}
.hero-badge svg{width:30px;height:30px;color:var(--clay);flex:none}
.hero-badge b{display:block;font-family:var(--serif);color:var(--ink);font-size:1rem;line-height:1.2}
.hero-badge span{font-size:.8rem;color:var(--muted);line-height:1.35;display:block}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:2.4rem}
  .hero-media{max-width:420px;margin-inline:auto;width:100%}
  .hero-badge{left:-.4rem}
}

/* ============ Pfad-Karten ============ */
.paths{position:relative;z-index:2}
.paths-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.path-card{
  background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:2rem 1.7rem 1.7rem;
  box-shadow:var(--shadow-sm);display:flex;flex-direction:column;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.path-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--clay-soft)}
.path-card .ico{
  width:56px;height:56px;border-radius:18px;background:var(--clay-soft);color:var(--clay);
  display:grid;place-items:center;margin-bottom:1.15rem;
}
.path-card .ico svg{width:28px;height:28px}
.path-card h3{font-size:1.3rem;margin-bottom:.15rem}
.path-card .who{font-size:.82rem;color:var(--clay-ink);font-weight:600;letter-spacing:.04em;margin-bottom:.7rem}
.path-card p{font-size:.97rem;margin-bottom:1.2rem}
.path-card ul{list-style:none;margin:0 0 1.4rem;display:flex;flex-wrap:wrap;gap:.4rem}
.path-card li{font-size:.82rem;background:var(--sand);color:var(--body);padding:.35em .8em;border-radius:999px}
.path-card .btn{margin-top:auto}
.path-card--sage .ico{background:var(--sage-mist);color:var(--sage)}
.path-card--sage .who{color:var(--sage)}
.path-card--sage:hover{border-color:var(--sage-mist)}
@media (max-width:900px){.paths-grid{grid-template-columns:1fr}}

/* ============ Split (Bild + Text) ============ */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.4rem);align-items:center}
.split--reverse .split-media{order:2}
.split-media img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);object-fit:cover}
.split-media.tall img{aspect-ratio:4/5}
.split-media.wide img{aspect-ratio:3/2}
.split-body h2{font-size:clamp(1.6rem,3.2vw,2.3rem);margin-bottom:1rem}
.split-body p+p{margin-top:.9rem}
.split-body .btn{margin-top:1.6rem}
@media (max-width:860px){
  .split{grid-template-columns:1fr;gap:2rem}
  .split--reverse .split-media{order:0}
}

/* ============ Checkliste ============ */
.checklist{list-style:none;display:grid;gap:.7rem;margin:1.4rem 0 0}
.checklist li{display:flex;gap:.7rem;align-items:flex-start;font-size:.99rem}
.checklist svg{width:20px;height:20px;color:var(--clay);flex:none;margin-top:.24em}
.checklist--sage svg{color:var(--sage)}

/* ============ Angebots-Karten ============ */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2.4rem}
.chip{
  font:inherit;font-size:.9rem;font-weight:600;padding:.6em 1.25em;border-radius:999px;cursor:pointer;
  border:1.5px solid var(--line);background:#fff;color:var(--body);transition:.18s ease;
}
.chip:hover{border-color:var(--clay);color:var(--clay-ink)}
.chip[aria-pressed="true"]{background:var(--clay);border-color:var(--clay);color:#fff}
.offer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:1.2rem}
.offer{
  background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.5rem;
  display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.offer:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--clay-soft)}
.offer.is-hidden{display:none}
.offer-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.85rem}
.tag{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.34em .7em;border-radius:6px}
.tag--pre{background:var(--clay-soft);color:var(--clay-dark)}
.tag--post{background:#eaf0ea;color:var(--sage-dark)}
.tag--online{background:#eef1f6;color:#4c5a72}
.tag--pro{background:#f5edda;color:#7d6128}
.offer h3,.offer h2{font-size:1.1rem;line-height:1.3;margin-bottom:.5rem}
.offer p{font-size:.92rem;color:var(--muted);margin-bottom:1.1rem}
.offer-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.8rem;
  padding-top:1rem;border-top:1px solid var(--line-soft)}
.price{font-family:var(--serif);font-size:1.3rem;color:var(--ink)}
.price small{font-size:.76rem;color:var(--muted);font-family:var(--sans);display:block;line-height:1.2}
.price--ask{font-size:1rem;color:var(--muted)}

/* ============ Info-Panel ============ */
.panel{
  background:#fff;border:1px solid var(--line);border-left:4px solid var(--clay);
  border-radius:var(--radius);padding:1.6rem 1.7rem;display:flex;gap:1.1rem;align-items:flex-start;
}
.panel svg{width:26px;height:26px;color:var(--clay);flex:none;margin-top:.15em}
.panel h3,.panel h2{font-size:1.12rem;margin-bottom:.45rem}
.panel p{font-size:.96rem}
.panel--sage{border-left-color:var(--sage)}
.panel--sage svg{color:var(--sage)}

/* ============ Stats ============ */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}
.stat{background:#fff;border-radius:var(--radius);padding:1.7rem 1rem;border:1px solid var(--line-soft)}
.stat b{display:block;font-family:var(--serif);font-size:clamp(1.8rem,3.4vw,2.5rem);color:var(--clay);line-height:1.1}
.stat span{font-size:.87rem;color:var(--muted)}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,1fr)}}

/* ============ Timeline ============ */
.timeline{
  position:relative;max-width:760px;margin-inline:auto;
  --tl-dot:20px;          /* Durchmesser des Punktes            */
  --tl-gap:2.8rem;        /* Abstand Schiene -> Text            */
  --tl-dot-top:6px;       /* Abstand Punktoberkante -> Zeilenkopf */
  padding-left:var(--tl-gap);
}
/* Schiene: waagerecht exakt auf der Punktmitte, senkrecht von der ersten
   bis zur letzten Punktmitte (Werte kommen aus main.js, Fallback im calc) */
.timeline::before{
  content:"";position:absolute;
  left:calc(var(--tl-dot) / 2 - 1px);width:2px;border-radius:2px;z-index:0;
  top:var(--tl-top,calc(var(--tl-dot-top) + var(--tl-dot) / 2));
  height:var(--tl-len,calc(100% - var(--tl-dot) - 2 * var(--tl-dot-top)));
  background:var(--line);
}
.tl-item{position:relative;padding-bottom:2.4rem}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{
  content:"";position:absolute;
  left:calc(-1 * var(--tl-gap));top:var(--tl-dot-top);z-index:2;
  width:var(--tl-dot);height:var(--tl-dot);border-radius:50%;
  background:#fff;border:3px solid var(--clay);
}
.tl-year{font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--clay-ink);margin-bottom:.35rem}
.tl-item h3{font-size:1.22rem;margin-bottom:.55rem}
.tl-item p+p{margin-top:.7rem}

/* ============ Accordion ============ */
.acc{max-width:820px;margin-inline:auto;border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{
  list-style:none;cursor:pointer;padding:1.15rem .5rem 1.15rem 0;display:flex;align-items:flex-start;
  justify-content:space-between;gap:1rem;font-family:var(--serif);font-size:1.06rem;color:var(--ink);font-weight:600;
}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{
  content:"";flex:none;width:20px;height:20px;margin-top:.15em;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c05e2c' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  transition:transform .22s ease;
}
.acc details[open] summary::after{transform:rotate(135deg)}
.acc .acc-body{padding:0 2.2rem 1.35rem 0;font-size:.98rem}
.acc .acc-body ul{margin:.6rem 0 0 1.1rem}
.acc .acc-body li{margin-bottom:.3rem}

/* ============ Stimmen (Platzhalter) ============ */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.quote{
  background:#fff;border:1px dashed var(--line);border-radius:var(--radius);padding:1.7rem;position:relative;
}
.quote .mark{font-family:var(--serif);font-size:3rem;color:var(--clay-soft);line-height:.7;margin-bottom:.4rem}
.quote p{font-size:.98rem;color:var(--muted);font-style:italic}
.quote .who{margin-top:1.1rem;font-size:.85rem;color:var(--muted);font-style:normal}
.ph-badge{
  display:inline-flex;align-items:center;gap:.4em;font-size:.7rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);background:#f8f1e2;padding:.3em .7em;border-radius:6px;margin-bottom:.9rem;
}
@media (max-width:860px){.quotes{grid-template-columns:1fr}}

/* ============ Stiller Garten ============ */
.garden-teaser{
  background:linear-gradient(160deg,var(--sage-tint),var(--sage-mist));border-radius:var(--radius-lg);
  padding:clamp(2.2rem,5vw,3.4rem);text-align:center;position:relative;overflow:hidden;
}
.garden-teaser .leaf{position:absolute;opacity:.14;color:var(--sage)}
.garden-teaser .leaf.a{width:150px;left:-30px;top:-20px;transform:rotate(-18deg)}
.garden-teaser .leaf.b{width:190px;right:-40px;bottom:-50px;transform:rotate(160deg)}
.garden-teaser h2{font-size:clamp(1.55rem,3vw,2.1rem);margin-bottom:.9rem;color:var(--sage-dark)}
.garden-teaser p{max-width:56ch;margin-inline:auto;color:#5d6a5f}
.garden-teaser .btn{margin-top:1.7rem}
.page-garden{background:var(--sage-tint)}
.page-garden .site-header{background:rgba(243,246,242,.88)}
.garden-hero{padding:clamp(3.4rem,8vw,6.5rem) 0 clamp(2.6rem,5vw,4rem);text-align:center}
.garden-hero h1{font-size:clamp(2rem,4.6vw,3.2rem);color:var(--sage-dark);margin-bottom:1.1rem}
.garden-poem{
  font-family:var(--serif);font-size:clamp(1.06rem,1.9vw,1.28rem);line-height:1.95;color:#54614f;
  text-align:center;max-width:34ch;margin:0 auto;
}
.garden-card{background:#fff;border-radius:var(--radius-lg);padding:clamp(1.8rem,4vw,2.8rem);box-shadow:var(--shadow-sm)}

/* ============ CTA-Band ============ */
.cta-band{background:var(--ink);color:#e8e7e3;border-radius:var(--radius-lg);padding:clamp(2.2rem,5vw,3.4rem);
  display:grid;grid-template-columns:1.3fr .7fr;gap:2rem;align-items:center}
.cta-band h2{color:#fff;font-size:clamp(1.5rem,3vw,2.15rem);margin-bottom:.7rem}
.cta-band p{color:#c9c8c4}
.cta-band .acts{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:flex-end}
@media (max-width:820px){.cta-band{grid-template-columns:1fr}.cta-band .acts{justify-content:flex-start}}

/* ============ Kontakt ============ */
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.6rem,4vw,3rem);align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.form-card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:clamp(1.5rem,3.4vw,2.4rem);box-shadow:var(--shadow-sm)}
.field{margin-bottom:1.1rem}
.field label{display:block;font-size:.87rem;font-weight:600;color:var(--ink);margin-bottom:.4rem}
.field input,.field textarea,.field select{
  width:100%;font:inherit;font-size:.97rem;color:var(--ink);background:var(--cream);
  border:1.5px solid var(--line);border-radius:12px;padding:.8em .95em;transition:border-color .18s ease,background .18s ease;
}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--clay);background:#fff}
.field textarea{min-height:130px;resize:vertical}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:560px){.field-row{grid-template-columns:1fr}}
.radio-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem}
.radio-cards label{
  display:flex;align-items:center;gap:.5rem;border:1.5px solid var(--line);border-radius:12px;
  padding:.75em .9em;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--body);background:var(--cream);
  transition:.18s ease;margin:0;
}
.radio-cards input{accent-color:var(--clay);width:auto;margin:0}
.radio-cards label:has(input:checked){border-color:var(--clay);background:var(--clay-tint);color:var(--clay-dark);font-weight:600}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem;color:var(--muted)}
.consent input{width:auto;margin-top:.28em;accent-color:var(--clay);flex:none}
.info-card{background:var(--sand);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem}
.info-card h3{font-size:1.05rem;margin-bottom:.7rem;display:flex;align-items:center;gap:.55rem}
.info-card h3 svg{width:20px;height:20px;color:var(--clay)}
.info-card p,.info-card a{font-size:.96rem}
.info-card dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.94rem}
.info-card dt{color:var(--muted)}
.info-card dd{color:var(--ink);font-weight:500}

/* ============ Vergleich (Konzept) ============ */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
@media (max-width:820px){.compare{grid-template-columns:1fr}}
.compare-col{border-radius:var(--radius-lg);padding:1.8rem;border:1px solid var(--line)}
.compare-col--old{background:#f6f4f2}
.compare-col--new{background:#fff;border-color:var(--clay-soft);box-shadow:var(--shadow-md)}
.compare-col h3{font-size:1.15rem;margin-bottom:1.1rem;display:flex;align-items:center;gap:.55rem}
.compare-col ul{list-style:none;display:grid;gap:.85rem}
.compare-col li{display:flex;gap:.7rem;font-size:.95rem;align-items:flex-start}
.compare-col li svg{width:19px;height:19px;flex:none;margin-top:.22em}
.compare-col--old li svg{color:#b9544c}
.compare-col--new li svg{color:#5f7263}
.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem}
.metric{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.4rem}
.metric .from{font-size:.85rem;color:var(--muted);text-decoration:line-through}
.metric .to{font-family:var(--serif);font-size:1.9rem;color:var(--clay-ink);line-height:1.15}
.metric .lbl{font-size:.86rem;color:var(--body);margin-top:.3rem}

/* ============ Footer ============ */
.site-footer{background:var(--ink);color:#b5b4b0;padding:clamp(3rem,6vw,4.4rem) 0 2rem;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.2rem;padding-bottom:2.6rem;border-bottom:1px solid rgba(255,255,255,.1)}
.site-footer img.flogo{height:40px;width:auto;margin-bottom:.85rem}
.fbrand{font-family:var(--serif);color:#fff;font-size:1.24rem;line-height:1.12;margin-bottom:1rem}
.fbrand span{
  display:block;font-family:var(--sans);font-size:.66rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:#8a8985;margin-top:.35em;
}
.site-footer h2{color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem;font-family:var(--sans)}
.site-footer ul{list-style:none;display:grid;gap:.55rem}
.site-footer a{color:#b5b4b0;font-size:.94rem}
.site-footer a:hover{color:#fff}
.site-footer p{font-size:.94rem}
.footer-bottom{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding-top:1.6rem;font-size:.85rem;color:#8a8985}
.socials{display:flex;gap:.6rem;margin-top:1.1rem}
.socials a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;transition:.18s}
.socials a:hover{background:var(--clay)}
.socials svg{width:18px;height:18px;color:#e8e7e3}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}

/* ============ Sticky Mobile CTA ============ */
.mobile-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;gap:.5rem;padding:.6rem 4% calc(.6rem + env(safe-area-inset-bottom));
  background:rgba(250,249,247,.95);backdrop-filter:blur(10px);border-top:1px solid var(--line);
}
.mobile-cta .btn{flex:1;padding:.85em 1rem}
@media (max-width:760px){.mobile-cta{display:flex}body{padding-bottom:74px}}

/* ============ Page-Hero (Unterseiten) ============ */
.page-hero{background:linear-gradient(170deg,var(--sand),var(--cream));padding:clamp(2.6rem,6vw,4.6rem) 0 clamp(2.2rem,4vw,3.2rem);text-align:center}
.page-hero h1{font-size:clamp(2rem,4.4vw,3.1rem);margin-bottom:.9rem}
.page-hero p{max-width:60ch;margin-inline:auto;font-size:1.06rem}
.breadcrumb{font-size:.82rem;color:var(--muted);margin-bottom:1rem}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--clay-ink)}

/* ============ Reveal ============ */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* ============================================================
   MOTION LAYER
   Ruhig, organisch, langsam. Alles respektiert prefers-reduced-motion.
   ============================================================ */

:root{
  --ease-soft:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-inout:cubic-bezier(.65,0,.35,1);
}

/* ---- Sanfter Seiteneinstieg ---- */
@keyframes pageIn{from{opacity:0}to{opacity:1}}
body{animation:pageIn .55s var(--ease-soft) both}

/* ---- Lesefortschritt ---- */
.scroll-progress{
  position:fixed;top:0;left:0;right:0;height:3px;z-index:200;pointer-events:none;
  background:linear-gradient(90deg,var(--clay),var(--gold));
  transform:scaleX(0);transform-origin:0 50%;will-change:transform;
}

/* ---- Atmende Farbfelder hinter dem Hero ---- */
.hero-orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.hero-grid{position:relative;z-index:1}
.orb{position:absolute;border-radius:50%;filter:blur(58px);opacity:.42;will-change:transform}
.orb-1{width:34vw;height:34vw;min-width:280px;min-height:280px;left:-8vw;top:-6vh;
  background:radial-gradient(circle at 40% 40%,rgba(192,94,44,.55),rgba(192,94,44,0) 70%);
  animation:drift1 32s var(--ease-inout) infinite alternate}
.orb-2{width:26vw;height:26vw;min-width:220px;min-height:220px;right:6vw;top:34vh;
  background:radial-gradient(circle at 50% 50%,rgba(184,137,78,.45),rgba(184,137,78,0) 70%);
  animation:drift2 38s var(--ease-inout) infinite alternate}
.orb-3{width:22vw;height:22vw;min-width:180px;min-height:180px;left:32vw;bottom:-8vh;
  background:radial-gradient(circle at 50% 50%,rgba(122,140,124,.40),rgba(122,140,124,0) 70%);
  animation:drift3 44s var(--ease-inout) infinite alternate}
@keyframes drift1{to{transform:translate3d(6vw,4vh,0) scale(1.12)}}
@keyframes drift2{to{transform:translate3d(-5vw,-5vh,0) scale(.9)}}
@keyframes drift3{to{transform:translate3d(4vw,-3vh,0) scale(1.15)}}
@media (max-width:760px){.orb{filter:blur(42px);opacity:.34}}

/* ---- Überschrift: Wörter steigen aus der Maske ---- */
.reveal-words .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.14em;margin-bottom:-.14em}
.js .reveal-words .w>*{
  display:inline-block;transform:translateY(115%);opacity:0;
  transition:transform 1s var(--ease-out),opacity .8s var(--ease-soft);
}
.js .is-loaded .reveal-words .w>*{transform:none;opacity:1}
.js .is-loaded .reveal-words .w:nth-of-type(1)>*{transition-delay:.10s}
.js .is-loaded .reveal-words .w:nth-of-type(2)>*{transition-delay:.22s}
.js .is-loaded .reveal-words .w:nth-of-type(3)>*{transition-delay:.34s}

/* ---- Hero: gestaffelter Aufbau ---- */
.js .hero-sub,.js .hero-actions,.js .hero-trust{opacity:0;transform:translateY(18px);
  transition:opacity .9s var(--ease-soft),transform 1s var(--ease-out)}
.js .is-loaded .hero-sub{opacity:1;transform:none;transition-delay:.46s}
.js .is-loaded .hero-actions{opacity:1;transform:none;transition-delay:.58s}
.js .is-loaded .hero-trust{opacity:1;transform:none;transition-delay:.70s}
.js .hero-media img{opacity:0;transform:translateY(26px) scale(1.04);
  transition:opacity 1.1s var(--ease-soft),transform 1.4s var(--ease-out)}
.js .is-loaded .hero-media img{opacity:1;transform:none;transition-delay:.18s}
.js .hero-badge{opacity:0;transform:translateY(14px) scale(.94);
  transition:opacity .8s var(--ease-soft),transform .9s var(--ease-out)}
.js .is-loaded .hero-badge{opacity:1;transform:none;transition-delay:.9s}
.hero-media{will-change:transform}

/* ---- Zahlen im Hero: leises Aufblühen ---- */
.hero-trust b{transition:color .4s ease}

/* ---- Wege-Karten: Icon zeichnet sich ---- */
.path-card .ico{transform:scale(.86) rotate(-6deg);opacity:0;
  transition:transform .8s var(--ease-out),opacity .6s ease}
.path-card.in .ico{transform:none;opacity:1}
.path-card .ico svg [data-draw]{
  stroke-dasharray:var(--len);stroke-dashoffset:var(--len);
  transition:stroke-dashoffset 1.3s var(--ease-out) .25s;
}
.path-card.in .ico svg [data-draw]{stroke-dashoffset:0}
.path-card{transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),border-color .4s ease}
.path-card:hover{transform:translateY(-8px)}
.path-card:hover .ico{transform:scale(1.06) rotate(3deg)}

/* ---- Bilder: setzen sich beim Einscrollen ---- */
.hero::before{display:none}
.split-media{overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.split-media img{border-radius:0;box-shadow:none}
.split-media img{transform:scale(1.09);transition:transform 1.6s var(--ease-out)}
.split-media.in img{transform:scale(1)}
.split-media:hover img{transform:scale(1.05)}

/* ---- Zahlenband ---- */
.stat{transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
.stat:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.stat b{font-variant-numeric:tabular-nums}

/* ---- Zeitstrahl füllt sich beim Scrollen ---- */
.timeline::after{
  content:"";position:absolute;
  left:calc(var(--tl-dot) / 2 - 1px);width:2px;border-radius:2px;z-index:1;
  top:var(--tl-top,calc(var(--tl-dot-top) + var(--tl-dot) / 2));
  height:calc(var(--tl-len,0px) * var(--tl-p,0));
  background:linear-gradient(180deg,var(--clay),var(--gold));
  transition:height .18s linear;
}
.tl-item::before{transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-soft),border-color .5s ease}
.tl-item.in::before{transform:scale(1.06);box-shadow:0 0 0 5px var(--clay-soft)}

/* ---- Angebotskarten beim Filtern ---- */
@keyframes cardIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.offer.is-shown{animation:cardIn .55s var(--ease-out) backwards}
.offer{transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),border-color .3s ease}
.chip{transition:background .3s var(--ease-soft),color .3s ease,border-color .3s ease,transform .3s var(--ease-out)}
.chip:active{transform:scale(.96)}

/* ---- Akkordeon: weiches Auf und Zu ---- */
.acc .acc-body{overflow:hidden;transition:height .45s var(--ease-soft),opacity .35s ease}
.acc details:not([open]) .acc-body{opacity:0}
.acc summary{transition:color .25s ease}
.acc summary:hover{color:var(--clay-ink)}
.acc summary::after{transition:transform .4s var(--ease-out)}

/* ---- Buttons: Lichtstreif ---- */
.btn-primary,.btn-sage{position:relative;overflow:hidden;isolation:isolate}
.btn-primary::after,.btn-sage::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.24) 50%,transparent 68%);
  transform:translateX(-130%);transition:transform .9s var(--ease-out);
}
.btn-primary:hover::after,.btn-sage:hover::after{transform:translateX(130%)}
.btn{transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out),background .3s ease,color .3s ease,border-color .3s ease}

/* ---- Kopfzeile schrumpft sanft ---- */
.brand .mark{transition:height .35s var(--ease-out)}
.site-header.is-stuck .brand .mark{height:29px}
.main-nav a{transition:background .3s var(--ease-soft),color .25s ease}

/* ---- Stiller Garten: Atemringe ---- */
.breath{position:relative;width:min(240px,62vw);aspect-ratio:1;margin:2.4rem auto 1.4rem}
.breath i{
  position:absolute;inset:0;border-radius:50%;border:1px solid rgba(95,114,99,.30);
  animation:breathe 12s var(--ease-inout) infinite;
}
.breath i:nth-child(2){animation-delay:-4s;border-color:rgba(95,114,99,.20)}
.breath i:nth-child(3){animation-delay:-8s;border-color:rgba(95,114,99,.13)}
.breath .core{
  position:absolute;inset:32%;border-radius:50%;
  background:radial-gradient(circle at 42% 38%,rgba(255,255,255,.95),rgba(226,235,226,.6));
  box-shadow:0 10px 40px rgba(95,114,99,.18);
  animation:breathCore 12s var(--ease-inout) infinite;
}
@keyframes breathe{0%{transform:scale(.55);opacity:.15}50%{transform:scale(1);opacity:.75}100%{transform:scale(.55);opacity:.15}}
@keyframes breathCore{0%{transform:scale(.82)}50%{transform:scale(1.1)}100%{transform:scale(.82)}}
.breath-label{text-align:center;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);opacity:.75}

/* ---- Blätter im Garten-Teaser treiben ---- */
.garden-teaser .leaf.a{animation:sway1 24s var(--ease-inout) infinite alternate}
.garden-teaser .leaf.b{animation:sway2 30s var(--ease-inout) infinite alternate}
@keyframes sway1{to{transform:rotate(-8deg) translate3d(10px,8px,0)}}
@keyframes sway2{to{transform:rotate(150deg) translate3d(-12px,-6px,0)}}

/* ---- Reveal feiner abgestimmt ---- */
.reveal{opacity:0;transform:translateY(26px);
  transition:opacity .85s var(--ease-soft),transform .95s var(--ease-out)}
.reveal.in{opacity:1;transform:none}

/* ---- Bewegungsarm: alles ruhig stellen ---- */
@media (prefers-reduced-motion:reduce){
  body{animation:none}
  .orb,.breath i,.breath .core,.garden-teaser .leaf{animation:none!important}
  .scroll-progress{display:none}
  .js .reveal-words .w>*,
  .js .hero-sub,.js .hero-actions,.js .hero-trust,
  .js .hero-media img,.js .hero-badge{opacity:1!important;transform:none!important}
  .path-card .ico{opacity:1;transform:none}
  .path-card .ico svg [data-draw]{stroke-dasharray:none;stroke-dashoffset:0}
  .split-media img{transform:none!important}
  .timeline::after{display:none}
  .offer.is-shown{animation:none}
}

/* ============================================================
   Korrekturen nach Browser-Prüfung
   ============================================================ */

/* Navigation darf nicht umbrechen; Burger greift früher */
.main-nav a{white-space:nowrap;padding:.55em .72em;font-size:.92rem}
.header-cta .tel{white-space:nowrap}
.header-inner{gap:.6rem}
@media (max-width:1180px){
  .header-cta .tel span{display:none}
}
@media (max-width:1100px){
  .main-nav{
    position:absolute;top:100%;left:0;right:0;background:var(--cream);
    border-bottom:1px solid var(--line);padding:1rem 4% 1.6rem;
    transform:translateY(-8px);opacity:0;visibility:hidden;transition:.24s var(--ease-soft);
    box-shadow:var(--shadow-md);max-height:calc(100vh - var(--header-h));overflow:auto;
  }
  .main-nav.open{transform:translateY(0);opacity:1;visibility:visible}
  .main-nav ul{flex-direction:column;align-items:stretch;gap:.15rem}
  .main-nav a{padding:.85em 1em;font-size:1.02rem;white-space:normal}
  .nav-toggle{display:block}
  .header-cta .tel span{display:inline}
  .header-cta .btn{display:none}
}
@media (max-width:620px){.header-cta .tel span{display:none}}

/* Hero: Bild bekommt eine Obergrenze, damit der Abschnitt nicht ausufert */
.hero-grid{grid-template-columns:1.08fr .92fr}
.hero-media{max-width:430px;justify-self:end;width:100%}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .hero-media{justify-self:center;max-width:380px}
}

/* ============================================================
   WORDPRESS
   ============================================================ */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;word-wrap:normal!important}
.screen-reader-text:focus{background:#fff;clip:auto!important;clip-path:none;color:var(--ink);display:block;height:auto;width:auto;left:8px;top:8px;padding:.8em 1.2em;z-index:100000}
.admin-bar .site-header,.admin-bar .scroll-progress{top:32px}
@media (max-width:782px){.admin-bar .site-header,.admin-bar .scroll-progress{top:46px}}
@media (max-width:600px){.admin-bar .site-header,.admin-bar .scroll-progress{top:0}}

.main-nav .current-menu-item>a,.main-nav .current_page_item>a,.main-nav .current-menu-ancestor>a,.main-nav .current_page_parent>a{color:var(--clay-ink);background:var(--clay-soft)}
.site-footer .menu{list-style:none;display:grid;gap:.55rem}
.fgap{margin-top:.9rem}
.fhours{font-size:.88rem;color:#8a8985}
.flegal{display:inline-flex;gap:1.2rem}
.flegal a{color:#8a8985;font-size:.85rem}
.flegal a:hover{color:#fff}

.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.6rem}
.gap-top{margin-top:1.6rem}
.gap-bottom{margin-bottom:1rem}
.gap-xl{margin-top:2.6rem}
.textlink--gap{margin-top:1.4rem}
.muted-small{margin-top:.8rem;font-size:.9rem;color:var(--muted)}
.section--white{background:#fff}
.section--shop{padding-top:clamp(1.6rem,3vw,2.4rem)}
.page-hero--compact{padding:clamp(1.8rem,4vw,2.8rem) 0 clamp(1.2rem,3vw,1.8rem)}
.page-hero--tall{padding:clamp(4rem,10vw,7rem) 0}
.eyebrow--sage{color:var(--sage)}
.eyebrow--sage::before,.eyebrow--sage::after{background:var(--sage)}

.entry-content{font-size:1.02rem}
.entry-content>*+*{margin-top:1rem}
.entry-content h2{font-size:clamp(1.35rem,2.6vw,1.7rem);margin-top:2.2rem}
.entry-content h3{font-size:1.18rem;margin-top:1.8rem}
.entry-content h2+*,.entry-content h3+*{margin-top:.6rem}
.entry-content ul,.entry-content ol{padding-left:1.3rem}
.entry-content li+li{margin-top:.35rem}
.entry-content a{text-decoration:underline;text-underline-offset:.18em}
.entry-content blockquote{border-left:3px solid var(--clay-soft);padding-left:1rem;color:var(--muted)}
.entry-content img{border-radius:var(--radius);height:auto}
.entry-content table{width:100%;border-collapse:collapse}
.entry-content td,.entry-content th{border-bottom:1px solid var(--line);padding:.6rem;text-align:left}
.entry-content hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
.post-teaser+.post-teaser{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line)}

/* Warenkorb im Kopf */
.cart-link{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--ink);transition:border-color .25s ease,color .25s ease,transform .3s var(--ease-out)}
.cart-link:hover{border-color:var(--clay);color:var(--clay);transform:translateY(-2px)}
.cart-link svg{width:19px;height:19px}
.cart-count{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--clay);color:#fff;font-size:.68rem;font-weight:700;line-height:19px;text-align:center}

/* Stimmen (echte, aus dem Backend) */
.quote{border-style:solid;margin:0}
.quote blockquote{font-size:.98rem;color:var(--body);font-style:italic}
.quote blockquote p+p{margin-top:.6rem}

/* Garten-Teaser: Blätter liegen jetzt in einem span */
.garden-teaser .leaf svg{display:block;width:100%;height:auto}

/* ============================================================
   ANGEBOTE (WooCommerce-Produkte)
   ============================================================ */
.chip{text-decoration:none;display:inline-flex;align-items:center;line-height:1.2}
.chip[aria-current="true"]{background:var(--clay);border-color:var(--clay);color:#fff}
.offer-count{text-align:center;color:var(--muted);font-size:.9rem;margin-bottom:1.6rem}

.offer{position:relative}
.offer.reveal.in{transition:opacity .85s var(--ease-soft),transform .35s var(--ease-out),box-shadow .35s var(--ease-out),border-color .3s ease}
.offer .offer-title{font-size:1.08rem;line-height:1.32;margin-bottom:.5rem}
.offer-title a{color:var(--ink);transition:color .25s ease}
.offer-title a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.offer:hover .offer-title a{color:var(--clay-ink)}
.offer:has(.offer-title a:focus-visible){outline:3px solid var(--clay);outline-offset:3px}
.offer-title a:focus-visible{outline:none}
.offer .offer-teaser{font-size:.92rem;color:var(--muted);margin-bottom:1.1rem}
.offer-more{display:inline-flex;align-items:center;gap:.35em;font-size:.86rem;font-weight:600;color:var(--clay-ink);white-space:nowrap}
.offer-more svg{width:15px;height:15px;transition:transform .3s var(--ease-out)}
.offer:hover .offer-more svg{transform:translateX(4px)}
.offer-extra:empty{display:none}
.offer .offer-name{font-size:1.15rem;line-height:1.3;margin-bottom:.5rem}
.offer .offer-lead{color:var(--body);margin-bottom:1rem;font-size:.95rem}
.offer--featured{border-color:var(--clay-soft);box-shadow:var(--shadow-md)}
.offer-foot .btn{position:relative;z-index:2}
.offer-grid--wide{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.offer-grid--three{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.checklist--small{font-size:.93rem;margin:0 0 1.4rem}
.checklist--center{max-width:640px;margin-inline:auto;font-size:1.02rem}
.tag--extra{background:#f5eedf;color:#7a5a24}
.tag--soldout{background:#ebeae7;color:#5c5a56}
.price .woocommerce-Price-amount{white-space:nowrap}
.price del{opacity:.55;font-size:.78em;margin-right:.35em}
.price ins{text-decoration:none}

/* Stiller Garten: Kontextwechsel in Salbei, keine Verkaufs-Etiketten */
.garden-hero .garden-lead{max-width:52ch;margin-inline:auto;color:#5d6a5f;font-size:1.1rem}
.garden-card{text-align:center}
.garden-card h2{font-size:clamp(1.4rem,2.8vw,1.9rem);color:var(--sage-dark);margin-bottom:1.6rem}
.garden-poem+.garden-poem{margin-top:1.8rem}
.garden-poem--accent{color:var(--sage-dark)}
.page-garden .section-head h2{color:var(--sage-dark)}
.page-garden .offer-tags{display:none}
.page-garden .offer-more,.page-garden .offer:hover .offer-title a{color:var(--sage-dark)}
.page-garden .offer:hover{border-color:#dbe5db}
.page-garden .btn-primary,.page-garden .single_add_to_cart_button{background:var(--sage);border-color:var(--sage);box-shadow:0 8px 20px rgba(95,114,99,.22)}
.page-garden .btn-primary:hover,.page-garden .single_add_to_cart_button:hover{background:var(--sage-dark);border-color:var(--sage-dark)}
.page-garden .main-nav .current-menu-item>a{color:var(--sage-dark);background:var(--sage-mist)}
.page-garden .scroll-progress{background:linear-gradient(90deg,var(--sage),#9fb3a2)}

/* ============================================================
   EINZELNES ANGEBOT
   ============================================================ */
.product-hero{background:linear-gradient(170deg,var(--sand) 0%,var(--cream) 70%);padding:clamp(1.6rem,3.5vw,2.6rem) 0 clamp(2.8rem,5vw,4.2rem)}
.page-garden .product-hero{background:linear-gradient(170deg,var(--sage-mist) 0%,var(--sage-tint) 70%)}
.product-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(1.8rem,4.5vw,4rem);align-items:start;margin-top:1.2rem}
.product-media{position:sticky;top:calc(var(--header-h) + 24px)}
.admin-bar .product-media{top:calc(var(--header-h) + 56px)}
.product-img{display:block;width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff}
.product-img--photo{aspect-ratio:4/5;object-fit:cover}
.product-img--placeholder,.product-img--garden{aspect-ratio:4/5;display:grid;place-items:center}
.product-img--placeholder{background:linear-gradient(150deg,var(--clay-tint),var(--sand-2))}
.product-img--placeholder img{width:38%;opacity:.3}
.product-img--garden{background:linear-gradient(160deg,#f7f9f6,var(--sage-mist));color:var(--sage)}
.product-img--garden svg{width:34%;height:auto;opacity:.35;animation:sway1 24s var(--ease-inout) infinite alternate}
.product-summary .offer-tags{margin-bottom:.6rem}
.product-summary .product_title{font-size:clamp(1.7rem,3.4vw,2.45rem);margin-bottom:.8rem}
.product-price .price{font-size:1.75rem}
.product-price .price--ask{font-size:1.15rem}
.product-buy{margin:1.4rem 0 1.8rem;padding:1.3rem;background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.product-buy form.cart{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}
.product-buy .stock{width:100%;font-size:.9rem;color:var(--muted)}
.product-note{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem;margin-bottom:1rem}
.product-note svg{width:20px;height:20px;color:var(--clay);flex:none;margin-top:.2em}
.product-short{font-size:.98rem}
.product-short>*+*{margin-top:.8rem}
.details-title{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:1.2rem}
@media (max-width:860px){.product-grid{grid-template-columns:1fr}.product-media{position:static;max-width:440px}}
@media (prefers-reduced-motion:reduce){.product-img--garden svg{animation:none}}

/* ============================================================
   WOOCOMMERCE: BEDIENELEMENTE
   ============================================================ */
.quantity{display:inline-flex}
.woocommerce .quantity .qty,.quantity input.qty{width:4.8rem;text-align:center;font:inherit;font-size:1rem;color:var(--ink);padding:.85em .5em;border:1.5px solid var(--line);border-radius:999px;background:var(--cream);-moz-appearance:textfield}
.woocommerce .quantity .qty:focus,.quantity input.qty:focus{outline:none;border-color:var(--clay);background:#fff}

.button{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font:inherit;font-size:.95rem;font-weight:600;line-height:1.1;padding:.9em 1.5em;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;text-decoration:none;transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out),background .3s ease,color .3s ease,border-color .3s ease}
.button:hover{border-color:var(--clay);color:var(--clay-ink);transform:translateY(-2px)}
.button.alt,.single_add_to_cart_button,#place_order,.checkout-button{background:var(--clay);border-color:var(--clay);color:#fff;box-shadow:0 8px 20px rgba(192,94,44,.24)}
.button.alt:hover,.single_add_to_cart_button:hover,#place_order:hover,.checkout-button:hover{background:var(--clay-dark);border-color:var(--clay-dark);color:#fff}
.button:disabled,.button.disabled,.button[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.single_add_to_cart_button{flex:1 1 auto;min-width:200px;padding:1em 1.6em}

.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice{list-style:none;margin:0 0 1.4rem;padding:1rem 1.2rem;background:#fff;border:1px solid var(--line);border-left-width:4px;border-radius:var(--radius);font-size:.95rem;color:var(--body);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem}
.woocommerce-message{border-left-color:var(--sage)}
.woocommerce-info{border-left-color:var(--gold)}
.woocommerce-error{border-left-color:#b9544c;flex-direction:column;align-items:flex-start}
.woocommerce-error li{list-style:none}
.woocommerce-message .button,.woocommerce-info .button{order:2;padding:.6em 1.1em;font-size:.88rem}

.woocommerce form .form-row{margin:0 0 1rem}
.form-row label{display:block;font-size:.87rem;font-weight:600;color:var(--ink);margin-bottom:.4rem}
.form-row label.checkbox,.form-row .woocommerce-form__label-for-checkbox{display:flex;gap:.55rem;align-items:flex-start;font-weight:500}
.form-row .required{color:var(--clay-ink);text-decoration:none;border:0}
.form-row .optional{color:var(--muted);font-weight:400}
.woocommerce form .input-text,.woocommerce form select,.woocommerce form textarea{width:100%;font:inherit;font-size:.97rem;color:var(--ink);background:var(--cream);border:1.5px solid var(--line);border-radius:12px;padding:.8em .95em;transition:border-color .2s ease,background .2s ease}
.woocommerce form .input-text:focus,.woocommerce form select:focus,.woocommerce form textarea:focus{outline:none;border-color:var(--clay);background:#fff}
.woocommerce form textarea{min-height:110px;resize:vertical}
.woocommerce form .woocommerce-invalid .input-text,.woocommerce form .woocommerce-invalid select{border-color:#b9544c}
.woocommerce form .input-checkbox{width:auto;accent-color:var(--clay);margin-top:.25em;flex:none}
.woocommerce-input-wrapper{display:block}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.woocommerce-billing-fields__field-wrapper>.form-row:not(.form-row-first):not(.form-row-last),.woocommerce-shipping-fields__field-wrapper>.form-row:not(.form-row-first):not(.form-row-last),.woocommerce-address-fields__field-wrapper>.form-row:not(.form-row-first):not(.form-row-last),.woocommerce-additional-fields__field-wrapper>.form-row{grid-column:1/-1}
@media (max-width:560px){.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper{grid-template-columns:1fr}.form-row-first,.form-row-last{grid-column:1/-1}}

.select2-container{width:100%!important}
.select2-container--default .select2-selection--single{height:auto;min-height:48px;border:1.5px solid var(--line);border-radius:12px;background:var(--cream);display:flex;align-items:center}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ink);line-height:1.5;padding:.7em .95em}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;right:.6em;top:0}
.select2-container--default.select2-container--focus .select2-selection--single,.select2-container--default.select2-container--open .select2-selection--single{border-color:var(--clay);background:#fff}
.select2-dropdown{border:1.5px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--clay);color:#fff}
.select2-search--dropdown .select2-search__field{border:1.5px solid var(--line)!important;border-radius:8px;padding:.5em .7em!important}

.shop_table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;font-size:.95rem}
.shop_table th,.shop_table td{padding:.95rem 1.1rem;text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:middle}
.shop_table thead th{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;background:var(--sand)}
.shop_table tr:last-child>*{border-bottom:0}
.shop_table tfoot th{font-weight:600;color:var(--ink)}
.shop_table .product-name a{color:var(--ink);font-weight:600}
.shop_table .product-name a:hover{color:var(--clay-ink)}
.shop_table .product-thumbnail img{width:64px;height:64px;object-fit:cover;border-radius:12px}
.shop_table .product-remove{width:52px}
a.remove{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--sand);color:var(--muted)!important;font-size:1.2rem;line-height:1;text-decoration:none;transition:background .2s ease,color .2s ease}
a.remove:hover{background:#b9544c;color:#fff!important}
.shop_table .actions{background:var(--cream)}
.shop_table .actions .coupon{display:inline-flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.shop_table .actions .coupon .input-text{width:auto;min-width:170px;padding:.7em .9em}
.shop_table .actions>.button{float:right}
.order-total .amount{font-family:var(--serif);font-size:1.3rem;color:var(--ink)}

.woocommerce-cart .shop-flow .woocommerce:has(.woocommerce-cart-form){display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:2rem;align-items:start}
.woocommerce-cart .woocommerce-notices-wrapper,.woocommerce-cart .woocommerce-cart-form{grid-column:1}
.woocommerce-cart .cart-collaterals{grid-column:2;grid-row:1/span 3;position:sticky;top:calc(var(--header-h) + 20px)}
.cart_totals{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:1.4rem;box-shadow:var(--shadow-sm)}
.cart_totals h2{font-size:1.25rem;margin-bottom:1rem}
.cart_totals .shop_table{border:0;border-radius:0}
.cart_totals .shop_table th,.cart_totals .shop_table td{padding:.75rem .2rem}
.wc-proceed-to-checkout{margin-top:1rem}
.checkout-button{width:100%}
.cart-empty{margin-bottom:1.4rem}
.return-to-shop .button{background:var(--clay);border-color:var(--clay);color:#fff}

@media (max-width:900px){
  .woocommerce-cart .shop-flow .woocommerce:has(.woocommerce-cart-form){grid-template-columns:1fr}
  .woocommerce-cart .cart-collaterals{grid-column:1;grid-row:auto;position:static}
}
@media (max-width:760px){
  .shop_table_responsive thead{display:none}
  .shop_table_responsive tr{display:block;border-bottom:1px solid var(--line-soft)}
  .shop_table_responsive tr:last-child{border-bottom:0}
  .shop_table_responsive tr td{display:flex;justify-content:space-between;gap:1rem;text-align:right;border:0;padding:.55rem 1rem}
  .shop_table_responsive tr td::before{content:attr(data-title);font-weight:600;color:var(--ink);text-align:left}
  .shop_table_responsive tr td.product-remove::before,.shop_table_responsive tr td.actions::before{display:none}
  .shop_table_responsive .product-thumbnail{display:none!important}
  .shop_table_responsive .actions{display:block!important}
  .shop_table_responsive .actions>.button{float:none;width:100%;margin-top:.6rem}
}

/* Kasse */
form.checkout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:0 clamp(1.6rem,4vw,3rem);align-items:start}
form.checkout>.woocommerce-NoticeGroup{grid-column:1/-1}
form.checkout>.col2-set{grid-column:1;grid-row:2/span 3}
form.checkout>#order_review_heading{grid-column:2;grid-row:2}
form.checkout>#order_review{grid-column:2;grid-row:3}
form.checkout h3{font-size:1.3rem;margin-bottom:1.1rem}
.col2-set .col-2{margin-top:1.4rem}
#order_review{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:1.4rem;box-shadow:var(--shadow-sm)}
#order_review .shop_table{border:0;border-radius:0}
#order_review .shop_table th,#order_review .shop_table td{padding:.8rem .2rem}
#payment{margin-top:1.2rem}
#payment .wc_payment_methods{list-style:none;display:grid;gap:.6rem;margin:0 0 1.2rem}
#payment .wc_payment_method{border:1.5px solid var(--line);border-radius:12px;padding:.9rem 1rem;background:var(--cream)}
#payment .wc_payment_method>label{font-weight:600;color:var(--ink);cursor:pointer}
#payment .payment_box{margin-top:.8rem;font-size:.92rem}
.woocommerce-privacy-policy-text p,.woocommerce-terms-and-conditions-wrapper p{font-size:.85rem;color:var(--muted);margin-bottom:.9rem}
#place_order{width:100%;padding:1.05em 1.5em;font-size:1.02rem}
.woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-form-login-toggle .woocommerce-info{justify-content:flex-start}
form.checkout_coupon,form.woocommerce-form-login{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.2rem;margin-bottom:1.4rem}
@media (max-width:900px){form.checkout{grid-template-columns:1fr}form.checkout>*{grid-column:1!important;grid-row:auto!important}}

/* Bestellbestätigung und Konto */
.woocommerce-order-overview{list-style:none;display:flex;flex-wrap:wrap;gap:.8rem 2rem;padding:1.2rem;background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);margin:1rem 0 2rem}
.woocommerce-order-overview li{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.woocommerce-order-overview li strong{display:block;text-transform:none;letter-spacing:0;font-size:1rem;color:var(--ink)}
.woocommerce-order-details,.woocommerce-customer-details{margin-top:2rem}
.woocommerce-order-details__title,.woocommerce-column__title{font-size:1.3rem;margin-bottom:1rem}
.woocommerce-customer-details address{font-style:normal;background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.2rem}
.woocommerce-account .shop-flow .woocommerce:has(.woocommerce-MyAccount-navigation){display:grid;grid-template-columns:230px minmax(0,1fr);gap:2rem;align-items:start}
.woocommerce-MyAccount-navigation ul{list-style:none;display:grid;gap:.3rem}
.woocommerce-MyAccount-navigation a{display:block;padding:.65em 1em;border-radius:12px;color:var(--ink);font-weight:500}
.woocommerce-MyAccount-navigation a:hover{background:var(--sand);color:var(--clay-ink)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--clay-soft);color:var(--clay-ink)}
#customer_login.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.woocommerce-form-register,.woocommerce-ResetPassword{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.4rem}
@media (max-width:760px){.woocommerce-account .shop-flow .woocommerce:has(.woocommerce-MyAccount-navigation),#customer_login.col2-set{grid-template-columns:1fr}}

.woocommerce-cart .mobile-cta,.woocommerce-checkout .mobile-cta{display:none!important}
@media (max-width:760px){body.woocommerce-cart,body.woocommerce-checkout{padding-bottom:0}}

/* ============================================================
   KONTAKTFORMULAR
   ============================================================ */
.form-title{font-size:1.4rem;margin-bottom:1.5rem}
.form-alert{padding:.95rem 1.1rem;border-radius:12px;font-size:.94rem;margin-bottom:1.3rem;border:1px solid}
.form-alert:focus{outline:3px solid var(--clay);outline-offset:2px}
.form-alert--ok{background:#eef3ee;border-color:#cfdccf;color:var(--sage-dark)}
.form-alert--err{background:#fbeeec;border-color:#efcfc9;color:#8f3b31}
.form-context{display:flex;gap:.55rem;align-items:flex-start;background:var(--clay-tint);border:1px solid var(--clay-soft);border-radius:12px;padding:.85rem 1rem;font-size:.93rem;margin-bottom:1.3rem}
.form-context svg{width:19px;height:19px;color:var(--clay);flex:none;margin-top:.15em}
fieldset.field{border:0;padding:0;margin:0 0 1.1rem;min-width:0}
fieldset.field legend{font-size:.87rem;font-weight:600;color:var(--ink);margin-bottom:.5rem;padding:0}
.field .opt{font-weight:400;color:var(--muted)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.info-card h2{font-size:1.05rem;margin-bottom:.7rem;display:flex;align-items:center;gap:.55rem}
.info-card h2 svg{width:20px;height:20px;color:var(--clay);flex:none}
.info-card .btn+.btn{margin-top:.6rem}
.btn-white{background:#fff}
.info-card--tint{background:var(--clay-tint)}
.steps{margin:0;padding-left:1.1rem;font-size:.94rem;display:grid;gap:.5rem}

/* Kopfzeile: Marke und Buttons brechen nicht um; Telefonnummer weicht zuerst dem Warenkorb */
.brand{flex-shrink:0}
.brand-name,.brand-name .sub,.header-cta .btn{white-space:nowrap}
.header-cta{flex-shrink:0}
@media (max-width:1320px){.header-cta .tel span{display:none}}
@media (max-width:1100px){.header-cta .tel span{display:inline}}
@media (max-width:620px){.header-cta .tel span{display:none}}
.shop_table .product-thumbnail{width:96px}
.shop_table .product-thumbnail img{width:64px;min-width:64px;max-width:none;height:64px}
.shop_table .actions .button{white-space:nowrap}
