/* ElevAItion cookie consent banner, 23 August 2026, v2. Gates analytics/advertising scripts until a choice is made. */

.cookie-consent{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:9999;
  background:var(--panel);
  border-top:1px solid var(--hairline);
  box-shadow:0 -4px 24px rgba(5,5,10,.35);
  padding:18px var(--gut);
  max-height:80vh;
  overflow-y:auto;
  transform:translateY(100%);
  transition:transform .25s var(--ease-out);
}
.cookie-consent.is-visible{
  transform:translateY(0);
}
.cookie-consent-inner{
  position:relative;
  z-index:2;
  max-width:var(--maxw);
  margin:0 auto;
}
.cookie-consent-text{
  font-family:var(--body);
  font-size:14px;
  line-height:1.5;
  color:var(--text-secondary);
  margin:0;
}
.cookie-consent-text a{
  color:var(--accent);
  text-decoration:underline;
}
.cookie-consent-simple{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.cookie-consent-simple[hidden],
.cookie-consent-detail[hidden]{
  display:none;
}
.cookie-consent-simple .cookie-consent-text{
  flex:1 1 380px;
}
.cookie-consent-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  flex:0 0 auto;
}
.cookie-consent-actions .btn,
.cookie-consent-actions .btn-ghost{
  padding:10px 20px;
  font-size:14px;
  min-height:40px;
}
.cookie-category{
  border-top:1px solid var(--hairline);
  padding:12px 0;
}
.cookie-category:first-of-type{
  border-top:none;
  padding-top:4px;
}
.cookie-category-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.cookie-category-head label{
  font-family:var(--display);
  font-weight:700;
  font-size:14px;
  color:var(--text-primary);
}
.cookie-category-head input[type="checkbox"]{
  width:18px;
  height:18px;
  accent-color:var(--accent);
}
.cookie-category-desc{
  margin:4px 0 0;
  font-family:var(--body);
  font-size:13px;
  color:var(--text-secondary);
}
.cookie-consent-detail .cookie-consent-actions{
  margin-top:14px;
  justify-content:flex-end;
}
@media (max-width:640px){
  .cookie-consent-simple{
    flex-direction:column;
    align-items:stretch;
  }
  .cookie-consent-simple .cookie-consent-text{
    flex:0 1 auto;
  }
  .cookie-consent-actions{
    justify-content:flex-start;
  }
  .cookie-consent-detail .cookie-consent-actions{
    justify-content:flex-start;
  }
}
