/* NeuOdio privacy and analytics consent controls v1.0.0 */
:root{
  --privacy-panel:#0b1930;
  --privacy-text:#f5fbff;
  --privacy-muted:#bac7d6;
  --privacy-accent:#20e6d2;
  --privacy-border:rgba(157,232,255,.28);
  --privacy-shadow:0 18px 55px rgba(0,0,0,.38);
}

.privacy-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:10000;
  background:rgba(7,18,37,.98);
  color:var(--privacy-text);
  border-top:1px solid var(--privacy-border);
  box-shadow:0 -14px 40px rgba(0,0,0,.28);
  padding:1rem;
}
.privacy-banner[hidden],
.privacy-modal[hidden],
.privacy-banner-spacer[hidden]{display:none!important}
.privacy-banner.privacy-banner-spacer{
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  z-index:auto;
  visibility:hidden;
  pointer-events:none;
  box-shadow:none;
}
body.privacy-modal-open{overflow:hidden}
.privacy-banner-inner{
  width:min(1180px,calc(100% - 2rem));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem 1.5rem;
  align-items:center;
}
.privacy-banner-copy h2,
.privacy-dialog h2{
  margin:0 0 .35rem;
  color:var(--privacy-text);
  font-size:1.15rem;
}
.privacy-banner-copy p,
.privacy-dialog p{
  margin:0;
  color:var(--privacy-muted);
  line-height:1.55;
}
.privacy-actions,
.privacy-dialog-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  align-items:center;
}
.privacy-actions{justify-content:flex-end}
.privacy-dialog-actions{margin-top:1rem}
.privacy-dialog-policy{margin-top:1rem!important}
.privacy-choice-btn,
.privacy-close-btn{
  appearance:none;
  border:1px solid var(--privacy-accent);
  background:transparent;
  color:var(--privacy-text);
  border-radius:999px;
  padding:.72rem 1rem;
  min-height:44px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.privacy-choice-btn:hover,
.privacy-close-btn:hover{background:rgba(32,230,210,.12)}
.privacy-close-btn{border-color:rgba(255,255,255,.35)}
.privacy-link,
.footer-pref-button{
  color:var(--privacy-accent);
  text-decoration:underline;
  text-underline-offset:.2em;
}
.footer-pref-button{
  appearance:none;
  border:0;
  background:none;
  padding:0;
  font:inherit;
  cursor:pointer;
}
.privacy-choice-btn:focus-visible,
.privacy-close-btn:focus-visible,
.privacy-link:focus-visible,
.footer-pref-button:focus-visible{
  outline:3px solid var(--privacy-accent);
  outline-offset:3px;
}
.privacy-modal{
  position:fixed;
  inset:0;
  z-index:10001;
  display:grid;
  place-items:center;
  padding:1rem;
  background:rgba(2,8,18,.72);
}
.privacy-dialog{
  width:min(640px,100%);
  max-height:min(720px,calc(100vh - 2rem));
  overflow:auto;
  background:var(--privacy-panel);
  color:var(--privacy-text);
  border:1px solid var(--privacy-border);
  border-radius:18px;
  box-shadow:var(--privacy-shadow);
  padding:1.25rem;
}
.privacy-dialog-status{
  margin:.85rem 0 1rem!important;
  padding:.8rem 1rem;
  border-radius:12px;
  border:1px solid var(--privacy-border);
  background:rgba(255,255,255,.035);
}
.privacy-sr-status{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media (max-width:760px){
  .privacy-banner-inner{grid-template-columns:1fr}
  .privacy-actions{justify-content:flex-start}
}
@media (prefers-reduced-motion:reduce){
  .privacy-banner *,
  .privacy-modal *{
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important;
  }
}
