/* Lake Lanier Now: main menu grouped into dropdown categories (2026-11-01). */
.site-nav a { white-space: nowrap; }
.brand { flex-shrink: 0; }

/* Desktop: five top items, each opens a panel on hover or keyboard focus. */
@media (min-width: 921px) {
  .site-nav > ul { gap: 1.6rem; }
  .site-nav .menu-item-has-children { position: relative; }
  .site-nav .menu-item-has-children > a { padding-right: 1rem; }
  .site-nav .menu-item-has-children > a::after {
    content: ""; position: absolute; right: 0; top: 50%;
    width: 6px; height: 6px; margin-top: -5px;
    border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
    transform: rotate(45deg); opacity: .6;
  }
  .site-nav .menu-item-has-children > a { position: relative; }
  .site-nav .sub-menu {
    display: none; position: absolute; top: 100%; left: -0.9rem; z-index: 60;
    flex-direction: column; align-items: stretch; gap: 0;
    min-width: 230px; margin: 0; padding: 0.5rem;
    background: var(--paper, #fff); border: 1px solid var(--line, #C9DDEB);
    border-radius: 12px; box-shadow: 0 12px 28px rgba(11, 37, 69, 0.14);
  }
  .site-nav li:hover > .sub-menu,
  .site-nav li:focus-within > .sub-menu { display: flex; }
  .site-nav .sub-menu a {
    display: block; padding: 0.5rem 0.75rem; border-radius: 8px;
    font-size: 1.08rem; box-shadow: none;
  }
  .site-nav .sub-menu a:hover,
  .site-nav .sub-menu a:focus-visible { background: var(--shallows, #DFEDF8); color: var(--ink, #0B2545); }
  .site-nav .sub-menu a[aria-current="page"] { box-shadow: inset 3px 0 0 var(--buoy, #F26B2B); }
}
@media (min-width: 921px) and (max-width: 990px) {
  .brand .wordmark { display: none; }
}

/* Phone and tablet: the open menu lists each category with its links under it. */
@media (max-width: 920px) {
  .site-nav { max-height: calc(100vh - 70px); overflow-y: auto; }
  .site-nav .menu-item-has-children > a { font-size: 1.15rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted, #44596E); border-bottom: 0; padding-bottom: .2rem; margin-top: .6rem; }
  .site-nav .sub-menu { display: flex; flex-direction: column; gap: 0; padding: 0 0 .4rem; margin: 0; }
  .site-nav .sub-menu a { font-size: 1.25rem; padding-block: .55rem; }
}

/* Shop: the menu adds nav-cta to the list item and the link; only the link gets the outline. */
.site-nav li.nav-cta { border: 0; padding: 0; border-radius: 0; box-shadow: none; }
