/*
 * Apple design layer: the global header (gn-*), mega-menus, mobile bar and sheet (mb-*, mm-*), the WhatsApp disc (pp-wa), the in-flow utility bar and the chrome fallbacks.
 * Created empty by P0-foundation and linked from base_external.html; filled by B1-nav.
 * Tokens come from apple-base.css (.neo-apple). Never use :root, html or body here,
 * and always write -webkit-backdrop-filter with literal values.
 */

/* ---------- Utility bar (owner decision 7): kept on every page, in the flow, full width ---------- */
.site-utility-bar{position:static;inset:auto;transform:none;width:auto;max-width:none;margin:0;border-radius:0;padding-inline:max(22px,calc((100% - 1080px) / 2));font-family:"Inter",-apple-system,blinkmacsystemfont,"segoe ui",roboto,"helvetica neue",arial,sans-serif;letter-spacing:.005em}

/* ---------- Old floating menu offsets (editorial-system.scss), cancelled where the new header leads ---------- */
/* The old menu floated over the page, so each page's padding-top included its height
   (70px, 74px from 768px, 142px from 1280px). The new header is in the flow: keep only the gap. */
.gn~.neo-editorial-main,.gn~.neo-pilot-main{padding-top:34px}
.gn~.pp-main{padding-top:0}
@media (max-width:767px){
  .gn~.neo-editorial-main{padding-top:22px}
  .gn~.neo-pilot-main{padding-top:39px}
}
@media (min-width:1280px){
  .gn~.neo-editorial-main{padding-top:18px}
  .gn~.neo-pilot-main{padding-top:0}
}
/* The Apple home (C1) had no old offset to keep: its ribbon sits right under the header. */
.neo-home-store .gn~.neo-pilot-main{padding-top:0}
.gn+#site-content{display:block;height:0;outline:none}

