/* ============================================================
   GUEST GUIDE HERO
   ============================================================ */

/* =====================================================
           FULL WIDTH / ELEMENTOR
           ===================================================== */

        .elementor-widget-shortcode:has(
            .avh-guestguide-hero
        ),
        .elementor-widget-shortcode:has(
            .avh-guestguide-hero
        )
        > .elementor-widget-container {

            width: 100% !important;
            max-width: none !important;

            margin: 0 !important;
            padding: 0 !important;

            overflow: visible !important;

        }


        .avh-guestguide-hero,
        .avh-guestguide-hero * {

            box-sizing: border-box;

        }


        .avh-guestguide-hero {

            position: relative;

            left: 50%;

            width: 100vw;
            max-width: none;

            margin: 0;

            transform:
                translateX(-50%);

            overflow: hidden;

            background:
                var(--avh-base-warm-white);

            isolation: isolate;

        }


        @supports (width: 100dvw) {

            .avh-guestguide-hero {

                width: 100dvw;

            }

        }


        /* =====================================================
           WASSERZEICHEN-BILD
           ===================================================== */

        .avh-guestguide-hero-image {

            position: absolute !important;

            inset: 0 !important;

            z-index: 0;

            display: block !important;

            width: 100% !important;
            height: 100% !important;

            min-width: 100% !important;
            min-height: 100% !important;

            max-width: none !important;
            max-height: none !important;

            margin: 0 !important;
            padding: 0 !important;

            border: 0 !important;

            object-fit: cover !important;

            object-position:
                var(
                    --avh-hero-position-mobile,
                    50% 60%
                ) !important;

            filter:
                saturate(.72)
                contrast(.94)
                brightness(1.04);

            transform: none !important;

        }


        /*
         * Heller Wasserzeichen-Schleier analog zu den Apartment-Heroes.
         * Das Foto bleibt klar erkennbar, dominiert den Bereich aber
         * nicht mehr als vollwertiges Farbfoto.
         */
        .avh-guestguide-hero-watermark {

            position: absolute;

            inset: 0;

            z-index: 1;

            display: block;

            pointer-events: none;

            background:
                linear-gradient(
                    180deg,
                    rgba(var(--avh-rgb-base-warm-white), .80) 0%,
                    rgba(var(--avh-rgb-base-warm-white), .78) 58%,
                    rgba(var(--avh-rgb-base-warm-white), .82) 100%
                );

            box-shadow:
                inset 0 0 120px
                rgba(var(--avh-rgb-base-warm-white), .12);

        }


        /* =====================================================
           MOBILE
           ===================================================== */

        @media (max-width: 900px) {

            /*
             * Ausgangspunkt war 56,25vw.
             * Der mobile Hero wird nach unten um 40 % erweitert:
             * 56,25vw × 1,40 = 78,75vw.
             *
             * Das Bild wird an seiner Unterkante fixiert und so
             * vergrößert, dass die oberen 30 % nicht mehr sichtbar
             * sind. Der untere Bildbereich bleibt vollständig erhalten.
             */
            .avh-guestguide-hero.avh-guestguide-hero--v33 {

                width:
                    100vw !important;

                height:
                    78.75vw !important;

                min-height:
                    0 !important;

                max-height:
                    none !important;

                aspect-ratio:
                    auto !important;

            }


            .avh-guestguide-hero.avh-guestguide-hero--v33
            .avh-guestguide-hero-image {

                width:
                    100% !important;

                height:
                    100% !important;

                object-fit:
                    cover !important;

                object-position:
                    50% 100% !important;

                transform-origin:
                    50% 100% !important;

                transform:
                    scale(1.428571) !important;

            }

        }


        /* =====================================================
           TABLET / DESKTOP
           ===================================================== */

        @media (min-width: 768px) {

            .avh-guestguide-hero {

                aspect-ratio:
                    32 / 9;

            }


            .avh-guestguide-hero-image {

                object-position:
                    var(
                        --avh-hero-position-desktop,
                        50% 60%
                    ) !important;

            }

        }



        /* =====================================================
           WAVE / OVERLAP
           ===================================================== */

        .avh-guestguide-hero::after {

            content: "";

            position: absolute;
            left: 50%;
            bottom: -1px;

            width: 108%;
            height: clamp(56px, 8vw, 108px);

            transform: translateX(-50%);

            background: var(--avh-guide-bg);

            border-top-left-radius: 50% 100%;
            border-top-right-radius: 50% 100%;

            z-index: 2;
            pointer-events: none;

        }

        @media (max-width: 900px) {

            .avh-guestguide-hero.avh-guestguide-hero--v33::after {

                left:
                    50% !important;

                bottom:
                    -1px !important;

                width:
                    122% !important;

                height:
                    clamp(54px, 15vw, 82px) !important;

                transform:
                    translateX(-50%) !important;

                border-top-left-radius:
                    50% 100% !important;

                border-top-right-radius:
                    50% 100% !important;

                z-index:
                    3 !important;

            }

        }

        @media (min-width: 768px) {
            .avh-guestguide-hero::after {
                height: clamp(72px, 6.5vw, 118px);
            }
        }


        @media (prefers-reduced-motion: reduce) {

            .avh-guestguide-hero,
            .avh-guestguide-hero * {

                transition: none !important;
                animation: none !important;

            }

        }


