/* Simple dropdown (desktop) + accordions in mobile panel */
.nav .dropdown{position:relative}
.nav .dropdown > a{display:inline-flex;align-items:center;gap:8px}
.nav .dropdown-menu{
  position:absolute;
  top:100%;
  left:0;
  min-width:220px;
  padding:12px 8px 8px 8px;
  border-radius:14px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(135,84,39,.14);
  box-shadow:0 18px 40px rgba(0,0,0,.10);
  z-index:2000;
  display:none;
  max-height: calc(100vh - 100px);
  overflow:auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
/* Hover-bridge: invisible area above dropdown to prevent gap issues */
.nav .dropdown-menu::before{
  content:"";
  position:absolute;
  left:-10px;
  right:-10px;
  top:-15px;
  height:15px;
}
/* Show dropdown on hover, focus, or when .open class is added via JS */
.nav .dropdown:hover > .dropdown-menu,
.nav .dropdown:focus-within > .dropdown-menu,
.nav .dropdown.open > .dropdown-menu{
  display:block;
}
.nav .dropdown-menu a{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  font-weight:700;
  color:var(--muted);
  text-decoration:none;
}
.nav .dropdown-menu a:hover,
.nav .dropdown-menu a:focus{
  background:rgba(221,181,144,.35);
  color:var(--burgundy);
}

/* Mobile panel dropdown */
.mobile-panel details{border:1px solid rgba(135,84,39,.12);border-radius:14px;background:rgba(255,255,255,.65);padding:6px 10px}
.mobile-panel details + details{margin-top:10px}
.mobile-panel summary{cursor:pointer;font-weight:800;padding:10px 2px;font-size:14px;line-height:1.35}
.mobile-panel summary::-webkit-details-marker{display:none}
.mobile-panel summary::after{content:'+';float:right;color:var(--burgundy);font-weight:900}
.mobile-panel details[open] summary::after{content:'–'}
.mobile-panel .submenu a{padding:10px 10px;margin-top:4px;font-size:13px}

@media (max-width: 920px){
  .nav .dropdown-menu{display:none !important}
}
