/* One header for generated pages and historical production templates. */
:root { --cab-header-height:80px; --cab-section-height:0px; }
body[data-cab-shell] { margin-top:0!important; padding-top:0!important; }
html:has([data-cab-shell]) { scroll-padding-top:calc(var(--cab-header-height) + var(--cab-section-height) + 16px); }
.site-header[data-cab-header] { position:sticky!important; inset:0 0 auto!important; width:100%!important; margin:0!important; padding:0!important; border:0!important; z-index:3000!important; transform:none!important; color:#fff!important; background:linear-gradient(115deg,#08131f,#0d2942 65%,#164f7b)!important; box-shadow:0 6px 24px #08131f24!important; backdrop-filter:none!important; font:500 14px/1.4 Manrope,Inter,"Segoe UI",Arial,sans-serif; }
.site-header[data-cab-header]::before { display:none!important; }
.site-header[data-cab-header]::after { content:""; position:absolute; inset:auto 0 0; height:2px; background:linear-gradient(90deg,#164f7b,#55d5ff,#164f7b); animation:none; }
[data-cab-header] *, [data-cab-header] *::before, [data-cab-header] *::after { box-sizing:border-box; }
[data-cab-header] .cab-header-inner { display:flex; align-items:center; gap:24px; min-height:80px; width:min(1480px,100%); margin:auto; padding:12px 28px; }
[data-cab-header] .cab-header-brand { display:flex; flex:0 0 auto; align-items:center; gap:12px; min-width:0; margin-right:auto; color:#fff; }
[data-cab-header] .cab-header-logo { display:flex; flex:0 0 auto; align-items:center; border-radius:8px; }
[data-cab-header] .cab-header-brand img { display:block; flex:0 0 60px; width:60px; height:44px; object-fit:contain; }
[data-cab-header] .cab-header-title { flex:0 0 auto; font-size:16px; font-weight:800; line-height:1.25; letter-spacing:-.02em; white-space:nowrap; }
[data-cab-header] .cab-header-nav { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; margin:0; }
[data-cab-header] .cab-header-nav a, [data-cab-header] .cab-header-nav summary { display:flex; align-items:center; gap:8px; min-height:44px; margin:0; padding:10px 12px; border:0; border-radius:10px; color:#e0edf5; background:none; font:inherit; text-decoration:none; white-space:nowrap; cursor:pointer; list-style:none; }
[data-cab-header] .cab-header-nav summary::-webkit-details-marker { display:none; }
[data-cab-header] .cab-header-nav summary::after { content:""; display:block; width:7px; height:7px; margin:0 3px 3px 6px; border-right:2px solid #55d5ff; border-bottom:2px solid #55d5ff; transform:rotate(45deg); }
[data-cab-header] .cab-header-group[open]>summary::after { transform:rotate(225deg); margin-top:5px; margin-bottom:0; }
[data-cab-header] .cab-header-group { position:static; }
[data-cab-header] .cab-header-nav a:hover, [data-cab-header] .cab-header-nav summary:hover, [data-cab-header] .cab-header-nav a.is-active, [data-cab-header] .cab-header-group.is-active>summary, [data-cab-header] .cab-header-group[open]>summary { background:#1b547b; color:#fff; text-decoration:none; }
[data-cab-header] .cab-header-dropdown { position:absolute; top:100%; left:50%; transform:translateX(-50%); display:grid; width:min(1040px,calc(100% - 48px)); min-width:0; max-height:calc(100dvh - var(--cab-header-height) - 24px); overflow:auto; padding:24px; border:1px solid #365b76; border-top:2px solid #55d5ff; border-radius:0 0 16px 16px; background:#0d2942; box-shadow:0 16px 32px #08131f40; }
[data-cab-header] .cab-header-dropdown a { white-space:normal; }
[data-cab-header] .cab-menu-top { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:14px; margin-bottom:18px; border-bottom:1px solid #365b76; }
[data-cab-header] .cab-menu-top>span { font-size:18px; font-weight:800; color:#fff; }
[data-cab-header] .cab-menu-top>a { border:1px solid #55d5ff66; color:#8cddfa; }
[data-cab-header] .cab-menu-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
[data-cab-header] .cab-menu-columns>section { min-width:0; }
[data-cab-header] .cab-menu-heading { margin:0 12px 8px; color:#8cddfa; font-size:12px; font-weight:700; line-height:1.5; letter-spacing:.05em; }
[data-cab-header] .cab-header-login { display:flex; flex:0 0 auto; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border:1px solid #ffffff50; border-radius:10px; background:#ffffff0d; color:#fff; font:700 14px/1.4 Manrope,Inter,"Segoe UI",Arial,sans-serif; text-decoration:none; }
[data-cab-header] .cab-header-login:hover { border-color:#55d5ff; background:#164f7b; }
[data-cab-header] .cab-header-login svg, [data-cab-header] .cab-header-toggle svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
[data-cab-header] .cab-header-toggle, [data-cab-header] .cab-header-nav .cab-header-mobile-login { display:none; }
[data-cab-header] a:focus-visible, [data-cab-header] summary:focus-visible, [data-cab-header] button:focus-visible { outline:3px solid #55d5ff; outline-offset:3px; }
body[data-cab-shell]>.skip { position:fixed; left:-9999px; }
body[data-cab-shell]>.skip:focus { top:8px; left:8px; z-index:4000; padding:8px 12px; background:#fff; color:#08131f; }
@media (max-width:1200px) and (min-width:1101px) {
  [data-cab-header] .cab-header-inner { gap:12px; padding-inline:20px; }
  [data-cab-header] .cab-header-nav>a, [data-cab-header] .cab-header-nav summary { padding-inline:8px; }
}
@media (max-width:1100px) {
  :root { --cab-header-height:64px; }
  html:has([data-cab-shell]), body[data-cab-shell] { max-width:100%; overflow-x:clip!important; }
  [data-cab-header] .cab-header-inner { gap:12px; min-height:64px; padding:10px 16px; }
  [data-cab-header] .cab-header-brand { flex:1 1 auto; gap:8px; }
  [data-cab-header] .cab-header-brand img { width:46px; height:34px; flex-basis:46px; }
  [data-cab-header] .cab-header-title { font-size:clamp(10px,3vw,14px); letter-spacing:-.03em; }
  [data-cab-header] .cab-header-toggle { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:9px; border:1px solid #ffffff50; border-radius:10px; background:#ffffff0d; color:#fff; cursor:pointer; }
  [data-cab-header] .cab-header-toggle[aria-expanded="true"] { background:#1b547b; border-color:#55d5ff; }
  [data-cab-header] .cab-header-login { display:none; }
  [data-cab-header] .cab-header-nav { display:none; position:absolute; top:100%; left:0; right:0; max-height:calc(100dvh - var(--cab-header-height) - 96px); max-height:calc(100svh - var(--cab-header-height) - 96px); margin:0; padding:12px 16px 16px; overflow:auto; overscroll-behavior:contain; border-bottom:1px solid #365b76; border-radius:0 0 16px 16px; background:#0d2942; box-shadow:0 16px 32px #08131f40; }
  [data-cab-header] .cab-header-nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:4px; }
  [data-cab-header] .cab-header-nav a, [data-cab-header] .cab-header-nav summary { min-height:46px; justify-content:space-between; white-space:normal; }
  [data-cab-header] .cab-header-dropdown { position:static; width:auto; min-width:0; max-height:none; overflow:visible; transform:none; margin:4px 0 8px 12px; padding:10px; border:0; border-left:2px solid #55d5ff80; border-radius:0 10px 10px 0; background:#ffffff08; box-shadow:none; }
  [data-cab-header] .cab-menu-top { margin-bottom:14px; padding-bottom:10px; }
  [data-cab-header] .cab-menu-top>span { display:none; }
  [data-cab-header] .cab-menu-top>a { width:100%; }
  [data-cab-header] .cab-menu-columns { grid-template-columns:1fr; gap:16px; }
  [data-cab-header] .cab-menu-heading { margin-inline:12px; }
  [data-cab-header] .cab-header-nav .cab-header-mobile-login { display:flex; margin-top:8px; border:1px solid #55d5ff80; color:#fff; }
}
@media (max-width:360px) {
  [data-cab-header] .cab-header-inner { gap:8px; padding-inline:10px; }
  [data-cab-header] .cab-header-brand { gap:7px; }
  [data-cab-header] .cab-header-brand img { width:40px; flex-basis:40px; }
}
/* The section toolbar follows the real header height and stays in document flow. */
.cab-section-bar, .cab-section-close { display:none; }
@media (max-width:992px) {
  body[data-cab-shell] .cab-section-bar { display:block; position:sticky; top:var(--cab-header-height); z-index:2500; margin:0; padding:8px 16px; background:#edf4f8; border-bottom:1px solid #d5e3eb; }
  body[data-cab-shell] .cab-section-bar .mobile-sidebar-toggle { position:static; display:flex; align-items:center; justify-content:space-between; width:100%; min-height:44px; margin:0; padding:10px 14px; transform:none; box-shadow:none; }
  body[data-cab-shell] .cab-section-bar .mobile-sidebar-toggle::before { content:none; }
  .mobile-sidebar-toggle::after { content:"+"; color:#55d5ff; font-size:22px; }
  .mobile-sidebar-toggle[aria-expanded="true"]::after { content:"−"; }
  body[data-cab-shell] .sidebar#about-sidebar { top:calc(var(--cab-header-height) + var(--cab-section-height))!important; bottom:0!important; z-index:2400!important; padding-bottom:calc(100px + env(safe-area-inset-bottom))!important; }
  body[data-cab-shell] .about-sidebar-backdrop { inset:calc(var(--cab-header-height) + var(--cab-section-height)) 0 0; z-index:2300; }
  body[data-cab-shell] .cab-section-close { display:block; min-height:44px; margin:0 0 12px auto; padding:8px 14px; border:1px solid #55d5ff80; border-radius:10px; background:transparent; color:#fff; font:inherit; cursor:pointer; }
  html.cab-section-open { overflow:hidden!important; }
  body[data-cab-shell] .cab-section-bar a:focus-visible, body[data-cab-shell] .cab-section-bar button:focus-visible, #about-sidebar button:focus-visible { outline:3px solid #55d5ff; outline-offset:2px; }
}
/* Keep the existing four mobile shortcuts usable on generated pages too. */
body[data-cab-shell] .cab-mobile-bottom-nav { display:none; }
@media (max-width:992px) {
  body[data-cab-shell] { padding-bottom:calc(82px + env(safe-area-inset-bottom))!important; }
  body[data-cab-shell] .cab-mobile-bottom-nav { position:fixed; z-index:1200; left:12px!important; right:12px!important; width:auto!important; max-width:none!important; transform:none!important; margin:0!important; box-sizing:border-box!important; bottom:max(10px,env(safe-area-inset-bottom)); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); min-height:60px; padding:5px; border:1px solid #55d5ff66; border-radius:18px; background:#081b2df0; box-shadow:0 12px 32px #030c1652; backdrop-filter:blur(14px); }
  body[data-cab-shell] .cab-bottom-nav__item { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:0; min-height:50px; border-radius:13px; color:#d8e8f5; text-decoration:none; font:700 10px/1.1 Manrope,Arial,sans-serif; }
  body[data-cab-shell] .cab-bottom-nav__item svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  body[data-cab-shell] .cab-bottom-nav__item--support { background:linear-gradient(135deg,#176ba2,#1daddb); color:#fff; }
  body[data-cab-shell] .cab-bottom-nav__item--cart { position:relative; }
  body[data-cab-shell] .cab-cart-count { position:absolute; top:2px; right:3px; display:grid; place-items:center; min-width:17px; height:17px; padding:0 4px; border:2px solid #0b2339; border-radius:999px; background:#55d5ff; color:#082038; font-size:10px; line-height:1; }
  body[data-cab-shell] .cab-cart-count[hidden] { display:none; }
}
@media print { .site-header[data-cab-header], .cab-section-bar, .cab-mobile-bottom-nav { display:none!important; } }
