/* Only the property detail view; retain internal IDs used by contact/share forms. */
body.single-property .rh_banner,
body.single-property .rh_property__id {
    display: none !important;
}

body.single-property .rh_section.rh_wrap--topPadding {
    padding-top: 28px;
}

body.single-property .property-detail-slider-wrapper,
body.single-property #property-featured-image {
    width: 100%;
    max-width: 960px;
    margin-inline: auto;
}

body.single-property #property-detail-flexslider .flexslider,
body.single-property #property-detail-flexslider .flex-viewport,
body.single-property #property-detail-slider-two,
body.single-property #property-detail-slider-two .flex-viewport {
    height: clamp(220px, 42vw, 460px) !important;
    min-height: 0 !important;
}

body.single-property #property-detail-flexslider .slides > li img,
body.single-property #property-detail-slider-two .slides > li img,
body.single-property .property-detail-slider-three .slides > li img,
body.single-property #property-featured-image img {
    width: 100%;
    height: clamp(220px, 42vw, 460px) !important;
    object-fit: contain;
    background: #f4f4f4;
}

body.single-property #property_map {
    height: clamp(220px, 30vw, 320px) !important;
    min-height: 0 !important;
}

body.single-property .share-this .social,
body.single-property .share-this .social ul {
    width: min(250px, calc(100vw - 40px)) !important;
}

body.single-property .share-this .social {
    /* Viewport corrections must be immediate, not part of the theme's fade. */
    transition-property: opacity, transform, visibility !important;
}

body.single-property .share-this .social ul .property-copy-item {
    display: block;
    width: 100% !important;
    height: auto;
    padding: 0;
    float: none;
    clear: both;
    background: #0a2c6a;
}

body.single-property .property-copy-url {
    display: block;
    width: 100%;
    min-height: 44px;
    border: 0;
    border-radius: 0;
    padding: 10px 14px;
    background: #0a2c6a;
    color: #fff;
    font: 600 14px/24px Arial, sans-serif;
    cursor: pointer;
}

body.single-property .property-copy-url:hover,
body.single-property .property-copy-url:focus-visible {
    background: #163f82;
    outline: 2px solid #fff;
    outline-offset: -4px;
}

.property-copy-feedback {
    position: fixed;
    z-index: 100000;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    max-width: calc(100vw - 32px);
    padding: 12px 18px;
    border-radius: 6px;
    background: #0a2c6a;
    color: #fff;
    font: 14px/1.5 Arial, sans-serif;
    text-align: center;
    box-shadow: 0 3px 14px #0003;
}

.property-copy-feedback:empty { display: none; }

@media (max-width: 767px) {
    body.single-property .rh_section.rh_wrap--topPadding { padding-top: 16px; }
}

@media (max-width: 479px) {
    body.single-property .energy-performance .energy-class { flex-wrap: wrap; }
}
