/* ============================================================================
   Soulpack — Gestaltungsschicht für Salient + WPBakery
   Andrea Röker · Tierkommunikation
   ----------------------------------------------------------------------------
   Aufbau:
     1. Marken-Token (aus dem Design System „Soul Pack", 1:1)
     2. Grundlagen auf Salient-Selektoren
     3. Adoptionsschicht — native Salient/WPBakery-Module ins Design holen
     4. Eigene Bausteine (soulpack-*) — nur wo Salient nichts Passendes hat
     5. Reaktionsfähigkeit
   Regel: keine !important außer gegen Salients Inline-Styles (markiert).
   Pfade: keine absoluten Host-URLs — umzugsfest.
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. Marken-Token
   ------------------------------------------------------------------------ */
:root{
  /* Basispalette */
  --sage-500:#7a9a6d; --cream-50:#faf6f0; --terracotta-500:#c4856a;
  --forest-900:#2d3a2e; --mist-200:#e8e4de;
  --neutral-200:#e8e8e8; --neutral-500:#8b8b8b; --neutral-900:#1a1a1a; --white:#fff;
  --mark-olive:#7d8a4f; --mark-clay:#8a7460; --paper-50:#fdfbf7;

  --sage-050:#eef2ea; --sage-100:#dee7d8; --sage-300:#a7bd9c;
  --sage-600:#6a8a5e; --sage-700:#5a774f;
  --terracotta-050:#f7ece6; --terracotta-100:#eed9cd;
  --terracotta-600:#b3745a; --terracotta-700:#9c6249;
  --forest-700:#42513f; --forest-500:#5d6b58;
  --mist-100:#f1eee9; --mist-300:#d8d3cb;

  /* Bedeutungsnamen */
  --text-heading:var(--forest-900); --text-body:var(--forest-700);
  --text-muted:var(--forest-500); --text-meta:var(--neutral-500);
  --text-on-dark:var(--cream-50); --text-accent:var(--sage-600); --text-price:var(--sage-600);

  --surface-page:var(--cream-50); --surface-card:var(--white);
  --surface-subtle:var(--mist-200); --surface-subtle-soft:var(--mist-100);
  --surface-sage:var(--sage-500); --surface-sage-soft:var(--sage-050);
  --surface-terracotta:var(--terracotta-500); --surface-forest:var(--forest-900);

  --border-subtle:var(--mist-300); --border-divider:var(--neutral-200);
  --border-strong:var(--sage-500); --border-on-card:var(--mist-200);

  --action-primary:var(--sage-500); --action-primary-hover:var(--sage-600);
  --action-primary-active:var(--sage-700);
  --action-accent:var(--terracotta-500); --action-accent-hover:var(--terracotta-600);
  --action-accent-active:var(--terracotta-700);
  --action-ghost-border:var(--sage-500); --action-ghost-text:var(--sage-600);
  --action-ghost-hover-bg:var(--sage-050);
  --focus-ring:var(--terracotta-500);

  /* Schrift */
  --font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-body:"DM Sans",-apple-system,"Segoe UI",Helvetica,sans-serif;
  --font-hand:"Caveat","Cormorant Garamond",cursive;
  --fw-light:300; --fw-regular:400; --fw-medium:600; --fw-bold:700;
  --text-xs:.75rem; --text-sm:.875rem; --text-base:1rem; --text-md:1.125rem;
  --text-lg:1.5rem; --text-xl:2rem; --text-2xl:3rem; --text-3xl:3.25rem; --text-4xl:4rem;
  --lh-tight:1.1; --lh-heading:1.2; --lh-section:1.3; --lh-snug:1.4; --lh-body:1.65; --lh-loose:1.8;
  --ls-eyebrow:.14em; --ls-label:.06em; --ls-display:-.01em; --ls-hero:-.02em; --ls-button:.02em;
  --type-heading-weight:500;
  --measure-body:62ch; --measure-lead:46ch;

  /* Maße */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px;
  --space-6:24px; --space-8:32px; --space-10:40px; --space-12:48px;
  --space-16:64px; --space-20:80px; --space-24:96px; --space-32:128px;
  --container-max:1200px; --container-narrow:720px;
  --gutter:24px; --gutter-lg:40px;
  --section-y:80px; --section-y-sm:60px; --section-y-xs:40px;
  --card-pad:24px; --hero-pad:56px; --stack-gap:16px;

  /* Rundungen, Schatten, Bewegung */
  --radius-xs:4px; --radius-sm:8px; --radius-md:12px; --radius-lg:16px;
  --radius-xl:24px; --radius-pill:999px;
  --card-radius:var(--radius-lg); --button-radius:var(--radius-pill);
  --input-radius:var(--radius-md); --panel-radius:var(--radius-xl);
  --shadow-xs:0 1px 2px rgba(45,58,46,.05);
  --shadow-card:0 2px 12px rgba(45,58,46,.06);
  --shadow-card-hover:0 8px 24px rgba(45,58,46,.10);
  --shadow-panel:0 12px 40px rgba(45,58,46,.10);
  --ring-focus:0 0 0 3px rgba(196,133,106,.35);
  --ease-soft:cubic-bezier(.22,.61,.36,1);
  --dur-fast:120ms; --dur-base:200ms; --dur-slow:400ms;
  --transition-color:color var(--dur-base) var(--ease-soft),background-color var(--dur-base) var(--ease-soft),border-color var(--dur-base) var(--ease-soft);
  --transition-lift:transform var(--dur-base) var(--ease-soft),box-shadow var(--dur-base) var(--ease-soft);

  /* Verläufe */
  --gradient-page:linear-gradient(180deg,#fdfbf7 0%,#faf6f0 55%,#f5efe6 100%);
  --gradient-cream:linear-gradient(180deg,#faf6f0 0%,#f1eee9 100%);
  --gradient-sage:linear-gradient(150deg,#7a9a6d 0%,#6a8a5e 100%);
  --gradient-sage-soft:linear-gradient(160deg,#eef2ea 0%,#dee7d8 100%);
  --gradient-terracotta:linear-gradient(150deg,#c4856a 0%,#b3745a 100%);
  --gradient-forest:linear-gradient(160deg,#42513f 0%,#2d3a2e 100%);
  --gradient-warm:linear-gradient(135deg,#f7ece6 0%,#faf6f0 45%,#eef2ea 100%);
  --gradient-card:linear-gradient(180deg,#fff 0%,#fdfbf7 100%);
  --overlay-photo:linear-gradient(180deg,rgba(45,58,46,.15) 0%,rgba(45,58,46,.72) 100%);
  --overlay-photo-side:linear-gradient(100deg,rgba(45,58,46,.72) 0%,rgba(45,58,46,.32) 48%,rgba(45,58,46,.05) 100%);
  --hairline-warm:linear-gradient(90deg,rgba(196,133,106,0) 0%,rgba(196,133,106,.35) 50%,rgba(196,133,106,0) 100%);
}

/* ---------------------------------------------------------------------------
   2. Grundlagen — auf Salients Selektoren
   ------------------------------------------------------------------------ */
body.soulpack,
body.soulpack #ajax-content-wrap{
  background:var(--surface-page);
  color:var(--text-body);
  font-family:var(--font-body);
  font-size:var(--text-base);
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.soulpack h1,body.soulpack h2,body.soulpack h3,
body.soulpack h4,body.soulpack h5,body.soulpack h6{
  font-family:var(--font-display);
  color:var(--text-heading);
  font-weight:var(--type-heading-weight);
  line-height:var(--lh-heading);
  letter-spacing:var(--ls-display);
}
body.soulpack h1{font-size:clamp(2.25rem,5.5vw,var(--text-4xl));font-weight:var(--fw-regular);letter-spacing:var(--ls-hero);line-height:var(--lh-tight)}
body.soulpack h2{
  font-size:clamp(1.625rem,2.8vw,2.25rem);
  line-height:1.22;margin:0 0 var(--space-6);
  max-width:34ch;text-wrap:balance;
}
body.soulpack h3{font-size:clamp(1.25rem,1.9vw,1.625rem);margin:0 0 var(--space-4)}
body.soulpack h4{margin:0 0 var(--space-3)}
/* Mittig gesetzte Bänder: Überschrift auch mittig begrenzen */
body.soulpack [class*="text_align_center"] h2,
body.soulpack .soulpack-motto h2{margin-inline:auto}
body.soulpack h4{font-size:var(--text-lg)}
body.soulpack p{color:var(--text-body);text-wrap:pretty}
body.soulpack p,body.soulpack .wpb_text_column p{margin-bottom:var(--space-5)}
body.soulpack .wpb_text_column>*:last-child,
body.soulpack .wpb_text_column p:last-child{margin-bottom:0}
body.soulpack strong,body.soulpack b{font-weight:var(--fw-medium);color:var(--text-heading)}
body.soulpack blockquote{
  margin:0;font-family:var(--font-hand);
  font-size:clamp(1.375rem,2.4vw,1.75rem);
  line-height:var(--lh-snug);color:var(--text-accent);
  border:0;padding:0;background:none;
}
body.soulpack a{color:var(--text-accent);text-decoration-color:var(--sage-300);text-underline-offset:3px;transition:var(--transition-color)}
body.soulpack a:hover,body.soulpack a:focus{color:var(--action-accent);text-decoration-color:var(--terracotta-500)}
body.soulpack :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
body.soulpack img{display:block;max-width:100%;height:auto}
body.soulpack hr,body.soulpack .vc_separator .vc_sep_holder .vc_sep_line{
  border:0;height:1px;background:var(--hairline-warm);
}

/* Container-Breite — Salient generiert sie dynamisch, daher hart gesetzt */
body.soulpack .container,
body.soulpack .container-wrap .row .col.section-title,
body.soulpack #header-outer .container{
  max-width:var(--container-max)!important;
  margin-inline:auto;
  padding-inline:var(--gutter-lg);
  box-sizing:border-box;
  width:100%;
}
/* Randlose Bänder: Farbe über die ganze Breite, Inhalt im Container */
body.soulpack .wpb_row.soulpack-section>.row-bg-wrap,
body.soulpack .wpb_row.soulpack-section>.nectar-shape-divider-wrap{border-radius:0}
body.soulpack .full-width-section.soulpack-section{padding-inline:0}
body.soulpack .soulpack-narrow .wpb_column>.vc_column-inner{
  max-width:var(--container-narrow);margin-inline:auto;
}
/* Salient setzt an Zeilen und Spalten eigene Innenabstaende */
body.soulpack .wpb_row>.col.span_12,
body.soulpack .container-wrap>.container.main-content>.row>.col.span_12{padding-block:0}
body.soulpack .container-wrap{padding-block:0;background:transparent}
body.soulpack .main-content>.row>.col.span_12{padding-bottom:0}

/* Lesebreite für Fließtext */
body.soulpack .soulpack-measure .wpb_text_column{max-width:var(--measure-body)}

/* ---------------------------------------------------------------------------
   3. Adoptionsschicht — native Module
   ------------------------------------------------------------------------ */

/* 3.1 Kopfbereich (Salient #header-outer) */
body.soulpack #header-outer{
  background:rgba(250,246,240,.92);
  backdrop-filter:saturate(1.1) blur(10px);
  box-shadow:none;
  border-bottom:1px solid var(--border-subtle);
}
body.soulpack #header-outer.scrolled-down{box-shadow:var(--shadow-xs)}
body.soulpack #top nav>ul>li>a{
  font-family:var(--font-body);
  font-size:13px;
  font-weight:var(--fw-medium);
  letter-spacing:.01em;
  color:var(--text-body);
  transition:var(--transition-color);
  white-space:nowrap;
}
/* Salient verteilt die Menüpunkte mit eigenen Abständen */
body.soulpack #top nav>ul>li{margin-right:0}
body.soulpack #top nav>ul>li>a{padding-left:11px;padding-right:11px}
body.soulpack #top nav .sf-menu>li>a>.menu-title-text{white-space:nowrap}
body.soulpack #top nav>ul.buttons{margin-left:var(--space-2)}
@media (max-width:1240px){
  body.soulpack #top nav>ul>li>a{font-size:12.5px;padding-left:8px;padding-right:8px}
}
body.soulpack #top nav>ul>li>a:hover,
body.soulpack #top nav>ul>li.current-menu-item>a,
body.soulpack #top nav>ul>li.current_page_ancestor>a{color:var(--action-accent)}
/* Salient zeichnet die Unterstreichung per Inline-Farbe — daher überschrieben */
body.soulpack #top nav>ul>li>a:after{background-color:var(--terracotta-500)!important}
body.soulpack #top nav ul li ul{
  background:var(--surface-card);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-panel);
  padding:var(--space-2) 0;
  overflow:hidden;
}
body.soulpack #top nav ul li ul li a{
  font-size:var(--text-sm);color:var(--text-body);padding:var(--space-3) var(--space-5);
}
body.soulpack #top nav ul li ul li a:hover{background:var(--surface-sage-soft);color:var(--text-accent)}
body.soulpack #logo img{max-height:64px;width:auto}
/* Namenszug typografisch (es gibt keine SVG-Wortmarke), Bildmarke davor.
   Die Datei liegt neben dieser CSS — dadurch überlebt der Pfad einen Domainumzug. */
body.soulpack #logo{
  font-family:var(--font-display);
  font-size:clamp(1rem,1.4vw,1.125rem);
  white-space:nowrap;
  font-weight:var(--type-heading-weight);
  color:var(--text-heading);
  letter-spacing:var(--ls-display);
  line-height:1.15;
  display:flex;align-items:center;gap:var(--space-3);
  text-decoration:none;
}
body.soulpack #logo.no-image::before{
  content:"";flex:none;
  width:42px;height:42px;
  background:url("logo-mark.svg") center/contain no-repeat;
}
body.soulpack #logo:hover{color:var(--text-accent)}
@media (max-width:690px){
  body.soulpack #logo{font-size:1rem;gap:var(--space-2)}
  body.soulpack #logo.no-image::before{width:34px;height:34px}
}

