/* ============================================================
   i18n.css — Selector de idioma + soporte RTL (árabe)
   Se carga DESPUÉS de style.css. Usa las mismas variables de tema.
   ============================================================ */

/* ─── Selector de idioma en el menú ─── */
.nav-lang { position: relative; display: flex; align-items: center; }

.lang-switch { position: relative; }

.lang-current {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: none;
  border: 1px solid rgba(200,169,110,0.35);
  border-radius: 4px;
  color: var(--gold);
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 0.35rem 0.7rem;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  white-space: nowrap;
}
.lang-current:hover { background: var(--gold); color: var(--forest); border-color: var(--gold); }
.lang-globe { font-size: 0.85rem; line-height: 1; }

.lang-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 168px;
  background: rgba(18,23,18,0.98);
  border: 1px solid rgba(200,169,110,0.2);
  border-radius: 6px;
  box-shadow: 0 12px 34px rgba(0,0,0,0.45);
  list-style: none;
  margin: 0;
  padding: 0.4rem 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.18s, transform 0.18s, visibility 0.18s;
  z-index: 300;
}
.lang-switch.open .lang-menu { opacity: 1; visibility: visible; transform: translateY(0); }

.lang-menu li { margin: 0; }
.lang-menu li a {
  display: block;
  padding: 0.55rem 1.1rem;
  color: var(--cream-dim);
  text-decoration: none;
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  transition: background 0.15s, color 0.15s;
}
.lang-menu li a:hover { background: rgba(200,169,110,0.1); color: var(--gold); }
.lang-menu li.activo a { color: var(--gold); font-weight: 600; }
.lang-menu li.activo a::before { content: '· '; }

/* En móvil el selector se muestra siempre abierto como lista simple */
@media (max-width: 960px) {
  .nav-lang { justify-content: center; padding: 0.6rem 0 0.2rem; border-top: 1px solid rgba(200,169,110,0.12); margin-top: 0.4rem; }
  .lang-menu {
    position: static;
    opacity: 1; visibility: visible; transform: none;
    box-shadow: none; background: transparent; border: none;
    display: flex; flex-wrap: wrap; justify-content: center; gap: 0.2rem;
    min-width: 0;
  }
  .lang-current { display: none; } /* en móvil enseñamos la lista directamente */
}

/* ============================================================
   RTL — Árabe. Se activa con <html dir="rtl">.
   Solo ajustes de dirección; el diseño y los colores no cambian.
   ============================================================ */
html[dir="rtl"] body { direction: rtl; }
html[dir="rtl"] { text-align: right; }

/* El menú y su alineación se invierten */
html[dir="rtl"] .nav-menu { direction: rtl; }
html[dir="rtl"] .lang-menu { right: auto; left: 0; }
html[dir="rtl"] .lang-menu li.activo a::before { content: ''; }
html[dir="rtl"] .lang-menu li.activo a::after { content: ' ·'; }

/* Reglas doradas, timelines, listas: reflejar el lado */
html[dir="rtl"] .gold-rule { margin-left: auto; margin-right: 0; }
html[dir="rtl"] .prose { text-align: right; }
html[dir="rtl"] .eyebrow { letter-spacing: 0.1em; } /* el tracking largo no sienta bien al árabe */
html[dir="rtl"] .hero-eyebrow,
html[dir="rtl"] .hero-cta { letter-spacing: 0.06em; }

/* Tipografía árabe: Cinzel no tiene glifos árabes; usamos una pila con
   buena cobertura para que los títulos no caigan en un serif latino. */
html[dir="rtl"] .hero-title,
html[dir="rtl"] .section-title,
html[dir="rtl"] #cta-final h2,
html[dir="rtl"] .footer-brand {
  font-family: 'Noto Naskh Arabic', 'Amiri', 'Cinzel', serif;
}
html[dir="rtl"] body,
html[dir="rtl"] .prose,
html[dir="rtl"] .nav-menu,
html[dir="rtl"] p, html[dir="rtl"] li, html[dir="rtl"] a {
  font-family: 'Noto Sans Arabic', 'Segoe UI', 'Inter', sans-serif;
}

/* Alinear a la derecha bloques que en LTR van a la izquierda */
html[dir="rtl"] .hist-content { margin-left: 0; margin-right: auto; }
html[dir="rtl"] .galeria-footer { text-align: left; }

/* Idiomas CJK: interlineado algo mayor mejora la lectura */
html[lang="ja"] .prose p,
html[lang="zh-Hans"] .prose p,
html[lang="zh"] .prose p { line-height: 1.95; }

/* ─── Aviso "versión española vinculante" en páginas legales ─── */
.legal-binding {
  margin: 1.5rem 0 2.5rem;
  padding: 0.9rem 1.2rem;
  border: 1px solid rgba(200,169,110,0.28);
  border-left: 3px solid var(--gold);
  background: rgba(200,169,110,0.05);
  font-size: 0.85rem;
  line-height: 1.6;
  color: rgba(240,237,230,0.7);
}
html[lang="es"] .legal-binding { display: none; } /* en español no hace falta */
