/*
Theme Name: TheGem Elementor Child
Description: Multi-Purpose Wordpress Theme
Author: Codex Themes.
Theme URI: http://codex-themes.com/thegem/
Author URI: http://codex-themes.com/thegem/
Template: thegem-elementor
Version: 1.0
Tags: one-column, two-columns, left-sidebar, right-sidebar, responsive-layout, custom-background, custom-colors, custom-header, custom-menu, featured-images, flexible-header, full-width-template, theme-options, translation-ready, dark, light
License: GNU General Public License
License URI: license.txt
*/

/* =========================================================
   AMS / TheGem: Burger-Menü mit Beschriftung "MENÜ"
   Gilt für normalen Header + Sticky Header
   ========================================================= */

/* Grundlayout Burger-Button */
.menu-toggle.hamburger-toggle.default,
.menu-toggle.hamburger-toggle.small,
.menu-toggle.overlay-toggle {
    position: relative !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    cursor: pointer !important;
}

/* Normaler Header */
.menu-toggle.hamburger-toggle.default,
.menu-toggle.overlay-toggle {
    width: 90px !important;
    height: 30px !important;
    top: 6px !important;
}

/* Sticky Header / Small Burger */
.menu-toggle.hamburger-toggle.small {
    width: 70px !important;
    height: 24px !important;
    top: 3px !important;
}

/* Text MENÜ */
.menu-toggle.hamburger-toggle.default::before,
.menu-toggle.hamburger-toggle.small::before,
.menu-toggle.overlay-toggle::before {
    content: "MENÜ";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

/* Text normaler Header */
.menu-toggle.hamburger-toggle.default::before,
.menu-toggle.overlay-toggle::before {
    font-size: 14px;
    letter-spacing: 1px;
	color: #c01818;
}

/* Text Sticky Header */
.menu-toggle.hamburger-toggle.small::before {
    font-size: 10px;
    letter-spacing: 1px;
    top: 56%;
	color: #c01818;
}

/* Burger-Linien rechts ausrichten */
.menu-toggle.hamburger-toggle.default .menu-line-1,
.menu-toggle.hamburger-toggle.default .menu-line-2,
.menu-toggle.hamburger-toggle.default .menu-line-3,
.menu-toggle.hamburger-toggle.small .menu-line-1,
.menu-toggle.hamburger-toggle.small .menu-line-2,
.menu-toggle.hamburger-toggle.small .menu-line-3,
.menu-toggle.overlay-toggle .menu-line-1,
.menu-toggle.overlay-toggle .menu-line-2,
.menu-toggle.overlay-toggle .menu-line-3 {
    left: auto !important;
    right: 0 !important;
}

/* Linien normaler Header */
.menu-toggle.hamburger-toggle.default .menu-line-1,
.menu-toggle.hamburger-toggle.default .menu-line-2,
.menu-toggle.hamburger-toggle.default .menu-line-3,
.menu-toggle.overlay-toggle .menu-line-1,
.menu-toggle.overlay-toggle .menu-line-2,
.menu-toggle.overlay-toggle .menu-line-3 {
    width: 36px !important;
}

/* Linien Sticky Header */
.menu-toggle.hamburger-toggle.small .menu-line-1,
.menu-toggle.hamburger-toggle.small .menu-line-2,
.menu-toggle.hamburger-toggle.small .menu-line-3 {
    width: 28px !important;
}


/* Nicht klickbaren Parent-Menüpunkt neutral darstellen */
.menu-item-has-children > a {
    cursor: default;
}

.menu-item-has-children > a:hover {
    color: inherit !important;
    background: transparent !important;
}

.menu-item-has-children > a::before,
.menu-item-has-children > a::after {
    display: none !important;
}





/* Overlay / Hamburger Menü */

/* Aktiver Menüpunkt */
.overlay-menu-wrapper .menu-item.current-menu-item > a,
.overlay-menu-wrapper .menu-item.current_page_item > a {
    color: #c01818 !important;
    border-color: #c01818 !important;
}

/* Hover */
.overlay-menu-wrapper .menu-item > a:hover {
    color: #c01818 !important;
    border-color: #c01818 !important;
}

/* Aktive Umrandung */
.overlay-menu-wrapper .menu-item.current-menu-item > a span,
.overlay-menu-wrapper .menu-item.current_page_item > a span {
    border-color: #c01818 !important;
}

/* Hover Umrandung */
.overlay-menu-wrapper .menu-item > a:hover span {
    border-color: #c01818 !important;
}

/* Overlay Menü Rahmen Hover + Aktiv */
.overlay-menu-wrapper .menu-item > a::before,
.overlay-menu-wrapper .menu-item > a::after,
.overlay-menu-wrapper .menu-item.current-menu-item > a::before,
.overlay-menu-wrapper .menu-item.current-menu-item > a::after,
.overlay-menu-wrapper .menu-item.current_page_item > a::before,
.overlay-menu-wrapper .menu-item.current_page_item > a::after {
    border-color: #c01818 !important;
}
/* Mobile Overlay X weiß */
.overlay-toggle-close.default .menu-line-1,
.overlay-toggle-close.default .menu-line-2,
.overlay-toggle-close.default .menu-line-3 {
    background-color: #ffffff !important;
}




/* Sticky Header Overlay X weiß */
.overlay-toggle-close.small .menu-line-1,
.overlay-toggle-close.small .menu-line-2,
.overlay-toggle-close.small .menu-line-3,
button.overlay-toggle-close.small .menu-line-1,
button.overlay-toggle-close.small .menu-line-2,
button.overlay-toggle-close.small .menu-line-3 {
    background-color: #ffffff !important;
}












/* =========================================================
   Mobile Overlay Menü
   ========================================================= */

@media (max-width: 1024px) {

    /* Standard-Menüpunkte weiß */
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li > a {
        color: #ffffff !important;
        opacity: 1 !important;
    }

    /* Aktuelle Seite rot */
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li.current-menu-item > a,
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li.current_page_item > a {
        color: #c01818 !important;
    }

    /* Hover rot */
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li > a:hover {
        color: #c01818 !important;
    }

    /* Geöffneter Parent / aufgeklapptes Submenu grau */
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li.mobile-overlay-item-open > a,
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li.mobile-overlay-item-open > a span,
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li.overlay-item-open > a,
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li.overlay-item-open > a span,
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li.mega-current-first-element-mobile-collapsible > a,
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li.mega-current-first-element-mobile-collapsible > a span,
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li > a[aria-expanded="true"],
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li > a[aria-expanded="true"] span {
        color: #d8d8e6 !important;
        opacity: 1 !important;
    }

    /* TheGem-Ausgrauen deaktivieren */
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li {
        opacity: 1 !important;
    }
}

@media (max-width: 1024px) {

    /* Standard */
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li > a {
        color: #ffffff !important;
    }

    /* Aktive Seite */
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li.current-menu-item > a,
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li.current_page_item > a {
        color: #c01818 !important;
    }

    /* Hover */
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li > a:hover {
        color: #c01818 !important;
    }

    /* NUR aufgeklappter Parent */
    .thegem-te-menu-mobile__overlay.mobile-view ul.nav-menu > li > a[aria-expanded="true"] {
        color: #d8d8e6 !important;
    }
}



@media (min-width: 1200px) {
    #footer-nav .col-md-6 {
        position: static !important;
    }

    #footer-nav .col-md-6 > * {
        position: relative !important;
        left: 400px !important;
    }
}

@media (max-width: 1199px) {
    #footer-nav .col-md-6,
    #footer-nav .col-md-6 > * {
        position: static !important;
        left: auto !important;
        text-align: center !important;
    }
}

#colophon.site-footer {
    padding-top: 55px !important;
    padding-bottom: 45px !important;
}










/* =========================================================
   AMS Floating Kontaktbuttons
   ========================================================= */

.ams-floating-contact {
    position: fixed;
    right: 24px;
    bottom: 110px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}

.ams-floating-contact__item {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 58px;
    height: 58px;
    overflow: hidden;
    background: #c01818;
    color: #ffffff !important;
    text-decoration: none !important;
    border-radius: 999px;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.25);
    transition: width 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.ams-floating-contact__item:hover,
.ams-floating-contact__item:focus {
    width: 265px;
    background: #c93535;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.32);
}

.ams-floating-contact__text {
    padding-left: 24px;
    padding-right: 4px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.2px;
    line-height: 1;
    color: #ffffff;
    white-space: nowrap;
    opacity: 0;
    transform: translateX(12px);
    transition: opacity 0.22s ease, transform 0.22s ease;
}

.ams-floating-contact__item:hover .ams-floating-contact__text,
.ams-floating-contact__item:focus .ams-floating-contact__text {
    opacity: 1;
    transform: translateX(0);
}