/* ---------- Global header ---------- */
.gn{position:relative;z-index:9998;display:block;background:transparent;color:var(--fg);font-family:var(--font);font-size:12px;line-height:1.3334;font-weight:400;letter-spacing:var(--tr-s);text-align:left;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.gn :where(*,*::before,*::after){box-sizing:border-box}
.gn :where(h2,p,ul,li,nav,section){margin:0;padding:0;font-size:inherit;line-height:inherit;font-weight:inherit;letter-spacing:inherit}
.gn :where(ul){list-style:none}
.gn :where(a){color:inherit;text-decoration:none}
.gn :where(button){margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;letter-spacing:inherit;text-transform:none;cursor:pointer}
.gn :where(svg){display:block;flex:none}
.gn-bar{height:44px;background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);position:relative;z-index:2;transition:background-color .32s var(--ease-ui)}
.gn.has-fly .gn-bar{background:var(--bg-nav);-webkit-backdrop-filter:none;backdrop-filter:none}
.gn-inner{max-width:1124px;margin:0 auto;padding:0 22px;height:44px;display:flex;align-items:center;justify-content:space-between}
.gn-logo{display:flex;align-items:center;height:44px;padding-right:9px}
.gn-logo:hover{text-decoration:none}
.gn-logo svg,.mb-logo svg{display:block;width:auto}
.gn-main{flex:1 1 auto;display:flex;justify-content:center}
.gn-list{display:flex;align-items:center}
.gn-item{display:flex;align-items:center;height:44px;padding:0 9px;color:var(--gn-fg);font-size:12px;line-height:1.3334;letter-spacing:var(--tr-s);white-space:nowrap;transition:color .32s var(--ease-ui)}
.gn-item:hover,.gn-trigger[aria-expanded="true"]{color:#000;text-decoration:none}
.gn-lang{position:relative}
.gn-lang summary{list-style:none;cursor:pointer}
.gn-lang summary::-webkit-details-marker{display:none}
.gn-lang__menu{position:absolute;right:0;top:44px;width:160px;padding:8px 0;border-radius:18px;background:var(--glass-solid);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:var(--sh-float)}
.gn-lang__menu a{display:block;padding:10px 18px;color:var(--gn-item);font-size:12px;line-height:1.3334;font-weight:600}
.gn-lang__menu a:hover{color:#000;text-decoration:none}
.gn-lang__menu a[aria-current]{color:#000}
.gn-search svg{width:15px;height:15px}
.mb{display:none}

/* Mega-menus: positioned from the header, never from the viewport top (the bar sits above it from 1280px). */
.gn-fly{position:absolute;left:0;right:0;top:44px;z-index:1;background:var(--bg-nav);max-height:0;overflow:hidden;visibility:hidden;transition:max-height var(--fly-dur,320ms) var(--ease-ui),visibility 0s linear var(--fly-dur,320ms)}
.gn-fly.is-open{max-height:var(--fly-h,640px);visibility:visible;transition:max-height var(--fly-dur,320ms) var(--ease-ui),visibility 0s}
.gn-fly__inner{max-width:1124px;margin:0 auto;padding:40px 22px 84px;display:flex;gap:44px}
.gn-col{min-width:0}
.gn-col--elevated{flex:0 0 auto;min-width:258px}
.gn-fly__inner--4 .gn-col{flex:0 0 auto}
.gn-fly__inner--4 .gn-col--elevated{flex:0 0 258px}
.gn .gn-head{font-size:12px;line-height:1.3334;font-weight:400;letter-spacing:var(--tr-s);color:var(--fg-2);margin:0 0 13px}
.gn .gn-col ul+.gn-head{margin-top:28px}
.gn-col a{color:var(--gn-item)}
.gn-col a:hover{color:#000;text-decoration:underline;text-underline-offset:.18em}
.gn .gn-col li{margin-bottom:8px}
.gn-col li a{display:inline-block;font-size:12px;line-height:1.3334;font-weight:600}
.gn .gn-col--elevated li{margin-bottom:10px}
.gn-col--elevated li a{font-size:24px;line-height:1.1667;font-weight:600;letter-spacing:var(--tr-m)}
.gn .gn-smalls{margin-top:14px}
.gn-smalls li a,.gn-small{display:inline-block;margin-top:14px;font-size:12px;line-height:1.3334;font-weight:600;letter-spacing:var(--tr-s);color:var(--gn-item)}
.gn .gn-smalls li{margin-bottom:0}
.gn-smalls li:first-child a{margin-top:0}
.gn-fly li,.gn-fly .gn-head,.gn-fly .gn-small{opacity:0;transform:translateY(-4px);transition:opacity .32s var(--ease-ui),transform .32s var(--ease-ui)}
.gn-fly.is-open li,.gn-fly.is-open .gn-head,.gn-fly.is-open .gn-small{opacity:1;transform:none}
/* The curtain hangs from the bottom of the gn bar and covers the rest of the viewport. */
.gn-curtain{position:absolute;left:0;right:0;top:44px;height:100vh;height:100dvh;z-index:0;background:var(--curtain);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;visibility:hidden;transition:opacity .32s var(--ease-ui) 80ms,visibility 0s linear .4s}
.gn-curtain.is-on{opacity:1;visibility:visible;transition:opacity .32s var(--ease-ui) 80ms,visibility 0s}

/* The transparent bar of the store homepage (css-home.html). */
.neo-home-store .gn-bar{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.neo-home-store .gn.has-fly .gn-bar{background:var(--bg-nav)}

/* ---------- Mobile bar and sheet (up to 1068px) ---------- */
@media (max-width:1068px){
  .gn-bar,.gn-fly,.gn-curtain{display:none}
  .mb{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);position:relative;z-index:10001}
  .mb-logo{display:flex;align-items:center;height:48px}
  .mb-logo:hover{text-decoration:none}
  .mb-actions{display:flex;align-items:center;margin-right:-10px}
  .mb-icon{display:flex;align-items:center;justify-content:center;gap:4px;min-width:44px;height:48px;padding:0 6px;color:var(--gn-fg);font-size:12px;line-height:1.3334}
  .mb-icon:hover{color:#000;text-decoration:none}
  .mb-burger{position:relative;width:44px}
  .mb-burger span{position:absolute;left:14px;width:17px;height:1px;background:currentColor;transition:transform .32s var(--ease-ui)}
  .mb-burger span:first-child{top:20px}
  .mb-burger span:last-child{top:27px}
  .mb-burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .mb-burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mm{position:fixed;left:0;right:0;top:48px;z-index:10000;height:0;overflow:hidden;background:var(--bg-nav);visibility:hidden;transition:height .422s var(--ease-ui) 80ms,visibility 0s linear .5s}
  .mm.is-open{height:calc(100vh - 48px);height:calc(100dvh - 48px);visibility:visible;transition:height .422s var(--ease-ui) 80ms,visibility 0s}
  .mm-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:20px 48px 48px}
  .mm-top{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:9px 0;font-size:28px;line-height:1;font-weight:600;letter-spacing:var(--tr-m);color:var(--gn-item);list-style:none;cursor:pointer}
  .mm-top::-webkit-details-marker{display:none}
  .mm-top:hover{text-decoration:none;color:#000}
  .mm-chev{width:9px;height:15px;color:var(--fg-3)}
  .mm-list>li{opacity:0;transform:translateY(-8px);transition:opacity .24s var(--ease-ui),transform .24s var(--ease-ui)}
  .mm.is-open .mm-list>li{opacity:1;transform:none;transition-delay:200ms}
  .mm.is-open .mm-list>li:nth-child(2){transition-delay:220ms}
  .mm.is-open .mm-list>li:nth-child(3){transition-delay:240ms}
  .mm.is-open .mm-list>li:nth-child(4){transition-delay:260ms}
  .mm.is-open .mm-list>li:nth-child(5){transition-delay:280ms}
  .mm.is-open .mm-list>li:nth-child(6){transition-delay:300ms}
  .mm.is-open .mm-list>li:nth-child(7){transition-delay:320ms}
  .mm.is-open .mm-list>li:nth-child(8){transition-delay:340ms}
  .mm-group{position:relative}
  .mm-panel{padding:8px 0 24px}
  .mm__back{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 0 8px -14px;color:var(--fg-2)}
  .mm__back:hover{color:var(--fg)}
  .gn .mm-head{font-size:12px;line-height:1.3334;color:var(--fg-2);margin-bottom:12px}
  .mm-links a{display:flex;align-items:center;min-height:44px;font-size:24px;line-height:1.1667;font-weight:600;letter-spacing:var(--tr-m);color:var(--gn-item)}
  .mm-links a:hover,.mm-smalls a:hover,.mm-quick a:hover{color:#000;text-decoration:none}
  .gn .mm-smalls{margin-top:16px}
  .mm-smalls a{display:flex;align-items:center;min-height:44px;font-size:17px;line-height:1.4706;font-weight:600;letter-spacing:0;color:var(--gn-item)}
  .mm-list:has(details[open])>li:not(:has(details[open])){display:none}
  .mm-group[open]>.mm-top{font-size:12px;min-height:44px;padding:0 0 0 32px;color:var(--fg-2);pointer-events:none;justify-content:flex-start}
  .mm-group[open]>.mm-top .mm-chev{display:none}
  .mm-group[open] .mm__back{position:absolute;left:-14px;top:0;margin:0}
  .mm-list:has(details[open])~.mm-quick,.mm-list:has(details[open])~.mm-lang{display:none}
  .mm-quick{margin-top:24px;padding-top:16px;border-top:1px solid var(--sep);display:flex;flex-direction:column}
  .mm-quick a{display:flex;align-items:center;min-height:44px;font-size:17px;line-height:1.4706;font-weight:600;letter-spacing:0;color:var(--gn-item)}
  .mm-lang{display:flex;gap:4px;margin-top:16px;margin-left:-14px}
  .mm-lang a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:12px;color:var(--gn-fg)}
  .mm-lang a:hover{color:#000;text-decoration:none}
  .mm-lang a[aria-current]{font-weight:600;color:var(--fg)}
}
@media (min-width:1069px){.mm{display:none}}

/* Open sheet: the page cannot scroll (body hook), the bar pins to the top, its other icons step aside. */
body[data-mobile-menu-locked="true"]{overflow:hidden}
@media (max-width:1068px){
  body[data-mobile-menu-locked="true"] .mb{position:fixed;top:0;left:0;right:0;background:var(--bg-nav);-webkit-backdrop-filter:none;backdrop-filter:none}
  body[data-mobile-menu-locked="true"] .mb-laudos,body[data-mobile-menu-locked="true"] .mb-search{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .24s var(--ease-ui),visibility 0s linear .24s}
}

/* ---------- WhatsApp disc (doubled selector: outranks .neo-editorial-page a[name="geral-whatsapp"]).
   z-index 49 keeps it under the cookie banner (z-50) until the visitor answers. ---------- */
.pp-wa.neo-apple[name="geral-whatsapp"]{position:fixed;right:22px;bottom:22px;z-index:49;display:grid;place-items:center;width:56px;height:56px;padding:0;border-radius:50%;color:var(--wa);background:rgba(255,255,255,.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 0 0 1px rgba(0,0,0,.08),0 8px 24px -6px rgba(7,25,40,.25);transition:transform .2s var(--ease-ui),opacity .24s var(--ease-ui),visibility 0s}
.pp-wa.neo-apple[name="geral-whatsapp"]:hover{transform:scale(1.04);text-decoration:none}
.pp-wa svg{display:block;width:26px;height:26px}
.pp-wa.is-hidden{opacity:0;pointer-events:none}
.pp-wa.is-hidden:focus-visible{opacity:1;pointer-events:auto}
body[data-mobile-menu-locked="true"] .pp-wa{opacity:0;pointer-events:none;visibility:hidden}
@media (max-width:734px){
  .pp-wa.neo-apple[name="geral-whatsapp"]{right:14px;bottom:14px;width:44px;height:44px}
  .pp-wa svg{width:21px;height:21px}
}

/* ---------- User preferences ---------- */
@media (prefers-reduced-motion:reduce){
  .gn-bar,.gn-item,.gn-fly,.gn-fly li,.gn-fly .gn-head,.gn-fly .gn-small,.gn-curtain,.mm,.mm-list>li,.mb-burger span,.pp-wa.neo-apple[name="geral-whatsapp"]{transition:none!important}
  body[data-mobile-menu-locked="true"] .mb-laudos,body[data-mobile-menu-locked="true"] .mb-search{transition:none}
}
@supports not (backdrop-filter:blur(1px)){
  .gn .gn-bar,.gn .mb,.gn .gn-lang__menu,.pp-wa.neo-apple[name="geral-whatsapp"]{background:var(--glass-solid)}
  .gn .gn-curtain{background:rgba(232,232,237,.86)}
}
@media (prefers-reduced-transparency:reduce){
  .gn .gn-bar,.gn .mb,.gn .gn-lang__menu,.pp-wa.neo-apple[name="geral-whatsapp"]{background:var(--bg-nav);-webkit-backdrop-filter:none;backdrop-filter:none}
  .gn .gn-curtain{background:rgba(232,232,237,.92);-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (prefers-contrast:more){
  .gn .gn-bar,.gn .mb{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 -1px 0 #1d1d1f}
  .gn .gn-fly.is-open{box-shadow:inset 0 -1px 0 #1d1d1f}
  .gn .gn-lang__menu{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 0 0 1px #1d1d1f}
}
@media (forced-colors:active){
  .gn-bar,.mb,.gn-fly.is-open{border-bottom:1px solid CanvasText}
  .gn-lang__menu{border:1px solid CanvasText}
  .mb-burger span{forced-color-adjust:none;background:CanvasText}
  .gn-logo svg,.mb-logo svg{forced-color-adjust:none}
  .pp-wa.neo-apple[name="geral-whatsapp"]{border:1px solid CanvasText}
}
@media print{
  .site-utility-bar,.gn,.mb,.mm,.gn-fly,.gn-curtain,.pp-wa{display:none!important}
}
