/* NepalTechHub professional header/navigation — v5.38.14. */
/* =========================================================
       * Phase 15B — Navigation Visual Micro-Polish
       * ---------------------------------------------------------
       * Cumulative on 15A + 15A-1.
       * Presentation layer; current information architecture lives in header-nav.php.
       * =======================================================*/

      /*
       * Keep the header and navigation on the same visual grid as the site's
       * main content. GeneratePress installations can otherwise leave the
       * logo row and nav row with subtly different horizontal padding.
       */
      @media(min-width:769px){
        .site-header .inside-header,
        .main-navigation .inside-navigation{
          width:min(1400px,100%);
          max-width:1400px;
          margin-left:auto;
          margin-right:auto;
          padding-left:18px;
          padding-right:18px;
          box-sizing:border-box;
        }

        .site-header .inside-header{
          min-height:62px;
          padding-top:9px;
          padding-bottom:9px;
        }

        .site-header .site-logo img,
        .site-header .custom-logo{
          max-height:38px;
          width:auto;
        }

        .main-navigation .inside-navigation{
          min-height:54px;
        }

        .main-navigation .main-nav > ul,
        .main-navigation ul#primary-menu{
          min-height:54px;
          gap:3px;
        }

        .main-navigation .nth-nav-direct > a,
        .main-navigation .nth-nav-trigger{
          min-height:40px;
          padding:8px 10px !important;
          border-radius:9px;
          font-size:13px;
          letter-spacing:-.005em;
        }

        .main-navigation .nth-mega-trigger{
          padding-left:12px !important;
          padding-right:12px !important;
          border-color:#dbeafe;
          box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
        }

        .main-navigation .menu-item-nth-login > a{
          min-height:40px;
          padding:8px 15px !important;
          box-shadow:0 5px 14px -8px rgba(29,78,216,.7);
        }

        .main-navigation .nth-account-menu-item > .nth-nav-trigger{
          min-height:40px;
          min-width:84px;
        }

        /*
         * Search is a utility, not the dominant object in the header.
         * Give it a stable responsive width while preserving the auto push
         * to the right side of the navigation row.
         */
        .main-navigation .nth-header-search-li{
          margin-left:auto !important;
          padding-left:12px !important;
          border-left:1px solid #e2e8f0;
        }

        .main-navigation .nth-hsearch{
          width:clamp(210px,22vw,310px);
        }

        .main-navigation .nth-hsearch-input{
          min-height:40px;
          padding-top:9px !important;
          padding-bottom:9px !important;
          background:#f8fafc;
          border-color:#dbe4ef !important;
        }

        .main-navigation .nth-hsearch-input:hover{
          border-color:#cbd5e1 !important;
          background:#fff;
        }

        /*
         * Mega panel: reduce "dashboard" bulk and make the category rows scan
         * more like a professional catalogue index.
         */
        .nth-mega-panel{
          padding:17px 18px 19px;
          border-color:#dfe7f1;
          border-radius:0 0 16px 16px;
          box-shadow:
            0 22px 48px -22px rgba(15,23,42,.30),
            0 8px 18px -16px rgba(15,23,42,.18);
        }

        .nth-mega-inner{
          width:min(1360px,calc(100vw - 36px));
          gap:14px;
        }

        .nth-mega-group{
          margin-bottom:7px;
          color:#64748b;
          font-size:10px;
          letter-spacing:.08em;
        }

        .nth-mega-category-list{
          gap:4px;
        }

        .nth-mega-category-card{
          grid-template-columns:34px minmax(0,1fr) auto;
          gap:8px;
          min-height:49px;
          padding:6px 8px;
          border-radius:10px;
        }

        .nth-mega-category-icon{
          width:34px;
          height:34px;
          border-radius:9px;
        }

        .nth-mega-category-icon svg{
          width:18px;
          height:18px;
        }

        .nth-mega-category-copy strong{
          font-size:12.5px;
        }

        .nth-mega-category-copy small{
          margin-top:1px;
          font-size:9.5px;
          line-height:1.25;
        }

        .nth-mega-quick{
          padding:11px;
          border-radius:12px;
        }

        .nth-mega-quick-link{
          padding:8px 7px;
        }

        .nth-nav-popover{
          width:292px;
          padding:6px;
          border-color:#dfe7f1;
          box-shadow:0 18px 38px -18px rgba(15,23,42,.28);
        }

        .nth-nav-popover-link{
          padding:8px 9px;
        }

        .nth-nav-popover-link strong{
          font-size:12px;
        }

        .nth-nav-popover-link small{
          font-size:10px;
        }
      }

      /*
       * Compact desktop/tablet widths: preserve every first-tier destination,
       * but reduce horizontal pressure before GeneratePress switches to its
       * mobile menu.
       */
      @media(min-width:769px) and (max-width:1180px){
        .site-header .inside-header,
        .main-navigation .inside-navigation{
          padding-left:14px;
          padding-right:14px;
        }

        .main-navigation .nth-nav-direct > a,
        .main-navigation .nth-nav-trigger{
          padding-left:7px !important;
          padding-right:7px !important;
          font-size:12px;
        }

        .main-navigation .nth-mega-trigger{
          padding-left:10px !important;
          padding-right:10px !important;
        }

        .main-navigation .nth-hsearch{
          width:clamp(175px,18vw,215px);
        }

        .nth-mega-inner{
          grid-template-columns:repeat(3,minmax(0,1fr));
          gap:12px;
        }

        .nth-mega-quick{
          min-height:100%;
        }
      }

      /* =========================
       * Mobile drawer polish
       * =======================*/
      @media(max-width:1100px){
        .site-header .inside-header{
          min-height:58px;
          padding:9px 12px;
          box-sizing:border-box;
        }

        .site-header .site-logo img,
        .site-header .custom-logo{
          max-height:34px;
          width:auto;
        }

        .main-navigation .inside-navigation{
          padding-left:0;
          padding-right:0;
        }

        .menu-toggle{
          min-height:42px;
          margin:5px 10px;
          padding:8px 11px !important;
          border:1px solid #e2e8f0 !important;
          background:#fff !important;
          box-shadow:0 3px 10px -8px rgba(15,23,42,.4);
        }

        .nth-mobile-search-li{
          padding:10px 12px 9px;
        }

        .nth-mobile-search-li .nth-hsearch-input{
          min-height:44px;
          padding-top:9px !important;
          padding-bottom:9px !important;
        }

        .nth-mobile-nav-label{
          padding:10px 14px 6px;
          font-size:10px;
        }

        .main-navigation .nth-nav-direct > a,
        .main-navigation .nth-nav-trigger,
        .main-navigation .menu-item-nth-login > a{
          min-height:48px;
          padding:12px 14px !important;
          font-size:14px;
        }

        .nth-mega-inner{
          padding:5px 12px 11px;
        }

        .nth-mega-col{
          margin-bottom:7px;
        }

        .nth-mega-group{
          margin:7px 3px 5px;
          font-size:9.5px;
        }

        .nth-mega-category-list{
          gap:3px;
        }

        .nth-mega-category-card{
          grid-template-columns:30px minmax(0,1fr) auto;
          gap:8px;
          min-height:43px;
          padding:5px 7px;
          border-radius:9px;
        }

        .nth-mega-category-icon{
          width:30px;
          height:30px;
          border-radius:8px;
        }

        .nth-mega-category-icon svg{
          width:17px;
          height:17px;
        }

        .nth-mega-category-copy strong{
          font-size:12.25px;
        }

        .nth-mega-quick{
          padding:8px;
          margin-top:4px;
        }

        .nth-mega-quick-link{
          padding:8px;
        }

        .nth-nav-popover{
          padding:5px 12px 9px !important;
        }

        .nth-nav-popover-link{
          padding:9px 8px;
        }

        .nth-nav-popover-link strong{
          font-size:12.25px;
        }

        .nth-nav-popover-link small{
          font-size:9.75px;
        }

        /*
         * Prevent long category/utility labels from pushing the drawer wider
         * than the viewport.
         */
        .main-navigation .main-nav,
        .main-navigation .main-nav ul,
        .nth-managed-panel,
        .nth-mega-inner,
        .nth-nav-popover{
          max-width:100%;
          box-sizing:border-box;
        }

        .nth-mega-category-copy,
        .nth-nav-popover-link{
          min-width:0;
        }

        .nth-mega-category-copy strong,
        .nth-nav-popover-link strong,
        .nth-nav-popover-link small{
          overflow-wrap:anywhere;
        }
      }

      @media(max-width:380px){
        .site-header .inside-header{
          padding-left:10px;
          padding-right:10px;
        }

        .site-header .site-logo img,
        .site-header .custom-logo{
          max-height:31px;
        }

        .main-navigation .nth-nav-direct > a,
        .main-navigation .nth-nav-trigger,
        .main-navigation .menu-item-nth-login > a{
          padding-left:12px !important;
          padding-right:12px !important;
        }
      }