/* Ausklappmenü (mobil / off-canvas) */
body.soulpack #slide-out-widget-area,
body.soulpack #slide-out-widget-area .inner{background:var(--surface-page)}
body.soulpack #slide-out-widget-area .off-canvas-menu-container li a{
  font-family:var(--font-display);
  font-size:var(--text-xl);
  color:var(--text-heading);
}
body.soulpack #slide-out-widget-area .off-canvas-menu-container li a:hover{color:var(--action-accent)}

/* 3.2 Schaltflächen (.nectar-button) */
body.soulpack .nectar-button,
body.soulpack input[type=submit],
body.soulpack button{
  font-family:var(--font-body);
  font-size:var(--text-sm);
  font-weight:var(--fw-medium);
  letter-spacing:var(--ls-button);
  border-radius:var(--button-radius);
  border:1px solid transparent;
  padding:var(--space-4) var(--space-8);
  box-shadow:none;
  transition:var(--transition-color),var(--transition-lift);
  text-transform:none;
  line-height:1.2;
}
/* Salient setzt Hintergrund + Farbe inline aus dem Redux-Akzent */
body.soulpack .nectar-button.regular,
body.soulpack .nectar-button.see-through-2,
body.soulpack input[type=submit],
body.soulpack button{background-color:var(--action-primary)!important;color:var(--white)!important}
body.soulpack .nectar-button.regular:hover,
body.soulpack input[type=submit]:hover,
body.soulpack button:hover{
  background-color:var(--action-primary-hover)!important;
  transform:translateY(-2px);box-shadow:var(--shadow-card);
}
body.soulpack .nectar-button.accent-color,
body.soulpack .soulpack-cta-accent .nectar-button{background-color:var(--action-accent)!important;color:var(--white)!important}
body.soulpack .nectar-button.accent-color:hover,
body.soulpack .soulpack-cta-accent .nectar-button:hover{background-color:var(--action-accent-hover)!important}
/* Umrissvariante */
body.soulpack .nectar-button.see-through,
body.soulpack .soulpack-cta-ghost .nectar-button{
  background-color:transparent!important;
  color:var(--action-ghost-text)!important;
  border-color:var(--action-ghost-border)!important;
}
body.soulpack .nectar-button.see-through:hover,
body.soulpack .soulpack-cta-ghost .nectar-button:hover{
  background-color:var(--action-ghost-hover-bg)!important;
  color:var(--sage-700)!important;
}
body.soulpack .nectar-button:focus-visible{box-shadow:var(--ring-focus)}

