/* Shared navigation refinements for the Inn on Fall River site. */
.desktop-menu > ul { gap: clamp(10px, 1.1vw, 18px); }
.desktop-menu > ul > li > a { white-space: nowrap; }
.desktop-menu .has-mega:focus-within .mega-menu,
.desktop-menu .has-dropdown:focus-within .dropdown-menu {
  opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;
}
.desktop-menu a:focus-visible, .mobile-menu a:focus-visible,
.header-controls a:focus-visible, .header-controls button:focus-visible,
.close-menu:focus-visible { outline: 2px solid #96713b; outline-offset: 5px; }
.mobile-toggle, .close-menu { padding: 0; border: 0; background: transparent; font: inherit; }
.mobile-toggle { flex: 0 0 28px; }
.close-menu { font: 32px/1 Arial, sans-serif; color: #fff; width: 36px; height: 36px; }
.mobile-menu { max-width: 100vw; height: 100dvh; }
body:has(.mobile-menu.active) { overflow: hidden; }
.mobile-menu ul.mobile-submenu { padding: 0 16px; }
.mobile-menu .mobile-submenu a { font-family: var(--font-body, Arial, sans-serif); font-size: 12px; letter-spacing: .2px; }
.mobile-menu ul li > a { overflow-wrap: break-word; }
.mobile-menu a[aria-current="page"] { color: #e4c590; }
.desktop-menu a[aria-current="page"] { color: #8b652f; }
.footer-utility { max-width: 1320px; margin: 32px auto 0; padding: 24px; }
.footer-utility .footer-links { display: flex; flex-wrap: wrap; gap: 16px 28px; }
@media (max-width: 480px) {
  .header .nav-wrapper { padding-inline: 14px; }
  .header .logo .main-text { font-size: 12px; letter-spacing: .5px; }
  .header .logo .sub-text { font-size: 10px; }
  .header .header-controls { gap: 12px; }
  .header .btn-book-nav { padding: 10px 12px; font-size: 9px; letter-spacing: 1px; }
}
@media (prefers-reduced-motion: reduce) {
  .header, .mobile-menu, .mobile-nav-overlay, .mega-menu, .dropdown-menu { transition: none !important; }
}
