/* Standalone equivalents for the original theme's interactive components. */
html { scroll-behavior: smooth; }
product-rerender, product-gallery, safe-sticky, scroll-carousel, product-gallery-navigation, accordion-disclosure, marquee-text { display:block; }
.product-gallery__thumbnail-list { position:sticky; top:24px; align-self:start; }
.product-info { position:sticky; top:24px; align-self:start; }
.product-gallery__thumbnail-scroller { display:grid; }
.product-gallery__media { cursor:zoom-in; }
.accordion__content { height:auto!important; opacity:1!important; }
details:not([open]) > .accordion__content { display:none; }
details[open] .animated-plus { transform:rotate(45deg); }
button:focus-visible, a:focus-visible, summary:focus-visible { outline:2px solid #252525; outline-offset:4px; }
#image-zoom { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; padding:40px 60px; border:0; background:#fff; }
#image-zoom[open] { display:flex; align-items:center; justify-content:center; }
#image-zoom img { max-height:calc(100dvh - 80px); max-width:100%; object-fit:contain; }
#image-zoom::backdrop { background:#ffffffed; }
#image-zoom button { position:fixed; background:#fff; border:1px solid #ddd; border-radius:50%; width:44px; height:44px; font-size:30px; cursor:pointer; z-index:2; }
.zoom-close { right:20px; top:20px; }.zoom-prev { left:12px; top:50%; }.zoom-next { right:12px; top:50%; }
@media(max-width:999px) { .product-info { position:static; } }
@media(max-width:699px) { #image-zoom { padding:50px 12px; } .product-gallery__carousel { scroll-snap-type:x mandatory; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