/* 3.3 Zeilen & Spalten (WPBakery) */
body.soulpack .wpb_row{margin-bottom:0}
body.soulpack .soulpack-section>.row-bg-wrap .row-bg{background-color:transparent}
body.soulpack .wpb_row.soulpack-section{padding-top:var(--section-y);padding-bottom:var(--section-y)}
body.soulpack .wpb_row.soulpack-section-sm{padding-top:var(--section-y-sm);padding-bottom:var(--section-y-sm)}
body.soulpack .wpb_row.soulpack-section-xs{padding-top:var(--section-y-xs);padding-bottom:var(--section-y-xs)}
body.soulpack .soulpack-bg-cream{background:var(--surface-page)}
/* Nebelgrau statt zweitem Creme — sonst ist der Bandwechsel unsichtbar */
body.soulpack .soulpack-bg-subtle{background:var(--mist-100)}
body.soulpack .soulpack-bg-sage-soft{background:var(--gradient-sage-soft)}
body.soulpack .soulpack-bg-warm{background:var(--gradient-warm)}
/* Zwei gleiche Bänder hintereinander: das zweite verliert seinen oberen Abstand */
body.soulpack .soulpack-bg-cream + .soulpack-bg-cream{padding-top:0}
/* Dunkles Band — Text hell, volle Deckkraft (Kontrast) */
body.soulpack .soulpack-bg-forest{background:var(--gradient-forest)}
body.soulpack .soulpack-bg-forest,
body.soulpack .soulpack-bg-forest h1,body.soulpack .soulpack-bg-forest h2,
body.soulpack .soulpack-bg-forest h3,body.soulpack .soulpack-bg-forest h4,
body.soulpack .soulpack-bg-forest p,body.soulpack .soulpack-bg-forest li{color:var(--text-on-dark)}
body.soulpack .soulpack-bg-forest .soulpack-eyebrow{color:var(--sage-300)}
body.soulpack .soulpack-bg-forest a{color:var(--white);text-decoration-color:rgba(255,255,255,.5)}
body.soulpack .soulpack-bg-forest blockquote{color:var(--sage-100)}
body.soulpack .soulpack-bg-sage{background:var(--gradient-sage)}
body.soulpack .soulpack-bg-sage,
body.soulpack .soulpack-bg-sage h2,body.soulpack .soulpack-bg-sage h3,
body.soulpack .soulpack-bg-sage p,body.soulpack .soulpack-bg-sage li{color:var(--text-on-dark)}
body.soulpack .soulpack-bg-sage .soulpack-eyebrow{color:rgba(250,246,240,.82)}
body.soulpack .soulpack-bg-sage a:not(.nectar-button):not(.soulpack-btn){color:var(--white)}
/* Kontaktband: Text links, Schaltfläche rechts auf einer Zeile */
body.soulpack .soulpack-band-split{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--space-12);flex-wrap:wrap;
}
body.soulpack .soulpack-band-split>.soulpack-band-copy{max-width:34ch}
body.soulpack .soulpack-band-split h2{margin:var(--space-4) 0 0;max-width:none}
body.soulpack .soulpack-band-split p{
  margin:var(--space-5) 0 0;
  font-size:var(--text-md);line-height:var(--lh-body);
  color:rgba(250,246,240,.92);
}

/* 3.4 Bilder — Salient rendert image_with_animation (Klassenname mit Tippfehler im Theme) */
body.soulpack .img-with-aniamtion-wrap,
body.soulpack .wpb_single_image .vc_single_image-wrapper{
  border-radius:var(--card-radius);overflow:hidden;box-shadow:var(--shadow-card);
}
body.soulpack .img-with-aniamtion-wrap img,
body.soulpack .wpb_single_image img{border-radius:inherit;width:100%}
body.soulpack .soulpack-portrait .img-with-aniamtion-wrap img,
body.soulpack .soulpack-portrait .vc_single_image-wrapper img{aspect-ratio:4/5;object-fit:cover}
body.soulpack .soulpack-landscape .img-with-aniamtion-wrap img,
body.soulpack .soulpack-landscape .vc_single_image-wrapper img{aspect-ratio:3/2;object-fit:cover}
/* Salient setzt an Bildern gern eigene Schatten per Inline-Style */
body.soulpack .img-with-aniamtion-wrap .hover-wrap{border-radius:inherit;overflow:hidden}

