/* ============================================================
   BASIS / ELEMENTOR
   ============================================================ */

body.page-id-243 {
    overflow-x: hidden;
    overflow-x: clip;
}

body.page-id-243 .ahh243-luxury,
body.page-id-243 .ahh243-luxury *,
body.page-id-243 .ahh243-luxury *::before,
body.page-id-243 .ahh243-luxury *::after {
    box-sizing: border-box;
}

body.page-id-243 .ahh243-luxury-widget-fixed,
body.page-id-243
.ahh243-luxury-widget-fixed
> .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}

body.page-id-243 .ahh243-luxury-host-fixed {
    overflow: visible !important;
}


/* ============================================================
   HERO
   ============================================================ */

body.page-id-243 .ahh243-luxury {
    --ahh243-luxury-offset: 0px;

    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100vw;
    min-width: 100vw;

    width: 100dvw;
    min-width: 100dvw;

    max-width: none;

    min-height:
        clamp(
            500px,
            61vh,
            650px
        );

    margin:
        0
        0
        0
        var(--ahh243-luxury-offset);

    padding:
        48px
        0
        76px;

    overflow: hidden;
    isolation: isolate;

    background:
        var(--avh-base-warm-white);

    color:
        var(--avh-base-gray);

    font-family:
        var(
            --avh-font-family,
            Verdana,
            Geneva,
            sans-serif
        ) !important;
}


/* ============================================================
   RATHAUS – WASSERZEICHEN
   ============================================================ */

body.page-id-243 .ahh243-luxury__background {
    position: absolute;
    inset: 0;
    z-index: 0;

    overflow: hidden;

    pointer-events: none;
}

body.page-id-243 .ahh243-luxury__rathaus {
    position: absolute;

    top: -1%;
    left: 0;

    width: 100%;
    height: 106%;

    max-width: none;

    object-fit: cover;
    object-position: 50% 60%;

    opacity: 0.48;

    filter:
        contrast(1.08)
        saturate(0.92)
        brightness(1.02);

    transform:
        scale(1.005);

    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}


/*
 * Heller Wasserzeichen-Look:
 * Das Rathaus bleibt erkennbar, dominiert aber nicht.
 */

body.page-id-243 .ahh243-luxury__wash {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:

        radial-gradient(
            ellipse 48% 58% at 50% 46%,
            rgba(var(--avh-rgb-base-warm-white), 0.08) 0%,
            rgba(var(--avh-rgb-base-warm-white), 0.16) 34%,
            rgba(var(--avh-rgb-base-warm-white), 0.28) 62%,
            rgba(var(--avh-rgb-base-warm-white), 0.44) 100%
        ),

        linear-gradient(
            90deg,
            rgba(var(--avh-rgb-base-warm-white), 0.68) 0%,
            rgba(var(--avh-rgb-base-warm-white), 0.26) 22%,
            rgba(var(--avh-rgb-base-warm-white), 0.06) 50%,
            rgba(var(--avh-rgb-base-warm-white), 0.26) 78%,
            rgba(var(--avh-rgb-base-warm-white), 0.68) 100%
        ),

        linear-gradient(
            180deg,
            rgba(var(--avh-rgb-base-warm-white), 0.10) 0%,
            rgba(var(--avh-rgb-base-warm-white), 0.02) 38%,
            rgba(var(--avh-rgb-base-warm-white), 0.34) 100%
        );

    pointer-events: none;
}


/*
 * Sehr dezente warme Lichtzonen.
 * Nur globale Farbdaten, keine neuen lokalen Farben.
 */

body.page-id-243 .ahh243-luxury__glow {
    position: absolute;
    inset: -12%;
    z-index: 2;

    background:

        radial-gradient(
            ellipse 34% 50% at 6% 74%,
            rgba(var(--avh-rgb-base-gray), 0.24) 0%,
            rgba(var(--avh-rgb-base-gray), 0.09) 38%,
            rgba(var(--avh-rgb-base-gray), 0) 74%
        ),

        radial-gradient(
            ellipse 30% 46% at 95% 18%,
            rgba(var(--avh-rgb-base-gray), 0.18) 0%,
            rgba(var(--avh-rgb-base-gray), 0.05) 40%,
            rgba(var(--avh-rgb-base-gray), 0) 76%
        ),

        radial-gradient(
            ellipse 32% 18% at 50% 90%,
            rgba(var(--avh-rgb-base-gray), 0.06) 0%,
            rgba(var(--avh-rgb-base-gray), 0) 84%
        );

    pointer-events: none;
}


