/* REbuilder "Your Privacy Choices" for static-document sites (v1); drawn by
   privacy-choices.v1.js. Matches components/website/PrivacyChoices.tsx. Every
   rule is keyed by an .rbpc- class, so nothing else on the page changes.

   The band under the footer continues the footer: it takes the same theme
   variables the theme's own footer rule reads (Winslow: --ink-band /
   --ink-band-fg; Palm Court: --pc-deep / --pc-on-deep-soft; its Tenor Field
   family: --pc-paper-alt / --pc-ink-soft), and otherwise the page's colours. */
.rbpc-band {
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 16px 16px 24px;
  background: var(--ink-band, transparent);
  color: var(--ink-band-fg, inherit);
}
.template-palm-court .rbpc-band { background: var(--pc-deep); color: var(--pc-on-deep-soft); }
.template-palm-court.family-tenor-field .rbpc-band { background: var(--pc-paper-alt); color: var(--pc-ink-soft, #4a4744); }
/* A theme that stretches <body> to the viewport (Winslow: a flex column,
   min-height 100svh, footer pushed to the bottom) keeps its footer exactly
   where it was on a short page; the band starts below that stretch. */
body:has(> .rbpc-band) { min-height: calc(100vh + 84px); min-height: calc(100svh + 84px); }
.rbpc-band { box-sizing: border-box; min-height: 84px; flex-shrink: 0; }
.rbpc-band .rbpc-link {
  min-height: 44px;
  margin: 0;
  padding: 0 12px;
  border: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: normal;
  text-transform: none;
  /* Will 10-29: underlined at rest, so it reads as a link to tap, not a line of text. */
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  opacity: 0.9;
  cursor: pointer;
}
.rbpc-band .rbpc-link:hover { opacity: 1; text-decoration-thickness: 2px; }
.rbpc-band .rbpc-link:focus { outline: none; }
.rbpc-band .rbpc-link:focus-visible { outline: none; box-shadow: 0 0 0 2px currentColor; opacity: 1; }

/* Shared reset: the panel and notice draw on any theme. The notice uses the system sans (as the React notice's font-sans); the
   panel takes the site's own type, as the React panel does. */
.rbpc-notice, .rbpc-overlay { box-sizing: border-box; text-align: left; }
.rbpc-notice { font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; }
.rbpc-notice *, .rbpc-overlay * { box-sizing: border-box; }
.rbpc-notice :is(p, h2, h3), .rbpc-overlay :is(p, h2, h3) { margin: 0; padding: 0; font-family: inherit; letter-spacing: normal; text-transform: none; }
.rbpc-notice button, .rbpc-overlay button { margin: 0; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }

/* First-visit notice (only on a site with a tag, before any answer). */
.rbpc-notice {
  position: fixed;
  bottom: 16px;
  left: 16px;
  right: 16px;
  z-index: 60;
  max-width: 480px;
  margin: 0 auto;
  border-radius: 10px;
  background: rgb(24 24 27 / 0.96);
  padding: 16px;
  font-size: 14px;
  line-height: 20px;
  color: #fff;
  box-shadow: 0 12px 32px rgb(0 0 0 / 0.24);
}
@media (min-width: 640px) { .rbpc-notice { right: auto; } }
.rbpc-notice p { color: #fff; font-size: 14px; line-height: 20px; }
.rbpc-notice a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.rbpc-notice .rbpc-notice-actions { margin-top: 12px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.rbpc-notice .rbpc-notice-actions button { height: 44px; border: 0; border-radius: 6px; background: none; color: #fff; font-weight: 500; font-size: 14px; }
@media (min-width: 640px) { .rbpc-notice .rbpc-notice-actions button { height: 36px; } }
.rbpc-notice .rbpc-notice-choices { padding: 0 8px; text-decoration: underline; text-underline-offset: 2px; }
.rbpc-notice .rbpc-notice-choices:hover { text-decoration: none; }
.rbpc-notice .rbpc-notice-actions .rbpc-notice-reject { padding: 0 14px; border: 1px solid rgb(255 255 255 / 0.4); }
.rbpc-notice .rbpc-notice-actions .rbpc-notice-reject:hover { background: rgb(255 255 255 / 0.1); }
.rbpc-notice .rbpc-notice-actions .rbpc-notice-accept { padding: 0 14px; background: #fff; color: rgb(24 24 27); }
.rbpc-notice .rbpc-notice-actions .rbpc-notice-accept:hover { background: rgb(255 255 255 / 0.9); }
.rbpc-notice button:focus { outline: none; }
.rbpc-notice button:focus-visible { box-shadow: 0 0 0 2px #fff; }

/* The panel. */
.rbpc-overlay {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgb(0 0 0 / 0.5);
}
@media (min-width: 640px) { .rbpc-overlay { align-items: center; padding: 24px; } }
.rbpc-overlay .rbpc-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: default; }
.rbpc-overlay .rbpc-dialog {
  position: relative;
  max-height: 92vh;
  width: 100%;
  max-width: 560px;
  overflow-y: auto;
  background: #fff;
  padding: 28px 24px 24px;
  color: rgb(24 24 27);
  box-shadow: 0 12px 32px rgb(0 0 0 / 0.24);
}
@media (min-width: 640px) { .rbpc-overlay .rbpc-dialog { padding: 36px 40px 40px; } }
.rbpc-overlay .rbpc-dialog:focus { outline: none; }
.rbpc-overlay .rbpc-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.rbpc-overlay .rbpc-title { font-size: 26px; line-height: 32px; font-weight: 400; text-transform: uppercase; letter-spacing: 0.01em; color: rgb(24 24 27); }
@media (min-width: 640px) { .rbpc-overlay .rbpc-title { font-size: 30px; line-height: 36px; } }
.rbpc-overlay .rbpc-close {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: -4px -8px 0 0;
  padding: 0;
  border: 0;
  border-radius: 9999px;
  background: none;
  color: rgb(24 24 27);
}
.rbpc-overlay .rbpc-close:hover { background: rgb(0 0 0 / 0.05); }
.rbpc-overlay .rbpc-intro, .rbpc-overlay .rbpc-text { font-size: 15px; line-height: 24px; color: rgb(63 63 70); }
.rbpc-overlay .rbpc-intro { margin-top: 12px; }
.rbpc-overlay .rbpc-intro a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.rbpc-overlay .rbpc-category { padding: 20px 0; border-bottom: 1px solid rgb(0 0 0 / 0.1); }
.rbpc-overlay .rbpc-category--first { margin-top: 24px; padding-top: 0; }
.rbpc-overlay .rbpc-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.rbpc-overlay .rbpc-category-title { font-size: 16px; line-height: 24px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.02em; color: rgb(24 24 27); }
.rbpc-overlay .rbpc-text { margin-top: 8px; }
.rbpc-overlay .rbpc-always { font-size: 14px; font-weight: 500; color: rgb(21 101 52); }
.rbpc-overlay .rbpc-switch {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  width: 52px;
  height: 28px;
  padding: 0;
  border: 2px solid rgb(113 113 122);
  border-radius: 9999px;
  background: #fff;
  transition: background-color 150ms, border-color 150ms;
}
.rbpc-overlay .rbpc-switch[aria-checked="true"] { border-color: rgb(24 24 27); background: rgb(24 24 27); }
.rbpc-overlay .rbpc-knob { display: inline-block; width: 20px; height: 20px; border-radius: 9999px; background: rgb(113 113 122); transform: translateX(3px); transition: transform 150ms; }
.rbpc-overlay .rbpc-switch[aria-checked="true"] .rbpc-knob { background: #fff; transform: translateX(25px); }
.rbpc-overlay .rbpc-actions { margin-top: 28px; display: flex; flex-direction: column; gap: 12px; }
.rbpc-overlay .rbpc-actions button { height: 48px; font-size: 15px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.04em; border-radius: 0; }
.rbpc-overlay .rbpc-cancel { border: 1px solid rgb(0 0 0 / 0.25); background: #fff; color: rgb(24 24 27); }
.rbpc-overlay .rbpc-cancel:hover { background: rgb(0 0 0 / 0.05); }
.rbpc-overlay .rbpc-save { border: 0; background: rgb(24 24 27); color: #fff; }
.rbpc-overlay .rbpc-save:hover { background: #000; }
.rbpc-overlay button:focus { outline: none; }
.rbpc-overlay button:focus-visible { box-shadow: 0 0 0 2px rgb(24 24 27); }
.rbpc-overlay .rbpc-switch:focus-visible, .rbpc-overlay .rbpc-save:focus-visible { box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgb(24 24 27); }
@media (prefers-reduced-motion: reduce) { .rbpc-overlay .rbpc-switch, .rbpc-overlay .rbpc-knob { transition: none; } }
