img[data-hayha-fallback] { background: var(--hayha-theme-soft); object-fit: cover; }
img[data-hayha-media][hidden] { display: none; }

:is(.hayha-property-card__media-col,.hayha-property-card__media) > img[data-hayha-media] { display: block; width: 100%; height: 100%; object-fit: cover; }
.hayha-destinations .hhd-media:has([data-hayha-fallback]) .hhd-overlay,
.hayha-property-card__media-col:has([data-hayha-fallback]) .hayha-property-card__brand-watermark { display: none; }
.hayha-destinations .hhd-media:has([data-hayha-fallback])::after,
.hayha-property-card__media-col:has([data-hayha-fallback]) .hayha-property-card__gradient-overlay { display: none; }

[role="dialog"][id^="hayha"] :is(button,a,input,[tabindex]):focus-visible {
    outline: 3px solid var(--hayha-theme-accent);
    outline-offset: 2px;
}

/* Flatsome sets overflow on html, so a body-only lock cannot stop root scrolling. */
html:has(body.hayha-modal-open),
html:has(body.hayha-sheet-is-open),
html:has(body.hayha-body-scroll-lock),
html:has(body.hayha-auth-modal-open),
html:has(.hayha-sheet--open:not(.hayha-search-popup)),
html:has(#hayha-gallery-lightbox:not([hidden])) {
    overflow: hidden !important;
}

/* Keep the existing contact actions compact, and clear of dialogs, on guest pages. */
@media(max-width:767px) {
 body:has(.hayha-booking-wrap,.hayha-search-page-wrapper,.hayha-discover,.hayha-destinations) #button-contact-vr { left: auto !important; right: 12px !important; bottom: 12px !important; display: flex; gap: 6px; }
 body:has(.hayha-booking-wrap,.hayha-search-page-wrapper,.hayha-discover,.hayha-destinations) #button-contact-vr #gom-all-in-one { display: flex; gap: 6px; }
 body:has(.hayha-booking-wrap,.hayha-search-page-wrapper,.hayha-discover,.hayha-destinations) #button-contact-vr .button-contact { margin: 0; }
 body:has(.hayha-booking-wrap,.hayha-search-page-wrapper,.hayha-discover,.hayha-destinations) #button-contact-vr .phone-vr { width: 44px; height: 44px; }
 body:has(.hayha-booking-wrap,.hayha-search-page-wrapper,.hayha-discover,.hayha-destinations) #button-contact-vr .phone-vr-img-circle { top: 0; left: 0; width: 44px; height: 44px; animation: none; }
 body:has(.hayha-booking-wrap,.hayha-search-page-wrapper,.hayha-discover,.hayha-destinations) #button-contact-vr .phone-vr-circle-fill { display: none; }
}
body.hayha-auth-modal-open #button-contact-vr,
body.hayha-room-modal-open #button-contact-vr,
body:has(#hayha-gallery-lightbox:not([hidden]),.hayha-room-modal.is-open,.hayha-room-modal--active) #button-contact-vr { visibility: hidden !important; pointer-events: none !important; }

.hayha-property-card__media>img[data-hayha-fallback]{width:100%;height:100%;object-fit:contain;object-position:center}
.hayha-property-card__media:has([data-hayha-fallback]) :is(.hayha-property-card__gradient-overlay,.hayha-property-card__brand-watermark){display:none}
