/* Cookie choice card, shared by every page. Made by consent.js. */
.cb {
  --cb-bg: #FFFDF8; --cb-ink: #0E0D0C; --cb-muted: #5C554C; --cb-accent: var(--accent, #FF6B2C);
  position: fixed; z-index: 60; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  max-width: 440px; margin: 0 auto; padding: 16px 18px 8px; border-radius: 22px;
  background: var(--cb-bg); color: var(--cb-ink);
  box-shadow: 0 0 0 1px rgba(14,13,12,.08), 0 24px 60px -18px rgba(14,13,12,.45);
  font: 400 15px/1.5 'Inter', system-ui, -apple-system, sans-serif; -webkit-font-smoothing: antialiased;
  animation: cb-in .35s ease both;
}
.cb[hidden] { display: none; }
.cb * { box-sizing: border-box; margin: 0; padding: 0; }
.cb-head { display: flex; align-items: center; gap: 10px; }
.cb-rec { width: 28px; height: 28px; flex: none; animation: cb-spin 6s linear infinite; }
.cb-rec-disc { fill: var(--cb-accent); }
.cb-tag { display: inline-block; background: var(--cb-accent); color: #0E0D0C; padding: 5px 9px; border-radius: 3px; font: 600 12px/16px 'JetBrains Mono', ui-monospace, Menlo, monospace; letter-spacing: .08em; text-transform: uppercase; }
.cb-title { font: 800 24px/1.1 'Bricolage Grotesque', 'Inter', system-ui, sans-serif; letter-spacing: -.03em; margin: 12px 0 6px; font-variation-settings: 'opsz' 96; }
.cb-text { color: var(--cb-muted); }
.cb-now { margin-top: 8px; font: 500 12px/18px 'JetBrains Mono', ui-monospace, Menlo, monospace; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-muted); }
.cb-now[hidden] { display: none; }
.cb-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.cb-btn { min-height: 48px; padding: 12px 18px; border: 0; border-radius: 999px; font: 600 16px/1 'Inter', system-ui, sans-serif; cursor: pointer; transition: transform .15s ease; }
.cb-btn:hover { transform: translateY(-1px); }
.cb-btn:active { transform: translateY(1px); }
.cb-accept { background: var(--cb-accent); color: #0E0D0C; }
.cb-decline { background: var(--cb-ink); color: var(--cb-bg); }
.cb-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--cb-ink); font-size: 14px; font-weight: 600; }
.cb :focus-visible { outline: 3px solid var(--cb-ink); outline-offset: 3px; border-radius: 999px; }
.cookie-settings { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; min-height: 44px; display: inline-flex; align-items: center; }
.cookie-settings:hover { text-decoration: underline; }
.cookie-settings[hidden] { display: none; }
@keyframes cb-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes cb-spin { to { transform: rotate(360deg); } }
@media (prefers-color-scheme: dark) {
  .cb { --cb-bg: #26231F; --cb-ink: #F8F3EA; --cb-muted: #BFB8AC; box-shadow: 0 0 0 1px rgba(248,243,234,.12), 0 24px 60px -18px rgba(0,0,0,.8); }
}
@media (min-width: 640px) {
  .cb { left: auto; right: 24px; bottom: 24px; margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .cb, .cb-rec { animation: none; }
  .cb-btn { transition: none; }
}