.ams-floating-contact__icon {
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ams-floating-contact__icon svg {
    width: 24px;
    height: 24px;
    fill: #ffffff;
    display: block;
}

/* Mobile */
/* =========================================================
   AMS Floating Kontaktbuttons – FINAL
   ========================================================= */

.ams-floating-contact {
    position: fixed;
    right: 24px;
    bottom: 110px;
    z-index: 99999;

    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}


/* ---------------------------------------------------------
   Button – geschlossen
   --------------------------------------------------------- */

.ams-floating-contact__item {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    width: 58px;
    height: 58px;

    overflow: hidden;

    background: #c01818;
    color: #ffffff !important;

    text-decoration: none !important;
    border-radius: 999px;

    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.25);

    transition:
        width 0.3s ease,
        background-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}


/* ---------------------------------------------------------
   Desktop / Tablet: öffnen
   focus-visible statt focus verhindert "Hängenbleiben"
   --------------------------------------------------------- */

.ams-floating-contact__item:hover,
.ams-floating-contact__item:focus-visible {
    width: 265px;

    background: #c93535;
    color: #ffffff !important;

    transform: translateY(-2px);

    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.32);
}


/* ---------------------------------------------------------
   Text
   --------------------------------------------------------- */

.ams-floating-contact__text {
    padding-left: 24px;
    padding-right: 4px;

    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.2px;
    line-height: 1;

    color: #ffffff;

    white-space: nowrap;

    opacity: 0;
    transform: translateX(12px);

    transition:
        opacity 0.22s ease,
        transform 0.22s ease;
}

.ams-floating-contact__item:hover .ams-floating-contact__text,
.ams-floating-contact__item:focus-visible .ams-floating-contact__text {
    opacity: 1;
    transform: translateX(0);
}


/* ---------------------------------------------------------
   Icon
   --------------------------------------------------------- */

.ams-floating-contact__icon {
    flex: 0 0 58px;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.ams-floating-contact__icon svg {
    width: 24px;
    height: 24px;

    fill: #ffffff;

    display: block;
}


/* =========================================================
   OneTap große Schrift – Tablet / Desktop
   Button wächst mit Telefonnummer / E-Mail mit
   ========================================================= */

@media (min-width: 768px) {

    body.ams-menu-large-text
    .ams-floating-contact__item:hover,

    body.ams-menu-large-text
    .ams-floating-contact__item:focus-visible {

        width: max-content !important;
        min-width: 265px !important;
        max-width: calc(100vw - 32px) !important;

        height: auto !important;
        min-height: 58px !important;
    }


    body.ams-menu-large-text
    .ams-floating-contact__item:hover
    .ams-floating-contact__text,

    body.ams-menu-large-text
    .ams-floating-contact__item:focus-visible
    .ams-floating-contact__text {

        white-space: nowrap !important;

        opacity: 1 !important;
        transform: none !important;

        padding-right: 18px !important;
    }
}


/* =========================================================
   Smartphone
   Dort bleiben bewusst nur die runden Icons sichtbar.
   Telefon / Mail werden beim Antippen direkt ausgelöst.
   ========================================================= */


@media (max-width: 767px) {

    .ams-floating-contact {
        right: 16px;
        bottom: 90px;
        gap: 10px;
    }

    /* geschlossen */
    .ams-floating-contact__item {
        width: 54px !important;
        height: 54px !important;
        min-width: 54px !important;
        min-height: 54px !important;
        transform: none !important;
    }

    /* beim Hover in Responsively aufklappen */
    .ams-floating-contact__item:hover {
        width: max-content !important;
        min-width: 54px !important;
        max-width: calc(100vw - 32px) !important;

        height: auto !important;
        min-height: 54px !important;
    }

    .ams-floating-contact__icon {
        flex: 0 0 54px;
        width: 54px;
        height: 54px;
    }

    .ams-floating-contact__icon svg {
        width: 22px;
        height: 22px;
    }

    /* Text existiert, ist geschlossen aber unsichtbar */
    .ams-floating-contact__text {
        display: block !important;

        opacity: 0 !important;
        transform: translateX(12px) !important;

        white-space: nowrap !important;

        padding-left: 18px !important;
        padding-right: 12px !important;

        color: #ffffff !important;
    }

    /* beim Hover sichtbar */
    .ams-floating-contact__item:hover .ams-floating-contact__text {
        opacity: 1 !important;
        transform: translateX(0) !important;
    }
}

@media (max-width: 767px) {

    .ams-floating-contact__item[href^="mailto:"]:hover
    .ams-floating-contact__text {

        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;

        max-width: calc(100vw - 100px) !important;
        text-align: left;
    }

}


/* Mobile: AMS Menübutton sauber vom rechten Rand lösen */
@media (max-width: 767px) {

    #menu-e250312 {
        position: relative !important;
        right: 22px !important;
    }

    #menu-e250312 button.menu-toggle.overlay-toggle.default {
        position: relative !important;
        right: 22px !important;
    }

}
/* Mobile: AMS Menübutton normal + sticky synchron */
@media (max-width: 767px) {

    #menu-e250312 {
        position: relative !important;
        right: 22px !important;
    }

    #menu-e250312 button.menu-toggle.overlay-toggle.default,
    #menu-e250312 button.menu-toggle.overlay-toggle.small,
    #menu-e250312 button.menu-toggle.hamburger-toggle.small {
        position: relative !important;
        right: 22px !important;
    }

}



/* =========================================================
   Mobile Footer Fix: Impressum / Datenschutz / Copyright
   ========================================================= */
@media (max-width: 767px) {

    #footer-nav.site-footer {
        position: relative !important;
        clear: both !important;
    }

    #footer-nav .container,
    #footer-nav .row {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
    }

    #footer-nav .col-md-3,
    #footer-nav .col-md-6 {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        left: auto !important;
        right: auto !important;
        position: static !important;
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #footer-nav #footer-navigation,
    #footer-nav .footer-site-info {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        position: static !important;
        margin: 0 auto !important;
        padding: 0 !important;
        line-height: 1.6 !important;
    }

    #footer-nav #footer-menu {
        display: flex !important;
        justify-content: center !important;
        gap: 18px !important;
        padding: 0 !important;
        margin: 0 0 20px 0 !important;
    }
}

@media (max-width: 767px) {

    #footer-nav #footer-navigation {
        margin-bottom: 20px !important;
    }

}

.ams-floating-contact-widget,
.ams-floating-contact-widget .elementor-widget-container {
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}



@media (max-width: 767px) {
    .ams-aero-news-footer-section {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
        overflow: visible !important;
    }

    .ams-aero-news-footer-section .elementor-container,
    .ams-aero-news-footer-section .elementor-widget-wrap,
    .ams-aero-news-footer-section .elementor-widget-container {
        overflow: visible !important;
    }
}

@media (max-width: 767px) {

    #footer-nav #footer-navigation {
        padding-top: 30px !important;
    }

    #footer-nav #footer-menu {
        margin-top: 0 !important;
        margin-bottom: 1px !important;
    }

    #footer-nav .footer-site-info {
        margin-top: 4px !important;
    }

}


/* =========================================================
   Tablet: Aero-News + TheGem-Footer sauber trennen
   ========================================================= */
@media (min-width: 768px) and (max-width: 1024px) {

    .aero-news-section {
        padding-left: 20px !important;
        padding-right: 20px !important;
        padding-bottom: 35px !important;
    }

    .aero-news-wrapper {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 30px !important;
    }

    .aero-news-title,
    .aero-news-desc {
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    .aero-news-column {
        min-height: 165px !important;
        padding-bottom: 60px !important;
        box-sizing: border-box !important;
    }

    .aero-news-column::before,
    .aero-news-column::after {
        bottom: 12px !important;
    }

    .ams-aero-news-footer-section {
        display: block !important;
        position: relative !important;
        padding-bottom: 95px !important;
        margin-bottom: 0 !important;
        overflow: visible !important;
        clear: both !important;
    }

    footer#footer-nav.site-footer {
        display: block !important;
        position: relative !important;
        clear: both !important;
        margin-top: 0 !important;
        padding-top: 18px !important;
        padding-bottom: 18px !important;
        background: #15182a !important;
        border-top: none !important;
    }

    footer#footer-nav.site-footer .container,
    footer#footer-nav.site-footer .row {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    #footer-nav .col-md-3,
    #footer-nav .col-md-6 {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        left: auto !important;
        right: auto !important;
        position: static !important;
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #footer-nav #footer-navigation {
        display: block !important;
        padding-top: 0 !important;
        margin-bottom: 16px !important;
        text-align: center !important;
    }

    #footer-nav #footer-menu {
        display: flex !important;
        justify-content: center !important;
        gap: 24px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #footer-nav .footer-site-info {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 375px) {

    .aero-news-column {
        margin-bottom: 32px !important;
    }

    .aero-news-title {
        font-size: 13px !important;
        line-height: 1.3 !important;
    }

    .aero-news-desc {
        font-size: 11px !important;
        line-height: 1.35 !important;
    }
}
@media (max-width: 375px) {

    #footer-nav.site-footer {
        padding-top: 22px !important;
    }

}
@media (max-width: 375px) {

    /* Abstand im unteren Footer oben/unten gleichmäßiger */
    #footer-nav.site-footer {
        padding-top: 38px !important;
        padding-bottom: 28px !important;
    }

    #footer-nav #footer-navigation {
        margin-bottom: 14px !important;
    }

    /* Abstand zwischen letztem News-Balken und Footer etwas kleiner */
    .aero-news-section {
        padding-bottom: 20px !important;
    }
}

