/* =========================================================
       BASIS
       ========================================================= */

    #ah-city-comfort-suite {






        --ah-cta-button-width: 230px;

        /*
         * Der Hero verwendet keine künstliche Viewport-Abschlusskante mehr.
         * Seine Höhe wird ausschließlich responsiv über das CSS gesteuert,
         * damit bereits im ersten Viewport weiterer Seiteninhalt sichtbar ist.
         */
        --ah-hero-height: auto;

        position: relative;

        margin-top: 0 !important;
        padding-top: 0;

        /*
         * CSS-Fallback für echtes Full-Bleed bereits vor dem JavaScript.
         * JS ersetzt dies anschließend durch die exakte clientWidth-Breite,
         * damit auch unter Windows kein horizontaler Überstand entsteht.
         */
        left: 50%;

        width: 100vw;
        max-width: none;

        margin-left: -50vw;
        margin-right: -50vw;


        overflow-x: clip;
        overflow-y: visible;

        background: var(--avh-base-warm-white);

        color: var(--avh-base-gray);

        font-family:
            Verdana,
            Geneva,
            sans-serif;

    }


    #ah-city-comfort-suite *,
    #ah-city-comfort-suite *::before,
    #ah-city-comfort-suite *::after {

        box-sizing: border-box;

    }


    #ah-city-comfort-suite img {

        display: block;

        max-width: 100%;

    }


    #ah-city-comfort-suite button,
    #ah-city-comfort-suite a {

        font: inherit;

    }


    #ah-city-comfort-suite .ah-apartment-shell {

        width:
            min(
                1280px,
                calc(100% - 80px)
            );

        margin:
            0 auto;

    }



    /* =========================================================
       PREMIUM DIVIDER
       ========================================================= */

    #ah-city-comfort-suite .ah-apartment-premium-divider {

        position: absolute;

        top: 0;
        right: 0;
        left: 0;

        z-index: 10;

        display: block;

        width: 100%;
        height: 3px;

        background:
            linear-gradient(
                90deg,
                var(--avh-base-gray) 0%,
                var(--avh-base-gray) 24%,
                var(--avh-base-gray) 76%,
                var(--avh-base-gray) 100%
            );

        box-shadow:
            0 10px 18px
            rgba(var(--avh-rgb-base-gray), .08);

        pointer-events: none;

    }


    #ah-city-comfort-suite .ah-apartment-premium-divider::after {

        content: "";

        position: absolute;

        top: 3px;
        right: 0;
        left: 0;

        height: 20px;

        background:
            linear-gradient(
                180deg,

                rgba(var(--avh-rgb-base-gray), .10) 0%,

                rgba(var(--avh-rgb-base-gray), .045) 34%,

                rgba(var(--avh-rgb-base-gray), .014) 68%,

                rgba(var(--avh-rgb-base-gray), 0) 100%
            );

        pointer-events: none;

    }


    #ah-city-comfort-suite
    .ah-apartment-premium-divider--shadow-up::before {

        content: "";

        position: absolute;

        right: 0;
        bottom: 100%;
        left: 0;

        width: 100%;
        height: 34px;

        background:
            linear-gradient(
                180deg,

                rgba(var(--avh-rgb-base-gray), 0) 0%,

                rgba(var(--avh-rgb-base-gray), .020) 38%,

                rgba(var(--avh-rgb-base-gray), .065) 70%,

                rgba(var(--avh-rgb-base-gray), .125) 100%
            );

        pointer-events: none;

    }


    #ah-city-comfort-suite
    .ah-apartment-premium-divider--cta {

        top: 0;

        height: 3px;

        box-shadow:

            0 -12px 22px
            rgba(var(--avh-rgb-base-gray), .085),

            0 10px 18px
            rgba(var(--avh-rgb-base-gray), .10);

    }


    #ah-city-comfort-suite
    .ah-apartment-premium-divider--cta::after {

        top: 3px;

        background:
            linear-gradient(
                180deg,

                rgba(var(--avh-rgb-base-gray), .16) 0%,

                rgba(var(--avh-rgb-base-gray), .065) 36%,

                rgba(var(--avh-rgb-base-gray), .018) 70%,

                rgba(var(--avh-rgb-base-gray), 0) 100%
            );

    }



    /* =========================================================
       TYPO
       ========================================================= */

    #ah-city-comfort-suite h1,
    #ah-city-comfort-suite h2,
    #ah-city-comfort-suite h3,
    #ah-city-comfort-suite p {

        margin-top: 0;

    }


    #ah-city-comfort-suite h2 {

        max-width: 820px;

        margin-bottom: 28px;

        font-size:
            clamp(
                32px,
                4.2vw,
                64px
            );

        line-height: 1.08;

        letter-spacing: -.035em;

        font-weight: 500;

    }


    #ah-city-comfort-suite .ah-apartment-kicker {

        margin-bottom: 22px;

        color: var(--avh-base-gray);

        font-size: 10px;

        font-weight: 700;

        line-height: 1.4;

        letter-spacing: .17em;

        text-transform: uppercase;

    }


    #ah-city-comfort-suite .ah-apartment-kicker--light {

        color:
            rgba(var(--avh-rgb-base-warm-white), .72);

    }


    #ah-city-comfort-suite .ah-apartment-lead {

        max-width: 760px;

        margin-bottom: 0;

        color:
            var(--avh-base-gray);

        font-size:
            clamp(
                16px,
                1.4vw,
                20px
            );

        line-height: 1.9;

    }


    #ah-city-comfort-suite .ah-apartment-section {

        position: relative;

        padding:
            clamp(
                76px,
                8vw,
                132px
            )
            0;

    }


    #ah-city-comfort-suite .ah-apartment-section-head {

        display: flex;

        align-items: flex-end;
        justify-content: space-between;

        gap: 40px;

        margin-bottom: 56px;

    }


    #ah-city-comfort-suite .ah-apartment-section-head h2 {

        margin-bottom: 0;

    }



    /* =========================================================
       ICONS
       ========================================================= */

    #ah-city-comfort-suite .ah-apartment-icon {

        width: 32px;
        height: 32px;

        flex:
            0
            0
            auto;

        color:
            var(--avh-base-gray);

    }


    #ah-city-comfort-suite .ah-apartment-icon svg {

        width: 100%;
        height: 100%;

        fill: none;

        stroke:
            currentColor;

        stroke-width: 1.45;

        stroke-linecap:
            round;

        stroke-linejoin:
            round;

    }



    /* =========================================================
       LUXURY BUTTONS
       ========================================================= */

    #ah-city-comfort-suite .ah-luxury-button,
    #ah-city-comfort-suite .ah-booking-button,
    #ah-city-comfort-suite .ah-airbnb-button {

        position: relative;

        display: inline-flex;

        align-items: center;
        justify-content: center;

        min-height: 46px;

        padding:
            0
            23px;

        overflow: hidden;

        border-radius: 999px;

        text-decoration: none;

        cursor: pointer;

        font-family:
            Verdana,
            Geneva,
            sans-serif !important;

        font-size: 12px !important;

        font-weight: 700 !important;

        line-height: 1 !important;

        letter-spacing: .02em !important;

        transform:
            translate3d(
                0,
                0,
                0
            );

        transition:
            transform
            280ms
            cubic-bezier(
                .22,
                1,
                .36,
                1
            );

    }


    #ah-city-comfort-suite .ah-luxury-button::before,
    #ah-city-comfort-suite .ah-booking-button::before,
    #ah-city-comfort-suite .ah-airbnb-button::before {

        content: "";

        position: absolute;

        top: 0;
        left: 0;

        width: 65%;
        height: 100%;

        background:
            linear-gradient(
                100deg,

                rgba(var(--avh-rgb-base-gray), 0) 0%,

                rgba(var(--avh-rgb-base-warm-white), .14) 48%,

                rgba(var(--avh-rgb-base-gray), 0) 100%
            );

        transform:
            translate3d(
                -185%,
                0,
                0
            )
            skewX(-20deg);

        transition:
            transform
            600ms
            cubic-bezier(
                .22,
                1,
                .36,
                1
            );

        pointer-events: none;

    }


    #ah-city-comfort-suite .ah-luxury-button__text,
    #ah-city-comfort-suite .ah-booking-button__text {

        position: relative;

        z-index: 2;

    }


    @media (hover: hover) and (pointer: fine) {

        #ah-city-comfort-suite .ah-luxury-button:hover,
        #ah-city-comfort-suite .ah-booking-button:hover,
        #ah-city-comfort-suite .ah-airbnb-button:hover {

            transform:
                translate3d(
                    0,
                    -2px,
                    0
                );

        }


        #ah-city-comfort-suite .ah-luxury-button:hover::before,
        #ah-city-comfort-suite .ah-booking-button:hover::before,
        #ah-city-comfort-suite .ah-airbnb-button:hover::before {

            transform:
                translate3d(
                    265%,
                    0,
                    0
                )
                skewX(-20deg);

        }

    }



    /* =========================================================
       HERO / WATERMARK LOOK
       ========================================================= */

    #ah-city-comfort-suite .ah-apartment-hero {

        position: relative;

        /*
         * Offener First View:
         * Desktop und Tablet orientieren sich an der panoramischen
         * Bildwirkung der Gästemappe. Dadurch endet die Kombination
         * aus Hero + Faktenleiste bewusst VOR dem Viewportrand und der
         * nächste Inhaltsbereich ist bereits sichtbar.
         */
        width: 100%;

        height: auto;

        min-height: 390px;
        max-height: 560px;

        aspect-ratio:
            32
            /
            9;

        display: flex;

        align-items: center;
        justify-content: center;

        overflow: hidden;

        background:
            var(--avh-base-warm-white);

        isolation: isolate;

    }


    #ah-city-comfort-suite .ah-apartment-hero__image {

        position: absolute;

        inset: 0;

        z-index: 0;

        width: 100%;
        height: 100%;

        max-width: none;

        object-fit: cover;
        object-position: 50% 52%;

        opacity: 1;

        filter:
            saturate(.72)
            contrast(.94)
            brightness(1.04);

        transform: none;

    }


    /*
     * Bheaven-Prinzip: Das Foto selbst bleibt vollflächig.
     * Darüber liegt eine sehr starke helle Fläche mit ca. 80 %
     * Deckkraft. Dadurch bleibt das Motiv erkennbar, wirkt aber
     * wie ein hochwertiges fotografisches Wasserzeichen.
     */
    #ah-city-comfort-suite .ah-apartment-hero__shade {

        position: absolute;

        inset: 0;

        z-index: 1;

        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);

        pointer-events: none;

    }


    #ah-city-comfort-suite .ah-apartment-hero__wave {

        position: absolute;

        right: 0;
        bottom: -1px;
        left: 0;

        z-index: 3;

        width: 100%;
        height:
            clamp(
                44px,
                3.4vw,
                60px
            );

        pointer-events: none;

    }


    #ah-city-comfort-suite .ah-apartment-hero__wave svg {

        display: block;

        width: 100%;
        height: 100%;

    }


    #ah-city-comfort-suite .ah-apartment-hero__wave path {

        fill:
            var(--avh-base-gray);

    }


    #ah-city-comfort-suite .ah-apartment-hero__content {

        position: relative;

        /*
         * Der komplette Textbereich liegt oberhalb der dekorativen Welle.
         * Durch den größeren unteren Innenabstand wird der sichtbare Inhalt
         * zusätzlich nach oben versetzt, ohne die Hero-Höhe wieder zu erhöhen.
         */
        z-index: 4;

        display: flex;

        flex-direction: column;

        align-items: center;
        justify-content: center;

        padding-top:
            clamp(
                46px,
                5vw,
                76px
            );

        padding-bottom:
            clamp(
                116px,
                8.8vw,
                144px
            );

        text-align: center;

        color:
            var(--avh-base-gray);

    }


    #ah-city-comfort-suite .ah-apartment-hero__eyebrow {

        margin-bottom: 22px;

        color:
            rgba(var(--avh-rgb-base-gray), .68);

        font-size: 10px;

        font-weight: 700;

        line-height: 1.4;

        letter-spacing: .19em;

    }


    #ah-city-comfort-suite .ah-apartment-hero__brandmark {

        width:
            clamp(
                200px,
                14vw,
                286px
            );

        height: auto;

        /*
         * Das Logo wächst bewusst in den bislang freien Bereich
         * unterhalb der Marke hinein. Der kleinere untere Abstand
         * hält Logo und Apartmentname optisch als Einheit zusammen.
         */
        margin:
            0
            auto
            8px;

        opacity: .78;

        filter:
            saturate(.72)
            sepia(.12);

        mix-blend-mode:
            multiply;

    }


    #ah-city-comfort-suite .ah-apartment-hero h1 {

        width:
            min(
                980px,
                100%
            );

        margin-bottom: 18px;

        color:
            var(--avh-base-gray);

        font-size:
            clamp(
                42px,
                5.2vw,
                72px
            );

        font-weight: 500;

        line-height: .98;

        letter-spacing: -.052em;

        text-wrap: balance;

    }


    #ah-city-comfort-suite .ah-apartment-hero__claim {

        width:
            min(
                760px,
                100%
            );

        margin-bottom: 10px;

        color:
            var(--avh-base-gray);

        font-size:
            clamp(
                16px,
                1.55vw,
                21px
            );

        line-height: 1.42;

        text-wrap: balance;

    }


    #ah-city-comfort-suite .ah-apartment-hero__subclaim {

        width:
            min(
                680px,
                100%
            );

        margin-bottom: 0;

        color:
            rgba(var(--avh-rgb-base-gray), .62);

        font-size: 13px;

        line-height: 1.75;

        text-wrap: balance;

        /*
         * Zusätzliche Sicherheitszone vor der Welle.
         */
        position: relative;
        z-index: 5;

    }



    /* =========================================================
       QUICK FACTS
       ========================================================= */

    #ah-city-comfort-suite .ah-apartment-facts {

        position: relative;

        width: 100%;
        max-width: none;

        height: auto;

        margin: 0;

        border-bottom:
            3px solid
            var(--avh-base-gray);

        background:
            var(--avh-base-gray);

        color: var(--avh-base-warm-white);

    }


    #ah-city-comfort-suite .ah-apartment-facts__grid {

        display: grid;

        grid-template-columns:
            repeat(
                4,
                minmax(
                    0,
                    1fr
                )
            );

        width: 100%;
        height: 126px;

        margin: 0;
        padding: 0;

    }


    #ah-city-comfort-suite .ah-apartment-fact {

        min-width: 0;

        min-height: 126px;
        height: 126px;

        display: flex;

        align-items: center;
        justify-content: center;

        padding:
            24px
            18px;

        border-right:
            1px solid
            rgba(var(--avh-rgb-base-warm-white), .11);

    }


    #ah-city-comfort-suite .ah-apartment-fact:last-child {

        border-right: 0;

    }


    #ah-city-comfort-suite .ah-apartment-fact__inner {

        display: flex;

        align-items: center;

        gap: 16px;

        width:
            min(
                190px,
                100%
            );

    }


    #ah-city-comfort-suite .ah-apartment-fact__text {

        min-width: 0;

    }


    #ah-city-comfort-suite .ah-apartment-fact__value {

        margin-bottom: 4px;

        font-size: 22px;

        font-weight: 500;

    }


    #ah-city-comfort-suite .ah-apartment-fact__label {

        color:
            rgba(var(--avh-rgb-base-warm-white), .57);

        font-size: 11px;

    }



    /* =========================================================
       INTRO
       ========================================================= */

    #ah-city-comfort-suite .ah-apartment-intro {

        background:
            var(--avh-base-warm-white);

    }


    #ah-city-comfort-suite .ah-apartment-intro__grid {

        display: grid;

        grid-template-columns:
            minmax(
                140px,
                .42fr
            )
            1.58fr;

        gap:
            clamp(
                40px,
                9vw,
                150px
            );

    }



    /* =========================================================
       GALLERY BUTTON
       ========================================================= */

    #ah-city-comfort-suite .ah-luxury-button {

        border:
            1px solid
            rgba(var(--avh-rgb-base-gray), .48);

        background:
            linear-gradient(
                135deg,
                var(--avh-base-gray) 0%,
                var(--avh-base-gray) 100%
            );

        box-shadow:
            0 8px 20px
            rgba(var(--avh-rgb-base-gray), .15);

        color: var(--avh-base-warm-white);

    }



    /* =========================================================
       GALERIE / EDGE-TO-EDGE FLIEßBAND
       ========================================================= */

    #ah-city-comfort-suite .ah-apartment-gallery-section {

        background:
            var(--avh-base-warm-white);

        overflow: hidden;

    }


    #ah-city-comfort-suite .ah-apartment-section-head--gallery {

        align-items: center;

    }


    #ah-city-comfort-suite .ah-apartment-section-head--gallery .ah-luxury-button {

        flex: 0 0 auto;

    }


    #ah-city-comfort-suite .ah-apartment-gallery-stage {

        position: relative;

        width: 100%;

        overflow: hidden;

        isolation: isolate;

    }


    #ah-city-comfort-suite .ah-apartment-gallery-row {

        position: relative;

        width: 100%;

    }


    #ah-city-comfort-suite .ah-apartment-gallery-row--secondary {

        display: none;

    }


    /*
     * Kontinuierliches Fließband:
     * Die Spur wird per requestAnimationFrame dauerhaft verschoben.
     * Durch drei identische Bildsets kann sie unsichtbar zurückgesetzt
     * werden, ohne dass eine Lücke oder ein Sprung sichtbar wird.
     */
    #ah-city-comfort-suite .ah-apartment-gallery-reel {

        width: 100%;

        overflow: hidden;

        padding:
            10px
            0
            24px;

        margin: 0;

        touch-action: pan-y;

        user-select: none;
        -webkit-user-select: none;

        /*
         * Alle Bilder besitzen dieselbe Höhe.
         * Die individuelle Breite wird per JS aus dem echten
         * Seitenverhältnis berechnet.
         */
        --ah-carousel-gap: 18px;
        --ah-carousel-height: 320px;

    }


    #ah-city-comfort-suite .ah-apartment-gallery-track {

        display: flex;

        align-items: center;

        gap: var(--ah-carousel-gap, 18px);

        width: max-content;

        transform:
            translate3d(0,0,0);

        will-change: transform;

        backface-visibility: hidden;

        transition: none;

    }


    #ah-city-comfort-suite .ah-apartment-gallery-track.is-jump {

        transition: none !important;

    }


    #ah-city-comfort-suite .ah-apartment-gallery__item {

        position: relative;

        flex:
            0
            0
            var(--ah-gallery-width, 480px);

        width:
            var(--ah-gallery-width, 480px);

        height:
            var(--ah-carousel-height, 320px);

        min-width: 0;
        max-width: none;

        aspect-ratio: auto;

        overflow: hidden;

        margin: 0;
        padding: 0;

        border:
            1px solid
            rgba(var(--avh-rgb-base-gray), .12);

        --ah-gallery-radius: 18px;

        border-radius:
            var(--ah-gallery-radius);

        /*
         * Erzwingt auch bei GPU-Transform und laufender Spur
         * durchgehend saubere, abgerundete Ecken.
         */
        clip-path:
            inset(
                0
                round
                var(--ah-gallery-radius)
            );

        -webkit-mask-image:
            -webkit-radial-gradient(
                white,
                black
            );

        isolation: isolate;

        background:
            var(--avh-base-warm-white);

        box-shadow:
            0 12px 32px
            rgba(var(--avh-rgb-base-gray), .08);

        cursor: pointer;

        opacity: 1;

        transform:
            translate3d(0,0,0)
            scale(1);

        transition:
            transform
            760ms
            cubic-bezier(.22,1,.36,1),
            box-shadow
            520ms
            ease;

        backface-visibility: hidden;

    }


    #ah-city-comfort-suite .ah-apartment-gallery__item.is-near,
    #ah-city-comfort-suite .ah-apartment-gallery__item.is-active {

        opacity: 1;

        transform:
            translate3d(0,0,0)
            scale(1);

        box-shadow:
            0 12px 32px
            rgba(var(--avh-rgb-base-gray), .08);

    }


    #ah-city-comfort-suite .ah-apartment-gallery__item img {

        width: 100%;
        height: 100%;

        object-fit: cover;
        object-position: center;

        border-radius: inherit;

        transform:
            translate3d(0,0,0)
            scale(1.012);

        transform-origin:
            center center;

        transition:
            transform
            420ms
            cubic-bezier(.22,1,.36,1);

        will-change: transform;

    }


    #ah-city-comfort-suite .ah-apartment-gallery__item.is-active img,
    #ah-city-comfort-suite .ah-apartment-gallery__item.is-near img {

        transform:
            translate3d(0,0,0)
            scale(1.012);

    }


    /*
     * Hochkantbilder werden bewusst leicht vergrößert.
     * Der minimale Anschnitt entfernt den sichtbaren Leerraum oben,
     * ohne das Motiv stark zu beschneiden.
     */
    #ah-city-comfort-suite .ah-apartment-gallery__item.is-portrait img,
    #ah-city-comfort-suite .ah-apartment-gallery__item.is-portrait.is-active img,
    #ah-city-comfort-suite .ah-apartment-gallery__item.is-portrait.is-near img {

        object-fit: cover;

        transform:
            translate3d(0,0,0)
            scale(1.065);

    }




    #ah-city-comfort-suite .ah-apartment-image-inset {

        position: absolute;

        inset: 0;

        z-index: 2;

        border-radius: inherit;

        background:
            linear-gradient(
                180deg,
                rgba(var(--avh-rgb-base-warm-white), .17) 0%,
                rgba(var(--avh-rgb-base-warm-white), 0) 20%,
                rgba(var(--avh-rgb-base-gray), 0) 66%,
                rgba(var(--avh-rgb-base-gray), .17) 100%
            ),
            linear-gradient(
                90deg,
                rgba(var(--avh-rgb-base-gray), .06) 0%,
                rgba(var(--avh-rgb-base-gray), 0) 8%,
                rgba(var(--avh-rgb-base-gray), 0) 92%,
                rgba(var(--avh-rgb-base-gray), .06) 100%
            );

        box-shadow:
            inset 0 0 0 1px
            rgba(var(--avh-rgb-base-warm-white), .14),

            inset 0 10px 24px
            rgba(var(--avh-rgb-base-gray), .055),

            inset 0 -10px 26px
            rgba(var(--avh-rgb-base-gray), .09),

            inset 10px 0 22px
            rgba(var(--avh-rgb-base-gray), .035),

            inset -10px 0 22px
            rgba(var(--avh-rgb-base-gray), .035);

        pointer-events: none;

    }


    #ah-city-comfort-suite .ah-apartment-gallery__item::after {

        content: "";

        position: absolute;

        inset: -20%;

        z-index: 3;

        background:
            linear-gradient(
                112deg,
                rgba(var(--avh-rgb-base-gray), 0) 25%,
                rgba(var(--avh-rgb-base-warm-white), .18) 46%,
                rgba(var(--avh-rgb-base-warm-white), .04) 54%,
                rgba(var(--avh-rgb-base-gray), 0) 72%
            );

        opacity: 0;

        transform:
            translate3d(-35%,0,0);

        transition:
            opacity 420ms ease,
            transform 900ms cubic-bezier(.16,1,.3,1);

        pointer-events: none;

    }


    #ah-city-comfort-suite .ah-apartment-gallery__item.is-active::after,
    #ah-city-comfort-suite .ah-apartment-gallery__item.is-near::after {

        opacity: 0;

        transform:
            translate3d(-35%,0,0);

    }


    #ah-city-comfort-suite .ah-apartment-gallery__edge-arrow {

        position: absolute;

        top: 10px;
        bottom: 24px;

        z-index: 20;

        width:
            clamp(
                58px,
                5vw,
                86px
            );

        display: flex;

        align-items: center;
        justify-content: center;

        padding: 0;

        border: 0;

        color:
            rgba(var(--avh-rgb-base-warm-white), .98);

        cursor: pointer;

        opacity: 0;

        pointer-events: none;

        transition:
            opacity 260ms ease,
            background 360ms ease;

        text-shadow:
            0 2px 18px rgba(var(--avh-rgb-base-gray), .56);

    }


    #ah-city-comfort-suite .ah-apartment-gallery__edge-arrow span {

        display: block;

        transform:
            translateY(-2px);

        font-size:
            clamp(
                54px,
                5vw,
                82px
            );

        font-weight: 200;

        line-height: 1;

    }


    #ah-city-comfort-suite .ah-gallery-reel-prev {

        left: 0;

        background:
            linear-gradient(
                90deg,
                rgba(var(--avh-rgb-base-gray), .42) 0%,
                rgba(var(--avh-rgb-base-gray), .12) 58%,
                rgba(var(--avh-rgb-base-gray), 0) 100%
            );

    }


    #ah-city-comfort-suite .ah-gallery-reel-next {

        right: 0;

        background:
            linear-gradient(
                270deg,
                rgba(var(--avh-rgb-base-gray), .42) 0%,
                rgba(var(--avh-rgb-base-gray), .12) 58%,
                rgba(var(--avh-rgb-base-gray), 0) 100%
            );

    }


    @media (hover: hover) and (pointer: fine) {

        #ah-city-comfort-suite .ah-apartment-gallery-stage:hover .ah-apartment-gallery__edge-arrow,
        #ah-city-comfort-suite .ah-apartment-gallery__edge-arrow:focus-visible {

            opacity: 1;

            pointer-events: auto;

        }


        #ah-city-comfort-suite .ah-apartment-gallery__item:hover img {

            transform:
                translate3d(0,0,0)
                scale(1.025);

        }


        #ah-city-comfort-suite .ah-apartment-gallery__item.is-portrait:hover img {

            transform:
                translate3d(0,0,0)
                scale(1.075);

        }

    }


    /* =========================================================
       AUSSTATTUNG
       ========================================================= */

    #ah-city-comfort-suite .ah-apartment-amenities {

        background:
            var(--avh-base-warm-white);

    }


    #ah-city-comfort-suite .ah-apartment-amenities__grid {

        display: grid;

        grid-template-columns:
            repeat(
                4,
                1fr
            );

        gap: 1px;

        overflow: hidden;

        border:
            1px solid
            var(--avh-base-gray);

        border-radius: 18px;

        background:
            var(--avh-base-gray);

        box-shadow:

            inset 0 1px 0
            rgba(var(--avh-rgb-base-warm-white), .65),

            0 14px 35px
            rgba(var(--avh-rgb-base-gray), .06);

    }


    #ah-city-comfort-suite .ah-apartment-amenity-group {

        min-height: 280px;

        padding:
            36px
            30px;

        background:
            var(--avh-base-warm-white);

    }


    #ah-city-comfort-suite .ah-apartment-amenity-group h3 {

        margin-bottom: 26px;

        font-size: 16px;

    }


    #ah-city-comfort-suite .ah-apartment-amenity-group ul {

        display: grid;

        gap: 15px;

        margin: 0;
        padding: 0;

        list-style: none;

    }


    #ah-city-comfort-suite .ah-apartment-amenity-group li {

        display: flex;

        gap: 11px;

        color:
            var(--avh-base-gray);

        font-size: 13px;

        line-height: 1.55;

    }


    #ah-city-comfort-suite .ah-apartment-check {

        color:
            var(--avh-base-gray);

        font-size: 11px;

    }



    /* =========================================================
       LOCATION
       ========================================================= */

    #ah-city-comfort-suite .ah-apartment-location {

        position: relative;

        padding:
            96px
            0
            104px;

        background:
            var(--avh-base-warm-white);

        overflow: hidden;

    }


    #ah-city-comfort-suite .ah-apartment-location::after {

        content: "";

        position: absolute;

        inset: 0;

        z-index: 0;

        background:

            radial-gradient(
                ellipse 58% 44% at 18% 14%,

                rgba(var(--avh-rgb-base-warm-white), .58) 0%,

                rgba(var(--avh-rgb-base-warm-white), 0) 74%
            ),

            radial-gradient(
                ellipse 54% 44% at 92% 86%,

                rgba(var(--avh-rgb-base-gray), .36) 0%,

                rgba(var(--avh-rgb-base-gray), 0) 76%
            );

        pointer-events: none;

    }


    #ah-city-comfort-suite .ah-apartment-location__inner {

        position: relative;

        z-index: 2;

        width:
            min(
                1420px,
                calc(100% - 72px)
            );

        margin:
            0 auto;

    }


    #ah-city-comfort-suite .ah-apartment-location__header {

        width:
            min(
                840px,
                100%
            );

        margin:
            0 auto
            50px;

        text-align: center;

    }


    #ah-city-comfort-suite .ah-apartment-location__eyebrow {

        display: block;

        margin-bottom: 13px;

        color:
            var(--avh-base-gray);

        font-size: 10px;

        font-weight: 700;

        letter-spacing: .17em;

    }


    #ah-city-comfort-suite .ah-apartment-location__title {

        margin-bottom: 16px;

        color:
            var(--avh-base-gray);

        font-size: 38px;

        font-weight: 700;

        line-height: 1.18;

        text-align: center;

    }


    #ah-city-comfort-suite .ah-apartment-location__intro {

        width:
            min(
                720px,
                100%
            );

        margin:
            0 auto;

        color:
            rgba(var(--avh-rgb-base-gray), .70);

        font-size: 14px;

        line-height: 1.72;

        text-align: center;

    }


    #ah-city-comfort-suite .ah-apartment-location__layout {

        display: grid;

        grid-template-columns:
            minmax(
                0,
                1.32fr
            )
            minmax(
                370px,
                .68fr
            );

        gap: 32px;

        /*
         * Wichtig:
         * Die hohe Zielliste darf die linke Karten-Spalte nicht mehr
         * künstlich auf dieselbe Höhe strecken. Nur so kann die rechte
         * Box exakt an der realen Unterkante des Routenbereichs enden.
         */
        align-items: start;

    }


    #ah-city-comfort-suite .ah-apartment-location__map-column {

        display: flex;

        flex-direction: column;

        min-width: 0;

    }


    #ah-city-comfort-suite .ah-apartment-location__map-card {

        position: relative;

        min-height: 620px;

        overflow: hidden;

        border:
            1px solid
            rgba(var(--avh-rgb-base-gray), .11);

        border-radius: 18px;

        background:
            var(--avh-base-warm-white);

        box-shadow:
            0 18px 46px
            rgba(var(--avh-rgb-base-gray), .11);

    }


    #ah-city-comfort-suite .ah-apartment-location__map-frame {

        position: absolute;

        inset: 0;

        width: 100%;
        height: 100%;

        border: 0;

    }


    #ah-city-comfort-suite .ah-apartment-location__map-placeholder {

        position: absolute;

        inset: 0;

        z-index: 5;

        display: flex;

        align-items: center;
        justify-content: center;

        padding: 32px;

        background:
            linear-gradient(
                145deg,

                rgba(var(--avh-rgb-base-warm-white), .99),

                rgba(var(--avh-rgb-base-warm-white), .99)
            );

        transition:
            opacity .26s ease,
            visibility .26s ease;

    }


    #ah-city-comfort-suite
    .ah-apartment-location__map-card.is-loaded
    .ah-apartment-location__map-placeholder {

        opacity: 0;

        visibility: hidden;

        pointer-events: none;

    }


    #ah-city-comfort-suite .ah-apartment-location__placeholder-inner {

        width:
            min(
                470px,
                100%
            );

        text-align: center;

    }


    #ah-city-comfort-suite .ah-apartment-location__placeholder-inner h3 {

        margin-bottom: 10px;

        font-size: 24px;

    }


    #ah-city-comfort-suite .ah-apartment-location__placeholder-inner p {

        margin-bottom: 22px;

        color:
            rgba(var(--avh-rgb-base-gray), .68);

        font-size: 13px;

        line-height: 1.68;

    }


    #ah-city-comfort-suite .ah-apartment-location__pin {

        position: relative;

        display: block;

        width: 54px;
        height: 54px;

        margin:
            0 auto
            22px;

        border:
            1px solid
            rgba(var(--avh-rgb-base-gray), .48);

        border-radius:
            50%
            50%
            50%
            13px;

        background:
            linear-gradient(
                145deg,
                var(--avh-base-gray),
                var(--avh-base-gray)
            );

        box-shadow:
            0 12px 26px
            rgba(var(--avh-rgb-base-gray), .17);

        transform:
            rotate(-45deg);

    }


    #ah-city-comfort-suite .ah-apartment-location__pin::after {

        content: "";

        position: absolute;

        top: 17px;
        left: 17px;

        width: 18px;
        height: 18px;

        border:
            3px solid
            rgba(var(--avh-rgb-base-warm-white), .94);

        border-radius: 50%;

    }


    #ah-city-comfort-suite .ah-apartment-location__load-button {

        border:
            1px solid
            rgba(var(--avh-rgb-base-gray), .48);

        background:
            linear-gradient(
                135deg,
                var(--avh-base-gray) 0%,
                var(--avh-base-gray) 100%
            );

        box-shadow:
            0 8px 20px
            rgba(var(--avh-rgb-base-gray), .15);

        color: var(--avh-base-warm-white);

    }


    #ah-city-comfort-suite .ah-apartment-location__map-status {

        position: relative;

        z-index: 3;

        display: flex;

        align-items: center;
        justify-content: space-between;

        gap: 18px;

        width: 100%;

        margin-top: 16px;

        padding:
            16px
            18px;

        border:
            1px solid
            rgba(var(--avh-rgb-base-gray), .11);

        border-radius: 14px;

        background:
            linear-gradient(
                135deg,
                var(--avh-base-gray) 0%,
                var(--avh-base-gray) 100%
            );

        box-shadow:
            0 12px 28px
            rgba(var(--avh-rgb-base-gray), .12);

        color: var(--avh-base-warm-white);

        opacity: 1;

        visibility: visible;

        transform: none;

    }


    #ah-city-comfort-suite .ah-apartment-location__status-label {

        display: block;

        margin-bottom: 4px;

        color:
            rgba(var(--avh-rgb-base-warm-white), .62);

        font-size: 9px;

        font-weight: 700;

        letter-spacing: .13em;

        text-transform: uppercase;

    }


    #ah-city-comfort-suite .ah-apartment-location__status-destination {

        display: block;

        font-size: 14px;

    }


    #ah-city-comfort-suite .ah-apartment-location__external-link {

        flex: 0 0 auto;

        display: inline-flex;

        align-items: center;
        justify-content: center;

        min-height: 40px;

        padding:
            0
            17px;

        border:
            1px solid
            rgba(var(--avh-rgb-base-gray), .72);

        border-radius: 999px;

        background:
            rgba(var(--avh-rgb-base-gray), .18);

        color: var(--avh-base-warm-white);

        text-decoration: none;

        font-size: 10px;

        font-weight: 700;

        transition:
            transform .22s ease,
            background-color .22s ease;

    }


    @media (hover: hover) and (pointer: fine) {

        #ah-city-comfort-suite .ah-apartment-location__external-link:hover {

            transform:
                translate3d(0,-1px,0);

            background:
                rgba(var(--avh-rgb-base-gray), .28);

        }

    }


    #ah-city-comfort-suite .ah-apartment-location__panel {

        overflow: hidden;

        border:
            1px solid
            rgba(var(--avh-rgb-base-gray), .11);

        border-radius: 18px;

        background:
            rgba(var(--avh-rgb-base-warm-white), .88);

        box-shadow:
            0 18px 46px
            rgba(var(--avh-rgb-base-gray), .08);

    }


    /*
     * DESKTOP:
     * Der Kopf „Ziele in der Umgebung“ bleibt fest stehen.
     * Nur die eigentliche Liste 01 bis 11 scrollt.
     * Die exakte Gesamthöhe wird per JS an die reale Karten-Spalte
     * inklusive des externen Google-Maps-Routenbereichs angepasst.
     */
    @media (min-width: 1025px) {

        #ah-city-comfort-suite .ah-apartment-location__map-column,
        #ah-city-comfort-suite .ah-apartment-location__panel {

            align-self: start;

        }


        #ah-city-comfort-suite .ah-apartment-location__panel {

            display: flex;

            flex-direction: column;

            min-height: 0;

        }


        #ah-city-comfort-suite .ah-apartment-location__panel-head {

            flex:
                0
                0
                auto;

        }


        #ah-city-comfort-suite .ah-apartment-location__places {

            flex:
                1
                1
                auto;

            min-height: 0;

            overflow-y: auto;
            overflow-x: hidden;

            overscroll-behavior: contain;

            scrollbar-width: thin;

            scrollbar-color:
                var(--avh-base-gray)
                var(--avh-base-warm-white);

        }


        #ah-city-comfort-suite .ah-apartment-location__places::-webkit-scrollbar {

            width: 8px;

        }


        #ah-city-comfort-suite .ah-apartment-location__places::-webkit-scrollbar-track {

            background:
                var(--avh-base-warm-white);

        }


        #ah-city-comfort-suite .ah-apartment-location__places::-webkit-scrollbar-thumb {

            border:
                2px solid
                var(--avh-base-warm-white);

            border-radius: 999px;

            background:
                var(--avh-base-gray);

        }

    }


    #ah-city-comfort-suite .ah-apartment-location__panel-head {

        padding:
            27px
            27px
            23px;

        border-bottom:
            1px solid
            rgba(var(--avh-rgb-base-gray), .12);

    }


    #ah-city-comfort-suite .ah-apartment-location__panel-head h3 {

        margin-bottom: 8px;

        font-size: 20px;

    }


    #ah-city-comfort-suite .ah-apartment-location__panel-head p {

        margin: 0;

        color:
            rgba(var(--avh-rgb-base-gray), .62);

        font-size: 12px;

    }


    #ah-city-comfort-suite .ah-apartment-location__places {

        margin: 0;
        padding: 0;

        list-style: none;

    }


    #ah-city-comfort-suite .ah-apartment-location__place-button {

        position: relative;

        display: grid;

        grid-template-columns:
            34px
            minmax(
                0,
                1fr
            )
            18px;

        gap: 13px;

        align-items: center;

        width: 100%;

        padding:
            18px
            22px;

        border: 0;

        border-bottom:
            1px solid
            rgba(var(--avh-rgb-base-gray), .10);

        background: rgba(var(--avh-rgb-base-gray), 0);

        color: var(--avh-base-gray);

        cursor: pointer;

        text-align: left;

    }


    #ah-city-comfort-suite .ah-apartment-location__place-button:hover,
    #ah-city-comfort-suite .ah-apartment-location__place-button.is-active {

        background:
            rgba(var(--avh-rgb-base-warm-white), .72);

    }


    #ah-city-comfort-suite .ah-apartment-location__place-index {

        display: flex;

        align-items: center;
        justify-content: center;

        width: 34px;
        height: 34px;

        border:
            1px solid
            rgba(var(--avh-rgb-base-gray), .34);

        border-radius: 50%;

        color: var(--avh-base-gray);

        font-size: 9px;

        font-weight: 700;

    }


    #ah-city-comfort-suite
    .ah-apartment-location__place-button.is-active
    .ah-apartment-location__place-index {

        background: var(--avh-base-gray);

        color: var(--avh-base-warm-white);

    }


    #ah-city-comfort-suite .ah-apartment-location__place-name {

        display: block;

        margin-bottom: 4px;

        font-size: 13px;

    }


    #ah-city-comfort-suite .ah-apartment-location__place-meta {

        display: block;

        color:
            rgba(var(--avh-rgb-base-gray), .58);

        font-size: 10px;

        line-height: 1.5;

    }


    #ah-city-comfort-suite .ah-apartment-location__place-arrow {

        position: relative;

        width: 16px;
        height: 16px;

    }


    #ah-city-comfort-suite .ah-apartment-location__place-arrow::before {

        content: "";

        position: absolute;

        top: 7px;
        right: 1px;

        width: 11px;
        height: 1px;

        background: var(--avh-base-gray);

    }


    #ah-city-comfort-suite .ah-apartment-location__place-arrow::after {

        content: "";

        position: absolute;

        top: 4px;
        right: 1px;

        width: 7px;
        height: 7px;

        border-top:
            1px solid
            var(--avh-base-gray);

        border-right:
            1px solid
            var(--avh-base-gray);

        transform:
            rotate(45deg);

    }


    #ah-city-comfort-suite .ah-apartment-location__note {

        margin:
            23px
            0
            0;

        color:
            rgba(var(--avh-rgb-base-gray), .50);

        font-size: 10px;

        line-height: 1.6;

        text-align: center;

    }



    /* =========================================================
       PRAKTISCHE INFORMATIONEN
       ========================================================= */

    #ah-city-comfort-suite .ah-apartment-practical {

        background:
            var(--avh-base-warm-white);

    }


    #ah-city-comfort-suite .ah-apartment-practical__grid {

        display: grid;

        grid-template-columns:
            repeat(
                5,
                1fr
            );

        border-top:
            1px solid
            var(--avh-base-gray);

        border-bottom:
            1px solid
            var(--avh-base-gray);

    }


    #ah-city-comfort-suite .ah-apartment-practical-item {

        min-height: 165px;

        display: flex;

        align-items: center;

        gap: 18px;

        padding:
            34px
            25px;

        border-right:
            1px solid
            var(--avh-base-gray);

    }


    #ah-city-comfort-suite .ah-apartment-practical-item:last-child {

        border-right: 0;

    }


    #ah-city-comfort-suite .ah-apartment-practical-item__label {

        margin-bottom: 8px;

        color:
            var(--avh-base-gray);

        font-size: 10px;

        font-weight: 700;

        letter-spacing: .07em;

        text-transform: uppercase;

    }


    #ah-city-comfort-suite .ah-apartment-practical-item__value {

        font-size: 13px;

        line-height: 1.6;

    }



    /* =========================================================
       CTA
       ========================================================= */

    #ah-city-comfort-suite .ah-apartment-cta {

        position: relative;

        min-height:
            min(
                76svh,
                760px
            );

        display: flex;

        align-items: flex-end;

        margin-top: -1px;

        overflow: hidden;

        background:
            var(--avh-base-warm-white);

    }


    #ah-city-comfort-suite .ah-apartment-cta__background {

        position: absolute;

        inset: 0;

        z-index: 0;

        display: block;

        width: 100%;
        height: 100%;

        max-width: none;

        margin: 0;
        padding: 0;

        border: 0;

        object-fit: cover;
        object-position: center center;

        filter:
            saturate(.72)
            contrast(.94)
            brightness(1.04);

        transform: none;

    }


    #ah-city-comfort-suite .ah-apartment-cta__shade {

        position: absolute;

        inset: 0;

        z-index: 1;

        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);

        pointer-events: none;

    }


    #ah-city-comfort-suite .ah-apartment-cta__content {

        position: relative;

        z-index: 2;

        padding-top: 100px;

        padding-bottom:
            clamp(
                60px,
                8vw,
                100px
            );

        color:
            var(--avh-base-gray);

    }


    #ah-city-comfort-suite .ah-apartment-cta .ah-apartment-kicker--light {

        color:
            var(--avh-base-gray);

    }


    #ah-city-comfort-suite .ah-apartment-cta h2 {

        max-width: 850px;

        margin-bottom: 20px;

        color:
            var(--avh-base-gray);

        font-size:
            clamp(
                40px,
                6vw,
                88px
            );

    }


    #ah-city-comfort-suite .ah-apartment-cta p {

        max-width: 610px;

        margin-bottom: 36px;

        color:
            rgba(var(--avh-rgb-base-gray), .68);

        font-size: 14px;

        line-height: 1.75;

    }


    #ah-city-comfort-suite .ah-apartment-cta__buttons {

        display: flex;

        flex-wrap: wrap;

        gap: 13px;

        align-items: center;

    }


    #ah-city-comfort-suite .ah-booking-button,
    #ah-city-comfort-suite .ah-airbnb-button {

        width:
            var(--ah-cta-button-width);

        min-width:
            var(--ah-cta-button-width);

        height: 50px;

        min-height: 50px;

    }


    #ah-city-comfort-suite .ah-booking-button {

        border:
            1px solid
            rgba(var(--avh-rgb-base-gray), .48);

        background:
            linear-gradient(
                135deg,
                var(--avh-base-gray) 0%,
                var(--avh-base-gray) 100%
            );

        box-shadow:
            0 8px 20px
            rgba(var(--avh-rgb-base-gray), .15);

        color: var(--avh-base-warm-white);

    }


    #ah-city-comfort-suite .ah-airbnb-button {

        padding:
            0
            28px;

        border:
            1px solid
            rgba(var(--avh-rgb-base-warm-white), .30);

        background:
            linear-gradient(
                135deg,
                var(--avh-color-airbnb-coral) 0%,
                var(--avh-color-airbnb-pink) 100%
            );

        box-shadow:
            0 8px 20px
            rgba(var(--avh-rgb-base-gray), .18);

        color: var(--avh-base-warm-white);

    }


    /*
     * AIRBNB NAMENSLOGO
     *
     * Keine externe Bilddatei:
     * Der Plattformname wird direkt als Text-Wordmark ausgegeben.
     * Dadurch entsteht keine Anfrage an Wikimedia.
     */

    #ah-city-comfort-suite .ah-airbnb-button__wordmark {

        position: relative;

        z-index: 2;

        display: inline-block;

        color: var(--avh-base-warm-white);

        font-family:
            Verdana,
            Geneva,
            sans-serif;

        font-size: 16px;

        font-weight: 700;

        line-height: 1;

        letter-spacing: -.02em;

        white-space: nowrap;

    }


    #ah-city-comfort-suite .ah-airbnb-missing {

        display: inline-flex;

        align-items: center;

        min-height: 50px;

        padding:
            0
            20px;

        border-radius: 999px;

        background:
            rgba(var(--avh-rgb-base-warm-white), .12);

        color:
            rgba(var(--avh-rgb-base-warm-white), .75);

        font-size: 11px;

    }



    /* =========================================================
       FULLSCREEN GALERIE
       ========================================================= */

    html.ah-city-gallery-scroll-lock,
    body.ah-city-gallery-scroll-lock {

        /*
         * Nur das Scrollen wird gesperrt.
         * Der Body wird ausdrücklich NICHT mehr auf position: fixed gesetzt,
         * weil genau das je nach Browser einen Sprung zur Modal-Position
         * oder an den Dokumentanfang auslösen konnte.
         */
        overflow: hidden !important;
        overscroll-behavior: none !important;

    }


    body.ah-city-gallery-scroll-lock {

        touch-action: none !important;

    }

    #ah-city-comfort-suite .ah-gallery-modal {

        position: fixed;

        z-index: 999999;

        inset: 0;

        display: none;

        background:
            rgba(var(--avh-rgb-base-gray), .98);

        color: var(--avh-base-warm-white);

    }


    #ah-city-comfort-suite .ah-gallery-modal.is-open {

        display: block;
        overflow: hidden;
        overscroll-behavior: contain;
        touch-action: none;

    }


    #ah-city-comfort-suite .ah-gallery-modal__top {

        position: absolute;

        z-index: 3;

        top: 0;
        left: 0;
        right: 0;

        height: 72px;

        display: flex;

        align-items: center;
        justify-content: space-between;

        padding:
            0
            30px;

    }


    #ah-city-comfort-suite .ah-gallery-modal__count {

        font-size: 11px;

        color:
            rgba(var(--avh-rgb-base-warm-white), .7);

    }


    #ah-city-comfort-suite .ah-gallery-close {

        width: 46px;
        height: 46px;

        border: 0;

        background: rgba(var(--avh-rgb-base-gray), 0);

        color: var(--avh-base-warm-white);

        cursor: pointer;

        font-size: 33px;

    }


    #ah-city-comfort-suite .ah-gallery-modal__stage {

        position: absolute;

        inset:
            72px
            82px
            46px;

        display: flex;

        align-items: center;
        justify-content: center;

    }


    #ah-city-comfort-suite .ah-gallery-modal__image {

        width: 100%;
        height: 100%;

        object-fit: contain;

        border-radius: 16px;

    }


    #ah-city-comfort-suite .ah-gallery-nav {

        position: absolute;

        z-index: 3;

        top: 50%;

        width: 56px;
        height: 70px;

        transform:
            translateY(-50%);

        border: 0;

        background: rgba(var(--avh-rgb-base-gray), 0);

        color:
            rgba(var(--avh-rgb-base-warm-white), .8);

        cursor: pointer;

        font-size: 54px;

    }


    #ah-city-comfort-suite .ah-gallery-prev {

        left: 14px;

    }


    #ah-city-comfort-suite .ah-gallery-next {

        right: 14px;

    }



    /* =========================================================
       TABLET
       ========================================================= */

    @media (max-width: 1024px) {

        #ah-city-comfort-suite {

            --ah-facts-height: 252px;

        }


        #ah-city-comfort-suite .ah-apartment-hero {

            min-height: 370px;
            max-height: 470px;

            aspect-ratio:
                32
                /
                10;

        }


        #ah-city-comfort-suite .ah-apartment-shell {

            width:
                calc(
                    100%
                    -
                    48px
                );

        }


        #ah-city-comfort-suite .ah-apartment-facts__grid {

            grid-template-columns:
                repeat(
                    2,
                    minmax(
                        0,
                        1fr
                    )
                );

            grid-template-rows:
                repeat(
                    2,
                    minmax(
                        0,
                        1fr
                    )
                );

            height: 252px;

        }


        #ah-city-comfort-suite .ah-apartment-fact {

            border-bottom:
                1px solid
                rgba(var(--avh-rgb-base-warm-white), .11);

        }


        #ah-city-comfort-suite .ah-apartment-fact:nth-child(2n) {

            border-right: 0;

        }


        #ah-city-comfort-suite .ah-apartment-fact:nth-last-child(-n+2) {

            border-bottom: 0;

        }


        #ah-city-comfort-suite .ah-apartment-amenities__grid {

            grid-template-columns:
                repeat(
                    2,
                    1fr
                );

        }


        #ah-city-comfort-suite .ah-apartment-practical__grid {

            grid-template-columns:
                repeat(
                    2,
                    1fr
                );

        }


        #ah-city-comfort-suite .ah-apartment-location {

            padding:
                80px
                0
                88px;

        }


        #ah-city-comfort-suite .ah-apartment-location__inner {

            width:
                calc(
                    100%
                    -
                    46px
                );

        }


        #ah-city-comfort-suite .ah-apartment-location__layout {

            grid-template-columns:
                minmax(
                    0,
                    1.08fr
                )
                minmax(
                    330px,
                    .92fr
                );

            gap: 24px;

        }


        #ah-city-comfort-suite .ah-apartment-location__map-card {

            min-height: 560px;

        }

    }



    /* =========================================================
       MOBILE
       ========================================================= */

    @media (max-width: 767px) {

        #ah-city-comfort-suite {

            --ah-facts-height: 208px;

        }


        #ah-city-comfort-suite .ah-apartment-shell {

            width:
                calc(
                    100%
                    -
                    36px
                );

        }


        #ah-city-comfort-suite .ah-apartment-section {

            padding:
                70px
                0;

        }


        #ah-city-comfort-suite
        .ah-apartment-premium-divider--shadow-up::before {

            height: 25px;

        }


        /* HERO */

        #ah-city-comfort-suite .ah-apartment-hero {

            /*
             * Die Gästemappe nutzt auf Mobile ein breiteres Panorama.
             * Da dieser Hero zusätzlich Logo, Titel und Text enthält,
             * bleibt er etwas höher, aber weiterhin deutlich kompakter
             * als die frühere viewportfüllende Variante.
             */
            height:
                clamp(
                    340px,
                    48svh,
                    420px
                );

            min-height: 340px;
            max-height: 420px;

            aspect-ratio: auto;

        }


        #ah-city-comfort-suite .ah-apartment-hero__image {

            inset: 0;

            width: 100%;
            height: 100%;

            opacity: 1;

        }


        #ah-city-comfort-suite .ah-apartment-hero__shade {

            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%
                );

        }


        /*
         * Auf Mobile liegt die Welle optisch hinter dem Inhalt.
         * Zusätzlich wird der Inhalt kompakter, damit auch kleine
         * Viewports den vollständigen Subclaim oberhalb der Welle zeigen.
         */
        #ah-city-comfort-suite .ah-apartment-hero__content {

            z-index: 4;

            height: 100%;

            justify-content: center;

            padding-top: 28px;
            padding-bottom: 82px;

            transform:
                translate3d(0,-4px,0);

        }


        #ah-city-comfort-suite .ah-apartment-hero__brandmark {

            width: 158px;

            margin:
                0
                auto
                8px;

        }


        #ah-city-comfort-suite .ah-apartment-hero h1 {

            margin-bottom: 11px;

            font-size:
                clamp(
                    36px,
                    10.8vw,
                    50px
                );

            line-height: 1.01;

        }


        #ah-city-comfort-suite .ah-apartment-hero__claim {

            margin-bottom: 7px;

            font-size: 15px;

            line-height: 1.35;

        }


        #ah-city-comfort-suite .ah-apartment-hero__subclaim {

            width:
                min(
                    520px,
                    88%
                );

            font-size: 11px;

            line-height: 1.52;

        }


        #ah-city-comfort-suite .ah-apartment-hero__wave {

            z-index: 3;

            height: 40px;

        }


        /* QUICK FACTS */

        #ah-city-comfort-suite .ah-apartment-facts__grid {

            grid-template-columns:
                repeat(
                    2,
                    minmax(
                        0,
                        1fr
                    )
                );

            grid-template-rows:
                repeat(
                    2,
                    minmax(
                        0,
                        1fr
                    )
                );

            height: 208px;

        }


        #ah-city-comfort-suite .ah-apartment-fact {

            min-height: 104px;
            height: auto;

            padding:
                20px
                12px;

        }


        #ah-city-comfort-suite .ah-apartment-fact__inner {

            width:
                min(
                    150px,
                    100%
                );

            gap: 11px;

        }


        #ah-city-comfort-suite .ah-apartment-fact .ah-apartment-icon {

            width: 25px;
            height: 25px;

        }



        /* INTRO */

        #ah-city-comfort-suite .ah-apartment-intro__grid {

            grid-template-columns: 1fr;

            gap: 8px;

        }



        /* HEAD */

        #ah-city-comfort-suite .ah-apartment-section-head {

            display: block;

            margin-bottom: 35px;

        }


        #ah-city-comfort-suite .ah-luxury-button {

            margin-top: 26px;

        }



        /* GALERIE */

        #ah-city-comfort-suite .ah-apartment-section-head--gallery {

            display: block;

        }


        #ah-city-comfort-suite .ah-apartment-section-head--gallery .ah-luxury-button {

            margin-top: 26px;

        }


        #ah-city-comfort-suite .ah-apartment-gallery-stage {

            display: grid;

            width: 100%;
            max-width: 100%;

            gap: 12px;

            padding-bottom: 4px;

            overflow: hidden;

        }


        #ah-city-comfort-suite .ah-apartment-gallery-row--secondary {

            display: block;

        }


        #ah-city-comfort-suite .ah-apartment-gallery-reel {

            width: 100vw;
            max-width: 100vw;

            margin-left: 0;
            margin-right: 0;

            padding:
                3px
                0
                7px;

            touch-action: pan-y;

            --ah-carousel-gap: 10px;
            --ah-carousel-height: 180px;

        }


        #ah-city-comfort-suite .ah-apartment-gallery-track {

            gap: var(--ah-carousel-gap, 10px);

            transition-duration: 760ms;

        }


        #ah-city-comfort-suite .ah-apartment-gallery__item {

            flex:
                0
                0
                var(--ah-gallery-width, 270px);

            width:
                var(--ah-gallery-width, 270px);

            min-width: 0;
            max-width: none;

            height:
                var(--ah-carousel-height, 180px);

            aspect-ratio: auto;

            --ah-gallery-radius: 15px;

            border-radius:
                var(--ah-gallery-radius);

            clip-path:
                inset(
                    0
                    round
                    var(--ah-gallery-radius)
                );

        }


        #ah-city-comfort-suite .ah-apartment-gallery__item.is-active,
        #ah-city-comfort-suite .ah-apartment-gallery__item.is-near {

            opacity: 1;

            transform:
                translate3d(0,0,0)
                scale(1);

        }


        /* Auf Touch-Geräten wird per Swipe navigiert; Hover-Pfeile entfallen. */
        #ah-city-comfort-suite .ah-apartment-gallery__edge-arrow {

            display: none;

        }


        /* AUSSTATTUNG */

        #ah-city-comfort-suite .ah-apartment-amenities__grid {

            grid-template-columns: 1fr;

            border-radius: 15px;

        }


        #ah-city-comfort-suite .ah-apartment-amenity-group {

            min-height: auto;

            padding:
                30px
                25px;

        }



        /* LOCATION */

        #ah-city-comfort-suite .ah-apartment-location {

            padding:
                62px
                0
                68px;

        }


        #ah-city-comfort-suite .ah-apartment-location__inner {

            width:
                calc(
                    100%
                    -
                    26px
                );

        }


        #ah-city-comfort-suite .ah-apartment-location__header {

            margin-bottom: 30px;

        }


        #ah-city-comfort-suite .ah-apartment-location__title {

            font-size: 27px;

        }


        #ah-city-comfort-suite .ah-apartment-location__intro {

            font-size: 13px;

        }


        #ah-city-comfort-suite .ah-apartment-location__layout {

            grid-template-columns: 1fr;

            gap: 18px;

        }


        #ah-city-comfort-suite .ah-apartment-location__map-card {

            min-height: 440px;

            border-radius: 14px;

        }


        #ah-city-comfort-suite .ah-apartment-location__map-status {

            display: block;

            width: 100%;

            margin-top: 12px;

            padding: 14px;

        }


        #ah-city-comfort-suite .ah-apartment-location__external-link {

            width: 100%;

            margin-top: 12px;

        }


        #ah-city-comfort-suite .ah-apartment-location__panel {

            border-radius: 14px;

        }



        /* PRAKTISCHE INFORMATIONEN */

        #ah-city-comfort-suite .ah-apartment-practical__grid {

            grid-template-columns: 1fr;

        }


        #ah-city-comfort-suite .ah-apartment-practical-item {

            min-height: 92px;

            align-items: center;

            padding:
                23px
                0;

            border-right: 0;

            border-bottom:
                1px solid
                var(--avh-base-gray);

        }



        /* CTA */

        #ah-city-comfort-suite .ah-apartment-cta {

            min-height: 72svh;

        }


        #ah-city-comfort-suite .ah-apartment-cta__buttons {

            display: grid;

            grid-template-columns: 1fr;

            width: 100%;

            max-width:
                var(--ah-cta-button-width);

        }


        #ah-city-comfort-suite .ah-booking-button,
        #ah-city-comfort-suite .ah-airbnb-button {

            width: 100%;

            min-width: 0;

            height: 50px;

            min-height: 50px;

        }


        #ah-city-comfort-suite .ah-airbnb-button__logo {

            width: 82px !important;

            height: auto !important;

            max-width: none !important;

            max-height: none !important;

        }



        /* FULLSCREEN */

        #ah-city-comfort-suite .ah-gallery-modal__stage {

            inset:
                70px
                14px
                50px;

        }


        #ah-city-comfort-suite .ah-gallery-nav {

            top: auto;

            bottom: 5px;

            width: 50%;
            height: 48px;

            transform: none;

            font-size: 40px;

        }


        #ah-city-comfort-suite .ah-gallery-prev {

            left: 0;

        }


        #ah-city-comfort-suite .ah-gallery-next {

            right: 0;

        }

    }




    /*
     * =========================================================
     * MOBILE HERO: LOGO-SAFE-ZONE
     * =========================================================
     *
     * Das Logo bleibt vollständig innerhalb des Hero-Bereichs.
     * Der freie Platz unterhalb wird genutzt, ohne den Text in
     * die dekorative Welle zu verschieben.
     */

    @media (max-width: 767px) {

        #ah-city-comfort-suite .ah-apartment-hero {

            height:
                clamp(
                    470px,
                    64svh,
                    560px
                );

            min-height: 470px;
            max-height: 560px;

            aspect-ratio: auto;

        }


        #ah-city-comfort-suite .ah-apartment-hero__content {

            height: 100%;

            justify-content: flex-start;

            padding-top:
                clamp(
                    70px,
                    10svh,
                    94px
                );

            padding-bottom: 112px;

            transform: none;

        }


        #ah-city-comfort-suite .ah-apartment-hero__brandmark {

            width: 158px;

            max-width: 42vw;
            max-height: none;

            margin:
                0
                auto
                10px;

            object-fit: contain;
            object-position: center;

            flex: 0 0 auto;

        }


        #ah-city-comfort-suite .ah-apartment-hero__subclaim {

            position: relative;
            z-index: 5;

            margin-bottom: 0;

        }

    }


    @media (prefers-reduced-motion: reduce) {

        #ah-city-comfort-suite * {

            transition: none !important;

            scroll-behavior: auto !important;

        }

    }
