.privacy-analytics-dialog {
  box-sizing: border-box; width: min(38rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem);
  padding: clamp(1.35rem, 4vw, 2.1rem); border: 1px solid var(--border, #d9d9d3); border-radius: 1.2rem;
  color: var(--ink, #363449); background: var(--paper, #faf8f3); box-shadow: 0 1rem 4rem #24283a25;
  overflow-y: auto; font: inherit;
}
.privacy-analytics-dialog::backdrop { background: #24283a55; }
.privacy-analytics-dialog h2 { margin: 0 0 1rem; font-size: clamp(1.5rem, 5vw, 2rem); line-height: 1.18; letter-spacing: -.04em; }
.privacy-analytics-dialog p { margin: .75rem 0; line-height: 1.6; }
.privacy-cookie-intro { font-size: .95rem; }
.privacy-cookie-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin-block-start: 1.5rem; }
.privacy-cookie-choice { min-block-size: 3rem; padding: .8rem .85rem; border: .0625rem solid var(--border, #d9d9d3); border-radius: 999rem; font: inherit; font-size: .9rem; font-weight: 600; line-height: 1.35; color: var(--ink, #363449); background: #ffffff90; cursor: pointer; transition: background-color .18s ease, border-color .18s ease, transform .18s ease; }
.privacy-cookie-choice:hover { background: #e8ede5; border-color: currentColor; }
.privacy-cookie-choice:active { background: #dce5d7; transform: scale(.98); }
.privacy-cookie-choice:focus-visible { outline: .1875rem solid var(--purple, #70579a); outline-offset: .25rem; }
.privacy-cookie-settings-heading { margin: 0 0 1.25rem; font-size: 1.2rem; }
.privacy-cookie-statistics h3, .privacy-cookie-map h3 { margin: 0 0 .65rem; font-size: 1.1rem; line-height: 1.35; letter-spacing: -.015em; }
.privacy-cookie-map { margin-block-start: 1.5rem; padding-block-start: 1.25rem; border-block-start: .0625rem solid var(--border, #d9d9d3); }
.privacy-cookie-map p { font-size: .9rem; }
.privacy-cookie-secondary-actions { display: flex; gap: 1rem; }
@media (max-width: 32rem) { .privacy-cookie-actions { grid-template-columns: minmax(0, 1fr); } }
.privacy-analytics-dialog .privacy-analytics-detail { font-size: .9rem; }
.privacy-analytics-dialog .privacy-analytics-status { padding: .8rem 1rem; border-radius: .65rem; background: #ebf0e8; font-size: .9rem; }
.privacy-analytics-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin: 1.2rem 0 .8rem; }
.privacy-analytics-choice {
  min-height: 3rem; padding: .75rem 1rem; border: 1px solid currentColor; border-radius: 999px;
  font: inherit; font-weight: 600; line-height: 1.3; color: var(--ink, #363449); background: transparent;
  cursor: pointer;
}
.privacy-analytics-choice:hover { background: #e8ede5; }
.privacy-analytics-choice:active { background: #dce5d7; transform: scale(.98); }
.privacy-analytics-choice:focus-visible, .privacy-analytics-dialog a:focus-visible, .privacy-analytics-close:focus-visible { outline: 3px solid var(--purple, #70579a); outline-offset: 4px; }
.privacy-analytics-dialog [hidden] { display: none !important; }
.privacy-analytics-secondary { display: flex; flex-wrap: wrap; gap: .8rem 1.1rem; align-items: center; justify-content: space-between; margin-top: 1rem; }
.privacy-analytics-close { min-height: 2.75rem; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.privacy-analytics-secondary a { color: inherit; text-underline-offset: .25em; }
.privacy-analytics-withdraw { width: 100%; margin: .65rem 0 0; }
@media (max-width: 380px) { .privacy-analytics-actions { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .privacy-analytics-dialog, .privacy-analytics-dialog * { transition: none !important; animation: none !important; } }
@media (prefers-reduced-motion: reduce) { .privacy-cookie-choice:active, .privacy-analytics-choice:active { transform: none; } }
@media (forced-colors: active) { .privacy-analytics-dialog { border: 1px solid CanvasText; } .privacy-analytics-choice, .privacy-cookie-choice { border: .0625rem solid ButtonText; background: ButtonFace; color: ButtonText; } .privacy-cookie-choice:focus-visible { outline-color: Highlight; } }
@media print { .privacy-analytics-dialog { display: none !important; } }

/* Separate optional-content controls; Analytics permission remains independent. */
.privacy-google-review-preferences { margin-block-start: 1.5rem; padding-block-start: 1.25rem; border-block-start: .0625rem solid var(--border, #d9d9d3); }
.privacy-google-review-preferences h3 { margin: 0 0 .65rem; font-size: 1.1rem; line-height: 1.35; letter-spacing: -.015em; }
.privacy-analytics-dialog .privacy-google-review-detail { font-size: .9rem; }
.privacy-analytics-dialog .privacy-google-review-status { padding: .8rem 1rem; border-radius: .65rem; background: #ebf0e8; font-size: .9rem; }
.privacy-google-review-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-block-start: 1rem; }
.privacy-google-review-choice { min-block-size: 3rem; padding: .75rem 1rem; border: .0625rem solid currentColor; border-radius: 999rem; font: inherit; font-weight: 600; line-height: 1.35; color: var(--ink, #363449); background: transparent; cursor: pointer; transition: background-color .2s ease, transform .2s ease; }
.privacy-google-review-choice:hover { background: #e8ede5; }
.privacy-google-review-choice:active { transform: scale(.98); }
.privacy-google-review-choice:focus-visible { outline: .1875rem solid var(--purple, #70579a); outline-offset: .25rem; }
.privacy-google-review-choice:disabled { opacity: .55; cursor: not-allowed; transform: none; }
@media (max-width: 26rem) { .privacy-google-review-actions { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .privacy-google-review-choice { transition: none; } .privacy-google-review-choice:active { transform: none; } }
@media (forced-colors: active) { .privacy-google-review-preferences { border-color: CanvasText; } .privacy-analytics-dialog .privacy-google-review-status { background: Canvas; color: CanvasText; } .privacy-google-review-choice { background: ButtonFace; color: ButtonText; border-color: ButtonText; } .privacy-google-review-choice:focus-visible { outline-color: Highlight; } .privacy-google-review-choice:disabled { color: GrayText; opacity: 1; } }

/* Match the public appointment buttons; only the combined acceptance is aurora. */
.privacy-cookie-choice[data-cookie-accept-all] {
  background: linear-gradient(115deg, #665391 0%, #4f6799 48%, #137c80 100%);
  background-size: 180% 180%; animation: aurora-drift 18s ease-in-out infinite;
  color: var(--paper, #faf8f3); border-color: transparent;
  box-shadow: 0 .1875rem .625rem rgba(35, 35, 42, .08);
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.privacy-cookie-choice[data-cookie-accept-all]:hover {
  background: linear-gradient(115deg, #5b4b83 0%, #465b88 48%, #116f74 100%);
  background-size: 180% 180%; border-color: transparent;
  box-shadow: 0 .25rem .875rem rgba(35, 35, 42, .1);
}
.privacy-cookie-choice[data-cookie-accept-all]:active {
  background: linear-gradient(115deg, #50406f 0%, #3d5078 48%, #0e6468 100%);
  background-size: 180% 180%; transform: scale(.98);
}
@media (prefers-reduced-motion: reduce) {
  .privacy-cookie-choice[data-cookie-accept-all] { animation: none; background-position: 50% 50%; }
  .privacy-cookie-choice[data-cookie-accept-all]:active { transform: none; }
}
@media (forced-colors: active) {
  .privacy-cookie-choice[data-cookie-accept-all],
  .privacy-cookie-choice[data-cookie-accept-all]:hover,
  .privacy-cookie-choice[data-cookie-accept-all]:active { background: ButtonFace; color: ButtonText; border-color: ButtonText; animation: none; box-shadow: none; }
}
