/* Quiet feedback: no parallax, scroll hijacking or forced motion. */
.image-crossfade-outgoing{display:block!important;pointer-events:none!important}
.catalog-category-lead figure,.dialog-media>figure,.panorama-view,.category-panorama{position:relative}
.product-brand-watermark{z-index:2}
.dialog-media>figure{height:auto;min-height:0;aspect-ratio:3/2;width:100%;align-self:center}
/* Keep the replaced image out of intrinsic Grid row sizing: portrait images
   must fit the reserved frame, not grow a clipped implicit row inside it. */
.dialog-media>figure>#dialog-image{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain}
.image-is-loading::after{content:'';position:absolute;inset-inline-end:14px;top:14px;width:18px;height:18px;border:2px solid rgba(246,238,223,.7);border-top-color:#173d2e;border-radius:50%;animation:image-pending .8s linear infinite;z-index:3;pointer-events:none}
.interaction-status{position:fixed;z-index:100;bottom:max(18px,env(safe-area-inset-bottom));inset-inline:20px;max-width:520px;margin:0 auto;padding:14px 18px;background:#fafbf6;color:#173d2e;border:1px solid #a9bba9;box-shadow:0 8px 30px rgba(7,27,20,.15);font-size:.875rem;line-height:1.5}
.category-scene-options button,.panorama-options button,.dialog-gallery button,.catalog-tabs button,.button,.hero-arrow,.hero-dots button{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.product-dialog[open]{animation:dialog-enter .2s ease-out}
.product-dialog[open]::backdrop{animation:backdrop-enter .2s ease-out}
.product-dialog.is-closing{animation:dialog-exit .16s ease-in forwards;pointer-events:none}
.product-dialog.is-closing::backdrop{animation:backdrop-exit .16s ease-in forwards}
html.is-product-open{overflow:hidden}
.language-menu[open] .language-options{animation:disclosure-enter .18s ease-out}
.hero-pause{min-width:44px;min-height:38px;padding:6px 10px;font:inherit;font-size:.75rem;border:1px solid rgba(255,255,255,.4);background:rgba(10,10,8,.35);color:#fff;cursor:pointer}
.hero-dots button{min-height:24px;background:transparent!important;position:relative}
.hero-dots button::after{content:'';position:absolute;top:10px;inset-inline:0;height:3px;background:rgba(255,255,255,.4)}
.hero-dots button.is-active::after{background:var(--copper-light)}
@media(max-width:660px){.hero-controls{gap:8px;inset-inline:20px;justify-content:flex-end}.hero-arrow{flex:0 0 44px;min-height:44px}.hero-dots{gap:6px;flex-shrink:0}.hero-dots button{width:24px}.hero-pause{width:44px;min-height:44px;flex:0 0 44px;padding:0;font-size:0}.hero-pause::after{content:'Ⅱ';font-size:18px}.hero-pause[aria-pressed="true"]::after{content:'▶'}}
@media(max-width:980px){.site-header nav.is-open{animation:disclosure-enter .18s ease-out}}
@media(max-width:980px){.site-header nav.is-open.is-closing{animation:disclosure-exit .15s ease-in forwards;pointer-events:none}}
@keyframes image-pending{to{transform:rotate(360deg)}}
@keyframes dialog-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes dialog-exit{to{opacity:0;transform:translateY(4px)}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes backdrop-exit{to{opacity:0}}
@keyframes disclosure-enter{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@keyframes disclosure-exit{to{opacity:0;transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.image-crossfade-outgoing{display:none!important}}
