/* Schema patch 39.42: the cookie choices banner and the map's "Load map" card (assets/js/consent.js). Temple Dawn by default,
   Temple Dark under :root.dark / [data-theme="dark"]; Reject and Accept are the same size and weight; buttons 44 px; no
   horizontal scroll at 320 px; nothing moves for prefers-reduced-motion. */
.djjs-consent { position: fixed; z-index: 2147483000; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); margin: 0 auto;
  max-width: 44rem; box-sizing: border-box; padding: 18px 20px; border-radius: 18px; border: 1px solid rgba(217, 119, 6, .3);
  background: #FBF8F1; color: #2A241E; box-shadow: 0 18px 50px rgba(42, 36, 30, .22); font: 400 .95rem/1.5 Mukta, system-ui, sans-serif;
  display: grid; gap: 12px; animation: djjs-consent-in .28s ease-out both; }
.djjs-consent[hidden] { display: none; }
:root.dark .djjs-consent, [data-theme="dark"] .djjs-consent { background: #14131F; color: #FCFBF7; border-color: rgba(217, 119, 6, .22); box-shadow: 0 18px 50px rgba(0, 0, 0, .55); }
@keyframes djjs-consent-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .djjs-consent { animation: none; } }
.djjs-consent__h { margin: 0; font: 600 1.25rem/1.2 'Cormorant Garamond', Georgia, serif; }
.djjs-consent__p { margin: 4px 0 0; }
.djjs-consent__p a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.djjs-consent__choices { display: grid; gap: 8px; margin-top: 10px; }
.djjs-consent__choices[hidden] { display: none; }
.djjs-consent__opt { position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; min-height: 44px; padding: 8px 10px;
  border: 1px solid rgba(217, 119, 6, .22); border-radius: 12px; cursor: pointer; }
.djjs-consent__opt input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: #D97706; }
.djjs-consent__opt strong { display: block; }
.djjs-consent__acts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.djjs-consent__btn { position: relative; flex: 1 1 10rem; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid #881337; background: #881337;
  color: #FCFBF7; font: 600 .95rem/1 Mukta, system-ui, sans-serif; cursor: pointer; }
.djjs-consent__btn[hidden] { display: none; }
.djjs-consent__link { position: relative; min-height: 44px; padding: 0 12px; border: 0; background: none; color: inherit; font: 600 .92rem/1 Mukta, system-ui, sans-serif;
  text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.djjs-consent__btn:focus-visible, .djjs-consent__link:focus-visible { outline: 2px solid #F59E0B; outline-offset: 2px; }
.djjs-consent-map { position: absolute; inset: 0; z-index: 800; display: grid; place-content: center; gap: 10px; padding: 16px; text-align: center;
  background: rgba(251, 248, 241, .94); color: #2A241E; font: 400 .92rem/1.45 Mukta, system-ui, sans-serif; }
:root.dark .djjs-consent-map, [data-theme="dark"] .djjs-consent-map { background: rgba(22, 19, 17, .94); color: #FCFBF7; }
.djjs-consent-map p { margin: 0 auto; max-width: 26rem; }
.djjs-consent-map__acts { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.djjs-consent-map .djjs-consent__btn { flex: 0 1 auto; }
.djjs-consent-pref { position: relative; min-height: 44px; padding: 0 4px; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline;
  text-underline-offset: 2px; cursor: pointer; }
