/* ==========================================================================
   Kuonihof – Base
   ========================================================================== */
:root{
  --primary:#397D3A;
  --secondary:#1A1A1A;
  --accent:#5A4C2A;
  --text:#333333;
  --bg:#FFFFFF;
  --bg-alt:#F9F5EE;
  --muted:#888888;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  line-height:1.65;
}
img{max-width:100%;height:auto;display:block;border-radius:16px}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--accent);text-decoration:underline}

.container{max-width:1200px;margin:0 auto;padding:0 20px}
.content-area{padding:32px 0}

/* Mobile-Gutter universell (keine Texte am Rand kleben lassen) */
@media (max-width:900px){
  .container{padding-left:16px !important; padding-right:16px !important}
  .content-area > *,
  .kuoni-article > *,
  .entry-title,
  .entry-content > *,
  .wp-block-group,
  .wp-block-heading,
  .wp-block-paragraph,
  .wp-block-list,
  .wp-block-image,
  .wp-block-columns{padding-left:16px !important; padding-right:16px !important; box-sizing:border-box}
}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header{
  position:sticky; top:0; z-index:70;
  background:#fff; border-bottom:1px solid #eee;
}
.header-inner{
  display:flex; align-items:center; gap:20px;
  padding:12px 16px;
}
.site-logo{display:flex; align-items:center}

/* Logo – keine Verzerrung, saubere Größen */
.site-logo img{
  height:auto; width:auto; object-fit:contain; display:block;
}
/* Desktop-Logo-Größe */
@media (min-width:901px){
  .site-logo img{ max-height:56px; }
}
/* Mobile-Logo-Größe */
@media (max-width:900px){
  .site-logo img{ max-height:44px; }
}

/* Desktop-Menü */
.primary-menu{
  list-style:none; display:flex; gap:18px; margin:0 0 0 auto; padding:0;
}
.primary-menu > li > a{ color:var(--secondary) }