/* ============================================================
   INHALT
   ============================================================ */

body.page-id-243 .ahh243-luxury__inner {
    position: relative;
    z-index: 5;

    display: flex;
    flex-direction: column;
    align-items: center;

    width:
        min(
            900px,
            calc(100% - 52px)
        );

    margin:
        0 auto;

    padding:
        0;

    text-align: center;
}


/* Kleine Positionierungszeile */

body.page-id-243 .ahh243-luxury__eyebrow {
    display: none !important;
}


/* ============================================================
   LOGO
   ============================================================ */

body.page-id-243 .ahh243-luxury__logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;

    margin:
        0
        0
        26px;
}

body.page-id-243 .ahh243-luxury__logo {
    display: block;

    width:
        min(
            225px,
            44vw
        );

    max-width: 100%;
    height: auto;

    margin: 0;

    opacity: 0.96;

    filter:
        drop-shadow(
            0
            6px
            15px
            rgba(var(--avh-rgb-base-gray), 0.055)
        );
}


/* ============================================================
   HEADLINE
   ============================================================ */

body.page-id-243 .ahh243-luxury__title {
    display: flex;
    flex-direction: column;
    align-items: center;

    max-width:
        900px;

    margin:
        0;

    padding:
        0;

    color:
        var(--avh-base-gray);

    font-family:
        var(--avh-font-family) !important;

    font-size:
        clamp(
            36px,
            4.7vw,
            60px
        ) !important;

    font-weight:
        400 !important;

    line-height:
        1.14 !important;

    letter-spacing:
        -0.042em !important;

    text-align:
        center !important;

    text-transform:
        none !important;
}

body.page-id-243 .ahh243-luxury__title-line {
    display: block;
}


/* Goldene Mini-Linie als ruhiger Luxury-Akzent */

body.page-id-243 .ahh243-luxury__rule {
    display: block;

    width:
        62px;

    height:
        2px;

    margin:
        27px
        auto
        23px;

    background:
        var(--avh-base-gray);

    opacity:
        0.82;
}


/* Beschreibung */

body.page-id-243 .ahh243-luxury__description {
    max-width:
        720px;

    margin:
        0;

    color:
        rgba(var(--avh-rgb-base-gray), 0.80);

    font-family:
        var(--avh-font-family) !important;

    font-size:
        15px !important;

    font-weight:
        400 !important;

    line-height:
        1.72 !important;

    letter-spacing:
        0 !important;

    text-align:
        center !important;
}

body.page-id-243 .ahh243-luxury__description-line {
    display: block;
}


/* ============================================================
   PREMIUM-MERKMALE
   ============================================================ */

body.page-id-243 .ahh243-luxury__signals {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;

    gap:
        10px
        16px;

    margin:
        28px
        0
        0;

    color:
        rgba(var(--avh-rgb-base-gray), 0.66);

    font-family:
        var(--avh-font-family) !important;

    font-size:
        9px !important;

    font-weight:
        700 !important;

    line-height:
        1.5 !important;

    letter-spacing:
        0.13em !important;

    text-transform:
        uppercase !important;
}

body.page-id-243 .ahh243-luxury__signal {
    white-space: nowrap;
}

body.page-id-243 .ahh243-luxury__dot {
    width:
        3px;

    height:
        3px;

    border-radius:
        999px;

    background:
        var(--avh-base-gray);
}


/* ============================================================
   WEICHER ÜBERGANG NACH UNTEN
   ============================================================ */

