.rainbow-consent[hidden] { display: none; }
.rainbow-consent { position: fixed; z-index: 10000; inset: auto 20px 20px; max-width: 980px; margin-inline: auto; padding: 22px 26px; background: #fff; color: #073d50; border: 1px solid #49636d; border-radius: 12px; display: flex; align-items: center; gap: 24px; }
.rainbow-consent h2 { font-size: 20px; line-height: 1.3; margin: 0 0 8px; }
.rainbow-consent p { font-size: 15px; line-height: 1.55; margin: 0; max-width: 68ch; }
.rainbow-consent a, .rainbow-privacy-copy a { color: #086650; text-decoration: underline; text-underline-offset: 3px; }
.rainbow-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; flex-shrink: 0; max-width: 190px; }
.rainbow-consent button { min-height: 44px; width: 100%; padding: 9px 14px; border: 1px solid #073d50; border-radius: 6px; background: #fff; color: #073d50; font: inherit; font-size: 15px; cursor: pointer; }
.rainbow-consent button:hover { background: #e8f4f1; }
.rainbow-consent button:focus-visible, .rainbow-privacy-links button:focus-visible, .rainbow-privacy-links a:focus-visible { outline: 3px solid #18866a; outline-offset: 3px; }
.rainbow-privacy-links { display: flex; flex-wrap: wrap; gap: 20px; padding-block: 12px; color: #fff; }
.rainbow-privacy-links a, .rainbow-privacy-links button { color: inherit; text-decoration: underline; text-underline-offset: 3px; font: inherit; font-size: 14px; }
.rainbow-privacy-links button { background: none; border: 0; padding: 0; cursor: pointer; }
.rainbow-privacy-copy { max-width: 76ch; padding: 70px 24px; margin-inline: auto; }
.rainbow-privacy-copy h1 { font-size: clamp(30px, 5vw, 44px); line-height: 1.2; }
.rainbow-privacy-copy h2 { font-size: 24px; margin: 36px 0 12px; }
@media (max-width: 650px) {
  .rainbow-consent { inset: auto 10px 10px; padding: 18px; gap: 14px; flex-direction: column; align-items: stretch; max-height: 75vh; overflow: auto; }
  .rainbow-consent__actions { max-width: none; flex-wrap: nowrap; }
  .rainbow-consent button { flex: 1; }
}