/* 3.5 Akkordeon / Umschalter (.toggles) — FAQ */
body.soulpack .toggles{border:0}
body.soulpack .toggles .toggle{
  background:var(--surface-card);
  border:1px solid var(--border-on-card);
  border-radius:var(--card-radius);
  margin-bottom:var(--space-3);
  box-shadow:var(--shadow-xs);
  overflow:hidden;
}
body.soulpack .toggles .toggle>h3{margin:0;border:0;background:none}
body.soulpack .toggles .toggle>h3 a{
  font-family:var(--font-display);
  font-size:var(--text-lg);
  font-weight:var(--type-heading-weight);
  color:var(--text-heading);
  padding:var(--space-5) var(--space-6);
  padding-right:var(--space-16);
  text-decoration:none;
  line-height:var(--lh-snug);
}
body.soulpack .toggles .toggle.open>h3 a{color:var(--text-accent)}
body.soulpack .toggles .toggle>h3 a i{border-color:var(--sage-300)}
body.soulpack .toggles .toggle>h3 a i:before,
body.soulpack .toggles .toggle>h3 a i:after{background-color:var(--sage-600)}
body.soulpack .toggles .toggle>div{padding:0 var(--space-6) var(--space-6)}
body.soulpack .toggles .toggle>div p{color:var(--text-body)}

/* 3.6 Fancy Box / Feature Box — Kurskarten */
body.soulpack .nectar-fancy-box{
  background:var(--gradient-card);
  border:1px solid var(--border-on-card);
  border-radius:var(--card-radius);
  box-shadow:var(--shadow-card);
  padding:var(--card-pad);
  transition:var(--transition-lift);
}
body.soulpack .nectar-fancy-box:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}
body.soulpack .nectar-fancy-box h4{margin-bottom:var(--space-2)}

/* 3.7 Symbolliste (.nectar-icon-list) — Checklisten */
body.soulpack .nectar-icon-list .nectar-icon-list-item .list-icon-holder .icon-default-style{
  background-color:var(--sage-100);color:var(--sage-700);border-color:var(--sage-300);
}
body.soulpack .nectar-icon-list .content h4{font-size:var(--text-md);font-family:var(--font-body);font-weight:var(--fw-medium)}

/* 3.8 Formulare (Contact Form 7) */
body.soulpack .wpcf7-form label{
  display:block;font-size:var(--text-sm);font-weight:var(--fw-medium);
  color:var(--text-heading);margin-bottom:var(--space-2);
}
body.soulpack .wpcf7-form-control-wrap{display:block;margin-bottom:var(--space-5)}
body.soulpack .wpcf7 input[type=text],body.soulpack .wpcf7 input[type=email],
body.soulpack .wpcf7 input[type=tel],body.soulpack .wpcf7 textarea,
body.soulpack .wpcf7 select{
  width:100%;
  font-family:var(--font-body);font-size:var(--text-base);
  color:var(--text-heading);
  background:var(--surface-card);
  border:1px solid var(--border-subtle);
  border-radius:var(--input-radius);
  padding:var(--space-3) var(--space-4);
  box-shadow:none;
  transition:var(--transition-color);
}
body.soulpack .wpcf7 textarea{min-height:160px;resize:vertical}
body.soulpack .wpcf7 input:focus,body.soulpack .wpcf7 textarea:focus,body.soulpack .wpcf7 select:focus{
  border-color:var(--border-strong);box-shadow:var(--ring-focus);outline:none;
}
body.soulpack .wpcf7 ::placeholder{color:var(--text-meta)}
body.soulpack .wpcf7-acceptance .wpcf7-list-item{margin:0}
body.soulpack .wpcf7-acceptance label{
  display:flex;gap:var(--space-3);align-items:flex-start;
  font-weight:var(--fw-regular);font-size:var(--text-sm);color:var(--text-muted);
}
body.soulpack .wpcf7-not-valid-tip{color:var(--terracotta-700);font-size:var(--text-sm);margin-top:var(--space-2)}
body.soulpack .wpcf7-response-output{
  border:0;border-radius:var(--radius-md);
  background:var(--surface-sage-soft);color:var(--text-heading);
  padding:var(--space-4) var(--space-5);margin:var(--space-5) 0 0;font-size:var(--text-sm);
}
body.soulpack .wpcf7 form.invalid .wpcf7-response-output,
body.soulpack .wpcf7 form.unaccepted .wpcf7-response-output{background:var(--terracotta-050)}

/* 3.9 Beitragsliste / Blog */
body.soulpack .post .post-header h2,
body.soulpack article.post .article-content-wrap h3{font-family:var(--font-display)}
body.soulpack #post-area .post{
  background:var(--surface-card);
  border:1px solid var(--border-on-card);
  border-radius:var(--card-radius);
  box-shadow:var(--shadow-card);
  overflow:hidden;
}
body.soulpack .post .meta-category a,
body.soulpack .post-meta{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--ls-label);color:var(--text-meta)}

/* 3.10 Fußbereich */
body.soulpack #footer-outer{background:var(--surface-forest);color:var(--text-on-dark)}
body.soulpack #footer-outer .widget h4,
body.soulpack #footer-widgets .widget h4{
  font-family:var(--font-body);
  font-size:var(--text-xs);
  font-weight:var(--fw-medium);
  letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase;
  color:var(--sage-300);
  margin-bottom:var(--space-4);
}
body.soulpack #footer-outer a,body.soulpack #footer-outer p,body.soulpack #footer-outer li{color:var(--text-on-dark)}
body.soulpack #footer-outer a{text-decoration:none}
body.soulpack #footer-outer a:hover{color:var(--sage-300)}
body.soulpack #footer-outer ul li{border:0;padding:var(--space-1) 0}
body.soulpack #footer-outer #copyright{
  background:transparent;border-top:1px solid rgba(250,246,240,.14);
}
body.soulpack #footer-outer #copyright p{font-size:var(--text-sm);color:rgba(250,246,240,.72)}

/* ---------------------------------------------------------------------------
   4. Eigene Bausteine
   Nur dort, wo Salient kein Modul mit dem nötigen Designmerkmal hat.
   ------------------------------------------------------------------------ */

/* 4.1 Augenbraue */
.soulpack-eyebrow{
  display:block;
  font-family:var(--font-body);
  font-size:var(--text-xs);
  font-weight:var(--fw-medium);
  letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase;
  color:var(--text-meta);
  margin:0 0 var(--space-4);
}
/* Fotokachel: feste Höhe vermeiden, Bild trägt das Verhältnis */
body.soulpack .soulpack-photoquote{margin:0}

