/* One header across the storefront; photographic heroes retain their transparent top. */
html { scrollbar-gutter:stable; }
html[data-menu-motion]{overflow-x:clip}
.page-surface{display:flow-root}
/* Keep public navigation in the document's scroll flow. Unlike a fixed layer,
 * sticky does not depend on iOS's keyboard-adjusted fixed-position viewport.
 * The negative hero margin retains the original transparent overlay exactly. */
body.ssr-pilot:not(.admin-page) { padding-top:0; }
body.ssr-pilot:not(.admin-page) .storefront-canvas { display:flow-root;min-height:100svh; }
body.ssr-pilot.has-cinema .site-header { margin-bottom:calc(-1 * var(--site-header-height)); }
body.ssr-pilot .site-header { position:sticky;inset:0 0 auto;height:var(--site-header-height);z-index:50; }
body.ssr-pilot .site-header .pilot-menu-toggle { align-items:center;gap:9px;min-width:44px;min-height:44px;padding:0;color:inherit; }
body.ssr-pilot .pilot-menu-toggle svg { width:24px;height:24px;stroke-width:1.5; }
body.ssr-pilot .pilot-menu-toggle span { display:inline;font-size:15px; }
.ssr-pilot .mobile-navigation { position:fixed;inset:0 0 0 auto;width:calc(100vw - 28px);height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#111314;color:#fff;overflow:hidden;box-sizing:border-box; }
.ssr-pilot .mobile-navigation[open] { display:flex;flex-direction:column; }
.ssr-pilot .mobile-navigation.is-leaving { pointer-events:none; }
.mobile-navigation::backdrop { background:transparent; }
.ssr-pilot .mobile-navigation-top { flex-shrink:0;display:flex;align-items:center;justify-content:space-between;min-height:var(--site-header-height);padding:env(safe-area-inset-top) var(--page-inset) 0;border-bottom:1px solid #ffffff20; }
.ssr-pilot .mobile-navigation-top img { display:block;object-fit:contain;width:104px;height:40px; }
.ssr-pilot .mobile-navigation button { display:flex;align-items:center;justify-content:center;gap:12px;min-width:48px;min-height:48px;border:0;padding:0;background:none;color:inherit;font:inherit; }
.ssr-pilot .mobile-navigation-top button { font-size:15px; }
.ssr-pilot .mobile-navigation svg { flex-shrink:0;width:24px;height:24px;stroke-width:1.5; }
.ssr-pilot .mobile-navigation-body { display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:clamp(24px,5vh,56px) var(--page-inset) max(28px,env(safe-area-inset-bottom)); }
.ssr-pilot .mobile-primary-nav { display:block;width:100%; }
.ssr-pilot .mobile-primary-nav>a,.ssr-pilot .mobile-shop-row { display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:16px 0;border-bottom:1px solid #ffffff24;font-size:clamp(28px,5vw,46px);font-weight:480;letter-spacing:-.035em;line-height:1.2; }
.ssr-pilot .mobile-shop-row>a { flex:1; }
.ssr-pilot .mobile-primary-nav>a>svg { color:#a9b0af; }
.ssr-pilot .mobile-navigation a,.ssr-pilot .mobile-navigation button { transition:color 180ms ease; }
.ssr-pilot .mobile-navigation :is(a,button):hover,.ssr-pilot .mobile-navigation [aria-current=page] { color:var(--accent); }
.ssr-pilot .mobile-navigation :focus-visible { outline:2px solid var(--accent);outline-offset:4px; }
.mobile-shop-categories { display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows 280ms var(--navigation-easing),visibility 280ms; }
.mobile-shop-categories.is-expanded { grid-template-rows:1fr;visibility:visible; }
.mobile-shop-categories>div { overflow:hidden;min-height:0; }
.ssr-pilot .mobile-shop-categories a { display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:10px 0 10px 16px;font-size:18px;line-height:1.5;color:#ced2d1; }
.ssr-pilot .mobile-shop-categories a:first-child { margin-top:12px; }
.ssr-pilot .mobile-shop-categories a:last-child { margin-bottom:16px; }
.ssr-pilot .mobile-shop-categories svg { width:18px;height:18px; }
.ssr-pilot .mobile-navigation-bottom { padding-top:36px;margin-top:auto; }
.ssr-pilot .mobile-account { display:flex;align-items:center;gap:14px;min-height:52px;font-size:18px; }
.mobile-account>svg:last-child { margin-left:auto; }
.ssr-pilot .mobile-contact { display:flex;flex-wrap:wrap;gap:4px 32px;padding:22px 0;font-size:15px;line-height:1.6;color:#aeb5b3; }
.ssr-pilot .mobile-contact a { min-height:32px;display:flex;align-items:center; }
.ssr-pilot .mobile-languages { display:flex;flex-wrap:wrap;gap:8px 24px;border-top:1px solid #ffffff24;padding-top:16px; }
.ssr-pilot .mobile-languages a { display:flex;align-items:center;min-height:44px;font-size:15px; }
.ssr-pilot .mobile-languages [aria-current=page] { text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px; }
@media(max-width:1023px) {
 html { scrollbar-gutter:auto; }
 body.ssr-pilot .site-header>nav.pilot-menu { display:none; }
 body.ssr-pilot .site-header .pilot-menu-toggle { display:flex; }
 body.ssr-pilot .site-header .language-menu { display:none; }
}
@media(max-width:359px) { body.ssr-pilot .pilot-menu-toggle span { display:none; }.ssr-pilot .mobile-languages { gap:4px 16px; } }
@media(prefers-reduced-motion:reduce) {
 .ssr-pilot .mobile-navigation[open],.ssr-pilot .mobile-navigation.is-leaving { animation:none; }
 .mobile-shop-categories,.ssr-pilot .mobile-navigation :is(a,button) { transition:none; }
}

/* The close control stays frameless; keyboard focus uses an underline. */
.ssr-pilot .mobile-navigation-top button:focus { outline:none;box-shadow:none; }
.ssr-pilot .mobile-navigation-top button:focus-visible { color:var(--accent);text-decoration:underline;text-underline-offset:6px; }
.ssr-pilot .mobile-category-toggle { transition:transform 220ms var(--navigation-easing); }
.ssr-pilot .mobile-shop-row button[aria-expanded=true] .mobile-category-toggle { transform:rotate(45deg); }
.mobile-shop-categories { transition:grid-template-rows 280ms var(--navigation-easing),visibility 280ms; }
.mobile-shop-categories a { opacity:0;transform:translateY(-6px);transition:opacity 160ms ease,transform 220ms var(--navigation-easing)!important; }
.mobile-shop-categories.is-expanded a { opacity:1;transform:translateY(0); }
@media(prefers-reduced-motion:reduce) { .ssr-pilot .mobile-category-toggle,.mobile-shop-categories,.mobile-shop-categories a { transition:none!important; } }
/* Compact language disclosure: native names, current language and predictable dismissal. */
body.ssr-pilot .language-selector summary{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px;list-style:none}
.language-selector summary::-webkit-details-marker{display:none}
body.ssr-pilot .language-selector summary::after{display:none}
.language-selector summary>svg{width:18px;height:18px;stroke-width:1.5}
.language-selector summary .language-chevron{width:14px;height:14px;transition:transform 180ms ease}
.language-selector[open] .language-chevron{transform:rotate(180deg)}
body.ssr-pilot .language-selector ul{top:calc(100% + 8px);min-width:200px;margin:0;padding:8px;background:#111314;border:1px solid #ffffff26;box-shadow:0 12px 32px #0003}
body.ssr-pilot .language-selector li a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;padding:10px 12px;font-size:15px}
.language-selector li a:hover{background:#ffffff0c}
.language-selector li svg{width:18px;height:18px;stroke-width:1.5}
@media(min-width:1024px) and (max-width:1279px){body.ssr-pilot .language-selector .language-name{display:none}body.ssr-pilot .language-selector .language-code{display:inline}}
.ssr-pilot .mobile-languages-top{flex-shrink:0;margin-bottom:20px;border-top:0;border-bottom:1px solid #ffffff24;padding:0 0 12px;gap:4px 20px}
.ssr-pilot .mobile-languages-top a{font-size:14px}
.ssr-pilot .mobile-navigation-body:has(.mobile-languages-top){padding-top:16px}
@media(prefers-reduced-motion:reduce){.language-selector summary .language-chevron{transition:none}}

/* Navigation feedback also remains visible after the menu has closed. */
.site-header[aria-busy=true]::after{content:'';position:absolute;bottom:0;left:0;width:35%;height:2px;background:var(--accent);animation:mobile-route-loading 1.2s ease-in-out 450ms infinite;opacity:0;pointer-events:none}
@keyframes mobile-route-loading{from{opacity:1;transform:translateX(-100%)}to{opacity:1;transform:translateX(300%)}}
@media(prefers-reduced-motion:reduce){.site-header[aria-busy=true]::after{animation:none;width:100%;opacity:1}}

/* Snapshot the actual destination header state before starting the page reveal. */
html[data-page-transition] .site-header::before{transition:none!important}
html[data-page-transition] .site-header[aria-busy=true]::after{display:none}
/* The page keeps its original header appearance while the menu pushes it away. */
body.has-cinema:not(.is-scrolled) .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}
body.has-cinema:not(.is-scrolled) .site-header::before{opacity:0}

/* iOS browser chrome: dark document canvas, without an artificial edge.
 * Keep the actual site on its original white/dark surface; the sticky header
 * supplies its own space, without an artificial edge in page snapshots. */
@supports(-webkit-touch-callout:none){
 @media(max-width:1023px){
  html:not(.admin-document){background:#111314}
  :root:not(.admin-document) body.ssr-pilot:not(.admin-page){background:#111314;padding-top:0}
  body.ssr-pilot:not(.admin-page) .storefront-canvas{background:#fff}
  body.ssr-pilot:is(.contact-dark,.auth-page) .storefront-canvas{background:#111314}
 }
}

/* Mobile navigation uses opaque dark chrome instead of repeatedly blurring the
 * moving page beneath it. Photographic heroes retain their transparent top. */
@media(max-width:1023px){
 body.ssr-pilot .site-header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
 body.ssr-pilot .site-header::before{background:#111314}
}
