/* Cookie consent card (assets/js/consent.js). Compact on purpose: a small card
   in the bottom-left corner, a bottom bar on phones; it never covers the page. */
.cc{
  --cc-ink:#F2F5FA; --cc-text:rgba(242,245,250,.72); --cc-muted:rgba(242,245,250,.5);
  --cc-brand:#4B7BFF; --cc-line:rgba(255,255,255,.12);
  position:fixed;z-index:2147482000;left:20px;bottom:20px;width:380px;max-width:calc(100vw - 20px);
  padding:16px 16px 14px;border-radius:16px;border:1px solid var(--cc-line);
  background:rgba(16,22,36,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:0 24px 60px -24px rgba(0,0,0,.85);
  color:var(--cc-ink);font-family:'Hanken Grotesk',ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.5;
  opacity:0;transform:translateY(12px);transition:opacity .3s ease,transform .4s cubic-bezier(.22,1,.36,1)}
.cc.cc-in{opacity:1;transform:none}
.cc[hidden]{display:none}
.cc *{box-sizing:border-box}
.cc-title{margin:0;font-family:'Bricolage Grotesque',ui-sans-serif,system-ui,sans-serif;font-weight:700;font-size:15px}
.cc-text{margin:4px 0 0;color:var(--cc-text);font-size:13.5px}
.cc-text a{color:#8fb0ff;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}

/* preferences */
.cc-prefs{margin-top:12px;display:flex;flex-direction:column;border-top:1px solid var(--cc-line)}
.cc-prefs[hidden]{display:none}
.cc-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--cc-line);cursor:pointer}
.cc-row span{display:flex;flex-direction:column;min-width:0}
.cc-row strong{font-size:13.5px;font-weight:600}
.cc-row small{color:var(--cc-muted);font-size:12.5px;line-height:1.4}
.cc-row input{position:absolute;opacity:0;width:1px;height:1px}
.cc-row i{flex:none;position:relative;width:38px;height:22px;border-radius:99px;background:rgba(255,255,255,.16);transition:background .2s}
.cc-row i::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s cubic-bezier(.22,1,.36,1)}
.cc-row input:checked + i{background:var(--cc-brand)}
.cc-row input:checked + i::after{transform:translateX(16px)}
.cc-row input:disabled + i{opacity:.55}
.cc-row input:disabled{cursor:default}
.cc-row:has(input:disabled){cursor:default}
.cc-row input:focus-visible + i{box-shadow:0 0 0 3px rgba(75,123,255,.45)}

/* buttons: "Reject all" as easy to reach as "Accept all" */
.cc-actions{margin-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cc-btn{flex:1 1 0;min-width:0;height:38px;padding:0 12px;border-radius:10px;font-family:inherit;font-weight:600;font-size:13.5px;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.cc-btn[hidden],.cc-link[hidden]{display:none}
.cc-primary{border:1px solid var(--cc-brand);background:var(--cc-brand);color:#fff}
.cc-primary:hover{background:#3E6BFF}
.cc-ghost{border:1px solid rgba(255,255,255,.22);background:transparent;color:var(--cc-ink)}
.cc-ghost:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.05)}
.cc-link{flex:0 0 100%;padding:4px 0 0;border:0;background:none;color:var(--cc-muted);font-family:inherit;font-weight:600;font-size:13px;line-height:1.4;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.cc-link:hover{color:var(--cc-ink)}
.cc :focus-visible{outline:2px solid #8fb0ff;outline-offset:2px}

/* phones: a bar across the bottom, still small */
@media (max-width:520px){
  .cc{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;padding:12px 12px 10px;border-radius:14px}
  .cc-title{display:none}
  .cc-text{margin:0;font-size:13px}
  .cc.cc-open{max-height:calc(100dvh - 24px);overflow-y:auto}
}
@media (prefers-reduced-motion:reduce){.cc,.cc-row i,.cc-row i::after{transition:none}}

/* "Cookie settings" in the footer reopens the card */
.copy-link{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.copy-link:hover{color:#F2F5FA}
