/* Cookie consent bar (Surge consent kit v1). Theme it per site with the --cc-* variables. */
.cc-bar {
  --cc-bg: #0c0f0d; --cc-ink: #ffffff; --cc-muted: rgba(255, 255, 255, .72); --cc-line: rgba(255, 255, 255, .28);
  --cc-accent: #00c062; --cc-accent-ink: #ffffff; --cc-radius: 22px; --cc-btn-radius: 999px;
  --cc-font: inherit; --cc-title-font: inherit; --cc-btn-font: 600 15px/1 var(--cc-font); --cc-btn-case: none; --cc-btn-track: 0;
  position: fixed; z-index: 2147483000; left: 50%; bottom: max(16px, env(safe-area-inset-bottom, 0px));
  width: min(920px, calc(100% - 32px)); transform: translate(-50%, 24px); opacity: 0;
  transition: transform .45s cubic-bezier(.22, .61, .36, 1), opacity .45s;
  background: var(--cc-bg); color: var(--cc-ink); border-radius: var(--cc-radius);
  box-shadow: 0 24px 60px -18px rgba(0, 0, 0, .45); font-family: var(--cc-font);
}
.cc-bar.cc-in { transform: translate(-50%, 0); opacity: 1; }
.cc-inner { display: flex; align-items: center; gap: 24px; padding: 20px 22px 20px 26px; }
.cc-copy { flex: 1; min-width: 0; }
.cc-copy p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--cc-muted); }
.cc-copy .cc-title { margin-bottom: 4px; font: 600 16px/1.3 var(--cc-title-font); color: var(--cc-ink); letter-spacing: 0; }
.cc-link { color: var(--cc-ink); text-decoration: underline; text-underline-offset: 3px; margin-left: 4px; white-space: nowrap; }
.cc-actions { display: flex; gap: 10px; flex-shrink: 0; }
.cc-btn {
  min-width: 118px; min-height: 46px; padding: 0 22px; border-radius: var(--cc-btn-radius); cursor: pointer;
  font: var(--cc-btn-font); text-transform: var(--cc-btn-case); letter-spacing: var(--cc-btn-track);
  border: 1.5px solid var(--cc-line); background: transparent; color: var(--cc-ink);
  transition: background .2s, border-color .2s, transform .2s;
}
.cc-btn:hover { border-color: var(--cc-ink); }
.cc-btn:active { transform: scale(.98); }
.cc-btn:focus-visible { outline: 2px solid var(--cc-accent); outline-offset: 3px; }
.cc-accept { background: var(--cc-accent); border-color: var(--cc-accent); color: var(--cc-accent-ink); }
.cc-accept:hover { border-color: var(--cc-accent); filter: brightness(1.06); }
/* The host's own banner never shows: this bar is the single source of consent. */
[data-hook^="consent-banner-"] { display: none !important; }
@media (max-width: 720px) {
  .cc-inner { flex-direction: column; align-items: stretch; gap: 16px; padding: 18px; }
  .cc-actions .cc-btn { flex: 1; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) { .cc-bar { transition: none; } }
@media print { .cc-bar { display: none; } }
/* Divine Details theme */
html .cc-bar {
  --cc-bg: #24030f; --cc-ink: #f8f2ea; --cc-muted: rgba(248, 242, 234, .74); --cc-line: rgba(234, 211, 162, .38);
  --cc-accent: #c09a5b; --cc-accent-ink: #24030f; --cc-radius: 18px;
  --cc-font: "Hanken Grotesk", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --cc-title-font: "Instrument Serif", "Didot", Georgia, serif;
  --cc-btn-font: 500 .76rem/1 var(--cc-font); --cc-btn-case: uppercase; --cc-btn-track: .16em;
  border: 1px solid rgba(234, 211, 162, .2);
}
html .cc-copy .cc-title { font-weight: 400; font-size: 1.45rem; margin-bottom: 6px; }
html .cc-btn:hover { border-color: #ead3a2; }
html .cc-accept:hover { border-color: var(--cc-accent); }