/* 4.2 Handschrift-Zeile */
.soulpack-hand{
  font-family:var(--font-hand);
  font-size:clamp(1.5rem,3vw,2.125rem);
  line-height:var(--lh-snug);
  color:var(--terracotta-600);
}

/* Hervorgehobener Satzteil in einer Überschrift — Farbe, kein Verlauf */
body.soulpack .soulpack-accent-run{color:var(--sage-600)}

/* 4.3 Verlaufstext (Sage → Terrakotta) — nur für kurze Auszeichnungen, nie über
   mehrere Zeilen: das Design System erlaubt Verläufe nicht über Text hinweg */
.soulpack-gradient-text{
  background:linear-gradient(100deg,var(--sage-600) 0%,var(--terracotta-500) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--sage-600);
}

/* 4.3b Salients nectar_gradient_text — Marken-Verlauf statt Theme-Default */
body.soulpack .nectar-gradient-text{
  background-image:linear-gradient(100deg,var(--sage-600) 0%,var(--terracotta-500) 100%)!important;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}

/* 4.4 Titelkopf einer Unterseite */
.soulpack-pagehead{display:grid;gap:var(--space-5);max-width:var(--measure-lead)}
.soulpack-pagehead .soulpack-kicker{
  font-family:var(--font-display);
  font-size:clamp(1.25rem,2.4vw,var(--text-lg));
  color:var(--text-accent);line-height:var(--lh-snug);
}
.soulpack-pagehead .soulpack-meta{
  font-size:var(--text-sm);color:var(--text-meta);
  display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);
}

/* 4.4b Startbühne — exakt wie im Entwurf: randloses Foto, Text an der
   Unterkante, zwei gestaffelte Overlays, damit die Schrift trotz Foto trägt. */
body.soulpack .soulpack-hero-stage{
  position:relative;
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  min-height:clamp(900px,78vw,1400px);
  display:flex;align-items:flex-end;
  overflow:hidden;
  background:var(--forest-900);
}
body.soulpack .soulpack-hero-stage .soulpack-hero-img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center 38%;
  border-radius:0;
}
body.soulpack .soulpack-hero-veil{
  position:absolute;inset:0;
  background:var(--overlay-photo-side);
}
body.soulpack .soulpack-hero-foot{
  position:absolute;left:0;right:0;bottom:0;height:62%;
  background:linear-gradient(to top,rgba(45,58,46,.82) 0%,rgba(45,58,46,.45) 45%,rgba(45,58,46,0) 100%);
}
body.soulpack .soulpack-hero-inner{
  position:relative;z-index:1;
  width:100%;max-width:var(--container-max);
  margin:0 auto;
  left:min(0px,calc((var(--container-max) - 100vw) / 4));
  padding:0 var(--gutter-lg) clamp(120px,13vw,280px);
  box-sizing:border-box;
}
body.soulpack .soulpack-hero-eyebrow{
  display:flex;align-items:center;gap:var(--space-5);
  font-family:var(--font-body);font-size:var(--text-sm);
  letter-spacing:var(--ls-eyebrow);text-transform:uppercase;
  color:rgba(250,246,240,.82);
  margin:0;
}
body.soulpack .soulpack-hero-eyebrow>span{
  display:block;flex-shrink:0;
  width:clamp(32px,5vw,72px);height:1.5px;
  background:var(--sage-300);
}
body.soulpack .soulpack-hero-title{
  margin:var(--space-6) 0 0;
  font-family:var(--font-display);
  font-weight:var(--fw-regular);
  line-height:1.02;
  letter-spacing:var(--ls-hero);
  color:var(--text-on-dark);
}
body.soulpack .soulpack-hero-l1{
  display:block;
  font-size:clamp(3rem,6.6vw,6.25rem);
  text-shadow:0 2px 24px rgba(45,58,46,.35);
}
body.soulpack .soulpack-hero-l2{
  display:block;max-width:24ch;
  margin-top:clamp(6px,1vw,14px);
  font-size:clamp(1.9rem,3.9vw,3.4rem);
  font-weight:700;line-height:1.14;
  background-image:linear-gradient(100deg,var(--sage-100) 0%,var(--sage-300) 34%,var(--terracotta-100) 100%);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
}
body.soulpack .soulpack-hero-hand{
  font-family:var(--font-hand);
  font-size:clamp(1.65rem,2.5vw,2.3rem);
  line-height:1.3;color:var(--cream-50);
  margin:var(--space-8) 0 0;
}
body.soulpack .soulpack-hero-actions{
  display:flex;flex-wrap:wrap;gap:var(--space-4);
  margin-top:var(--space-10);
}
/* Eigene Schaltflächen in der Bühne — Salients Button-Markup steht hier nicht
   zur Verfügung, die Maße entsprechen der Button-Komponente (size lg). */
body.soulpack .soulpack-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:58px;padding:0 var(--space-8);
  white-space:nowrap;
  font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--fw-medium);
  letter-spacing:var(--ls-button);
  border-radius:var(--button-radius);
  border:1.5px solid transparent;
  text-decoration:none;
  transition:var(--transition-color),var(--transition-lift);
}
body.soulpack .soulpack-btn--accent{
  background:var(--action-accent);color:var(--white);
}
body.soulpack .soulpack-btn--accent:hover{
  background:var(--action-accent-hover);color:var(--white);
  transform:translateY(-2px);box-shadow:var(--shadow-card);
}
body.soulpack .soulpack-btn--ghost-light{
  background:transparent;color:var(--cream-50);border-color:rgba(250,246,240,.6);
}
body.soulpack .soulpack-btn--ghost-light:hover{
  background:rgba(250,246,240,.12);color:var(--white);border-color:var(--cream-50);
}
body.soulpack .soulpack-btn:focus-visible{box-shadow:var(--ring-focus)}

/* Grosser Auftakt-Absatz in Cormorant — im Entwurf kein H2, sondern ein Absatz */
body.soulpack .soulpack-display-lead{
  font-family:var(--font-display);
  font-size:clamp(1.75rem,2.8vw,2.6rem);
  line-height:1.24;
  letter-spacing:var(--ls-display);
  color:var(--text-heading);
  margin:var(--space-5) 0 0;
  max-width:24ch;
  text-wrap:pretty;
}
body.soulpack .soulpack-display-lead .soulpack-accent-run{
  font-weight:700;
  background-image:linear-gradient(100deg,var(--sage-600) 0%,var(--sage-500) 35%,var(--terracotta-500) 100%);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
}
/* Kurze Haarlinie als Zäsur */
body.soulpack .soulpack-hairline{
  width:64px;height:1.5px;background:var(--sage-300);
  margin:var(--space-8) 0;border:0;
}

