/* O menu compacto entra antes de os links perderem espaço. */
.navbar-inner { gap: 24px; }
.navbar-actions { flex-shrink: 0; }
.nav-links { gap: clamp(16px, 2vw, 32px); }
.nav-links a { white-space: nowrap; }
@media (max-width: 1100px) {
  /* Navbar Mobile */
  .top-navbar {
    height: 64px;
  }

  .nav-links {
    position: absolute;
    top: 64px;
    left: 0;
    right: 0;
    height: calc(100vh - 64px);
    background: var(--bg);
    display: flex;
    flex-direction: column;
    justify-content: safe center;
    align-items: center;
    gap: 1.5rem;
    padding: 2rem;
    z-index: 999;
    /* Animação suave em vez de display: none */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-15px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  }

  .nav-links a:not(.btn) {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 600;
    padding: 0.5rem 0;
  }

  .nav-menu-open .nav-links {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  
  .top-navbar.nav-menu-open {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background-color: var(--bg);
  }

  .nav-menu-open .mobile-menu-toggle span:first-child {
    transform: rotate(45deg) translate(2.5px, 2.5px);
  }

  .nav-menu-open .mobile-menu-toggle span:last-child {
    transform: rotate(-45deg) translate(2.5px, -2.5px);
  }

  .mobile-menu-toggle {
    display: flex;
  }

  .mobile-only-action {
    display: flex !important;
    width: 100%;
    max-width: 280px;
    margin-top: 1.5rem;
  }
  
  .mobile-only-action .btn {
    width: 100%;
    padding: 1.125rem;
    font-size: 1.125rem;
  }

  .navbar-actions .btn {
    display: none;
  }


  .nav-links { height: calc(100dvh - 64px); overflow-y: auto; }
}


@media (max-width: 1100px) {
  .nav-links > li { flex-shrink: 0; }
}
@media (max-width: 768px), (hover: none) {
  .gallery-item-caption {
    opacity: 1;
    padding: 24px 18px 18px;
    background: linear-gradient(transparent, rgba(0, 0, 0, .8));
  }
  .gallery-item-caption span { font-size: 12px; }
}