/* =========================
       * Desktop primary row
       * =======================*/
      .main-navigation .main-nav > ul,
      .main-navigation ul#primary-menu{
        display:flex !important;
        align-items:center;
        flex-wrap:nowrap !important;
        gap:2px;
      }

      .main-navigation .main-nav > ul > li,
      .main-navigation ul#primary-menu > li{
        flex:0 0 auto;
      }

      .main-navigation .nth-nav-direct > a,
      .main-navigation .nth-nav-trigger{
        min-height:42px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:7px;
        padding:9px 11px !important;
        border:0;
        border-radius:9px;
        background:transparent;
        color:var(--ink,#0f172a) !important;
        font:inherit;
        font-size:13.5px;
        font-weight:700;
        line-height:1.2;
        text-decoration:none;
        cursor:pointer;
        white-space:nowrap;
        transition:background .15s ease,color .15s ease;
      }

      .main-navigation .nth-nav-direct > a:hover,
      .main-navigation .nth-nav-trigger:hover,
      .main-navigation .nth-managed-drop.nth-open > .nth-nav-trigger{
        background:var(--nth-accent-soft,#eff6ff);
        color:var(--brand,#1d4ed8) !important;
      }

      .nth-nav-chevron{
        width:7px;
        height:7px;
        border-right:1.7px solid currentColor;
        border-bottom:1.7px solid currentColor;
        transform:rotate(45deg) translateY(-2px);
        transition:transform .16s ease;
      }

      .nth-managed-drop.nth-open > .nth-nav-trigger .nth-nav-chevron{
        transform:rotate(225deg) translate(-1px,-1px);
      }

      /* Products gets a stronger discovery treatment. */
      .main-navigation .nth-mega-trigger{
        padding-left:13px !important;
        padding-right:13px !important;
        border:1px solid #dbeafe;
        border-radius:999px;
        background:#eff6ff;
        color:#1d4ed8 !important;
      }

      .nth-mega-burger{
        display:inline-flex;
        width:14px;
        flex-direction:column;
        gap:3px;
      }
      .nth-mega-burger span{
        display:block;
        width:100%;
        height:1.8px;
        border-radius:2px;
        background:currentColor;
      }
      .nth-mega-burger span:nth-child(2){width:72%}

      /* =========================
       * Products mega panel
       * =======================*/
      .nth-mega-item{position:static !important}

      .nth-managed-panel{
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-5px);
        transition:
          opacity .16s ease,
          transform .16s ease,
          visibility .16s ease;
      }

      .nth-managed-drop.nth-open > .nth-managed-panel{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
      }

      .nth-mega-panel{
        position:absolute;
        left:0;
        right:0;
        top:100%;
        z-index:500;
        padding:20px 22px 22px;
        border:1px solid var(--border,#e2e8f0);
        border-top:0;
        border-radius:0 0 18px 18px;
        background:#fff;
        box-shadow:0 22px 55px -18px rgba(15,23,42,.24);
      }

      .nth-mega-inner{
        width:min(1380px,calc(100vw - 34px));
        margin:0 auto;
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr)) minmax(190px,.85fr);
        gap:18px;
      }

      .nth-mega-col{
        min-width:0;
      }

      .nth-mega-group{
        margin:0 0 9px;
        color:#64748b;
        font-size:10.5px;
        font-weight:900;
        letter-spacing:.075em;
        line-height:1.3;
        text-transform:uppercase;
      }

      .nth-mega-category-list{
        display:grid;
        gap:6px;
      }

      .nth-mega-category-card{
        display:grid;
        grid-template-columns:36px minmax(0,1fr) auto;
        align-items:center;
        gap:9px;
        min-height:54px;
        padding:8px 9px;
        border:1px solid transparent;
        border-radius:11px;
        color:#0f172a !important;
        text-decoration:none;
        transition:background .15s ease,border-color .15s ease,transform .15s ease;
      }

      .nth-mega-category-card:hover,
      .nth-mega-category-card:focus-visible{
        border-color:#dbeafe;
        background:#f8fbff;
        transform:translateY(-1px);
      }

      .nth-mega-category-icon{
        display:grid;
        place-items:center;
        width:36px;
        height:36px;
        border-radius:10px;
        background:#eff6ff;
        color:#2563eb;
      }

      .nth-mega-category-icon svg{
        width:20px;
        height:20px;
      }

      .nth-mega-category-copy{
        min-width:0;
      }

      .nth-mega-category-copy strong{
        display:block;
        color:#0f172a;
        font-size:13px;
        line-height:1.25;
      }

      .nth-mega-category-copy small{
        display:block;
        margin-top:2px;
        color:#64748b;
        font-size:10px;
        line-height:1.25;
      }

      .nth-mega-category-arrow{
        color:#94a3b8;
        font-size:20px;
        line-height:1;
      }

      .nth-mega-quick{
        padding:13px;
        border:1px solid #dbeafe;
        border-radius:13px;
        background:#f8fbff;
      }

      .nth-mega-quick-link{
        display:block;
        padding:9px 8px;
        border-radius:9px;
        text-decoration:none;
      }

      .nth-mega-quick-link:hover,
      .nth-mega-quick-link:focus-visible{
        background:#fff;
      }

      .nth-mega-quick-link strong{
        display:block;
        color:#1d4ed8;
        font-size:12.5px;
      }

      .nth-mega-quick-link small{
        display:block;
        margin-top:2px;
        color:#64748b;
        font-size:10px;
        line-height:1.3;
      }

      /* =========================
       * Phones / Tools / Account popovers
       * =======================*/
      .nth-nav-popover-item{
        position:relative;
      }

      .nth-nav-popover{
        position:absolute;
        top:calc(100% + 7px);
        left:0;
        z-index:510;
        width:310px;
        padding:7px;
        border:1px solid var(--border,#e2e8f0);
        border-radius:13px;
        background:#fff;
        box-shadow:0 18px 42px -15px rgba(15,23,42,.24);
      }

      .nth-tools-menu-item .nth-nav-popover,
      .nth-account-menu-item .nth-nav-popover{
        left:auto;
        right:0;
      }

      .nth-nav-popover-link{
        display:block;
        padding:9px 10px;
        border-radius:9px;
        text-decoration:none;
      }

      .nth-nav-popover-link:hover,
      .nth-nav-popover-link:focus-visible{
        background:#f8fafc;
      }

      .nth-nav-popover-link strong{
        display:block;
        color:#0f172a;
        font-size:12.5px;
        line-height:1.3;
      }

      .nth-nav-popover-link small{
        display:block;
        margin-top:2px;
        color:#64748b;
        font-size:10.5px;
        line-height:1.3;
      }

      .nth-nav-popover-link.nth-nav-danger strong{
        color:#b91c1c;
      }

      /* =========================
       * Header search
       * =======================*/
      .nth-mobile-search-li,
      .nth-mobile-nav-label{
        display:none;
      }

      .nth-header-search-li{
        display:flex;
        align-items:center;
        margin-left:auto !important;
        padding-left:10px;
      }

      .nth-hsearch{
        position:relative;
        display:flex;
        align-items:center;
        width:min(300px,26vw);
      }

      .nth-hsearch-icon{
        position:absolute;
        left:11px;
        width:16px;
        height:16px;
        color:#64748b;
        pointer-events:none;
      }

      .nth-hsearch-input{
        width:100%;
        min-height:40px;
        padding:8px 12px 8px 34px !important;
        border:1px solid var(--border,#e2e8f0) !important;
        border-radius:999px !important;
        background:#f8fafc;
        color:#0f172a;
        font-size:13px;
      }

      .nth-hsearch-input:focus{
        outline:none;
        border-color:#2563eb !important;
        background:#fff;
        box-shadow:0 0 0 3px rgba(37,99,235,.10);
      }

      .nth-hsearch-results{
        position:absolute;
        top:calc(100% + 7px);
        left:0;
        right:0;
        z-index:600;
        max-height:380px;
        overflow-y:auto;
        padding:6px;
        border:1px solid var(--border,#e2e8f0);
        border-radius:12px;
        background:#fff;
        box-shadow:0 18px 40px -14px rgba(15,23,42,.24);
      }

      .nth-hsearch-results[hidden]{display:none}

      .nth-hsr{
        display:flex;
        align-items:center;
        gap:9px;
        padding:8px 9px;
        border-radius:9px;
        text-decoration:none;
      }

      .nth-hsr:hover,
      .nth-hsr:focus{
        background:#eff6ff;
      }

      .nth-hsr img{
        width:38px;
        height:38px;
        object-fit:contain;
        flex:0 0 38px;
      }

      .nth-hsr-body{
        min-width:0;
        flex:1;
      }

      .nth-hsr-title{
        display:block;
        overflow:hidden;
        color:#0f172a;
        font-size:12.5px;
        font-weight:800;
        text-overflow:ellipsis;
        white-space:nowrap;
      }

      .nth-hsr-meta{
        color:#64748b;
        font-size:10.5px;
      }

      .nth-hsr-price{
        flex:0 0 auto;
        color:#047857;
        font-size:12px;
        font-weight:900;
      }

      .nth-hsearch-empty{
        padding:13px;
        color:#64748b;
        font-size:12px;
        text-align:center;
      }

      /* Phase 21E — autocomplete state + keyboard-navigation polish. */
      .nth-hsearch-loading{
        padding:13px;
        color:#64748b;
        font-size:12px;
        font-weight:700;
        text-align:center;
      }

      .nth-hsr.is-active,
      .nth-hsr[aria-selected="true"]{
        background:#eff6ff;
        box-shadow:inset 0 0 0 1px #bfdbfe;
      }

      .nth-hsearch-footer{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        min-height:42px;
        margin-top:5px;
        padding:8px 10px;
        border-top:1px solid #e2e8f0;
        border-radius:0 0 8px 8px;
        color:#1d4ed8 !important;
        font-size:11.5px;
        font-weight:900;
        text-decoration:none;
      }

      .nth-hsearch-footer:hover,
      .nth-hsearch-footer:focus-visible{
        background:#eff6ff;
      }

      .nth-hsearch-results:focus-within{
        border-color:#bfdbfe;
      }

      /* =========================
       * Account
       * =======================*/
      .main-navigation .menu-item-nth-login > a{
        min-height:40px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        padding:8px 15px !important;
        border-radius:999px;
        background:#1d4ed8;
        color:#fff !important;
        font-size:13px;
        font-weight:800;
      }

      .main-navigation .menu-item-nth-login > a:hover{
        background:#1e40af;
      }

      .main-navigation .nth-account-menu-item > .nth-nav-trigger{
        min-width:86px;
        border:1px solid #dbeafe;
      }

      /* Accessible focus */
      .main-navigation .nth-nav-trigger:focus-visible,
      .main-navigation .nth-nav-direct > a:focus-visible,
      .main-navigation .menu-item-nth-login > a:focus-visible,
      .nth-nav-popover-link:focus-visible,
      .nth-mega-category-card:focus-visible,
      .nth-mega-quick-link:focus-visible{
        outline:3px solid rgba(37,99,235,.26);
        outline-offset:2px;
      }

      @media(max-width:1180px) and (min-width:769px){
        .main-navigation .nth-nav-direct > a,
        .main-navigation .nth-nav-trigger{
          padding-left:8px !important;
          padding-right:8px !important;
          font-size:12.5px;
        }

        .nth-hsearch{
          width:min(220px,22vw);
        }

        .nth-mega-inner{
          grid-template-columns:repeat(3,minmax(0,1fr));
        }

        .nth-mega-quick{
          grid-column:auto;
        }
      }

      /* =========================
       * Mobile drawer
       * =======================*/
      @media(max-width:1100px){
        /*
         * v5.02 — Navigation State Hotfix.
         *
         * The managed menu list is intentionally display:block on mobile,
         * but the GeneratePress .main-nav container must still obey the
         * native .toggled state. Explicitly make it a full-width second row
         * so the toggle and an opened drawer can never sit side-by-side.
         */
        .main-navigation .inside-navigation{
          display:flex;
          flex-wrap:wrap;
          width:100%;
        }

        .main-navigation .menu-toggle{
          display:flex !important;
          align-items:center;
          justify-content:center;
          flex:1 1 calc(100% - 20px);
          width:calc(100% - 20px);
          max-width:none;
          box-sizing:border-box;
        }

        .main-navigation .main-nav{
          flex:0 0 100%;
          width:100%;
          max-width:100%;
          order:20;
        }

        .main-navigation:not(.toggled) .main-nav{
          display:none !important;
        }

        .main-navigation.toggled .main-nav{
          display:block !important;
        }

        .main-navigation .main-nav > ul,
        .main-navigation ul#primary-menu{
          display:block !important;
          width:100%;
          margin:0;
        }

        .nth-header-search-li{
          display:none !important;
        }

        .nth-mobile-search-li{
          display:block;
          list-style:none;
          padding:13px 13px 10px;
          border-bottom:1px solid #e2e8f0;
        }

        .nth-mobile-search-li .nth-hsearch{
          width:100%;
        }

        .nth-mobile-search-li .nth-hsearch-input{
          min-height:45px;
          background:#f8fafc;
        }

        .nth-mobile-nav-label{
          display:block;
          padding:13px 14px 7px;
          color:#64748b;
          font-size:10.5px;
          font-weight:900;
          letter-spacing:.08em;
          line-height:1.2;
          text-transform:uppercase;
        }

        .main-navigation .main-nav > ul > li:not(.nth-mobile-search-li):not(.nth-mobile-nav-label),
        .main-navigation ul#primary-menu > li:not(.nth-mobile-search-li):not(.nth-mobile-nav-label){
          border-bottom:1px solid #e2e8f0;
        }

        .main-navigation .nth-nav-direct > a,
        .main-navigation .nth-nav-trigger,
        .main-navigation .menu-item-nth-login > a{
          width:100%;
          min-height:50px;
          justify-content:space-between;
          padding:14px !important;
          border:0;
          border-radius:0;
          background:#fff;
          color:#0f172a !important;
          font-size:14.5px;
          text-align:left;
        }

        .main-navigation .menu-item-nth-login > a{
          margin:0 !important;
        }

        .main-navigation .nth-mega-trigger{
          border:0;
          border-radius:0;
          background:#fff;
        }

        .nth-mega-burger{
          display:none;
        }

        .nth-nav-trigger .nth-nav-chevron{
          margin-left:auto;
        }

        .nth-managed-panel{
          position:static !important;
          width:auto !important;
          max-height:0;
          overflow:hidden;
          padding:0 !important;
          border:0 !important;
          border-radius:0 !important;
          box-shadow:none !important;
          background:#f8fafc;
          opacity:1;
          visibility:visible;
          pointer-events:auto;
          transform:none;
          transition:max-height .22s ease;
        }

        .nth-managed-drop.nth-open > .nth-managed-panel{
          max-height:2200px;
        }

        .nth-mega-inner{
          width:auto;
          display:block;
          padding:8px 13px 14px;
        }

        .nth-mega-col{
          margin-bottom:11px;
        }

        .nth-mega-group{
          margin:10px 3px 6px;
          font-size:10px;
        }

        .nth-mega-category-list{
          gap:4px;
        }

        .nth-mega-category-card{
          grid-template-columns:32px minmax(0,1fr) auto;
          min-height:47px;
          padding:6px 7px;
          background:#fff;
        }

        .nth-mega-category-icon{
          width:32px;
          height:32px;
        }

        .nth-mega-category-icon svg{
          width:18px;
          height:18px;
        }

        .nth-mega-category-copy strong{
          font-size:12.5px;
        }

        .nth-mega-category-copy small{
          display:none;
        }

        .nth-mega-quick{
          padding:9px;
          background:#eff6ff;
        }

        .nth-mega-quick-link{
          background:#fff;
        }

        .nth-nav-popover{
          padding:7px 13px 11px !important;
        }

        .nth-nav-popover-link{
          padding:10px 9px;
          background:#fff;
          border-bottom:1px solid #eef2f7;
        }

        .nth-nav-popover-link:last-child{
          border-bottom:0;
        }

        .nth-nav-popover-link strong{
          font-size:12.5px;
        }

        .nth-nav-popover-link small{
          font-size:10px;
        }

        .menu-toggle{
          min-height:42px;
          border-radius:10px !important;
        }
      }

      /* Phase 21A-2.1 — compact drawer open-state containment.
       * Requested-desktop-site screenshots proved that the closed state was
       * fixed but the expanded drawer could still inherit desktop/pill sizing
       * from GeneratePress and the account CTA. Force one full-width stacked
       * geometry for every compact breakpoint.
       */
      @media(max-width:1100px){
        .main-navigation.toggled .main-nav{
          margin-top:8px;
          overflow:hidden;
          border:1px solid #e2e8f0;
          border-radius:14px;
          background:#fff;
          box-shadow:0 10px 28px rgba(15,23,42,.06);
        }

        .main-navigation .main-nav > ul > li,
        .main-navigation ul#primary-menu > li{
          display:block !important;
          float:none !important;
          width:100% !important;
          max-width:100% !important;
          min-width:0 !important;
          min-height:0 !important;
          height:auto !important;
          margin:0 !important;
          box-sizing:border-box;
        }

        .main-navigation .nth-nav-direct > a,
        .main-navigation .nth-nav-trigger,
        .main-navigation .menu-item-nth-login > a{
          display:flex !important;
          width:100% !important;
          max-width:none !important;
          min-width:0 !important;
          min-height:50px !important;
          height:auto !important;
          margin:0 !important;
          padding:14px !important;
          border:0 !important;
          border-radius:0 !important;
          box-shadow:none !important;
          background:#fff !important;
          color:#0f172a !important;
          line-height:1.35 !important;
          white-space:normal !important;
          text-align:left !important;
          box-sizing:border-box;
        }

        .main-navigation .menu-item-nth-login,
        .main-navigation .nth-account-menu-item{
          width:100% !important;
          max-width:100% !important;
        }

        .main-navigation .nth-mobile-search-li{
          width:100% !important;
          max-width:100% !important;
          min-width:0 !important;
          box-sizing:border-box;
        }

        .main-navigation .nth-mobile-search-li .nth-hsearch{
          display:block !important;
          width:100% !important;
          max-width:100% !important;
          min-width:0 !important;
        }

        .main-navigation .nth-mobile-search-li .nth-hsearch-input{
          width:100% !important;
          max-width:100% !important;
          min-width:0 !important;
          box-sizing:border-box;
        }

        .main-navigation .nth-account-menu-item > .nth-nav-trigger{
          width:100% !important;
          max-width:100% !important;
          border-radius:0 !important;
        }
      }

      /* Phase 21A-2 — tablet / requested-desktop-site safety.
       * A ~980px CSS viewport is too narrow for the full first-tier row.
       * Keep one deterministic drawer breakpoint so labels/search/account
       * never clip or force horizontal overflow. Full desktop starts at 1101px.
       */
      @media(min-width:769px) and (max-width:1100px){
        .main-navigation .inside-navigation{
          overflow:visible;
        }
        .main-navigation .menu-toggle{
          display:flex !important;
          visibility:visible !important;
        }
        .main-navigation:not(.toggled) .main-nav{
          display:none !important;
        }
        .main-navigation.toggled .main-nav{
          display:block !important;
        }
      }

      @media(prefers-reduced-motion:reduce){
        .nth-managed-panel,
        .nth-nav-chevron,
        .nth-mega-category-card{
          transition:none !important;
        }
      }

:root{
        /* v5.38.7: keep the persistent header on the same 1400px catalogue shell. */
        --nth-shell-max:1400px;
        --nth-shell-pad:clamp(14px,2vw,24px);
        --nth-header-border:#e2e8f0;
        --nth-header-ink:#0f172a;
        --nth-header-muted:#64748b;
        --nth-header-accent:#2563eb;
        --nth-nav-sticky-top:0px;
      }

      html{scroll-padding-top:82px}

      /* Keep the global shell from becoming a horizontal-scroll source. */
      .site-header,
      .site-header .inside-header,
      .main-navigation,
      .main-navigation .inside-navigation,
      .main-navigation .main-nav,
      .main-navigation ul#primary-menu{
        min-width:0;
        max-width:100%;
        box-sizing:border-box;
      }

      .site-header{
        border-bottom:1px solid rgba(226,232,240,.72);
        background:#fff;
      }

      .site-header .inside-header,
      .main-navigation .inside-navigation{
        width:min(100%,var(--nth-shell-max));
        margin-inline:auto;
        padding-inline:var(--nth-shell-pad);
      }

      .site-header .site-logo,
      .site-header .site-branding{
        min-width:0;
      }

      .site-header .site-logo img,
      .site-header .custom-logo{
        display:block;
        width:auto;
        max-width:min(100%,230px);
        height:auto;
      }

      /* Sticky navigation, while leaving the branding row free to scroll away.
       * This keeps the persistent chrome compact on product-heavy pages. */
      .main-navigation{
        position:sticky;
        top:var(--nth-nav-sticky-top);
        z-index:1100;
        border-bottom:1px solid var(--nth-header-border);
        background:rgba(255,255,255,.97);
        box-shadow:0 1px 0 rgba(15,23,42,.02);
        -webkit-backdrop-filter:saturate(150%) blur(10px);
        backdrop-filter:saturate(150%) blur(10px);
      }

      .main-navigation.nth-nav-scrolled{
        box-shadow:0 8px 24px rgba(15,23,42,.08);
      }

      .main-navigation .menu-toggle,
      .main-navigation .nth-nav-direct>a,
      .main-navigation .nth-nav-trigger,
      .main-navigation .menu-item-nth-login>a{
        min-height:44px;
      }

      .main-navigation a,
      .main-navigation button,
      .nth-hsearch-input{
        -webkit-tap-highlight-color:transparent;
        touch-action:manipulation;
      }

      .main-navigation a:focus-visible,
      .main-navigation button:focus-visible,
      .nth-hsearch-input:focus-visible,
      .nth-hsr:focus-visible{
        outline:3px solid rgba(37,99,235,.25) !important;
        outline-offset:2px;
      }

      /* Compare/Wishlist counters are progressive-enhancement utilities.
       * JS derives the count from the already-authoritative local state. */
      .nth-nav-utility-anchor{
        display:inline-flex !important;
        align-items:center;
        gap:7px;
      }

      .nth-nav-count{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-width:20px;
        height:20px;
        padding:0 6px;
        border-radius:999px;
        background:#e2e8f0;
        color:#334155;
        font-size:11px;
        font-weight:800;
        line-height:1;
        font-variant-numeric:tabular-nums;
        flex:0 0 auto;
      }

      .nth-nav-count[data-count]:not([data-count="0"]){
        background:#dbeafe;
        color:#1d4ed8;
      }

      .nth-tools-menu-item .nth-nav-popover-link.nth-nav-wishlist-link{
        position:relative;
      }

      .nth-tools-menu-item .nth-nav-popover-link.nth-nav-wishlist-link .nth-nav-count{
        margin-left:auto;
      }

      /* Managed panels should not be clipped by narrow viewport edges. */
      .nth-managed-panel:not(.nth-mega-panel){
        max-width:min(360px,calc(100vw - 24px));
      }

      .nth-mega-panel{
        max-width:none;
      }

      .nth-nav-popover{
        max-width:min(360px,calc(100vw - 24px));
      }

      .nth-hsearch-results{
        max-width:min(520px,calc(100vw - 24px));
      }

      /* Give global fixed utilities enough separation from navigation/focus. */
      .generate-back-to-top{
        min-width:44px;
        min-height:44px;
        border-radius:999px;
        box-shadow:0 8px 24px rgba(15,23,42,.18);
      }

      @media (max-width:1100px){
        .site-header .inside-header,
        .main-navigation .inside-navigation{
          width:100%;
          padding-inline:clamp(12px,3.5vw,20px);
        }

        .main-navigation{
          -webkit-backdrop-filter:none;
          backdrop-filter:none;
        }

        .main-navigation .menu-toggle{
          min-width:44px;
          min-height:44px;
          margin-block:6px;
        }

        .main-navigation.toggled .main-nav{
          max-height:min(74vh,680px);
          overflow-y:auto !important;
          overscroll-behavior:contain;
          scrollbar-gutter:stable;
          -webkit-overflow-scrolling:touch;
        }

        .main-navigation.toggled ul#primary-menu{
          padding-bottom:max(12px,env(safe-area-inset-bottom));
        }

        .main-navigation .nth-mobile-search-li{
          position:sticky;
          top:0;
          z-index:4;
          background:#fff;
          border-bottom:1px solid #eef2f7;
        }

        .main-navigation .nth-mobile-search-li .nth-hsearch{
          margin:0;
        }

        .main-navigation .nth-nav-direct>a,
        .main-navigation .nth-nav-trigger,
        .main-navigation .menu-item-nth-login>a{
          min-height:48px !important;
        }

        .main-navigation .nth-nav-popover-link,
        .main-navigation .nth-mega-category-card,
        .main-navigation .nth-mega-quick-link{
          min-height:44px;
        }

        .nth-managed-panel,
        .nth-mega-panel,
        .nth-nav-popover{
          max-width:100%;
          transform:none !important;
        }
      }

      @media (max-width:767px){
        html{scroll-padding-top:68px}

        .site-header .inside-header{
          min-height:58px;
        }

        .site-header .site-logo img,
        .site-header .custom-logo{
          max-height:42px;
          max-width:190px;
        }

        .main-navigation .inside-navigation{
          padding-inline:12px;
        }

        .main-navigation.toggled .main-nav{
          margin-top:6px;
          border-radius:12px;
          max-height:calc(100svh - 126px);
        }

        .nth-nav-count{
          min-width:22px;
          height:22px;
          font-size:11px;
        }
      }

      @media (max-width:389px){
        .site-header .site-logo img,
        .site-header .custom-logo{
          max-width:168px;
        }
      }

      @media (min-width:1101px){
        .main-navigation .inside-navigation{
          min-height:58px;
        }

        .main-navigation ul#primary-menu{
          width:100%;
          align-items:center;
        }

        .main-navigation .nth-header-search-li{
          margin-left:auto !important;
          min-width:0;
        }

        .main-navigation .nth-hsearch{
          width:clamp(180px,16vw,260px);
        }
      }

      @media (prefers-reduced-motion:reduce){
        .main-navigation,
        .nth-nav-count,
        .generate-back-to-top{
          transition:none !important;
          scroll-behavior:auto !important;
        }
      }

