/* Start custom CSS *//* Kress Jahresend-Aktion: Site-Header nur ab 768 px, mobil Logo-Overlay im Hero */
@media (max-width: 767px) {
  .elementor-location-header { display: none; }
  /* Platz fuer Sticky-CTA am Seitenende */
  body { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
}
html { scroll-padding-top: 16px; }
@media (min-width: 768px) {
  html { scroll-padding-top: 120px; }
}

/* Icons: Elementor setzt fill=currentColor auf die SVGs. Lucide-Icons sind reine Linien, daher Fuellung aus, Strich rot. */
.elementor-9368 .e-svg-base svg, .elementor-9368 .e-svg-base svg * { fill: none; }
.elementor-9368 .e-svg-base svg { stroke: #F31720; }

/* Hero-H1: eine H1, drei Groessen (Fallback, Hauptregeln sitzen im Style der H1) */
.elementor-element-2a4235e h1 > span:first-child { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; }

/* Marvin-Box: Telefon und Formular als Textlinks, 44 px Touch-Flaeche. Spezifitaet hoch wegen .elementor .e-paragraph-link-base { all: unset } */
.elementor .elementor-element-6d0c2319 a.e-paragraph-link-base { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; color: #6B6B6B; text-decoration: underline; text-underline-offset: 3px; transition: color 200ms cubic-bezier(.16,1,.3,1); }
.elementor .elementor-element-6d0c2319 a.e-paragraph-link-base:hover { color: #F31720; }

/* Winterservice-Link */
.elementor .elementor-element-5555c454 a.e-paragraph-link-base { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; color: #F31720; font-weight: 700; transition: color 200ms cubic-bezier(.16,1,.3,1); }
.elementor .elementor-element-5555c454 a.e-paragraph-link-base:hover { color: #D00F18; }

/* Fokus fuer Tastatur sichtbar */
.elementor-9368 a:focus-visible, .elementor-9368 summary:focus-visible { outline: 2px solid #F31720; outline-offset: 3px; }

/* FAQ: Plus dreht beim Oeffnen zum X */
.elementor-element-8219e30 .e-accordion-item-icon-base { transition: transform 200ms cubic-bezier(.16,1,.3,1); }
.elementor-element-8219e30 details[open] .e-accordion-item-icon-base { transform: rotate(45deg); }

/* Sticky-CTA aus, solange ein anderer roter Button im Bild ist. Reines CSS, ohne Support bleibt die Leiste sichtbar. */
@supports (animation-timeline: view()) {
  body { timeline-scope: --cta-hero, --cta-kabel, --cta-rtk, --cta-eye, --cta-end; }
  .elementor-element-6443fb10 { view-timeline-name: --cta-hero; }
  .elementor-element-2d5fc7d9 > a { view-timeline-name: --cta-kabel; }
  .elementor-element-339691f4 > a { view-timeline-name: --cta-rtk; }
  .elementor-element-5ba50250 > a { view-timeline-name: --cta-eye; }
  .elementor-element-3213f2c7 > a { view-timeline-name: --cta-end; }
  .elementor-element-662495a1 { animation-name: kj-cta-hide, kj-cta-hide, kj-cta-hide, kj-cta-hide, kj-cta-hide; animation-timing-function: linear; animation-fill-mode: none; animation-duration: auto; animation-timeline: --cta-hero, --cta-kabel, --cta-rtk, --cta-eye, --cta-end; animation-range: cover 0% cover 100%; }
  @keyframes kj-cta-hide { 0% { opacity: 1; } 4% { opacity: 0; visibility: hidden; } 96% { opacity: 0; visibility: hidden; } 100% { opacity: 1; } }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-element-662495a1 { animation: none; }
  .elementor-element-8219e30 .e-accordion-item-icon-base, .elementor .elementor-element-6d0c2319 a.e-paragraph-link-base, .elementor .elementor-element-5555c454 a.e-paragraph-link-base { transition: none; }
}/* End custom CSS */