/* ===================================================================
 * HAUCK LIFTSYSTEME — SITE THEME
 * Petrol-Blau (#104d6e) + Sattgrün-Akzent (#02b900)
 * Quelle: up-treppenlift-mieten/index.html (Blau-Variante, 2026-05-20)
 * Snapshot vor Rollout: login-data/site-snapshots/pre-theme-20260520-171225
 * Entfernen = <link>-Tag in den 50 index.html löschen → vorher
 * =================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,600;0,8..60,700;1,8..60,400&family=Figtree:wght@300;400;500;600;700&display=swap');

/* --- Theme-Tokens --------------------------------------------------- */
:root{
  --theme-primary:#104d6e;
  --theme-primary-dark:#0a3a55;
  --theme-primary-mid:#1c6593;
  --theme-accent:#02b900;
  --theme-accent-dark:#038101;
  --theme-accent-bright:#7fff7d;
  --theme-accent-pale:#e6f9e6;
  --theme-bg:#fafafa;
  --theme-surface:#ffffff;
  --theme-border:#eaeaf0;
  --theme-border-soft:#f0f1f5;
  --theme-text:#353e49;
  --theme-text-mid:#4b5867;
  --theme-text-light:#8a96a3;
  --theme-font-display:'Source Serif 4',Georgia,serif;
  --theme-font-body:'Figtree','Outfit',system-ui,sans-serif;

  /* Override Child-Theme-Variablen */
  --color-navy:var(--theme-primary);
  --color-navy-light:var(--theme-primary-mid);
  --color-blue:var(--theme-accent);
  --color-blue-soft:var(--theme-accent-dark);
  --color-gold:var(--theme-accent);
  --color-gold-light:var(--theme-accent-dark);
  --color-gold-pale:var(--theme-accent-pale);
  --color-cream:var(--theme-bg);
  --color-gray-100:#f0f3f6;
  --color-gray-200:var(--theme-border);
  --color-gray-400:var(--theme-text-light);
  --color-gray-600:var(--theme-text-mid);
  --color-gray-800:var(--theme-text);
  --color-text:var(--theme-text);
  --color-text-light:var(--theme-text-mid);
}

/* --- Typografie ----------------------------------------------------- */
body,p,li,a,td,th,input,textarea,button,.elementor-widget-container{font-family:var(--theme-font-body);}
h1,h2,h3,h4,h5,h6,.elementor-heading-title{font-family:var(--theme-font-display)!important;letter-spacing:-0.2px;}

/* --- Buttons (Treppenliftmiet-Stil, gilt site-weit) ---------------- *
 * .btn-primary  = .btn-hero-primary  (groß, grün, Schatten, hover-lift)
 * .btn-outline  = .btn-hero-outline  (transparent, weißer Border, hover-fade)
 * .form-submit  = .btn-hero-primary
 * Kleine Header-CTAs (.hl-btn-call, .hl-btn-call-ghost) entsprechen
 * .btn-call / .btn-call-ghost und sind weiter unten definiert.        */
a.btn-primary,button.btn-primary,.btn-primary{
  background:var(--theme-accent)!important;
  color:#fff!important;
  padding:0.85rem 1.75rem!important;
  border-radius:7px!important;
  font-size:0.95rem!important;
  font-weight:700!important;
  text-decoration:none!important;
  border:none!important;
  box-shadow:0 4px 16px rgba(2,185,0,0.30)!important;
  transition:all 0.2s ease!important;
  cursor:pointer;
  display:inline-block;
}
a.btn-primary:hover,button.btn-primary:hover,.btn-primary:hover{
  background:var(--theme-accent-dark)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 30px rgba(2,185,0,0.42)!important;
}
a.btn-outline,button.btn-outline,.btn-outline{
  background:transparent!important;
  color:#fff!important;
  padding:0.85rem 1.75rem!important;
  border-radius:7px!important;
  font-size:0.95rem!important;
  font-weight:500!important;
  text-decoration:none!important;
  border:1.5px solid rgba(255,255,255,0.40)!important;
  transition:all 0.2s ease!important;
  display:inline-block;
}
a.btn-outline:hover,button.btn-outline:hover,.btn-outline:hover{
  border-color:#fff!important;
  background:rgba(255,255,255,0.08)!important;
}
.form-submit{
  background:var(--theme-accent)!important;
  color:#fff!important;
  padding:0.85rem 1.75rem!important;
  border-radius:7px!important;
  font-weight:700!important;
  border:none!important;
  box-shadow:0 4px 16px rgba(2,185,0,0.30)!important;
  transition:all 0.2s ease!important;
}
.form-submit:hover{
  background:var(--theme-accent-dark)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 30px rgba(2,185,0,0.42)!important;
}

