/* Saved scenery and mascot layers never replace the original product photo. */
.site-refresh [data-refresh-art-panel]{
 position:relative;isolation:isolate;overflow:hidden;border-radius:3px;
 background:#edf0ef!important;
}
.site-refresh [data-refresh-art-panel]>.refresh-scene-background{
 display:block!important;position:absolute!important;inset:0!important;z-index:-2;
 width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
 margin:0!important;padding:0!important;object-fit:cover!important;object-position:center!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;
 transform:scale(1.04)!important;filter:blur(4px)!important;pointer-events:none;
}
.site-refresh [data-refresh-art-panel]::before{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:linear-gradient(#ffffff30,#ffffff50);
}
.site-refresh [data-refresh-scene]{position:relative;min-width:0;padding:14px 10px 166px!important;background:transparent!important}
.site-refresh [data-refresh-scene]:not([data-refresh-art-panel]){isolation:auto;overflow:visible}
/* Composite the photograph normally, including every source-photo frame.
   Real alpha remains transparent; opaque source mattes and metal highlights
   remain opaque. Bright product pixels must never be keyed out by blending. */
.site-refresh [data-refresh-scene],
.site-refresh [data-refresh-scene] img[data-refresh-image="source"],
.site-refresh [data-refresh-scene] :has(img[data-refresh-image="source"]){mix-blend-mode:normal!important;filter:none!important}
.site-refresh [data-refresh-scene] img[data-refresh-image="source"],
.site-refresh [data-refresh-scene] a:has(img[data-refresh-image="source"]){background:transparent!important}
/* Native related cards and the historical replacement recommendation share
   this page, but are outside the decorated hero/catalog-photo wrappers. */
.site-refresh .product-card .card-image,
.site-refresh .product-card .card-image img,
.site-refresh .product-card .card-image :has(img),
.site-refresh .discontinued-replacement-image,
.site-refresh .discontinued-replacement-image img{mix-blend-mode:normal!important}
.site-refresh .product-card .card-image,
.site-refresh .product-card .card-image img:not([data-product-art-layer]),
.site-refresh .product-card .card-image :has(img:not([data-product-art-layer])),
.site-refresh .discontinued-replacement-image,
.site-refresh .discontinued-replacement-image img{filter:none!important}
.site-refresh [data-refresh-scene]>.refresh-scene-mascot{
 position:absolute;right:12px;bottom:50px;width:38%!important;height:138px!important;
 max-width:155px!important;max-height:138px!important;padding:0!important;margin:0!important;
 object-fit:contain!important;object-position:bottom right!important;transform:none!important;
 pointer-events:none;filter:drop-shadow(2px 3px 2px #14202a30);
}
.site-refresh [data-refresh-scene]>:is(.zp-larger,.cp-product-larger,.apt-product-larger,.individual-larger,.compact571-image-link),
.site-refresh .product-photo-main[data-refresh-scene]>p:has(>a[data-photo-viewer]){
 position:absolute;bottom:0;left:0;width:100%;min-height:44px;margin:0!important;
 background:#fffffff0;padding:8px;font-size:16px!important;
}
.site-refresh [data-refresh-art-panel]>:is(.zp-gallery-side,.cp-product-gallery-side,.apt-product-gallery-side,.individual-gallery-side,.product-frame-tools){padding:14px 10px 14px 0!important}
/* Upright source frames keep inset cards beside the hammer, with clear space for the mascot. */
.site-refresh .cp-product-gallery--landscape[data-refresh-art-panel]:not([data-refresh-hero-slots])>.cp-product-photo{grid-column:auto!important}
.site-refresh .cp-product-gallery--landscape[data-refresh-art-panel]>.cp-product-gallery-side{position:static!important;grid-column:auto!important;gap:clamp(24px,5vw,80px)!important;pointer-events:auto}
.site-refresh .cp-product-gallery--landscape[data-refresh-art-panel] .cp-product-documents{position:static!important;width:100%!important}
.site-refresh .cp-product-gallery--landscape[data-refresh-art-panel] .cp-product-larger{width:100%!important}
.site-refresh [data-refresh-art-panel] [data-refresh-duplicate-decoration]{display:none!important}
.site-refresh [data-refresh-scene]:has(>.family-photo-note)>.refresh-scene-mascot{bottom:12px}
/* Compact drill media occupies the first grid row; controls retain their white panel. */
.site-refresh [data-refresh-slot="visual"][data-refresh-art-panel]{background:#fff!important}
.site-refresh [data-refresh-slot="visual"][data-refresh-art-panel]>.refresh-scene-background,
.site-refresh [data-refresh-slot="visual"][data-refresh-art-panel]::before{grid-area:1 / 1 / 2 / -1}
@media(max-width:600px){
 .site-refresh [data-refresh-scene]{padding:8px 6px 118px!important}
 .site-refresh [data-refresh-scene]>.refresh-scene-mascot{height:94px!important;max-height:94px!important;bottom:46px;right:8px;width:46%!important}
 .site-refresh [data-refresh-scene]>:is(.zp-larger,.cp-product-larger,.apt-product-larger,.individual-larger,.compact571-image-link){font-size:14px!important}
 .site-refresh [data-refresh-art-panel]>:is(.zp-gallery-side,.cp-product-gallery-side,.apt-product-gallery-side,.individual-gallery-side,.product-frame-tools){padding:8px 0!important}
}
/* Manufacturer framing already removes verified white margins. Preserve those
   dimensions instead of applying the generic image size inside its viewport. */
.site-refresh [data-refresh-scene] .apt-product-photo-link--framed{--apt-photo-stage-height:560px}
.site-refresh [data-refresh-scene] .apt-product-photo-viewport{background:transparent;mix-blend-mode:normal}
.site-refresh [data-refresh-scene] .apt-product-photo-viewport img[data-refresh-image="source"]:not([data-refresh-tool-angle]){
 width:var(--apt-source-width)!important;height:var(--apt-source-height)!important;
 max-width:none!important;max-height:none!important;object-fit:fill!important;
}
@media(max-width:900px){.site-refresh [data-refresh-scene] .apt-product-photo-link--framed{--apt-photo-stage-height:450px}}
@media(max-width:600px){.site-refresh [data-refresh-scene] .apt-product-photo-link--framed{--apt-photo-stage-height:350px}}
