/* ═══════════════════════════════════════════════════════════════════════════
   heimseiten.de — THEME-NEUBAU: Utilities & Button-System
   Lädt als LETZTE theme-Datei (nach components) — Reihenfolge load-bearing.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Zentrier-Utilities (CMS-Klassen; jede zentriert etwas ANDERES — Map §3b) ── */
body .hs-center-all > *, body .hs-center-all img, body .hs-center-all h1, body .hs-center-all h2, body .hs-center-all h3,
body .hs-center-all .mejs-container, body .hs-center-all iframe, body .hs-center-all li,
body .mod_article .hs-center-all > *, body .mod_article .hs-center-all img, body .mod_article .hs-center-all h1,
body .mod_article .hs-center-all h2, body .mod_article .hs-center-all h3, body .mod_article .hs-center-all .mejs-container,
body .mod_article .hs-center-all iframe, body .mod_article .hs-center-all li {
  margin-left: auto;
  margin-right: auto;
  text-align: center !important; /* Bestand: übersteuert Element-Ausrichtungen */
}
.hs-center { text-align: center; }
.hs-center img, .hs-center figure { margin-inline: auto; }
.hs-ul-center { text-align: center; }
.hs-ul-center ul { display: inline-block; }
.hs-ul-center h2 { text-align: center !important; }
.hs-img-center figure { text-align: center; }
.hs-img-center figure img { display: inline-block; }

/* ── Grün-/Deko-Utilities ── */
.hs-icon-green img { filter: invert(60%) sepia(45%) saturate(3198%) hue-rotate(42deg) brightness(99%) contrast(83%); }
.hs-icon-green svg path { fill: var(--c-brand); }
.hs-green-box strong { border: 1px solid var(--c-border); padding: 20px; background: rgba(124, 171, 22, 0.11); }
@media (max-width: 1023px) {
  .hs-green-box strong { display: block; }
}
.hs-round img { border-radius: 100%; }

/* ── ALTES Button-System (animierter Skew-Zug; Basiswerte — das MODERNE System
      unten übersteuert Farben/Radius via !important, Bestands-Zusammenspiel!) ── */
