/* RHVA V101 - Fix V100 gallery right-side gap.
   The media image must expand beyond the padded card body.
   No JS. No crop. No hero/admin changes. */

/* V100 homepage + subpage cards */
html body .rhv-home-v100-card .rhv-card-image,
html body .rhv-home-v100-card .rhv-home-v100-media,
html body .rhv-uniform-card.rhv-popup-card .rhv-card-image,
html body .rhv-uniform-card.rhv-popup-card .rhv-home-v100-media {
    width: calc(100% + 56px) !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: -28px -28px 22px -28px !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    background: transparent !important;
    border-radius: 26px 26px 0 0 !important;
    box-sizing: border-box !important;
}

html body .rhv-home-v100-card .rhv-card-image img,
html body .rhv-home-v100-card .rhv-home-v100-media img,
html body .rhv-uniform-card.rhv-popup-card .rhv-card-image img,
html body .rhv-uniform-card.rhv-popup-card .rhv-home-v100-media img {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 26px 26px 0 0 !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    background: transparent !important;
}

/* Legacy homepage cards if still present */
html body .service-card.rhv-image-card > img:first-child,
html body .service-card.rhv-final-gallery-card > img:first-child,
html body .service-card > img.service-card-img:first-child {
    width: calc(100% + 0px) !important;
    max-width: none !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* If a card still has 30px inner padding around direct image, cancel it only for first image */
html body .service-card.rhv-image-card,
html body .service-card.rhv-final-gallery-card {
    overflow: hidden !important;
}

/* Keep text readable after full-width image */
html body .rhv-home-v100-card h3,
html body .rhv-home-v100-card p,
html body .rhv-uniform-card.rhv-popup-card h3,
html body .rhv-uniform-card.rhv-popup-card p {
    position: relative !important;
    z-index: 1 !important;
}

/* Protect hero/logo/review images */
html body header img,
html body .site-header img,
html body .brand img,
html body .logo img,
html body .hero img,
html body .home-hero img,
html body .rhv-hero img,
html body .rhva-hero img,
html body .hero-slider img,
html body .rhv-hero-slider img,
html body .rhva-hero-slider img,
html body .review-card img,
html body .rhva-review-card img {
    max-width: initial;
}