/* =====================================================
   ROOM GALLERY — matches video's 16:9 shape on room pages
   ===================================================== */
.elementor-widget-pxl_room_single_gallery_carousel .item-featured .post-image {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    overflow: hidden !important;
    display: block !important;
}

.elementor-widget-pxl_room_single_gallery_carousel .item-featured .post-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: fill !important;
}


/* =====================================================
   HIDE RELATED POSTS (Jetpack)
   ===================================================== */
#jp-relatedposts {
    display: none !important;
}


/* =====================================================
   ROOM PAGE (post 4131) — heading link hover color fix
   ===================================================== */
#post-4131 > div > div > section.elementor-section.elementor-top-section.elementor-element.elementor-element-df2be7e.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default.pxl-section-static-pos-no.pxl-section-overflow-hidden-no.pxl-container-margin-auto-no > div > div > div > div.elementor-element.elementor-element-41edd2f.elementor-widget.elementor-widget-pxl_heading > div > div > div > div > div > span > a:hover {
    color: #FFFFFF !important;
}


/* =====================================================
   PAGE 4131 — text block alignment override
   ===================================================== */
.elementor-4131 .elementor-element.elementor-element-0b849cb .pxl-text-editor-wrap {
    justify-content: center !important;
}

.elementor-4131 .elementor-element.elementor-element-0b849cb .pxl-text-editor {
    max-width: 400px !important;
    text-align: left !important;
}


/* =====================================================
   TABS LIST (Dining/Weddings/Golf/Meetings tab images)
   ===================================================== */
.pxl-tabs-list .content-img {
    position: relative !important;
}

.pxl-tabs-list .item-image-base,
.pxl-tabs-list .img-item {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    opacity: 0 !important;
    z-index: 1 !important;
    transition: opacity 0.5s ease !important;
    pointer-events: none !important;
}

.pxl-tabs-list .item-image-base {
    opacity: 1 !important;
    z-index: 1 !important;
}

.pxl-tabs-list .img-item.active {
    opacity: 1 !important;
    z-index: 2 !important;
    pointer-events: auto !important;
}

.pxl-tabs-list .item-image {
    width: 100% !important;
    height: 100% !important;
    background-image: var(--pxl-item-img-bg) !important;
    background-size: cover !important;
    background-position: center !important;
}


/* =====================================================
   IMAGE CAROUSEL — consistent 4:3 crop
   ===================================================== */
.elementor-widget-image-carousel .swiper-slide-inner {
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    display: block !important;
}

.elementor-widget-image-carousel .swiper-slide-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}


/* =====================================================================
   DINING PAGE HERO FIX — video slides only
   Scoped with :has(.elementor-widget-video) so Home's Ken Burns
   slides (no video widget) are completely untouched by this rule.
   Element IDs below (b4ba5db, ff3d034, b6bc5f1, e7f67db, abec5c9)
   are unique to the Dining page and won't match anywhere else.
   ===================================================================== */

.pxl-slider-item:has(.elementor-widget-video) {
    height: clamp(320px, 56vw, 818px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.elementor-element-b4ba5db {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 0;
}

.elementor-element-b4ba5db > .elementor-container {
    max-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-ff3d034,
.elementor-element-ff3d034 > .elementor-widget-wrap {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-7cc93d5 > .elementor-widget-container {
    height: 100% !important;
    overflow: hidden;
    position: relative;
}

.elementor-element-b6bc5f1,
.elementor-element-b6bc5f1 .elementor-wrapper,
.elementor-element-b6bc5f1 .e-hosted-video {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    margin: 0; padding: 0;
}

.elementor-element-b6bc5f1 video.elementor-video {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover;
}

.elementor-element-e7f67db {
    margin-top: 0 !important;
}

.elementor-element-abec5c9 {
    padding-top: 20px !important;
}
@media (max-width: 991px) {
    .elementor-element-abec5c9 {
        padding-top: 120px !important;
    }
}