.elementor-page-46 .block-content,
.elementor-page-44 .block-content,
.elementor-page-1982 .block-content {
    padding-top: 0 !important;
}




.team-person-link {
    pointer-events: none !important;
}









/* Abstand zwischen den Bildern */
.ams-galerie.elementor-widget-image-gallery
.elementor-image-gallery .gallery-item {
    padding: 10px !important;
}

/* Weiße Bilderrahmen mit dezentem Schatten */
.ams-galerie.elementor-widget-image-gallery
.elementor-image-gallery .gallery-icon {
    position: relative;
    overflow: hidden;
    padding: 5px;
    background: #ffffff;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.13);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Verlinkung vollständig um das Bild legen */
.ams-galerie.elementor-widget-image-gallery
.elementor-image-gallery .gallery-icon a {
    display: block;
    overflow: hidden;
}

/* Bilder einheitlich darstellen */
.ams-galerie.elementor-widget-image-gallery
.elementor-image-gallery .gallery-icon img {
    display: block;
    width: 100% !important;
    height: auto;
    transition: transform 0.4s ease;
}

/* Hover: Kachel leicht anheben */
.ams-galerie.elementor-widget-image-gallery
.elementor-image-gallery .gallery-icon:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

/* Bild beim Hover leicht vergrößern */
.ams-galerie.elementor-widget-image-gallery
.elementor-image-gallery .gallery-icon:hover img {
    transform: scale(1.035);
}

/* Dezente rote Linie am unteren Rand */
.ams-galerie.elementor-widget-image-gallery
.elementor-image-gallery .gallery-icon::after {
    content: "";
    position: absolute;
    z-index: 3;
    left: 5px;
    right: 5px;
    bottom: 5px;
    height: 3px;
    background: #c01818;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.3s ease;
    pointer-events: none;
}

.ams-galerie.elementor-widget-image-gallery
.elementor-image-gallery .gallery-icon:hover::after {
    transform: scaleX(1);
}






.zertifikat-button .elementor-button:focus:not(:hover),
.zertifikat-button .elementor-button:active:not(:hover) {
    background-color: #c01818 !important;
    color: #ffffff !important;
    border-color: #c01818 !important;
    box-shadow: none !important;
    outline: none !important;
}





.ams-produkt-video {
    width: 100% !important;
    height: 250px !important;
    min-height: 250px !important;
}

.ams-produkt-video .elementor-widget-container,
.ams-produkt-video .elementor-wrapper {
    width: 100% !important;
    height: 250px !important;
    min-height: 250px !important;
    aspect-ratio: auto !important;
    padding-bottom: 0 !important;
}

.ams-produkt-video .elementor-custom-embed-image-overlay {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center !important;
}   





/* AMS – gut sichtbarer Schließen-Button der Video-Lightbox */
.elementor-lightbox .dialog-close-button,
.elementor-lightbox .dialog-lightbox-close-button {
    position: fixed !important;
    top: 22px !important;
    right: 22px !important;

    width: 50px !important;
    height: 50px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #c01818 !important;
    border-radius: 50% !important;
    opacity: 1 !important;

    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.28) !important;
    z-index: 999999 !important;

    transition:
        background-color 0.25s ease,
        transform 0.25s ease !important;
}

/* X-Symbol */
.elementor-lightbox .dialog-close-button i,
.elementor-lightbox .dialog-close-button svg,
.elementor-lightbox .dialog-lightbox-close-button i,
.elementor-lightbox .dialog-lightbox-close-button svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    font-size: 23px !important;
    width: 23px !important;
    height: 23px !important;
}

/* Hover */
.elementor-lightbox .dialog-close-button:hover,
.elementor-lightbox .dialog-lightbox-close-button:hover {
    background: #991313 !important;
    transform: scale(1.07);
}






/* Rechte Medienfläche vollständig ausfüllen */
.ams-produkt-media {
    position: relative !important;
    align-self: stretch !important;
    overflow: hidden !important;
}

/* Video-Widget über die gesamte Medienfläche ziehen */
.ams-produkt-media > .ams-produkt-video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

/* Alle inneren Elementor-Ebenen vollständig strecken */
.ams-produkt-video > .elementor-widget-container,
.ams-produkt-video .elementor-wrapper,
.ams-produkt-video .elementor-custom-embed-image-overlay {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    padding: 0 !important;
    aspect-ratio: auto !important;
}

.ams-produkt-video .elementor-custom-embed-image-overlay {
    background-size: cover !important;
    background-position: center !important;
}



/* Video leicht vergrößern, damit es die Kachel vollständig ausfüllt */
.ams-produkt-media {
    position: relative !important;
    overflow: hidden !important;
}

.ams-produkt-media .ams-produkt-video {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: 114% !important;
    height: 114% !important;
    transform: translateX(-50%) !important;
}




/* Vorschaubild des Videos vollständig ausfüllen */
.ams-produkt-video .elementor-custom-embed-image-overlay {
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

.ams-produkt-video .elementor-custom-embed-image-overlay img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
}
.ams-produkt-text {
    position: relative;
    z-index: 2;
    margin-right: -35px;
    background: #ffffff;
    clip-path: polygon(
        0 0,
        100% 0,
        88% 100%,
        0 100%
    );
}




/* Textbereich ohne Verschiebung */
.ams-produkt-text {
    position: relative !important;
    z-index: 2;
    width: 51% !important;
    flex: 0 0 51% !important;
    margin: 0 !important;
    background: #ffffff;
    clip-path: none !important;
}

/* Saubere schräge Kante als zusätzliche Fläche */
.ams-produkt-text::after {
    content: "";
    position: absolute;
    top: 0;
    right: -38px;
    width: 39px;
    height: 100%;
    background: #ffffff;
    clip-path: polygon(
        0 0,
        100% 0,
        0 100%
    );
    pointer-events: none;
}

/* Video nimmt den restlichen Platz vollständig ein */
.ams-produkt-media {
    width: 49% !important;
    flex: 0 0 49% !important;
    margin: 0 !important;
}



/* Dezente Bewegung der Produktkachel */
.ams-produkt-card {
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.ams-produkt-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.15);
}

/* Vorschaubild leicht vergrößern */
.ams-produkt-video .elementor-custom-embed-image-overlay img {
    transition: transform 0.6s ease;
}

.ams-produkt-card:hover
.ams-produkt-video
.elementor-custom-embed-image-overlay img {
    transform: scale(1.045);
}


.ams-produkt-text {
    width: 54% !important;
    flex: 0 0 54% !important;
}

.ams-produkt-media {
    width: 46% !important;
    flex: 0 0 46% !important;
}


/* Produktbilder füllen die komplette Medienfläche */
.ams-produkt-media .ams-produkt-bild {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

.ams-produkt-media .ams-produkt-bild > .elementor-widget-container,
.ams-produkt-media .ams-produkt-bild a {
    width: 100% !important;
    height: 100% !important;
}

.ams-produkt-media .ams-produkt-bild img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
}


/* Produktbilder beim Hover leicht vergrößern */
.ams-produkt-bild img {
    transition: transform 0.6s ease;
}

.ams-produkt-card:hover .ams-produkt-bild img {
    transform: scale(1.045);
}

/* Karte 06: mehr Raum für die Qualitätssicherungs-Grafik */
.ams-card-06 .ams-produkt-text {
    width: 47% !important;
    flex: 0 0 47% !important;
}

.ams-card-06 .ams-produkt-media {
    width: 53% !important;
    flex: 0 0 53% !important;
}

/* Schräge bei Karte 06 weniger weit über das Bild ziehen */
.ams-card-06 .ams-produkt-text::after {
    right: -26px !important;
    width: 27px !important;
}

.ams-card-06 .ams-produkt-media .ams-bild-06 img {
    object-position: 40% center !important;
}





.ams-bewerbung-button {
    position: relative;
    background: transparent !important;
    isolation: isolate;
}

.ams-bewerbung-button::before {
    content: "";
    position: absolute;
    inset: 0 6px;
    background: #c01818;
    transform: skewX(-7deg);
    box-shadow: 0 9px 16px rgba(0, 0, 0, 0.34);
    z-index: 0;
    pointer-events: none;
}

.ams-bewerbung-button > * {
    position: relative;
    z-index: 1;
}



