.elementor-kit-33{--e-global-color-primary:#0C1C58;--e-global-color-secondary:#00CAC9;--e-global-color-text:#475569;--e-global-color-accent:#385CF5;--e-global-color-ff57c46:#172136;--e-global-color-748d6b6:#FFFFFF;--e-global-color-85fe701:#F4F6FA;--e-global-color-1c8181d:#DEE3ED;--e-global-color-b9a0ea4:#47536B;--e-global-color-f3323ce:#F9FAFB;--e-global-color-a4a4503:#EF5350;--e-global-color-3c145c9:#AEEA00;--e-global-color-337b07f:#6984A7;--e-global-color-b340231:#C6FFFA;--e-global-color-7e8231c:#00CAC94D;--e-global-color-4ea1f0d:#E5E7EB;--e-global-color-fc59e66:#00CAC94D;--e-global-color-b04334f:#94A3B8;--e-global-color-63ada4b:#64748B;--e-global-color-e9823ea:#F7F8FA;--e-global-color-31cead1:#CED1DD;--e-global-color-cc62993:#E2E5EA;--e-global-color-771ae26:#F8FAFC;--e-global-color-27c8ea1:#F1F5F9;--e-global-color-64c297e:#FFFFFF99;--e-global-color-6770114:#0C1C58B3;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:300;--e-global-typography-c2ef1e3-font-family:"Inter";--e-global-typography-c2ef1e3-font-size:3.5rem;--e-global-typography-c2ef1e3-font-weight:700;--e-global-typography-c2ef1e3-line-height:1em;--e-global-typography-c2ef1e3-letter-spacing:-0.025em;--e-global-typography-b948873-font-family:"Inter";--e-global-typography-b948873-font-size:3.75rem;--e-global-typography-b948873-font-weight:700;--e-global-typography-b948873-line-height:1em;--e-global-typography-b948873-letter-spacing:-0.025em;--e-global-typography-c01b510-font-family:"Inter";--e-global-typography-c01b510-font-size:1.875rem;--e-global-typography-c01b510-font-weight:700;--e-global-typography-c01b510-line-height:2.25rem;--e-global-typography-c01b510-letter-spacing:-0.025em;--e-global-typography-57a3ae4-font-family:"Inter";--e-global-typography-57a3ae4-font-size:1.875rem;--e-global-typography-57a3ae4-line-height:2.25rem;--e-global-typography-a1a60a6-font-family:"Inter";--e-global-typography-a1a60a6-font-size:1.875rem;--e-global-typography-a1a60a6-font-weight:700;--e-global-typography-a1a60a6-line-height:2.25em;--e-global-typography-a1a60a6-letter-spacing:-0.025em;--e-global-typography-efa431e-font-family:"Inter";--e-global-typography-efa431e-font-size:1.25rem;--e-global-typography-efa431e-font-weight:700;--e-global-typography-efa431e-line-height:1.75rem;--e-global-typography-efa431e-letter-spacing:-0.001125em;--e-global-typography-0b35269-font-family:"Inter";--e-global-typography-0b35269-font-size:1.5rem;--e-global-typography-0b35269-line-height:2rem;--e-global-typography-979eef4-font-family:"Inter";--e-global-typography-979eef4-font-size:1.5rem;--e-global-typography-979eef4-font-weight:900;--e-global-typography-979eef4-line-height:1.2rem;--e-global-typography-979eef4-letter-spacing:-0.001125em;--e-global-typography-15e4eb8-font-family:"Inter";--e-global-typography-15e4eb8-font-size:1.125rem;--e-global-typography-15e4eb8-font-weight:700;--e-global-typography-15e4eb8-line-height:1.75rem;--e-global-typography-15e4eb8-letter-spacing:-0.001125em;--e-global-typography-3630007-font-family:"Inter";--e-global-typography-3630007-font-size:1rem;--e-global-typography-3630007-font-weight:700;--e-global-typography-3630007-text-transform:none;--e-global-typography-3630007-line-height:1.2rem;--e-global-typography-3630007-letter-spacing:-0.001125em;--e-global-typography-091e18f-font-family:"Inter";--e-global-typography-091e18f-font-size:0.875rem;--e-global-typography-091e18f-font-weight:700;--e-global-typography-091e18f-line-height:1.25rem;--e-global-typography-091e18f-letter-spacing:-0.001125em;--e-global-typography-656ed4a-font-family:"Inter";--e-global-typography-656ed4a-font-size:0.625rem;--e-global-typography-656ed4a-font-weight:700;--e-global-typography-656ed4a-text-transform:uppercase;--e-global-typography-656ed4a-letter-spacing:0.1em;--e-global-typography-58681ca-font-family:"Inter";--e-global-typography-58681ca-font-size:0.875rem;--e-global-typography-58681ca-font-weight:600;--e-global-typography-58681ca-line-height:1.675;--e-global-typography-b03c013-font-family:"Inter";--e-global-typography-b03c013-font-size:1.125rem;--e-global-typography-b03c013-font-weight:700;--e-global-typography-b03c013-line-height:1.75rem;--e-global-typography-b03c013-letter-spacing:-0.001125em;--e-global-typography-127567f-font-family:"Inter";--e-global-typography-127567f-font-size:0.6875rem;--e-global-typography-127567f-font-weight:700;--e-global-typography-127567f-text-transform:uppercase;--e-global-typography-127567f-line-height:1.2rem;--e-global-typography-127567f-letter-spacing:0.08em;--e-global-typography-738465d-font-family:"Inter";--e-global-typography-738465d-font-size:0.75rem;--e-global-typography-738465d-font-weight:700;--e-global-typography-738465d-text-transform:uppercase;--e-global-typography-738465d-font-style:normal;--e-global-typography-738465d-line-height:2.5rem;--e-global-typography-738465d-letter-spacing:0.1rem;--e-global-typography-d6abf0c-font-family:"Inter";--e-global-typography-d6abf0c-font-size:0.75rem;--e-global-typography-d6abf0c-font-weight:700;--e-global-typography-d6abf0c-text-transform:uppercase;--e-global-typography-d6abf0c-line-height:1rem;--e-global-typography-d6abf0c-letter-spacing:0.1em;--e-global-typography-a32dbd2-font-family:"Inter";--e-global-typography-a32dbd2-font-size:0.75rem;--e-global-typography-a32dbd2-font-weight:700;--e-global-typography-a32dbd2-text-transform:uppercase;--e-global-typography-a32dbd2-line-height:1rem;--e-global-typography-a32dbd2-letter-spacing:0.01em;--e-global-typography-47227fc-font-family:"Inter";--e-global-typography-47227fc-font-size:0.75rem;--e-global-typography-47227fc-font-weight:500;--e-global-typography-47227fc-line-height:1rem;--e-global-typography-3e9ed27-font-family:"Inter";--e-global-typography-3e9ed27-font-size:0.875rem;--e-global-typography-3e9ed27-font-weight:400;--e-global-typography-3e9ed27-line-height:1.625rem;--e-global-typography-80a1d0f-font-family:"Inter";--e-global-typography-80a1d0f-font-size:0.75rem;--e-global-typography-80a1d0f-font-weight:700;--e-global-typography-80a1d0f-text-transform:uppercase;--e-global-typography-80a1d0f-line-height:1;--e-global-typography-80a1d0f-letter-spacing:0.1em;--e-global-typography-8d4e05e-font-family:"Inter";--e-global-typography-8d4e05e-font-size:0.875rem;--e-global-typography-8d4e05e-font-weight:400;--e-global-typography-8d4e05e-line-height:1.25rem;--e-global-typography-fcaf52f-font-family:"Inter";--e-global-typography-fcaf52f-font-size:0.75rem;--e-global-typography-fcaf52f-font-weight:400;--e-global-typography-fcaf52f-line-height:1rem;--e-global-typography-f7fd4c1-font-family:"Inter";--e-global-typography-f7fd4c1-font-size:1.125rem;--e-global-typography-f7fd4c1-font-weight:400;--e-global-typography-f7fd4c1-line-height:1.625;--e-global-typography-025b3bc-font-family:"Inter";--e-global-typography-025b3bc-font-size:1.25rem;--e-global-typography-025b3bc-line-height:0.75rem;--e-global-typography-df7006e-font-family:"Inter";--e-global-typography-df7006e-font-size:0.563rem;--e-global-typography-df7006e-font-weight:400;--e-global-typography-b71a2da-font-family:"Inter";--e-global-typography-b71a2da-font-size:0.563rem;--e-global-typography-b71a2da-font-weight:500;--e-global-typography-8cd5210-font-family:"Inter";--e-global-typography-8cd5210-font-size:1.125rem;--e-global-typography-8cd5210-line-height:1.75rem;--e-global-typography-ccbf913-font-family:"Inter";--e-global-typography-ccbf913-font-size:1rem;--e-global-typography-ccbf913-font-weight:400;--e-global-typography-ccbf913-line-height:1.625rem;--e-global-typography-5934bd7-font-family:"Inter";--e-global-typography-5934bd7-font-size:0.875rem;--e-global-typography-5934bd7-font-weight:600;--e-global-typography-5934bd7-line-height:1.625;--e-global-typography-147e71a-font-family:"Inter";--e-global-typography-147e71a-font-size:0.875rem;--e-global-typography-147e71a-font-weight:400;--e-global-typography-147e71a-line-height:1.75;--e-global-typography-77e233c-font-family:"Inter";--e-global-typography-77e233c-font-size:1.25rem;--e-global-typography-77e233c-font-weight:400;--e-global-typography-77e233c-line-height:1.75rem;--e-global-typography-add2ad9-font-family:"Inter";--e-global-typography-add2ad9-font-size:1.2rem;--e-global-typography-add2ad9-font-weight:400;--e-global-typography-add2ad9-line-height:1.75rem;--e-global-typography-45ee320-font-family:"Inter";--e-global-typography-45ee320-font-size:0.875rem;--e-global-typography-45ee320-font-weight:700;--e-global-typography-45ee320-line-height:1.625;--e-global-typography-90b352b-font-family:"Inter";--e-global-typography-90b352b-font-size:1rem;--e-global-typography-90b352b-font-weight:400;--e-global-typography-90b352b-line-height:1.688rem;--e-global-typography-7cc2b17-font-family:"Inter";--e-global-typography-7cc2b17-font-size:0.75rem;--e-global-typography-7cc2b17-font-weight:700;--e-global-typography-7cc2b17-text-transform:none;--e-global-typography-7cc2b17-line-height:1em;--e-global-typography-7cc2b17-letter-spacing:0.1em;--e-global-typography-7d66d0a-font-family:"Inter";--e-global-typography-7d66d0a-font-size:0.875rem;--e-global-typography-7d66d0a-font-weight:700;--e-global-typography-7d66d0a-line-height:1.625;--e-global-typography-fdc2846-font-family:"Inter";--e-global-typography-fdc2846-font-size:0.9rem;--e-global-typography-fdc2846-font-weight:700;--e-global-typography-fdc2846-text-transform:none;--e-global-typography-fdc2846-line-height:1.75em;--e-global-typography-fdc2846-letter-spacing:0em;--e-global-typography-422ce6e-font-family:"Inter";--e-global-typography-422ce6e-font-size:1.125rem;--e-global-typography-422ce6e-font-weight:400;--e-global-typography-422ce6e-text-transform:none;--e-global-typography-422ce6e-line-height:1.75rem;}.elementor-kit-33 e-page-transition{background-color:#FFBC7D;}.elementor-kit-33 a{color:var( --e-global-color-secondary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1534px;}.e-con{--container-max-width:1534px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(min-width:1920px){.elementor-kit-33{--e-global-typography-b71a2da-font-size:0.875rem;--e-global-typography-b71a2da-line-height:1.625em;}}@media(max-width:1024px){.elementor-kit-33{--e-global-typography-c2ef1e3-font-size:3rem;--e-global-typography-b948873-font-size:2.3rem;--e-global-typography-b948873-line-height:1.2em;--e-global-typography-57a3ae4-line-height:1.75rem;--e-global-typography-0b35269-font-size:1.1rem;--e-global-typography-0b35269-line-height:1.75rem;--e-global-typography-58681ca-line-height:1,625;--e-global-typography-3e9ed27-line-height:1.625rem;--e-global-typography-8d4e05e-line-height:1.625rem;--e-global-typography-fcaf52f-line-height:1.625rem;--e-global-typography-025b3bc-line-height:1.75rem;--e-global-typography-8cd5210-line-height:1.75rem;--e-global-typography-ccbf913-font-size:0.85rem;--e-global-typography-77e233c-font-size:1rem;--e-global-typography-add2ad9-font-size:1rem;--e-global-typography-90b352b-line-height:1.625rem;--e-global-typography-7cc2b17-font-size:1rem;--e-global-typography-fdc2846-font-size:0.75rem;--e-global-typography-fdc2846-line-height:1.25em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-33{--e-global-typography-primary-font-size:1.6rem;--e-global-typography-c2ef1e3-font-size:2.1rem;--e-global-typography-c2ef1e3-line-height:1.1em;--e-global-typography-b948873-font-size:2.1rem;--e-global-typography-b948873-line-height:1.2em;--e-global-typography-a1a60a6-font-size:1.125rem;--e-global-typography-a1a60a6-line-height:1.556em;--e-global-typography-a1a60a6-letter-spacing:-0.025em;--e-global-typography-58681ca-line-height:1,25;--e-global-typography-738465d-font-size:1.875rem;--e-global-typography-738465d-line-height:2.25rem;--e-global-typography-3e9ed27-line-height:1.25rem;--e-global-typography-8d4e05e-line-height:1.25rem;--e-global-typography-fcaf52f-line-height:1.25rem;--e-global-typography-77e233c-font-size:1rem;--e-global-typography-77e233c-line-height:1.625;--e-global-typography-add2ad9-font-size:1rem;--e-global-typography-add2ad9-line-height:1.625;--e-global-typography-90b352b-line-height:1.25rem;--e-global-typography-7cc2b17-font-size:0.75rem;--e-global-typography-7d66d0a-font-size:0.8rem;--e-global-typography-fdc2846-font-size:0.75rem;--e-global-typography-422ce6e-font-size:1rem;--e-global-typography-422ce6e-line-height:1.625rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================================
   FMB Design System – Globale Custom CSS für Elementor
   ============================================================

   FARBPALETTE
   Navy:           #0C1C58
   Turquoise:      #00CAC9
   Turquoise-80:   #33D5D4
   Turquoise-20:   #CCF5F4
   Border-light:   #E2E5EA
   Text-primary:   #0F172A
   Text-secondary: #475569
   Text-muted:     #94A3B8

   KLASSEN-SCHNELLREFERENZ
   ─────────────────────────────────────────────────────────────
   KARTEN & HOVER
   Feature-Card                → .box-hover / .box-lift
   Klickbare Link-Card         → .hover-card
   Kachel ohne Hüpfer          → .box-hover-border
   Card mit Icon-Trigger       → .card-hover + .card-hover-icon

   ICONS (in .box-hover / .box-lift / .hover-card)
   Turquoise-BG normal         → .hover-icon
   Turquoise-20-BG normal      → .hover-icon2
   Navy-BG normal              → .hover-icon3
   BG via Elementor, weiß fix  → .hover-icon4
   Icon-BG in .hover-card      → .hover-icon-container
   Pfeil in .hover-card        → .arrow-icon
   Heading-Hover (opt-in)      → .heading-hover

   BUTTONS
   Pfeil-Slide                 → .btn-icon-slide
   Pfeil-Slide (transparent)   → .btn-ghost-slide
   Pfeil + Unterstrich normal  → .btn-ghost-slide-underline
   CTA (starker Shadow)        → .btn-cta
   CTA (dezenter Shadow)       → .btn-cta-primary
   Glasmorphismus-Button       → .btn-glass

   GLOW-EFFEKTE (HTML-Div, Eltern: position relative + overflow hidden)
   Oben rechts                 → .glow-top-right
   Unten links                 → .glow-bottom-left
   Unten rechts                → .glow-bottom-right

   LAYOUT & ICONS
   Icon 48×48 px (äußer)      → .icon-fixed
   Icon 48×48 px (innen)      → .icon-box-inner
   Breite = Inhalt             → .fit-content
   Silbentrennung              → .hyphenate

   FORMULAR
   Felder ausblenden n. Versand → .form-hide-on-success
   Button ausblenden           → .form-hide-button
   Fokus Turquoise-Border      → .form-focus-turquoise
   Dropdown Fix                → .form-dropdown-fix
   Privacy Link                → .privacy-link
   Kontaktzeile Mobile         → .contact-icon-row

   MEHR-LESEN
   Text-Container              → .read-more-auto
   Button-Widget               → .read-more-button

   CARDS – SEITENVERHÄLTNIS
   Event-Card (16:9)           → .card-aspect-16-9
   News-Card (16:9)            → .card-aspect-news

   TYPOGRAFIE
   Links unterstreichen        → .link-underline

   ANIMATION & NAVIGATION
   Scroll-Einblend             → .reveal (+ .visible per JS)
   Nav-Link                    → .header-nav-link

   HERO & HIGHLIGHTS
   Hero Bild-Card              → .fmb-hero-card
   Eyebrow / Mini-Badge        → .fmb-eyebrow
   Mini-KPI (Glaseffekt)       → .fmb-kpi-blur
   Video-Vorschau              → .fmb-video-trigger
   Premium Schatten            → .fmb-shadow-2xl
   Glasmorphismus-Card         → .card-glass

   TIMELINE
   Sektion (Anker)             → .fmb-timeline-wrapper
   Interaktive Zeile           → .timeline-row + .is-turquoise / .is-navy
   Linke Kachel                → .timeline-card-left
   Rechte Kachel               → .timeline-card-right
   Dot-Icon                    → .timeline-icon

   TEAM
   Team-Member Widget          → .team-card

   BLOG
   Posts-Widget                → .post-grid

   FOOTER
   Social Icons                → .social-icon-fix
   ============================================================ */


/* ============================================================
   1. BOX-HOVER
   Container → .box-hover | Icon → .hover-icon
   ============================================================ */

.box-hover {
    cursor: default;
    transition: all 500ms cubic-bezier(0.16, 1, 0.3, 1);
}

.box-hover:hover {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1) !important;
}

