/* RC3: ListingPro photo frames. Native columns, controls and hidden galleries stay native. */
body.sabahbusiness-site :is(.lp-grid-box-contianer, .lp-listing) :is(.lp-grid-box-thumb, .lp-listing-top-thumb, .classic-view-grid-thumbnail),
body.sabahbusiness-site .listing-app-view-new-wrap .listing-app-view-new-thumb {
    --sb-photo-ratio: var(--sb-listing-card-ratio, 370/240);
    position: relative;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: var(--sb-photo-ratio) !important;
    background-color: #f4f6f8;
    overflow: hidden;
}

/* Compact rows retain their native width and shape. */
body.sabahbusiness-site .lp-grid-box-contianer.list_view .lp-grid-box-thumb {
    --sb-photo-ratio: 181/172;
}
body.sabahbusiness-site .lp-grid-app-view.list_view .lp-grid-box-thumb,
body.sabahbusiness-site .listing-app-view-new-wrap:not(.listing-app-view-new-wrap-add) .listing-app-view-new-thumb {
    --sb-photo-ratio: 1/1;
}
body.sabahbusiness-site .lp-grid-box-contianer.list_view .classic-view-grid-thumbnail {
    --sb-photo-ratio: 200/180;
    align-self: flex-start;
}
body.sabahbusiness-site .lp-listings.list-style .lp-listing .lp-listing-top-thumb {
    --sb-photo-ratio: 190/153;
}
body.sabahbusiness-site .lp-sidebar-nearby .lp-grid-box-contianer .lp-grid-box-thumb {
    --sb-photo-ratio: 1/1;
}
body.sabahbusiness-site .lp-grid-box-contianer .lp-grid-box-thumb :is(.show-img, .hide-img) {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

body.sabahbusiness-site .lp-grid-box-contianer .lp-grid-box-thumb > a > img,
body.sabahbusiness-site .lp-grid-box-contianer .lp-grid-box-thumb :is(.show-img, .hide-img) > a > img,
body.sabahbusiness-site :is(.lp-grid-box-contianer, .lp-listing) .lp-listing-top-thumb > a > img,
body.sabahbusiness-site .lp-grid-box-contianer .classic-view-grid-thumbnail > a > img,
body.sabahbusiness-site .listing-app-view-new-wrap .listing-app-view-new-thumb > a > img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    aspect-ratio: var(--sb-photo-ratio, var(--sb-listing-card-ratio, 370/240)) !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
}

/* Event cards, sidebar photos and the main event image have separate proportions. */
body.sabahbusiness-site .lp-event-image-container,
body.sabahbusiness-site .lp-event-detail-thumbnail {
    position: relative;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 360/198;
    background-color: #f4f6f8;
    overflow: hidden;
}
body.sabahbusiness-site .lp-event-detail-thumbnail {
    aspect-ratio: 580/408;
}
body.sabahbusiness-site .lp-event-image-container > a > img,
body.sabahbusiness-site .lp-event-image-container > img:not(.event-author-img),
body.sabahbusiness-site .lp-event-detail-thumbnail > img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 360/198;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
}
body.sabahbusiness-site .lp-event-detail-thumbnail > img {
    aspect-ratio: 580/408;
}
/* RC5: restore ListingPro's native 230px Event frame in Single Listings.
 * Hosted-by avatars, event metadata, event detail pages and calendars stay native.
 */
body.sabahbusiness-site.single-listing .lp-classic-single-events .lp-event-image-container {
    height: 230px !important;
    aspect-ratio: auto;
}
body.sabahbusiness-site.single-listing .lp-classic-single-events .lp-event-image-container > a {
    display: block;
    height: 100%;
}
body.sabahbusiness-site.single-listing .lp-classic-single-events .lp-event-image-container > a > img,
body.sabahbusiness-site.single-listing .lp-classic-single-events .lp-event-image-container > img:not(.event-author-img) {
    height: 100% !important;
    aspect-ratio: auto;
    object-fit: cover !important;
}

body.sabahbusiness-site :is(.event-by-day-wrap, .event-by-day-wrap-inner, .events-for-day) > .event-img {
    position: relative;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1/1;
    background-color: #f4f6f8;
}
body.sabahbusiness-site :is(.event-by-day-wrap, .event-by-day-wrap-inner, .events-for-day) > .event-img > img {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1/1;
    object-fit: contain !important;
    object-position: center !important;
}

/* Menu photos only; service logos, spice icons and hidden galleries excluded. */
body.sabahbusiness-site :is(.lp-listing-menu-item, .lp-listing-appview-menu-item) > .lp-menu-item-thumb {
    position: relative;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1/1;
    background-color: #f4f6f8;
    overflow: hidden;
}
body.sabahbusiness-site :is(.lp-listing-menu-item, .lp-listing-appview-menu-item) > .lp-menu-item-thumb > a > img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 1/1;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
}
body.sabahbusiness-site .lp-pop-men-inner > img {
    display: block;
    width: 100% !important;
    height: 96px !important;
    object-fit: contain !important;
    object-position: center !important;
    background-color: #f4f6f8;
}

/* Detail sliders retain ListingPro controls and a shared responsive slide height. */
body.sabahbusiness-site .single-page-slider-container .listing-slide .slide,
body.sabahbusiness-site .app-view-gallery .slide-img,
body.sabahbusiness-site .slide_ban {
    position: relative;
    height: clamp(200px, 38vw, 400px) !important;
    min-height: 0 !important;
    background-color: #f4f6f8;
}
body.sabahbusiness-site .lp-listing-slider .lp-listing-slide {
    position: relative;
    height: clamp(160px, 28vw, 270px) !important;
    background-color: #f4f6f8;
}
body.sabahbusiness-site .lp-listing-slider {
    max-height: none !important;
}
body.sabahbusiness-site .single-page-slider-container .listing-slide .slide > a > img,
body.sabahbusiness-site .lp-listing-slider .lp-listing-slide > a > img,
body.sabahbusiness-site .app-view-gallery .slide-img > img,
body.sabahbusiness-site .slide_ban > a > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
}
body.sabahbusiness-site :is(.single-page-slider-container .listing-slide .slide, .lp-listing-slider .lp-listing-slide, .slide_ban) > a {
    display: block;
    height: 100%;
}

/* RC4/RC5: the Single Listing hero fills its existing desktop/app/fallback frame.
 * Other cards, menu photos and event pages retain their presentation above.
 * Only the preview is cropped; existing native gallery links stay unchanged.
 */
body.sabahbusiness-site.single-listing .single-page-slider-container .listing-slide .slide > a > img,
body.sabahbusiness-site.single-listing .app-view-gallery .slide-img > img,
body.sabahbusiness-site.single-listing .slide_ban > a > img {
    object-fit: cover !important;
}

/* Uploaded previews keep their native visibility and remove buttons. */
body.sabahbusiness-site .dashboard-upload-field :is(.frontend-image, .lp-uploaded-img),
body.sabahbusiness-site .menu-edit-imgs-wrap img {
    object-fit: contain !important;
    object-position: center !important;
}
