/* Shared public/admin navigation. Links, forms and browser history remain native. */
@view-transition { navigation:auto; }
::view-transition { pointer-events:none; }

html { scroll-behavior:smooth; scroll-padding-top:108px; }
/* The shared sticky-header offset is applied once, including product-card anchors. */
body.os-studio #main-content [id]:target { scroll-margin-top:0; }
body.os-studio [data-os-header] { view-transition-name:oznex-public-header; }
body.os-admin .admin-sidebar { view-transition-name:oznex-admin-sidebar; }
body.os-admin .admin-mobile-header { view-transition-name:oznex-admin-mobile-header; }

::view-transition-group(root) { animation-duration:260ms; }
::view-transition-old(root) { animation:os-page-out 160ms ease-out both; }
::view-transition-new(root) { animation:os-page-in 260ms cubic-bezier(.2,.75,.2,1) both; }
::view-transition-group(oznex-public-header),
::view-transition-group(oznex-admin-sidebar),
::view-transition-group(oznex-admin-mobile-header) { animation-duration:220ms; animation-timing-function:cubic-bezier(.2,.75,.2,1); }

@keyframes os-page-out { to { opacity:0; transform:translateY(-5px); } }
@keyframes os-page-in { from { opacity:.15; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }

@media (max-width:600px) {
 html { scroll-padding-top:88px; }
 ::view-transition-new(root) { animation-duration:220ms; }
}
@media (prefers-reduced-motion:reduce) {
 @view-transition { navigation:none; }
 html { scroll-behavior:auto; }
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) { animation:none!important; }
}
