/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* -------------------------------------------------------
   Blog Cards: einheitliche Ausrichtung
   Problem: Card hat justify-content:space-between → bei
   2-zeiligem Titel wird Content-Block nach unten gedrückt.
   Fix: Content startet immer direkt unter dem Bild (flex-start),
   wächst auf restliche Höhe (flex-grow:1) und schiebt
   Datum/Kategorie per space-between ans Card-Ende.
   ------------------------------------------------------- */
.elementor-1658 .elementor-element.elementor-element-d53b99e {
    --justify-content: flex-start;
}
.elementor-1658 .elementor-element.elementor-element-4ccc2e5 {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* -------------------------------------------------------
   Blog Filter: Kategorien auf Mobile umbrechen statt clippen
   Elementor setzt ab 1199px: nowrap + overflow-x:scroll
   (horizontal_scroll_mobile/tablet:enable).
   Mobile (<768px): Buttons sollen umbrechen, nicht scrollen.
   Tablet (768–1199px): Container auf 100% begrenzen damit
   Elementors horizontal scroll korrekt funktioniert.
   ------------------------------------------------------- */
@media (max-width: 1199px) {
    .elementor-1659 .elementor-element.elementor-element-7ed23c9 {
        width: 100%;
        min-width: 0;
    }
}
@media (max-width: 767px) {
    .elementor-1659 .elementor-element.elementor-element-7ed23c9 {
        --e-filter-wrap: wrap;
        --e-filter-overflow-x: initial;
    }
}

/* -------------------------------------------------------
   LCP FIX: elementor-invisible in der Hero-Section überschreiben
   Problem: Elementor setzt visibility:hidden auf animierte Elemente
   (Klasse elementor-invisible), bevor das JS die Animation auslöst.
   visibility:hidden schließt das Element aus der Chrome-LCP-Messung
   aus → LCP wird erst nach JS-Init gemessen statt beim ersten Paint.
   Fix: Nur Bild-Widgets (.elementor-widget-image) in der ersten
   Section der Seite (.elementor-top-section:first-child) erhalten
   visibility:visible. Die Animation (opacity:0 → 1 via fadeIn-CSS)
   läuft danach unverändert ab – kein visueller Unterschied.
   Robustheit: Selektor ist unabhängig von Elementor data-id,
   übersteht Neubearbeitungen im Elementor-Editor.
   CLS: kein Risiko – Bildgröße ist durch width/height-Attribute
   (324×359px) reserviert, visibility ändert kein Layout.
   ------------------------------------------------------- */
.elementor-top-section:first-child .elementor-widget-image.elementor-invisible {
    visibility: visible !important;
}
