/* Keep the base site's fluid header typography, logo and spacing in styles.css.
   These layout fallbacks also keep navigation usable without the Bootstrap CDN. */
.dsp-nav__inner { display:flex; flex-wrap:inherit; align-items:center; justify-content:space-between; width:100%; padding-inline:12px; }
.dsp-nav .navbar-brand { margin-right:1rem; padding-block:.3125rem; flex:none; }
.dsp-nav__links { display:flex; align-items:center; flex-grow:1; }
.dsp-nav .navbar-nav { flex-direction:row; margin:0 auto 0 0; padding:0; }
.dsp-nav .nav-link { display:block; padding-inline:.5rem; white-space:nowrap; }
.dsp-nav__toggle { display:none; }
.dsp-nav__toggle[hidden] { display:none!important; }
.dsp-nav a:focus-visible,.dsp-nav button:focus-visible,.dsp-nav summary:focus-visible { outline:3px solid #a3eebf; outline-offset:4px; }
.dsp-products-menu { position:relative; }
.dsp-products-menu summary { list-style:none; cursor:pointer; }
.dsp-products-menu summary::-webkit-details-marker { display:none; }
.dsp-products-menu summary svg { margin-left:4px; vertical-align:middle; }
.dsp-products-menu[open] summary svg { transform:rotate(180deg); }
.dsp-products-menu[open] summary { color:var(--text); }
.dsp-products-panel { position:absolute; top:100%; left:0; width:320px; max-width:calc(100vw - 40px); margin-top:12px; padding:8px; background:#111; border:1px solid #333; border-radius:var(--radius-sm); box-shadow:0 16px 40px #0009; }
/* Bridge the visual gap so moving from Products to a link keeps hover open. */
.dsp-products-panel::before { content:""; position:absolute; top:-13px; left:0; right:0; height:13px; }
.dsp-products-panel a { display:block; padding:14px 16px; border-radius:6px; color:var(--text); line-height:1.5; }
.dsp-products-panel a:hover,.dsp-products-panel a:focus-visible { background:#1a2920; color:#fff; }
.dsp-products-panel__product strong { display:block; font-size:16px; font-weight:600; }
.dsp-products-panel__product span { display:block; margin-top:4px; color:var(--text-muted); font-size:14px; }
.dsp-products-panel .dsp-products-panel__overview { margin-top:4px; border-top:1px solid var(--border); border-radius:0 0 6px 6px; font-size:14px; }
.dsp-products-panel__overview span { margin-left:6px; color:var(--primary); }
.dsp-products-panel [aria-current=page] strong { color:#8fe7ad; }
@media (max-width:768px) {
 .dsp-nav__inner { flex-wrap:wrap; }
 .dsp-nav--enhanced .dsp-nav__toggle { display:block; min-width:44px; min-height:44px; }
 .dsp-nav__links { flex:none; width:100%; flex-direction:column; align-items:stretch; }
 .dsp-nav--enhanced .dsp-nav__links:not(.show) { display:none!important; }
 .dsp-nav .navbar-nav { flex-direction:column; align-items:stretch; margin-right:0; }
 .dsp-products-panel { position:static; width:100%; max-width:none; margin:4px 0 12px; box-shadow:none; }
 .dsp-products-panel::before { display:none; }
 .dsp-nav { max-height:100dvh; overflow-y:auto; }
}
