/* Institutional Ledger theme — shared tokens, masthead, and footer for the
   registry homepage (explorer.css) and the certificate page (certificate.css).
   brand.html / terms.html still use registry.css and are untouched by this file.
   Per-site accent keeps flowing through --site-theme (apply-site-branding.js). */

:root{
  --arc-paper:#f6f3ea;
  --arc-panel:#ffffff;
  --arc-panel-soft:#faf8f2;
  --arc-ink:#1c2340;
  --arc-navy:#16213e;
  --arc-gold:#b08d3e;
  --arc-gold-soft:#c8ab62;
  --arc-line:#ddd3ba;
  --arc-line-soft:#ece5d3;
  --arc-muted:#6b7280;
  --arc-faint:#9ca3af;
  --arc-serif:Georgia, "Times New Roman", serif;
  --arc-sans:"Segoe UI", system-ui, -apple-system, sans-serif;
  --arc-mono:"Cascadia Code", Consolas, "SF Mono", monospace;
}

*,*::before,*::after{ box-sizing:border-box; }
/* display rules on specific selectors must never beat the hidden attribute */
[hidden]{ display:none !important; }
html{ -webkit-text-size-adjust:100%; }
body.arc-page{
  margin:0;
  font-family:var(--arc-sans);
  color:var(--arc-ink);
  background:var(--arc-paper);
}

/* ---- masthead ------------------------------------------------------------ */
.arc-top{
  background:#fdfcf9;
  border-bottom:3px double var(--arc-gold);
}
.arc-top-inner{
  width:min(960px, calc(100% - 32px));
  margin:0 auto;
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
}
.arc-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--arc-ink);
  min-width:0;
}
.arc-brand-crest{
  height:42px;
  width:auto;
  display:block;
  flex:none;
}
/* Sites whose logo PNG already carries the wordmark hide the text copy;
   crest-only sites (site-config wordmark:true) show it. */
.arc-brand-copy{ display:none; min-width:0; }
body.has-wordmark .arc-brand-copy{ display:block; }
body.has-wordmark .arc-brand-crest{ height:40px; }
body:not(.has-wordmark) .arc-brand-crest{ height:46px; }
.arc-brand-name{
  display:block;
  font-family:var(--arc-serif);
  font-size:19px;
  font-weight:700;
  letter-spacing:.03em;
  line-height:1.1;
  white-space:nowrap;
}
.arc-brand-tag{
  display:block;
  margin-top:2px;
  font-size:7.5px;
  font-weight:600;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--arc-gold);
  white-space:nowrap;
}
.arc-nav{
  display:flex;
  align-items:center;
  gap:20px;
  flex:none;
}
.arc-nav a,
.arc-nav button{
  font-family:var(--arc-sans);
  font-size:10.5px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#4b5563;
  text-decoration:none;
  background:none;
  border:none;
  padding:0;
  cursor:pointer;
}
.arc-nav a:hover,
.arc-nav button:hover{ color:var(--arc-ink); }

/* ---- footer -------------------------------------------------------------- */
.arc-footer{
  background:var(--arc-navy);
  padding:16px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.arc-footer-brand{
  font-family:var(--arc-serif);
  font-size:12px;
  color:#d9c489;
}
.arc-footer-links{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}
.arc-footer-links a{
  font-size:9.5px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8fa0c9;
  text-decoration:none;
}
.arc-footer-links a:hover{ color:#d9c489; }

/* ---- shared bits --------------------------------------------------------- */
.arc-chip{
  display:inline-block;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-radius:3px;
  padding:3px 8px;
  white-space:nowrap;
  color:#64748b;
  background:#f4f6f8;
  border:1px solid #dbe3ec;
}
.arc-chip.is-claimed{
  color:#166534;
  background:#eaf6ee;
  border-color:#bfe3cb;
}
.arc-chip.is-purchased{
  color:#92600a;
  background:#fdf3df;
  border-color:#ecd9ae;
}

@media (max-width:560px){
  .arc-top-inner{ flex-wrap:wrap; justify-content:center; row-gap:8px; }
  .arc-brand-name{ font-size:16px; }
  .arc-brand-tag{ letter-spacing:.18em; }
  .arc-nav{ gap:12px; flex-wrap:wrap; justify-content:center; }
  .arc-footer{ flex-direction:column; align-items:flex-start; }
}