body.page-id-243 .ahh243-luxury__curve {
    position: absolute;

    left:
        -5%;

    right:
        -5%;

    bottom:
        -58px;

    z-index:
        7;

    width:
        110%;

    height:
        92px;

    border-radius:
        50%
        50%
        0
        0
        /
        100%
        100%
        0
        0;

    background:
        var(--avh-base-warm-white);

    box-shadow:
        0
        -6px
        20px
        rgba(var(--avh-rgb-base-gray), 0.035);

    pointer-events: none;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1024px) {

    body.page-id-243 .ahh243-luxury {
        min-height:
            clamp(
                450px,
                53vh,
                570px
            );

        padding:
            42px
            0
            70px;
    }

    body.page-id-243 .ahh243-luxury__rathaus {
        object-position:
            50%
            59%;

        opacity:
            0.44;
    }

    body.page-id-243 .ahh243-luxury__inner {
        width:
            min(
                780px,
                calc(100% - 42px)
            );
    }

    body.page-id-243 .ahh243-luxury__logo {
        width:
            min(
                205px,
                45vw
            );
    }

    body.page-id-243 .ahh243-luxury__title {
        font-size:
            clamp(
                34px,
                5.1vw,
                48px
            ) !important;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767px) {

    body.page-id-243 .ahh243-luxury {
        min-height:
            clamp(
                420px,
                56vh,
                510px
            );

        padding:
            38px
            0
            62px;
    }

    body.page-id-243 .ahh243-luxury__rathaus {
        top:
            0;

        left:
            -8%;

        width:
            116%;

        height:
            100%;

        object-position:
            56%
            60%;

        opacity:
            0.42;

        filter:
            contrast(1.06)
            saturate(0.92)
            brightness(1.02);

        transform:
            none;
    }

    body.page-id-243 .ahh243-luxury__wash {
        background:

            radial-gradient(
                ellipse 86% 72% at 50% 42%,
                rgba(var(--avh-rgb-base-warm-white), 0.10) 0%,
                rgba(var(--avh-rgb-base-warm-white), 0.28) 54%,
                rgba(var(--avh-rgb-base-warm-white), 0.46) 100%
            ),

            linear-gradient(
                180deg,
                rgba(var(--avh-rgb-base-warm-white), 0.10) 0%,
                rgba(var(--avh-rgb-base-warm-white), 0.06) 46%,
                rgba(var(--avh-rgb-base-warm-white), 0.42) 100%
            );
    }

    body.page-id-243 .ahh243-luxury__inner {
        width:
            calc(100% - 34px);
    }

    body.page-id-243 .ahh243-luxury__eyebrow {
        margin-bottom:
            17px;

        font-size:
            9px !important;

        letter-spacing:
            0.17em !important;
    }

    body.page-id-243 .ahh243-luxury__logo-wrap {
        margin-bottom:
            22px;
    }

    body.page-id-243 .ahh243-luxury__logo {
        width:
            min(
                158px,
                48vw
            );
    }

    body.page-id-243 .ahh243-luxury__title {
        font-size:
            clamp(
                28px,
                8.2vw,
                39px
            ) !important;

        line-height:
            1.16 !important;

        letter-spacing:
            -0.036em !important;
    }

    body.page-id-243 .ahh243-luxury__rule {
        width:
            48px;

        margin:
            21px
            auto
            18px;
    }

    body.page-id-243 .ahh243-luxury__description {
        max-width:
            430px;

        font-size:
            13px !important;

        line-height:
            1.66 !important;
    }

    body.page-id-243 .ahh243-luxury__description-line {
        display: inline;
    }

    body.page-id-243 .ahh243-luxury__signals {
        gap:
            7px
            10px;

        margin-top:
            22px;

        font-size:
            8px !important;

        letter-spacing:
            0.09em !important;
    }

    body.page-id-243 .ahh243-luxury__curve {
        bottom:
            -48px;

        height:
            74px;
    }

}


/* ============================================================
   KLEINE SMARTPHONES
   ============================================================ */

@media (max-width: 390px) {

    body.page-id-243 .ahh243-luxury {
        min-height:
            420px;

        padding-top:
            32px;
    }

    body.page-id-243 .ahh243-luxury__inner {
        width:
            calc(100% - 28px);
    }

    body.page-id-243 .ahh243-luxury__logo {
        width:
            min(
                145px,
                48vw
            );
    }

    body.page-id-243 .ahh243-luxury__title {
        font-size:
            27px !important;

        line-height:
            1.17 !important;
    }

    body.page-id-243 .ahh243-luxury__signals {
        max-width:
            330px;
    }

}


/* ============================================================
   ELEMENTOR PREVIEW
   ============================================================ */

body.ah243-elementor-preview .ahh243-luxury,
.ahh243-luxury.ahh243-luxury--editor {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin-left: 0 !important;
}

body.ah243-elementor-preview
.elementor-widget-shortcode:has(.ahh243-luxury)
> .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
}


/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    body.page-id-243 .ahh243-luxury *,
    body.page-id-243 .ahh243-luxury *::before,
    body.page-id-243 .ahh243-luxury *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }

}
