/* FoundSOS — Legal pages (refined, editorial) */

.legal-shell{
  max-width:1180px;margin:0 auto;padding:56px 24px 96px;
  display:grid;grid-template-columns:260px 1fr;gap:48px;
  color:var(--text,#e6edf3);
}
@media (max-width: 960px){
  .legal-shell{grid-template-columns:1fr;gap:28px;padding:32px 18px 80px}
}

/* ---------- Sidebar nav ---------- */
.legal-side{
  position:sticky; top:88px; align-self:start;
  display:flex; flex-direction:column; gap:4px;
  padding:18px 14px;
  background:linear-gradient(180deg,rgba(12,16,22,.94) 0%,rgba(8,11,16,.98) 100%);
  border:1px solid rgba(255,255,255,.06);
  border-radius:20px;
  box-shadow:0 24px 60px -30px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(8px);
}
.legal-side .side-title{
  font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--text-soft,#8b95a3);padding:8px 10px 10px;
}
.legal-side a{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 12px;border-radius:10px;text-decoration:none;
  color:var(--text-soft,#cbd5dd);font-size:13.5px;font-weight:500;
  border:1px solid transparent;transition:background .15s,color .15s,border-color .15s;
}
.legal-side a:hover{background:color-mix(in oklab,#fff 5%,transparent);color:var(--text,#fff)}
.legal-side a.active{
  background:color-mix(in oklab,var(--signal,#e53935) 12%,transparent);
  color:#fff;border-color:color-mix(in oklab,var(--signal,#e53935) 35%,transparent);
  font-weight:600;
}
.legal-side a .num{font-size:11px;color:var(--text-soft,#7c8694);font-variant-numeric:tabular-nums}
@media (max-width: 960px){
  .legal-side{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding:10px}
  .legal-side .side-title{display:none}
  .legal-side a{justify-content:center;padding:10px;font-size:12.5px}
  .legal-side a .num{display:none}
}

/* ---------- Article ---------- */
.legal-article{min-width:0}
.legal-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:var(--signal,#e53935);margin-bottom:14px;
}
.legal-eyebrow::before{content:"";width:24px;height:1px;background:currentColor;opacity:.7}

.legal-h1{
  font-family:"Instrument Serif",Georgia,serif;
  font-size:clamp(36px,4.6vw,56px);line-height:1.04;letter-spacing:-.012em;
  margin:0 0 18px;color:var(--text,#fff);font-weight:400;
}
.legal-intro{
  font-size:17px;line-height:1.65;color:var(--text-soft,#a8b3c1);
  margin:0 0 14px;max-width:68ch;
}
.legal-meta{
  display:inline-flex;align-items:center;gap:10px;
  font-size:11.5px;color:var(--text-soft,#7c8694);
  letter-spacing:.06em;text-transform:uppercase;
  padding:6px 12px;border-radius:999px;
  border:1px solid color-mix(in oklab,#fff 10%,transparent);
  background:color-mix(in oklab,#0b1118 60%,transparent);
  margin-bottom:36px;
}

/* In-page TOC chips */
.legal-toc{
  display:flex;flex-wrap:wrap;gap:6px;
  margin:0 0 40px;padding:0;border:0;background:transparent;
}
.legal-toc a{
  font-size:12px;font-weight:500;
  padding:7px 12px;border-radius:8px;
  background:color-mix(in oklab,#fff 5%,transparent);
  color:var(--text-soft,#a8b3c1);text-decoration:none;
  border:1px solid color-mix(in oklab,#fff 8%,transparent);
  transition:all .15s;
}
.legal-toc a:hover{
  background:color-mix(in oklab,var(--signal,#e53935) 12%,transparent);
  color:#fff;border-color:color-mix(in oklab,var(--signal,#e53935) 28%,transparent);
}

/* Sections */
.legal-sec{
  margin:0;padding:32px 0;
  border-top:1px solid color-mix(in oklab,#fff 7%,transparent);
  scroll-margin-top:96px;
}
.legal-sec:first-of-type{border-top:none;padding-top:8px}
.legal-sec h2{
  font-size:22px;margin:0 0 14px;font-weight:600;letter-spacing:-.005em;
  color:var(--text,#fff);
}
.legal-sec p{
  font-size:15.5px;line-height:1.78;margin:0 0 14px;
  color:var(--text-soft,#bcc7d4);max-width:70ch;
}
.legal-sec p:last-child{margin-bottom:0}

/* Callout */
.legal-callout{
  margin:40px 0 0;padding:24px 26px;border-radius:18px;
  border:1px solid color-mix(in oklab,var(--signal,#e53935) 30%,transparent);
  background:linear-gradient(180deg,
    color-mix(in oklab,var(--signal,#e53935) 10%,transparent) 0%,
    color-mix(in oklab,var(--signal,#e53935) 4%,transparent) 100%);
}
.legal-callout h3{margin:0 0 8px;font-size:16px;font-weight:700;color:#fff}
.legal-callout p{margin:0;font-size:14px;color:var(--text-soft,#cbd5dd);line-height:1.65}
.legal-callout a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* Hide old card-grid nav (kept for backward compat) */
.legal-nav{display:none}

/* Consent block on signup */
.consent-block{margin:14px 0 10px;display:grid;gap:10px;padding:14px;border:1px solid color-mix(in oklab,var(--text,#e6edf3) 12%,transparent);border-radius:12px;background:color-mix(in oklab,#0b1118 70%,transparent)}
.consent-row{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:var(--text-soft,#9aa6b2)}
.consent-row input{margin-top:2px;width:16px;height:16px;accent-color:var(--signal,#e53935);flex-shrink:0}
.consent-row a{color:var(--signal,#e53935);text-decoration:underline;font-weight:600}
.consent-row.required .lbl::after{content:" *";color:var(--signal,#e53935)}

@media print{.legal-toc{display:none}.legal-side{display:none}.legal-shell{grid-template-columns:1fr}}

/* ============================================================
   Klaro consent notice — compact, professional bottom bar
   ============================================================ */
.klaro .cookie-notice:not(.cookie-modal-notice){
  position:fixed!important;
  left:50%!important;
  bottom:14px!important;
  transform:translateX(-50%)!important;
  right:auto!important;
  top:auto!important;
  width:min(640px,calc(100vw - 24px))!important;
  max-width:calc(100vw - 24px)!important;
  padding:12px 14px!important;
  border-radius:14px!important;
  background:rgba(15,20,28,.92)!important;
  color:#e6edf3!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 12px 40px rgba(0,0,0,.45),0 2px 8px rgba(0,0,0,.25)!important;
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  font-size:13px!important;
  line-height:1.45!important;
  z-index:2147483000!important;
}
.klaro .cookie-notice .cn-body{padding:0!important;margin:0!important}
.klaro .cookie-notice .cn-body p{
  margin:0 0 8px!important;
  font-size:12.5px!important;
  line-height:1.5!important;
  color:#cbd5dd!important;
}
.klaro .cookie-notice .cn-body p.cn-changes{display:none!important}
.klaro .cookie-notice .cn-body h1,
.klaro .cookie-notice .cn-body h2,
.klaro .cookie-notice .title{
  font-size:13px!important;
  font-weight:600!important;
  margin:0 0 4px!important;
  color:#fff!important;
}
.klaro .cookie-notice .cn-ok{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  margin-top:4px!important;
  padding:0!important;
}
.klaro .cookie-notice .cn-buttons{display:contents!important}
.klaro .cookie-notice .cn-learn-more,
.klaro .cookie-notice a.cn-learn-more{
  order:3!important;
  font-size:12px!important;
  color:#9aa6b2!important;
  text-decoration:underline!important;
  background:none!important;
  border:0!important;
  padding:0 6px!important;
  margin-right:auto!important;
}
.klaro .cookie-notice .cm-btn,
.klaro .cookie-notice button.cm-btn{
  padding:8px 14px!important;
  font-size:12.5px!important;
  font-weight:600!important;
  border-radius:9px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  cursor:pointer!important;
  transition:transform .12s ease, background .12s ease;
}
.klaro .cookie-notice .cm-btn-decline,
.klaro .cookie-notice .cn-decline{
  background:rgba(255,255,255,.06)!important;
  color:#e6edf3!important;
}
.klaro .cookie-notice .cm-btn-success,
.klaro .cookie-notice .cm-btn-accept-all,
.klaro .cookie-notice .cn-ok > button.cm-btn-success{
  background:linear-gradient(180deg,#22c55e,#16a34a)!important;
  color:#06140a!important;
  border-color:transparent!important;
}
.klaro .cookie-notice .cm-btn:hover{transform:translateY(-1px)}
.klaro .cookie-notice .cm-powered-by{display:none!important}

@media (max-width:520px){
  .klaro .cookie-notice:not(.cookie-modal-notice){
    left:8px!important;right:8px!important;bottom:8px!important;
    transform:none!important;
    width:auto!important;max-width:none!important;
    padding:11px 12px!important;border-radius:13px!important;
  }
  .klaro .cookie-notice .cn-body p{font-size:12px!important;-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
  .klaro .cookie-notice .cm-btn{flex:1 1 auto!important;padding:9px 10px!important}
  .klaro .cookie-notice .cn-learn-more{flex-basis:100%!important;text-align:center!important;margin:2px 0 0!important}
}
