.cookie-banner{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:9999;
  background:#14181A;
  color:#F4F7F5;
  padding: 1.2rem 5vw calc(1.2rem + env(safe-area-inset-bottom, 0px));
  transform: translateY(110%);
  transition: transform .35s ease;
  box-shadow: 0 -8px 24px rgba(0,0,0,.18);
}
.cookie-banner.is-visible{ transform: translateY(0); }
.cookie-banner__inner{
  max-width:1180px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  flex-wrap:wrap;
}
.cookie-banner__text{
  margin:0;
  font-size:.88rem;
  line-height:1.5;
  color: rgba(244,247,245,.85);
  flex:1 1 320px;
}
.cookie-banner__text a{ color:#fff; text-decoration:underline; }
.cookie-banner__actions{
  display:flex;
  gap:.8rem;
  flex:0 0 auto;
}
.cookie-banner__btn{
  padding:.7em 1.4em;
  border-radius:8px;
  font-size:.85rem;
  font-weight:700;
  cursor:pointer;
  border:1px solid rgba(244,247,245,.3);
  background:transparent;
  color:#fff;
  transition: background .2s ease, color .2s ease;
  white-space:nowrap;
}
.cookie-banner__btn--decline:hover{ background: rgba(244,247,245,.1); }
.cookie-banner__btn--accept{
  background:#fff;
  color:#14181A;
  border-color:#fff;
}
.cookie-banner__btn--accept:hover{ background: #E5E9E7; }

@media (max-width: 600px){
  .cookie-banner{ padding: 1rem 6vw calc(1rem + env(safe-area-inset-bottom, 0px)); }
  .cookie-banner__inner{ flex-direction:column; align-items:stretch; gap:1rem; }
  .cookie-banner__actions{ justify-content:flex-end; }
}

@media (max-width: 400px){
  .cookie-banner__actions{ flex-direction:column-reverse; gap:.6rem; }
  .cookie-banner__btn{ width:100%; text-align:center; padding:.8em 1rem; }
}
