@font-face {
  font-family: "DM Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/dm-mono-400-latin.woff2") format("woff2");
}

@font-face {
  font-family: "DM Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/dm-mono-500-latin.woff2") format("woff2");
}

@font-face {
  font-family: "DM Serif Display";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/dm-serif-display-regular-latin.woff2") format("woff2");
}

@font-face {
  font-family: "DM Serif Display";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/dm-serif-display-italic-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/assets/fonts/outfit-latin.woff2") format("woff2");
}

.privacy-banner {
  position: fixed;
  z-index: 1000;
  right: 18px;
  bottom: 18px;
  left: 18px;
  max-width: 720px;
  margin-left: auto;
  padding: 20px;
  color: #121826;
  background: #fff;
  border: 1px solid #d8d2c8;
  box-shadow: 0 18px 48px rgba(4, 38, 76, .2);
  font-family: "Outfit", system-ui, sans-serif;
}

.privacy-banner[hidden] { display: none; }
.privacy-banner strong { display: block; color: #04264c; font-size: 18px; }
.privacy-banner p { margin: 8px 0 14px; color: #4f5b6a; line-height: 1.55; }
.privacy-banner a { color: #04264c; }
.privacy-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.privacy-actions button,
.privacy-settings-button,
.privacy-dialog button {
  min-height: 42px;
  padding: 9px 14px;
  color: #04264c;
  background: #fff;
  border: 1px solid #a9a39a;
  border-radius: 3px;
  cursor: pointer;
  font: 600 14px/1.2 "Outfit", system-ui, sans-serif;
}
.privacy-actions .privacy-primary { color: #fff; background: #04264c; border-color: #04264c; }
.privacy-actions button:focus-visible,
.privacy-settings-button:focus-visible,
.privacy-dialog button:focus-visible {
  outline: 3px solid #c8a96e;
  outline-offset: 3px;
}

.privacy-settings-button {
  position: fixed;
  z-index: 900;
  right: 14px;
  bottom: 14px;
  min-height: 36px;
  padding: 7px 10px;
  box-shadow: 0 4px 16px rgba(4, 38, 76, .14);
  font-size: 12px;
}

.privacy-dialog {
  width: min(560px, calc(100% - 32px));
  padding: 0;
  color: #121826;
  background: #fff;
  border: 1px solid #d8d2c8;
  border-radius: 3px;
  font-family: "Outfit", system-ui, sans-serif;
}
.privacy-dialog::backdrop { background: rgba(4, 38, 76, .55); }
.privacy-dialog-inner { padding: 24px; }
.privacy-dialog h2 { margin: 0 0 10px; color: #04264c; font-family: "DM Serif Display", Georgia, serif; font-size: 30px; }
.privacy-dialog p { margin: 0 0 16px; color: #4f5b6a; line-height: 1.6; }
.privacy-choice {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 0;
  border-top: 1px solid #d8d2c8;
}
.privacy-choice strong { color: #04264c; }
.privacy-choice small { display: block; margin-top: 4px; color: #687484; line-height: 1.45; }
.privacy-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 18px; }
.privacy-dialog-actions .privacy-primary { color: #fff; background: #04264c; border-color: #04264c; }

@media (max-width: 640px) {
  .privacy-banner { right: 10px; bottom: 10px; left: 10px; padding: 18px; }
  .privacy-actions { display: grid; }
  .privacy-actions button { width: 100%; }
  .privacy-settings-button { right: 10px; bottom: 10px; }
  .privacy-choice { display: grid; }
}
