.products-menu { position: relative; }
.products-menu__trigger { display: flex; align-items: center; }
.products-menu__toggle { display: inline-grid; width: 1.75rem; height: 1.75rem; margin-left: -.45rem; padding: 0; place-items: center; color: currentColor; background: transparent; border: 0; border-radius: 50%; }
.products-menu__toggle i { font-size: .72rem; transition: transform .2s ease; }
.mega-menu { position: absolute; z-index: 1060; top: calc(100% + .65rem); left: 50%; width: min(58rem, calc(100vw - 2rem)); max-height: calc(100vh - 9rem); padding: 1.75rem 2rem 1.5rem; overflow-y: auto; visibility: hidden; opacity: 0; background: var(--white, #fff); border: 1px solid rgba(27, 43, 53, .1); border-radius: var(--radius, 1.25rem); box-shadow: var(--shadow, 0 1.25rem 3.5rem rgba(6, 48, 80, .18)); transform: translate(-50%, .4rem); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.mega-menu::before { position: absolute; right: 0; bottom: 100%; left: 0; height: .75rem; content: ''; }
.products-menu:hover .mega-menu, .products-menu:focus-within .mega-menu, .products-menu.is-open .mega-menu { visibility: visible; opacity: 1; transform: translate(-50%, 0); }
.products-menu:hover .products-menu__toggle i, .products-menu:focus-within .products-menu__toggle i, .products-menu.is-open .products-menu__toggle i { transform: rotate(180deg); }
.mega-menu__grid { column-count: 4; column-width: 12.5rem; column-gap: 2rem; }
.mega-menu__column { margin-bottom: 1.5rem; break-inside: avoid; }
.mega-menu__heading { display: block; margin-bottom: .55rem; color: var(--omega-blue-deep, #032e52); font-size: .92rem; font-weight: 700; line-height: 1.3; text-decoration: none; }
.mega-menu__heading:hover, .mega-menu__heading:focus { color: var(--omega-blue, #075c9f); }
.mega-menu__sublist { margin: 0; padding: 0; list-style: none; }
.mega-menu__sublist li { margin-top: .4rem; }
.mega-menu__sublist a { color: var(--muted, #62717d); font-size: .84rem; line-height: 1.3; text-decoration: none; }
.mega-menu__sublist a:hover, .mega-menu__sublist a:focus { color: var(--omega-blue, #075c9f); text-decoration: underline; }
.mega-menu__footer { margin-top: .25rem; padding-top: 1.25rem; border-top: 1px solid var(--line, #dbe4ea); text-align: right; }
.mega-menu__all { display: inline-flex; align-items: center; gap: .4rem; color: var(--omega-blue, #075c9f); font-size: .86rem; font-weight: 700; text-decoration: none; }
.mega-menu__all:hover, .mega-menu__all:focus { color: var(--omega-blue-dark, #053b69); }
@media (min-width: 992px) and (max-width: 1199.98px) { .mega-menu__grid { column-count: 3; } }
.mobile-products-menu > details { border-bottom: 1px solid rgba(33, 54, 64, .12); }
.mobile-products-menu summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 0; color: #213640; cursor: pointer; font-weight: 600; list-style: none; }
.mobile-products-menu summary::-webkit-details-marker { display: none; }
.mobile-products-menu summary i { flex: 0 0 auto; font-size: .75rem; transition: transform .2s ease; }
.mobile-products-menu details[open] > summary i { transform: rotate(180deg); }
.mobile-products-menu__content { max-height: 58vh; padding: 0 0 1rem .75rem; overflow-y: auto; }
.mobile-products-menu__content a { display: block; text-decoration: none; }
.mobile-products-menu__group { border-top: 1px solid rgba(33, 54, 64, .08); }
.mobile-products-menu__group > details > summary, .mobile-products-menu__parent { padding: .7rem 0; font-size: .88rem; }
.mobile-products-menu__parent { display: block; color: #213640; font-weight: 600; }
.mobile-products-menu__children { padding: 0 0 .65rem .8rem; }
.mobile-products-menu__parent-link { margin-bottom: .4rem; color: #b48747; font-size: .82rem; font-weight: 600; }
.mobile-products-menu__child { margin-top: .4rem; padding-left: .65rem; color: #687980; font-size: .84rem; border-left: 1px solid #d9d2c7; }
@media (max-width: 991.98px) { .products-menu { display: none; } }
@media (min-width: 992px) { .mobile-products-menu { display: none; } }
@media (prefers-reduced-motion: reduce) { .mega-menu, .products-menu__toggle i, .mobile-products-menu summary i { transition: none; } }
.nav-quote-button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .7rem 1.25rem; border: 1px solid #1f6f9f; border-radius: 999px; background: #1f6f9f; box-shadow: 0 .5rem 1.25rem rgba(31,111,159,.2); color: #fff; font-size: .84rem; font-weight: 700; line-height: 1; text-decoration: none; transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
.nav-quote-button:hover, .nav-quote-button:focus { border-color: #0e2438; background: #0e2438; color: #fff; transform: translateY(-1px); }
@media (min-width: 992px) { .nav-quote-item { margin-left: clamp(1rem,2vw,2rem); } }
