/* Cookie notice — shared by Index.html, privacy.html and terms.html.
   Uses the page's colour tokens (--midnight, --cloud, --grey-*, --black). */
.consent{
  position:fixed; left:24px; bottom:24px; z-index:400;
  width:340px; max-width:calc(100vw - 32px);
  padding:20px; border-radius:24px;
  background:var(--white); border:1px solid var(--grey-brd);
  box-shadow:0 24px 56px -24px rgba(26,27,46,.35);
  font-family:'Geist', system-ui, -apple-system, sans-serif; color:var(--midnight);
  opacity:0; visibility:hidden; transform:translateY(16px) scale(.98); transform-origin:0 100%;
  transition:opacity .25s ease, transform .45s cubic-bezier(.16,1,.3,1), visibility 0s .45s;
}
.consent.is-open{ opacity:1; visibility:visible; transform:none; transition:opacity .25s ease, transform .45s cubic-bezier(.16,1,.3,1), visibility 0s; }
.consent *{ letter-spacing:-0.02em; }

.consent__head{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.consent__icon{
  width:32px; height:32px; border-radius:50%; flex:none;
  background:var(--cloud); display:flex; align-items:center; justify-content:center;
}
.consent__icon svg{ width:18px; height:18px; }
.consent__title{ font-size:16px; font-weight:500; }
.consent__text{ font-size:13px; line-height:1.5; color:var(--grey-text); }
.consent__text a{ color:var(--midnight); text-decoration:underline; text-underline-offset:2px; }

.consent__actions{ display:flex; gap:8px; margin-top:16px; }
.consent__btn{
  flex:1; height:40px; border-radius:100px; border:1px solid transparent;
  background:var(--black); color:var(--white);
  font:inherit; font-size:13px; font-weight:500; cursor:pointer;
  transition:transform .15s ease;
}
.consent__btn:hover{ transform:translateY(-1px); }
.consent__btn--ghost{ background:var(--white); color:var(--midnight); border-color:var(--grey-brd); }
.consent__btn--ghost:hover{ background:var(--grey-bg); }
.consent__btn:focus-visible{ outline:2px solid var(--primary); outline-offset:2px; }

@media (max-width:760px){
  .consent{ left:12px; right:12px; bottom:12px; width:auto; max-width:none; padding:18px; transform-origin:50% 100%; }
}
@media (prefers-reduced-motion: reduce){
  .consent,.consent.is-open{ transition:opacity .2s ease, visibility 0s; transform:none; }
}