/* Lead-Absatz */
body.soulpack .soulpack-lead,
body.soulpack .soulpack-lead p{
  font-size:clamp(1.0625rem,1.6vw,var(--text-md));
  line-height:var(--lh-body);
  color:var(--text-body);
  max-width:var(--measure-lead);
}
body.soulpack .soulpack-kicker{
  font-family:var(--font-display);
  font-size:clamp(1.25rem,2.4vw,var(--text-lg));
  color:var(--text-accent);line-height:var(--lh-snug);
}
body.soulpack .soulpack-meta{
  font-size:var(--text-sm);color:var(--text-meta);
}
/* Sektionskopf: Abstand zum Inhalt darunter */
body.soulpack .soulpack-section-head{margin-bottom:var(--space-12)}
body.soulpack .soulpack-section-head--center{text-align:center}
body.soulpack .soulpack-section-head--center h2{margin:var(--space-4) auto 0;max-width:30ch}
/* Bühne bringt ihre eigene Höhe mit */
body.soulpack .wpb_row.soulpack-section-none{padding-top:0;padding-bottom:0}
body.soulpack .soulpack-hero-row>.col.span_12{padding:0}

/* 4.4c Seitenkopf einer Unterseite — Maße aus dem Entwurf */
body.soulpack .soulpack-pagehead{
  background:var(--gradient-cream);
  padding:var(--space-16) var(--gutter-lg) var(--space-12);
  font-family:var(--font-body);
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  box-sizing:border-box;
}
body.soulpack .soulpack-pagehead-inner{max-width:var(--container-max);margin:0 auto}
body.soulpack .soulpack-pagehead-eyebrow{
  display:flex;align-items:center;gap:var(--space-4);margin:0;
  font-size:var(--text-xs);font-weight:var(--fw-bold);
  letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-muted);
}
body.soulpack .soulpack-pagehead-eyebrow>span{
  display:block;flex-shrink:0;width:48px;height:1.5px;background:var(--sage-300);
}
body.soulpack .soulpack-pagehead-title{
  font-family:var(--font-display);
  font-size:clamp(2.4rem,4.4vw,3.5rem);
  font-weight:var(--type-heading-weight);
  line-height:1.12;letter-spacing:var(--ls-display);
  color:var(--text-heading);
  margin:var(--space-5) 0 0;max-width:22ch;text-wrap:pretty;
}
body.soulpack .soulpack-pagehead-kicker{
  font-family:var(--font-display);
  font-size:clamp(1.35rem,2.1vw,1.85rem);
  font-weight:700;line-height:1.28;
  margin:var(--space-5) 0 0;max-width:32ch;
  background-image:linear-gradient(100deg,var(--sage-600) 0%,var(--sage-500) 40%,var(--terracotta-500) 100%);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
}
body.soulpack .soulpack-pagehead-meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);
  margin:var(--space-8) 0 0;
}
body.soulpack .soulpack-pricepill{
  display:inline-flex;align-items:center;
  font-family:var(--font-display);font-size:var(--text-lg);
  color:var(--sage-700);background:var(--sage-050);
  border-radius:999px;padding:8px 22px;
}
body.soulpack .soulpack-metatext{
  font-size:var(--text-sm);color:var(--text-muted);letter-spacing:var(--ls-label);
}

/* 4.4d Inhaltsraster mit Nebenspalte — 1fr / 320px wie im Entwurf */
body.soulpack .soulpack-sidebar{display:flex;flex-direction:column;gap:var(--space-6)}
@media (max-width:999px){
  body.soulpack .soulpack-articlecol .wpb_wrapper{max-width:none}
}

/* Infokarte */
body.soulpack .soulpack-infocard{
  border-radius:var(--card-radius);
  padding:var(--space-6);
  box-shadow:var(--shadow-card);
}
body.soulpack .soulpack-infocard--card{background:var(--surface-card)}
body.soulpack .soulpack-infocard--subtle{background:var(--mist-100);box-shadow:none}
body.soulpack .soulpack-infocard--sage{background:var(--sage-050);box-shadow:none}
body.soulpack .soulpack-infocard-label{
  display:block;font-family:var(--font-body);font-size:var(--text-xs);
  font-weight:var(--fw-medium);letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase;color:var(--text-meta);margin-bottom:var(--space-2);
}
body.soulpack .soulpack-infocard-title{
  font-family:var(--font-display);font-size:var(--text-lg);
  font-weight:var(--type-heading-weight);color:var(--text-heading);
  margin:0 0 var(--space-3);
}
body.soulpack .soulpack-infocard-body p{margin:0 0 var(--space-3);line-height:var(--lh-body)}
body.soulpack .soulpack-infocard-body p:last-child{margin-bottom:0}
body.soulpack .soulpack-infocard-body a{color:var(--action-accent);text-decoration:none}
body.soulpack .soulpack-infocard--sage .soulpack-postlinks a{color:var(--sage-700)}
body.soulpack .soulpack-postlinks{display:flex;flex-direction:column;gap:var(--space-3)}
body.soulpack .soulpack-postlinks a{
  color:var(--sage-700);text-decoration:none;font-size:var(--text-sm);
}
body.soulpack .soulpack-postlinks a:hover{color:var(--action-accent)}
body.soulpack .soulpack-facttable{display:flex;flex-direction:column}
body.soulpack .soulpack-factrow{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:var(--space-4);padding:10px 0;border-bottom:1px solid var(--mist-200);
}
body.soulpack .soulpack-factrow:last-child{border-bottom:0}
body.soulpack .soulpack-factrow-label{font-size:var(--text-sm);color:var(--text-muted)}
body.soulpack .soulpack-factrow-value{
  font-family:var(--font-display);font-size:var(--text-base);
  color:var(--text-heading);text-align:right;
}

/* Fließtextbild im Artikel */
body.soulpack .soulpack-article-img{
  width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center 35%;
  border-radius:var(--radius-lg);display:block;margin:var(--space-8) 0;
}

/* 4.5 Faktenraster */
.soulpack-facts{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));
  gap:var(--space-4);
  margin:0;padding:0;list-style:none;
}
.soulpack-facts li{
  background:var(--surface-card);
  border:1px solid var(--border-on-card);
  border-radius:var(--radius-md);
  padding:var(--space-4) var(--space-5);
  display:grid;gap:var(--space-1);
}
.soulpack-facts dt,.soulpack-facts .soulpack-fact-label{
  font-size:var(--text-xs);letter-spacing:var(--ls-label);
  text-transform:uppercase;color:var(--text-meta);
}
.soulpack-facts dd,.soulpack-facts .soulpack-fact-value{
  margin:0;font-family:var(--font-display);
  font-size:var(--text-md);color:var(--text-heading);
}

