/**
 * RLRE02 UI FIX03C STRUCTURAL V1
 *
 * Confirmed public defects addressed:
 * 1) footer screen-reader search label expanding document width;
 * 2) HOME city Swiper leaking slides outside its intended clipped section;
 * 3) visible Complianz topbar using the old tiny Cormorant button system;
 * 4) ERE card image box not reaching the exact public 2:1 geometry.
 *
 * No global body/html overflow hiding is used.
 */

/* ---------------------------------------------------------------
 * A. Accessibility label: restore the canonical visually-hidden box.
 * The public audit measured this label at 1425px on desktop and
 * 805px on tablet, creating the dominant horizontal document width.
 * --------------------------------------------------------------- */
html body .footer-overlay
label.wp-block-search__label.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    max-width: 1px !important;
    min-height: 1px !important;
    max-height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ---------------------------------------------------------------
 * B. HOME city carousel.
 * `.o-hidden` was publicly computing as overflow:visible.
 * Clip only this carousel/section: never hide overflow globally.
 * --------------------------------------------------------------- */
html body.home section.home-city-grid.o-hidden {
    overflow-x: hidden !important;
    overflow-y: hidden !important;
}

html body.home section.home-city-grid .city-swiper,
html body.home section.home-city-grid .cityswiper {
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    max-width: 100% !important;
}

/* ---------------------------------------------------------------
 * C. Visible Complianz topbar.
 * The live banner is `.cmplz-cookiebanner.banner-1.banner-a.optin`
 * (not the hidden `#cmplz-cookiebanner-1-optin` copy).
 * --------------------------------------------------------------- */
html body
div.cmplz-cookiebanner.banner-1.banner-a.optin
> div.cmplz-buttons
> button.cmplz-btn {
    font-family: Inter, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    font-variant: normal !important;
    line-height: 1.2 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    text-decoration: none !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    min-height: 36px !important;
    height: auto !important;
    padding: 7px 14px !important;
    box-sizing: border-box !important;
}

html body
div.cmplz-cookiebanner.banner-1.banner-a.optin {
    box-sizing: border-box !important;
    max-width: 100vw !important;
}

html body
div.cmplz-cookiebanner.banner-1.banner-a.optin
:is(.cmplz-message, .cmplz-links, .cmplz-documents) {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

/* ---------------------------------------------------------------
 * D. Exact 2:1 card display.
 * The files are already true 1500x750. Public QA found 20px of
 * horizontal box difference in the actual theme card image path.
 * Remove image/figure padding and preserve the intended 2:1 box.
 * --------------------------------------------------------------- */
html body .home-property-single-grid-image {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    aspect-ratio: 2 / 1 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

html body .home-property-single-grid-image > .hover14,
html body .home-property-single-grid-image > .hover14 > figure {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    aspect-ratio: 2 / 1 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

html body .home-property-single-grid-image > .hover14 > figure > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    aspect-ratio: 2 / 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
    box-sizing: border-box !important;
}
