/* ZEMTOOLS MASTER HEADER — single source of truth */
*,
*::before,
*::after{-webkit-tap-highlight-color:transparent;}

.site-header{position:sticky!important;top:0!important;z-index:1000!important;background:rgba(255,255,255,.97)!important;border-bottom:1px solid #dfe6ef!important;box-shadow:0 5px 22px rgba(15,23,42,.055)!important;backdrop-filter:saturate(160%) blur(10px)!important}
.site-header .header-inner{max-width:1120px!important;margin:0 auto!important;min-height:64px!important;padding:10px 18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;flex-wrap:nowrap!important}
.site-header .brand{display:flex!important;align-items:center!important;gap:10px!important;flex:0 0 auto!important;min-width:0!important;padding:0!important;color:#0b1220!important;font-size:16px!important;font-weight:850!important;letter-spacing:-.25px!important;text-decoration:none!important;white-space:nowrap!important}
.site-header .brand .brand-mark{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;flex:0 0 38px!important;border-radius:12px!important;background:linear-gradient(135deg,#2563eb,#0ea5e9)!important;color:#fff!important;font-weight:900!important;font-size:18px!important;box-shadow:0 7px 18px rgba(37,99,235,.20)!important}
.site-header .brand>div:last-child{display:block!important}
.site-header .top-nav{display:flex!important;align-items:center!important;gap:4px!important;padding:4px!important;margin:0!important;background:#f7f9fc!important;border:1px solid #e1e7ef!important;border-radius:14px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;flex:1 1 auto!important;min-width:0!important;justify-content:center!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important}
.site-header .top-nav::-webkit-scrollbar{display:none!important}
.site-header .top-nav a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:8px 12px!important;border:1px solid transparent!important;border-radius:10px!important;color:#475569!important;text-decoration:none!important;font-size:12.5px!important;font-weight:780!important;white-space:nowrap!important}
.site-header .top-nav a:hover{background:#fff!important;color:#0b1220!important;border-color:#d7e0eb!important}
.site-header .top-nav a[aria-current="page"]{background:#eaf2ff!important;color:#1d4ed8!important;border-color:#cfe0ff!important}
.site-header .header-actions{display:flex!important;align-items:center!important;gap:7px!important;flex:0 0 auto!important;margin-left:0!important}
.site-header .icon-btn{width:40px!important;height:40px!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid #dbe3ed!important;border-radius:12px!important;background:#fff!important;color:#334155!important;cursor:pointer!important}
.site-header .icon-btn svg{width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.site-header .search-panel{display:none!important;max-width:1120px!important;margin:0 auto!important;padding:0 18px 12px!important}
.site-header .search-panel form{display:flex!important;gap:8px!important;width:100%!important}
.site-header .search-panel input{flex:1!important;min-width:0!important;min-height:44px!important;padding:9px 12px!important;border:1px solid #cbd5e1!important;border-radius:11px!important;background:#fff!important;color:#0b1220!important;font:inherit!important}
.site-header .search-panel button{min-height:44px!important;padding:9px 16px!important;border:1px solid #cbd5e1!important;border-radius:11px!important;background:#fff!important;color:#111827!important;font:inherit!important;cursor:pointer!important}
.site-header .mobile-nav{display:none!important;position:absolute!important;left:12px!important;right:12px!important;top:100%!important;z-index:1001!important;padding:8px!important;background:#fff!important;border:1px solid #dfe6ef!important;border-radius:14px!important;box-shadow:0 12px 28px rgba(15,23,42,.12)!important}
.site-header .mobile-nav a{display:block!important;padding:11px 12px!important;border-radius:9px!important;text-decoration:none!important;color:#334155!important;font-weight:700!important}
.site-header .mobile-nav a:hover,.site-header .mobile-nav a[aria-current="page"]{background:#f1f5f9!important;color:#1d4ed8!important}
@media(max-width:820px){.site-header .header-inner{max-width:none!important;padding:9px 12px!important;gap:8px!important;flex-wrap:nowrap!important}.site-header .brand{order:1!important}.site-header .header-actions{order:2!important;margin-left:auto!important}.site-header .top-nav{display:none!important}.site-header .menu-btn{display:grid!important}.site-header .search-panel{padding:0 12px 10px!important}.site-header .mobile-nav{top:100%!important}}
@media(max-width:650px){.site-header .brand{font-size:15.5px!important}.site-header .brand .brand-mark{width:36px!important;height:36px!important;flex-basis:36px!important;border-radius:11px!important;font-size:17px!important}.site-header .top-nav a{min-height:36px!important;padding:7px 10px!important;font-size:12px!important}.site-header .icon-btn{width:38px!important;height:38px!important}}

/* Remove Android/Chrome tap and non-keyboard focus flash without removing keyboard focus visibility. */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
[role="button"]:focus:not(:focus-visible){outline:none!important;box-shadow:none!important}
a:active,button:active,[role="button"]:active{-webkit-tap-highlight-color:transparent!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(37,99,235,.22)!important;outline-offset:2px!important}

/* Mobile menu reliability */
@media(max-width:820px){.site-header .mobile-nav.is-open{display:grid!important;gap:5px!important}.site-header .mobile-nav{pointer-events:none!important}.site-header .mobile-nav.is-open{pointer-events:auto!important}.site-header .mobile-nav a{display:block!important}}
@media(max-width:820px){
.category-page .site-header .header-inner{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;min-height:64px!important;padding:9px 12px!important}
.category-page .site-header .brand{order:1!important;min-width:0!important;flex:0 0 auto!important}
.category-page .site-header .header-actions{order:2!important;display:flex!important;align-items:center!important;gap:7px!important;margin-left:auto!important;flex:0 0 auto!important}
.category-page .site-header .top-nav{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;overflow:hidden!important}
.category-page .site-header .menu-btn{display:grid!important;visibility:visible!important}
.category-page .site-header .mobile-nav{display:none!important;visibility:hidden!important;position:absolute!important;left:12px!important;right:12px!important;top:100%!important;z-index:1001!important;pointer-events:none!important}
.category-page .site-header .mobile-nav.is-open{display:grid!important;visibility:visible!important;pointer-events:auto!important;gap:5px!important}
.category-page .site-header .mobile-nav.is-open a{display:block!important}}
@media(min-width:821px){.category-page .site-header .menu-btn{display:none!important}.category-page .site-header .mobile-nav{display:none!important}}
@media(max-width:820px){
.tools-page .site-header .mobile-nav.is-open{display:grid!important;visibility:visible!important;position:absolute!important;left:12px!important;right:12px!important;top:100%!important;width:auto!important;max-width:none!important;height:auto!important;max-height:calc(100vh - 82px)!important;overflow-y:auto!important;overflow-x:hidden!important;padding:8px!important;margin:0!important;gap:5px!important;background:#fff!important;background-image:none!important;color:#334155!important;border:1px solid #dfe6ef!important;border-radius:14px!important;box-shadow:0 12px 28px rgba(15,23,42,.12)!important;opacity:1!important;pointer-events:auto!important}
.tools-page .site-header .mobile-nav.is-open::before,.tools-page .site-header .mobile-nav.is-open::after{display:none!important;content:none!important}
.tools-page .site-header .mobile-nav.is-open a{display:block!important;width:100%!important;min-width:0!important;margin:0!important;padding:11px 12px!important;background:#fff!important;background-image:none!important;color:#334155!important;border:1px solid transparent!important;border-radius:9px!important;box-shadow:none!important;text-decoration:none!important}
.tools-page .site-header .mobile-nav.is-open a:hover,.tools-page .site-header .mobile-nav.is-open a:focus-visible,.tools-page .site-header .mobile-nav.is-open a[aria-current="page"]{background:#f1f5f9!important;color:#1d4ed8!important}}

/* 2026-09-22 stability patch: prevent mixed header implementations from competing. */
.tool-page .site-header .brand .brand-copy{display:block!important}
.tool-page .site-header .brand .brand-copy strong{display:none!important}
.tool-page .site-header .brand .brand-copy span{display:none!important}
.tool-page .site-header .brand .brand-mark{font-size:0!important}
.tool-page .site-header .brand .brand-mark::after{content:"Z";font-size:18px!important}
.tool-page .site-header .mobile-nav{pointer-events:none!important}
.tool-page .site-header .mobile-nav.is-open{pointer-events:auto!important}
.tool-page .site-header .search-panel{display:none!important}
.tool-page .site-header .search-panel.open{display:block!important}
.tools-page .tools-header-menu.is-open,.category-page .category-header-menu.is-open,.math-science-page .math-header-menu.is-open,.digital-developer-page .digital-header-menu.is-open{display:grid!important;gap:5px!important}
.tools-page .tools-header-menu,.category-page .category-header-menu,.math-science-page .math-header-menu,.digital-developer-page .digital-header-menu{pointer-events:none!important}
.tools-page .tools-header-menu.is-open,.category-page .category-header-menu.is-open,.math-science-page .math-header-menu.is-open,.digital-developer-page .digital-header-menu.is-open{pointer-events:auto!important}


/* 2026-11-12 final responsive QA overrides — shared category/home pages */
.category-page .site-header .header-inner{position:relative!important;min-width:0!important}
.category-page .wrap{width:100%!important;max-width:900px!important;margin-left:auto!important;margin-right:auto!important;min-width:0!important}
.category-page .wrap>.grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
.category-page .wrap>.grid>.card{min-width:0!important;width:100%!important}
.category-page .category-guide{display:block!important;width:100%!important;min-width:0!important}
.category-page .category-guide>h2,
.category-page .category-guide>p,
.category-page .category-guide>div{width:100%!important;max-width:none!important;min-width:0!important}
.category-page .category-guide-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;width:100%!important}
.category-page .category-guide-grid>*{min-width:0!important}
.category-page .category-guide-grid h3{word-break:normal!important;overflow-wrap:anywhere!important}
.category-page .catalog-sync-card>div{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important}
@media(max-width:820px){
 .category-page .site-header .header-inner{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;min-height:64px!important;padding:9px 12px!important}
 .category-page .site-header .brand{order:1!important;min-width:0!important;flex:0 1 auto!important}
 .category-page .site-header .top-nav{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;overflow:hidden!important}
 .category-page .site-header .header-actions,
 .category-page .site-header [class$="-header-controls"]{display:flex!important;order:2!important;align-items:center!important;gap:7px!important;margin-left:auto!important;flex:0 0 auto!important}
 .category-page .site-header [class$="-header-menu"]{display:none!important;position:absolute!important;left:12px!important;right:12px!important;top:calc(100% + 8px)!important;z-index:1002!important;gap:5px!important;padding:8px!important;background:#fff!important;border:1px solid #dfe6ef!important;border-radius:14px!important;box-shadow:0 12px 28px rgba(15,23,42,.12)!important;pointer-events:none!important}
 .category-page .site-header [class$="-header-menu"].is-open{display:grid!important;pointer-events:auto!important}
 .category-page .site-header [class$="-header-menu"] a{display:block!important;width:100%!important;padding:11px 12px!important;border-radius:9px!important;text-decoration:none!important;color:#334155!important;font-weight:700!important}
}
@media(max-width:760px){
 .category-page .wrap>.grid,
 .category-page .category-guide-grid,
 .category-page .catalog-sync-card>div{grid-template-columns:minmax(0,1fr)!important}
 .category-page .wrap{padding-left:14px!important;padding-right:14px!important}
 .category-page .wrap>.grid>.card{min-height:0!important}
 .category-page .card h2,
 .category-page .card h3{word-break:normal!important;overflow-wrap:anywhere!important}
 .category-page .wrap .button{width:100%!important;justify-content:center!important}
}

/* Math & Science search panel width fix: left/right positioning must not combine with 100% flex width. */
@media(max-width:820px){
 .math-science-page .site-header .math-local-search,
 .math-science-page .math-local-search{
   box-sizing:border-box!important;
   width:auto!important;
   max-width:calc(100vw - 24px)!important;
   min-width:0!important;
   flex:none!important;
   left:12px!important;
   right:12px!important;
   margin:0!important;
 }
}