/* Shared sticky header and compact quick access. */
header.ns-header { position:sticky !important; top:0 !important; z-index:1040; width:100%; }
.ns-header-quick { position:relative; flex:none; direction:rtl; font-family:inherit; }
.ns-header-quick summary { display:flex; align-items:center; gap:7px; min-height:44px; padding:8px 12px; border:1px solid #c6e2d3; border-radius:12px; background:#f2faf4; color:#145d40; font:inherit; font-size:13px; cursor:pointer; list-style:none; }
.ns-header-quick summary::-webkit-details-marker { display:none; }
.ns-header-quick summary:focus-visible { outline:3px solid #143f30; outline-offset:3px; }
.ns-header-quick[open] summary { background:#dcefe1; }
.ns-header-quick nav { position:absolute; top:calc(100% + 10px); left:0; width:230px; padding:8px; background:#f6faf4; border:1px solid #bfd8c7; border-radius:14px; box-shadow:0 8px 24px #153d3026; display:grid; gap:6px; z-index:2; }
.ns-header-quick:not([open]) nav { display:none; }
.ns-header-quick nav a { display:flex; align-items:center; gap:10px; min-height:46px; padding:10px; border-radius:9px; color:#17583f; font:inherit; font-size:13px; text-decoration:none; }
.ns-header-quick nav a:hover { background:#e2efe1; }
.ns-header-quick nav i { font-size:22px; }
.ns-menu-quick-mobile { display:none; }
@media(max-width:768px) {
 .ns-header-quick { display:none; }
 .ns-menu-quick-mobile { display:block; }
 header.ns-header .ns-header-mobile,
 header.ns-header.ns-header-compact .ns-header-mobile { padding:6px 10px !important; min-height:68px !important; height:auto !important; }
 .ns-header .ns-header-mobile > form { position:relative !important; min-height:56px !important; padding:0 !important; }
 .ns-header.ns-header-compact .ns-header-mobile > form > .ns-header-site-brand { display:flex !important; align-items:center; justify-content:center; }
 .ns-header .ns-header-mobile .headerPage,
 .ns-header.ns-header-compact .ns-header-mobile .headerPage { min-height:56px !important; height:56px !important; margin:0 !important; padding:0 !important; }
 .ns-header .ns-header-mobile .headerPage > .ns-header-brand { display:flex !important; align-items:center !important; justify-content:space-between !important; width:100% !important; min-height:56px !important; padding:0 !important; }
 .ns-header .ns-header-mobile .headerPage > .ns-header-brand > button { display:flex !important; align-items:center !important; justify-content:center !important; margin:0 !important; transform:none !important; }
}
