/* Dropdown + mobile accordion for the netfusion-style header used by the
   standalone templates (area_guide, trip_planner, colorado_springs_events,
   property_showcase, welcome_book). Those templates render the nav links
   partial inside a desktop bar (#nav-links) and a mobile drawer
   (#nav-mobile-drawer); we scope everything off those two IDs so it works
   regardless of the surrounding class skins (.nav-links vs .wb-topnav__links,
   .nav-mobile-drawer vs .wb-nav-drawer).

   The matching markup is produced by partials/cms_header_nav_links.html.
   The accordion toggle (mobile) is bound by static/js/site-nav-dropdown.js. */

/* ============================================================
   Desktop top bar — popup dropdown on hover/focus
   ============================================================ */
#nav-links .nav-group {
  position: relative;
  display: inline-block;
}
#nav-links .nav-group-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  cursor: pointer;
}
#nav-links .nav-group-chevron {
  font-size: 0.8em;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
#nav-links .nav-group:hover .nav-group-chevron,
#nav-links .nav-group:focus-within .nav-group-chevron {
  opacity: 1;
}
#nav-links .nav-group-panel {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 14rem;
  background: #1A1C22;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 0.35rem 0;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4);
  z-index: 300;
}
#nav-links .nav-group:hover .nav-group-panel,
#nav-links .nav-group:focus-within .nav-group-panel {
  display: block;
}
#nav-links .nav-group-sub {
  display: block;
  padding: 0.5rem 1rem !important;
  font-size: 0.85rem !important;
  color: rgba(255, 255, 255, 0.7) !important;
  white-space: nowrap;
  border-bottom: none !important;
  text-decoration: none;
}
#nav-links .nav-group-sub:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.04);
}

/* ============================================================
   Mobile drawer — accordion (single-open)
   ============================================================ */
#nav-mobile-drawer .nav-group {
  display: block;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
#nav-mobile-drawer .nav-group-trigger {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: 0.4rem 0 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none;
  font-size: 15px !important;
  font-weight: 500 !important;
  border-bottom: none !important;
  cursor: pointer;
}
#nav-mobile-drawer .nav-group-chevron {
  display: inline-block;
  font-size: 0.85em;
  opacity: 0.7;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
#nav-mobile-drawer .nav-group.is-open > .nav-group-trigger > .nav-group-chevron {
  transform: rotate(180deg);
  opacity: 1;
}
#nav-mobile-drawer .nav-group-panel {
  display: block;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  padding: 0;
  margin: 0 0 0 0.5rem;
  border-left: 2px solid rgba(255, 255, 255, 0.1);
  transition: max-height 0.25s ease, padding 0.25s ease, opacity 0.2s ease;
}
#nav-mobile-drawer .nav-group.is-open > .nav-group-panel {
  max-height: 30rem;
  padding: 0.25rem 0 0.55rem 0;
  opacity: 1;
}
#nav-mobile-drawer .nav-group-sub {
  display: block !important;
  padding: 0.45rem 0 0.45rem 1rem !important;
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 14px !important;
  font-weight: 500;
  text-decoration: none;
  border-bottom: none !important;
}
#nav-mobile-drawer .nav-group-sub:hover {
  color: #fff !important;
}
