/* Rooms mobile slider — polished stable version.
   Mobile only. Desktop rooms grid stays unchanged. */

@media (max-width: 960px) {
    .rooms {
        overflow: hidden;
    }

    .rooms-grid--2.rooms-mobile-slider {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        overflow: hidden !important;
        position: relative;
        isolation: isolate;
    }

    .rooms-grid--2.rooms-mobile-slider .room-card {
        grid-area: 1 / 1;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        border-radius: 20px;
        box-shadow: 0 12px 34px rgba(0, 0, 0, .32);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translate3d(18px, 10px, 0) scale(.985);
        filter: blur(2px);
        transition:
            opacity .62s var(--lapaz-ease-smooth, cubic-bezier(.22, 1, .36, 1)),
            visibility .62s,
            transform .72s var(--lapaz-ease-soft, cubic-bezier(.16, 1, .3, 1)),
            filter .62s var(--lapaz-ease-smooth, cubic-bezier(.22, 1, .36, 1));
        will-change: transform, opacity, filter;
    }

    .rooms-grid--2.rooms-mobile-slider .room-card.is-room-active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate3d(0, 0, 0) scale(1);
        filter: none;
        z-index: 2;
    }

    .rooms-grid--2.rooms-mobile-slider.is-room-prev .room-card {
        transform: translate3d(-18px, 10px, 0) scale(.985);
    }

    .rooms-grid--2.rooms-mobile-slider .room-card.is-room-leaving {
        opacity: 0;
        visibility: visible;
        transform: translate3d(-18px, -4px, 0) scale(.985);
        filter: blur(2px);
        z-index: 1;
    }

    .rooms-grid--2.rooms-mobile-slider.is-room-prev .room-card.is-room-leaving {
        transform: translate3d(18px, -4px, 0) scale(.985);
    }

    .rooms-grid--2.rooms-mobile-slider .room-card:hover {
        transform: translate3d(0, 0, 0) scale(1) !important;
    }

    .rooms-grid--2.rooms-mobile-slider .room-img-wrap {
        height: 210px;
    }

    .rooms-grid--2.rooms-mobile-slider .room-body {
        padding: 1.15rem 1.1rem 1.05rem;
    }

    .rooms-grid--2.rooms-mobile-slider .room-type {
        font-size: .56rem;
        margin-bottom: .35rem;
    }

    .rooms-grid--2.rooms-mobile-slider .room-name {
        font-size: 1.35rem;
        margin-bottom: .45rem;
    }

    .rooms-grid--2.rooms-mobile-slider .room-desc {
        font-size: .76rem;
        line-height: 1.55;
        margin-bottom: .9rem;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .rooms-grid--2.rooms-mobile-slider .room-feats {
        gap: .3rem;
        margin-bottom: .95rem;
    }

    .rooms-grid--2.rooms-mobile-slider .rf {
        font-size: .56rem;
        padding: .2rem .5rem;
    }

    .rooms-grid--2.rooms-mobile-slider .room-foot {
        padding-top: .9rem;
    }

    .rooms-grid--2.rooms-mobile-slider .room-price {
        font-size: 1.18rem;
    }

    .rooms-grid--2.rooms-mobile-slider .room-cta {
        font-size: .58rem;
    }

    .rooms-slider-ui {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: .55rem;
        margin-top: .95rem;
    }

    .rooms-slider-dot {
        position: relative;
        appearance: none;
        border: 0;
        width: 8px;
        height: 8px;
        padding: 0;
        border-radius: 999px;
        background: rgba(240, 232, 200, .2);
        overflow: hidden;
        cursor: pointer;
        transition:
            width .28s var(--lapaz-ease-smooth, cubic-bezier(.22, 1, .36, 1)),
            background .28s ease,
            transform .28s ease;
    }

    .rooms-slider-dot::before {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: inherit;
        background: var(--moss);
        transform: scaleX(0);
        transform-origin: left center;
    }

    .rooms-slider-dot.is-active {
        width: 38px;
        background: rgba(240, 232, 200, .12);
        transform: translateY(-1px);
    }

    .rooms-slider-dot.is-active::before {
        animation: lapazProgressFill var(--lapaz-slide-duration, 5s) linear forwards;
    }
}

@media (max-width: 520px) {
    .rooms-grid--2.rooms-mobile-slider .room-img-wrap {
        height: 185px;
    }

    .rooms-grid--2.rooms-mobile-slider .room-body {
        padding: 1rem .95rem .95rem;
    }

    .rooms-grid--2.rooms-mobile-slider .room-name {
        font-size: 1.25rem;
    }
}

@media (min-width: 961px) {
    .rooms-slider-ui {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rooms-grid--2.rooms-mobile-slider .room-card {
        transition: none !important;
        filter: none !important;
        transform: none !important;
    }

    .rooms-slider-dot.is-active::before {
        animation: none !important;
        transform: scaleX(1);
    }
}