:root{--nth21g-fixed-stack:0px}

      /* Flex/grid children across the shared site shell must be allowed to
         shrink instead of making the document wider than the viewport. */
      :where(.site-content,.content-area,.site-main,.inside-article,.widget-area,.site-footer){min-width:0}
      :where(.site-content,.site-footer) :where(img,svg,video){max-width:100%}
      :where(.site-content,.site-footer) pre{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}

      /* Final keyboard-focus fallback. Component-specific focus treatments
         remain free to override this with a stronger selector. */
      :where(.site-header,.site-content,.site-footer)
      :where(a,button,input,select,textarea,summary,[role="button"],[tabindex]:not([tabindex="-1"])):focus-visible{
        outline:3px solid #2563eb;
        outline-offset:3px;
      }

      /* Sticky header-safe anchor landing for generic pages. Product/Compare
         components already provide their own more specific offsets. */
      :where(.site-main,.site-content) :where(h2,h3,h4,section)[id]{scroll-margin-top:84px}

      /* The informational cookie notice is the only other global fixed-bottom
         utility in the supplied frontend. Keep it above the measured product /
         compare action stack rather than covering decision controls. */
      #nth-cookie-consent.nth-cookie-banner{
        bottom:calc(12px + var(--nth21g-fixed-stack,0px))!important;
        max-width:min(560px,calc(100vw - 24px))!important;
        max-height:calc(100svh - var(--nth21g-fixed-stack,0px) - 24px);
        overflow:auto;
        overscroll-behavior:contain;
      }
      #nth-cookie-consent .nth-cookie-btn{
        min-height:44px!important;
        touch-action:manipulation;
      }
      #nth-cookie-consent :where(a,.nth-cookie-btn):focus-visible{
        outline:3px solid #93c5fd!important;
        outline-offset:3px!important;
      }

      @media (max-width:480px){
        #nth-cookie-consent.nth-cookie-banner{
          left:10px!important;
          right:10px!important;
          bottom:calc(10px + var(--nth21g-fixed-stack,0px))!important;
          max-width:calc(100vw - 20px)!important;
          max-height:calc(100svh - var(--nth21g-fixed-stack,0px) - 20px);
        }
      }

      @media (forced-colors:active){
        :where(.site-header,.site-content,.site-footer)
        :where(a,button,input,select,textarea,summary,[role="button"],[tabindex]:not([tabindex="-1"])):focus-visible{
          outline:2px solid Highlight;
        }
      }

      @media (prefers-reduced-motion:reduce){
        html:focus-within{scroll-behavior:auto!important}
        :where(.site-header,.site-content,.site-footer) *{scroll-behavior:auto!important}
      }