.ams-bewerbung-button {
    transition: transform 0.25s ease;
}

.ams-bewerbung-button::before {
    transition:
        background-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

.ams-bewerbung-button:hover {
    transform: translateY(-4px);
}

.ams-bewerbung-button:hover::before {
    background: #a91414;
    transform: skewX(-7deg) scale(1.015);
    box-shadow: 0 13px 22px rgba(0, 0, 0, 0.42);
}


.ams-karriere-rechts {
    zoom: 0.85;
}


.ams-partner-card {
    border-color: #d8d8d8 #d8d8d8 #d8d8d8 #c01818 !important;
}





.ams-partner-button .elementor-button {
    min-width: 140px;
    padding: 11px 16px !important;

    background: transparent !important;
    border: 1px solid #c01818 !important;
    border-radius: 3px !important;

    color: #c01818 !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;

    white-space: nowrap;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;

    transition: all 0.25s ease;
}

.ams-partner-button .elementor-button:hover {
    background: #c01818 !important;
    color: #fff !important;
}

.ams-partner-button .elementor-button:hover .elementor-button-icon,
.ams-partner-button .elementor-button:hover .elementor-button-text {
    color: #fff !important;
}

.ams-partner-button,
.ams-partner-button .elementor-widget-container,
.ams-partner-button .elementor-button-wrapper {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.ams-partner-button .elementor-button::before,
.ams-partner-button .elementor-button::after {
    display: none !important;
    content: none !important;
}




.ams-partner-contact {
    position: relative;
    align-self: stretch;
    justify-content: center;
}

.ams-partner-contact::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 120px;
    background: #d8d8d8;
}



/* Teammitglied Oscar */
#post-4123 .team-person-phone {
    margin-top: 10px;
}

#post-4123 .team-person-phone a {
    font-size: 15px;
    line-height: 1.35;
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}




/* AMS Galerie automatisch durchnummerieren */
.ams-galerie {
    counter-reset: ams-gallery-counter;
}

.ams-galerie .gallery-item,
.ams-galerie .e-gallery-item {
    position: relative;
    counter-increment: ams-gallery-counter;
}

/* Nummer */
.ams-galerie .gallery-item::after,
.ams-galerie .e-gallery-item::after {
    content: counter(ams-gallery-counter, decimal-leading-zero);
    
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 20;

    font-size: 18px;
    font-weight: 600;
    line-height: 1;

    color: #fff;
    background: #c01818;

    padding: 8px 11px;

    opacity: 0;
    transform: translateY(5px);
    transition: opacity .25s ease, transform .25s ease;

    pointer-events: none;
}

/* beim Mouseover einblenden */
.ams-galerie .gallery-item:hover::after,
.ams-galerie .e-gallery-item:hover::after {
    opacity: 1;
    transform: translateY(0);
}


#news1 {
  scroll-margin-top: 100px;
}


/* =========================================================
   AMS PRODUKTBEREICHE – RESPONSIVE
   ========================================================= */


/* =========================================================
   TABLET
   768 – 1024 PX

   Eine Produktkarte pro Zeile.
   Innerhalb der Karte bleiben Text + Bild nebeneinander.
   ========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {

    /* Raster: nur noch eine Karte pro Reihe */
    .ams-produkt-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }


    /* Karte über volle Breite */
    .ams-produkt-grid .ams-produkt-card {
        width: 100% !important;
        max-width: 100% !important;
    }


    /* Text wieder mit genügend Platz */
    .ams-produkt-grid .ams-produkt-text {
        width: 54% !important;
        flex: 0 0 54% !important;
    }


    /* Medienfläche */
    .ams-produkt-grid .ams-produkt-media {
        width: 46% !important;
        flex: 0 0 46% !important;
    }


    /* Karte 06 auf Tablet ebenfalls normal behandeln */
    .ams-produkt-grid .ams-card-06 .ams-produkt-text {
        width: 54% !important;
        flex: 0 0 54% !important;
    }

    .ams-produkt-grid .ams-card-06 .ams-produkt-media {
        width: 46% !important;
        flex: 0 0 46% !important;
    }

}


/* =========================================================
   SMARTPHONE
   BIS 767 PX

   Eine Karte pro Zeile.
   Innerhalb der Karte:
   Text oben / Bild bzw. Video unten.
   ========================================================= */

@media (max-width: 767px) {

    /* -----------------------------------------------------
       RASTER
       ----------------------------------------------------- */

    .ams-produkt-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }


    /* -----------------------------------------------------
       PRODUKTKARTE
       ----------------------------------------------------- */

    .ams-produkt-grid .ams-produkt-card {
        display: flex !important;
        flex-direction: column !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        overflow: hidden !important;
    }


    /* -----------------------------------------------------
       TEXTBEREICH
       ----------------------------------------------------- */

    .ams-produkt-grid .ams-produkt-text,
    .ams-produkt-grid .ams-card-06 .ams-produkt-text {

        position: relative !important;

        width: 100% !important;
        max-width: 100% !important;

        flex: 0 0 auto !important;

        margin: 0 !important;

        box-sizing: border-box !important;

        background: #ffffff !important;

        clip-path: none !important;
    }


    /* Schräge Desktopkante auf Smartphone entfernen */
    .ams-produkt-grid .ams-produkt-text::after,
    .ams-produkt-grid .ams-card-06 .ams-produkt-text::after {

        display: none !important;
        content: none !important;
    }


    /* -----------------------------------------------------
       MEDIENBEREICH
       ----------------------------------------------------- */

    .ams-produkt-grid .ams-produkt-media,
    .ams-produkt-grid .ams-card-06 .ams-produkt-media {

        position: relative !important;

        width: 100% !important;
        max-width: 100% !important;

        flex: 0 0 auto !important;

        height: 220px !important;
        min-height: 220px !important;

        margin: 0 !important;

        overflow: hidden !important;
    }


    /* -----------------------------------------------------
       VIDEO

       Auf Mobil nicht mehr 114% aufblasen.
       ----------------------------------------------------- */

    .ams-produkt-grid
    .ams-produkt-media
    .ams-produkt-video {

        position: absolute !important;

        inset: 0 !important;

        width: 100% !important;
        height: 100% !important;

        transform: none !important;

        margin: 0 !important;
    }


    .ams-produkt-grid
    .ams-produkt-video
    .elementor-widget-container,

    .ams-produkt-grid
    .ams-produkt-video
    .elementor-wrapper,

    .ams-produkt-grid
    .ams-produkt-video
    .elementor-custom-embed-image-overlay {

        width: 100% !important;
        height: 100% !important;

        min-height: 100% !important;
    }


    /* -----------------------------------------------------
       BILDER
       ----------------------------------------------------- */

    .ams-produkt-grid
    .ams-produkt-media
    .ams-produkt-bild {

        position: absolute !important;

        inset: 0 !important;

        width: 100% !important;
        height: 100% !important;
    }


    .ams-produkt-grid
    .ams-produkt-media
    .ams-produkt-bild
    img {

        width: 100% !important;
        height: 100% !important;

        object-fit: cover !important;
        object-position: center !important;
    }


    /* Karte 06 – spezielle Desktop-Bildposition mobil neutralisieren */
    .ams-produkt-grid
    .ams-card-06
    .ams-produkt-media
    .ams-bild-06
    img {

        object-position: center !important;
    }

}




/* =========================================================
   AMS LEISTUNGSSPEKTRUM – SMARTPHONE RESPONSIVE
   Desktop + Tablet bleiben unverändert
   ========================================================= */

@media (max-width: 767px) {

    /* =====================================================
       GESAMTE LEISTUNGSKARTE
       Text und Bild nicht mehr nebeneinander,
       sondern untereinander
       ===================================================== */

    .ams-leistung-card {
        display: flex !important;
        flex-direction: column !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        box-sizing: border-box !important;
    }


    /* =====================================================
       TEXTBEREICH
       ===================================================== */

    .ams-leistung-card .ams-leistung-text {
        width: 100% !important;
        max-width: 100% !important;

        flex: 0 0 auto !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        box-sizing: border-box !important;
    }


    /* Sicherheit:
       Widgets im Textbereich dürfen nicht auf einer
       alten festen Breite hängen bleiben
       ===================================================== */

    .ams-leistung-card .ams-leistung-text > .elementor-element,
    .ams-leistung-card .ams-leistung-text .elementor-widget {
        width: 100% !important;
        max-width: 100% !important;
    }


    /* =====================================================
       MEDIENBEREICH
       kommt unter den Text
       ===================================================== */

    .ams-leistung-card .ams-leistung-media {
        position: relative !important;

        width: 100% !important;
        max-width: 100% !important;

        flex: 0 0 auto !important;

        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-top: 20px !important;

        box-sizing: border-box !important;

        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }


    /* =====================================================
       BILD-WIDGET
       ===================================================== */

    .ams-leistung-card .ams-leistung-media .elementor-widget-image,
    .ams-leistung-card .ams-leistung-media .elementor-widget-container {
        width: 100% !important;
        max-width: 100% !important;
    }


    /* Bild proportional darstellen.
       Kein erzwungenes Cover, damit technische Zeichnungen
       nicht abgeschnitten werden.
       ===================================================== */

    .ams-leistung-card .ams-leistung-media img {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;

        margin: 0 auto !important;
    }

}





