/* Consent gate + shared legal footer links.
 * Included by index.html, about.html, login.html, admin.html.
 * Styles match the Nebula dark/gold UI and legal.css palette.
 */

/* Apple SF font stack (via system-ui) + rendering, shared by gate + footers */
:root{--sf-font:system-ui,-apple-system,BlinkMacSystemFont,'SF Pro Text','SF Pro Display','Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}

/* ---------- legal links strip (footer on every page) ---------- */
.legal-links{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:11px;font-family:var(--sf-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.legal-links a,.legal-links button.linklike{
  color:#66d4cf;text-decoration:none;font-size:11px;background:none;
  border:none;padding:0;cursor:pointer;font-family:inherit
}
.legal-links a:hover,.legal-links button.linklike:hover{text-decoration:underline}
.legal-links .dot{color:#48484a}

/* ---------- shared site footer bar (matches the map page footer) ----------
 * Layout: legal links left · credit/copyright right. Pages with a content
 * wrapper put .footer-bar inside it so the 18px gutters line up; the map
 * page's fixed #siteFooter reuses these tokens for its identical look. */
.footer-bar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  flex-wrap:wrap;padding:14px 18px;margin-top:56px;
  background:rgba(0,0,0,.82);border-top:1px solid rgba(255,214,10,.12);
  font-size:11px;color:#636366;border-radius:0;
  font-family:var(--sf-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale
}
.footer-bar .credit{font-size:11px;color:#636366;letter-spacing:.3px;margin:0;white-space:nowrap}
.footer-bar .credit a{color:#66d4cf;text-decoration:none;border-bottom:1px dotted rgba(102,212,207,.4)}
.footer-bar .credit a:hover{color:#ffe066;border-bottom-color:rgba(255,214,10,.5)}
.footer-bar .muted{max-width:640px;margin:0;font-size:11px;color:#48484a}
@media (max-width:760px){
  .footer-bar{flex-direction:column;gap:6px;padding:12px}
}

/* ---------- consent gate ---------- */
#consentGate{
  position:fixed;inset:0;z-index:1000;display:grid;place-items:center;
  background:rgba(0,0,0,.82);backdrop-filter:blur(3px);padding:20px;
  font-family:var(--sf-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility
}
#consentGate .cg-card{
  max-width:520px;width:100%;max-height:88vh;overflow:auto;
  background:rgba(28,28,30,.97);border:1px solid rgba(255,214,10,.25);
  border-radius:14px;padding:26px 28px;
  box-shadow:0 18px 60px rgba(0,0,0,.6)
}
#consentGate h2{font-size:18px;color:#ffd60a;margin-bottom:10px;letter-spacing:-.01em;font-weight:600}
#consentGate .cg-text{font-size:12.5px;color:#c7c7cc;margin:8px 0}
#consentGate .cg-check{
  display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:#d1d1d6;
  margin:12px 0;cursor:pointer
}
#consentGate .cg-check input{margin-top:2px;accent-color:#ffd60a}
#consentGate .cg-check a{color:#66d4cf}
#consentGate .cg-cookies{
  border:1px solid rgba(255,214,10,.15);border-radius:10px;
  padding:12px 14px;margin:14px 0 4px
}
#consentGate .cg-cookies legend{font-size:11px;color:#ffd60a;padding:0 6px;letter-spacing:.5px;text-transform:uppercase}
#consentGate .cg-radio{display:flex;gap:8px;align-items:center;font-size:12px;color:#c7c7cc;margin:6px 0;cursor:pointer}
#consentGate .cg-radio input{accent-color:#ffd60a}
#consentGate .cg-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
#consentGate .cg-actions button{
  flex:1;min-width:150px;padding:9px 14px;border-radius:8px;cursor:pointer;
  font-size:12.5px;font-weight:600;
  background:transparent;border:1px solid rgba(255,214,10,.4);color:#ffd60a
}
#consentGate .cg-actions button:disabled{opacity:.35;cursor:not-allowed}
#consentGate .cg-actions button.cg-primary{background:linear-gradient(90deg,#ffd60a,#ff9f0a);color:#000000;border:none}
#consentGate .cg-actions button.cg-primary:disabled{opacity:.35}
#consentGate .cg-actions button:not(:disabled):hover{filter:brightness(1.1)}
#consentGate .cg-fine{font-size:10.5px;color:#48484a;margin-top:12px}