/* ============================================================
   GUEST GUIDE / ACCORDION
   ============================================================ */

/* =====================================================
           ELEMENTOR / FULL-WIDTH FIX
           ===================================================== */

        /*
         * Der Shortcode darf innerhalb eines begrenzten Elementor-
         * Containers liegen. Diese Regeln entfernen ausschließlich
         * die Begrenzung rund um die Gästemappe, damit deren
         * Hintergrund wirklich bis an beide Browserränder reicht.
         */

        .elementor-widget-shortcode:has(
            .avh-guestguide
        ),
        .elementor-widget-shortcode:has(
            .avh-guestguide
        )
        > .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
            .avh-guestguide
        ) {

            overflow:
                visible !important;

        }



        /* =====================================================
           BASIS
           ===================================================== */

        .avh-guestguide,
        .avh-guestguide * {

            box-sizing:
                border-box;

        }



        .avh-guestguide {






            --avh-slant:
                28px;

            --avh-motion-duration:
                680ms;

            --avh-motion-ease:
                cubic-bezier(
                    0.65,
                    0,
                    0.35,
                    1
                );


            /*
             * Sämtliche Töne stammen aus dem globalen Color System v10.
             * Die lokalen Aliase steuern nur die visuelle Gewichtung.
             */
            --avh-guide-ivory:
                var(--avh-color-floral-white);

            --avh-guide-linen:
                var(--avh-color-soft-linen);

            --avh-guide-stone:
                var(--avh-color-dust-gray);

            --avh-guide-silver:
                var(--avh-color-silver);

            --avh-guide-charcoal:
                var(--avh-color-charcoal);


            position:
                relative;

            left:
                50%;

            width:
                100vw;

            max-width:
                none;

            margin:
                -64px
                0
                0;

            padding:
                22px
                0
                90px;

            z-index:
                3;

            transform:
                translateX(
                    -50%
                );

            overflow:
                hidden;

            background:
                var(
                    --avh-guide-bg
                );

            color:
                var(
                    --avh-color-ink
                );

            font-family:
                "Manrope",
                Arial,
                sans-serif;

        }


        @supports (width: 100dvw) {

            .avh-guestguide {

                width:
                    100dvw;

            }

        }



        .avh-guestguide-shell {

            position:
                relative;

            z-index:
                3;

            width:
                100%;

            max-width:
                1040px;

            margin:
                0 auto;

        }



        /* =====================================================
           MESSMODUS

           Wird nur für wenige Millisekunden intern genutzt,
           um die finale Position eines Panels vorauszuberechnen.

           Da alles synchron innerhalb eines Browserframes
           geschieht, ist dieser Zustand nicht sichtbar.
           ===================================================== */

        .avh-guestguide.is-measuring
        .avh-guestguide-panel,

        .avh-guestguide.is-measuring
        .avh-guestguide-panel-head,

        .avh-guestguide.is-measuring
        .avh-guestguide-panel-title,

        .avh-guestguide.is-measuring
        .avh-guestguide-indicator span,

        .avh-guestguide.is-measuring
        .avh-guestguide-separator,

        .avh-guestguide.is-measuring
        .avh-guestguide-content {

            transition:
                none !important;

        }



        /* =====================================================
           SPRACHE
           ===================================================== */

        html[data-avh-language="de"]
        .avh-guestguide
        [data-avh-lang="en"] {

            display:
                none !important;

        }



        html[data-avh-language="en"]
        .avh-guestguide
        [data-avh-lang="de"] {

            display:
                none !important;

        }



        /* =====================================================
           INTRO
           ===================================================== */

        .avh-guestguide-intro {

            width:
                auto;

            max-width:
                520px;

            margin:
                0
                20px
                42px;

        }



        .avh-guestguide-eyebrow {

            display:
                block;

            margin:
                0
                0
                10px;

            color:
                var(
                    --avh-accent
                );

            font-size:
                10px;

            font-weight:
                700;

            line-height:
                1;

            letter-spacing:
                0.18em;

        }



        .avh-guestguide-intro h1 {

            margin:
                0;

            color:
                var(
                    --avh-dark
                );

            font-family:
                "Cormorant Garamond",
                Georgia,
                serif;

            font-size:
                clamp(
                    35px,
                    10vw,
                    48px
                );

            font-weight:
                500;

            line-height:
                0.98;

            letter-spacing:
                -0.03em;

        }



        .avh-guestguide-intro p {

            max-width:
                420px;

            margin:
                16px
                0
                0;

            color:
                var(
                    --avh-text-soft
                );

            font-size:
                14px;

            line-height:
                1.65;

        }



        /* =====================================================
           PANEL CONTAINER
           ===================================================== */

        .avh-guestguide-panels {

            position:
                relative;

            display:
                flex;

            flex-direction:
                column;

            width:
                100%;

            padding:
                var(--avh-slant)
                0;

            isolation:
                isolate;

        }



        /* =====================================================
           PANEL
           ===================================================== */

        .avh-guestguide-panel {

            position:
                relative;

            display:
                grid;

            grid-template-columns:
                1fr;

            grid-template-rows:
                auto
                auto
                auto;

            width:
                100%;

            min-height:
                108px;

            margin:
                calc(
                    var(--avh-slant)
                    * -0.5
                )
                0;

            padding:
                calc(
                    var(--avh-slant)
                    + 18px
                )
                22px
                calc(
                    var(--avh-slant)
                    + 18px
                );

            overflow:
                hidden;

            background:
                linear-gradient(
                    104deg,
                    rgba(
                        var(--avh-rgb-base-warm-white),
                        0.42
                    )
                    0%,
                    rgba(
                        var(--avh-rgb-base-warm-white),
                        0.12
                    )
                    42%,
                    rgba(
                        var(--avh-rgb-panel-ink),
                        0.025
                    )
                    100%
                ),
                var(
                    --avh-panel-bg
                );

            color:
                var(
                    --avh-text
                );

            clip-path:
                polygon(

                    0
                    var(--avh-slant),

                    100%
                    0,

                    100%
                    calc(
                        100%
                        -
                        var(--avh-slant)
                    ),

                    0
                    100%

                );

            z-index:
                var(
                    --avh-panel-z
                );

            box-shadow:
                inset 0 1px 0
                rgba(
                    var(--avh-rgb-base-warm-white),
                    0.58
                ),
                inset 0 -1px 0
                rgba(
                    var(--avh-rgb-panel-ink),
                    0.065
                ),
                inset 3px 0 0
                rgba(
                    var(--avh-rgb-border),
                    0.50
                );

            transition:

                padding
                var(--avh-motion-duration)
                var(--avh-motion-ease),

                background
                var(--avh-motion-duration)
                var(--avh-motion-ease);

        }



        /* =====================================================
           RADIO
           ===================================================== */

        .avh-guestguide-radio {

            position:
                absolute;

            width:
                1px;

            height:
                1px;

            margin:
                -1px;

            padding:
                0;

            overflow:
                hidden;

            clip:
                rect(
                    0,
                    0,
                    0,
                    0
                );

            clip-path:
                inset(
                    50%
                );

            border:
                0;

            white-space:
                nowrap;

        }



        /* =====================================================
           HEADER
           ===================================================== */

        .avh-guestguide-panel-head {

            position:
                relative;

            display:
                grid;

            grid-template-columns:
                minmax(
                    0,
                    1fr
                )
                30px;

            align-items:
                center;

            width:
                100%;

            min-height:
                42px;

            margin:
                0;

            padding:
                0;

            border:
                0;

            outline:
                0;

            background:
                transparent;

            color:
                inherit;

            text-align:
                left;

            cursor:
                pointer;

            appearance:
                none;

            -webkit-appearance:
                none;

            transition:
                transform
                var(--avh-motion-duration)
                var(--avh-motion-ease);

        }



        /*
         * Theme- und Elementor-Button-Hovereffekte werden innerhalb
         * des Gästemappen-Akkordeons vollständig neutralisiert.
         * Die Kopfzeile bleibt beim Hovern optisch unverändert.
         */
        .avh-guestguide-panel-head:hover,
        .avh-guestguide-panel-head:active,
        .avh-guestguide-panel-head:focus,
        .avh-guestguide-panel-head:visited {

            background:
                transparent !important;

            background-color:
                transparent !important;

            color:
                inherit !important;

            border-color:
                transparent !important;

            box-shadow:
                none !important;

            filter:
                none !important;

            opacity:
                1 !important;

            text-decoration:
                none !important;

        }


        .avh-guestguide-panel-head:hover
        .avh-guestguide-panel-title,
        .avh-guestguide-panel-head:active
        .avh-guestguide-panel-title,
        .avh-guestguide-panel-head:focus
        .avh-guestguide-panel-title {

            color:
                var(
                    --avh-color-ink
                ) !important;

            background:
                transparent !important;

            text-decoration:
                none !important;

        }


        .avh-guestguide-panel-head,
        .avh-guestguide-panel-title {

            -webkit-tap-highlight-color:
                transparent;

        }


        .avh-guestguide-panel-head:focus-visible {

            outline:
                2px solid
                var(
                    --avh-accent
                );

            outline-offset:
                6px;

        }



        /* =====================================================
           PANEL TITEL
           ===================================================== */

        .avh-guestguide-panel-title {

            display:
                block;

            padding:
                0
                14px
                0
                0;

            color:
                var(
                    --avh-color-panel-ink
                );

            font-family:
                "Cormorant Garamond",
                Georgia,
                serif;

            font-size:
                clamp(
                    19px,
                    5.4vw,
                    22px
                );

            font-weight:
                600;

            line-height:
                1;

            letter-spacing:
                -0.015em;

            transition:

                transform
                var(--avh-motion-duration)
                var(--avh-motion-ease),

                opacity
                var(--avh-motion-duration)
                var(--avh-motion-ease);

        }



        /* =====================================================
           INDICATOR
           ===================================================== */

        .avh-guestguide-indicator {

            position:
                relative;

            display:
                block;

            width:
                28px;

            height:
                28px;

            color:
                var(
                    --avh-guide-charcoal
                );

            opacity:
                0.72;

        }



        .avh-guestguide-indicator span {

            position:
                absolute;

            top:
                50%;

            left:
                50%;

            width:
                10px;

            height:
                10px;

            border-right:
                1.5px solid
                currentColor;

            border-bottom:
                1.5px solid
                currentColor;

            transform:
                translate(
                    -60%,
                    -70%
                )
                rotate(
                    45deg
                );

            transition:
                transform
                var(--avh-motion-duration)
                var(--avh-motion-ease);

        }



        /* =====================================================
           TRENNLINIE
           ===================================================== */

        .avh-guestguide-separator {

            width:
                0;

            height:
                1px;

            margin:
                0;

            justify-self:
                center;

            background:
                rgba(
                    var(--avh-rgb-border),
                    0.72
                );

            transition:

                width
                var(--avh-motion-duration)
                var(--avh-motion-ease),

                margin
                var(--avh-motion-duration)
                var(--avh-motion-ease);

        }



        /* =====================================================
           CONTENT
           ===================================================== */

        .avh-guestguide-content {

            display:
                grid;

            grid-template-rows:
                0fr;

            width:
                100%;

            opacity:
                0;

            pointer-events:
                none;

            transition:

                grid-template-rows
                var(--avh-motion-duration)
                var(--avh-motion-ease),

                opacity
                420ms
                ease;

        }



        .avh-guestguide-content-inner {

            min-height:
                0;

            overflow:
                hidden;

        }



        /* =====================================================
           AKTIVES PANEL
           ===================================================== */

        .avh-guestguide-panel:has(
            .avh-guestguide-radio:checked
        ) {

            padding-top:
                calc(
                    var(--avh-slant)
                    + 24px
                );

            padding-bottom:
                calc(
                    var(--avh-slant)
                    + 38px
                );

            /*
             * Beim Öffnen bleibt die jeweilige Farbfamilie erhalten,
             * wird aber über die globale Active-Variable dezent satter.
             * Keine lokale Farbe im Shortcode.
             */

            background:
                linear-gradient(
                    104deg,
                    rgba(
                        var(--avh-rgb-base-warm-white),
                        0.52
                    )
                    0%,
                    rgba(
                        var(--avh-rgb-base-warm-white),
                        0.16
                    )
                    42%,
                    rgba(
                        var(--avh-rgb-panel-ink),
                        0.03
                    )
                    100%
                ),
                var(
                    --avh-panel-active
                );

        }



        .avh-guestguide-panel:has(
            .avh-guestguide-radio:checked
        )
        .avh-guestguide-panel-head {

            transform:
                translateX(
                    4px
                );

        }



        .avh-guestguide-panel:has(
            .avh-guestguide-radio:checked
        )
        .avh-guestguide-indicator
        span {

            transform:
                translate(
                    -50%,
                    -25%
                )
                rotate(
                    225deg
                );

        }



        .avh-guestguide-panel:has(
            .avh-guestguide-radio:checked
        )
        .avh-guestguide-separator {

            width:
                72%;

            margin:
                18px
                0
                24px;

        }



        .avh-guestguide-panel:has(
            .avh-guestguide-radio:checked
        )
        .avh-guestguide-content {

            grid-template-rows:
                1fr;

            opacity:
                1;

            pointer-events:
                auto;

        }



        /* =====================================================
           INAKTIVE PANELS
           ===================================================== */

        .avh-guestguide-panels:has(
            .avh-guestguide-radio:checked
        )
        .avh-guestguide-panel:not(
            :has(
                .avh-guestguide-radio:checked
            )
        )
        .avh-guestguide-panel-title {

            opacity:
                0.90;

        }



        /* =====================================================
           CONTENT TYPOGRAFIE
           ===================================================== */

        .avh-guestguide-label {

            display:
                block;

            margin:
                0
                0
                10px;

            color:
                var(
                    --avh-accent
                );

            font-size:
                9px;

            font-weight:
                700;

            line-height:
                1;

            letter-spacing:
                0.16em;

        }



        .avh-guestguide-content h2 {

            max-width:
                620px;

            margin:
                0
                0
                16px;

            color:
                var(
                    --avh-dark
                );

            font-family:
                "Cormorant Garamond",
                Georgia,
                serif;

            font-size:
                clamp(
                    27px,
                    7vw,
                    32px
                );

            font-weight:
                500;

            line-height:
                1;

            letter-spacing:
                -0.025em;

        }



        .avh-guestguide-content h3 {

            margin:
                0
                0
                16px;

            color:
                var(
                    --avh-dark
                );

            font-family:
                "Cormorant Garamond",
                Georgia,
                serif;

            font-size:
                25px;

            font-weight:
                500;

            line-height:
                1.05;

        }


        .avh-guestguide-content h3.avh-guestguide-subheading {

            margin-top:
                28px;

        }



        .avh-guestguide-content p {

            max-width:
                650px;

            margin:
                0
                0
                12px;

            color:
                var(
                    --avh-text-soft
                );

            font-size:
                14px;

            line-height:
                1.65;

        }



        /* =====================================================
           SIGNATUR
           ===================================================== */

        .avh-guestguide-signature {

            display:
                flex;

            flex-direction:
                column;

            gap:
                4px;

            margin:
                24px
                0
                0;

        }



        .avh-guestguide-signature strong {

            color:
                var(
                    --avh-dark
                );

            font-family:
                "Cormorant Garamond",
                Georgia,
                serif;

            font-size:
                25px;

            font-weight:
                500;

            line-height:
                1;

        }



        .avh-guestguide-signature span {

            color:
                var(
                    --avh-accent
                );

            font-size:
                9px;

            font-weight:
                700;

            line-height:
                1;

            letter-spacing:
                0.14em;

            text-transform:
                uppercase;

        }



        /* =====================================================
           SECTION BLOCKS
           ===================================================== */

        .avh-guestguide-section-block {

            margin:
                38px
                0
                0;

            padding:
                28px
                0
                0;

            border-top:
                1px solid
                rgba(
                    var(--avh-rgb-border),
                    0.34
                );

        }



        /* =====================================================
           CARDS
           ===================================================== */

        .avh-guestguide-card-grid {

            display:
                grid;

            grid-template-columns:
                1fr;

            gap:
                10px;

            margin:
                24px
                0
                0;

        }



        .avh-guestguide-card {

            padding:
                20px;

            background:
                rgba(
                    var(--avh-rgb-base-warm-white),
                    0.76
                );

            border:
                1px solid
                rgba(
                    var(--avh-rgb-border),
                    0.30
                );

            box-shadow:
                inset 0 1px 0
                rgba(
                    var(--avh-rgb-base-warm-white),
                    0.72
                ),
                0 10px 28px
                rgba(
                    var(--avh-rgb-panel-ink),
                    0.035
                );

        }



        .avh-guestguide-card-label {

            display:
                block;

            margin:
                0
                0
                14px;

            color:
                var(
                    --avh-accent
                );

            font-size:
                9px;

            font-weight:
                700;

            line-height:
                1.2;

            letter-spacing:
                0.10em;

            text-transform:
                uppercase;

        }



        /* =====================================================
           INFO ROWS
           ===================================================== */

        .avh-guestguide-info-row {

            display:
                flex;

            flex-direction:
                column;

            gap:
                3px;

            margin:
                0
                0
                12px;

        }



        .avh-guestguide-info-row:last-child {

            margin-bottom:
                0;

        }



        .avh-guestguide-info-row > span {

            color:
                var(
                    --avh-text-soft
                );

            font-size:
                10px;

            font-weight:
                600;

            line-height:
                1.3;

            letter-spacing:
                0.06em;

            text-transform:
                uppercase;

        }



        .avh-guestguide-info-row strong {

            color:
                var(
                    --avh-dark
                );

            font-size:
                14px;

            font-weight:
                600;

            line-height:
                1.4;

        }



        /* =====================================================
           INFO LIST
           ===================================================== */

        .avh-guestguide-info-list {

            width:
                100%;

        }



        .avh-guestguide-info-list > div {

            display:
                flex;

            flex-direction:
                column;

            gap:
                5px;

            padding:
                15px
                0;

            border-bottom:
                1px solid
                rgba(var(--avh-rgb-primary), 0.12);

        }



        .avh-guestguide-info-list > div > span {

            color:
                var(
                    --avh-text-soft
                );

            font-size:
                10px;

            font-weight:
                600;

            letter-spacing:
                0.06em;

            text-transform:
                uppercase;

        }



        .avh-guestguide-info-list > div > strong {

            color:
                var(
                    --avh-dark
                );

            font-size:
                14px;

            font-weight:
                600;

            line-height:
                1.45;

        }



        /* =====================================================
           FEATURES
           ===================================================== */

        .avh-guestguide-inline-link {
            display: inline;
            color: inherit;
            font-weight: 700;
            text-decoration: underline;
            text-decoration-thickness: 1px;
            text-underline-offset: 0.18em;
            transition: opacity 180ms ease;
        }

        .avh-guestguide-inline-link:hover,
        .avh-guestguide-inline-link:focus-visible {
            opacity: 0.68;
        }

        .avh-guestguide-feature-grid {

            display:
                grid;

            grid-template-columns:
                repeat(
                    2,
                    minmax(
                        0,
                        1fr
                    )
                );

            gap:
                8px;

        }



        .avh-guestguide-feature-grid span {

            padding:
                13px;

            background:
                rgba(
                    var(--avh-rgb-base-warm-white),
                    0.70
                );

            border:
                1px solid
                rgba(
                    var(--avh-rgb-border),
                    0.24
                );

            color:
                var(
                    --avh-text
                );

            font-size:
                12px;

            line-height:
                1.4;

        }



        /* =====================================================
           RULES
           ===================================================== */

        .avh-guestguide-rule-list {

            margin:
                24px
                0
                0;

        }



        .avh-guestguide-rule-list > div {

            padding:
                22px
                0;

            border-bottom:
                1px solid
                rgba(var(--avh-rgb-primary), 0.13);

        }



        .avh-guestguide-rule-list > div > span {

            display:
                block;

            margin:
                0
                0
                9px;

            color:
                var(
                    --avh-dark
                );

            font-family:
                "Cormorant Garamond",
                Georgia,
                serif;

            font-size:
                23px;

            font-weight:
                500;

        }



        /* =====================================================
           ENTFERNUNGEN / EINHEITEN
           ===================================================== */

        /*
         * Zahl und Einheit bleiben immer zusammen.
         * Beispiel: „350 m“ kann als Ganzes in die nächste Zeile
         * wechseln, aber das „m“ steht nie alleine.
         */
        .avh-distance {

            display:
                inline-block;

            white-space:
                nowrap;

            max-width:
                100%;

        }


        /* =====================================================
           DESTINATIONS
           ===================================================== */

        .avh-guestguide-destination-grid {

            display:
                grid;

            grid-template-columns:
                1fr;

            gap:
                10px;

        }



        .avh-guestguide-destination-grid > div {

            padding:
                20px;

            background:
                rgba(
                    var(--avh-rgb-base-warm-white),
                    0.72
                );

            border:
                1px solid
                rgba(
                    var(--avh-rgb-border),
                    0.26
                );

            box-shadow:
                0 10px 26px
                rgba(
                    var(--avh-rgb-panel-ink),
                    0.03
                );

        }



        .avh-guestguide-destination-grid > div > span {

            display:
                block;

            margin:
                0
                0
                8px;

            color:
                var(
                    --avh-accent
                );

            font-size:
                9px;

            font-weight:
                700;

            letter-spacing:
                0.10em;

            text-transform:
                uppercase;

        }



        .avh-guestguide-destination-grid > div > strong {

            display:
                block;

            margin:
                0
                0
                8px;

            color:
                var(
                    --avh-dark
                );

            font-family:
                "Cormorant Garamond",
                Georgia,
                serif;

            font-size:
                22px;

            font-weight:
                500;

            line-height:
                1.05;

        }



        /* =====================================================
           CONTACT CTA
           ===================================================== */

        .avh-guestguide-contact-action {

            display:
                flex;

            align-items:
                center;

            justify-content:
                flex-start;

            margin:
                26px
                0
                0;

        }


        .avh-guestguide-contact-action--faq {

            margin-top:
                16px;

        }


        .avh-guestguide-contact-button {

            position:
                relative;

            display:
                inline-flex;

            align-items:
                center;

            justify-content:
                center;

            min-height:
                50px;

            padding:
                14px
                28px;

            overflow:
                hidden;

            border:
                1px solid
                var(
                    --avh-color-charcoal
                );

            border-radius:
                999px;

            background:
                linear-gradient(
                    135deg,
                    var(--avh-color-charcoal),
                    var(--avh-color-ink)
                );

            box-shadow:
                inset 0 1px 0
                rgba(
                    var(--avh-rgb-base-warm-white),
                    0.16
                ),
                0 12px 28px
                rgba(
                    var(--avh-rgb-panel-ink),
                    0.13
                );

            color:
                var(
                    --avh-color-floral-white
                ) !important;

            font-family:
                inherit;

            font-size:
                12px;

            font-weight:
                700;

            line-height:
                1;

            letter-spacing:
                0.10em;

            text-align:
                center;

            text-decoration:
                none !important;

            text-transform:
                uppercase;

            transition:
                transform
                220ms
                ease,
                box-shadow
                220ms
                ease,
                background
                220ms
                ease,
                color
                220ms
                ease;

        }


        .avh-guestguide-contact-button:hover {

            transform:
                translateY(
                    -2px
                );

            background:
                var(
                    --avh-color-floral-white
                );

            color:
                var(
                    --avh-color-ink
                ) !important;

            box-shadow:
                inset 0 0 0 1px
                rgba(
                    var(--avh-rgb-border),
                    0.58
                ),
                0 15px 32px
                rgba(
                    var(--avh-rgb-panel-ink),
                    0.10
                );

        }


        .avh-guestguide-contact-button:focus-visible {

            outline:
                2px solid
                var(
                    --avh-color-silver
                );

            outline-offset:
                4px;

        }


        .avh-guestguide-contact-button:active {

            transform:
                translateY(
                    0
                );

        }


        /* =====================================================
           EMERGENCY
           ===================================================== */

        .avh-guestguide-emergency-grid {

            display:
                grid;

            grid-template-columns:
                1fr;

            gap:
                8px;

            margin:
                20px
                0;

        }



        .avh-guestguide-emergency-grid > div {

            display:
                flex;

            align-items:
                center;

            gap:
                18px;

            padding:
                18px;

            background:
                var(
                    --avh-dark
                );

            color:
                var(--avh-color-white);

        }



        .avh-guestguide-emergency-grid strong {

            min-width:
                76px;

            color:
                var(--avh-color-copper);

            font-family:
                "Cormorant Garamond",
                Georgia,
                serif;

            font-size:
                28px;

            font-weight:
                500;

        }



        .avh-guestguide-emergency-grid span {

            font-size:
                12px;

            line-height:
                1.45;

        }



        /* =====================================================
           CHECKLIST
           ===================================================== */

        .avh-guestguide-checklist {

            list-style:
                none;

            margin:
                24px
                0 !important;

            padding:
                0 !important;

        }



        .avh-guestguide-checklist li {

            position:
                relative;

            margin:
                0 !important;

            padding:
                14px
                0
                14px
                28px;

            border-bottom:
                1px solid
                rgba(var(--avh-rgb-primary), 0.13);

            color:
                var(
                    --avh-text-soft
                );

            font-size:
                14px;

            line-height:
                1.5;

        }



        .avh-guestguide-checklist li::before {

            content:
                "✓";

            position:
                absolute;

            top:
                14px;

            left:
                0;

            color:
                var(
                    --avh-accent
                );

            font-weight:
                700;

        }



        /* =====================================================
           FAQ
           ===================================================== */

        .avh-guestguide-faq-list {

            margin:
                22px
                0
                0;

        }



        .avh-guestguide-faq-list > div {

            padding:
                22px
                0;

            border-bottom:
                1px solid
                rgba(var(--avh-rgb-primary), 0.13);

        }



        .avh-guestguide-faq-list h3 {

            margin-bottom:
                10px;

            font-size:
                22px;

        }



        /* =====================================================
           PLACEHOLDERS
           ===================================================== */

        .avh-placeholder {

            color:
                var(--avh-color-gold-dark) !important;

            font-weight:
                600 !important;

        }



        /* =====================================================
           TABLET
           ===================================================== */

        @media
        (min-width: 768px) {


            .avh-guestguide {

                --avh-slant:
                    38px;


                padding:
                    68px
                    28px
                    120px;

            }



            .avh-guestguide-intro {

                margin:
                    0
                    30px
                    56px;

            }



            .avh-guestguide-intro h1 {

                font-size:
                    48px;

            }



            .avh-guestguide-panel {

                min-height:
                    126px;

                padding-left:
                    42px;

                padding-right:
                    42px;

            }



            .avh-guestguide-panel-title {

                font-size:
                    24px;

            }



            .avh-guestguide-content-inner {

                width:
                    100%;

                max-width:
                    760px;

                margin:
                    0 auto;

            }



            .avh-guestguide-content h2 {

                font-size:
                    34px;

            }



            .avh-guestguide-card-grid {

                grid-template-columns:
                    repeat(
                        2,
                        minmax(
                            0,
                            1fr
                        )
                    );

            }



            .avh-guestguide-feature-grid {

                grid-template-columns:
                    repeat(
                        3,
                        minmax(
                            0,
                            1fr
                        )
                    );

            }



            .avh-guestguide-destination-grid {

                grid-template-columns:
                    repeat(
                        2,
                        minmax(
                            0,
                            1fr
                        )
                    );

            }






            .avh-guestguide-emergency-grid {

                grid-template-columns:
                    repeat(
                        3,
                        minmax(
                            0,
                            1fr
                        )
                    );

            }



            .avh-guestguide-emergency-grid > div {

                flex-direction:
                    column;

                align-items:
                    flex-start;

            }



            .avh-guestguide-info-list > div {

                flex-direction:
                    row;

                align-items:
                    center;

                justify-content:
                    space-between;

                gap:
                    30px;

            }


        }



        /* =====================================================
           DESKTOP
           ===================================================== */

        @media
        (min-width: 1200px) {


            .avh-guestguide {

                --avh-slant:
                    46px;


                padding:
                    80px
                    48px
                    140px;

            }



            .avh-guestguide-intro {

                margin:
                    0
                    46px
                    64px;

            }



            .avh-guestguide-intro h1 {

                font-size:
                    52px;

            }



            .avh-guestguide-panel {

                min-height:
                    138px;

                padding-left:
                    58px;

                padding-right:
                    58px;

            }



            .avh-guestguide-panel-title {

                font-size:
                    27px;

            }



            .avh-guestguide-content-inner {

                max-width:
                    820px;

            }



            .avh-guestguide-content h2 {

                font-size:
                    38px;

            }



            .avh-guestguide-content p {

                font-size:
                    15px;

            }



            .avh-guestguide-destination-grid {

                grid-template-columns:
                    repeat(
                        3,
                        minmax(
                            0,
                            1fr
                        )
                    );

            }


        }



        @media (max-width: 520px) {

            .avh-guestguide-contact-action {

                width:
                    100%;

            }


            .avh-guestguide-contact-button {

                width:
                    100%;

                max-width:
                    360px;

            }

        }



        /* =====================================================
           MOBILE HERO / GUIDE ÜBERGANG
           ===================================================== */

        @media (max-width: 900px) {

            /*
             * Die Desktop-Version darf weiterhin leicht überlappen.
             * Auf Mobile würde der negative Abstand jedoch den Bogen
             * vollständig überdecken. Deshalb beginnt die Gästemappe
             * hier direkt unter dem Hero.
             */
            .avh-guestguide {

                margin-top:
                    0 !important;

                padding-top:
                    34px !important;

            }

        }


        /* =====================================================
           REDUCED MOTION
           ===================================================== */

        @media
        (prefers-reduced-motion: reduce) {


            .avh-guestguide *,
            .avh-guestguide *::before,
            .avh-guestguide *::after {

                transition-duration:
                    0.01ms !important;

                animation-duration:
                    0.01ms !important;

            }


        }