/* =========================================================
   AMS KARRIERE – RESPONSIVE FINAL
   Desktop ab 1025px bleibt unangetastet
   ========================================================= */



/* =========================================================
   AMS KARRIERE – TABLET / 1024
   768 – 1024 PX

   Elementor-Grundlayout bleibt erhalten.
   Wir korrigieren nur:
   - etwas Abstand zum Bildschirmrand
   - Icon/Text-Kollisionen in den Infoboxen

   Smartphone <= 767px NICHT betroffen.
   ========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {

    /* -----------------------------------------------------
       GESAMTBEREICH

       Originale Elementor-Spalten NICHT verändern.
       Nur etwas Abstand zum äußeren Bildschirmrand.
       ----------------------------------------------------- */

    .ams-karriere-layout {
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;

        margin-left: auto !important;
        margin-right: auto !important;

        box-sizing: border-box !important;
    }


    /* =====================================================
       INFOBOXEN

       Originales Elementor-Layout bleibt bestehen.

       Das Icon wird unabhängig positioniert.
       Dadurch kann es nicht mehr in Überschrift/Text ragen.
       ===================================================== */

    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon) {

        position: relative !important;

        box-sizing: border-box !important;
    }


    /* -----------------------------------------------------
       ICON
       ----------------------------------------------------- */

    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon)
    > .elementor-widget-icon {

        position: absolute !important;

        left: 0 !important;
        top: 50% !important;

        transform: translateY(-50%) !important;

        width: 42px !important;
        max-width: 42px !important;

        margin: 0 !important;

        z-index: 2 !important;
    }


    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon)
    > .elementor-widget-icon
    .elementor-icon-wrapper {

        width: 42px !important;

        text-align: center !important;
    }


    /* -----------------------------------------------------
       TEXTBEREICH

       Genügend feste Distanz zum Icon.
       Elementor-interne Textgestaltung bleibt erhalten.
       ----------------------------------------------------- */

    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon)
    > .e-con {

        width: calc(100% - 56px) !important;
        max-width: calc(100% - 56px) !important;

        margin-left: 56px !important;
        margin-right: 0 !important;

        box-sizing: border-box !important;
    }

}


/* =========================================================
   NUR KLEINERES TABLET
   768 – 899 PX

   Dort ist die rechte Spalte schmaler:
   Icon etwas kleiner + weniger Abstand.
   ========================================================= */

@media (min-width: 768px) and (max-width: 899px) {

    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon)
    > .elementor-widget-icon {

        width: 36px !important;
        max-width: 36px !important;
    }


    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon)
    > .elementor-widget-icon
    .elementor-icon-wrapper {

        width: 36px !important;
    }


    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon)
    > .e-con {

        width: calc(100% - 48px) !important;
        max-width: calc(100% - 48px) !important;

        margin-left: 48px !important;
    }

}



/* =========================================================
   SMARTPHONE
   BIS 767 PX
   ========================================================= */

@media (max-width: 767px) {

    /* -----------------------------------------------------
       GESAMTLAYOUT

       16px links UND rechts.
       ----------------------------------------------------- */

    .ams-karriere-layout {
        display: flex !important;
        flex-direction: column !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        padding-left: 16px !important;
        padding-right: 16px !important;

        margin: 0 !important;

        gap: 18px !important;

        align-items: stretch !important;

        box-sizing: border-box !important;
    }


    /* Sicherheit gegen Überbreite */

    .ams-karriere-layout,
    .ams-karriere-layout * {
        box-sizing: border-box !important;
    }


    /* -----------------------------------------------------
       LINKER HAUPTBEREICH

       Abstand zur Titelgrafik wieder herstellen.
       ----------------------------------------------------- */

    .ams-karriere-links {
        order: 1 !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        height: auto !important;
        min-height: 0 !important;

        flex: 0 0 auto !important;

        padding:
            30px
            0
            10px
            0 !important;

        margin: 0 !important;
    }


    /* -----------------------------------------------------
       RECHTER INFOBEREICH
       ----------------------------------------------------- */

    .ams-karriere-rechts {
        order: 2 !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        height: auto !important;
        min-height: 0 !important;

        flex: 0 0 auto !important;

        padding:
            8px
            0
            18px
            0 !important;

        margin: 0 !important;

        zoom: 1 !important;
    }


    /* -----------------------------------------------------
       ALTE HÖHEN AUFHEBEN
       ----------------------------------------------------- */

    .ams-karriere-links .e-con,
    .ams-karriere-rechts .e-con {

        height: auto !important;
        min-height: 0 !important;

        justify-content: flex-start !important;
    }


    /* =====================================================
       INFOBOX MOBIL

       Icon jetzt mittig über dem jeweiligen Text.
       ===================================================== */

    .ams-karriere-rechts
    .e-con:has(> .elementor-widget-icon) {

        display: flex !important;
        flex-direction: column !important;

        width: 100% !important;
        max-width: 100% !important;

        align-items: stretch !important;

        gap: 10px !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        box-sizing: border-box !important;
    }


    /* ICON MITTIG */

    .ams-karriere-rechts
    .e-con:has(> .elementor-widget-icon)
    > .elementor-widget-icon {

        width: 100% !important;
        max-width: 100% !important;

        margin:
            0
            auto
            4px
            auto !important;

        align-self: stretch !important;
    }


    .ams-karriere-rechts
    .e-con:has(> .elementor-widget-icon)
    > .elementor-widget-icon
    .elementor-icon-wrapper {

        width: 100% !important;

        text-align: center !important;
    }


    /* Text wieder volle Breite */

    .ams-karriere-rechts
    .e-con:has(> .elementor-widget-icon)
    > .e-con {

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;

        margin: 0 !important;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* =====================================================
       BEWERBUNGSBUTTON
       ===================================================== */

    .ams-bewerbung-button {

        position: relative !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        width: 220px !important;
        max-width: calc(100% - 24px) !important;

        height: auto !important;
        min-height: 0 !important;

        margin:
            20px
            auto
            14px
            auto !important;

        transform: none !important;

        align-self: center !important;

        overflow: visible !important;
    }


    /* WICHTIG:
       Der Button sitzt offenbar nicht zwingend innerhalb
       von .ams-karriere-layout.
       Deshalb hier NICHT auf das Layout begrenzen.
       */

    .e-con:has(> .ams-bewerbung-button),
    .elementor-element:has(> .ams-bewerbung-button) {

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        padding-left: 16px !important;
        padding-right: 16px !important;

        padding-top: 0 !important;
        padding-bottom: 0 !important;

        margin-top: 0 !important;
        margin-bottom: 0 !important;

        overflow: visible !important;

        box-sizing: border-box !important;
    }


    /* -----------------------------------------------------
       BILDER
       ----------------------------------------------------- */

    .ams-karriere-layout img {
        max-width: 100% !important;
        height: auto !important;
    }

}






/* =========================================================
   AMS KARRIERE – INFOBOX TABLET FIX
   768 – 1024 PX

   Smartphone bleibt unangetastet.
   Desktop bleibt unangetastet.
   ========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {

    /* =====================================================
       KOMPLETTE INFO-ZEILE

       Icon links in eigener Spalte.
       Text rechts.
       Ausrichtung an der Oberkante / Überschrift.
       ===================================================== */

    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon) {

        position: relative !important;

        display: grid !important;

        grid-template-columns:
            46px
            minmax(0, 1fr) !important;

        column-gap: 18px !important;

        align-items: start !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        padding:
            18px
            0
            18px
            0 !important;

        margin: 0 !important;

        box-sizing: border-box !important;
    }


    /* =====================================================
       ICON

       Alte absolute Positionierung vollständig aufheben.
       Das Icon sitzt oben auf Höhe der Überschrift.
       ===================================================== */

    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon)
    > .elementor-widget-icon {

        position: static !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        transform: none !important;

        grid-column: 1 !important;

        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;

        margin:
            2px
            0
            0
            0 !important;

        padding: 0 !important;

        justify-self: center !important;
        align-self: start !important;
    }


    /* Icon innerhalb seines Kreises sauber zentrieren */

    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon)
    > .elementor-widget-icon
    .elementor-icon-wrapper {

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 46px !important;
        height: 46px !important;

        margin: 0 !important;

        text-align: center !important;
    }


    /* =====================================================
       TEXT-CONTAINER

       Keine alte Verschiebung mehr.
       Beginnt sauber 18px hinter dem Iconbereich.
       ===================================================== */

    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon)
    > .e-con {

        grid-column: 2 !important;

        position: static !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;

        padding:
            0
            4px
            0
            0 !important;

        box-sizing: border-box !important;

        align-self: start !important;
    }


    /* Ersten Text / Überschrift nicht durch
       irgendwelche Elementor-Margins nach unten drücken */

    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon)
    > .e-con
    > :first-child {

        margin-top: 0 !important;
    }

}