/* Hamburger (standard: versteckt, mobil sichtbar) */
.hamburger{display:none; background:transparent; border:0; padding:8px; cursor:pointer}
.hamburger span{display:block; width:26px; height:2px; background:#1A1A1A; margin:5px 0}

/* Mobile-Navigation – overlay nur wenn offen */
@media (max-width:900px){
  .hamburger{display:block; margin-left:auto}
  /* Standard: Nav blockiert nichts */
  .site-nav{ position:static; }
  .primary-menu{
    display:none; flex-direction:column; gap:8px;
    list-style:none; margin:0; padding:0;
  }
  /* Offen: Overlay + Liste sichtbar */
  .site-nav.nav-open{
    position:fixed; left:0; right:0; top:60px; bottom:0;
    background:#fff; border-top:1px solid #eee;
    padding:16px 20px 28px; overflow:auto; z-index:60;
  }
  .primary-menu.is-open{ display:flex; }
  .primary-menu > li > a{
    display:block; padding:14px 4px; font-size:18px; color:#1A1A1A;
  }
  /* optional Sprachmenü mobil ausblenden */
  .site-lang{ display:none; }
}
/* Scroll-Lock bei offenem Menü */
.no-scroll{ overflow:hidden; }

/* ==========================================================================
   Hero / Buttons / Sections
   ========================================================================== */
.hero{ position:relative; isolation:isolate }
.hero__bg{ position:absolute; inset:0; background:linear-gradient(180deg,#f9f5ee 0%,#fff 100%); z-index:-1 }
.hero-inner{ padding:88px 0 72px }
.hero-title{ font-size:56px; font-weight:700; letter-spacing:-.5px; margin:0 0 8px; color:var(--secondary); text-transform:uppercase }
.hero-sub{ font-size:20px; color:var(--accent); margin:0 0 24px }

@media (max-width:900px){
  .hero-inner{ padding:56px 0 40px }
  .hero-title{ font-size:36px; letter-spacing:-.3px }
  .hero-sub{ font-size:16px; margin-bottom:16px }
}

.button, .wp-element-button, .wp-block-button__link{
  background:var(--primary); color:#fff;
  border:none; border-radius:14px;
  padding:.8rem 1.3rem; font-weight:700; letter-spacing:.5px;
  display:inline-block; text-align:center;
}
.button:hover, .wp-element-button:hover, .wp-block-button__link:hover{ background:var(--accent) }

.section{ padding:40px 0 }
.section-alt{ background:var(--bg-alt) }
.section-cta{ background:var(--primary); color:#fff; padding:56px 0; margin-top:24px }
.section-cta h2{ color:#fff }
.section-cta p{ color:#fff }

/* ==========================================================================
   Grid / Cards / Typography rhythm
   ========================================================================== */
.kuoni-grid{ display:grid; grid-template-columns:repeat(12,1fr); gap:18px }
.kuoni-grid > *{ grid-column:span 4 }
@media (max-width:960px){ .kuoni-grid > *{ grid-column:span 6 } }
@media (max-width:640px){ .kuoni-grid > *{ grid-column:span 12 } }

.kuoni-card{
  background:#fff; border-radius:18px;
  box-shadow:0 12px 24px rgba(0,0,0,.06);
  padding:1.25rem;
}
.kuoni-card.info{ border-left:4px solid var(--primary) }

/* Absatz- & Heading-Abstände für gute Lesbarkeit */
.entry-content p, .wp-block-paragraph{ margin:0 0 1.2em }
.entry-title, h1, h2, h3, h4{ margin:1.2em 0 .6em }

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{ background:var(--secondary); color:#fff; padding:32px 0; margin-top:48px }
.footer-inner{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px }
.footer-menu{ list-style:none; margin:0; padding:0 }
.footer-menu a{ color:#fff }

/* ==========================================================================
   Cookie Banner
   ========================================================================== */
.kuoni-cookie{
  position:fixed; left:0; right:0; bottom:0; z-index:9999;
  display:flex; justify-content:center; padding:16px;
}
.kuoni-cookie__box{
  background:#fff; color:var(--text);
  border-radius:14px; box-shadow:0 8px 24px rgba(0,0,0,.12);
  max-width:980px; width:100%;
  padding:16px; display:flex; gap:12px; align-items:center; justify-content:space-between;
}
.kuoni-cookie__actions .button{ margin-left:8px }
.site-footer a { color:#fff; }
.site-footer a:hover { color:#F9F5EE; text-decoration:underline; }
/* --- Logo immer korrekt skalieren (ohne Verzerrung) --- */
.site-logo img,
.site-logo .custom-logo{
  height: auto !important;          /* nie strecken */
  width: auto !important;           /* keine feste Breite */
  max-height: 56px !important;      /* Desktop-Höhe (anpassen: 48/56/64) */
  max-width: none !important;       /* keine künstliche Max-Breite */
  object-fit: contain !important;   /* Seitenverhältnis wahren */
  aspect-ratio: auto !important;    /* kein erzwungenes Ratio */
  display: block !important;
  border-radius: 0 !important;      /* keine runden Ecken fürs Logo */
}

/* Mobile kleiner */
@media (max-width: 900px){
  .site-logo img,
  .site-logo .custom-logo{
    max-height: 44px !important;
  }
}

/* WICHTIG: globale img-Regel nicht aufs Logo anwenden */
img.custom-logo{
  max-width: none !important;  /* überschreibt evtl. img{ max-width:100% } */
  height: auto !important;
  width: auto !important;
  border-radius: 0 !important;
}
/* Container immer mit Abstand zum Rand */
.container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

/* Header auch mit Abstand */
.header-inner {
  padding-left: 16px;
  padding-right: 16px;
}
/* Call-to-Action Buttons */
.button,
.wp-element-button,
.wp-block-button__link {
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 14px;
  padding: .8rem 1.3rem;
  font-weight: 700;
  letter-spacing: .5px;
  display: inline-block;
  text-align: center;
  transition: background .2s ease-in-out, transform .15s ease-in-out;
}

.button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover {
  background: #2f6630;   /* etwas dunkleres Grün */
  color: #fff;           /* bleibt lesbar */
  text-decoration: none; /* kein Unterstrich */
  transform: translateY(-2px); /* leichter "Lift"-Effekt */
}
.button:active,
.wp-element-button:active,
.wp-block-button__link:active {
  transform: translateY(0);
  background: #285529;  /* noch dunkleres Grün */
}
/* === Buttons allgemein === */
.button,
.wp-element-button,
.wp-block-button__link {
  border: none;
  border-radius: 14px;
  padding: .8rem 1.3rem;
  font-weight: 700;
  letter-spacing: .5px;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  transition: background .2s ease-in-out, color .2s ease-in-out, transform .15s ease-in-out;
}

/* Standard-Button (auf weißem Hintergrund) */
.button,
.wp-element-button,
.wp-block-button__link {
  background: var(--primary);
  color: #fff;
}

.button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover {
  background: #2f6630;   /* dunkleres Grün */
  color: #fff;
  text-decoration: none;
  transform: translateY(-2px);
}

/* ✅ Variante: heller Button auf dunklem/ grünem Hintergrund */
.button--light {
  background: #ffffff;
  color: var(--primary);
}

.button--light:hover {
  background: #f0f0f0;
  color: var(--accent);
}
/* === Basis-Button (für helle Hintergründe) === */
.button,
.wp-element-button,
.wp-block-button__link {
  border: none;
  border-radius: 14px;
  padding: .8rem 1.3rem;
  font-weight: 700;
  letter-spacing: .5px;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  background: var(--primary);  /* Grün */
  color: #fff;                 /* Weißer Text */
  transition: background .2s ease-in-out, color .2s ease-in-out, transform .15s ease-in-out;
}

.button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover {
  background: #2f6630;  /* dunkleres Grün */
  color: #fff;
  text-decoration: none;
  transform: translateY(-2px);
}

/* === Light-Variante (für dunkle / grüne Bereiche) === */
.button--light {
  background: #ffffff;
  color: var(--primary);
}

.button--light:hover {
  background: #f0f0f0;   /* leichtes Grau beim Hover */
  color: var(--accent);
}
/* ===== Team – Single Profile Hero ===== */
.team-hero__card{
  background:#fff;
  border-radius:22px;
  box-shadow:0 18px 38px rgba(0,0,0,.08);
  padding:24px;
  display:grid;
  grid-template-columns: 320px 1fr;
  gap:24px;
  align-items:center;
}
.team-hero__media img{
  width:100%; height:320px; object-fit:cover; border-radius:18px;
}
.team-hero__name{
  margin:.2em 0 .15em; font-size:clamp(28px,3.6vw,40px); font-weight:700; color:var(--secondary);
}
.team-hero__role{
  margin:0 0 10px; color:var(--muted); font-weight:600;
}
.team-hero__tags{
  margin:0 0 12px; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px;
}
.team-hero__tags li{
  background:var(--bg-alt); color:var(--secondary);
  padding:6px 10px; border-radius:999px; font-size:14px; font-weight:600;
}
.team-hero__bio{ margin:8px 0 14px; }
.team-hero__quote{
  margin:0 0 16px; padding:10px 14px;
  border-left:4px solid var(--primary); background:#fff;
  font-style:italic; color:#222; border-radius:8px;
}
.team-hero__cta{ display:flex; gap:10px; margin:6px 0 16px; }
.team-hero__facts{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.fact{ background:#fff; border:1px solid #eee; border-radius:14px; padding:10px 12px }
.fact__label{ display:block; font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.3px }
.fact__value{ display:block; font-weight:600; color:#222 }

/* Responsive */
@media (max-width: 900px){
  .team-hero__card{ grid-template-columns:1fr; padding:18px }
  .team-hero__media img{ height:240px }
  .team-hero__facts{ grid-template-columns:1fr; }
}

/* ===== Team – Mini Gallery ===== */
.team-gallery__grid{
  display:grid; grid-template-columns:repeat(12,1fr); gap:16px;
}
.team-gallery__grid > figure{ grid-column:span 4; margin:0; }
.team-gallery__grid img{ width:100%; height:220px; object-fit:cover; border-radius:16px }
.team-gallery__grid figcaption{ margin-top:6px; font-size:14px; color:var(--muted) }
@media (max-width: 900px){
  .team-gallery__grid > figure{ grid-column:span 12 }
}
/* Portrait sicher anzeigen */
.team-hero__media img{
  width: 100% !important;
  height: 320px !important;       /* gern anpassen (z.B. 280/300/360) */
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
}
/* === Schönere Icon-Buttons === */
.button {
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 14px;
  padding: .85rem 1.2rem;
  font-weight: 700;
  letter-spacing: .4px;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  text-align: center;
  transition: background .2s ease, transform .15s ease, box-shadow .2s ease;
}
.button:hover { background:#2f6630; transform: translateY(-1px); text-decoration:none }
.button:active { transform: translateY(0) }
.button--light { background:#fff; color:var(--primary) }
.button--light:hover { background:#F0F0F0; color:var(--accent) }

.button--icon svg{
  width: 1.05em; height: 1.05em; fill: currentColor; display:block;
}

/* Button-Reihen */
.btnrow{ display:flex; flex-wrap:wrap; gap:10px; margin:10px 0 0 }
.btnrow--center{ justify-content:center }

/* === Team-Header-Karte (Profil) === */
.team-hero__card{
  background:#fff;
  border-radius:22px;
  box-shadow:0 18px 38px rgba(0,0,0,.08);
  padding:24px;
  display:grid;
  grid-template-columns: 320px 1fr;
  gap:24px;
  align-items:center;
}
.team-hero__media img{
  width:100%; height:320px; object-fit:cover; border-radius:18px;
}
.team-hero__name{
  margin:.2em 0 .15em; font-size:clamp(28px,3.6vw,40px); font-weight:700; color:var(--secondary);
}
.team-hero__role{ margin:0 0 10px; color:var(--muted); font-weight:600 }

/* Chips (4 Stück) */
.pills{ margin:0 0 14px; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px }
.pills li{
  background:var(--bg-alt);
  color:var(--secondary);
  padding:6px 10px;
  border-radius:999px;
  font-size:14px; font-weight:600;
}

/* Prosa & Zitat */
.prose p{ margin:0 0 1.1em }
.quote{
  margin:0; padding:14px 16px; border-left:4px solid var(--primary);
  background:#fff; border-radius:10px; font-style:italic; color:#222;
}

/* CTA grüne Sektion */
.section-cta .cta-inner{ text-align:center }
.section-cta h2, .section-cta p{ color:#fff }

/* Responsive */
@media (max-width: 900px){
  .team-hero__card{ grid-template-columns:1fr; padding:18px }
  .team-hero__media img{ height:240px }
}
/* ===== Profil-Karte ===== */
.team-hero__card{
  background:#fff;
  border-radius:22px;
  box-shadow:0 18px 38px rgba(0,0,0,.08);
  padding:24px;
  display:grid;
  grid-template-columns: 320px 1fr;
  gap:24px;
  align-items:center;
}
.team-hero__media img{
  width:100% !important;
  height:320px !important;
  object-fit:cover !important;
  border-radius:18px !important;
  display:block !important;
}
.team-hero__name{
  margin:.2em 0 .15em;
  font-size:clamp(28px,3.6vw,40px);
  font-weight:700;
  color:var(--secondary);
}
.team-hero__role{ margin:0 0 10px; color:var(--muted); font-weight:600 }

/* Pills */
.pills{
  display:flex; flex-wrap:wrap; gap:10px;
  margin:0 0 16px; padding:0; list-style:none;
}
.pills li{
  background:var(--bg-alt);
  color:var(--secondary);
  padding:6px 14px;
  border-radius:999px;
  font-size:14px; font-weight:600;
}

/* Prosa & Zitat */
.prose p{ margin:0 0 1.15em }
.quote{
  margin:0; padding:14px 16px;
  border-left:4px solid var(--primary);
  background:#fff; border-radius:10px;
  font-style:italic; color:#222;
}

/* CTA Buttons – einheitlich & mit Icons */
.button{
  background: var(--primary);
  color:#fff;
  border:none; border-radius:14px;
  padding:.9rem 1.25rem;
  font-weight:700; letter-spacing:.4px;
  display:inline-flex; align-items:center; gap:.55rem;
  text-align:center; cursor:pointer;
  transition: background .2s ease, transform .15s ease, box-shadow .2s ease;
}
.button:hover{ background:#2f6630; transform: translateY(-1px); text-decoration:none }
.button:active{ transform: translateY(0) }
.button--light{ background:#fff; color:var(--primary) }
.button--light:hover{ background:#F0F0F0; color:var(--accent) }
.button--icon svg{ width:1.1em; height:1.1em; fill:currentColor; display:block }

/* Einheitliche Breite/Höhe in Reihen */
.btnrow{ display:flex; flex-wrap:wrap; gap:14px; margin:16px 0 0 }
.btnrow .button{
  flex:1 1 auto;
  min-width:180px;           /* gleichmäßige Breite */
  justify-content:center;    /* Icon + Text zentriert */
}

/* Grüne Abschluss-Sektion */
.section-cta .cta-inner{ text-align:center }
.section-cta h2, .section-cta p{ color:#fff }

/* Responsive */
@media (max-width: 900px){
  .team-hero__card{ grid-template-columns:1fr; padding:18px }
  .team-hero__media img{ height:240px !important }
  .btnrow{ flex-direction:column }
  .btnrow .button{ min-width:unset; width:100% }
}
/* === Buttons allgemein === */
.button {
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 0.55rem 1.1rem;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  line-height: 1.2;
  cursor: pointer;
  transition: background .2s ease, transform .15s ease;
}
.button:hover {
  background: #2f6630;
  text-decoration: none;
  transform: translateY(-2px);
}
.button:active { transform: translateY(0) }

/* Light-Variante */
.button--light {
  background: #fff;
  color: var(--primary);
  border: 1.5px solid var(--primary);
}
.button--light:hover {
  background: #f0f0f0;
  color: var(--accent);
}

/* Icon im Button */
.button--icon svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
  display: inline-block;
}

/* Button-Reihen */
.btnrow {
  display: flex;
  gap: 12px;
  margin-top: 12px;
}
.btnrow .button {
  min-width: 120px;   /* genug für gleichmäßige Größe */
  flex: 0 0 auto;     /* NICHT über volle Breite */
}

@media (max-width:600px){
  .btnrow { flex-direction: column; }
  .btnrow .button { width: 100%; }
}
/* Überschrift mit kleiner Linie */
.split-headline{
  margin: 0 0 12px;
  font-size: clamp(22px, 3vw, 28px);
  position: relative;
}
.split-headline::after{
  content:"";
  display:block;
  width:56px; height:3px;
  background: var(--primary);
  border-radius: 2px;
  margin-top:8px;
}

/* Grid für die 2 Karten */
.split-duo{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
}
.duo-card{ grid-column: span 6; }
@media (max-width: 900px){
  .duo-card{ grid-column: span 12; }
}

/* Karten-Look */
.duo-card{
  background:#fff;
  border:1px solid #eee;
  border-radius:18px;
  padding:18px 18px 16px;
  box-shadow: 0 8px 20px rgba(0,0,0,.05);
}
.duo-card--farm{ border-left: 4px solid var(--primary); }
.duo-card--biz { border-left: 4px solid var(--accent); }

.duo-card__icon{
  width:40px; height:40px;
  border-radius: 10px;
  background: var(--bg-alt);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:10px;
}
.duo-card__icon svg{ width:22px; height:22px; fill: var(--secondary); }

.duo-card h3{
  margin: 4px 0 6px;
  font-size: 20px;
}
.duo-card__lead{
  margin: 0 0 10px;
  color: var(--secondary);
  font-weight: 600;
}
.duo-list{
  margin: 0 0 10px;
  padding-left: 18px;
}
.duo-list li{ margin-bottom: 6px; }

/* Button-Reihe (kompakte Buttons – wie zuletzt) */
.btnrow{
  display:flex;
  gap:12px;
  margin-top:12px;
  flex-wrap: wrap;
}
.btnrow .button{
  min-width:120px;         /* gleichmäßig, aber nicht zu breit */
  flex:0 0 auto;           /* keine volle Breite */
}
@media (max-width:600px){
  .btnrow{ flex-direction:column }
  .btnrow .button{ width:100% }
}
/* Buttons kompakt & gleich breit */
.button {
  background: var(--primary);
  color:#fff;
  border:none;
  border-radius:10px;
  padding:0.6rem 1.2rem;
  font-weight:600;
  font-size:15px;
  letter-spacing:.3px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  line-height:1.2;
  cursor:pointer;
  transition: background .2s ease, transform .15s ease;
}
.button:hover { background:#2f6630; text-decoration:none; transform:translateY(-2px) }
.button:active { transform:translateY(0) }

.button--light {
  background:#fff;
  color:var(--primary);
  border:1.5px solid var(--primary);
}
.button--light:hover { background:#f0f0f0; color:var(--accent) }

.button--icon svg{ width:1em; height:1em; fill:currentColor; }

/* Button-Reihe */
.btnrow{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:12px;
}
.btnrow .button{
  min-width:140px;   /* gleiche Breite */
  flex:0 0 auto;
}
@media (max-width:600px){
  .btnrow{ flex-direction:column }
  .btnrow .button{ width:100% }
}

/* Split-Karten */
.split-duo{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:20px;
}
.duo-card{ 
  grid-column:span 6; 
  background:#fff; 
  border:1px solid #eee;
  border-radius:18px; 
  padding:20px; 
  box-shadow:0 8px 20px rgba(0,0,0,.05);
}
.duo-card--farm{ border-top:4px solid var(--primary) }
.duo-card--biz{ border-top:4px solid var(--accent) }

.duo-card__icon{
  width:42px; height:42px;
  border-radius:10px;
  background:var(--bg-alt);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:10px;
}
.duo-card__icon svg{ width:22px; height:22px; fill:var(--secondary) }
.duo-card__lead{ font-weight:600; margin-bottom:10px; color:var(--secondary) }
.duo-list{ margin:0; padding-left:18px }
.duo-list li{ margin-bottom:6px }

@media(max-width:900px){
  .duo-card{ grid-column:span 12 }
}
/* Angebote – Karten & Marken-Badges */
.unit-card { padding: 20px; }
.unit-head { display:flex; flex-direction:column; gap:6px; margin-bottom:8px; }
.unit-title { margin:0; font-size:20px; }
.unit-lead { margin: 6px 0 10px; color: var(--secondary); }
.unit-list { margin:0 0 8px; padding-left: 18px; }
.unit-list li { margin-bottom:6px; }

/* Badges */
.brand-badge{
  align-self:flex-start;
  display:inline-block;
  font-size:12px;
  font-weight:700;
  letter-spacing:.3px;
  text-transform:uppercase;
  color:#fff;
  background: var(--primary);
  padding:4px 8px;
  border-radius:999px;
}
.brand-badge--pro { background:#2f6630; }    /* dunkleres Grün */
.brand-badge--kh  { background:#5A4C2A; }    /* Akzent (Braun) */
.brand-badge--dfy { background:#1A1A1A; }    /* Sekundär (Anthrazit) */

/* Buttons (kompakt & gleich breit nebeneinander) */
.btnrow { display:flex; gap:12px; flex-wrap:wrap; margin-top:10px; }
.btnrow .button { min-width:150px; flex:0 0 auto; }
@media (max-width:600px){
  .btnrow { flex-direction:column; }
  .btnrow .button { width:100%; }
}
/* === Brand Landing === */
.brand-hero__lead { margin: 0 0 10px; color: var(--secondary); }

.brand-rail{
  display:flex; flex-wrap:wrap; gap:10px;
  list-style:none; margin: 10px 0 0; padding:0;
}
.brand-chip{
  display:inline-block; padding:6px 12px; border-radius:999px;
  font-weight:700; font-size:13px; letter-spacing:.3px; color:#fff;
}
.brand--ap   { background:#397D3A; } /* primary */
.brand--apro { background:#2f6630; } /* darker green */
.brand--kh   { background:#5A4C2A; } /* accent / braun */
.brand--dfy  { background:#1A1A1A; } /* anthrazit */

/* Grid */
.brand-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
}
.brand-card{ grid-column:span 6; }
@media (max-width: 900px){ .brand-card{ grid-column:span 12; } }

/* Karten */
.brand-card{
  background:#fff;
  border:1px solid #eee;
  border-radius:18px;
  padding:20px;
  box-shadow:0 8px 20px rgba(0,0,0,.05);
}
.brand-card__head{ display:flex; flex-direction:column; gap:8px; margin-bottom:6px; }
.brand-title{ margin:0; font-size:20px; }
.brand-lead{ margin:6px 0 10px; color:var(--secondary); }
.brand-list{ margin:0 0 10px; padding-left:18px; }
.brand-list li{ margin-bottom:6px; }

/* Badges innerhalb der Karten (kräftiger) */
.brand-badge{
  align-self:flex-start;
  display:inline-block;
  font-size:12px; font-weight:800; letter-spacing:.35px; text-transform:uppercase;
  color:#fff; padding:4px 10px; border-radius:999px;
}
.brand-badge.brand--ap   { background:#397D3A; }
.brand-badge.brand--apro { background:#2f6630; }
.brand-badge.brand--kh   { background:#5A4C2A; }
.brand-badge.brand--dfy  { background:#1A1A1A; }

/* Why-Block */
.why-block h2{ margin-top:0 }
.why-list{ margin:0 0 10px; padding-left:18px }
.why-list li{ margin-bottom:6px }

/* CTA Buttons – kompakt & gleich breit */
.btnrow{ display:flex; gap:12px; flex-wrap:wrap; margin-top:10px }
.btnrow .button{ min-width:150px; flex:0 0 auto }
.btnrow--center{ justify-content:center }
@media (max-width:600px){ .btnrow{ flex-direction:column } .btnrow .button{ width:100% } }
/* --- Dropdown-Menü Styling --- */
.primary-menu li ul {
  display: none;                /* Standard: versteckt */
  position: absolute;
  background: #fff;
  padding: 10px 0;
  margin: 0;
  list-style: none;
  border: 1px solid #ddd;
  border-radius: 6px;
  min-width: 200px;
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
  z-index: 1000;
}

.primary-menu li:hover > ul,
.primary-menu li:focus-within > ul {
  display: block;               /* bei Hover oder Fokus sichtbar */
}

.primary-menu li ul li {
  padding: 0;
}
.primary-menu li ul li a {
  display: block;
  padding: 8px 16px;
  color: var(--text);
  text-decoration: none;
}
.primary-menu li ul li a:hover {
  background: var(--bg-alt);
  color: var(--primary);
}
/* === Angebote im Team-Stil === */
.offer-hero__card{
  background:#fff;
  border-radius:22px;
  box-shadow:0 18px 38px rgba(0,0,0,.08);
  padding:24px;
}
.offer-hero__title{ margin:.1em 0 .25em; font-size:clamp(28px,3.6vw,40px); font-weight:700; color:var(--secondary) }
.offer-hero__lead{ margin:0 0 10px; color:var(--secondary) }

/* Brand Grid (re-used styles aus vorher) */
.brand-grid{ display:grid; grid-template-columns:repeat(12,1fr); gap:18px }
.brand-card{ grid-column:span 6; background:#fff; border:1px solid #eee; border-radius:18px; padding:20px; box-shadow:0 8px 20px rgba(0,0,0,.05) }
@media (max-width:900px){ .brand-card{ grid-column:span 12 } }

.brand-card__head{ display:flex; flex-direction:column; gap:8px; margin-bottom:6px }
.brand-title{ margin:0; font-size:20px }
.brand-lead{ margin:6px 0 10px; color:var(--secondary) }
.brand-list{ margin:0 0 10px; padding-left:18px }
.brand-list li{ margin-bottom:6px }

/* Brand Badges & Chips */
.brand-badge{ align-self:flex-start; display:inline-block; font-size:12px; font-weight:800; letter-spacing:.35px; text-transform:uppercase; color:#fff; padding:4px 10px; border-radius:999px }
.brand--ap{ background:#397D3A }
.brand--apro{ background:#2f6630 }
.brand--kh{ background:#5A4C2A }
.brand--dfy{ background:#1A1A1A }

.brand-rail{ display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:10px 0 0; padding:0 }
.brand-chip{ display:inline-block; padding:6px 12px; border-radius:999px; font-weight:700; font-size:13px; letter-spacing:.3px; color:#fff }
.brand-chip.brand--ap{ background:#397D3A }
.brand-chip.brand--apro{ background:#2f6630 }
.brand-chip.brand--kh{ background:#5A4C2A }
.brand-chip.brand--dfy{ background:#1A1A1A }

/* Buttons kompakt & gleich breit (wie Team) */
.btnrow{ display:flex; gap:12px; flex-wrap:wrap; margin-top:10px }
.btnrow .button{ min-width:150px; flex:0 0 auto }
.btnrow--center{ justify-content:center }
@media (max-width:600px){ .btnrow{ flex-direction:column } .btnrow .button{ width:100% } }
/* Dezente Brand-Karten */
.brand-grid {
  display: grid;
  grid-template-columns: repeat(12,1fr);
  gap: 18px;
}
.brand-card {
  grid-column: span 6;
  background: #fafafa;   /* dezenter hellgrauer Hintergrund */
  border: 1px solid #eee;
  border-radius: 14px;
  padding: 20px;
  text-align: left;
  box-shadow: 0 4px 12px rgba(0,0,0,.04);
}
@media (max-width:900px) {
  .brand-card { grid-column: span 12; }
}
.brand-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--secondary);
  background: #eaeaea;  /* neutral grau */
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 8px;
}
.brand-title {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 600;
}
.brand-lead {
  margin: 0 0 12px;
  color: var(--secondary);
}
/* 2×2 Raster, dezent */
.brand-grid.brand-grid--22{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
}
.brand-grid--22 > .brand-card{ grid-column: span 6; }
@media (max-width: 900px){
  .brand-grid--22 > .brand-card{ grid-column: span 12; }
}

/* Karten: gleiche Höhe + Button unten */
.brand-card{
  background:#fafafa;
  border:1px solid #eee;
  border-radius:14px;
  padding:20px;
  box-shadow:0 4px 12px rgba(0,0,0,.04);

  /* sorgt für gleiche Höhe und "Button unten" */
  display:flex;
  flex-direction:column;
}
.brand-badge{
  display:inline-block;
  font-size:12px; font-weight:700; text-transform:uppercase;
  color:var(--secondary);
  background:#eaeaea;
  padding:4px 10px; border-radius:999px; margin-bottom:8px;
}
.brand-title{ margin:0 0 6px; font-size:18px; font-weight:600; }
.brand-lead{ margin:0 0 10px; color:var(--secondary); }
.brand-list{ margin:0 0 10px; padding-left:18px; }
.brand-list li{ margin-bottom:6px; }

/* Button-Reihe – sitzt am unteren Rand */
.btnrow{ margin-top:auto; display:flex; gap:12px; }
.btnrow--left{ justify-content:flex-start; }
.btnrow .button{ min-width:150px; flex:0 0 auto; }  /* gleich breit, kompakt */
@media (max-width:600px){
  .btnrow{ flex-direction:column; }
  .btnrow .button{ width:100%; }
}
/* Hero für Angebote */
.offer-hero__card {
  background:#fff;
  border-radius:22px;
  box-shadow:0 18px 38px rgba(0,0,0,.06);
  padding:24px;
  margin-bottom:30px;
}
.offer-hero__title {
  margin:.1em 0 .25em;
  font-size:clamp(28px,3.2vw,38px);
  font-weight:700;
  color:var(--secondary);
}
.offer-hero__lead {
  margin:0 0 12px;
  color:var(--secondary);
}

/* 2×2 Grid */
.brand-grid.brand-grid--22 {
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:24px;
}
.brand-grid--22 > .brand-card { 
  grid-column: span 6; 
  display:flex; 
  flex-direction:column; 
  justify-content:space-between;
  background:#fafafa;
  border:1px solid #eaeaea;
  border-radius:14px;
  padding:20px;
  box-shadow:0 4px 12px rgba(0,0,0,.04);
}
@media (max-width:900px){
  .brand-grid--22 > .brand-card{ grid-column:span 12 }
}

/* Brand Badge */
.brand-badge {
  display:inline-block;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  color:var(--secondary);
  background:#eaeaea;
  padding:4px 10px;
  border-radius:999px;
  margin-bottom:8px;
}

/* Titel & Text */
.brand-title { margin:0 0 6px; font-size:20px; font-weight:600 }
.brand-lead { margin:0 0 12px; color:var(--secondary) }
.brand-list { margin:0 0 12px; padding-left:18px }
.brand-list li { margin-bottom:6px }

/* Buttons – kompakt & gleich breit */
.btnrow { display:flex; flex-wrap:wrap; gap:12px; margin-top:auto }
.btnrow--left { justify-content:flex-start }
.btnrow .button { min-width:150px; flex:0 0 auto }
@media(max-width:600px){ .btnrow { flex-direction:column } .btnrow .button { width:100% } }
/* Hero beige Box */
.offer-hero__card {
  background:#f8f5ef; /* leicht beige */
  border-radius:22px;
  box-shadow:0 18px 38px rgba(0,0,0,.06);
  padding:28px;
  margin-bottom:40px;
}
.offer-hero__title {
  margin:.1em 0 .25em;
  font-size:clamp(28px,3.2vw,38px);
  font-weight:700;
  color:var(--secondary);
}
.offer-hero__lead { margin:0 0 18px; color:var(--secondary); }

/* Grid für Marken */
.brand-grid.brand-grid--22 {
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:24px;
}
.brand-grid--22 > .brand-card {
  grid-column: span 6;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#f9f9f9; /* hellgrau, super lesbar */
  border:1px solid #e5e5e5;
  border-radius:14px;
  padding:22px;
  box-shadow:0 4px 12px rgba(0,0,0,.05);
}
@media (max-width:900px){
  .brand-grid--22 > .brand-card{ grid-column:span 12 }
}

/* Badges groß & deutlich */
.brand-badge {
  display:inline-block;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.3px;
  padding:5px 14px;
  border-radius:999px;
  margin-bottom:10px;
  color:#fff;
}
.brand--kh{ background:#5A4C2A; }
.brand--dfy{ background:#1A1A1A; }
.brand--apro{ background:#2f6630; }
.brand--ap{ background:#397D3A; }

/* Texte */
.brand-title { margin:0 0 8px; font-size:20px; font-weight:700; color:#111 }
.brand-lead { margin:0 0 12px; color:#333 }
.brand-list { margin:0 0 14px; padding-left:18px; color:#333 }
.brand-list li { margin-bottom:6px }

/* Buttons einheitlich unten */
.btnrow { display:flex; gap:12px; margin-top:auto }
.btnrow--left { justify-content:flex-start }
.btnrow .button { min-width:150px; flex:0 0 auto }
@media(max-width:600px){ .btnrow{ flex-direction:column } .btnrow .button{ width:100% } }
/* Hero (weiß, zweispaltig mit Bild) */
.hero-card, .offer-hero__card {
  background:#fff;
  border-radius:22px;
  box-shadow:0 8px 20px rgba(0,0,0,.06);
  padding:28px;
}
.hero-grid {
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:24px;
  align-items:center;
}
@media(max-width:900px){
  .hero-grid{ grid-template-columns:1fr; text-align:center }
  .hero-media{ order:-1 } /* Bild nach oben auf Mobile */
}
.hero-image{
  width:100%;
  height:auto;
  border-radius:14px;
  object-fit:cover;
}

/* Marken-Grid */
.brand-grid.brand-grid--22{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:24px;
}
.brand-grid--22 > .brand-card{
  grid-column:span 6;
}
@media(max-width:900px){
  .brand-grid--22 > .brand-card{ grid-column:span 12 }
}

.brand-card{
  display:flex; flex-direction:column;
  background:#f9f9f9;
  border-radius:14px;
  overflow:hidden;
  min-height:380px;
  box-shadow:0 4px 12px rgba(0,0,0,.05);
}
.brand-head{ margin-bottom:0 }

/* Farb-Balken oben */
.brand-bar{ height:6px; width:100% }
.brand-bar.brand--kh{ background:#5A4C2A }
.brand-bar.brand--dfy{ background:#1A1A1A }
.brand-bar.brand--apro{ background:#2f6630 }
.brand-bar.brand--ap{ background:#397D3A }

.brand-inner{ padding:20px; display:flex; flex-direction:column; height:100% }
.brand-title{ margin:10px 0; font-size:20px; font-weight:700; color:#111 }
.brand-lead{ margin:0 0 12px; color:#333 }
.brand-list{ margin:0 0 12px; padding-left:18px; color:#333 }
.brand-list li{ margin-bottom:6px }

/* Badges */
.brand-badge{
  display:inline-block;
  font-size:13px; font-weight:700; text-transform:uppercase;
  letter-spacing:.3px; color:#fff;
  background:var(--primary); padding:4px 10px; border-radius:999px;
}

/* Buttons unten links */
.btnrow{ margin-top:auto; display:flex; gap:12px; }
.btnrow--left{ justify-content:flex-start }
.btnrow .button{ min-width:150px; flex:0 0 auto }
@media(max-width:600px){ .btnrow{ flex-direction:column } .btnrow .button{ width:100% } }
/* Gleiches Layout wie Team-Boxen, Button immer unten */
.duo-card{
  background:#fff;
  border:1px solid #eee;
  border-radius:18px;
  padding:18px;
  box-shadow:0 8px 20px rgba(0,0,0,.05);
  display:flex; flex-direction:column; min-height:340px;
}
.duo-card h3{ margin:4px 0 6px; font-size:20px; font-weight:700; color:#111 }
.duo-card__lead{ margin:0 0 10px; color:var(--secondary); font-weight:600 }
.duo-list{ margin:0 0 12px; padding-left:18px }
.duo-list li{ margin-bottom:6px }
.duo-card .btnrow{ margin-top:auto }   /* -> Button ganz unten */

/* Linke Farbkante wie Team, pro Marke */
.duo-card--kh  { border-left:4px solid #5A4C2A; } /* KuonihofSolutions (Braun) */
.duo-card--dfy { border-left:4px solid #1A1A1A; } /* Done-for-You (Anthrazit) */
.duo-card--apro{ border-left:4px solid #2f6630; } /* AgriPro (dunkles Grün) */
.duo-card--ap  { border-left:4px solid #397D3A; } /* AgriPure (Primärgrün) */

/* Grid wie Team */
.split-duo{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap:16px;
}
.split-duo > .duo-card{ grid-column: span 6; }
@media (max-width:900px){
  .split-duo > .duo-card{ grid-column: span 12; }
}
/* === TEAM: Farbkante der unteren Boxen zuverlässig wiederherstellen === */
/* Falls frühere .duo-card-Regeln die Kante überschreiben, setzen wir hier gezielt nach. */
.duo-card--farm { border-left: 4px solid var(--primary) !important; }   /* z.B. Agrarteil */
.duo-card--biz  { border-left: 4px solid var(--accent)  !important; }   /* z.B. Unternehmertum */

/* === ANGEBOTE: Farbkante pro Marke (Team-Stil, falls genutzt) === */
.duo-card--kh   { border-left: 4px solid #5A4C2A !important; } /* KuonihofSolutions */
.duo-card--dfy  { border-left: 4px solid #1A1A1A !important; } /* Done-for-You */
.duo-card--apro { border-left: 4px solid #2f6630 !important; } /* AgriPro */
.duo-card--ap   { border-left: 4px solid #397D3A !important; } /* AgriPure */

/* === ANGEBOTE: Hero (Bild links, Text rechts – wie bei Team) === */
.hero-card {
  background:#fff;
  border-radius:22px;
  box-shadow:0 8px 20px rgba(0,0,0,.06);
  padding:28px;
}
.hero-grid {
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:24px;
  align-items:center;
}
.hero-image { width:100%; height:auto; border-radius:14px; object-fit:cover; }
.hero-title { margin:.1em 0 .25em; font-size:clamp(28px,3.2vw,38px); font-weight:700; color:var(--secondary); }
.hero-sub   { margin:0 0 12px; color:var(--secondary); }
@media (max-width: 900px) {
  .hero-grid { grid-template-columns:1fr; text-align:center; }
  .hero-media { order:-1; }
}

/* === ANGEBOTE: Team-Style Boxen (falls „split-duo/duo-card“ genutzt) === */
.split-duo { display:grid; grid-template-columns:repeat(12,1fr); gap:16px; }
.split-duo > .duo-card { grid-column: span 6; }
@media (max-width:900px){ .split-duo > .duo-card { grid-column: span 12; } }

/* Button-Reihen bleiben kompakt & unten */
.duo-card .btnrow { margin-top:auto; }
.btnrow { display:flex; flex-wrap:wrap; gap:12px; }
.btnrow .button { min-width:150px; flex:0 0 auto; }
@media (max-width:600px){ .btnrow { flex-direction:column; } .btnrow .button { width:100%; } }

/* === Grüner Abschluss-CTA (falls überschrieben war) === */
.section-cta .cta-inner { text-align:center; }
.section-cta h2, .section-cta p { color:#fff; }
/* Standard-Seitentitel global ausblenden */
.page .entry-title {
  display: none;
}

.page .entry-header {
  margin: 0;
  padding: 0;
}
/* Farbkante für AgriPro Solutions™ */
.duo-card--agri {
  border-left: 4px solid #397D3A; /* Dunkelgrün aus deiner CI */
}
.duo-card--ap { border-left: 4px solid #397D3A; } /* AgriPure-Grün */
/* Global: H2 in hero-cards bündig zu H2 außerhalb */
.hero-card { --card-pad: 22px; }
.hero-card .split-headline { margin-left: calc(-1 * var(--card-pad)); }
.header-cta { display:flex; align-items:center; margin-left:12px; }
.button--small { padding: 8px 14px; font-size: 14px; line-height: 1; }
@media (max-width: 900px){
  .header-cta { display:none; } /* CTA wandert mobil ins Offcanvas-Menü */
}
/* 4 Marken-Teaser in einer Zeile */
.brand-row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
}
.brand-tile {
  grid-column: span 3; /* 4 Spalten */
  background: #f7f7f5; /* dezentes hellgrau/beige */
  border-left: 4px solid var(--secondary);
  padding: 14px 14px 12px;
  border-radius: 10px;
}
.brand-tile h3 { margin: 0 0 6px; font-size: 18px; }
.brand-tile p  { margin: 0 0 12px; font-size: 14px; line-height: 1.45; }

/* Markenfarben an der linken Kante */
.brand-kh   { border-left-color: #5A4C2A; } /* Braun */
.brand-dfy  { border-left-color: #1A1A1A; } /* Dunkelgrau/Schwarz */
.brand-agri { border-left-color: #397D3A; } /* Dunkelgrün */
.brand-ap   { border-left-color: #397D3A; } /* Grün (AgriPure) */

/* Kompakte Buttons in den Tiles */
.button.button--tiny {
  padding: 6px 10px;
  font-size: 13px;
  line-height: 1;
}

/* Responsive – ab Tablet stapeln (2×2), mobil 1×4 */
@media (max-width: 980px){
  .brand-tile { grid-column: span 6; }
}
@media (max-width: 560px){
  .brand-tile { grid-column: 1 / -1; }
}
/* 4 Kacheln in einer Zeile (auch für „Hof. Haltung. Hands-on.“ und Marken) */
.brand-row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
}
.brand-tile {
  grid-column: span 3;
  background: #f7f7f5;
  border-left: 4px solid var(--secondary);
  padding: 14px 14px 12px;
  border-radius: 10px;
}
.brand-tile h3 { margin: 0 0 6px; font-size: 18px; }
.brand-tile p  { margin: 0 0 12px; font-size: 14px; line-height: 1.45; }

/* Markenfarben an der linken Kante */
.brand-kh   { border-left-color: #5A4C2A; }
.brand-dfy  { border-left-color: #1A1A1A; }
.brand-agri { border-left-color: #397D3A; }
.brand-ap   { border-left-color: #397D3A; }

/* Kompakte Buttons in Tiles */
.button.button--tiny { padding: 6px 10px; font-size: 13px; line-height: 1; }

/* Responsive: 2×2 ab Tablet, 1×4 mobil */
@media (max-width: 980px){ .brand-tile { grid-column: span 6; } }
@media (max-width: 560px){ .brand-tile { grid-column: 1 / -1; } }
/* Pills (Marken) – clean, modern */
.brand-pills{display:flex;gap:10px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;
      background:#f6f5f2;border:1px solid #eceae6;font-size:14px;line-height:1;text-decoration:none}
.pill:hover{filter:brightness(0.97)}
.pill--kh{border-color:#5A4C2A33}
.pill--dfy{border-color:#1A1A1A33}
.pill--agri{border-color:#397D3A33}
.pill--ap{border-color:#397D3A33}

/* Werte-Abschnitt mit feinem Rhythmus */
.values p{margin:6px 0;font-size:16px}

/* kleine, elegante Zwischenzeile */
.lead-intro{margin:0 0 6px;color:#5a5a5a}
.micro-copy{text-align:center;color:#2c2c2c;opacity:.9}

/* Typografie leicht ruhiger auf kleineren Screens */
@media (max-width: 640px){
  .hero-title{font-size:clamp(24px,6.5vw,32px)}
  .hero-sub{line-height:1.6}
}

.hero-kicker{
  margin: 6px 0 10px;
  font-size: 15px;
  color: #6b6b6b;
  letter-spacing: .01em;
}
/* Header Layout: Logo links, Menü rechtsbündig, Tools am rechten Rand */
.header-inner{display:flex;align-items:center;gap:16px}
.site-branding{flex:0 0 auto}
.site-nav{margin-left:auto}                 /* <-- schiebt das Menü nach rechts */
.primary-menu{display:flex;gap:18px;align-items:center}

/* Header-Tools (Suche, CTA, Hamburger) */
.header-tools{display:flex;align-items:center;gap:12px;margin-left:12px}
.header-cta{display:inline-flex;align-items:center}
.button--small{padding:8px 12px;font-size:14px;line-height:1}

/* Suchbutton */
.header-search{display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border:1px solid #e6e2da;border-radius:999px;background:#f8f5ef;color:#1a1a1a}
.header-search:hover{filter:brightness(.97)}

/* Ausklappbare Suche (unter dem Header) */
.site-search{background:#fff;border-top:1px solid #eee;border-bottom:1px solid #eee}
.site-search .search-form{max-width:1100px;margin:0 auto;padding:14px 18px;display:flex;gap:10px}
.search-field{flex:1 1 auto;padding:10px 12px;border:1px solid #ddd;border-radius:8px}
.search-submit{padding:10px 14px;border:1px solid #ddd;border-radius:8px;background:#f3f3f3}
.search-submit:hover{background:#eee}

/* Sichtbarkeit wenn geöffnet */
body.is-search-open #site-search{display:block}
body.is-search-open #site-search[hidden]{display:block !important}

/* Responsiv: Mobile Navigation */
@media (max-width: 900px){
  .header-cta{display:none} /* CTA verschwindet mobil, Menü/Hamburger übernimmt */
  .primary-menu{display:none} /* wird über dein mobiles Menü/Hamburger gesteuert */
}
/* Footer */
.site-footer{
  background:#397D3A; /* Kuonihof-Grün */
  color:#fff;
  padding:50px 20px 30px;
}
.footer-inner{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
}
.footer-col h4{
  font-size:16px;
  margin-bottom:12px;
  font-weight:600;
}
.footer-col p, 
.footer-col a{
  font-size:14px;
  line-height:1.6;
  color:#f1f1f1;
}
.footer-col a:hover{ text-decoration:underline }
.footer-logo img{ max-height:48px; }
.footer-tagline{ margin-top:12px;font-size:14px;line-height:1.5; }

.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.footer-links li a{ text-decoration:none }
.footer-links li a:hover{ text-decoration:underline }

.footer-social{display:flex;gap:12px;margin-top:10px}
.footer-social a{color:#fff;transition:opacity .2s}
.footer-social a:hover{opacity:.7}

.footer-bottom{border-top:1px solid rgba(255,255,255,0.2);margin-top:30px;padding-top:15px;text-align:center;font-size:13px;color:#e1e1e1}

@media(max-width:900px){
  .footer-inner{grid-template-columns:repeat(2,1fr);gap:20px}
}
@media(max-width:600px){
  .footer-inner{grid-template-columns:1fr;gap:24px;text-align:center}
  .footer-col{text-align:center}
}
/* === Footer (hell, neutral, CI-konform) === */
.site-footer{
  background:#F7F7F5;          /* heller Beige-/Grau-Ton aus eurer CI */
  color:#1A1A1A;
  border-top:1px solid #ECEAE6; /* feine Linie zum Content */
}

.footer-inner{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 28px;
  padding: 42px 18px 28px;
}

/* Spaltenbreiten (5 Spalten auf Desktop) */
.footer-brand { grid-column: span 3; }
.footer-inner > .footer-col { grid-column: span 2; }
.footer-contact { grid-column: span 3; }

/* Typo & Links */
.footer-col h4{
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 10px;
  color:#1A1A1A;
}
.footer-tagline{
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.55;
  color:#2A2A2A;
}
.footer-menu,
.footer-links{
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-menu li,
.footer-links li{ margin: 0 0 6px; }
.footer-menu a,
.footer-links a{
  color:#1A1A1A;
  text-decoration: none;
  font-size: 14px;
}
.footer-menu a:hover,
.footer-links a:hover{ text-decoration: underline; }

.footer-logo img{ max-height: 44px; width:auto; }

/* Kontakt */
.footer-contact address{
  font-style: normal;
  margin: 0 0 8px;
  line-height: 1.5;
}
.footer-contact__links a{
  color:#1A1A1A;
  text-decoration: none;
}
.footer-contact__links a:hover{ text-decoration: underline; }

.footer-social{
  margin-top: 8px;
  display: flex;
  gap: 12px;
}
.footer-social a{
  font-size: 14px;
  color:#1A1A1A;
  text-decoration: none;
  opacity: .9;
}
.footer-social a:hover{ opacity: 1; }

/* Bottom legal bar */
.footer-bottom{
  border-top: 1px solid #ECEAE6;
  background: #F7F7F5;
}
.footer-bottom__inner{
  display:flex;
  align-items:center;
  justify-content: space-between;
  padding: 12px 18px 18px;
  gap: 12px;
}
.footer-legal{
  margin:0;
  font-size: 13px;
  color:#333;
}
.footer-links-inline{
  margin:0;
  font-size: 13px;
}
.footer-links-inline a{
  color:#1A1A1A;
  text-decoration:none;
}
.footer-links-inline a:hover{ text-decoration: underline; }
.footer-links-inline span{ color:#777; margin: 0 8px; }

/* Responsiv */
@media (max-width: 1000px){
  .footer-brand { grid-column: 1 / -1; }
  .footer-inner > .footer-col { grid-column: span 6; }
  .footer-contact { grid-column: span 6; }
}
@media (max-width: 600px){
  .footer-inner{ grid-template-columns: 1fr; }
  .footer-inner > .footer-col,
  .footer-contact,
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom__inner{ flex-direction: column; align-items: center; text-align:center; }
}
/* Slim Footer – hell, ruhig */
.site-footer{
  background:#F7F7F5;
  color:#1A1A1A;
  border-top:1px solid #ECEAE6;
}
.footer-inner{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:28px;
  padding:40px 18px 26px;
}
/* Spaltenbreite: Brand breiter, Rest kompakt */
.footer-brand{ grid-column: span 4; }
.footer-inner > .footer-col{ grid-column: span 2; }

.footer-logo img{ max-height:44px; width:auto; }
.footer-tagline{ margin:10px 0 12px; font-size:14px; line-height:1.55; color:#2A2A2A; }
.footer-address{ margin:6px 0 4px; font-style:normal; line-height:1.5; }
.footer-contact__links a{ color:#1A1A1A; text-decoration:none; }
.footer-contact__links a:hover{ text-decoration:underline; }

.footer-col h4{ font-size:15px; font-weight:700; margin:0 0 10px; }
.footer-menu, .footer-links{ list-style:none; padding:0; margin:0; }
.footer-menu li, .footer-links li{ margin:0 0 6px; }
.footer-menu a, .footer-links a{ color:#1A1A1A; text-decoration:none; font-size:14px; }
.footer-menu a:hover, .footer-links a:hover{ text-decoration:underline; }

.footer-bottom{ border-top:1px solid #ECEAE6; background:#F7F7F5; }
.footer-bottom__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 18px 18px; gap:12px;
}
.footer-legal, .footer-links-inline{ margin:0; font-size:13px; }
.footer-links-inline a{ color:#1A1A1A; text-decoration:none; }
.footer-links-inline a:hover{ text-decoration:underline; }
.footer-links-inline span{ color:#777; margin:0 8px; }

/* Responsive */
@media (max-width: 1000px){
  .footer-brand{ grid-column: 1 / -1; }
  .footer-inner > .footer-col{ grid-column: span 4; }
}
@media (max-width: 640px){
  .footer-inner{ grid-template-columns:1fr; }
  .footer-inner > .footer-col, .footer-brand{ grid-column: 1 / -1; }
  .footer-bottom__inner{ flex-direction:column; text-align:center; }
}
/* === Footer – clean auf Weiss, feine Trenner === */
.site-footer{
  background:#FFFFFF;            /* neutral, hochwertig */
  color:#1A1A1A;
  border-top:1px solid #E9E6E0;  /* warmer, dezenter Divider */
}
.footer-inner{
  display:grid;
  grid-template-columns: 320px 1fr 1fr 1fr; /* linke Spalte bewusst breiter */
  column-gap:48px;
  padding:40px 18px 26px;
  align-items:start;
}

/* Brand-Spalte */
.footer-logo img{ max-height:46px; width:auto; display:block; }
.footer-address{ margin:10px 0 6px; font-style:normal; line-height:1.5; }
.footer-contact__links a{ color:#1A1A1A; text-decoration:none; }
.footer-contact__links a:hover{ text-decoration:underline; }
.footer-claim{
  margin:12px 0 0;
  font-size:13px;
  line-height:1.55;
  color:#616161;                 /* dezent grau */
}
.footer-claim .sep{ opacity:.6; }

/* Rechte Spalten */
.footer-col h4{
  font-size:15px;
  font-weight:700;
  margin:0 0 10px;
}
.footer-menu,
.footer-links{ list-style:none; padding:0; margin:0; }
.footer-menu li,
.footer-links li{ margin:0 0 6px; }
.footer-menu a,
.footer-links a{
  color:#1A1A1A;
  text-decoration:none;
  font-size:14px;
}
.footer-menu a:hover,
.footer-links a:hover{ text-decoration:underline; }

/* Bottom bar */
.footer-bottom{
  border-top:1px solid #E9E6E0;
  background:#FFFFFF;
}
.footer-bottom__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 18px 18px;
}
.footer-legal,
.footer-links-inline{ margin:0; font-size:13px; color:#2C2C2C; }
.footer-links-inline a{ color:#1A1A1A; text-decoration:none; }
.footer-links-inline a:hover{ text-decoration:underline; }
.footer-links-inline span{ margin:0 8px; color:#888; }

/* Responsive */
@media (max-width: 1000px){
  .footer-inner{ grid-template-columns: 1fr 1fr; column-gap:28px; }
}
@media (max-width: 640px){
  .footer-inner{ grid-template-columns: 1fr; row-gap:22px; }
  .footer-bottom__inner{ flex-direction:column; text-align:center; }
}
/* ===== Footer Dark (1-Zeile, 4 Spalten) ===== */
.site-footer--dark{
  --footer-bg: #1A1A1A;      /* sehr dunkel, neutral */
  --footer-fg: #F2EFEA;      /* heller, warmer Text */
  --footer-dim:#CFC9BF;      /* gedimmt */
  --footer-line:#2A2723;     /* feiner Divider */
  background: var(--footer-bg);
  color: var(--footer-fg);
  border-top: 1px solid var(--footer-line);
}

.footer-inner--4{
  display:grid;
  grid-template-columns: repeat(4, 1fr); /* exakt 4 Spalten in einer Zeile */
  gap: 36px;
  padding: 40px 18px 26px;
  align-items:start;
}

/* Brand-Spalte */
.footer-logo img{ max-height:46px; width:auto; display:block; filter:brightness(1.05); }
.footer-address{ margin:10px 0 6px; font-style:normal; line-height:1.5; color:var(--footer-fg); }
.footer-contact__links a{ color:var(--footer-fg); text-decoration:none; }
.footer-contact__links a:hover{ text-decoration:underline; }

/* Claim gut lesbar (nicht grau auf grau) */
.footer-claim{
  margin:12px 0 0;
  font-size:14px;
  line-height:1.55;
  color: var(--footer-fg);
  opacity:.92;
}

/* Überschriften & Links (rechte Spalten) */
.footer-col h4{
  font-size:15px;
  font-weight:700;
  margin:0 0 10px;
  color: var(--footer-fg);
}
.footer-menu, .footer-links{ list-style:none; padding:0; margin:0; }
.footer-menu li, .footer-links li{ margin:0 0 6px; }
.footer-menu a, .footer-links a{
  color: var(--footer-fg);
  text-decoration:none;
  font-size:14px;
  opacity:.95;
}
.footer-menu a:hover, .footer-links a:hover{ text-decoration:underline; }

/* Bottom bar (gleiches Dark, feine Trennung) */
.footer-bottom{
  border-top:1px solid var(--footer-line);
  background: var(--footer-bg);
}
.footer-bottom__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 18px 18px;
}
.footer-legal, .footer-links-inline{
  margin:0;
  font-size:13px;
  color: var(--footer-dim);
}
.footer-links-inline a{ color: var(--footer-fg); text-decoration:none; }
.footer-links-inline a:hover{ text-decoration:underline; }
.footer-links-inline span{ color: var(--footer-dim); margin:0 8px; }

/* Responsive */
@media (max-width: 960px){
  .footer-inner--4{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px){
  .footer-inner--4{ grid-template-columns: 1fr; }
  .footer-bottom__inner{ flex-direction:column; text-align:center; }
}
/* ===== Footer Dark, 4 columns, aligned headings, logo badge ===== */
.site-footer--dark{
  --footer-bg:#111111;         /* dunkler als vorher, satter Kontrast */
  --footer-fg:#F3F1EC;         /* warmer, heller Text */
  --footer-dim:#CFC9BF;
  --footer-line:#23201C;
  background:var(--footer-bg);
  color:var(--footer-fg);
  border-top:1px solid var(--footer-line);
}

.footer-inner{
  padding:40px 18px 26px;
}
.footer-inner.footer-inner--4{
  display:grid;
  grid-template-columns: repeat(4, 1fr); /* 4 Spalten auf einer Zeile */
  gap:40px;
  align-items:start;
}

/* Headings auf einer Linie */
.footer-head{
  margin:0 0 14px;
  font-size:16px;
  font-weight:700;
  color:var(--footer-fg);
}

/* Logo-Badge (weisse Plakette für das Logo) */
.footer-logo-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#FFFFFF;
  border:1px solid #E6E2DA;
  border-radius:12px;
  padding:10px 14px;
  margin:2px 0 10px;
}
.footer-logo img{ max-height:40px; width:auto; display:block; }

/* Brand-Infos */
.footer-address{ margin:6px 0 6px; font-style:normal; line-height:1.5; color:var(--footer-fg);}
.footer-contact a{ color:var(--footer-fg); text-decoration:none; }
.footer-contact a:hover{ text-decoration:underline; }
.footer-claim{ margin:12px 0 0; font-size:14px; line-height:1.55; color:var(--footer-fg); opacity:.92; }

/* Listen rechts */
.footer-menu,.footer-links{ list-style:none; padding:0; margin:0; }
.footer-menu li,.footer-links li{ margin:0 0 8px; }
.footer-menu a,.footer-links a{ color:var(--footer-fg); text-decoration:none; opacity:.95; }
.footer-menu a:hover,.footer-links a:hover{ text-decoration:underline; }

/* Bottom Bar */
.footer-bottom{
  border-top:1px solid var(--footer-line);
  background:var(--footer-bg);
}
.footer-bottom__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:12px 18px 18px;
}
.footer-legal{ margin:0; font-size:13px; color:var(--footer-dim); }
.footer-links-inline{ margin:0; font-size:13px; color:var(--footer-fg); }
.footer-links-inline a{ color:var(--footer-fg); text-decoration:none; }
.footer-links-inline a:hover{ text-decoration:underline; }
.footer-links-inline span{ color:var(--footer-dim); margin:0 8px; }

/* Responsive */
@media (max-width: 980px){
  .footer-inner.footer-inner--4{ grid-template-columns: repeat(2, 1fr); gap:28px; }
}
@media (max-width: 560px){
  .footer-inner.footer-inner--4{ grid-template-columns: 1fr; }
  .footer-bottom__inner{ flex-direction:column; text-align:center; }
}
/* ===== Footer Dark, 4 Spalten in EINER Zeile ===== */
.site-footer--dark{
  --footer-bg:#111111;
  --footer-fg:#F3F1EC;
  --footer-dim:#CFC9BF;
  --footer-line:#23201C;
  background:var(--footer-bg);
  color:var(--footer-fg);
  border-top:1px solid var(--footer-line);
}

.footer-inner{
  padding:40px 18px 26px;
}
.footer-inner--4{
  display:grid;
  grid-template-columns: repeat(4, 1fr);   /* 4 Spalten nebeneinander */
  gap:40px;
  align-items:start;
}

.footer-head{
  margin:0 0 14px;
  font-size:16px;
  font-weight:700;
  color:var(--footer-fg);
}

/* Listen & Links */
.footer-menu, .footer-links{ list-style:none; padding:0; margin:0; }
.footer-menu li, .footer-links li{ margin:0 0 8px; }
.footer-menu a, .footer-links a{ color:var(--footer-fg); text-decoration:none; opacity:.95; }
.footer-menu a:hover, .footer-links a:hover{ text-decoration:underline; }

/* Adresse / Kontakt */
.footer-address{ margin:2px 0 8px; font-style:normal; line-height:1.55; color:var(--footer-fg); }
.footer-contact a{ color:var(--footer-fg); text-decoration:none; }
.footer-contact a:hover{ text-decoration:underline; }

/* Bottom Bar */
.footer-bottom{
  border-top:1px solid var(--footer-line);
  background:var(--footer-bg);
}
.footer-bottom__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:12px 18px 18px;
}
.footer-legal{ margin:0; font-size:13px; color:var(--footer-dim); }
.footer-links-inline{ margin:0; font-size:13px; color:var(--footer-fg); }
.footer-links-inline a{ color:var(--footer-fg); text-decoration:none; }
.footer-links-inline a:hover{ text-decoration:underline; }
.footer-links-inline span{ color:var(--footer-dim); margin:0 8px; }

/* Responsive Brüche */
@media (max-width: 980px){
  .footer-inner--4{ grid-template-columns: repeat(2, 1fr); gap:28px; }
}
@media (max-width: 560px){
  .footer-inner--4{ grid-template-columns: 1fr; }
  .footer-bottom__inner{ flex-direction:column; text-align:center; }
}
/* ---- Footer: 4 Spalten NEBENEINANDER erzwingen ---- */
.site-footer--dark .footer-inner--4{
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr 1fr; /* Adresse etwas breiter */
  gap: 36px;
  align-items: start;
}

/* Jede Spalte ist genau eine Zelle */
.site-footer--dark .footer-inner--4 > .footer-col{ min-width: 0; }

/* Breakpoints bewusst später: erst unter 800px auf 2 Spalten, danach 1 */
@media (max-width: 800px){
  .site-footer--dark .footer-inner--4{ grid-template-columns: 1fr 1fr; gap: 28px; }
}
@media (max-width: 480px){
  .site-footer--dark .footer-inner--4{ grid-template-columns: 1fr; gap: 22px; }
}

/* WICHTIG: alte Footer-Grid-Regeln neutralisieren */
.site-footer--dark .footer-inner{
  padding: 40px 18px 26px;
  /* keine grid-template-columns hier! */
}
/* ---- Footer: 4 Spalten nebeneinander ERZWINGEN ---- */
.site-footer--dark .footer-row--force4{
  display:flex !important;
  flex-wrap:nowrap !important;         /* 4 Spalten in EINER Zeile */
  gap:36px;
  align-items:flex-start;
}
.site-footer--dark .footer-row--force4 > .footer-col{
  flex:1 1 0 !important;               /* alle Spalten gleich breit */
  min-width:0;
}

/* Headings & Listen */
.site-footer--dark .footer-head{margin:0 0 14px;font-size:16px;font-weight:700;color:#F3F1EC}
.site-footer--dark .footer-menu,
.site-footer--dark .footer-links{list-style:none;margin:0;padding:0}
.site-footer--dark .footer-menu li,
.site-footer--dark .footer-links li{margin:0 0 8px}
.site-footer--dark .footer-menu a,
.site-footer--dark .footer-links a{color:#F3F1EC;text-decoration:none;opacity:.95}
.site-footer--dark .footer-menu a:hover,
.site-footer--dark .footer-links a:hover{text-decoration:underline}

/* Adresse / Kontakt */
.site-footer--dark .footer-address{margin:2px 0 8px;font-style:normal;line-height:1.55;color:#F3F1EC}
.site-footer--dark .footer-contact a{color:#F3F1EC;text-decoration:none}
.site-footer--dark .footer-contact a:hover{text-decoration:underline}

/* Breakpoints: erst dann umbrechen */
@media (max-width: 980px){
  .site-footer--dark .footer-row--force4{flex-wrap:wrap !important}
  .site-footer--dark .footer-row--force4 > .footer-col{flex:1 1 calc(50% - 18px) !important}
}
@media (max-width: 560px){
  .site-footer--dark .footer-row--force4 > .footer-col{flex:1 1 100% !important}
}

/* Sicherheitsnetz: alte Grid-Definitionen neutralisieren */
.site-footer--dark .footer-inner,
.site-footer--dark .footer-inner--4{
  display:initial;                       /* falls irgendwo Grid gesetzt wurde */
  grid-template-columns:unset !important;
}
/* Bottom-Bar (dark) */
.site-footer--dark .footer-bottom{
  border-top:1px solid #23201C;
  background:#111111;
}
.site-footer--dark .footer-bottom__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 18px 18px;
}
.site-footer--dark .footer-legal{
  margin:0;
  font-size:13px;
  color:#CFC9BF; /* dezent hell */
}
.site-footer--dark .footer-links-inline{
  margin:0;
  font-size:13px;
  color:#F3F1EC;
}
.site-footer--dark .footer-links-inline a{
  color:#F3F1EC;
  text-decoration:none;
}
.site-footer--dark .footer-links-inline a:hover{ text-decoration:underline; }
.site-footer--dark .footer-links-inline span{
  margin:0 8px;
  color:#CFC9BF;
}

/* Responsive: zentriert untereinander */
@media (max-width:560px){
  .site-footer--dark .footer-bottom__inner{
    flex-direction:column;
    text-align:center;
  }
}
.contact-form .hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.alert{padding:12px 14px;border-radius:10px;margin:10px 0}
.alert.success{background:#e8f6ed;border:1px solid #bfe6cb}
.alert.error{background:#fdeaea;border:1px solid #f3c2c2}
.contact-form .form-row{margin:10px 0}
.contact-form label{display:block;margin-bottom:6px;font-weight:600}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:10px}
.contact-form .consent{font-size:14px;line-height:1.5}
/* Kontaktseite */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:18px}}

.alert{padding:12px 14px;border-radius:10px;margin:10px 0}
.alert.success{background:#e8f6ed;border:1px solid #bfe6cb}
.alert.error{background:#fdeaea;border:1px solid #f3c2c2}

.contact-form .hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.contact-form .form-row{margin:10px 0}
.contact-form label{display:block;margin-bottom:6px;font-weight:600}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:10px}
.contact-form textarea{resize:vertical}
.contact-form .consent{font-size:14px;line-height:1.5}
.contact-form .form-actions{margin-top:12px}
.contact-form .form-note{margin:10px 0 0;font-size:12px;color:#666}
.link-underline{text-decoration:underline}

/* kleine A11y-Helferklasse */
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
/* Layout */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:18px}}
.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.form-columns{grid-template-columns:1fr}}

.contact-form .hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.contact-form .form-row{margin:10px 0}
.contact-form label{display:block;margin-bottom:6px;font-weight:600}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:10px}
.contact-form textarea{resize:vertical}
.contact-form .consent{font-size:14px;line-height:1.5}
.contact-form .form-actions{margin-top:12px}
.form-note{margin:10px 0 0;font-size:12px;color:#666}

.alert{padding:12px 14px;border-radius:10px;margin:10px 0}
.alert.success{background:#e8f6ed;border:1px solid #bfe6cb}
.alert.error{background:#fdeaea;border:1px solid #f3c2c2}

.mini-faq{margin-top:18px}
.mini-faq details{background:#f7f7f5;border:1px solid #eceae6;border-radius:10px;margin:8px 0;padding:10px 12px}
.mini-faq summary{cursor:pointer;font-weight:600}
.fieldset-required{padding:14px;border:1px solid #e9e6e0;border-radius:12px;background:#fff;margin-bottom:12px}
.fieldset-optional{margin:14px 0}
.fieldset-optional > summary{cursor:pointer;font-weight:600;padding:10px 0}
.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.form-columns{grid-template-columns:1fr}}
.fieldset-required{padding:14px;border:1px solid #e9e6e0;border-radius:12px;background:#fff;margin-bottom:12px}
.fieldset-optional{margin:14px 0}
.fieldset-optional > summary{cursor:pointer;font-weight:600;padding:10px 0}
.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.form-columns{grid-template-columns:1fr}}
.form-row-inline .checkbox{display:flex;align-items:center;gap:8px}
/* Kontaktseite Styles */
.contact-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:32px;
}
@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr;gap:20px}
}

.contact-form .form-row{margin:14px 0}
.contact-form label{
  display:block;
  margin-bottom:6px;
  font-weight:600;
  color:#333;
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid #ccc;
  border-radius:8px;
  font-size:14px;
}
.contact-form textarea{resize:vertical}

/* Checkbox einheitlich */
.form-row.checkbox-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin:10px 0;
}
.form-row.checkbox-row input[type="checkbox"]{
  width:auto;
  margin:0;
}
.form-row.checkbox-row span{
  font-size:14px;
  color:#333;
}
.required{color:var(--kuoni-green,#2f6e32);font-weight:600}

/* Optional-Block */
.fieldset-optional{margin:18px 0;border:1px solid #e0e0e0;border-radius:8px;padding:12px}
.fieldset-optional summary{cursor:pointer;font-weight:600;color:#2f2f2f;margin-bottom:8px}

/* Alerts */
.alert{padding:12px 14px;border-radius:8px;margin:10px 0}
.alert.success{background:#d1fae5;color:#065f46;border:1px solid #34d399}
.alert.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}

/* Footer (dunkel, 4-Spalten Layout) */
.site-footer--dark{background-color:#111;color:#f3f1ec;padding:32px 20px 16px}
.site-footer__inner{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.site-footer__col h3{margin-bottom:12px;font-size:16px;font-weight:600}
.site-footer__col p,
.site-footer__col a{font-size:14px;color:#ddd;line-height:1.6}
.site-footer__col a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid #2a2a2a;margin-top:24px}
.footer-bottom__inner{display:flex;justify-content:space-between;align-items:center;padding-top:12px}
.footer-legal{font-size:13px;color:#aaa;margin:0}
.footer-links-inline{font-size:13px}
.footer-links-inline a{color:#ddd;text-decoration:none;margin:0 6px}
.footer-links-inline a:hover{text-decoration:underline}

@media(max-width:900px){
  .site-footer__inner{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .site-footer__inner{grid-template-columns:1fr}
  .footer-bottom__inner{flex-direction:column;gap:8px;text-align:center}
}
/* Kontakt-Alerts (Kuonihof Design) */
.alert {
  padding: 14px 18px;
  border-radius: 10px;
  margin: 16px 0;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 500;
}

/* Erfolgsmeldung – sattes Grün + weisser Text */
.alert.success {
  background-color: #2f6e32; /* Kuoni-Gruen */
  color: #ffffff;
  border: none;
}

/* Fehlermeldung – warmes Rot */
.alert.error {
  background-color: #b91c1c;
  color: #ffffff;
  border: none;
}
/* Kontaktseite Layout */
.contact-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 32px;
}
@media(max-width:900px){
  .contact-grid { grid-template-columns: 1fr; gap: 24px; }
  .contact-form-wrap { order: 1; }
  .contact-aside { order: 2; }
}

/* Formularelemente */
.contact-form .form-row { margin:14px 0 }
.contact-form label {
  display:block;
  margin-bottom:6px;
  font-weight:600;
  color:#2f2f2f;
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea {
  width:100%;
  padding:10px 12px;
  border:1px solid #ccc;
  border-radius:8px;
  font-size:14px;
}
.contact-form textarea { resize:vertical }

/* Checkbox-Zeilen einheitlich */
.form-row.checkbox-row {
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:10px 0;
}
.form-row.checkbox-row input[type="checkbox"] {
  margin-top:4px;
}
.form-row.checkbox-row span {
  font-size:14px;
  color:#2f2f2f;
  line-height:1.5;
}
.required { color:#2f6e32; font-weight:600 }

/* Optionale Felder (aufklappbar, dezenter Hintergrund) */
.fieldset-optional {
  margin:18px 0;
  border:1px solid #d1d5db;
  border-radius:8px;
  padding:12px;
  background:#f9fafb;
}
.fieldset-optional summary {
  cursor:pointer;
  font-weight:600;
  color:#2f2f2f;
  margin-bottom:8px;
}

/* Alerts im Form-Bereich */
.alert {
  padding:14px 18px;
  border-radius:10px;
  margin-bottom:16px;
  font-size:15px;
  font-weight:600;
}
.alert.success {
  background-color:#2f6e32; /* Kuonihof-Gruen */
  color:#ffffff;
}
.alert.error {
  background-color:#b91c1c; /* warmes Rot */
  color:#ffffff;
}
/* Kontaktseite Layout */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:32px}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:24px}.contact-form-wrap{order:1}.contact-aside{order:2}}

.contact-form .form-row{margin:14px 0}
.contact-form label{display:block;margin-bottom:6px;font-weight:600;color:#2f2f2f}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:8px;font-size:14px}
.contact-form textarea{resize:vertical}

/* Pflicht-Highlight */
.required{color:#2f6e32;font-weight:600}

/* Checkbox-Zeilen einheitlich */
.form-row.checkbox-row{display:flex;align-items:flex-start;gap:8px;margin:10px 0}
.form-row.checkbox-row input[type="checkbox"]{margin-top:4px}
.form-row.checkbox-row span{font-size:14px;color:#2f2f2f;line-height:1.5}

/* Optional-Block (Details) */
.fieldset-optional{margin:18px 0;border:1px solid #d1d5db;border-radius:10px;padding:12px;background:#f9fafb}
.fieldset-optional summary{list-style:none;display:flex;align-items:baseline;justify-content:space-between;gap:12px;cursor:pointer;font-weight:700;color:#1f2937}
.fieldset-optional summary::-webkit-details-marker{display:none}
.fieldset-optional summary .summary-title{font-size:15px}
.fieldset-optional summary .summary-hint{font-size:13px;color:#6b7280}
.fieldset-optional summary::after{content:"▸";font-size:16px;line-height:1;transform:translateY(1px);transition:transform .2s ease}
.fieldset-optional[open] summary::after{content:"▾"}
.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.form-columns{grid-template-columns:1fr}}

/* Alerts im Formular */
.alert{padding:14px 18px;border-radius:10px;margin-bottom:16px;font-size:15px;font-weight:600}
.alert.success{background:#2f6e32;color:#fff}
.alert.error{background:#b91c1c;color:#fff}

/* Mini-FAQ */
.mini-faq{margin-top:18px}
.mini-faq details{background:#f7f7f5;border:1px solid #eceae6;border-radius:10px;margin:8px 0;padding:10px 12px}
.mini-faq summary{cursor:pointer;font-weight:600}

/* Datenschutz-Seite */
.privacy-page .privacy-toc { background:#f7f7f5; border:1px solid #eceae6; border-radius:12px; padding:14px 16px; margin-bottom:18px }
.privacy-page .privacy-toc ol { margin:0; padding-left:18px }
.privacy-page .privacy-toc a { text-decoration:none }
.privacy-page .privacy-toc a:hover { text-decoration:underline }
.privacy-page h2 { margin-top:22px }
.privacy-page h3 { margin-top:14px }
.privacy-page ul { padding-left:18px }
/* =========================
   AGB / Nutzungsbedingungen
   ========================= */
.agb-toc {
  background: #f9f9f9;        /* sanft grauer Hintergrund */
  border: 1px solid #e0e0e0;  /* dezente Umrandung */
  border-radius: 8px;
  padding: 16px 20px;
  margin: 20px 0 30px 0;
  font-size: 0.95rem;
}

.agb-toc strong {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #333;
}

.agb-toc ol {
  margin: 0;
  padding-left: 18px;
}

.agb-toc li {
  margin: 4px 0;
  line-height: 1.4;
}

.agb-toc a {
  color: #2f6d2f;              /* dein Corporate Grün */
  text-decoration: none;
  transition: color 0.2s ease, text-decoration 0.2s ease;
}

.agb-toc a:hover {
  color: #1e461e;
  text-decoration: underline;
}
/* FAQ Seite */
.faq-search-wrap { margin: 6px 0 14px }
.faq-search {
  width: 100%; max-width: 560px; padding: 10px 12px;
  border: 1px solid #d8d8d8; border-radius: 10px; font-size: 15px;
}
.faq-toc { background:#f7f7f5; border:1px solid #eceae6; border-radius:10px; padding:12px 14px; margin:10px 0 18px }
.faq-toc ol { margin:0; padding-left:18px }
.faq-toc a { color:#2f6d2f; text-decoration:none }
.faq-toc a:hover { text-decoration:underline }

.faq-group { margin-top:26px }
.faq-group h2 { margin-bottom:10px }
.faq-item { background:#fff; border:1px solid #ececec; border-radius:10px; margin:10px 0; padding:10px 12px }
.faq-item[open] { border-color:#e0e7df; background:#fbfdfb }
.faq-item summary { cursor:pointer; font-weight:700; list-style:none }
.faq-item summary::-webkit-details-marker{ display:none }
.faq-item summary::after{ content:"▸"; float:right; transition:transform .2s ease }
.faq-item[open] summary::after{ transform:rotate(90deg) }
.faq-a { margin-top:8px; line-height:1.6 }
/* Impulse & Inspiration */
.impulse-hero { margin-bottom: 18px }
.impulse-hero .page-title { margin: 0 0 4px }
.impulse-hero .page-sub { color:#6b7280; margin:0 }

.impulse-intro { margin: 8px 0 22px }
.impulse-intro p { margin: 8px 0 }

.section-title { font-size: 22px; margin: 10px 0 12px }

.impulse-highlight { background:#f7f7f5; border:1px solid #eceae6; border-radius:16px; padding:16px 16px 6px; margin: 10px 0 22px }
.impulse-feature { display:grid; grid-template-columns: 1.2fr .8fr; gap:18px; align-items:stretch }
@media(max-width:900px){ .impulse-feature{ grid-template-columns:1fr } }
.feature-title { margin:0 0 6px }
.feature-meta { color:#6b7280; font-size:14px; margin:0 0 10px }
.feature-excerpt { margin:0 0 12px }
.feature-media { display:flex; align-items:center; justify-content:center }
.feature-thumb { width:100%; height:auto; border-radius:12px; object-fit:cover }
.feature-thumb.placeholder{ background:#e9ece7; width:100%; aspect-ratio: 16/10; border-radius:12px }

.impulse-filter { display:flex; flex-wrap:wrap; gap:8px; margin: 8px 0 12px }
.chip { border:1px solid #d1d5db; background:#fff; border-radius:999px; padding:6px 12px; font-size:14px; cursor:pointer }
.chip.is-active { background:#2f6e32; color:#fff; border-color:#2f6e32 }

.impulse-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 12px }
@media(max-width:1100px){ .impulse-grid{ grid-template-columns: repeat(2, 1fr) } }
@media(max-width:650px){ .impulse-grid{ grid-template-columns: 1fr } }

.impulse-card { background:#fff; border:1px solid #ececec; border-radius:14px; overflow:hidden; display:flex; flex-direction:column }
.impulse-card .card-media img{ width:100%; height:auto; display:block }
.impulse-card .thumb.placeholder{ background:#e9ece7; width:100%; aspect-ratio: 4/3 }
.impulse-card .card-body{ padding:12px }
.impulse-card .card-title{ margin:0 0 6px; font-size:18px }
.impulse-card .card-excerpt{ margin:0 0 10px; color:#374151 }
.impulse-card .card-meta{ margin:0 0 10px; color:#6b7280; font-size:13px }
.impulse-card .button.button--ghost{
  background:transparent; border:1px solid #2f6e32; color:#2f6e32;
}
.impulse-card .button.button--ghost:hover{
  background:#2f6e32; color:#fff;
}

/* CTA-Balken ist bereits global (section-cta). Falls noetig: */
.section-cta .button.button--light{ background:#fff; color:#2f6e32; border:none }
.section-cta .button.button--light:hover{ background:#f2f8f2 }
/* Impulse & Inspiration */
.impulse-hero { margin-bottom: 18px }
.impulse-hero .page-title { margin: 0 0 4px }
.impulse-hero .page-sub { color:#6b7280; margin:0 }

.impulse-intro { margin: 8px 0 22px }
.section-title { font-size: 22px; margin: 10px 0 12px }

.impulse-highlight { background:#f7f7f5; border:1px solid #eceae6; border-radius:16px; padding:16px; margin: 10px 0 22px }
.impulse-feature { display:grid; grid-template-columns: 1.2fr .8fr; gap:18px; align-items:stretch }
@media(max-width:900px){ .impulse-feature{ grid-template-columns:1fr } }
.feature-title { margin:0 0 6px }
.feature-meta { color:#6b7280; font-size:14px; margin:0 0 10px }
.feature-excerpt { margin:0 0 12px }
.feature-media { display:flex; align-items:center; justify-content:center }
.feature-thumb { width:100%; height:auto; border-radius:12px; object-fit:cover }
.feature-thumb.placeholder{ background:#e9ece7; width:100%; aspect-ratio: 16/10; border-radius:12px }

.impulse-filter { display:flex; flex-wrap:wrap; gap:8px; margin: 8px 0 12px }
.chip { border:1px solid #d1d5db; background:#fff; border-radius:999px; padding:6px 12px; font-size:14px; cursor:pointer }
.chip.is-active { background:#2f6e32; color:#fff; border-color:#2f6e32 }

.impulse-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 12px }
@media(max-width:1100px){ .impulse-grid{ grid-template-columns: repeat(2, 1fr) } }
@media(max-width:650px){ .impulse-grid{ grid-template-columns: 1fr } }

.impulse-card { background:#fff; border:1px solid #ececec; border-radius:14px; overflow:hidden; display:flex; flex-direction:column }
.impulse-card .card-media img{ width:100%; height:auto; display:block }
.impulse-card .thumb.placeholder{ background:#e9ece7; width:100%; aspect-ratio: 4/3 }
.impulse-card .card-body{ padding:12px }
.impulse-card .card-title{ margin:0 0 6px; font-size:18px }
.impulse-card .card-excerpt{ margin:0 0 10px; color:#374151 }
.impulse-card .card-meta{ margin:0 0 10px; color:#6b7280; font-size:13px }
.impulse-card .button.button--ghost{ background:transparent; border:1px solid #2f6e32; color:#2f6e32 }
.impulse-card .button.button--ghost:hover{ background:#2f6e32; color:#fff }

.section-cta .button.button--light{ background:#fff; color:#2f6e32; border:none }
.section-cta .button.button--light:hover{ background:#f2f8f2 }
.post-tile { transition: box-shadow .2s ease, transform .2s ease; }
.post-tile:hover { box-shadow: 0 6px 18px rgba(0,0,0,.08); transform: translateY(-2px); }
/* ====== GRID (Angebote & Impulse) ====== */
.tile-grid {
  display: flex !important;
  flex-wrap: wrap;
  gap: 16px;
  align-items: stretch;
}
.tile-grid > article {
  flex: 0 0 calc(25% - 12px);
  max-width: calc(25% - 12px);
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  background: #fafafa;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  border-left: 4px solid #2f4f2f;  /* Marker links */
  padding: 16px;
  min-height: 150px;                /* Basis-Höhe (Angebote) */
  transition: box-shadow .2s ease, transform .2s ease;
}
@media (max-width: 1200px) {
  .tile-grid > article { flex-basis: calc(33.333% - 11px); max-width: calc(33.333% - 11px); }
}
@media (max-width: 900px) {
  .tile-grid > article { flex-basis: calc(50% - 8px); max-width: calc(50% - 8px); }
}
@media (max-width: 560px) {
  .tile-grid > article { flex-basis: 100%; max-width: 100%; }
}

/* Hover (einheitlich für alle Kacheln) */
.tile-grid > article:hover {
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
  transform: translateY(-2px);
}

/* Inhalte in Kacheln */
.tile-grid h3 { margin: 0 0 8px 0; font-size: 1rem; line-height: 1.3; }
.tile-grid h3 a { text-decoration: none; color: inherit; }
.tile-grid p  { margin: 0 0 12px 0; color: #555; line-height: 1.5; font-size: .95rem; }
.tile-cta { margin-top: auto; }

/* ====== Varianten ====== */
/* Impulse-Kacheln etwas höher (ca. +1/7 bis +1/5, je nach Bedarf justieren) */
.tile-grid--insights > article { min-height: 170px; }

/* ====== HERO ====== */
.hero-full { background: #f8f8f8; padding: 100px 0; }
.hero-full .hero-title { margin-bottom: 16px; }
.hero-full .hero-kicker { font-size: 1.25rem; font-weight: 500; margin-bottom: 24px; }
.hero-full .hero-sub { font-size: 1.1rem; line-height: 1.6; margin-bottom: 32px; }

/* ====== Hilfsklassen (optional) ====== */
.section { padding: 48px 0; }
.split-headline { margin: 0 0 16px 0; }
/* Grid-Layout für Kacheln (Angebote + Impulse) */
.tile-grid {
  display:flex !important;
  flex-wrap:wrap;
  gap:16px;
  align-items:stretch;
}
.tile-grid > article {
  flex:0 0 calc(25% - 12px);
  max-width:calc(25% - 12px);
  display:flex !important;
  flex-direction:column;
  justify-content:space-between;
  background:#fafafa;
  border:1px solid #e5e5e5;
  border-radius:12px;
  border-left:4px solid #2f4f2f; /* Marker links 4px */
  padding:16px;
  min-height:150px;
}
@media (max-width:1200px){
  .tile-grid > article{flex-basis:calc(33.333% - 11px); max-width:calc(33.333% - 11px);}
}
@media (max-width:900px){
  .tile-grid > article{flex-basis:calc(50% - 8px); max-width:calc(50% - 8px);}
}
@media (max-width:560px){
  .tile-grid > article{flex-basis:100%; max-width:100%;}
}

/* CTA-Button Hover */
.tile-cta .button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}
/* ===== Grid für Angebote & Impulse ===== */
.tile-grid {
  display: flex !important;
  flex-wrap: wrap;
  gap: 16px;
  align-items: stretch;
}

.tile-grid > article {
  flex: 0 0 calc(25% - 12px);
  max-width: calc(25% - 12px);
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  background: #fafafa;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  border-left: 4px solid #2f4f2f; /* Marker links */
  padding: 16px;
  min-height: 150px;
  /* kein Hover-Effekt für die Kacheln */
  transition: none;
}

@media (max-width: 1200px) {
  .tile-grid > article {
    flex-basis: calc(33.333% - 11px);
    max-width: calc(33.333% - 11px);
  }
}
@media (max-width: 900px) {
  .tile-grid > article {
    flex-basis: calc(50% - 8px);
    max-width: calc(50% - 8px);
  }
}
@media (max-width: 560px) {
  .tile-grid > article {
    flex-basis: 100%;
    max-width: 100%;
  }
}

/* ===== Texte in Kacheln ===== */
.tile-grid h3 {
  margin: 0 0 8px 0;
  font-size: 1rem;
  line-height: 1.3;
}
.tile-grid h3 a {
  text-decoration: none;
  color: inherit;
}
.tile-grid p {
  margin: 0 0 12px 0;
  color: #555;
  line-height: 1.5;
  font-size: .95rem;
}
.tile-cta {
  margin-top: auto;
}

/* ===== Hover nur für Buttons ===== */
.tile-cta .button {
  transition: transform .2s ease, box-shadow .2s ease;
}
.tile-cta .button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}
/* --- KACHEL-HOVER GLOBAL DEAKTIVIEREN (Angebote + Impulse) --- */

/* Basis: Kacheln ruhig halten */
.tile-grid > article,
.tile-grid > article:hover,
.tile-grid > article:focus,
.tile-grid > article:active,
.tile-grid > article.brand-tile,
.tile-grid > article.brand-tile:hover {
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
}

/* Manche Themes animieren Kinder-Elemente innerhalb der Kachel */
.tile-grid > article:hover *,
.tile-grid > article:focus * {
  box-shadow: none !important;
  transform: none !important;
}

/* Links in Kacheln sollen ebenfalls keinen Hover-Schatten / -Shift bekommen */
.tile-grid > article a {
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
}

/* --- NUR BUTTONS DÜRFEN HOVERN --- */
.tile-cta .button {
  transition: transform .2s ease, box-shadow .2s ease !important;
}
.tile-cta .button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.08) !important;
}
.post-hero{
  display:block;
  width:100%;
  height:auto !important;     /* wichtig */
  border-radius:12px;
}

.post-hero{
  display:block;
  width:100%;
  height:auto !important;   /* keine fixe Höhe / kein aspect-ratio */
  border-radius:12px;
}
/* falls es noch alte Hero-Styles gab */
.hero .hero__bg img,
.hero img,
.hero-img{
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
}
.post-nav .button { white-space: nowrap; }
.tile-grid .brand-tile h3 a { text-decoration:none; color:inherit; }
/* Post-Navigation Layout */
.post-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-top:1px solid #e6e6e6;
  padding-top:16px;
  margin-top:24px;
}

.post-nav__left { flex:1 1 auto; }
.post-nav__right{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
  flex:1 1 auto;
}

/* Buttons gleich hoch & kompakt halten */
.post-nav .button,
.post-nav .button--light{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 14px;
  white-space:nowrap;
}

/* Mobile: mittig und untereinander */
@media (max-width: 700px){
  .post-nav{
    flex-direction:column;
    align-items:stretch;
    text-align:center;
  }
  .post-nav__left,
  .post-nav__right{
    justify-content:center;
  }
}
.post-nav__right .button--light::before{ content:"← "; }
.post-nav__right .button:not(.button--light)::after{ content:" →"; }
/* Post-Navigation Layout */
.post-nav{
  display:flex;
  justify-content:flex-end; /* alles rechtsbündig */
  gap:12px;
  margin-top:32px;
  padding-top:16px;
  border-top:1px solid #e6e6e6;
}

/* Buttons */
.post-nav .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  font-size:0.95rem;
  border-radius:6px;
  text-decoration:none;
  cursor:pointer;
}

/* Helle Variante */
.post-nav .button--light{
  background:#fff;
  color:#2f4f2f;
  border:1px solid #2f4f2f;
}

/* Dunkle Variante */
.post-nav .button--dark{
  background:#2f4f2f;
  color:#fff;
  border:1px solid #2f4f2f;
}

/* Mobile: Buttons in die Mitte */
@media (max-width: 700px){
  .post-nav{
    justify-content:center;
    flex-wrap:wrap;
  }
}
/* Post-Navigation Layout */
.post-nav{
  display:flex;
  justify-content:flex-start; /* links ausgerichtet */
  gap:12px;
  margin-top:32px;
  padding-top:16px;
  border-top:1px solid #e6e6e6;
}

/* Buttons Basis */
.post-nav .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  font-size:0.95rem;
  border-radius:6px;
  text-decoration:none;
  cursor:pointer;
  line-height:1.2;
}

/* Helle Variante */
.post-nav .button--light{
  background:#fff;
  color:#2f4f2f;
  border:1px solid #2f4f2f;
}

/* Dunkle Variante (Primär) */
.post-nav .button--dark{
  background:#2f4f2f;
  color:#fff; /* weisse Schrift */
  border:1px solid #2f4f2f;
}

/* Mobile: Buttons umbrechen */
@media (max-width: 700px){
  .post-nav{
    flex-wrap:wrap;
  }
}
/* 1) Jede Karte füllt die Zeilenhöhe aus */
.impulse-grid { align-items: stretch; }

/* 2) Karte selbst als Flex-Container */
.impulse-card{
  display: flex;
  flex-direction: column;
}

/* 3) Body bekommt die Resthöhe -> Button kann nach unten schieben */
.impulse-card .card-body{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;   /* nimmt die verfügbare Höhe ein */
}

/* Button wirklich unten links */
.impulse-card .card-body .button{
  margin-top: auto;       /* nach unten drücken */
  align-self: flex-start; /* links ausrichten */
}
/* Highlight: Button unten links fixieren */
.impulse-feature .feature-text{
  display:flex;
  flex-direction:column;
}
.impulse-feature .feature-text .button{
  margin-top:auto;
  align-self:flex-start;
}
.impulse-card { min-height: 420px; } /* ggf. Wert an dein Layout anpassen */
/* Container Impuls des Monats */
.impulse-feature{
  display:flex;
  gap:24px;             /* Abstand zwischen Text & Bild */
  align-items:stretch;  /* gleiche Höhe */
}

/* Bild-Spalte vertikal zentrieren */
.impulse-feature .feature-media{
  display:flex;
  align-items:center;   /* vertikal mittig */
  justify-content:center;
}
.impulse-feature .feature-thumb{
  max-height:100%;
  object-fit:contain;
}
/* Layout Impuls des Monats */
.impulse-feature {
  display: flex;
  gap: 24px;
  align-items: stretch;    /* Text & Bild gleich hoch */
  background: #f9f9f9;
  border-radius: 12px;
  padding: 20px;
}

/* Textseite */
.feature-text {
  flex: 1 1 60%;           /* nimmt ca. 60% Breite */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Button unten links fixieren */
.feature-text .button {
  margin-top: auto;
  align-self: flex-start;
}

/* Bildseite */
.feature-media {
  flex: 1 1 40%;           /* nimmt ca. 40% Breite */
  display: flex;
  align-items: center;     /* Bild vertikal mittig */
  justify-content: center; /* horizontal mittig */
}

/* Bild selbst */
.feature-thumb {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  object-fit: contain;
}
/* Highlight-Beitrag */
.impulse-feature {
  display: flex;
  gap: 24px;
  background: #f9f9f9;
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  padding: 24px;
  align-items: stretch;
}

.feature-text {
  flex: 1 1 60%;
  display: flex;
  flex-direction: column;
}

.feature-text .button {
  margin-top: auto;
  align-self: flex-start;
}

.feature-media {
  flex: 1 1 40%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.feature-thumb {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  object-fit: contain;
}

.feature-thumb.placeholder {
  width: 100%;
  height: 220px;
  background: #eaecea;
  border-radius: 8px;
}

/* Karten-Grid */
.impulse-card {
  display: flex;
  flex-direction: column;
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  overflow: hidden;
}

.impulse-card .card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 16px;
}

.impulse-card .tile-cta {
  margin-top: auto;
}
/* Highlight-Beitrag clean ohne Rahmen */
.impulse-feature {
  display: flex;
  gap: 24px;
  border: none;             /* Rahmen entfernt */
  background: transparent;  /* Hintergrund transparent */
  border-radius: 0;         /* keine Rundung */
  padding: 0;               /* kein Padding außen */
  align-items: stretch;
}

.feature-text {
  flex: 1 1 60%;
  display: flex;
  flex-direction: column;
  padding: 0 16px 0 0; /* nur etwas Abstand rechts zum Bild */
}

.feature-media {
  flex: 1 1 40%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.feature-thumb {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  object-fit: contain;
}
/* ---------- Mobile Fixes (≤ 680px) ---------- */
@media (max-width: 680px){

  /* Highlight: Impuls des Monats */
  .impulse-feature{
    flex-direction: column;        /* untereinander statt nebeneinander */
    gap: 12px;
    padding: 12px;
    border: 0;                     /* falls noch Rahmen vorhanden */
    background: transparent;       /* kein graues Feld auf Mobile */
    border-radius: 0;
  }
  .feature-media{
    order: -1;                     /* Bild VOR den Text */
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }
  .feature-thumb{
    max-width: 100%;
    max-height: 220px;             /* Bild nicht zu gross */
    height: auto;
    object-fit: contain;
    border-radius: 8px;
  }
  .feature-text{ padding: 0; }
  .feature-text .button{
    margin-top: 12px;              /* Abstand zum Text */
    align-self: flex-start;        /* unten links */
  }

  /* Kategorie-Filter: horizontales Scrollen statt umbrechen */
  .impulse-filter{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    gap: 8px;
    padding-bottom: 6px;
    margin: 8px 0 14px;
  }
  .impulse-filter .chip{ display: inline-block; }

  /* Karten-Grid: 1 Spalte, kompakter */
  .impulse-grid{
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: stretch;
  }
  .impulse-card{ border-radius: 10px; }
  .impulse-card .card-body{ padding: 12px; }
  .impulse-card .button{
    margin-top: auto;              /* immer unten */
    align-self: flex-start;        /* links */
  }

  /* Titel/Typo etwas kleiner, damit nichts umbricht */
  .impulse-hero .page-title{
    font-size: clamp(1.6rem, 6vw, 2rem);
    line-height: 1.2;
    margin-bottom: 6px;
  }
  .page-sub{ font-size: .98rem; }
}
