/* Consent banner. Uses the site tokens defined in each page's :root. */

.cc-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:200;
  background:rgba(20,22,25,.96);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border-top:1px solid var(--line,#26292E);
  padding:22px 0;
  transform:translateY(101%);
  transition:transform .32s ease;
}
.cc-banner.is-open{transform:translateY(0);}
.cc-inner{
  max-width:var(--wide,1120px); margin:0 auto; padding:0 32px;
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:28px; flex-wrap:wrap;
}
.cc-copy{flex:1 1 420px; min-width:0;}
.cc-copy h2{
  font-family:'Newsreader',Georgia,serif; font-weight:500; line-height:1.1;
  font-size:20px; color:var(--white,#F3F2EF); margin:0;
}
.cc-copy p{
  margin:8px 0 0; font-family:'Archivo',sans-serif; font-size:14.5px; line-height:1.5;
  color:var(--grey,#7B7F86); max-width:62ch;
}
.cc-actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center; flex:0 0 auto;}
.cc-btn{
  font-family:'Archivo',sans-serif; font-size:13.5px; cursor:pointer;
  border-radius:999px; padding:10px 22px; white-space:nowrap;
  border:1px solid var(--line,#26292E); background:transparent; color:var(--soft,#B4B8BE);
  transition:color .2s, border-color .2s, background .2s;
}
.cc-btn:hover{color:var(--white,#F3F2EF); border-color:var(--grey,#7B7F86);}
.cc-btn.cc-accept{
  background:var(--white,#F3F2EF); border-color:var(--white,#F3F2EF); color:var(--black,#0B0C0E);
}
.cc-btn.cc-accept:hover{opacity:.88; color:var(--black,#0B0C0E);}
.cc-btn:focus-visible{outline:2px solid var(--white,#F3F2EF); outline-offset:3px;}

/* Persistent reopener, shown only once a choice has been recorded. */
.cc-reopen{
  position:fixed; left:16px; bottom:16px; z-index:190;
  font-family:'Archivo',sans-serif; font-size:12px; letter-spacing:.02em;
  color:var(--grey,#7B7F86); background:rgba(20,22,25,.82);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border:1px solid var(--line,#26292E); border-radius:999px;
  padding:7px 14px; cursor:pointer; opacity:.62;
  transition:opacity .2s, color .2s, border-color .2s;
}
.cc-reopen:hover{opacity:1; color:var(--white,#F3F2EF); border-color:var(--grey,#7B7F86);}
.cc-reopen:focus-visible{opacity:1; outline:2px solid var(--white,#F3F2EF); outline-offset:3px;}
.cc-reopen[hidden]{display:none;}

@media (max-width:720px){
  .cc-inner{padding:0 20px; gap:18px;}
  .cc-actions{width:100%;}
  .cc-btn{flex:1 1 auto; text-align:center;}
  .cc-reopen{left:12px; bottom:12px;}
}
@media (prefers-reduced-motion:reduce){
  .cc-banner{transition:none;}
}