/* =========================================================
   KARRIERE – IPAD 768–899 PX
   Fester Platz für Icon links
   1024 + Smartphone bleiben unverändert
   ========================================================= */

@media (min-width: 768px) and (max-width: 899px) {

    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon) {

        position: relative !important;

        display: block !important;

        width: 100% !important;

        /* links eigener Bereich nur für das Icon */
        padding:
            18px
            0
            18px
            72px !important;

        box-sizing: border-box !important;
    }


    /* Icon fest links platzieren */

    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon)
    > .elementor-widget-icon {

        position: absolute !important;

        left: 10px !important;
        top: 18px !important;

        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;

        margin: 0 !important;

        transform: none !important;
    }


    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon)
    > .elementor-widget-icon
    .elementor-icon-wrapper {

        width: 44px !important;
        height: 44px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        margin: 0 !important;
    }


    /* Text darf jetzt einfach den restlichen Raum nutzen */

    .ams-karriere-rechts
    > .e-con:has(> .elementor-widget-icon)
    > .e-con {

        position: static !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }

}



/* Contact Form 7 – Abteilungs-Auswahl */
.cf-style3-department select.wpcf7-select {
    display: block;
    width: 100%;
    height: 44px;
    padding: 0 16px;
    box-sizing: border-box;

    background: #ffffff;
    border: 0;
    border-radius: 0;

    color: #5f6875;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 14px;
    line-height: 44px;
}

/* Contact Form 7 – Senden-Button */
.ams-contact-submit {
    width: 100%;
    height: 44px;
    border: 0;
    border-radius: 0;
    background: #C01818 !important;
    color: #FFFFFF !important;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.ams-contact-submit:hover,
.ams-contact-submit:focus {
    background: #9F1414 !important;
}




/* Contact Form 7 – Formularfelder vereinheitlichen */

.cf-style3-name,
.cf-style3-email,
.cf-style3-department {
    margin-bottom: 32px;
}

.cf-style3-textarea {
    margin-bottom: 36px;
}

/* Alle Felder gleicher Hintergrund */
.cf-style3-name input,
.cf-style3-email input,
.cf-style3-department select,
.cf-style3-textarea textarea {
    background: #ffffff !important;
    color: #5f6875;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 14px;
    border: 0 !important;
    border-radius: 0;
    box-sizing: border-box;
}

/* Datenschutzzeile */
.cf-style3-consent {
    margin: 2px 0 18px 0;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #5f6875;
}

.cf-style3-consent .wpcf7-list-item {
    margin: 0;
}

.cf-style3-consent label {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cf-style3-consent input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    flex: 0 0 18px;
}

.cf-style3-consent a {
    color: #c01818;
}






/* =========================================
   AMS Kontaktformular – Statusmeldungen
   ========================================= */

.ams-form-status {
    position: fixed;
    z-index: 99999;
    left: 50%;
    top: 110px;
    transform: translate(-50%, -25px);

    width: calc(100% - 40px);
    max-width: 650px;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
        opacity .25s ease,
        transform .25s ease,
        visibility .25s ease;
}

.ams-form-status.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.ams-form-status-inner {
    display: flex;
    align-items: center;
    gap: 16px;

    padding: 20px 22px;

    background: #ffffff;
    border-left: 5px solid #c01818;

    box-shadow: 0 10px 35px rgba(0, 0, 0, .18);
}

.ams-form-status-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 42px;
    width: 42px;
    height: 42px;

    background: #c01818;
    color: #ffffff;

    font-size: 23px;
    font-weight: 700;
}

.ams-form-status-text {
    display: flex;
    flex-direction: column;
    flex: 1;

    color: #273248;
    font-family: "Montserrat", Arial, sans-serif;
}

.ams-form-status-text strong {
    margin-bottom: 3px;
    font-size: 17px;
    font-weight: 600;
}

.ams-form-status-text span {
    font-size: 14px;
    line-height: 1.5;
}

.ams-form-status-close {
    appearance: none;
    border: 0;
    background: transparent;
    color: #273248;

    font-size: 25px;
    line-height: 1;
    cursor: pointer;
}

/* Validierungsfehler etwas zurückhaltender */
.ams-form-status.is-warning .ams-form-status-icon {
    background: #273248;
}

/* Alte globale CF7-Meldungen ausblenden */
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
    display: none !important;
}

/* Eventuelle Statusrahmen des gesamten Formulars entfernen */
.wpcf7 form.sent,
.wpcf7 form.failed,
.wpcf7 form.aborted,
.wpcf7 form.spam,
.wpcf7 form.invalid,
.wpcf7 form.unaccepted {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Kleine konkrete Fehlermeldung direkt am jeweiligen Feld */
.wpcf7-not-valid-tip {
    margin-top: 7px;
    color: #c01818 !important;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 13px !important;
    line-height: 1.4;
}

@media (max-width: 600px) {
    .ams-form-status {
        top: 75px;
    }

    .ams-form-status-inner {
        padding: 16px;
    }
}






/* CF7 eigene Erfolgsmeldung ausblenden – AMS nutzt eigene Bestätigung */
.wpcf7 form.sent .wpcf7-response-output {
    display: none !important;
}

/* Grünen Erfolgsrahmen von CF7/TheGem entfernen */
.wpcf7 form.sent {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}


/* =========================================================
   Mobile: Abstand Aero-News zum unteren Footer optimieren
   ========================================================= */
@media (max-width: 767px) {

    .aero-news-section {
        padding-bottom: 24px !important;
    }

    .aero-news-column:last-child {
        margin-bottom: 0 !important;
    }

}

/* =========================================================
   Mobile: unteren Footer sauber zentrieren
   ========================================================= */
@media (max-width: 767px) {

    #footer-nav .container,
    #footer-nav .row {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box !important;
    }

    #footer-nav #footer-navigation,
    #footer-nav .footer-site-info {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: center !important;
    }

    #footer-nav #footer-navigation {
        padding-top: 0 !important;
        margin-bottom: 14px !important;
    }

    #footer-nav #footer-menu {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 6px 18px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #footer-nav .footer-site-info {
        margin-top: 0 !important;
        line-height: 1.4 !important;
    }

}
@media (max-width: 767px) {

    #footer-nav #footer-menu > li {
        width: auto !important;
        max-width: none !important;
        flex: 0 0 auto !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #footer-nav #footer-menu > li::before,
    #footer-nav #footer-menu > li::after {
        display: none !important;
        content: none !important;
    }

}

@media (max-width: 767px) {

    #footer-nav > .container {
        padding-top: 2em !important;
        box-sizing: border-box !important;
    }

}

/* =========================================================
   Mobile + OneTap: Aero.de Widget-Titel umbrechen lassen
   ========================================================= */
@media (max-width: 767px) {

    #thegem-template-2 > .widget-title {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;

        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;

        overflow-wrap: anywhere !important;
        word-break: normal !important;

        line-height: 1.15 !important;
        box-sizing: border-box !important;
    }

}

/* =========================================================
   Mobile + OneTap:
   TheGem Heading sauber umbrechen / deutsch trennen
   ========================================================= */
@media (max-width: 767px) {

    #thegem-heading-ccb7842,
    #thegem-heading-ccb7842 .thegem-heading-line-wrap,
    #thegem-heading-ccb7842 .thegem-heading-line,
    #thegem-heading-ccb7842 .label-icon-wrap {
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow: visible !important;
    }

    #thegem-heading-ccb7842 .thegem-heading-word {
        display: inline !important;

        white-space: normal !important;

        /* keine brutalen Umbrüche mitten im Wort */
        word-break: normal !important;
        overflow-wrap: normal !important;

        /* stattdessen korrekte deutsche Silbentrennung */
        hyphens: auto !important;
        -webkit-hyphens: auto !important;

        line-height: 1.08 !important;
        letter-spacing: 0 !important;
    }

}

/* =========================================================
   Mobile + OneTap:
   Karriere-Iconliste – lange Wörter sauber umbrechen
   ========================================================= */
@media (max-width: 767px) {

    .elementor-element-e3f77f3 .elementor-icon-list-text {
        min-width: 0 !important;
        max-width: 100% !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;

        hyphens: auto !important;
        -webkit-hyphens: auto !important;
    }

}

@media (max-width: 767px) {

    .elementor-element-a21ae18 h3 {
        white-space: normal !important;
        overflow: visible !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: manual !important;
        -webkit-hyphens: manual !important;
        max-width: 100% !important;
        height: auto !important;
    }

}




