/* ============================================================
   NOVARA — Legal & utility pages (privacy / terms / shipping)
   Reuses existing tokens: ink #0E0E0E · surface #141312 · line #272728
   · bone #F7F4EE · mist #8A8A85 · faint #6E6A63 · gold #D4AF37
   Fonts: Instrument Serif (title) · Archivo (body) · Geist Mono (labels)
   Quiet, editorial, readability-first — no new visual language.
   ============================================================ */

/* ---- Hero meta ---- */
.nv-legal-meta { display: flex; flex-wrap: wrap; gap: 20px 40px; margin-top: 30px; }
.nv-legal-meta > div { display: flex; flex-direction: column; gap: 6px; }
.nv-legal-meta .k { font-family: "Geist Mono", ui-monospace, monospace; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: #6E6A63; }
.nv-legal-meta .v { font-family: "Geist Mono", ui-monospace, monospace; font-size: 12px; letter-spacing: 0.06em; color: #F7F4EE; }

/* ---- Two-column layout ---- */
.nv-legal { display: grid; gap: 40px; }
@media (min-width: 1024px) { .nv-legal { grid-template-columns: 240px 1fr; gap: 72px; align-items: start; } }
@media (min-width: 1280px) { .nv-legal { grid-template-columns: 260px 1fr; gap: 96px; } }

/* ---- Section index ---- */
.nv-legal-index__label { font-family: "Geist Mono", ui-monospace, monospace; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #D4AF37; margin-bottom: 14px; }
.nv-legal-index ol { list-style: none; margin: 0; padding: 0; }
.nv-legal-index a { display: flex; align-items: baseline; gap: 12px; padding: 8px 0; font-family: "Geist Mono", ui-monospace, monospace; font-size: 12px; letter-spacing: 0.04em; color: #8A8A85; transition: color .25s ease; }
.nv-legal-index a .n { flex: none; color: #6E6A63; transition: color .25s ease; }
.nv-legal-index a:hover, .nv-legal-index a.is-active { color: #F7F4EE; }
.nv-legal-index a:hover .n, .nv-legal-index a.is-active .n { color: #D4AF37; }
.nv-legal-index a:focus-visible { outline: 2px solid #D4AF37; outline-offset: 3px; color: #F7F4EE; }
@media (min-width: 1024px) { .nv-legal-index { position: sticky; top: 100px; } }
@media (max-width: 1023px) {
  .nv-legal-index { border: 1px solid #272728; padding: 20px 22px; }
  .nv-legal-index ol { columns: 2; column-gap: 24px; }
}
@media (max-width: 480px) { .nv-legal-index ol { columns: 1; } }

/* ---- Content ---- */
.nv-legal-content { max-width: 68ch; }
.nv-legal-section { padding: 44px 0; border-top: 1px solid #272728; scroll-margin-top: 96px; }
.nv-legal-section:first-child { padding-top: 4px; border-top: 0; }
.nv-legal-section-number { font-family: "Geist Mono", ui-monospace, monospace; font-size: 12px; letter-spacing: 0.22em; color: #D4AF37; }
.nv-legal-section-title { font-family: "Instrument Serif", Georgia, serif; font-weight: 400; color: #F7F4EE; font-size: 27px; line-height: 1.16; margin-top: 12px; }
@media (min-width: 768px) { .nv-legal-section-title { font-size: 31px; } }
.nv-legal-content p { font-family: "Archivo", system-ui, sans-serif; font-size: 16px; line-height: 1.8; color: #b7b2a9; margin-top: 18px; }
.nv-legal-content ul { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.nv-legal-content li { position: relative; padding-left: 22px; font-family: "Archivo", system-ui, sans-serif; font-size: 16px; line-height: 1.7; color: #b7b2a9; }
.nv-legal-content li::before { content: ""; position: absolute; left: 2px; top: 12px; width: 7px; height: 1px; background: #D4AF37; }
.nv-legal-link { color: #F7F4EE; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(212,175,55,.5); transition: text-decoration-color .25s ease; }
.nv-legal-link:hover, .nv-legal-link:focus-visible { text-decoration-color: #D4AF37; outline: none; }

/* ---- Merchant-configurable note ---- */
.nv-legal-note { margin-top: 24px; border-left: 2px solid #D4AF37; background: #141312; padding: 16px 20px; }
.nv-legal-note strong { display: block; font-family: "Geist Mono", ui-monospace, monospace; font-size: 10px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: #D4AF37; margin-bottom: 8px; }
.nv-legal-note p { margin-top: 0; font-size: 14px; line-height: 1.7; color: #8A8A85; }

/* ---- Placeholder token (merchant-specific value) ---- */
.nv-legal-ph { font-family: "Geist Mono", ui-monospace, monospace; font-size: 0.86em; color: #D4AF37; background: rgba(212,175,55,.08); border: 1px solid rgba(212,175,55,.28); padding: 1px 6px; white-space: nowrap; }

/* ---- Contact block ---- */
.nv-legal-contact { margin-top: 22px; display: flex; flex-direction: column; gap: 14px; }
.nv-legal-contact div { display: flex; flex-direction: column; gap: 4px; }
.nv-legal-contact .k { font-family: "Geist Mono", ui-monospace, monospace; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: #6E6A63; }
.nv-legal-contact .v { font-family: "Archivo", system-ui, sans-serif; font-size: 16px; color: #F7F4EE; }
