.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 8px; left: 8px; transform: translateY(-200%); z-index: 10001; padding: 12px; background: #fff; color: #111; }
.skip-link:focus { transform: none; }
:where(a, button, [role="button"], model-viewer):focus-visible { outline: 3px solid #ffb45c; outline-offset: 4px; }
button.image-item { display: block; width: 100%; padding: 0; border: 0; background: transparent; text-align: inherit; cursor: pointer; }
button.close, button#videobox-close, button#modelbox-close { background: transparent; border: 0; padding: 4px 12px; font: inherit; font-size: 40px; line-height: 1; }
header:focus-within { transform: translateY(0) !important; }
[role="button"] { cursor: pointer; }
.control-btn:disabled { cursor: default; opacity: .65; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
#modelbox .modelbox-inner { box-sizing: border-box; }
#modelbox-viewer { min-height: 0; }
.model-controls { flex-wrap: wrap; }
