/* =====================================================
               FULL WIDTH / ELEMENTOR
               ===================================================== */

            #ah-impressum {

                position:
                    relative;

                left:
                    50%;

                width:
                    100vw;

                max-width:
                    none;

                margin:
                    0;

                transform:
                    translateX(-50%);

                overflow:
                    hidden;

                background:
                    var(--avh-base-warm-white);

                color:
                    var(--avh-base-gray);

            }


            @supports (width: 100dvw) {

                #ah-impressum {

                    width:
                        100dvw;

                }

            }


            .elementor-widget-shortcode:has(
                #ah-impressum
            ),

            .elementor-widget-shortcode:has(
                #ah-impressum
            )
            > .elementor-widget-container {

                width:
                    100% !important;

                max-width:
                    none !important;

                margin:
                    0 !important;

                padding:
                    0 !important;

                overflow:
                    visible !important;

            }


            .e-con:has(
                > .elementor-widget-shortcode
                #ah-impressum
            ) {

                overflow:
                    visible !important;

            }



            /* =====================================================
               BASIS
               ===================================================== */

            #ah-impressum,
            #ah-impressum *,
            #ah-impressum *::before,
            #ah-impressum *::after {

                box-sizing:
                    border-box;

            }


            #ah-impressum {

                font-family:
                    var(
                        --avh-font-family,
                        Verdana,
                        Geneva,
                        sans-serif
                    ) !important;

            }


            #ah-impressum * {

                font-family:
                    inherit !important;

            }


            #ah-impressum p,
            #ah-impressum h1,
            #ah-impressum h2,
            #ah-impressum h3,
            #ah-impressum dl,
            #ah-impressum dt,
            #ah-impressum dd {

                margin-top:
                    0;

            }


            #ah-impressum .ah-impressum-shell {

                width:
                    min(
                        1180px,
                        calc(100% - 80px)
                    );

                margin:
                    0 auto;

            }



            /* =====================================================
               HERO
               ===================================================== */

            #ah-impressum .ah-impressum-hero {

                position:
                    relative;

                padding:
                    clamp(104px, 10vw, 154px)
                    0
                    clamp(82px, 8vw, 118px);

                overflow:
                    hidden;

                background:

                    radial-gradient(
                        ellipse 48% 78% at 90% 6%,
                        rgba(var(--avh-rgb-base-gray), 0.13) 0%,
                        rgba(var(--avh-rgb-base-gray), 0) 72%
                    ),

                    radial-gradient(
                        ellipse 42% 66% at 0% 100%,
                        rgba(var(--avh-rgb-base-warm-white), 0.72) 0%,
                        rgba(var(--avh-rgb-base-warm-white), 0) 72%
                    ),

                    linear-gradient(
                        135deg,
                        var(--avh-base-warm-white) 0%,
                        var(--avh-base-warm-white) 100%
                    );

                border-bottom:
                    1px solid
                    rgba(var(--avh-rgb-base-gray), 0.22);

            }


            #ah-impressum .ah-impressum-hero::after {

                content:
                    "";

                position:
                    absolute;

                right:
                    0;

                bottom:
                    0;

                left:
                    0;

                height:
                    1px;

                background:
                    linear-gradient(
                        90deg,
                        rgba(var(--avh-rgb-base-gray), 0) 0%,
                        var(--avh-base-gray) 22%,
                        var(--avh-base-gray) 78%,
                        rgba(var(--avh-rgb-base-gray), 0) 100%
                    );

                opacity:
                    0.82;

            }


            #ah-impressum .ah-impressum-eyebrow,
            #ah-impressum .ah-impressum-kicker,
            #ah-impressum .ah-impressum-card-label,
            #ah-impressum .ah-impressum-contact-note__label {

                display:
                    block;

                color:
                    var(--avh-base-gray);

                font-size:
                    10px !important;

                font-weight:
                    700 !important;

                line-height:
                    1.4 !important;

                letter-spacing:
                    0.16em !important;

                text-transform:
                    uppercase;

            }


            #ah-impressum .ah-impressum-eyebrow {

                margin-bottom:
                    17px;

            }


            #ah-impressum .ah-impressum-hero h1 {

                max-width:
                    780px;

                margin:
                    0;

                color:
                    var(--avh-base-gray);

                font-size:
                    clamp(44px, 6vw, 76px) !important;

                font-weight:
                    700 !important;

                line-height:
                    1.03 !important;

                letter-spacing:
                    -0.045em !important;

            }


            #ah-impressum .ah-impressum-lead {

                margin:
                    22px
                    0
                    0;

                color:
                    var(--avh-base-gray);

                font-size:
                    15px !important;

                line-height:
                    1.65 !important;

            }



            /* =====================================================
               SECTIONS
               ===================================================== */

            #ah-impressum .ah-impressum-section {

                position:
                    relative;

                padding:
                    clamp(82px, 8vw, 118px)
                    0;

                background:
                    var(--avh-base-warm-white);

            }


            #ah-impressum .ah-impressum-section--soft {

                background:
                    linear-gradient(
                        180deg,
                        var(--avh-base-warm-white) 0%,
                        var(--avh-base-warm-white) 100%
                    );

                border-top:
                    1px solid
                    rgba(var(--avh-rgb-base-gray), 0.14);

                border-bottom:
                    1px solid
                    rgba(var(--avh-rgb-base-gray), 0.14);

            }


            #ah-impressum .ah-impressum-section--dark {

                background:
                    linear-gradient(
                        135deg,
                        var(--avh-base-gray) 0%,
                        var(--avh-base-gray) 100%
                    );

                color:
                    var(--avh-base-warm-white);

            }



            /* =====================================================
               SECTION HEAD
               ===================================================== */

            #ah-impressum .ah-impressum-section-head {

                display:
                    grid;

                grid-template-columns:
                    44px
                    minmax(0, 1fr);

                gap:
                    24px;

                align-items:
                    start;

                width:
                    100%;

                max-width:
                    820px;

                margin-bottom:
                    48px;

            }


            #ah-impressum
            .ah-impressum-section-head > div {

                min-width:
                    0;

                max-width:
                    100%;

            }


            #ah-impressum .ah-impressum-section-index {

                display:
                    flex;

                align-items:
                    center;

                justify-content:
                    center;

                width:
                    40px;

                height:
                    40px;

                border:
                    1px solid
                    rgba(var(--avh-rgb-base-gray), 0.34);

                border-radius:
                    50%;

                color:
                    var(--avh-base-gray);

                font-size:
                    10px !important;

                font-weight:
                    700 !important;

                line-height:
                    1 !important;

                letter-spacing:
                    0.08em !important;

            }


            #ah-impressum .ah-impressum-kicker {

                margin-bottom:
                    10px;

            }


            #ah-impressum .ah-impressum-section-head h2 {

                width:
                    100%;

                max-width:
                    100%;

                margin:
                    0;

                color:
                    var(--avh-base-gray);

                font-size:
                    clamp(30px, 4vw, 44px) !important;

                font-weight:
                    700 !important;

                line-height:
                    1.14 !important;

                letter-spacing:
                    -0.032em !important;

                white-space:
                    normal !important;

                overflow-wrap:
                    anywhere;

                word-break:
                    normal;

                hyphens:
                    auto;

            }


            #ah-impressum
            .ah-impressum-section-head--light
            h2 {

                color:
                    var(--avh-base-warm-white);

            }


            #ah-impressum
            .ah-impressum-section-head--light
            .ah-impressum-section-index {

                color:
                    var(--avh-base-gray);

                border-color:
                    rgba(var(--avh-rgb-base-gray), 0.50);

            }



            /* =====================================================
               PROVIDER
               ===================================================== */

            #ah-impressum .ah-impressum-provider-grid {

                display:
                    grid;

                grid-template-columns:
                    repeat(2, minmax(0, 1fr));

                gap:
                    20px;

            }


            #ah-impressum .ah-impressum-card {

                padding:
                    34px;

                border:
                    1px solid
                    rgba(var(--avh-rgb-base-gray), 0.18);

                border-radius:
                    18px;

                background:
                    rgba(var(--avh-rgb-base-warm-white), 0.72);

                box-shadow:
                    0
                    14px
                    38px
                    rgba(var(--avh-rgb-base-gray), 0.045);

            }


            #ah-impressum .ah-impressum-card--primary {

                background:
                    linear-gradient(
                        145deg,
                        rgba(var(--avh-rgb-base-warm-white), 0.78) 0%,
                        rgba(var(--avh-rgb-base-warm-white), 0.96) 100%
                    );

            }


            #ah-impressum .ah-impressum-card-label {

                margin-bottom:
                    24px;

            }


            #ah-impressum .ah-impressum-address {

                display:
                    flex;

                flex-direction:
                    column;

                gap:
                    5px;

            }


            #ah-impressum .ah-impressum-address strong {

                margin-bottom:
                    8px;

                color:
                    var(--avh-base-gray);

                font-size:
                    23px !important;

                line-height:
                    1.25 !important;

            }


            #ah-impressum .ah-impressum-address span {

                color:
                    var(--avh-base-gray);

                font-size:
                    14px !important;

                line-height:
                    1.55 !important;

            }


            #ah-impressum .ah-impressum-facts {

                margin:
                    0;

            }


            #ah-impressum .ah-impressum-facts > div {

                display:
                    grid;

                grid-template-columns:
                    minmax(0, 0.72fr)
                    minmax(0, 1fr);

                gap:
                    20px;

                padding:
                    18px
                    0;

                border-bottom:
                    1px solid
                    rgba(var(--avh-rgb-base-gray), 0.13);

            }


            #ah-impressum .ah-impressum-facts > div:first-child {

                padding-top:
                    0;

            }


            #ah-impressum .ah-impressum-facts > div:last-child {

                padding-bottom:
                    0;

                border-bottom:
                    0;

            }


            #ah-impressum .ah-impressum-facts dt {

                color:
                    var(--avh-base-gray);

                font-size:
                    11px !important;

                font-weight:
                    700 !important;

                line-height:
                    1.5 !important;

                letter-spacing:
                    0.06em !important;

                text-transform:
                    uppercase;

            }


            #ah-impressum .ah-impressum-facts dd {

                margin:
                    0;

                color:
                    var(--avh-base-gray);

                font-size:
                    14px !important;

                font-weight:
                    700 !important;

                line-height:
                    1.55 !important;

            }



            /* =====================================================
               CONTACT NOTE
               ===================================================== */

            #ah-impressum .ah-impressum-contact-note {

                margin-top:
                    20px;

                padding:
                    24px
                    28px;

                border:
                    1px solid
                    rgba(var(--avh-rgb-base-gray), 0.32);

                border-left:
                    3px solid
                    var(--avh-base-gray);

                border-radius:
                    14px;

                background:
                    rgba(var(--avh-rgb-base-warm-white), 0.46);

            }


            #ah-impressum .ah-impressum-contact-note__label {

                margin-bottom:
                    8px;

            }


            #ah-impressum .ah-impressum-contact-note p {

                margin:
                    0;

                color:
                    var(--avh-base-gray);

                font-size:
                    13px !important;

                font-weight:
                    700 !important;

                line-height:
                    1.6 !important;

            }


            #ah-impressum .ah-impressum-contact-note a {

                color:
                    inherit;

                text-decoration:
                    underline;

                text-decoration-thickness:
                    1px;

                text-underline-offset:
                    0.18em;

            }


            #ah-impressum .ah-impressum-contact-note a:hover,
            #ah-impressum .ah-impressum-contact-note a:focus-visible {

                opacity:
                    0.72;

            }


            #ah-impressum .ah-protected-email {

                cursor:
                    pointer;

                overflow-wrap:
                    anywhere;

            }



            /* =====================================================
               LEGAL CONTENT
               ===================================================== */

            #ah-impressum .ah-impressum-legal-grid {

                display:
                    grid;

                grid-template-columns:
                    repeat(2, minmax(0, 1fr));

                gap:
                    22px;

            }


            #ah-impressum .ah-impressum-legal-block,
            #ah-impressum .ah-impressum-copy-block {

                padding:
                    34px;

                border:
                    1px solid
                    rgba(var(--avh-rgb-base-gray), 0.15);

                border-radius:
                    18px;

                background:
                    rgba(var(--avh-rgb-base-warm-white), 0.74);

                box-shadow:
                    0
                    12px
                    34px
                    rgba(var(--avh-rgb-base-gray), 0.035);

            }


            #ah-impressum .ah-impressum-copy-block {

                max-width:
                    980px;

            }


            #ah-impressum .ah-impressum-legal-block h3 {

                margin:
                    0
                    0
                    22px;

                color:
                    var(--avh-base-gray);

                font-size:
                    21px !important;

                font-weight:
                    700 !important;

                line-height:
                    1.3 !important;

                letter-spacing:
                    -0.015em !important;

            }


            #ah-impressum .ah-impressum-legal-block p,
            #ah-impressum .ah-impressum-copy-block p {

                margin:
                    0
                    0
                    16px;

                color:
                    var(--avh-base-gray);

                font-size:
                    14px !important;

                line-height:
                    1.78 !important;

            }


            #ah-impressum .ah-impressum-legal-block p:last-child,
            #ah-impressum .ah-impressum-copy-block p:last-child {

                margin-bottom:
                    0;

            }



            /* =====================================================
               DISPUTE
               ===================================================== */

            #ah-impressum .ah-impressum-dispute {

                max-width:
                    880px;

                padding:
                    34px;

                border:
                    1px solid
                    rgba(var(--avh-rgb-base-gray), 0.28);

                border-radius:
                    18px;

                background:
                    rgba(var(--avh-rgb-base-warm-white), 0.045);

                box-shadow:
                    inset
                    0
                    1px
                    0
                    rgba(var(--avh-rgb-base-warm-white), 0.06);

            }


            #ah-impressum .ah-impressum-dispute p {

                margin:
                    0
                    0
                    16px;

                color:
                    rgba(var(--avh-rgb-base-warm-white), 0.82);

                font-size:
                    14px !important;

                line-height:
                    1.75 !important;

            }


            #ah-impressum .ah-impressum-dispute p:last-child {

                margin-bottom:
                    0;

            }



            /* =====================================================
               TABLET
               ===================================================== */

            @media (max-width: 1024px) {

                #ah-impressum .ah-impressum-shell {

                    width:
                        calc(100% - 56px);

                }


                #ah-impressum .ah-impressum-provider-grid,
                #ah-impressum .ah-impressum-legal-grid {

                    grid-template-columns:
                        1fr;

                }

            }



            /* =====================================================
               MOBILE
               ===================================================== */

            @media (max-width: 767px) {

                #ah-impressum .ah-impressum-shell {

                    width:
                        auto;

                    margin-left:
                        20px;

                    margin-right:
                        20px;

                }


                #ah-impressum .ah-impressum-hero {

                    padding:
                        82px
                        0
                        68px;

                }


                #ah-impressum .ah-impressum-section {

                    padding:
                        68px
                        0;

                }


                /*
                 * Mobile bewusst kein Grid mehr.
                 *
                 * Dadurch können globale Elementor-/Typografie-Regeln
                 * den Titel nicht mehr aus der zweiten Grid-Spalte
                 * herausverschieben. Nummer, Kicker und Überschrift
                 * liegen vollständig im normalen Dokumentfluss.
                 */

                #ah-impressum .ah-impressum-section-head {

                    display:
                        block !important;

                    width:
                        100% !important;

                    max-width:
                        100% !important;

                    min-width:
                        0 !important;

                    margin:
                        0
                        0
                        34px !important;

                    padding:
                        0 !important;

                    position:
                        relative !important;

                    left:
                        auto !important;

                    right:
                        auto !important;

                    transform:
                        none !important;

                }


                #ah-impressum
                .ah-impressum-section-head > div {

                    display:
                        block !important;

                    width:
                        100% !important;

                    max-width:
                        100% !important;

                    min-width:
                        0 !important;

                    margin:
                        0 !important;

                    padding:
                        0 !important;

                    position:
                        static !important;

                    left:
                        auto !important;

                    right:
                        auto !important;

                    transform:
                        none !important;

                }


                #ah-impressum
                .ah-impressum-section-head h2 {

                    display:
                        block !important;

                    position:
                        static !important;

                    left:
                        auto !important;

                    right:
                        auto !important;

                    float:
                        none !important;

                    clear:
                        both !important;

                    width:
                        100% !important;

                    max-width:
                        100% !important;

                    min-width:
                        0 !important;

                    margin:
                        0 !important;

                    padding:
                        0 !important;

                    transform:
                        none !important;

                    translate:
                        none !important;

                    text-align:
                        left !important;

                    text-indent:
                        0 !important;

                    font-size:
                        clamp(
                            24px,
                            7.4vw,
                            30px
                        ) !important;

                    line-height:
                        1.16 !important;

                    letter-spacing:
                        -0.026em !important;

                    white-space:
                        normal !important;

                    overflow-wrap:
                        break-word !important;

                    word-break:
                        normal !important;

                    hyphens:
                        auto;

                }


                #ah-impressum
                .ah-impressum-section-index {

                    display:
                        inline-flex !important;

                    width:
                        28px;

                    height:
                        28px;

                    margin:
                        0
                        0
                        15px !important;

                    position:
                        static !important;

                    left:
                        auto !important;

                    right:
                        auto !important;

                    transform:
                        none !important;

                    font-size:
                        8px !important;

                }


                #ah-impressum
                .ah-impressum-kicker {

                    display:
                        block !important;

                    width:
                        100% !important;

                    max-width:
                        100% !important;

                    margin:
                        0
                        0
                        9px !important;

                    padding:
                        0 !important;

                    position:
                        static !important;

                    transform:
                        none !important;

                    text-align:
                        left !important;

                }


                #ah-impressum .ah-impressum-card,
                #ah-impressum .ah-impressum-legal-block,
                #ah-impressum .ah-impressum-copy-block,
                #ah-impressum .ah-impressum-dispute {

                    padding:
                        24px
                        20px;

                    border-radius:
                        15px;

                }


                #ah-impressum .ah-impressum-contact-note {

                    padding:
                        21px
                        19px;

                }


                #ah-impressum .ah-impressum-facts > div {

                    grid-template-columns:
                        1fr;

                    gap:
                        5px;

                }

            }



            @media (max-width: 390px) {

                #ah-impressum
                .ah-impressum-section-head h2 {

                    font-size:
                        22px !important;

                    line-height:
                        1.18 !important;

                }


                #ah-impressum
                .ah-impressum-section-index {

                    width:
                        24px;

                    height:
                        24px;

                    margin-bottom:
                        13px !important;

                }

            }



            /* =====================================================
               REDUCED MOTION
               ===================================================== */

            @media (prefers-reduced-motion: reduce) {

                #ah-impressum *,
                #ah-impressum *::before,
                #ah-impressum *::after {

                    scroll-behavior:
                        auto !important;

                    transition-duration:
                        0.01ms !important;

                    animation-duration:
                        0.01ms !important;

                }

            }