/* 4.6 Preiszeile — halbe Linie, Preis rechts */
.soulpack-pricelist{margin:0;padding:0;list-style:none;display:grid;gap:0}
.soulpack-pricelist li{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:baseline;
  gap:var(--space-4) var(--space-6);
  padding:var(--space-5) 0;
  border-bottom:1px solid var(--border-on-card);
}
.soulpack-pricelist li:last-child{border-bottom:0}
.soulpack-pricelist .soulpack-price-title{
  font-family:var(--font-display);font-size:var(--text-md);color:var(--text-heading);
}
.soulpack-pricelist .soulpack-price-value{
  font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-price);white-space:nowrap;
}
.soulpack-pricelist .soulpack-price-note{
  grid-column:1/-1;font-size:var(--text-sm);color:var(--text-muted);
  max-width:var(--measure-body);margin-top:calc(var(--space-2) * -1);
}
.soulpack-vat{font-size:var(--text-sm);color:var(--text-meta);margin-top:var(--space-6)}

/* 4.7 Kurskarte mit Bild und Verlaufsband */
.soulpack-cardgrid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));
  gap:var(--space-6);
}
/* wpautop legt einen Absatz um die Karten. display:contents hebt ihn auf,
   damit die Karten direkte Kinder des Rasters bleiben. */