/* =========================================================
   OneTap: Info-/Announcement-Banner bei großer Schrift
   ========================================================= */

.ams-announcement-banner {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
}

.ams-announcement-banner > .e-con-inner,
.ams-announcement-banner > .elementor-container,
.ams-announcement-banner .elementor-widget-wrap {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
}

/* Inhalt darf bei Platzmangel in die nächste Zeile */
.ams-announcement-banner .e-con-inner {
    flex-wrap: wrap !important;
}




/* =========================================================
   Startseite: statisches TheGem Tabs-&-Tours
   Tab-Navigation ausblenden, Inhalt vollständig behalten
   ========================================================= */

.ams-static-accordion .gem-tta-tabs-container {
    display: none !important;
}

.ams-static-accordion .gem-tta-panel-heading {
    display: none !important;
}




/* =========================================================
   Startseite: statischer Reiter wie früherer TheGem-Tab
   ========================================================= */

.ams-static-tab-title {
    position: relative !important;
    z-index: 2 !important;

    width: fit-content !important;
    min-width: 0 !important;

    margin: 0 0 -1px 0 !important;
    padding: 0 !important;

    background: #f4f5f6 !important;
}

.ams-static-tab-title .elementor-heading-title {
    margin: 0 !important;
    padding: 14px 24px !important;

    background: #f4f5f6 !important;
    color: #5f6875 !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
}

.ams-static-tab-title {
    margin-left: -21px !important;
    margin-bottom: -10px !important;
}




/* =========================================================
   Kontaktformular Mobile + große Schrift
   Datenschutz + Senden-Button dürfen mitwachsen
   ========================================================= */
@media (max-width: 767px) {

    /* Datenschutzzeile */
    .cf-style3-consent label {
        align-items: flex-start !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .cf-style3-consent .wpcf7-list-item-label {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: 100% !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;

        hyphens: auto !important;
        -webkit-hyphens: auto !important;
    }

    .cf-style3-consent a {
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;

        hyphens: auto !important;
        -webkit-hyphens: auto !important;
    }

    /* Nachricht senden */
    .ams-contact-submit {
        height: auto !important;
        min-height: 44px !important;

        padding: 12px 16px !important;

        white-space: normal !important;
        line-height: 1.2 !important;

        box-sizing: border-box !important;
    }
}
@media (max-width: 767px) {

    .cf-style3-consent input[type="checkbox"] {
        margin-top: 0.3em !important;
    }

}



/* =========================================================
   Karriere – Mobile + OneTap große Schrift
   Lange Wörter sauber umbrechen
   ========================================================= */
@media (max-width: 767px) {

    .ams-karriere-links,
    .ams-karriere-links .elementor-widget-text-editor,
    .ams-karriere-links .elementor-widget-container,
    .ams-karriere-links p,
    .ams-karriere-links li {
        min-width: 0 !important;
        max-width: 100% !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;

        hyphens: auto !important;
        -webkit-hyphens: auto !important;
    }
}


/* =========================================================
   Karriere – rechte Infoboxen bei großer Schrift
   Überschriften und Texte dürfen sauber umbrechen
   ========================================================= */

@media (max-width: 1024px) {

    .ams-karriere-rechts,
    .ams-karriere-rechts .e-con,
    .ams-karriere-rechts .elementor-widget,
    .ams-karriere-rechts .elementor-widget-container {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .ams-karriere-rechts .elementor-heading-title,
    .ams-karriere-rechts p {
        max-width: 100% !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;

        hyphens: auto !important;
        -webkit-hyphens: auto !important;
    }
}


/* =========================================================
   ZERTIFIKATE – OneTap große Schrift
   Lange Texte innerhalb der Karten halten
   Seite ID 46
   ========================================================= */

.page-id-46 .e-con,
.page-id-46 .elementor-widget,
.page-id-46 .elementor-widget-container {
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.page-id-46 h1,
.page-id-46 h2,
.page-id-46 h3,
.page-id-46 h4,
.page-id-46 h5,
.page-id-46 h6,
.page-id-46 p,
.page-id-46 .elementor-heading-title,
.page-id-46 .elementor-button-text {
    max-width: 100% !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;

    hyphens: auto !important;
    -webkit-hyphens: auto !important;
}


/* =========================================================
   PRODUKTKARTEN – OneTap große Schrift
   Überschriften sauber innerhalb des Textbereichs umbrechen
   ========================================================= */

.ams-produkt-grid .ams-produkt-text {
    min-width: 0 !important;
}

.ams-produkt-grid .ams-produkt-text .elementor-widget-heading,
.ams-produkt-grid .ams-produkt-text .elementor-widget-container,
.ams-produkt-grid .ams-produkt-text .elementor-heading-title {
    min-width: 0 !important;
    max-width: 100% !important;
}

.ams-produkt-grid .ams-produkt-text .elementor-heading-title {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;

    hyphens: auto !important;
    -webkit-hyphens: auto !important;
}


/* =========================================================
   Produkt-/Leistungsseite – OneTap
   Infotexte in den Aufzählungen skalieren mit
   ========================================================= */

.elementor-page-1966 .elementor-widget-text-editor li > span {
    font-size: inherit !important;
    line-height: inherit !important;
}

.elementor-page-1966 .ams-schweiss-badge,
.elementor-page-1966 .ams-schweiss-badge .elementor-widget-container,
.elementor-page-1966 .ams-schweiss-badge .elementor-text-editor {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

.elementor-page-1966 .ams-schweiss-badge p {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;

    white-space: normal !important;
    overflow-wrap: break-word !important;

    line-height: 1.55 !important;
}


/* =========================================================
   ÜBER AMS – Accordion bei großer Schrift / Mobile
   ========================================================= */

@media (max-width: 767px) {

    .ams-ueber-accordion .gem-tta-panel,
    .ams-ueber-accordion .gem-tta-panel-body,
    .ams-ueber-accordion .gem-text-output {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        height: auto !important;
        min-height: 0 !important;

        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .ams-ueber-accordion .gem-tta-panel-body p,
    .ams-ueber-accordion .gem-tta-panel-body li {
        max-width: 100% !important;
        min-width: 0 !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;

        hyphens: auto !important;
        -webkit-hyphens: auto !important;
    }
}



/* =========================================================
   TEAM – große Schrift / OneTap
   Telefonnummer darf sauber mehrzeilig werden
   ========================================================= */

.elementor-page-486 .team-person-phone {
    margin-top: 12px !important;
    height: auto !important;
    min-height: 0 !important;
}

.elementor-page-486 .team-person-phone a {
    line-height: 1.1 !important;

    white-space: normal !important;
    overflow-wrap: break-word !important;
}

.elementor-page-486 .team-person-position {
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.25 !important;
}




/* =========================================================
   AMS HAMBURGER-MENÜ – NUR bei OneTap-Schriftvergrößerung
   ========================================================= */

/* Desktop */
@media (min-width: 1025px) {

    body.ams-menu-large-text
    nav#menu-e250312.hamburger-active
    ul#menu-primary {
        width: 520px !important;
        max-width: 520px !important;

        left: auto !important;
        right: 0 !important;

        box-sizing: border-box !important;
    }

    body.ams-menu-large-text
    nav#menu-e250312.hamburger-active
    ul#menu-primary > li,
    
    body.ams-menu-large-text
    nav#menu-e250312.hamburger-active
    ul#menu-primary > li > a {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body.ams-menu-large-text
    nav#menu-e250312.hamburger-active
    ul#menu-primary > li > a {
        white-space: normal !important;
        line-height: 1.08 !important;
    }
}


/* Smartphone / Tablet */
@media (max-width: 1024px) {

    body.ams-menu-large-text
    nav#menu-e250312.hamburger-active
    ul#menu-primary {
        width: 100vw !important;
        max-width: 100vw !important;

        left: 0 !important;
        right: 0 !important;

        padding-left: 24px !important;
        padding-right: 24px !important;

        box-sizing: border-box !important;
    }

    body.ams-menu-large-text
    nav#menu-e250312.hamburger-active
    ul#menu-primary > li,
    
    body.ams-menu-large-text
    nav#menu-e250312.hamburger-active
    ul#menu-primary > li > a {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }

    body.ams-menu-large-text
    nav#menu-e250312.hamburger-active
    ul#menu-primary > li > a {
        white-space: normal !important;
        line-height: 1.08 !important;
    }
}

/* =========================================================
   AMS MENÜ – Desktop + große OneTap-Schrift
   Linkes Ausklapp-Untermenü verbreitern
   ========================================================= */

@media (min-width: 1025px) {

    body.ams-menu-large-text
    nav#menu-e250312.hamburger-active
    ul#menu-primary > li > ul.sub-menu {

        width: 400px !important;
        min-width: 400px !important;
        max-width: 400px !important;

        box-sizing: border-box !important;
    }

    body.ams-menu-large-text
    nav#menu-e250312.hamburger-active
    ul#menu-primary > li > ul.sub-menu > li,
    
    body.ams-menu-large-text
    nav#menu-e250312.hamburger-active
    ul#menu-primary > li > ul.sub-menu > li > a {

        width: 100% !important;
        max-width: 100% !important;

        box-sizing: border-box !important;
    }

    body.ams-menu-large-text
    nav#menu-e250312.hamburger-active
    ul#menu-primary > li > ul.sub-menu > li > a {

        white-space: normal !important;
        line-height: 1.15 !important;
    }
}

