/* Shared header frame. Changes require both PC and mobile regression. */
.dj-header-shell{margin:0;background:transparent;z-index:100}
.dj-header__surface{background:white;color:#242723}
/* NAV-01: same spacer principle as mobile, so content coordinates do not jump. */
@media(min-width:781px){
 .dj-header-shell{position:sticky;top:var(--dj-toolbar-offset,0px);pointer-events:none}
 .dj-header__surface{position:relative;pointer-events:auto}
 .dj-header-shell.dj-is-compact .dj-header__surface{position:absolute;inset:0 0 auto;box-shadow:0 4px 14px #24272310}
}

/* UX-03: reserve focus/anchor clearance without changing content widths. */
html:has(body.dj-modular){scroll-padding-top:var(--dj-header-clearance,90px);scroll-padding-bottom:var(--dj-cookie-clearance,12px)}
@media(min-width:781px){
 .dj-header-shell.dj-is-compact:not(.dj-has-topics) .dj-desktop-topics-slot{display:none}
}
/* No transforms on the header: native fixed search/cart overlays keep their viewport. */
@media(prefers-reduced-motion:no-preference){
 .dj-header-shell.dj-is-compact.dj-has-topics :is(.dj-mobile-topics-slot,.dj-desktop-topics-slot){animation:dj-topics-reveal .16s ease-out}
 @keyframes dj-topics-reveal{from{opacity:0}to{opacity:1}}
}
