.cookie-banner {
  position:fixed;
  z-index:1000;
  right:clamp(16px,3vw,42px);
  bottom:clamp(16px,3vw,36px);
  left:clamp(16px,3vw,42px);
  width:min(1120px,calc(100% - clamp(32px,6vw,84px)));
  margin-inline:auto;
  padding:22px 24px;
  border:1px solid rgba(223,189,121,.58);
  border-top:2px solid #a87832;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  color:#f4eee5;
  background:rgba(11,12,12,.96);
  box-shadow:0 22px 70px rgba(0,0,0,.38);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  backdrop-filter:blur(18px) saturate(125%);
  font-family:Arial,Helvetica,sans-serif;
  opacity:0;
  transform:translateY(22px);
  transition:opacity .35s ease,transform .35s ease
}

.cookie-banner.visible {
  opacity:1;
  transform:none
}

.cookie-banner:not(.visible) {
  pointer-events:none
}

.cookie-banner[hidden] {
  display:none
}

.cookie-copy {
  max-width:730px
}

.cookie-eyebrow {
  margin:0 0 7px;
  color:#dfbd79;
  font-size:10px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.16em;
  text-transform:uppercase
}

.cookie-title {
  margin:0 0 7px;
  color:#fff;
  font:400 21px/1.25 Georgia,"Times New Roman",serif
}

.cookie-description {
  margin:0;
  color:#cfc8be;
  font-size:12px;
  line-height:1.65
}

.cookie-description a {
  color:#dfbd79;
  border-bottom:1px solid rgba(223,189,121,.55);
  text-decoration:none
}

.cookie-description a:hover {
  color:#fff;
  border-color:#fff
}

.cookie-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px
}

.cookie-button {
  min-height:43px;
  padding:9px 17px;
  border:1px solid #a87832;
  font:700 11px/1.2 Arial,Helvetica,sans-serif;
  cursor:pointer;
  transition:color .22s ease,background .22s ease,border-color .22s ease,transform .22s ease
}

.cookie-button:hover {
  transform:translateY(-2px)
}

.cookie-button.necessary {
  color:#dfbd79;
  background:transparent
}

.cookie-button.necessary:hover {
  color:#fff;
  background:rgba(168,120,50,.18)
}

.cookie-button.accept {
  color:#fff;
  background:#76501d
}

.cookie-button.accept:hover {
  background:#805a25;
  border-color:#805a25
}

@media(max-width:760px) {
  .cookie-banner {
    padding:20px;
    grid-template-columns:1fr;
    gap:18px
  }

  .cookie-actions {
    display:grid;
    grid-template-columns:1fr 1fr
  }
}

@media(max-width:460px) {
  .cookie-banner {
    max-height:calc(100svh - 24px);
    right:12px;
    bottom:12px;
    left:12px;
    width:auto;
    overflow:auto
  }

  .cookie-actions {
    grid-template-columns:1fr
  }
}

@media(prefers-reduced-motion:reduce) {
  .cookie-banner,
  .cookie-button {
    transition:none
  }
}
