.cookie-consent-banner {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 300;
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  max-width: 640px;
  margin: 0 auto;
  padding: 16px 18px;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 14px;
  background: #FFFFFF;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .14), 0 4px 12px rgba(15, 23, 42, .06);
  font-family: inherit;
}

.cookie-consent-banner.visible {
  display: flex;
}

.cookie-consent-banner p {
  flex: 1 1 260px;
  min-width: 0;
  margin: 0;
  color: #0F1720;
  font-size: .86rem;
  line-height: 1.45;
}

.cookie-consent-banner p a {
  color: #0B5FC7;
}

.cookie-consent-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}

.cookie-consent-banner button {
  border-radius: 10px;
  padding: 9px 16px;
  font-size: .84rem;
  font-weight: 700;
  cursor: pointer;
  border: 1px solid transparent;
}

.cookie-consent-accept {
  background: #0B5FC7;
  color: #FFFFFF;
}

.cookie-consent-accept:hover {
  background: #073E85;
}

.cookie-consent-decline {
  background: transparent;
  color: #0F1720;
  border-color: rgba(15, 23, 42, .16);
}

.cookie-consent-decline:hover {
  background: #F5F7FA;
}

/* legal.css pages don't define .text-btn (only styles.css does) - provide a
   matching fallback so the "Manage cookie preferences" control on
   cookies.html looks consistent wherever it's used. */
.text-btn {
  min-height: 32px;
  padding: 0;
  border: 0;
  color: #0B5FC7;
  background: transparent;
  font-weight: 700;
  font-size: .95rem;
  cursor: pointer;
}

.text-btn:hover {
  text-decoration: underline;
}

@media (max-width: 560px) {
  .cookie-consent-banner {
    flex-direction: column;
    align-items: stretch;
  }

  .cookie-consent-actions {
    justify-content: flex-end;
  }
}
