.cookie-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  transform:none;
  width:100%;
  background:rgba(15, 38, 48, .96);
  color:#e8f6f9;
  padding:.9rem 0;
  border-top:1px solid rgba(255,255,255,.10);
  box-shadow:0 -18px 48px rgba(8,107,120,.18);
  display:block;
  z-index:11000;
  transition:transform .25s ease,opacity .25s ease,visibility .25s;
  opacity:1;
  visibility:visible;
}
.cookie-banner__inner{
  width:100%;
  max-width: var(--container, 75rem);
  margin:0 auto;
  padding: 0 1.5rem;
  display:flex;
  align-items:center;
  gap:1rem;
}
.has-cookie-banner body{
  padding-bottom: 5rem;
}
.cookie-banner.is-hidden{
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  pointer-events:none;
}
.cookie-banner__text{
  font-size:.95rem;
  line-height:1.55;
  color:inherit;
  margin:0;
  flex:1;
}
.cookie-banner__text a{
  color:#46d5d2;
  font-weight:700;
  text-decoration:none;
}
.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:linear-gradient(93deg,#2fcfc2 0%,#28b1d4 100%);
  color:#fff;
  font-weight:700;
  font-size:.95rem;
  cursor:pointer;
  transition:filter .18s ease,transform .18s ease;
}
.cookie-banner__btn:hover{
  filter:brightness(.95);
  transform:translateY(-1px);
}
@media (max-width:520px){
  .cookie-banner__inner{
    flex-direction:column;
    align-items:stretch;
    padding:0 1rem;
  }
  .cookie-banner__btn{
    width:100%;
    text-align:center;
  }
}
