/* Unified mobile nav across home, contact, services, and gallery */
@media (max-width: 900px) {
  body.solas-menu-open { overflow: hidden; }
  nav { padding: 0 18px !important; height: 82px !important; z-index: 10001 !important; }
  .nav-links { display: none !important; }
  .nav-burger { display: flex !important; align-items: center; justify-content: center; width: 52px; height: 52px; border: 0; background: transparent; }
  .nav-burger span { width: 32px !important; height: 3px !important; border-radius: 999px; }
  .nav-logo { font-size: 22px !important; max-width: calc(100% - 72px); }

  .nav-mobile {
    display: none !important;
    position: fixed !important;
    top: 82px !important; left: 0 !important; right: 0 !important; width: 100% !important;
    max-height: calc(100vh - 82px) !important; overflow-y: auto; -webkit-overflow-scrolling: touch;
    padding: 26px 28px 28px !important;
    background: rgba(44,32,19,0.985) !important;
    border-top: 1px solid rgba(196,135,74,0.18) !important;
    border-bottom: 1px solid rgba(196,135,74,0.18) !important;
    border-radius: 0 !important; box-shadow: none !important; z-index: 10000 !important;
  }
  .nav-mobile.open { display: block !important; }

  .nav-mobile .nav-mobile-links,
  .nav-mobile ul { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; list-style: none; }
  .nav-mobile li { list-style: none; margin: 0; padding: 0; }
  .nav-mobile a {
    display: block !important; width: 100%; background: transparent !important;
    border: 0 !important; border-bottom: 1px solid rgba(196,135,74,0.14) !important; border-radius: 0 !important;
    color: var(--crema) !important; text-decoration: none;
    font-family: var(--body); font-size: 14px !important; font-weight: 700; letter-spacing: 3px !important; text-transform: uppercase;
    padding: 18px 0 !important; margin: 0 !important;
  }
  .nav-mobile a:hover, .nav-mobile a:focus { color: var(--caramelo) !important; }
  .nav-mobile .sub-menu { margin: 0; padding: 0 0 0 36px; list-style: none; }
  .nav-mobile .sub-menu a, .nav-mobile a.sub {
    color: rgba(237,224,204,0.58) !important; font-size: 11px !important; letter-spacing: 2.2px !important;
    padding: 16px 0 !important;
  }
  .nav-mobile .menu-item-has-children > a::after { content: none !important; }
  .nav-mobile .cta-mobile, .nav-mobile a.nav-cta {
    border-bottom: none !important; color: var(--caramelo) !important; padding-top: 22px !important;
  }
}
