/* Cookie consent banner — shared across the four sites.
   Colours come from each site's own theme variables, so it follows light and dark mode;
   the values after each comma are fallbacks only. */
.cc-banner {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 10000;
  max-width: 34rem;
  margin: 0 auto;
  padding: 1.1rem 1.25rem 1.2rem;
  background: var(--bg-card, #fffdf8);
  color: var(--text, #2b2b2b);
  border: 1px solid var(--border, rgba(0, 0, 0, 0.15));
  border-radius: 6px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.9rem;
  line-height: 1.5;
}
.cc-banner .cc-title {
  margin: 0 0 0.35rem;
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  color: inherit;
}
.cc-banner .cc-intro { margin: 0 0 0.9rem; }
.cc-banner a { color: var(--accent, #2A4232); text-decoration: underline; }
.cc-banner .cc-choices { margin: 0 0 0.9rem; display: grid; gap: 0.55rem; }
.cc-banner .cc-choices[hidden] { display: none; }
.cc-banner .cc-row { display: flex; gap: 0.6rem; align-items: flex-start; cursor: pointer; }
.cc-banner .cc-row input { margin-top: 0.25rem; flex: none; width: 1rem; height: 1rem; accent-color: var(--accent, #2A4232); }
.cc-banner .cc-row input:disabled + span { opacity: 0.75; }
.cc-banner .cc-buttons { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.cc-banner .cc-btn {
  flex: 1 1 8rem;
  padding: 0.6rem 0.9rem;
  border: 1px solid var(--accent, #2A4232);
  border-radius: 4px;
  background: var(--accent, #2A4232);
  color: var(--bg, #fff);
  font: inherit;
  font-weight: 500;
  cursor: pointer;
}
.cc-banner .cc-btn[hidden] { display: none; }
.cc-banner .cc-btn-quiet { background: transparent; color: var(--accent, #2A4232); }
.cc-banner .cc-btn:focus-visible,
.cc-banner .cc-row input:focus-visible,
.cc-banner a:focus-visible { outline: 2px solid var(--accent, #2A4232); outline-offset: 2px; }
@media (max-width: 480px) {
  .cc-banner { left: 0.5rem; right: 0.5rem; bottom: 0.5rem; padding: 1rem; }
  .cc-banner .cc-btn { flex-basis: 100%; }
}
@media print { .cc-banner { display: none; } }
