/* Cookie consent: a quiet card, equal-weight choices, never in the way of the content */
.cc{position:fixed;z-index:120;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));width:min(560px,calc(100vw - 32px));
  transform:translate(-50%,16px);opacity:0;padding:20px 20px 16px;border-radius:16px;
  background:rgba(12,13,16,.96);border:1px solid rgba(255,255,255,.1);color:#E6E9EE;
  box-shadow:0 24px 70px rgba(0,0,0,.55);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  transition:opacity 260ms cubic-bezier(.16,1,.3,1),transform 360ms cubic-bezier(.16,1,.3,1)}
.cc.in{opacity:1;transform:translate(-50%,0)}
.cc[hidden]{display:none}
.cc-title{margin:0 0 6px;font:700 16px/1.25 var(--font-display,system-ui);letter-spacing:-.01em;color:#fff}
.cc-text{margin:0;font:400 14px/1.55 var(--font-body,system-ui);color:#B9C0CA}
.cc-link{color:#FFC45C;text-decoration:underline;text-underline-offset:2px}
.cc-prefs{margin-top:14px;display:grid;gap:10px}
.cc-prefs[hidden]{display:none}
.cc-row{display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:center;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.02);cursor:pointer}
.cc-k{font:600 14px/1.3 var(--font-display,system-ui);color:#fff}
.cc-d{grid-column:1;font:400 12.5px/1.45 var(--font-body,system-ui);color:#9AA3B0}
.cc-on{grid-column:2;grid-row:1 / span 2;font:500 11px/1 var(--font-mono,ui-monospace);letter-spacing:.1em;text-transform:uppercase;color:#39F28C}
.cc-switch{grid-column:2;grid-row:1 / span 2;appearance:none;-webkit-appearance:none;width:46px;height:26px;border-radius:999px;background:#2A2F37;position:relative;cursor:pointer;margin:0;transition:background 180ms}
.cc-switch::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform 220ms cubic-bezier(.16,1,.3,1)}
.cc-switch:checked{background:#FF5A1F}
.cc-switch:checked::after{transform:translateX(20px)}
.cc-switch:focus-visible,.cc-btn:focus-visible,.cc-link:focus-visible{outline:2px solid #FFB020;outline-offset:2px}
.cc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;justify-content:flex-end}
.cc-btn{min-height:40px;padding:0 16px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:#fff;
  font:600 13px/1 var(--font-body,system-ui);cursor:pointer;transition:background 160ms,border-color 160ms}
.cc-btn:hover{background:rgba(255,255,255,.1)}
.cc-btn[hidden]{display:none}
.cc-ghost{margin-right:auto;border-color:transparent;background:none;color:#B9C0CA;text-decoration:underline;text-underline-offset:3px;padding:0 4px}
.cc-ghost:hover{background:none;color:#fff}
.cc-primary{background:#FF5A1F;border-color:#FF5A1F;color:#0A0A0A}
.cc-primary:hover{background:#FF7A2A}
@media(max-width:599px){
  .cc{bottom:calc(8px + env(safe-area-inset-bottom));padding:16px 16px 14px}
  .cc-actions .cc-btn:not(.cc-ghost){flex:1 1 0}
  html.cc-open .ff-dock{opacity:0!important;pointer-events:none!important}
}
@media (prefers-reduced-motion:reduce){.cc{transition:none}}
@media print{.cc{display:none!important}}
/* footer: policy + settings */
.foot-legal{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.foot-legal a,.foot-legal button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.foot-legal a:hover,.foot-legal button:hover{color:var(--text,#fff)}
