/* Shared cookie banner, privacy notice and map placeholder. Neutral so it sits on every site;
   each site can set --cc-accent to its own button colour. */
.cc-banner {
  --cc-bg: #15181D; --cc-fg: #F2F3F5; --cc-mute: #B7BCC6; --cc-line: rgba(255,255,255,.16);
  position: fixed; z-index: 60;
  left: max(12px, env(safe-area-inset-left, 0px)); right: max(12px, env(safe-area-inset-right, 0px));
  bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  max-width: 760px; margin-inline: auto;
  background: var(--cc-bg); color: var(--cc-fg);
  border: 1px solid var(--cc-line); border-radius: 14px;
  padding: 16px 18px; box-shadow: 0 18px 50px rgba(0,0,0,.28);
  display: grid; gap: 12px; font-size: .95rem; line-height: 1.5;
}
.cc-banner[hidden] { display: none; }
.cc-text { margin: 0; }
.cc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cc-btn {
  font: inherit; font-weight: 600; font-size: .9rem; cursor: pointer;
  padding: 10px 16px; border-radius: 999px; min-height: 42px;
  background: transparent; color: inherit; border: 1px solid currentColor;
}
/* Both choices look the same on purpose: no nudging toward "allow". */
.cc-banner .cc-btn { border-color: var(--cc-line); background: rgba(255,255,255,.06); }
.cc-banner .cc-btn:hover, .cc-dialog .cc-btn:hover { background: rgba(127,127,127,.18); }
.cc-link { font: inherit; font-size: .88rem; background: none; border: 0; color: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; padding: 6px 4px; opacity: .85; }
.cc-btn:focus-visible, .cc-link:focus-visible { outline: 2px solid #8AB4FF; outline-offset: 2px; }

.cc-dialog {
  width: min(560px, calc(100vw - 32px)); max-height: 86vh; overflow: auto;
  border: 0; border-radius: 16px; padding: 26px 26px 20px;
  background: #FFFFFF; color: #1A1D22; font-size: .97rem; line-height: 1.6;
  box-shadow: 0 30px 80px rgba(0,0,0,.3);
}
.cc-dialog::backdrop { background: rgba(10, 12, 16, .55); }
.cc-dialog h2 { margin: 0 0 12px; font-size: 1.35rem; line-height: 1.2; }
.cc-dialog p { margin: 0 0 10px; }
.cc-dialog a { color: inherit; }
.cc-operator { padding: 10px 12px; background: #F2F3F5; border-radius: 10px; }
.cc-state { font-weight: 600; }
.cc-dialog .cc-actions { margin-top: 14px; }
.cc-dialog .cc-btn { border-color: #C9CDD4; }

.cc-map {
  position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 12px;
  padding: 20px; text-align: center; background: rgba(127,127,127,.12);
  font-size: .95rem; line-height: 1.5;
}
.cc-map p { margin: 0; max-width: 28em; }
.cc-map .cc-btn { border-color: currentColor; }

/* Footer line: privacy links and the developer credit */
.foot-in .legal { flex-basis: 100%; margin: 0; padding-top: 12px; border-top: 1px solid rgba(127,127,127,.25); }
.legal { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; font-size: .85rem; }
.legal button, .legal a { font: inherit; color: inherit; background: none; border: 0; padding: 4px 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; opacity: .9; }
.legal .credit-by { opacity: .9; }
.legal .credit-by a { font-weight: 600; }
