/* DataSortPro site-wide pieces added to every page by ./dsp site: the legal links in the
   footer and the cookie choice banner. Pages have their own palettes and generic rules
   (e.g. `footer a`, or 404's pill-styled `a`), so everything here is scoped and resets
   what it relies on, and colours follow the page's own text colour where possible. */

/* ---- footer links ---- */
.dsp-legal{display:block; margin-top:14px; padding-top:12px;
  border-top:1px solid color-mix(in srgb, currentColor 18%, transparent);
  font-family:ui-monospace,'SF Mono',SFMono-Regular,Menlo,Consolas,monospace;
  font-size:11px; line-height:2; letter-spacing:0; color:inherit}
.dsp-legal > *{display:inline; margin:0}
.dsp-legal > * + *::before{content:"·"; margin:0 8px; opacity:.6; pointer-events:none}
.dsp-legal a, .dsp-legal button{all:unset; box-sizing:border-box; color:inherit; cursor:pointer;
  font:inherit; letter-spacing:inherit; border-bottom:1px solid color-mix(in srgb, currentColor 30%, transparent)}
.dsp-legal a:hover, .dsp-legal button:hover{border-bottom-color:currentColor}
.dsp-legal a:focus-visible, .dsp-legal button:focus-visible{outline:2px solid currentColor; outline-offset:2px}
.dsp-legal button[hidden]{display:none}

/* ---- cookie choice banner ---- */
.dsp-consent{
  --c-bg:rgba(10,11,14,.96); --c-fg:#e9ebee; --c-sub:#a2a9b3; --c-line:rgba(255,255,255,.12);
  --c-btn:rgba(255,255,255,.06); --c-btn-hover:rgba(255,255,255,.12);
  --c-primary:#ffffff; --c-primary-fg:#0a0b0e;
  position:fixed; left:0; right:0; bottom:0; z-index:2147483000;
  background:var(--c-bg); color:var(--c-fg); border-top:1px solid var(--c-line);
  -webkit-backdrop-filter:saturate(1.4) blur(10px); backdrop-filter:saturate(1.4) blur(10px);
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,sans-serif;
  -webkit-font-smoothing:antialiased; text-align:left;
}
html[data-theme="light"] .dsp-consent{
  --c-bg:rgba(255,255,255,.97); --c-fg:#0d0f13; --c-sub:#4d5560; --c-line:rgba(13,15,19,.12);
  --c-btn:rgba(13,15,19,.04); --c-btn-hover:rgba(13,15,19,.09);
  --c-primary:#0d0f13; --c-primary-fg:#ffffff;
}
.dsp-consent-in{box-sizing:border-box; max-width:1040px; margin:0 auto; padding:14px 20px;
  display:flex; align-items:center; gap:14px 22px}
.dsp-consent p{margin:0; flex:1; font-size:13.5px; line-height:1.55; color:var(--c-sub)}
.dsp-consent p a{all:unset; cursor:pointer; color:var(--c-fg); text-decoration:underline; text-underline-offset:2px}
.dsp-consent p a:focus-visible{outline:2px solid var(--c-fg); outline-offset:2px}
.dsp-consent-actions{display:flex; gap:8px; flex-shrink:0}
.dsp-consent button{all:unset; box-sizing:border-box; cursor:pointer; white-space:nowrap;
  font:500 13.5px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  padding:11px 16px; border-radius:10px; border:1px solid var(--c-line);
  background:var(--c-btn); color:var(--c-fg); transition:background .15s}
.dsp-consent button:hover{background:var(--c-btn-hover)}
.dsp-consent button.dsp-primary{background:var(--c-primary); color:var(--c-primary-fg); border-color:var(--c-primary)}
.dsp-consent button.dsp-primary:hover{opacity:.9}
.dsp-consent button:focus-visible{outline:2px solid var(--c-fg); outline-offset:2px}

@media (max-width:640px){
  .dsp-consent-in{flex-direction:column; align-items:stretch; padding:14px 16px 16px}
  .dsp-consent-actions > button{flex:1; text-align:center}
}
@media (prefers-reduced-motion:reduce){.dsp-consent button{transition:none}}
