.privacy-notice {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 220;
  width: min(520px, calc(100% - 48px));
  max-height: calc(100svh - 48px);
  overflow-y: auto;
  padding: 22px 24px 20px;
  border: 1px solid #cbd6ce;
  border-radius: 8px;
  background: #fafaf8;
  color: #243c52;
  font-family: var(--sans, "DM Sans", system-ui, sans-serif);
  font-weight: 400;
  line-height: 1.6;
  text-align: left;
}
.privacy-notice[hidden] { display: none !important; }
.privacy-notice, .privacy-notice * { box-sizing: border-box; }
.privacy-notice .privacy-notice__heading {
  margin: 0 0 10px;
  color: #243c52;
  font-family: var(--heading, var(--sans, "DM Sans", system-ui, sans-serif));
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.02em;
}
.privacy-notice .privacy-notice__copy {
  margin: 0;
  color: #5e6965;
  font-size: 13px;
  line-height: 1.7;
}
.privacy-notice .privacy-notice__link {
  color: #243c52;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.privacy-notice .privacy-notice__link:hover { color: #4f6e5b; }
.privacy-notice .privacy-notice__actions { display: flex; justify-content: flex-end; margin-top: 16px; }
.privacy-notice .privacy-notice__dismiss {
  min-height: 44px;
  padding: 9px 20px;
  border: 1px solid #243c52;
  border-radius: 24px;
  background: #243c52;
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  cursor: pointer;
}
.privacy-notice .privacy-notice__dismiss:hover { border-color: #36556d; background: #36556d; }
.privacy-notice .privacy-notice__link:focus-visible, .privacy-notice .privacy-notice__dismiss:focus-visible { outline: 2px solid #243c52; outline-offset: 4px; }
@media (max-width: 600px) {
  .privacy-notice { right: 16px; bottom: 16px; left: 16px; width: auto; max-width: 520px; max-height: calc(100svh - 32px); padding: 18px 19px 17px; }
  .privacy-notice .privacy-notice__heading { font-size: 17px; margin-bottom: 9px; }
  .privacy-notice .privacy-notice__copy { font-size: 12px; line-height: 1.65; }
  .privacy-notice .privacy-notice__actions { margin-top: 14px; }
}
@media (max-width: 380px) {
  .privacy-notice { padding: 17px 18px 16px; }
  .privacy-notice .privacy-notice__heading { font-size: 16px; }
  .privacy-notice .privacy-notice__copy { font-size: 11.5px; }
}
@media print { .privacy-notice { display: none !important; } }
