/* Shared corner radius, matching the white panel on the homepage. */
:root { --pv-surface-radius: 4px; }

/* Content photographs, video screens and their surrounding frames. */
img:not(.brand img):not(.pv-reference-brand img),
video,
iframe,
.home-image-frame,
.story-slides,
.story-controls,
.page-photo-frame,
.measurement-photo-frame,
.measurement-stage,
.planning-photo-frame,
.presentation-tv-stage,
.presentation-vr-image,
.home-vr-image,
.video-embed,
.twinmotion-embed-wrapper,
.presentation-youtube-frame,
.presentation-youtube-screen,
.showroom-youtube-frame,
.showroom-youtube-screen,
.youtube-ratio-frame,
.youtube-ratio-screen,
.showroom-photo-background,
.pv-reference-images,
.pv-reference-frame {
  border-radius: var(--pv-surface-radius) !important;
}

/* Panels, cards, navigation and consent surfaces. The explicit override keeps
   the same radius through the site's existing page and device stylesheets. */
.pv-reference-copy,
.pv-reference-dropdown,
.card,
.price,
.visual-card,
.viewer,
.ref,
.service,
.showroom-elements li,
.showroom-elements a,
.page-preview,
.visualization-option,
.embedded-service-grid article,
.notice,
.pv-consent-placeholder,
#pv-consent {
  border-radius: var(--pv-surface-radius) !important;
}

/* Buttons, link buttons and text-entry fields. */
button,
.btn,
[role="button"],
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),
textarea,
select,
fieldset,
.social a,
.arrow,
.pv-reference-contact,
.pv-reference-cta,
.pv-reference-menu summary,
.pv-reference-dropdown a,
.pv-reference-menu-status,
.measurement-label {
  border-radius: var(--pv-surface-radius) !important;
}

/* Keep decorative frame overlays aligned with their photographs. */
.planning-photo-frame::after,
.planning-photo-glow,
.survey-photo-glow,
.measurement-points,
.showroom-icon-glow,
.home-image-frame::before,
.home-image-frame::after,
.page-photo-frame::before,
.page-photo-frame::after,
[data-vr-interactive] .vr-view-button::before,
.header[data-pv-nav] .menu > a:not(.btn)::before {
  border-radius: var(--pv-surface-radius) !important;
}

/* Preserve the reference-photo hover inset with the shared corner shape. */
.refs .ref .home-image-frame img {
  -webkit-clip-path: inset(0 round var(--pv-surface-radius));
  clip-path: inset(0 round var(--pv-surface-radius));
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .refs .ref:hover .home-image-frame img {
    -webkit-clip-path: inset(2% round var(--pv-surface-radius));
    clip-path: inset(2% round var(--pv-surface-radius));
  }
}