/* --- Elementor-Kit-7 Overrides ------------------------------------- */
.elementor-kit-7 .elementor-element-catgrid2 > .e-con-inner > .e-child .elementor-widget-heading .elementor-heading-title,
.elementor-kit-7 .elementor-element-ka_grid > .e-con-inner > .e-child .elementor-widget-heading .elementor-heading-title{color:var(--theme-primary)!important;font-family:var(--theme-font-display)!important;}
.elementor-kit-7 .elementor-element-catgrid2 > .e-con-inner > .e-child .elementor-widget-button .elementor-button,
.elementor-kit-7 .elementor-element-ka_grid > .e-con-inner > .e-child .elementor-widget-button .elementor-button{fill:var(--theme-accent-dark)!important;color:var(--theme-accent-dark)!important;font-family:var(--theme-font-body)!important;font-weight:600!important;}
.elementor-kit-7 .elementor-element-catgrid2 > .e-con-inner > .e-child .elementor-widget-button .elementor-button:hover,
.elementor-kit-7 .elementor-element-ka_grid > .e-con-inner > .e-child .elementor-widget-button .elementor-button:hover{color:var(--theme-accent)!important;fill:var(--theme-accent)!important;}
.elementor-kit-7 .elementor-element-cathero1.e-con-full.e-con.e-parent,
.elementor-kit-7 .elementor-element-ka_hero.e-con-boxed.e-con.e-parent,
.elementor-kit-7 .elementor-element-ka_hero.e-con-full.e-con.e-parent,
.elementor-kit-7 .elementor-element-an_hero.e-con-boxed.e-con.e-parent,
.elementor-kit-7 .elementor-element-an_hero.e-con-full.e-con.e-parent{background-image:linear-gradient(135deg, var(--theme-primary) 0%, var(--theme-primary-mid) 100%)!important;background-color:var(--theme-primary)!important;height:185px!important;min-height:185px!important;max-height:185px!important;justify-content:center!important;overflow:hidden!important;--padding-top:14px!important;--padding-bottom:14px!important;padding-top:14px!important;padding-bottom:14px!important;}
.elementor-kit-7 .elementor-element-catsub p,
.elementor-kit-7 .elementor-element-ka_sub p,
.elementor-kit-7 .elementor-element-an_h_desc p{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
@media (max-width:767px){
  .elementor-kit-7 .elementor-element-cathero1.e-con-full.e-con.e-parent,
  .elementor-kit-7 .elementor-element-ka_hero.e-con-boxed.e-con.e-parent,
  .elementor-kit-7 .elementor-element-ka_hero.e-con-full.e-con.e-parent,
  .elementor-kit-7 .elementor-element-an_hero.e-con-boxed.e-con.e-parent,
  .elementor-kit-7 .elementor-element-an_hero.e-con-full.e-con.e-parent{height:auto!important;min-height:185px!important;max-height:none!important;--padding-top:10px!important;--padding-bottom:10px!important;padding-top:10px!important;padding-bottom:10px!important;}
}
/* Hero-Streifen: Schriften vereinheitlichen + Abstände reduzieren ----- */
.elementor-kit-7 .elementor-element-catlbl,
.elementor-kit-7 .elementor-element-ka_lbl,
.elementor-kit-7 .elementor-element-an_h_badge,
.elementor-kit-7 .elementor-element-cath1,
.elementor-kit-7 .elementor-element-ka_h1,
.elementor-kit-7 .elementor-element-an_h_title,
.elementor-kit-7 .elementor-element-catsub,
.elementor-kit-7 .elementor-element-ka_sub,
.elementor-kit-7 .elementor-element-an_h_desc{margin:0!important;padding:0!important;}
.elementor-kit-7 .elementor-element-catlbl,
.elementor-kit-7 .elementor-element-ka_lbl,
.elementor-kit-7 .elementor-element-an_h_badge{margin-bottom:8px!important;}
.elementor-kit-7 .elementor-element-cath1,
.elementor-kit-7 .elementor-element-ka_h1,
.elementor-kit-7 .elementor-element-an_h_title{margin-bottom:10px!important;}
.elementor-kit-7 .elementor-element-cath1 .elementor-heading-title,
.elementor-kit-7 .elementor-element-ka_h1 .elementor-heading-title,
.elementor-kit-7 .elementor-element-an_h_title .elementor-heading-title{font-size:36px!important;line-height:1.15!important;font-family:var(--theme-font-display)!important;}
.elementor-kit-7 .elementor-element-catlbl,
.elementor-kit-7 .elementor-element-catlbl *,
.elementor-kit-7 .elementor-element-ka_lbl,
.elementor-kit-7 .elementor-element-ka_lbl *,
.elementor-kit-7 .elementor-element-an_h_badge,
.elementor-kit-7 .elementor-element-an_h_badge *{font-size:13px!important;line-height:1.3!important;letter-spacing:1.5px!important;text-transform:uppercase!important;font-weight:600!important;}
.elementor-kit-7 .elementor-element-catsub,
.elementor-kit-7 .elementor-element-catsub *,
.elementor-kit-7 .elementor-element-ka_sub,
.elementor-kit-7 .elementor-element-ka_sub *,
.elementor-kit-7 .elementor-element-an_h_desc,
.elementor-kit-7 .elementor-element-an_h_desc *{font-size:15px!important;line-height:1.5!important;font-weight:400!important;color:rgba(255,255,255,0.85)!important;}
.elementor-kit-7 .elementor-element-catsub p,
.elementor-kit-7 .elementor-element-ka_sub p,
.elementor-kit-7 .elementor-element-an_h_desc p{max-width:920px!important;margin:0 auto!important;}
@media (max-width:767px){
  .elementor-kit-7 .elementor-element-cath1 .elementor-heading-title,
  .elementor-kit-7 .elementor-element-ka_h1 .elementor-heading-title,
  .elementor-kit-7 .elementor-element-an_h_title .elementor-heading-title{font-size:26px!important;}
  .elementor-kit-7 .elementor-element-catsub,
  .elementor-kit-7 .elementor-element-catsub *,
  .elementor-kit-7 .elementor-element-ka_sub,
  .elementor-kit-7 .elementor-element-ka_sub *,
  .elementor-kit-7 .elementor-element-an_h_desc,
  .elementor-kit-7 .elementor-element-an_h_desc *{font-size:14px!important;}
}

/* ====================================================================
 * ANFRAGE-FORMULAR-BEREICHE (2 Stellen):
 *   - Startseite: .elementor-element-cta_v2 (+ cta_left/cta_right/cta_form)
 *   - angebot-anfordern: .elementor-element-an_main (+ an_left/an_right)
 * Aufteilung 2-Spalten wie schon vorhanden, Farben aus Mietseite
 * (Petrol-BG, Sattgrün-Akzent, weiß-transparente Form-Card).
 * ==================================================================== */
/* Container-BG: Petrol-Verlauf */
.elementor-kit-7 .elementor-element-cta_v2.e-con-boxed.e-con.e-parent{
  background-image:linear-gradient(180deg, var(--theme-primary-mid) 0%, var(--theme-primary) 100%)!important;
  background-color:var(--theme-primary)!important;
}
.elementor-kit-7 .elementor-element-an_hero.e-con-boxed.e-con.e-parent{
  background-image:linear-gradient(135deg, var(--theme-primary) 0%, var(--theme-primary-mid) 100%)!important;
  background-color:var(--theme-primary)!important;
}
.elementor-kit-7 .elementor-element-an_main.e-con-boxed.e-con.e-parent{
  background-image:linear-gradient(180deg, var(--theme-primary-mid) 0%, var(--theme-primary) 100%)!important;
  background-color:var(--theme-primary)!important;
}
/* Schrift-Lesbarkeit auf Petrol (analog cathero1/catcta) */
.elementor-kit-7 .elementor-element-an_hero,
.elementor-kit-7 .elementor-element-an_hero *,
.elementor-kit-7 .elementor-element-an_main,
.elementor-kit-7 .elementor-element-an_main *,
.elementor-kit-7 .elementor-element-cta_v2,
.elementor-kit-7 .elementor-element-cta_v2 *{
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
  text-rendering:optimizeLegibility!important;
}
.elementor-kit-7 .elementor-element-an_hero .elementor-heading-title,
.elementor-kit-7 .elementor-element-an_main .elementor-heading-title,
.elementor-kit-7 .elementor-element-cta_v2 .elementor-heading-title{
  color:#fff!important;
  letter-spacing:0!important;
  font-weight:700!important;
  text-shadow:0 1px 2px rgba(8,30,45,0.28),0 0 1px rgba(8,30,45,0.18)!important;
}
/* Startseite cta_v2: Form-Card im Mietseite-Stil */
.elementor-kit-7 .elementor-element-cta_v2 .cta-form{
  background:rgba(255,255,255,0.08)!important;
  border:1px solid rgba(255,255,255,0.18)!important;
  border-radius:14px!important;
  padding:2rem!important;
  box-shadow:0 12px 40px rgba(0,0,0,0.18)!important;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.elementor-kit-7 .elementor-element-cta_v2 .cta-form h3{color:#fff!important;font-size:1.1rem!important;font-weight:700!important;margin-bottom:1.25rem!important;}
.elementor-kit-7 .elementor-element-cta_v2 .section-label{color:var(--theme-accent-bright)!important;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:0.78rem;display:inline-block;}
.elementor-kit-7 .elementor-element-cta_v2 p{color:rgba(255,255,255,0.88)!important;}

/* Startseite: alle Hero-/Action-Buttons garantiert weiße Schrift */
.elementor-kit-7 .hero-actions .btn-primary,
.elementor-kit-7 .hero-actions .btn-outline,
.elementor-kit-7 .hero-actions .btn,
body .hero-actions a.btn-primary,
body .hero-actions a.btn-outline{
  color:#fff!important;
}
body .hero-actions a.btn-primary *,
body .hero-actions a.btn-outline *{color:#fff!important;}

/* Hero-Description: bessere Lesbarkeit auf dem Hintergrundbild */
.elementor-kit-7 .hero-description,
body .hero-description{
  color:rgba(255,255,255,0.95)!important;
  font-weight:500!important;
  text-shadow:0 2px 8px rgba(0,0,0,0.55),0 1px 2px rgba(0,0,0,0.4)!important;
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
}
/* Auch H1 / Hero-Title schärfer auf Bild */
.elementor-kit-7 .hero-title,
body .hero-title,
.elementor-kit-7 .elementor-element-h_title .elementor-heading-title{
  text-shadow:0 2px 12px rgba(0,0,0,0.55),0 1px 2px rgba(0,0,0,0.4)!important;
  -webkit-font-smoothing:antialiased!important;
}
/* Hero-Badge ("Seit über 20 Jahren …") – auf dunklem Bild deutlich machen */
.elementor-kit-7 .hero-badge,
body .hero-badge{
  background:rgba(0,0,0,0.35)!important;
  border:1px solid rgba(255,255,255,0.28)!important;
  color:var(--theme-accent-bright)!important;
  font-weight:600!important;
  font-size:0.88rem!important;
  text-shadow:0 1px 4px rgba(0,0,0,0.5)!important;
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
}
.elementor-kit-7 .hero-badge::before,
body .hero-badge::before{background:var(--theme-accent-bright)!important;box-shadow:0 0 8px var(--theme-accent-bright);}

/* Hero-Card (rechts im Hero) – Inhalte deutlich machen */
.elementor-kit-7 .hero-card,
body .hero-card{
  background:rgba(0,0,0,0.30)!important;
  border:1px solid rgba(255,255,255,0.22)!important;
  box-shadow:0 12px 40px rgba(0,0,0,0.35)!important;
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
}
.elementor-kit-7 .hero-card h3,
body .hero-card h3{color:#fff!important;text-shadow:0 1px 4px rgba(0,0,0,0.45)!important;}
.elementor-kit-7 .hero-card p,
body .hero-card p{color:rgba(255,255,255,0.92)!important;text-shadow:0 1px 3px rgba(0,0,0,0.35)!important;}
.elementor-kit-7 .hero-card-icon,
body .hero-card-icon{color:var(--theme-accent-bright)!important;text-shadow:0 0 12px rgba(127,255,125,0.5);}
/* Stats: Zahlen hell-grün, Labels deutlich weiß */
.elementor-kit-7 .hero-stat-value,
body .hero-stat-value{color:var(--theme-accent-bright)!important;text-shadow:0 1px 4px rgba(0,0,0,0.45)!important;}
.elementor-kit-7 .hero-stat-label,
body .hero-stat-label{color:rgba(255,255,255,0.88)!important;font-weight:500!important;text-shadow:0 1px 3px rgba(0,0,0,0.35)!important;}
/* About-Bereich: big-number ebenfalls hell-grün */
.elementor-kit-7 .about-image-inner .big-number,
body .about-image-inner .big-number{color:var(--theme-accent-bright)!important;}
.elementor-kit-7 .elementor-element-an_main .section-label{
  color:var(--theme-accent-bright)!important;
  font-size:0.78rem;text-transform:uppercase;letter-spacing:1.5px;font-weight:700;display:inline-block;
}
.elementor-kit-7 .elementor-element-an_main p,
.elementor-kit-7 .elementor-element-an_main .section-subtitle{color:rgba(255,255,255,0.88)!important;}
.elementor-kit-7 .elementor-element-an_main h4{color:#fff!important;}
/* Kontakt-Cards (.about-feature): Glas-Look statt weißer Karten */
.elementor-kit-7 .elementor-element-an_main .about-feature{
  background:rgba(255,255,255,0.07)!important;
  border:1px solid rgba(255,255,255,0.18)!important;
  border-radius:12px!important;
  padding:18px 20px!important;
  display:flex!important;align-items:center!important;gap:16px!important;
  transition:background 0.2s, border-color 0.2s;
}
.elementor-kit-7 .elementor-element-an_main .about-feature:hover{
  background:rgba(255,255,255,0.12)!important;
  border-color:rgba(255,255,255,0.3)!important;
}
.elementor-kit-7 .elementor-element-an_main .about-feature-icon{
  background:var(--theme-accent)!important;
  color:#fff!important;
  width:44px;height:44px;flex-shrink:0;
  border-radius:10px;display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(2,185,0,0.25);
}
.elementor-kit-7 .elementor-element-an_main .about-feature-icon svg{stroke:#fff!important;width:22px;height:22px;}
.elementor-kit-7 .elementor-element-an_main .about-feature h4{margin:0 0 4px 0!important;font-size:1rem!important;color:#fff!important;}
.elementor-kit-7 .elementor-element-an_main .about-feature p{margin:0!important;color:rgba(255,255,255,0.85)!important;}
.elementor-kit-7 .elementor-element-an_main .about-feature a{color:var(--theme-accent-bright)!important;font-weight:600!important;text-decoration:none!important;}
.elementor-kit-7 .elementor-element-an_main .about-feature a:hover{color:#fff!important;}
/* Trust-Badges (baumustergeprüft, CE) */
.elementor-kit-7 .elementor-element-an_main .elementor-element-an_badges > .elementor-widget-container > div{
  border-top-color:rgba(255,255,255,0.18)!important;
}
.elementor-kit-7 .elementor-element-an_main .elementor-element-an_badges div[style*="background:#eef5ef"]{
  background:rgba(255,255,255,0.08)!important;
  border:1px solid rgba(255,255,255,0.22)!important;
  color:#fff!important;
}
.elementor-kit-7 .elementor-element-an_main .elementor-element-an_badges svg[stroke="#297735"]{stroke:var(--theme-accent-bright)!important;}
/* Form-Card (Mietseite-Stil) */
.elementor-kit-7 .elementor-element-an_main .cta-form{
  background:rgba(255,255,255,0.08)!important;
  border:1px solid rgba(255,255,255,0.18)!important;
  border-radius:14px!important;
  padding:2rem!important;
  box-shadow:0 12px 40px rgba(0,0,0,0.18)!important;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.elementor-kit-7 .elementor-element-an_main .cta-form h3{color:#fff!important;font-size:1.1rem!important;font-weight:700!important;margin-bottom:1.25rem!important;}
/* an_trust (weiße Vertrauens-Leiste zwischen Hero und Main) — Text mit Petrol */
.elementor-kit-7 .elementor-element-an_trust .trust-item{color:var(--theme-text-mid);font-weight:500;}
.elementor-kit-7 .elementor-element-an_trust .trust-item svg{stroke:var(--theme-accent-dark)!important;}
.elementor-kit-7 .elementor-element-catcta.e-con-full.e-con.e-parent,
.elementor-kit-7 .elementor-element-ka_cta.e-con-full.e-con.e-parent,
.elementor-kit-7 .elementor-element-ka_cta.e-con-boxed.e-con.e-parent,
.elementor-kit-7 .elementor-element-an_cta.e-con-boxed.e-con.e-parent,
.elementor-kit-7 .elementor-element-an_cta.e-con-full.e-con.e-parent{background-image:linear-gradient(180deg, var(--theme-primary-mid) 0%, var(--theme-primary) 100%)!important;background-color:var(--theme-primary)!important;}
/* CTA-Banner-Button: solid-grün statt weiß-mit-grün-Text (überschreibt inline style="background:#fff; color:#297735;") */
.elementor-kit-7 .elementor-element-catcta .btn-primary,
.elementor-kit-7 .elementor-element-ka_cta .btn-primary,
.elementor-kit-7 .elementor-element-an_cta .btn-primary,
.elementor-kit-7 .elementor-element-an_cta .btn-amber{background:var(--theme-accent)!important;color:#fff!important;border:none!important;box-shadow:0 4px 14px rgba(2,185,0,0.32)!important;}
.elementor-kit-7 .elementor-element-catcta .btn-primary:hover,
.elementor-kit-7 .elementor-element-ka_cta .btn-primary:hover,
.elementor-kit-7 .elementor-element-an_cta .btn-primary:hover,
.elementor-kit-7 .elementor-element-an_cta .btn-amber:hover{background:var(--theme-accent-dark)!important;box-shadow:0 8px 30px rgba(2,185,0,0.42)!important;}

/* --- Schrift auf Petrol-Bändern schärfer (cathero1 + catcta) -------- *
 * Weiß auf dunklem BG verliert Subpixel-AA; Grayscale-AA + leichter
 * Schatten + Letter-spacing 0 macht Source Serif 4 deutlich klarer.   */
.elementor-kit-7 .elementor-element-cathero1,
.elementor-kit-7 .elementor-element-cathero1 *,
.elementor-kit-7 .elementor-element-catcta,
.elementor-kit-7 .elementor-element-catcta *,
.elementor-kit-7 .elementor-element-an_cta,
.elementor-kit-7 .elementor-element-an_cta *{
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
  text-rendering:optimizeLegibility!important;
}
.elementor-kit-7 .elementor-element-cathero1 .elementor-heading-title,
.elementor-kit-7 .elementor-element-catcta .elementor-heading-title,
.elementor-kit-7 .elementor-element-an_cta .elementor-heading-title{
  letter-spacing:0!important;
  font-weight:700!important;
  color:#ffffff!important;
  text-shadow:0 1px 2px rgba(8,30,45,0.28),0 0 1px rgba(8,30,45,0.18)!important;
}
.elementor-kit-7 .elementor-element-cathero1 p,
.elementor-kit-7 .elementor-element-catcta p,
.elementor-kit-7 .elementor-element-an_cta p{
  color:#ffffff!important;
  text-shadow:0 1px 1px rgba(8,30,45,0.22)!important;
}
.elementor-element-catgrid2,.elementor-element-ka_grid{border-color:var(--theme-border)!important;}

/* --- hblx-Komponenten (Detail-Seiten) ------------------------------ */
.hblx-tb{border-color:var(--theme-primary)!important;color:var(--theme-primary)!important;font-family:var(--theme-font-body)!important;}
.hblx-tb:hover{background:#eef3f7!important;}
html:has(#lt-hbl-1:checked) .hblx-tb-1,
html:has(#lt-hbl-2:checked) .hblx-tb-2,
html:has(.hblx-rb:nth-of-type(1):checked) .hblx-tb-1,
html:has(.hblx-rb:nth-of-type(2):checked) .hblx-tb-2{background:var(--theme-primary)!important;color:#fff!important;}

/* --- Inline-style Overrides (substring-Matcher) -------------------- *
 * Inline style="..." hat höhere Spezifität als Klassen-Selektoren.
 * Diese Attribut-Substring-Selektoren matchen exakte Hex-Muster und
 * überschreiben sie mit !important. Quelle der Hex-Codes: Bestands-
 * inhalte der 50 index.html (Stand 2026-05-20).
 */

/* Primärgrün #297735 → Akzent-Grün (Buttons/Badges/Hinweise) */
[style*="background:#297735"]{background:var(--theme-accent)!important;}
[style*="background-color:#297735"]{background-color:var(--theme-accent)!important;}
[style*="color:#297735"]{color:var(--theme-accent-dark)!important;}
[style*="border:1.5px solid #297735"]{border-color:var(--theme-accent)!important;}
[style*="border:1px solid #297735"]{border-color:var(--theme-accent)!important;}
[style*="border:2px solid #297735"]{border-color:var(--theme-accent)!important;}
[style*="border-color:#297735"]{border-color:var(--theme-accent)!important;}
[stroke="#297735"]{stroke:var(--theme-accent)!important;}
[fill="#297735"]{fill:var(--theme-accent)!important;}

/* Sek. Grün #3a8a42 / #1a5c1e / #164e19 → mittleres Petrol */
[style*="background:#3a8a42"]{background:var(--theme-primary-mid)!important;}
[style*="color:#3a8a42"]{color:var(--theme-primary-mid)!important;}
[style*="background:#1a5c1e"]{background:var(--theme-primary-dark)!important;}
[style*="background:#164e19"]{background:var(--theme-primary-dark)!important;}

/* Lime #93C020 / Heller-Lime #aad350 → Akzentgrün */
[style*="background:#93C020"]{background:var(--theme-accent)!important;}
[style*="color:#93C020"]{color:var(--theme-accent)!important;}
[style*="color:#aad350"]{color:var(--theme-accent)!important;}
[stroke="#93C020"]{stroke:var(--theme-accent)!important;}
[stroke="#aad350"]{stroke:var(--theme-accent)!important;}

/* Pale-Tones */
[style*="background:#e6fce6"]{background:var(--theme-accent-pale)!important;}
[style*="background:#eef5ef"]{background:var(--theme-accent-pale)!important;}

/* Cream / Light Backgrounds → kühles Off-White */
[style*="background:#f8fbf8"]{background:var(--theme-bg)!important;}
[style*="background:#f2f6f3"]{background:#f1f4f7!important;}
[style*="background:#f7faf7"]{background:#f5f7f9!important;}
[style*="background:#f4f7f4"]{background:#f4f6f9!important;}
[style*="background:#f8faf9"]{background:#f6f8fa!important;}
[style*="background:#eef3ee"]{background:#eef0f3!important;}

/* Borders */
[style*="border:1px solid #e2eae4"]{border-color:var(--theme-border)!important;}
[style*="border:2px solid #e2eae4"]{border-color:var(--theme-border)!important;}
[style*="border-color:#e2eae4"]{border-color:var(--theme-border)!important;}
[style*="border:1px solid #edf3ee"]{border-color:var(--theme-border-soft)!important;}
[style*="border-bottom:1px solid #edf3ee"]{border-bottom-color:var(--theme-border-soft)!important;}
[style*="border:1px solid #d9e6dc"]{border-color:#d6dde6!important;}
[style*="border:1px solid #d6e0d9"]{border-color:#d6dde6!important;}
[style*="border:1px solid #e0e6e0"]{border-color:var(--theme-border)!important;}
[style*="border:2px solid #ccd9cf"]{border-color:#cbd4de!important;}

/* Grau-Töne (kühl statt grün-stichig) */
[style*="color:#94a698"]{color:var(--theme-text-light)!important;}
[style*="color:#5e6e62"]{color:var(--theme-text-mid)!important;}
[style*="color:#2a3a2e"]{color:var(--theme-text)!important;}
[style*="color:#1a2e1f"]{color:#1a232e!important;}
[style*="color:#b0c4b5"]{color:#b0bbcb!important;}

/* Linear-Gradients (häufige Muster) → Petrol → Akzent */
[style*="linear-gradient(135deg,#297735,#93C020,#297735)"]{background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent),var(--theme-primary))!important;}
[style*="linear-gradient(135deg,#297735,#93C020)"]{background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent))!important;}
[style*="linear-gradient(90deg,#297735,#93C020)"]{background:linear-gradient(90deg,var(--theme-primary),var(--theme-accent))!important;}

/* --- Toast-Widget (auf vielen Detail-Seiten) ---------------------- */
.hls-toast-glow{background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent),var(--theme-primary))!important;background-size:300% 300%!important;}
.hls-toast-icon,
.hls-toast-btn{background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent))!important;box-shadow:0 4px 12px rgba(16,77,110,0.25)!important;}
.hls-toast-progress-bar{background:linear-gradient(90deg,var(--theme-primary),var(--theme-accent))!important;}
.hls-toast-close:hover{color:var(--theme-primary)!important;border-color:var(--theme-primary)!important;background:#f1f4f7!important;}

/* --- Diverse Akzentkomponenten ----------------------------------- */
[style*="background:#1a7a6e"]{background:var(--theme-primary-mid)!important;}

/* --- Hero-Hintergrund (linear-gradient) ----------------------------
 * Hero-Sektionen auf einigen Seiten nutzen mehrstufige Verläufe mit
 * #297735 → #3a8a42 → #4ea759. Substring-Matcher als Best-Effort.    */
[style*="linear-gradient(135deg,#297735"]{background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-mid) 55%,#2e7a9c 100%)!important;}

/* --- Hauck-spezifische Klassen (Index/Kategorien) ----------------- */
.product-card-icon.green,
.product-card-icon.gold{background:linear-gradient(135deg,var(--theme-accent-pale),#cdeacd)!important;color:var(--theme-accent-dark)!important;}
.product-card-icon.teal{background:linear-gradient(135deg,#e0eef2,#c2d8e6)!important;color:var(--theme-primary)!important;}

/* --- Body-Hintergrund (Child-Theme `--color-cream` zieht über var) -- */
body{background:var(--theme-bg);}

/* ====================================================================
 * GLOBALER HEADER + FOOTER (Miet-Seiten-Design, auf allen Seiten gleich)
 * Markup: ../snippets/header.html / footer.html (auf 49 Seiten kopiert)
 * Klassen leiten sich von der Miet-Seite ab, theme-tokenisiert.
 * ==================================================================== */

.site-shell{background:var(--theme-bg);}

/* Hide Elementor-eigenen Header/Footer falls noch da (Defensive). */
header[data-elementor-type="header"],
footer[data-elementor-type="footer"]{display:none!important;}

/* --- Header-Stack -------------------------------------------------- */
.hl-header-stack{position:sticky;top:0;z-index:100;font-family:var(--theme-font-body);}
.hl-topbar{background:var(--theme-primary)!important;color:#fff;font-size:0.9rem;font-weight:500;padding:0.6rem 5%;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;}
.hl-topbar,.hl-topbar *,.hl-footer,.hl-footer *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;text-rendering:optimizeLegibility!important;}
.hl-topbar a{color:#fff!important;text-decoration:none;font-weight:500;}
.hl-topbar a:hover{color:var(--theme-accent)!important;}
.hl-topbar-items{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;}
.hl-topbar-item{display:flex;align-items:center;gap:0.4rem;color:#fff;}
.hl-nav{background:var(--theme-surface)!important;border-bottom:2px solid var(--theme-accent)!important;box-shadow:0 2px 12px rgba(0,0,0,0.07);}
.hl-nav-inner{max-width:1400px;margin:0 auto;padding:0.67rem 24px;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:nowrap;}
.hl-logo{display:flex;align-items:center;gap:0.75rem;text-decoration:none;flex-shrink:0;}
.hl-logo img{height:56px;width:auto;display:block;}
.hl-nav-links{display:flex;gap:0.15rem;align-items:center;flex-wrap:nowrap;white-space:nowrap;}
.hl-nav-links a{padding:0.5rem 0.7rem;border-radius:6px;color:var(--theme-text)!important;text-decoration:none;font-size:0.95rem;font-weight:600;transition:all 0.2s;font-family:var(--theme-font-body);letter-spacing:0;white-space:nowrap;}
.hl-nav-links a:hover{background:var(--theme-bg);color:var(--theme-primary)!important;}
.hl-nav-links a.active{color:var(--theme-primary)!important;font-weight:700;}
.hl-btn-call,.hl-nav-links a.hl-btn-call{background:var(--theme-accent)!important;color:#fff!important;padding:0.55rem 1.25rem!important;border-radius:6px;font-weight:600!important;transition:background 0.2s;border:none;}
.hl-btn-call:hover,.hl-nav-links a.hl-btn-call:hover{background:var(--theme-accent-dark)!important;color:#fff!important;}
.hl-btn-call-ghost{background:transparent!important;color:var(--theme-accent-dark)!important;padding:0.55rem 1rem!important;border-radius:6px;font-weight:600!important;border:1.5px solid var(--theme-accent)!important;transition:all 0.2s;}
.hl-btn-call-ghost:hover{background:var(--theme-accent)!important;color:#fff!important;}

/* --- Footer ------------------------------------------------------- */
.hl-footer{background:var(--theme-primary)!important;color:rgba(255,255,255,0.78);padding:3rem 5% 1.5rem;border-top:2px solid var(--theme-accent);font-family:var(--theme-font-body);}
.hl-footer *{font-family:inherit;}
.hl-footer-inner{max-width:1200px;margin:0 auto;}
.hl-footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:2rem;}
.hl-footer-logo{margin-bottom:0.75rem;}
.hl-footer-logo img{height:44px;width:auto;display:block;background:#fff;padding:6px 12px;border-radius:8px;}
.hl-footer-desc{font-size:0.875rem;line-height:1.7;margin-bottom:1rem;color:rgba(255,255,255,0.92);}
.hl-footer-contact a{display:block;color:#fff!important;text-decoration:none;font-size:0.875rem;margin-bottom:0.35rem;transition:color 0.2s;}
.hl-footer-contact a:hover{color:var(--theme-accent)!important;}
.hl-footer-col h4{font-size:0.85rem;text-transform:uppercase;letter-spacing:1.2px;color:var(--theme-accent)!important;margin-bottom:1rem;font-weight:700;font-family:var(--theme-font-body)!important;text-shadow:0 1px 1px rgba(0,0,0,0.18);}
.hl-footer-col a{display:block;color:rgba(255,255,255,0.92)!important;text-decoration:none;font-size:0.9rem;margin-bottom:0.45rem;transition:color 0.2s;}
.hl-footer-col a:hover{color:var(--theme-accent)!important;}
.hl-footer-bottom{border-top:1px solid rgba(255,255,255,0.18);padding-top:1.25rem;display:flex;justify-content:space-between;align-items:center;font-size:0.8rem;flex-wrap:wrap;gap:0.5rem;color:rgba(255,255,255,0.85);}
.hl-footer-cert{display:flex;gap:0.75rem;align-items:center;}
.hl-cert-badge{background:rgba(255,255,255,0.1);border-radius:6px;padding:0.3rem 0.6rem;font-size:0.7rem;font-weight:600;color:rgba(255,255,255,0.8);}

/* --- Burger / Mobile-Drawer -------------------------------------- *
 * CSS-only via versteckter Checkbox + :has() (Browser-Support ≥2023).
 * Markup-Vorgaben:
 *   <input id="hl-nav-toggle" type="checkbox" class="hl-nav-toggle-cb">
 *   ... <label for="hl-nav-toggle" class="hl-nav-burger">3×span</label>
 *   ... <label for="hl-nav-toggle" class="hl-nav-backdrop">
 */
.hl-nav-toggle-cb{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
.hl-nav-burger{display:none;}
.hl-nav-backdrop{display:none;}

@media(max-width:1024px){
  .hl-footer-top{grid-template-columns:1fr 1fr;}
}
@media(max-width:960px){
  .hl-nav-burger{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;cursor:pointer;background:transparent;border-radius:6px;padding:10px;flex-shrink:0;transition:background 0.2s;}
  .hl-nav-burger:hover{background:var(--theme-bg);}
  .hl-nav-burger span{display:block;width:22px;height:2.5px;background:var(--theme-text);border-radius:2px;transition:transform 0.25s ease, opacity 0.25s ease;}
  .hl-nav-links{
    position:fixed;
    top:0;right:0;
    width:min(82vw,360px);
    height:100vh;height:100dvh;
    background:var(--theme-surface);
    box-shadow:-14px 0 36px rgba(8,30,45,0.20);
    padding:5.5rem 1.5rem 2rem;
    flex-direction:column;
    align-items:stretch;
    gap:0.35rem;
    transform:translateX(105%);
    transition:transform 0.32s cubic-bezier(.4,.0,.2,1);
    z-index:200;
    white-space:normal;
    overflow-y:auto;
  }
  .hl-nav-links a{font-size:1.05rem;padding:0.85rem 1rem;border-radius:8px;}
  .hl-nav-links a.hl-btn-call{margin-top:1rem;text-align:center;}
  .hl-nav-backdrop{display:block;position:fixed;inset:0;background:rgba(8,30,45,0.45);opacity:0;pointer-events:none;transition:opacity 0.3s;z-index:150;cursor:pointer;}
  .hl-header-stack:has(#hl-nav-toggle:checked) .hl-nav-links{transform:translateX(0);}
  .hl-header-stack:has(#hl-nav-toggle:checked) .hl-nav-backdrop{opacity:1;pointer-events:auto;}
  .hl-header-stack:has(#hl-nav-toggle:checked) .hl-nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .hl-header-stack:has(#hl-nav-toggle:checked) .hl-nav-burger span:nth-child(2){opacity:0;}
  .hl-header-stack:has(#hl-nav-toggle:checked) .hl-nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
}
@media(max-width:768px){
  .hl-footer-top{grid-template-columns:1fr;}
  .hl-topbar-items{gap:0.75rem;}
  .hl-topbar{font-size:0.82rem;}
  .hl-logo img{height:36px;}
}
@media(max-width:600px){
  /* Topbar bei sehr schmal: nur Telefon sichtbar, USPs raus */
  .hl-topbar > .hl-topbar-items:first-child{display:none;}
  .hl-topbar{justify-content:flex-end;}
}

/* --- Ende Site-Theme --- */