button.submit, .widget-pagebreak button, #container .back a,
.mod_iso_productreader .submit_container, .mod_iso_productlist .submit_container {
  z-index: 9;
  display: inline-block;
  line-height: 1.4;
  padding: 6px 10px;
  background: transparent;
  color: var(--c-brand);
  border: 1px solid var(--c-brand);
  position: relative;
  overflow: hidden;
  transition: 0.75s;
  border-radius: 1px;
  outline: none;
}
button.submit:hover, .widget-pagebreak button:hover, #container .back a:hover,
.mod_iso_productreader .submit_container:hover, .mod_iso_productlist .submit_container:hover { color: #fff; cursor: pointer; }
button.submit:hover::after, .widget-pagebreak button:hover::after, #container .back a:hover::after,
.mod_iso_productreader .submit_container:hover::after, .mod_iso_productlist .submit_container:hover::after { left: -10%; width: 120%; }
button.submit::after, .widget-pagebreak button::after, #container .back a::after,
.mod_iso_productreader .submit_container::after, .mod_iso_productlist .submit_container::after {
  position: absolute;
  transition: 0.75s;
  content: "";
  width: 0;
  bottom: 0;
  background: var(--c-brand);
  height: 120%;
  left: -10%;
  transform: skewX(15deg);
  z-index: -1;
}
button.submit::before, .widget-pagebreak button::before, #container .back a::before,
.mod_iso_productreader .submit_container::before, .mod_iso_productlist .submit_container::before { display: none; }
button.submit.submit, .widget-pagebreak button.submit, #container .back a.submit,
.mod_iso_productreader .submit_container.submit, .mod_iso_productlist .submit_container.submit { width: 100%; }

/* ── link_as_button (Text-CE-Klasse; :not-Ketten = Bestand) ── */
html body .content-text.hs-btn, html body .content-text.hs-btn-italic {
  --button_color: var(--c-brand);
  --button_font_size: var(--font_size);
  --button_margin: 10px;
}
html body .content-text.hs-btn:not(.hs-btn-italic) a, html body .content-text.hs-btn:not(.hs-btn) em a, html body .content-text.hs-btn:not(.hs-btn) a em, html body .content-text.hs-btn:not(.hs-btn):not(.hs-btn-italic) em, html body .content-text.hs-btn-italic:not(.hs-btn-italic) a, html body .content-text.hs-btn-italic:not(.hs-btn) em a, html body .content-text.hs-btn-italic:not(.hs-btn) a em, html body .content-text.hs-btn-italic:not(.hs-btn):not(.hs-btn-italic) em {
  display: inline-block;
  background: var(--button_color);
  font-size: var(--button_font_size);
  font-style: normal;
  border: 1px solid #fff;
  color: #fff;
  text-decoration: none;
  padding: 10px 20px;
  line-height: 1.4;
  transition: 0.25s ease-in-out;
}
html body .content-text.hs-btn:not(.hs-btn-italic) a::before, html body .content-text.hs-btn:not(.hs-btn) em a::before, html body .content-text.hs-btn:not(.hs-btn) a em::before, html body .content-text.hs-btn:not(.hs-btn):not(.hs-btn-italic) em::before, html body .content-text.hs-btn-italic:not(.hs-btn-italic) a::before, html body .content-text.hs-btn-italic:not(.hs-btn) em a::before, html body .content-text.hs-btn-italic:not(.hs-btn) a em::before, html body .content-text.hs-btn-italic:not(.hs-btn):not(.hs-btn-italic) em::before { display: none; }
html body .content-text.hs-btn.hs-btn-margin-right a, html body .content-text.hs-btn-italic.hs-btn-margin-right a { margin-right: var(--button_margin); }
html body .content-text.hs-btn.hs-btn-margin-bottom a, html body .content-text.hs-btn-italic.hs-btn-margin-bottom a { margin-bottom: var(--button_margin); }
html body .content-text.hs-btn.hs-btn-center a, html body .content-text.hs-btn-italic.hs-btn-center a { text-align: center; }
.hs-btn a { border-radius: 2em; }
html body .content-text.hs-btn a:hover { background: var(--c-brand-dark); color: #fff; }

/* ── Case-Study-Button ── */
.mod_article .rte .hs-cs-btn, .hs-cs-btn {
  display: inline-block;
  margin-top: 10px;
  padding: 7px 18px;
  background: var(--c-brand);
  border-radius: 2em;
  font-weight: 500;
  font-size: 0.9em;
  box-shadow: rgba(124, 171, 22, 0.25) 0 2px 6px;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
  color: #fff !important;
  text-decoration: none !important;
}
.mod_article .rte .hs-cs-btn:hover, .mod_article .rte .hs-cs-btn:focus-visible,
.hs-cs-btn:hover, .hs-cs-btn:focus-visible {
  background: var(--c-brand-dark);
  transform: translateY(-2px);
  box-shadow: rgba(124, 171, 22, 0.4) 0 7px 18px;
  color: #fff !important;
  text-decoration: none !important;
}

/* ── MODERNES Button-System (2026-07-13): vereinheitlicht ALLE Buttons via :where
      (Spezifität 0) + !important auf den Marken-Props — Bestand 1:1 ── */
:where(.hs-cs-btn, .content-text.hs-btn:not(.hs-btn-italic) a, .hs-btn a, button.submit, input[type="submit"], form button[type="submit"], .funnel-absenden button) {
  position: relative;
  display: inline-block;
  margin-top: 10px;
  padding: 10px 26px;
  font-weight: 500;
  font-size: 0.95em;
  line-height: 1.25;
  cursor: pointer;
  transition: background 0.25s, transform 0.25s;
  background: var(--c-brand) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 2em !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
:where(.hs-cs-btn, .content-text.hs-btn a, .hs-btn a, button.submit, input[type="submit"], form button[type="submit"], .funnel-absenden button):hover,
:where(.hs-cs-btn, .content-text.hs-btn a, .hs-btn a, button.submit, input[type="submit"], form button[type="submit"], .funnel-absenden button):focus-visible {
  transform: translateY(-1px);
  background: #6a9412 !important;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
:where(.hs-cs-btn, .content-text.hs-btn a, .hs-btn a, button.submit, input[type="submit"], form button[type="submit"], .funnel-absenden button)::before { display: none !important; content: none !important; }

/* Dark: grüne Button-FLÄCHEN abdunkeln (Var-Redefine, Text bleibt weiß) */
html[data-theme="dark"] :is(.hs-cs-btn, button.submit, input[type="submit"], form button[type="submit"], .content-text.hs-btn a, .hs-btn a, .funnel-absenden button, .hs-ref-filter-btn.is-active, body.page--funnel button[type="submit"], .mod_article.funnel-inline button[type="submit"]) {
  --c-brand: #557d00;
  --c-brand-dark: #557d00;
}
