.product-visual{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:#fff;isolation:isolate}
.product-visual .product-visual-frame{position:absolute;display:block;left:50%;bottom:4%;height:88%;width:auto;aspect-ratio:1/1.06;transform:translateX(-50%);overflow:hidden}
/* Scoped important rules stop legacy route-wide img sizing from distorting the original. */
.product-visual .product-visual-frame>img[data-product-original]{position:absolute!important;display:block!important;left:var(--pv-left)!important;bottom:var(--pv-bottom)!important;top:auto!important;width:var(--pv-width)!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;margin:0!important;padding:0!important;transform:none!important;background:transparent!important;mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}
.product-visual--thumb{aspect-ratio:4/3}
.product-visual--large{height:clamp(260px,31vw,440px);aspect-ratio:auto}
.product-visual .product-visual-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px;text-align:center;color:#68756c;background:#f4f5f1}
.product-visual .product-visual-empty strong{font-family:Noto,sans-serif;font-size:clamp(22px,3vw,40px);line-height:1.15;letter-spacing:.02em;font-weight:700;color:#34483b}
.product-visual .product-visual-empty>span{font:400 12px/1.5 Noto,sans-serif;letter-spacing:0}
.product-visual--thumb .product-visual-empty{gap:5px;padding:5px}
.product-visual--thumb .product-visual-empty strong{font-size:clamp(12px,1.7vw,20px)}
.product-visual--thumb .product-visual-empty>span{font-size:9px;line-height:1.3}
.product-visual .product-visual-reference{position:absolute;right:12px;bottom:5px;color:#68756c;font:400 11px/1.4 Noto,sans-serif}
#trim .trim-selector-models .product-visual{width:100%;height:auto}
#trim .trim-selector-photo>.product-visual{width:100%}
.configuration-choice>.product-visual{margin:12px 0 16px}
.flow-model-choice>.product-visual{grid-column:1/-1}
@media(max-width:650px){.product-visual--large{height:280px}.product-visual--large .product-visual-frame{height:82%;bottom:5%}.product-visual--thumb .product-visual-empty>span{font-size:8px}}
