/* The whole photo keeps its native lightbox link; the plus is a visual cue. */
#espaco .gdf-root .gdf-item { background: transparent; overflow: visible; }
#espaco .gdf-root .gdf-media,
.rdm-mobile-home .mh-gallery-card > a {
    position: relative; isolation: isolate; display: block; overflow: hidden;
    border-radius: var(--gdf-radius, 22px); text-decoration: none;
    box-shadow: 0 5px 18px #172d2312;
}
#espaco .gdf-root .gdf-image {
    border-radius: inherit; opacity: 1; transition: transform .35s ease;
}
#espaco .gdf-root .gdf-image-overlay {
    position: absolute; inset: 0; padding: 14px; opacity: 1; transform: none;
    min-height: 0; justify-content: flex-end; align-items: flex-end;
    background: linear-gradient(180deg, #172d2308 20%, #172d2312 55%, #172d2352 100%);
    pointer-events: none;
}
#espaco .gdf-root .gdf-overlay-title { display: none; }
#espaco .gdf-root .gdf-overlay-icon,
.rdm-mobile-home .mh-gallery-expand {
    position: relative; flex: 0 0 auto; box-sizing: border-box;
    width: 40px; height: 40px; margin: 0; border-radius: 50%;
    border: 1px solid #fffef58c; background: #203d2f80; color: #fffef5;
    box-shadow: 0 3px 12px #10251a1a; backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px); font-size: 0; text-shadow: none;
    display: grid; place-items: center; transition: background .2s ease, border-color .2s ease;
}
#espaco .gdf-root .gdf-overlay-icon::before,
#espaco .gdf-root .gdf-overlay-icon::after,
.rdm-mobile-home .mh-gallery-expand::before,
.rdm-mobile-home .mh-gallery-expand::after {
    content: ''; position: absolute; width: 14px; height: 1.5px;
    border-radius: 2px; background: currentColor;
}
#espaco .gdf-root .gdf-overlay-icon::after,
.rdm-mobile-home .mh-gallery-expand::after { transform: rotate(90deg); }
.rdm-mobile-home .mh-gallery-expand > * { display: none; }
#espaco .gdf-media:hover .gdf-overlay-icon,
#espaco .gdf-media:focus-visible .gdf-overlay-icon,
.rdm-mobile-home .mh-gallery-card > a:hover .mh-gallery-expand,
.rdm-mobile-home .mh-gallery-card > a:focus-visible .mh-gallery-expand { background: #284638; border-color: #fffef5; }
#espaco .gdf-root .gdf-media:hover .gdf-image { opacity: 1; transform: scale(1.025); }
#espaco .gdf-root .gdf-media:focus-visible,
.rdm-mobile-home .mh-gallery-card > a:focus-visible { outline: 3px solid #aa8750; outline-offset: 4px; }
.rdm-mobile-home .mh-gallery-card > a { height: min(66vw,340px); border-radius: var(--rdm-radius,22px); }
.rdm-mobile-home .mh-gallery-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rdm-mobile-home .mh-gallery-card > a::after {
    content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: linear-gradient(180deg, #172d2308 20%, #172d2312 55%, #172d2352 100%);
}
.rdm-mobile-home .mh-gallery-expand { position: absolute; right: 14px; bottom: 14px; z-index: 2; pointer-events: none; }
.spa-sublocation {
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
    margin: 30px 0 0; padding: 26px 28px; border: 1px solid #28463826;
    border-radius: 20px; background: #fffef5; color: #284638;
}
body .spa-sublocation h3 { font: 600 22px/1.3 var(--rdm-font-family-base, sans-serif); margin: 0 0 8px; letter-spacing: -.4px; }
body .spa-sublocation p { margin: 0; font-size: 15px; line-height: 1.6; }
body .spa-sublocation__link,
.rdm-massagens-renew #espaco .spa-sublocation > a.spa-sublocation__link {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    flex-shrink: 0; min-height: 48px; padding: 14px 20px; border-radius: 30px;
    background: #284638; color: #fffef5; text-decoration: none; font-size: 15px; font-weight: 600;
}
body .spa-sublocation__link:hover,
.rdm-massagens-renew #espaco .spa-sublocation > a.spa-sublocation__link:hover { background: #172d23; color: #fff; }
.spa-sublocation__link > svg, .spa-sublocation__link > .rdm-icons-instance { flex-shrink: 0; }
.spa-sublocation__link:focus-visible, .rdm-current-year:focus-visible { outline: 3px solid #aa8750; outline-offset: 4px; }
.spa-payments { margin-top: 22px; max-width: 340px; color: #385546; }
body .spa-payments ul { padding: 0; margin: 0; list-style: none; }
body .spa-payments li { margin: 0; padding: 0; list-style: none; }
body .spa-payments__methods { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px 20px; }
body .spa-payments__methods li { display: flex; align-items: center; gap: 9px; font-size: 13px; line-height: 1.5; }
.spa-payments__methods img {
    display: block; flex-shrink: 0; width: 20px; height: 20px;
    object-fit: contain; padding: 0; border-radius: 0; background: none;
    filter: grayscale(1); mix-blend-mode: multiply; opacity: .85;
}
.spa-payments__cards { margin-top: 20px; padding-top: 15px; border-top: 1px solid #2846381f; }
body .spa-payments__label {
    display: block; margin: 0 0 9px; font: 500 10px/1.5 var(--rdm-font-family-base,sans-serif);
    letter-spacing: .12em; text-transform: uppercase; color: #6b786f;
}
body .spa-payments__brands { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px 16px; }
body .spa-payments__brands li { display: flex; align-items: center; justify-content: center; min-width: 0; height: 36px; }
.spa-payments__brands img {
    display: block; max-width: 100%; object-fit: contain;
    padding: 0; filter: grayscale(1); mix-blend-mode: multiply; opacity: .8;
}
/* Keep builder-wide image rules from stretching the small brand marks. */
body .spa-payments .spa-payments__brands img { width: 48px; height: 24px; }
body .spa-payments .spa-payments__methods img { width: 20px; height: 20px; }
:is(.rdmmb-footer,.mh-footer,.site-footer) .spa-payments { color: #d5ded4; }
:is(.rdmmb-footer,.mh-footer,.site-footer) .spa-payments__cards { border-color: #d5ded42e; }
body :is(.rdmmb-footer,.mh-footer,.site-footer) .spa-payments__label { color: #b2c1b1; }
:is(.rdmmb-footer,.mh-footer,.site-footer) .spa-payments img { filter: grayscale(1) invert(1); mix-blend-mode: screen; opacity: .86; }
.rdm-current-year { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
    .spa-sublocation { flex-direction: column; align-items: stretch; gap: 18px; padding: 22px; }
    body .spa-sublocation h3 { font-size: 21px; }
    .mh-section .spa-sublocation { margin-bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    #espaco .gdf-root .gdf-overlay-icon, #espaco .gdf-root .gdf-image, .rdm-mobile-home .mh-gallery-expand { transition: none; }
    #espaco .gdf-root .gdf-media:hover .gdf-image { transform: none; }
}