body.soulpack .soulpack-cardgrid>p{display:contents}
.soulpack-card{
  display:flex;flex-direction:column;
  background:var(--surface-card);
  border-radius:var(--card-radius);
  overflow:hidden;
  box-shadow:var(--shadow-card);
  text-decoration:none;color:inherit;
  transition:var(--transition-lift);
}
.soulpack-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}
.soulpack-card .soulpack-card-band{display:block;height:8px;flex:none}
.soulpack-card img,.soulpack-card .soulpack-card-img{
  display:block;width:100%;height:180px;object-fit:cover;object-position:center 40%;
  border-radius:0;flex:none;
}
.soulpack-card .soulpack-card-body{
  padding:var(--card-pad);display:flex;flex-direction:column;gap:var(--space-2);flex:1;
}
.soulpack-card .soulpack-card-eyebrow{
  display:block;font-family:var(--font-body);font-size:var(--text-xs);
  letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-meta);
}
.soulpack-card h3,.soulpack-card .soulpack-card-title{
  display:block;font-family:var(--font-display);font-size:var(--text-lg);
  font-weight:var(--type-heading-weight);color:var(--text-heading);
  line-height:var(--lh-snug);margin:0;
}
.soulpack-card p,.soulpack-card .soulpack-card-text{
  display:block;font-size:var(--text-sm);color:var(--text-body);
  line-height:var(--lh-snug);margin:0;flex:1;
}
.soulpack-card .soulpack-card-foot{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:var(--space-4);margin-top:var(--space-4);
  padding-top:var(--space-4);border-top:1px solid var(--border-on-card);
}
.soulpack-card .soulpack-card-price{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-price)}
.soulpack-card .soulpack-card-more{font-size:var(--text-sm);color:var(--action-accent);white-space:nowrap}
/* Karte als ganze Fläche verlinkt — Text bleibt Textfarbe, kein Link-Unterstrich */
body.soulpack a.soulpack-card{text-decoration:none}
body.soulpack a.soulpack-card:hover .soulpack-card-title{color:var(--text-accent)}
/* Verlaufsbänder — sechs Stufen Salbei → Terrakotta, pastellig */
.soulpack-band-1{background:linear-gradient(90deg,#c3d4b7 0%,#cdd9bb 100%)}
.soulpack-band-2{background:linear-gradient(90deg,#cdd9bb 0%,#d8dcbf 100%)}
.soulpack-band-3{background:linear-gradient(90deg,#d8dcbf 0%,#e3dcc2 100%)}
.soulpack-band-4{background:linear-gradient(90deg,#e3dcc2 0%,#ecd6c3 100%)}
.soulpack-band-5{background:linear-gradient(90deg,#ecd6c3 0%,#f0cec0 100%)}
.soulpack-band-6{background:linear-gradient(90deg,#f0cec0 0%,#eec4b4 100%)}

/* 4.8 Checkliste */
.soulpack-checklist{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-3)}
.soulpack-checklist li{
  display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);
  align-items:start;color:var(--text-body);
}
.soulpack-checklist li::before{
  content:"";width:20px;height:20px;margin-top:3px;border-radius:var(--radius-circle,50%);
  background:var(--sage-100);
  box-shadow:inset 0 0 0 1px var(--sage-300);
  background-image:linear-gradient(var(--sage-700),var(--sage-700)),linear-gradient(var(--sage-700),var(--sage-700));
  background-repeat:no-repeat;
  background-size:7px 1.5px,11px 1.5px;
  background-position:6px 11px,8px 9px;
}
/* Ablehnliste (NICHT geeignet) */
.soulpack-crosslist{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-3)}
.soulpack-crosslist li{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:start;color:var(--text-muted)}
.soulpack-crosslist li::before{
  content:"";width:20px;height:20px;margin-top:3px;border-radius:50%;
  background:var(--terracotta-050);box-shadow:inset 0 0 0 1px var(--terracotta-100);
  background-image:linear-gradient(var(--terracotta-700),var(--terracotta-700)),linear-gradient(var(--terracotta-700),var(--terracotta-700));
  background-repeat:no-repeat;background-size:10px 1.5px,10px 1.5px;
  background-position:5px 9px,5px 9px;
}

/* 4.9 Aufzählung mit Punkt in Markenfarbe */
.soulpack-bullets{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-3)}
.soulpack-bullets li{position:relative;padding-left:var(--space-6);color:var(--text-body)}
.soulpack-bullets li::before{
  content:"";position:absolute;left:0;top:.6em;
  width:7px;height:7px;border-radius:50%;background:var(--sage-500);
}

/* 4.10 Fotokachel mit Zitat */
.soulpack-photoquote{
  position:relative;border-radius:var(--card-radius);
  overflow:hidden;box-shadow:var(--shadow-card);
  max-width:460px;margin-inline:auto;
}
.soulpack-photoquote img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.soulpack-photoquote--square img{aspect-ratio:1/1}
.soulpack-photoquote figcaption{
  position:absolute;inset:auto 0 0 0;
  padding:var(--space-8) var(--space-6) var(--space-6);
  background:var(--overlay-photo);
  font-family:var(--font-hand);
  font-size:clamp(1.25rem,2.2vw,1.625rem);
  color:var(--white);line-height:var(--lh-snug);
}

/* 4.11 Hinweiskarte / Nebenspalte */
.soulpack-aside{
  background:var(--surface-sage-soft);
  border:1px solid var(--sage-100);
  border-radius:var(--card-radius);
  padding:var(--space-6);
  display:grid;gap:var(--space-3);
}
.soulpack-aside h4{margin:0}
.soulpack-aside p{margin:0;font-size:var(--text-sm);color:var(--text-body)}

/* 4.12 Verweisliste — Haarlinien, Pfeil rechts auf der Grundlinie */
body.soulpack .soulpack-linkrows{
  display:flex;flex-direction:column;
  margin-top:var(--space-10);
  border-top:1px solid var(--mist-200);
}
body.soulpack .soulpack-linkrows>a{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:var(--space-6);
  padding:var(--space-5) 0;
  border-bottom:1px solid var(--mist-200);
  text-decoration:none;color:var(--text-heading);
  transition:var(--transition-color);
}
body.soulpack .soulpack-linkrows>a:hover{color:var(--terracotta-500)}
body.soulpack .soulpack-linkrow-text{min-width:0}
body.soulpack .soulpack-linkrow-title{
  display:block;font-family:var(--font-display);
  font-size:var(--text-lg);line-height:1.2;
}
body.soulpack .soulpack-linkrow-sub{
  display:block;font-size:var(--text-sm);
  color:var(--text-muted);margin-top:4px;
}
body.soulpack .soulpack-linkrow-arrow{
  font-size:var(--text-lg);color:var(--action-accent);flex-shrink:0;
}

/* Fotoblock mit überlappender Zitatkarte */
body.soulpack .soulpack-photoblock{position:relative;min-width:0;margin:0}
body.soulpack .soulpack-photoblock>img{
  width:100%;aspect-ratio:4/5;object-fit:cover;
  border-radius:var(--radius-lg);display:block;
  box-shadow:var(--shadow-panel);
}
body.soulpack .soulpack-overlap-note{
  position:absolute;
  left:calc(var(--space-6) * -1);
  bottom:calc(var(--space-6) * -1);
  max-width:min(290px,72%);margin:0;
  background:var(--surface-card);
  border-radius:var(--card-radius);
  box-shadow:var(--shadow-panel);
  padding:var(--space-6);
}
body.soulpack .soulpack-overlap-note blockquote{
  margin:0;font-family:var(--font-hand);
  font-size:1.6rem;line-height:1.35;color:var(--text-heading);
}

/* Zweispaltiger Aufbau mit Bildseite */
/* Zweispaltige Zeilen: Salients Spalten in ein Raster überführen.
   Salient setzt Breite und Float inline, daher hier mit Nachdruck. */
body.soulpack .soulpack-gridrow>.row_col_wrap_12{
  display:grid;align-items:center;gap:var(--space-16);
}
body.soulpack .soulpack-gridrow>.row_col_wrap_12>.wpb_column{
  width:auto!important;float:none!important;left:auto!important;
  min-width:0;
}
body.soulpack .soulpack-gridrow--intro>.row_col_wrap_12{grid-template-columns:1.05fr .95fr}
body.soulpack .soulpack-gridrow--page>.row_col_wrap_12{
  grid-template-columns:minmax(0,1fr) 320px;align-items:start;
}
body.soulpack .soulpack-gridrow--band>.row_col_wrap_12{
  grid-template-columns:minmax(0,34ch) auto;justify-content:space-between;gap:var(--space-12);
}
body.soulpack .soulpack-gridrow--band .soulpack-band-action{text-align:right}
body.soulpack .soulpack-articlecol .wpb_wrapper{max-width:var(--measure-body)}
@media (max-width:999px){
  body.soulpack .soulpack-gridrow>.row_col_wrap_12{grid-template-columns:1fr!important;gap:var(--space-12)}
  body.soulpack .soulpack-gridrow--band .soulpack-band-action{text-align:left}
}
/* Der Fotoblock bringt unten Rand mit, damit die Zitatkarte Platz hat */
body.soulpack .soulpack-photoblock{margin-bottom:var(--space-6)}
@media (max-width:999px){
  body.soulpack .soulpack-split{grid-template-columns:1fr;gap:var(--space-12)}
  body.soulpack .soulpack-overlap-note{position:static;max-width:none;margin-top:var(--space-5)}
}

/* Zitat im Fließtext */
body.soulpack .soulpack-motto--inline{
  margin:var(--space-12) 0;
  padding:var(--space-8) var(--space-6);
  background:var(--surface-subtle);
  border-radius:var(--card-radius);
  text-align:center;
}
body.soulpack .soulpack-motto--inline .soulpack-motto-text{font-size:clamp(1.375rem,2.4vw,1.875rem)}
/* Schaltflächen im Fließtext nebeneinander */
body.soulpack .soulpack-articlecol .nectar-button{margin:var(--space-8) var(--space-3) 0 0}
body.soulpack .soulpack-articlecol .soulpack-eyebrow{margin-top:var(--space-10)}
body.soulpack .soulpack-articlecol>.vc_column-inner>.wpb_wrapper>*:first-child .soulpack-eyebrow{margin-top:0}

/* 4.13 Zitatband */
.soulpack-motto{
  max-width:820px;margin-inline:auto;text-align:center;
  display:grid;gap:var(--space-4);
}
.soulpack-motto .soulpack-motto-text{
  font-family:var(--font-hand);
  font-size:clamp(1.5rem,3.4vw,2.375rem);
  line-height:var(--lh-snug);
}
.soulpack-motto .soulpack-motto-author{
  font-family:var(--font-body);font-size:var(--text-sm);
  letter-spacing:var(--ls-label);text-transform:uppercase;
  color:var(--text-meta);
}

/* 4.14 Kontaktzeile */
.soulpack-contactline{
  display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-8);
  font-size:var(--text-md);
}
.soulpack-contactline a{text-decoration:none}

/* ---------------------------------------------------------------------------
   5. Reaktionsfähigkeit
   ------------------------------------------------------------------------ */
@media (max-width:999px){
  body.soulpack .soulpack-hero{padding-block:clamp(64px,12vw,112px)}
  body.soulpack .soulpack-section{padding-block:var(--section-y-sm)}
  body.soulpack .soulpack-section-sm{padding-block:var(--section-y-xs)}
  .soulpack-card img{height:200px}
}
@media (max-width:690px){
  :root{--card-pad:20px;--gutter:16px}
  body.soulpack .soulpack-section{padding-block:var(--section-y-xs)}
  .soulpack-pricelist li{grid-template-columns:1fr;gap:var(--space-1)}
  .soulpack-pricelist .soulpack-price-value{font-size:var(--text-md)}
  .soulpack-pricelist .soulpack-price-note{margin-top:var(--space-2)}
  .soulpack-facts{grid-template-columns:1fr 1fr}
  .soulpack-contactline{flex-direction:column;gap:var(--space-2)}
  /* Tippziele nie unter 44px */
  body.soulpack .nectar-button,
  body.soulpack input[type=submit],
  body.soulpack button{min-height:44px;padding:var(--space-3) var(--space-6)}
  body.soulpack #top nav>ul>li>a{min-height:44px;display:flex;align-items:center}
}
@media (max-width:480px){
  .soulpack-facts{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  body.soulpack *,body.soulpack *::before,body.soulpack *::after{
    transition-duration:.01ms!important;animation-duration:.01ms!important;
  }
  .soulpack-card:hover,body.soulpack .nectar-button:hover{transform:none}
}

/* Druck */
@media print{
  body.soulpack #header-outer,body.soulpack #footer-outer,
  body.soulpack .soulpack-no-print{display:none}
  body.soulpack{background:#fff;color:#000;font-size:12pt}
}
