/* kategorie.css — Abschnitts-/Elementor-Element-Regeln (Hero/Grid/CTA/Karten/Detail). Aus site-theme.css aufgeteilt 2026-06-03. Wird von Kategorie- UND Infoseiten genutzt. */
@import url('base.css');
/* --- 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;}

/* === Über-uns (Seite page-id-786): Überschriften an Kategorie-Optik =======
 * Die au_*-Abschnitte haben keine eigene Farbregel -> Titel auf Petrol wie
 * die Kategorie-Inhaltstitel, alle Abschnitte hell. (Scope: nur Über-uns.) */
.elementor-page-786 .page-content .elementor-heading-title,
.elementor-page-786 .page-content h1,
.elementor-page-786 .page-content h2,
.elementor-page-786 .page-content h3{color:var(--theme-primary)!important;}

/* === Angebot-anfordern: Hero-Bereich vergrößern ===================
 * Der an_hero teilt die 185px-Regel mit den Kategorie-Heros,
 * braucht aber mehr Platz (Badge + H1 + Beschreibungstext).
 * Hier werden Höhe, Overflow und Text-Clamp gezielt überschrieben. */
.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:260px!important;
  max-height:none!important;
  overflow:visible!important;
  --padding-top:30px!important;
  --padding-bottom:30px!important;
  padding-top:30px!important;
  padding-bottom:30px!important;
}
.elementor-kit-7 .elementor-element-an_h_desc p{
  display:block!important;
  -webkit-line-clamp:unset!important;
  overflow:visible!important;
}
@media (max-width:767px){
  .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{
    min-height:0!important;
    padding-top:28px!important;
    padding-bottom:28px!important;
  }
}
