
/* Products mega menu */
.nav-dropdown-products{position:relative}
.products-nav-toggle{border:0;background:transparent;color:inherit;font-weight:inherit;padding:0;display:inline-flex;align-items:center;gap:8px;position:relative;height:100%}
.products-nav-toggle::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--blue);transition:.25s}
.products-nav-toggle:hover::after,.products-nav-toggle.active::after,.nav-dropdown-products.open .products-nav-toggle::after{right:0}
.products-menu-panel{width:min(1120px,calc(100vw - 60px));left:50%;top:calc(100% + 12px);transform:translate(-50%,12px) scale(.97);grid-template-columns:1fr!important;padding:0!important;overflow:hidden}
.nav-dropdown-products:hover .products-menu-panel,.nav-dropdown-products.open .products-menu-panel{transform:translate(-50%,0) scale(1)}
.products-menu-top{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#f7fbff,#fff)}
.products-menu-tab{border:0;background:transparent;padding:12px 8px;font-weight:800;color:#586880;position:relative}
.products-menu-tab::after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:.2s}
.products-menu-tab.active{color:#07122c}.products-menu-tab.active::after{transform:scaleX(1)}
.products-menu-explore{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:999px;background:#edf4fb;color:#0a5b9d;font-size:.86rem;font-weight:800}
.products-menu-body{display:grid;grid-template-columns:230px 1fr;min-height:430px}
.products-menu-sidebar{display:none;padding:18px 14px;background:#fbfcfe;border-right:1px solid var(--line);gap:6px;align-content:start}
.products-menu-sidebar.active{display:grid}
.products-menu-category{border:0;background:transparent;text-align:left;padding:13px 14px;border-radius:14px;font-weight:700;color:#485978}
.products-menu-category.active,.products-menu-category:hover{background:#eef4fb;color:#07122c}
.products-menu-content{padding:24px 26px;background:#fff}
.products-menu-section{display:none}
.products-menu-section.active{display:block}
.products-menu-section h3{margin:0 0 18px;font-size:2rem;letter-spacing:-.04em}
.products-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.products-menu-item{display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:start;padding:16px 18px;border-radius:18px;border:1px solid transparent;transition:.2s}
.products-menu-item:hover{background:#f4f8fd;border-color:#dbe6f2;transform:translateY(-1px)}
.products-menu-item img{width:58px;height:58px;object-fit:contain}
.products-menu-item b{display:block;font-size:1.05rem;margin-bottom:4px}
.products-menu-item small{display:block;color:#64748b;line-height:1.45;font-size:.82rem}
.mobile-products-menu{display:block}
.mobile-products-menu summary{list-style:none;cursor:pointer}
.mobile-products-menu summary::-webkit-details-marker{display:none}
.mobile-products-groups{display:grid;gap:18px;padding-top:16px;font-size:1rem}
.mobile-products-group{display:grid;gap:9px}
.mobile-products-group strong{font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;color:#8fdcff}
.mobile-products-group a,.mobile-products-all{font-size:1rem;color:#fff;opacity:.92}
.mobile-products-all{display:inline-flex;margin-top:2px;color:#9edfff;font-weight:700}
@media(max-width:1080px){.nav-dropdown-products{display:none}}
@media(max-width:980px){.products-menu-panel{width:min(960px,calc(100vw - 30px))}.products-menu-grid{grid-template-columns:1fr}.products-menu-body{grid-template-columns:210px 1fr}}
body[dir=rtl] .products-menu-explore{margin-left:0;margin-right:auto}
body[dir=rtl] .products-menu-sidebar{border-right:0;border-left:1px solid var(--line)}
body[dir=rtl] .products-menu-category{text-align:right}
body[dir=rtl] .products-menu-panel{left:auto;right:50%;transform:translate(50%,12px) scale(.97)}
body[dir=rtl] .nav-dropdown-products:hover .products-menu-panel,body[dir=rtl] .nav-dropdown-products.open .products-menu-panel{transform:translate(50%,0) scale(1)}

/* v27: equal visual sizing for the three approved family lockups on homepage. */
.showcase-icon-family{padding:5px!important}
.showcase-icon-family img{max-height:110px!important;max-width:108%!important;width:auto!important;height:auto!important;object-fit:contain!important}
/* Compact symbols should match the visual footprint of all other product icons. */
.products-menu-item img[src*="product-inventory-icon"],
.products-menu-item img[src*="product-projects-icon"],
.products-menu-item img[src*="product-care-icon"],
.product-top>img[src*="product-inventory-icon"],
.product-top>img[src*="product-projects-icon"],
.product-top>img[src*="product-care-icon"]{object-fit:contain!important;transform:none!important}
/* Products page now begins directly with the configurator after the hero. */
.product-hub-hero{padding-bottom:64px!important}
#configure-stack{scroll-margin-top:110px}

/* v49: keep the Products mega-menu fully inside the viewport. */
@media (min-width:1081px){
  .products-menu-panel{
    position:fixed!important;
    left:50vw!important;
    right:auto!important;
    top:98px!important;
    width:min(1180px,calc(100vw - 32px))!important;
    max-width:calc(100vw - 32px)!important;
    max-height:calc(100vh - 116px)!important;
    transform:translate(-50%,12px) scale(.98)!important;
    transform-origin:top center!important;
    z-index:1400!important;
    overflow:hidden!important;
  }
  .nav-dropdown-products:hover .products-menu-panel,
  .nav-dropdown-products.open .products-menu-panel{
    transform:translate(-50%,0) scale(1)!important;
  }
  .products-menu-body{
    min-height:0!important;
    max-height:calc(100vh - 188px)!important;
    overflow:hidden!important;
  }
  .products-menu-sidebar,
  .products-menu-content{
    min-height:0!important;
    max-height:calc(100vh - 188px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  body[dir=rtl] .products-menu-panel{
    left:50vw!important;
    right:auto!important;
    transform:translate(-50%,12px) scale(.98)!important;
  }
  body[dir=rtl] .nav-dropdown-products:hover .products-menu-panel,
  body[dir=rtl] .nav-dropdown-products.open .products-menu-panel{
    transform:translate(-50%,0) scale(1)!important;
  }
}
