/* Native disclosure works with mouse, touch and keyboard, including without JS. */
#nav > .catalog-navigation { position: static; }
.catalog-navigation summary { cursor: pointer; font-weight: 600; color: var(--ecommerce-primary-color); padding: 28px 15px; }
.catalog-navigation summary:focus-visible, .catalog-navigation a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.catalog-navigation-panel { background: #fff; color: #253b37; padding: 24px; text-align: left; }
#nav .catalog-navigation-panel { position: absolute; left: 0; right: 0; z-index: 1000; box-shadow: 0 8px 20px #0002; max-height: min(65vh, 650px); overflow-y: auto; }
#nav .catalog-navigation-panel ul, #nav .catalog-navigation-panel li { display: block; float: none; position: static; width: auto; height: auto; margin: 0; padding: 0; list-style: none; }
.catalog-navigation-brands { columns: 4; column-gap: 28px; }
.catalog-navigation-brands li { break-inside: avoid; }
.catalog-navigation-categories { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
#nav .catalog-navigation-panel a, .catalog-navigation-panel a { display: block; padding: 6px 0; white-space: normal; font-size: 14px; line-height: 1.5; text-transform: none; }
.catalog-navigation-title { font-weight: 700; color: var(--ecommerce-primary-color); }
#mobile-menu .catalog-navigation summary { padding: 14px 18px; }
#mobile-menu .catalog-navigation-panel { padding: 12px 18px; }
#mobile-menu .catalog-navigation-brands { columns: 1; }
#mobile-menu .catalog-navigation-categories { display: block; }
#mobile-menu .catalog-navigation-panel ul { display: block !important; padding: 0; list-style: none; }
#mobile-menu .catalog-navigation-panel section { margin-bottom: 18px; }
@media (max-width: 991px) { .catalog-navigation-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); } .catalog-navigation-brands { columns: 2; } }

#mobile-menu .catalog-navigation .expand { display: none !important; }
#mobile-menu .catalog-navigation-panel { max-height: 65vh; overflow-y: auto; }

#nav .catalog-navigation summary { padding: 0 15px; line-height: 80px; text-transform: uppercase; letter-spacing: 1px; font-size: 14px; }
.catalog-navigation summary::after { content: "\25be"; display: inline-block; margin-left: 8px; }
.catalog-navigation details[open] > summary::after { transform: rotate(180deg); }
