/* Safari quirk: an authored `display: flex` rule below would otherwise win over
   the user-agent stylesheet's [hidden] { display: none } rule (Chrome handles
   specificity differently). Force [hidden] to take precedence with !important. */
.cookie-banner[hidden] { display: none !important; }

.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #1a1a1a;
  color: #fff;
  padding: .65rem 1rem;
  font-size: .85rem;
  z-index: 1000;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
}
.cookie-banner-text { margin: 0; flex: 1 1 auto; line-height: 1.4; }
.cookie-banner-text a { color: #6cb6ff; }
.cookie-banner-actions { display: flex; gap: .4rem; flex: 0 0 auto; }
.cookie-banner-actions button {
  padding: .35rem .85rem;
  border: 1px solid #fff;
  background: transparent;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: .85rem;
  border-radius: 3px;
}
.cookie-banner-actions #cookie-accept { background: #fff; color: #1a1a1a; }
.cookie-banner-actions button:hover { opacity: 0.9; }

@media (max-width: 600px) {
  .cookie-banner {
    padding: .55rem .75rem;
    font-size: .8rem;
    gap: .5rem;
    flex-wrap: nowrap;
    align-items: center;
  }
  .cookie-banner-text {
    font-size: .8rem;
    line-height: 1.3;
    flex: 1 1 auto;
    min-width: 0;
  }
  .cookie-banner-actions button {
    padding: .3rem .65rem;
    font-size: .8rem;
  }
}