/* =========================================================
   AMS MENÜ – Mobile + OneTap große Schrift
   ========================================================= */

@media (max-width: 1024px) {

    body.ams-menu-large-text #menu-primary {
        width: 100vw !important;
        min-width: 100vw !important;
        max-width: 100vw !important;

        left: 0 !important;
        right: auto !important;

        box-sizing: border-box !important;
    }

    body.ams-menu-large-text #menu-primary > li {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }

    body.ams-menu-large-text #menu-primary > li > a {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        padding-left: 24px !important;
        padding-right: 24px !important;

        white-space: normal !important;
        line-height: 1.08 !important;

        box-sizing: border-box !important;
    }
}

@media (max-width: 1024px) {

    body.ams-menu-large-text #menu-primary a {
        white-space: normal !important;

        overflow-wrap: break-word !important;
        word-break: normal !important;

        hyphens: auto !important;
        -webkit-hyphens: auto !important;

        line-height: 1.08 !important;
    }
}
/* =========================================================
   AMS MOBILE MENÜ – SUBMENU
   kompakt geschlossen / formatiert geöffnet
   ========================================================= */

@media (max-width: 1024px) {

    /* -----------------------------------------------------
       GESCHLOSSEN
       keinerlei zusätzlicher Leerraum
       ----------------------------------------------------- */

    #menu-primary > li > ul.sub-menu {
        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }


    /* -----------------------------------------------------
       GEÖFFNETES SUBMENU
       ----------------------------------------------------- */

#menu-primary > li.mobile-overlay-item-open > ul.sub-menu,
#menu-primary > li.overlay-item-open > ul.sub-menu,
#menu-primary > li:has(> a[aria-expanded="true"]) > ul.sub-menu,
#menu-primary > li:has(> ul.sub-menu > li.current-menu-item) > ul.sub-menu,
#menu-primary > li:has(> ul.sub-menu > li.current_page_item) > ul.sub-menu {

        width: auto !important;
        max-width: none !important;

        margin: 8px 20px 16px 20px !important;
        padding: 8px 0 8px 16px !important;

        border-left: 3px solid #c01818 !important;

        background: rgba(255, 255, 255, 0.08) !important;

        box-sizing: border-box !important;
    }


    /* -----------------------------------------------------
       UNTERPUNKTE
       ----------------------------------------------------- */

    #menu-primary > li > ul.sub-menu > li {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;
    }


    #menu-primary > li > ul.sub-menu > li > a {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        padding: 9px 12px !important;

        font-size: 0.92em !important;
        font-weight: 600 !important;
        line-height: 1.15 !important;

        text-align: left !important;

        color: #ffffff !important;

        white-space: normal !important;
        overflow-wrap: break-word !important;

        border-left: 3px solid transparent !important;

        background: transparent !important;

        transition:
            color 0.2s ease,
            background-color 0.2s ease,
            border-color 0.2s ease !important;

        box-sizing: border-box !important;
    }


    /* -----------------------------------------------------
       HOVER / TASTATURFOKUS
       ----------------------------------------------------- */

    #menu-primary > li > ul.sub-menu > li > a:hover,
    #menu-primary > li > ul.sub-menu > li > a:focus-visible {
        color: #ffffff !important;

        background: rgba(192, 24, 24, 0.85) !important;
        border-left-color: #ffffff !important;
    }


    /* -----------------------------------------------------
       AKTUELLE UNTERSEITE
       ----------------------------------------------------- */

    #menu-primary > li > ul.sub-menu > li.current-menu-item > a,
    #menu-primary > li > ul.sub-menu > li.current_page_item > a {
        color: #ffffff !important;

        background: #c01818 !important;
        border-left-color: #ffffff !important;

        font-weight: 700 !important;
    }
}




/* =========================================================
   AMS MOBILE MENÜ – eindeutige Zustände
   Rot = exakt aktuelle Seite
   Hell = lediglich geöffnet
   ========================================================= */

@media (max-width: 1024px) {

    /* Geöffneter Parent ist NICHT automatisch aktuelle Seite */
    #menu-primary > li > a[aria-expanded="true"],
    #menu-primary > li.mobile-overlay-item-open > a,
    #menu-primary > li.overlay-item-open > a {
        color: #d8d8e6 !important;
    }


    /* Exakte aktuelle Hauptseite */
    #menu-primary > li.current-menu-item > a,
    #menu-primary > li.current_page_item > a {
        color: #c01818 !important;
    }


    /* Parent einer aktuellen Unterseite:
       sichtbar aktiv, aber nicht rot wie die eigentliche Seite */
    #menu-primary > li.current-menu-ancestor > a,
    #menu-primary > li.current-menu-parent > a {
        color: #d8d8e6 !important;
    }


    /* Exakte aktuelle Seite IM Submenu */
    #menu-primary ul.sub-menu > li.current-menu-item > a,
    #menu-primary ul.sub-menu > li.current_page_item > a {
        color: #ffffff !important;
        background: #c01818 !important;
        border-left-color: #ffffff !important;
        font-weight: 700 !important;
    }
}


/* =========================================================
   AMS MOBILE / TABLET MENÜ
   Submenu der aktuellen Seite automatisch offen halten
   ========================================================= */

@media (max-width: 1024px) {

    #menu-primary > li:has(
        > ul.sub-menu > li.current-menu-item
    ) > ul.sub-menu,

    #menu-primary > li:has(
        > ul.sub-menu > li.current_page_item
    ) > ul.sub-menu {

        display: block !important;

        visibility: visible !important;
        opacity: 1 !important;

        height: auto !important;
        max-height: none !important;

        overflow: visible !important;

        transform: none !important;

        pointer-events: auto !important;
    }
}


.cf-style3-department select,
.cf-style3-department select option {
    font-family: inherit !important;
    font-weight: 400 !important;
    font-style: normal !important;
}

.cf-style3-department select option:first-child {
    font-family: inherit !important;
    font-weight: 400 !important;
    font-style: normal !important;
}


.cf-style3-department select,
.cf-style3-department select option {
    font-family: inherit !important;
    font-weight: 400 !important;
    font-style: normal !important;
}

.cf-style3-department select:invalid {
    color: #b8bac6 !important;
}

.cf-style3-department select option {
    color: #35394f !important;
}




/* Floating Kontaktbuttons:
   bei OneTap-Schriftvergrößerung mit dem Text mitwachsen */
body.ams-menu-large-text .ams-floating-contact__item:hover,
body.ams-menu-large-text .ams-floating-contact__item:focus-within {
    width: max-content !important;
    min-width: 265px !important;
    max-width: calc(100vw - 20px) !important;

    height: auto !important;
    min-height: 58px !important;
}

body.ams-menu-large-text .ams-floating-contact__text {
    width: auto !important;
    max-width: none !important;

    white-space: nowrap !important;
    padding-right: 18px !important;

    overflow: visible !important;
}




/* =========================================================
   News -> Footer Abstand final
   ========================================================= */

/* Tablet Portrait */
@media (min-width: 768px) and (max-width: 1023px) {

    .ams-aero-news-footer-section {
        padding-bottom: 40px !important;
    }
}


/* Smartphone */
@media (max-width: 767px) {

    .aero-news-section {
        padding-bottom: 10px !important;
    }

    #footer-nav.site-footer {
        padding-top: 24px !important;
    }
}


/* =========================================================
   Aero-News -> Footer Abstand Tablet / 1024 final
   ========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {

    .ams-aero-news-footer-section {
        padding-bottom: 15px !important;
        margin-bottom: 0 !important;
    }

    .aero-news-section {
        padding-bottom: 10px !important;
    }
}




@media (min-width: 768px) and (max-width: 1024px) {
    .ams-announcement-close[style*="font-size: 44"] {
        transform: translateX(50px);
    }
}


/* Schmalere Tablets: X etwas weiter nach rechts */
@media (min-width: 768px) and (max-width: 899px) {
    .ams-announcement-close[style*="font-size: 44"] {
        transform: translateX(80px);
    }
}

/* News Korrektur Tablet*/
@media (min-width: 768px) and (max-width: 1024px) {

    .ams-news1-card {
        min-height: 0 !important;
        height: auto !important;
    }

    .ams-news1-body {
        min-height: 0 !important;
        height: auto !important;
    }

}

