/* ═══════════════════════════════════════════════
   MENÚ · barra superior en escritorio, botón desplegable en móvil
   ═══════════════════════════════════════════════ */
.nav-links { display: flex; align-items: center; justify-content: center; gap: 2.5rem; }
.nav-brand, .nav-toggle { display: none; }

@media (max-width: 820px) {
  nav {
    justify-content: space-between; gap: 1rem; padding: 0.55rem 1.1rem;
    overflow: visible; white-space: normal;
    -webkit-backdrop-filter: none; backdrop-filter: none;   /* si no, el panel fijo se encaja dentro de la barra */
    background: rgba(49, 14, 25, 0.96);
  }
  .nav-brand { display: flex; align-items: center; position: relative; z-index: 3; color: var(--ivory); }
  .nav-brand .logo-mark { height: 34px; }

  .nav-toggle {
    display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px;
    position: relative; z-index: 3; width: 44px; height: 44px; padding: 0;
    background: transparent; border: 0.5px solid var(--card-border); border-radius: 50%; cursor: pointer;
  }
  .nav-toggle span { display: block; width: 18px; height: 1.5px; background: var(--ivory); border-radius: 2px; transition: transform 0.3s ease, opacity 0.2s ease; }
  .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
  .nav-toggle:focus-visible { outline: 2px solid var(--ivory); outline-offset: 2px; }

  /* panel a pantalla completa */
  .nav-links {
    position: fixed; inset: 0; z-index: 2;
    flex-direction: column; justify-content: center; gap: 0.4rem;
    padding: 5rem 1.5rem 3rem;
    background:
      url('../bg-travel-light.png') repeat 0 0 / 420px auto,
      radial-gradient(ellipse at 50% 30%, #5A2032 0%, #461523 55%, #310E19 100%);
    opacity: 0; visibility: hidden; transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s linear 0.3s;
  }
  nav.open .nav-links { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }

  .nav-links a {
    font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 400;
    font-size: clamp(30px, 8.5vw, 40px); line-height: 1.25; letter-spacing: 0; text-transform: none;
    color: var(--ivory); padding: 0.35rem 0.5rem; border-bottom: none; text-align: center;
    opacity: 0; transform: translateY(8px); transition: opacity 0.35s ease, transform 0.35s ease, color 0.2s;
  }
  nav.open .nav-links a { opacity: 1; transform: none; }
  nav.open .nav-links a:nth-child(1) { transition-delay: 0.05s; }
  nav.open .nav-links a:nth-child(2) { transition-delay: 0.10s; }
  nav.open .nav-links a:nth-child(3) { transition-delay: 0.15s; }
  nav.open .nav-links a:nth-child(4) { transition-delay: 0.20s; }
  nav.open .nav-links a:nth-child(5) { transition-delay: 0.25s; }
  nav.open .nav-links a:nth-child(6) { transition-delay: 0.30s; }
  .nav-links a.active { color: var(--champagne); border-bottom: none; }
  .nav-links a.active::before, .nav-links a.active::after { content: '·'; margin: 0 0.6rem; opacity: 0.7; }

  body.nav-open { overflow: hidden; }
}

@media (prefers-reduced-motion: reduce) {
  .nav-links, .nav-links a, .nav-toggle span { transition: none; }
}

/* Espacio entre la barra fija y el título de cada página */
@media (max-width: 820px) {
  .section { padding-top: 6rem; }
}
