.cookie-banner{
  position:fixed;
  left:50%;
  bottom:1rem;
  transform:translateX(-50%);
  width:min(640px,calc(100vw - 2rem));
  max-height:calc(100vh - 2rem);
  max-height:calc(100dvh - 2rem);
  background:#eeebff;
  color:#120055;
  padding:1.1rem 1.35rem;
  border-radius:14px;
  border:1px solid rgba(112,94,255,.18);
  box-shadow:0 18px 48px rgba(18,0,85,.18);
  display:flex;
  align-items:flex-start;
  gap:1rem;
  z-index:11000;
  transition:transform .25s ease,opacity .25s ease,visibility .25s;
  opacity:1;
  visibility:visible;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  pointer-events:none;
  touch-action:pan-y;
}
.cookie-banner.is-hidden{
  opacity:0;
  visibility:hidden;
  transform:translateX(-50%) translateY(10px);
  pointer-events:none;
}
.cookie-banner__text{
  font-size:.95rem;
  line-height:1.55;
  color:inherit;
  margin:0;
  flex:1;
  pointer-events:none;
}
.cookie-banner__text a{
  color:#4f3cf4;
  font-weight:700;
  text-decoration:none;
  pointer-events:auto;
  touch-action:manipulation;
}
.cookie-banner__text a:hover{ text-decoration:underline; }
.cookie-banner__btn{
  flex:0 0 auto;
  border:none;
  border-radius:10px;
  padding:.65rem 1.1rem;
  background:#18005f;
  color:#fff;
  font-weight:700;
  font-size:.95rem;
  cursor:pointer;
  transition:filter .18s ease,transform .18s ease;
  pointer-events:auto;
  touch-action:manipulation;
}
.cookie-banner__btn:hover{
  filter:brightness(.95);
  transform:translateY(-1px);
}
@media (max-width:520px){
  .cookie-banner{
    flex-direction:column;
    align-items:stretch;
    padding:1rem;
  }
  .cookie-banner__btn{
    width:100%;
    text-align:center;
  }
}