.box-hover .hover-icon > .elementor-widget-container {
    background-color: rgba(0, 202, 201, 0.08) !important;
    transition: background-color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.box-hover:hover .hover-icon > .elementor-widget-container {
    background-color: #00CAC9 !important;
}

.box-hover .hover-icon .elementor-icon i {
    transition: color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.box-hover:hover .hover-icon .elementor-icon i {
    color: #0C1C58 !important;
}

.box-hover .elementor-widget-heading,
.box-hover .elementor-widget-text-editor {
    position: relative;
    z-index: 2;
}

.box-hover .heading-hover .elementor-heading-title {
    color: #0C1C58 !important;
    transition: color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.box-hover:hover .heading-hover .elementor-heading-title {
    color: #00CAC9 !important;
}

.box-hover.pointer {
    cursor: pointer !important;
}

/* ============================================================
   2. BOX-LIFT
   Container → .box-lift | Icon → .hover-icon
   ============================================================ */

.box-lift {
    cursor: default;
    position: relative;
    overflow: hidden;
    border: 1px solid #E2E5EA;
    background: #ffffff;
    transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.box-lift:hover {
    transform: translateY(-0.25rem) !important;
    box-shadow: 0 4px 12px rgba(12, 28, 88, 0.06), 0 12px 28px rgba(12, 28, 88, 0.06) !important;
    border-color: rgba(0, 202, 201, 0.25) !important;
}

.box-lift .hover-icon,
.box-lift .elementor-widget-heading,
.box-lift .elementor-widget-text-editor {
    position: relative;
    z-index: 2;
}

.box-lift .hover-icon > .elementor-widget-container,
.box-lift .hover-icon .elementor-icon i {
    transition: background-color 250ms cubic-bezier(0.16, 1, 0.3, 1),
                color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.box-lift:hover .hover-icon > .elementor-widget-container {
    background-color: #00CAC9 !important;
}

.box-lift:hover .hover-icon .elementor-icon i {
    color: #0C1C58 !important;
}


/* ============================================================
   3. HOVER-CARD
   Container → .hover-card | Icon → .hover-icon-container | Pfeil → .arrow-icon
   ============================================================ */

.hover-card {
    cursor: pointer;
    text-decoration: none;
    transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.hover-card:hover {
    box-shadow: 0 4px 12px rgba(12, 28, 88, 0.06), 0 12px 28px rgba(12, 28, 88, 0.06) !important;
    border-color: rgba(0, 202, 201, 0.25) !important;
}

.hover-card .elementor-icon {
    background-color: transparent !important;
}

.hover-card .hover-icon-container {
    background-color: rgba(0, 202, 201, 0.08) !important;
    transition: background-color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.hover-card:hover .hover-icon-container {
    background-color: #00CAC9 !important;
}

.hover-card .elementor-icon i {
    color: #00CAC9 !important;
    transition: color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.hover-card:hover .hover-icon-container .elementor-icon i {
    color: #0C1C58 !important;
}

.hover-card .arrow-icon i {
    color: rgb(203 213 225) !important;
    transition: color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.hover-card:hover .arrow-icon i,
.hover-card:hover .arrow-icon svg {
    color: #00CAC9 !important;
}

.hover-card .heading-hover .elementor-heading-title {
    color: #0C1C58 !important;
    transition: color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.hover-card:hover .heading-hover .elementor-heading-title {
    color: #00CAC9 !important;
}


/* ============================================================
   4. BOX-HOVER-BORDER
   Container → .box-hover-border | Icon-BG → .hover-icon-container
   Wie .hover-card aber ohne translateY
   ============================================================ */

.box-hover-border {
    cursor: pointer;
    text-decoration: none;
    background-color: #ffffff;
    border: 1px solid #E2E5EA;
    position: relative;
    transition: box-shadow 300ms cubic-bezier(0.16, 1, 0.3, 1),
                border-color 300ms ease !important;
}

.box-hover-border .elementor-widget-heading,
.box-hover-border .elementor-widget-text-editor {
    position: relative;
    z-index: 2;
}

.box-hover-border .elementor-icon {
    background-color: transparent !important;
}

.box-hover-border .hover-icon-container {
    background-color: transparent !important;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 300ms ease !important;
}

.box-hover-border .hover-icon-container i,
.box-hover-border .hover-icon-container svg,
.box-hover-border .hover-icon-container .elementor-heading-title {
    color: #00CAC9 !important;
    transition: color 300ms ease !important;
}

.box-hover-border:hover {
    box-shadow: 0 4px 12px rgba(12, 28, 88, 0.06), 0 12px 28px rgba(12, 28, 88, 0.06) !important;
    border-color: rgba(0, 202, 201, 0.3) !important;
}

.box-hover-border:hover .hover-icon-container {
    background-color: #00CAC9 !important;
}

.box-hover-border:hover .hover-icon-container i,
.box-hover-border:hover .hover-icon-container svg,
.box-hover-border:hover .hover-icon-container .elementor-heading-title {
    color: #ffffff !important;
}


/* ============================================================
   5. HOVER-ICON VARIANTEN
   .hover-icon2 → Turquoise-20-BG normal, Hover: Weiß
   .hover-icon3 → Navy-5%-BG normal, Hover: Navy
   .hover-icon4 → BG via Elementor, Icon immer Weiß
   ============================================================ */

/* hover-icon2 */
.box-hover .hover-icon2 > .elementor-widget-container,
.box-lift .hover-icon2 > .elementor-widget-container {
    background-color: #CCF5F4 !important;
    transition: background-color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.box-hover:hover .hover-icon2 > .elementor-widget-container,
.box-lift:hover .hover-icon2 > .elementor-widget-container {
    background-color: #00CAC9 !important;
}

.box-hover .hover-icon2 .elementor-icon i,
.box-lift .hover-icon2 .elementor-icon i {
    transition: color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.box-hover:hover .hover-icon2 .elementor-icon i,
.box-lift:hover .hover-icon2 .elementor-icon i {
    color: #ffffff !important;
}

.hover-card .hover-icon2 {
    background-color: #CCF5F4 !important;
    transition: background-color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.hover-card:hover .hover-icon2 {
    background-color: #00CAC9 !important;
}

.hover-card .hover-icon2 .elementor-icon i {
    transition: color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.hover-card:hover .hover-icon2 .elementor-icon i {
    color: #ffffff !important;
}

/* hover-icon3 */
.box-hover .hover-icon3 > .elementor-widget-container,
.box-lift .hover-icon3 > .elementor-widget-container {
    background-color: rgba(12, 28, 88, 0.05) !important;
    transition: background-color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.box-hover:hover .hover-icon3 > .elementor-widget-container,
.box-lift:hover .hover-icon3 > .elementor-widget-container {
    background-color: #00CAC9 !important;
}

.box-hover .hover-icon3 .elementor-icon i,
.box-lift .hover-icon3 .elementor-icon i {
    transition: color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.box-hover:hover .hover-icon3 .elementor-icon i,
.box-lift:hover .hover-icon3 .elementor-icon i {
    color: #0C1C58 !important;
}

.hover-card .hover-icon3 {
    background-color: rgba(12, 28, 88, 0.05) !important;
    transition: background-color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.hover-card:hover .hover-icon3 {
    background-color: #00CAC9 !important;
}

.hover-card .hover-icon3 .elementor-icon i {
    transition: color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.hover-card:hover .hover-icon3 .elementor-icon i {
    color: #0C1C58 !important;
}

/* hover-icon4 */
.box-hover .hover-icon4 .elementor-icon i {
    color: #ffffff !important;
    transition: color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.box-hover:hover .hover-icon4 > .elementor-widget-container {
    background-color: #00CAC9 !important;
    transition: background-color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}


/* ============================================================
   6. CARD-HOVER + CARD-HOVER-ICON
   Container → .card-hover | Icon → .card-hover-icon
   Icon-Farbe wird Navy beim Card-Hover
   ============================================================ */

.card-hover {
    transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.card-hover-icon > .elementor-widget-container {
    transition: background-color 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.card-hover:hover .card-hover-icon > .elementor-widget-container {
    background-color: transparent !important;
}

.card-hover:hover .card-hover-icon .elementor-icon i {
    color: #0C1C58 !important;
}


/* ============================================================
   7. BUTTONS
   ============================================================ */

/* btn-icon-slide + btn-ghost-slide: Pfeil gleitet 5px nach rechts */
.btn-icon-slide .elementor-button {
    box-shadow: 0 2px 8px rgba(0, 202, 201, 0.2) !important;
}

.btn-icon-slide .elementor-button-icon,
.btn-ghost-slide .elementor-button-icon {
    transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.btn-icon-slide .elementor-button:hover .elementor-button-icon,
.btn-ghost-slide .elementor-button:hover .elementor-button-icon {
    transform: translateX(5px) !important;
}

/* btn-ghost-slide-underline: Pfeil + Unterstrich normal, entfernt beim Hover */
.btn-ghost-slide-underline .elementor-button-icon {
    transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.btn-ghost-slide-underline .elementor-button:hover .elementor-button-icon {
    transform: translateX(5px) !important;
}

.btn-ghost-slide-underline .elementor-button {
    text-decoration: underline !important;
    border-bottom: 1px solid currentColor !important;
    padding-bottom: 2px !important;
}

.btn-ghost-slide-underline .elementor-button:hover {
    text-decoration: none !important;
    border-bottom-color: transparent !important;
    border-color: #00CAC9 !important;
}

/* btn-cta: Starker Turquoise-Shadow + Hüpfer */
.btn-cta .elementor-button {
    box-shadow: 0 10px 15px -3px rgba(0, 202, 201, 0.3) !important;
    transition: transform 250ms cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.btn-cta .elementor-button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 16px 24px -4px rgba(0, 202, 201, 0.35) !important;
}

/* btn-cta-primary: Dezenter Turquoise-Shadow + Hüpfer */
.btn-cta-primary .elementor-button {
    box-shadow: 0 2px 8px rgba(0, 202, 201, 0.2) !important;
    transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.btn-cta-primary .elementor-button:hover {
    box-shadow: 0 4px 16px rgba(0, 202, 201, 0.3) !important;
    transform: translateY(-1px) !important;
}

/* btn-glass: Glasmorphismus-Button */
.btn-glass .elementor-button {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border: 2px solid rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.btn-glass .elementor-button:hover {
    background-color: rgba(255, 255, 255, 0.2) !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
}


/* ============================================================
   8. CARD-GLASS
   Container → .card-glass
   ============================================================ */

.card-glass {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.card-glass:hover {
    background-color: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.35) !important;
}


/* ============================================================
   9. GLOW-EFFEKTE
   HTML-Div → .glow-top-right / .glow-bottom-left / .glow-bottom-right
   Eltern: position relative + overflow hidden
   ============================================================ */

.glow-top-right,
.glow-bottom-left,
.glow-bottom-right {
    position: absolute;
    width: 16rem;
    height: 16rem;
    background: rgba(0, 202, 201, 0.10);
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
    z-index: 0;
}

.glow-top-right {
    top: 0;
    right: 0;
    transform: translateY(-50%) translateX(25%);
}

.glow-bottom-left {
    bottom: 0;
    left: 0;
    transform: translate(-25%, 50%);
}

.glow-bottom-right {
    bottom: 0;
    right: 0;
    transform: translate(25%, 25%);
    z-index: 1;
}


/* ============================================================
   10. ICONS & LAYOUT
   ============================================================ */

/* icon-fixed: Äußerer Icon-Container 48×48 px */
.icon-fixed .elementor-icon {
    width: 48px !important;
    height: 48px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* icon-box-inner: Innerer Icon-Container 48×48 px */
.icon-box-inner {
    aspect-ratio: 1 / 1 !important;
    width: 3rem !important;
    height: 3rem !important;
    flex-shrink: 0 !important;
    align-self: flex-start !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.fit-content {
    width: fit-content !important;
}

.hyphenate {
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
    word-break: break-word !important;
}


/* ============================================================
   11. KONTAKTFORMULAR-ZEILE (Mobile)
   Zeilen-Container → .contact-icon-row
   ============================================================ */

@media (max-width: 767px) {
    .contact-icon-row .e-con-inner,
    .contact-icon-row .e-con {
        flex-wrap: nowrap !important;
        flex-direction: row !important;
        align-items: center !important;
    }

    .contact-icon-row .elementor-widget-heading span {
        white-space: nowrap !important;
        font-size: 0.85rem !important;
    }
}


/* ============================================================
   12. FORMULAR
   ============================================================ */

/* Felder ausblenden nach erfolgreichem Versand */
.form-hide-on-success:has(.elementor-message-success) .elementor-form-fields-wrapper {
    display: none;
}

/* Button komplett ausblenden */
.form-hide-button .elementor-button {
    display: none !important;
}

/* Fokus-Zustand mit Turquoise-Border */
.form-focus-turquoise .elementor-field-group .elementor-field {
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out !important;
}

.form-focus-turquoise .elementor-field-group .elementor-field:focus {
    outline: none !important;
    border-color: #00CAC9 !important;
    background-color: #ffffff !important;
}

/* Dropdown Fix */
.form-dropdown-fix .elementor-field-type-select .elementor-select-wrapper {
    width: 100% !important;
    display: block !important;
}

.form-dropdown-fix .elementor-field-group select.elementor-field {
    padding: 0 0 0 1rem !important;
    height: 2.85rem !important;
    min-height: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.form-dropdown-fix .select-caret-down-wrapper {
    position: absolute !important;
    right: 1rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    z-index: 2;
}

/* Privacy Link */
.privacy-link .custom-privacy-link {
    color: #00CAC9 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.privacy-link .custom-privacy-link:hover {
    text-decoration: none !important;
}


/* ============================================================
   13. MEHR-LESEN
   Text-Container → .read-more-auto | Button → .read-more-button
   ============================================================ */

.read-more-auto {
    position: relative;
    overflow: hidden;
    max-height: 26rem;
    transition: max-height 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.read-more-auto.expanded {
    max-height: 2000px;
}

.read-more-auto:not(.expanded)::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffffff);
    pointer-events: none;
    z-index: 2;
}

.read-more-auto.expanded::after {
    display: none;
}

.read-more-button {
    display: inline-block;
    margin-top: 1.5rem;
    cursor: pointer;
    color: #00CAC9;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;
}

.read-more-button:hover {
    color: #0C1C58;
    border-bottom-color: #0C1C58;
    padding-left: 5px;
}


/* ============================================================
   14. CARD-ASPECT (Seitenverhältnisse)
   Event-Card → .card-aspect-16-9 | News-Card → .card-aspect-news
   ============================================================ */

.card-aspect-16-9,
.card-aspect-news {
    aspect-ratio: 16 / 9;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .card-aspect-16-9 {
        aspect-ratio: auto !important;
        min-height: 350px !important;
    }

    .card-aspect-news {
        aspect-ratio: auto !important;
        min-height: 120px !important;
    }
}

@media (max-width: 767px) {
    .card-aspect-16-9 {
        aspect-ratio: auto !important;
        min-height: 300px !important;
        padding-bottom: 2rem !important;
    }

    .card-aspect-news {
        aspect-ratio: auto !important;
        min-height: 150px !important;
        padding-bottom: 2rem !important;
    }
}


/* ============================================================
   15. TYPOGRAFIE & LINKS
   ============================================================ */

.link-underline a {
    text-decoration: underline !important;
}


/* ============================================================
   16. REVEAL (Scroll-Animation)
   Element → .reveal | sichtbar per JS → .visible
   ============================================================ */

.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .reveal {
        opacity: 1;
        transform: none;
    }
}


/* ============================================================
   17. NAVIGATION
   Nav-Link → .header-nav-link
   ============================================================ */

.header-nav-link {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: color 150ms ease;
}

.header-nav-link:hover,
.header-nav-link.active {
    color: #00CAC9;
}


/* ============================================================
   18. FMB-HERO-CARD
   Bild-Container → .fmb-hero-card
   ============================================================ */

.fmb-hero-card {
    position: relative;
    width: 100%;
    border-radius: 1.5rem;
    border: 1px solid #E2E5EA;
    box-shadow: 0 20px 40px rgba(12, 28, 88, 0.1);
    overflow: hidden;
    z-index: 5;
    transition: all 400ms cubic-bezier(0.16, 1, 0.3, 1);
}

.fmb-hero-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 800ms cubic-bezier(0.16, 1, 0.3, 1);
}

.fmb-hero-card:hover {
    box-shadow: 0 30px 60px rgba(12, 28, 88, 0.15);
    border-color: #00CAC9;
}

.fmb-hero-card:hover img {
    transform: scale(1.05);
}

/* ============================================================
   ZUSATZ: .hero-column-right
   Zuweisung: Rechter Container der Hero-Sektion → .hero-column-right
   Entfernt erzwungenes Höhen-/Ratio-Verhalten, Höhe = Inhalt
   ============================================================ */

.hero-column-right {
    height: auto !important;
    aspect-ratio: auto !important;
    min-height: 0 !important;
}

.hero-column-right .fmb-hero-card {
    height: auto !important;
    aspect-ratio: auto !important;
}

.hero-column-right .fmb-hero-card img {
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain;
}

/* ============================================================
   19. HERO & HIGHLIGHTS
   ============================================================ */

/* fmb-eyebrow: Eyebrow / Mini-Badge */
.fmb-eyebrow {
    width: fit-content !important;
    display: inline-flex !important;
    white-space: nowrap !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* fmb-kpi-blur: Mini-KPI Glaseffekt */
.fmb-kpi-blur {
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

/* fmb-shadow-2xl: Premium Schatten (Layering gegen Banding) */
.fmb-shadow-2xl {
    isolation: isolate;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
                0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
    transition: box-shadow 300ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.fmb-shadow-2xl:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
                0 35px 60px -12px rgba(0, 0, 0, 0.3) !important;
}


/* ============================================================
20. FMB-VIDEO-TRIGGER
Bild-Widget → .fmb-video-trigger
============================================================ */
.fmb-video-trigger {
position: relative !important;
display: block !important;
line-height: 0;
overflow: hidden;
cursor: pointer;
isolation: isolate;
}
.fmb-video-trigger img {
aspect-ratio: 16 / 9;
width: 100% !important;
height: auto !important;
object-fit: cover !important;
transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1),
filter 300ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}
/* Play-Button */
.fmb-video-trigger::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(1);
width: 4rem;
height: 4rem;
background-color: #00CAC9;
border-radius: 9999px;
background-image: url('https://fmb-messe-de.easyfairs.network/wp-content/uploads/sites/248/2026/06/play_.svg');
background-size: 2rem;
background-position: center;
background-repeat: no-repeat;
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
z-index: 2;
pointer-events: none;
transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1),
background-color 300ms cubic-bezier(0.16, 1, 0.3, 1);
}
/* Label */
.fmb-video-trigger::before {
content: 'Messe-Highlight Video';
position: absolute;
bottom: 1rem;
left: 1rem;
background-color: rgba(12, 28, 88, 0.8);
border-radius: 0.25rem;
color: #ffffff;
padding: 0.25rem 0.75rem;
font-size: 0.875rem;
font-weight: 700;
line-height: 1.25rem;
z-index: 3;
pointer-events: none;
white-space: nowrap;
}
.fmb-video-trigger:hover::after {
transform: translate(-50%, -50%) scale(1.1);
background-color: #33D5D4;
}
.fmb-video-trigger:hover img {
transform: scale(1.05);
filter: brightness(0.9);
}
@media (max-width: 767px) {
.fmb-video-trigger::after {
width: 3.5rem;
height: 3.5rem;
background-size: 1.25rem;
}
}


/* ============================================================
   21. TIMELINE
   Sektion → .fmb-timeline-wrapper
   Zeile → .timeline-row + .is-turquoise / .is-navy
   Kacheln → .timeline-card-left / .timeline-card-right
   Dot → .timeline-icon
   ============================================================ */

@media (min-width: 768px) {
    .fmb-timeline-wrapper {
        position: relative;
        padding-left: 0 !important;
        padding-right: 0 !important;
        isolation: isolate;
    }

    .fmb-timeline-wrapper::before {
        content: '';
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 2px;
        top: 0;
        bottom: 0;
        background-color: #E2E5EA;
        z-index: 0;
    }
}

.timeline-card-left,
.timeline-card-right {
    transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1) !important;
    will-change: transform;
}

.timeline-row:hover .timeline-card-left  { transform: translateX(-0.5rem) !important; }
.timeline-row:hover .timeline-card-right { transform: translateX(0.5rem) !important; }

.timeline-icon .elementor-widget-container {
    background-color: #ffffff !important;
    border-radius: 9999px !important;
    border-width: 4px !important;
    border-style: solid !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: all 200ms ease !important;
}

.timeline-icon i,
.timeline-icon svg {
    color: #0C1C58 !important;
    transition: color 200ms ease !important;
}

.timeline-row.is-turquoise .timeline-icon .elementor-widget-container { border-color: #00CAC9 !important; }
.timeline-row.is-navy      .timeline-icon .elementor-widget-container { border-color: #0C1C58 !important; }

.timeline-row.is-turquoise:hover .timeline-icon .elementor-widget-container {
    background-color: #00CAC9 !important;
    border-color: #00CAC9 !important;
}

.timeline-row.is-navy:hover .timeline-icon .elementor-widget-container {
    background-color: #0C1C58 !important;
    border-color: #0C1C58 !important;
}

.timeline-row:hover .timeline-icon i,
.timeline-row:hover .timeline-icon svg {
    color: #ffffff !important;
}


/* ============================================================
   22. TEAM-CARD
   Team-Member Widget-Container → .team-card
   ============================================================ */

.team-card .premium-person-image-container {
    position: relative;
    overflow: hidden !important;
}

.team-card .premium-person-image-container::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(to top, rgba(12, 28, 88, 0.7) 0%, rgba(12, 28, 88, 0) 60%) !important;
    opacity: 0;
    z-index: 1;
    pointer-events: none;
    transition: opacity 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.team-card .premium-person-image-container img {
    transition: transform 500ms ease-in-out !important;
}

.team-card .premium-person-container:hover .premium-person-image-container::after {
    opacity: 1;
}

.team-card .premium-person-container:hover .premium-person-image-container img {
    transform: scale(1.05);
}

.team-card .premium-person-style3 .premium-person-social-list {
    flex-direction: row !important;
    justify-content: center !important;
    gap: 12px;
    width: 100%;
    left: 0;
    bottom: 20px;
    position: absolute;
    z-index: 2;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s ease;
}

.team-card ul.premium-person-social-list li {
    display: inline-block;
    margin: 0 !important;
}

.team-card .premium-person-container:hover .premium-person-social-list {
    opacity: 1;
    transform: translateY(0);
}

/* ============================================================
   23. POST-GRID
   Posts-Widget → .post-grid
   ============================================================ */

.post-grid .elementor-post__card {
    background-color: #ffffff !important;
    border: 1px solid #E2E5EA !important;
    border-radius: 0.5rem !important;
    overflow: hidden;
    position: relative;
    transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.post-grid .elementor-post__card:hover {
    transform: translateY(-0.25rem) !important;
    box-shadow: 0 4px 12px rgba(12, 28, 88, 0.06), 0 12px 28px rgba(12, 28, 88, 0.06) !important;
    border-color: rgba(0, 202, 201, 0.3) !important;
}

/* Badge */
.post-grid .elementor-post__badge {
    position: absolute !important;
    top: 0.75rem !important;
    right: 0.75rem !important;
    left: auto !important;
    /*background-color: rgba(0, 202, 201, 0.10) !important;*/
    background-color: #CCF4F4 !important;
    color: #00CAC9 !important;
    border: 1px solid rgba(0, 202, 201, 0.20) !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0.375rem 1rem !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    line-height: 1 !important;
}

/* Meta */
.post-grid .elementor-post__meta-data {
    color: #94A3B8 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 0.5rem !important;
}

/* Bild-Zoom */
.post-grid .elementor-post__thumbnail {
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
    aspect-ratio: 2 / 1 !important;
}

.post-grid .elementor-post__thumbnail img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: scale(1) !important;
    backface-visibility: hidden;
    transition: transform 500ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.post-grid .elementor-post__card:hover .elementor-post__thumbnail img {
    transform: scale(1.1) !important;
}

/* Titel */
.post-grid .elementor-post__title a {
    color: #0F172A !important;
    transition: color 0.3s ease;
}

.post-grid .elementor-post__card:hover .elementor-post__title a {
    color: #00CAC9 !important;
}

/* Excerpt */
.post-grid .elementor-post__excerpt p {
    color: #475569 !important;
    font-size: 0.875rem !important;
    line-height: 1.25rem !important;
    margin-bottom: 1rem !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Ghost-Button (Load More) */
.post-grid .elementor-button-wrapper .elementor-button {
    background-color: transparent !important;
    color: #0C1C58 !important;
    border: 2px solid #CED1DD !important;
    padding: 0.875rem 2rem !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    border-radius: 0.5rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    display: inline-flex !important;
    transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.post-grid .elementor-button-wrapper .elementor-button:hover {
    background-color: #0C1C58 !important;
    border-color: #0C1C58 !important;
    color: #ffffff !important;
}


/* ============================================================
   24. SOCIAL-ICON-FIX (Footer)
   Social-Icons-Widget → .social-icon-fix
   ============================================================ */

.social-icon-fix .elementor-social-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
}

.social-icon-fix .elementor-social-icon i {
    font-size: 18px !important;
}

/* ============================================================
   ZUSATZ: WPML Sprachumschalter – Höhenausrichtung
   ============================================================ */

.wpml-ls-legacy-list-horizontal {
    padding: 0 !important;
    border: none !important;
    margin-right: 0.5rem;
}

.wpml-ls-legacy-list-horizontal .wpml-ls-item {
    vertical-align: middle !important;
}

.wpml-ls-legacy-list-horizontal .wpml-ls-link {
    display: inline-flex !important;
    align-items: center !important;
}

/* ============================================================
   ZUSATZ: .wrap-mobile
   Zuweisung: Heading/Badge-Widget → .wrap-mobile
   Erzwingt Umbruch auf Mobile, überschreibt auch nowrap
   ============================================================ */

@media (max-width: 767px) {
    .wrap-mobile,
    .wrap-mobile .elementor-heading-title,
    .wrap-mobile .elementor-widget-container {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: unset !important;
    }
}

/* Richtet den Trennstrich bündig mit dem Text aus */
.de-en-separator {
    display: inline-block !important;
    vertical-align: middle !important;
    position: relative;
    top: 3px; /* Schiebt den Strich nach unten auf Schrifthöhe */
}

/* --- Status-Badges (FMB) -----------------------------------------
   Klasse am Kachel-Container (Erweitert → CSS-Klassen):
   ausgebucht · noch1 · noch2 · noch3 · neu
   "neu" ist kombinierbar: "neu noch3"
   ----------------------------------------------------------------- */
.ausgebucht .elementor-widget-image,
.noch1 .elementor-widget-image,
.noch2 .elementor-widget-image,
.noch3 .elementor-widget-image,
.neu .elementor-widget-image{ position:relative; }

.ausgebucht .elementor-widget-image::after,
.noch1 .elementor-widget-image::after,
.noch2 .elementor-widget-image::after,
.noch3 .elementor-widget-image::after,
.neu .elementor-widget-image::before{
  position:absolute; top:.75rem; z-index:10;
  color:#fff; padding:.3rem .65rem; border-radius:999px;
  font-family:"Inter",sans-serif; font-size:.625rem; font-weight:700;
  line-height:1; text-transform:uppercase; letter-spacing:.05em;
  box-shadow:0 1px 3px rgba(12,28,88,.15);
  pointer-events:none;
}

.ausgebucht .elementor-widget-image::after,
.noch1 .elementor-widget-image::after,
.noch2 .elementor-widget-image::after,
.noch3 .elementor-widget-image::after{ right:.75rem; }

.ausgebucht .elementor-widget-image::after{ content:"Ausgebucht"; background:#64748b; box-shadow:none; }
.noch1 .elementor-widget-image::after{ content:"Nur noch 1"; background:#dc2626; }
.noch2 .elementor-widget-image::after{ content:"Nur noch 2"; background:#dc2626; }
.noch3 .elementor-widget-image::after{ content:"Nur noch 3"; background:#dc2626; }

.neu .elementor-widget-image::before{ content:"Neu"; left:.75rem; background:#385CF5; }

.ausgebucht{ opacity:.6; }
.ausgebucht .elementor-widget-image img{ filter:grayscale(100%); }
.ausgebucht .elementor-widget-n-accordion{ pointer-events:none; }/* End custom CSS */