/* Crossroutes web — consent banner (see consent.js). App colours: Asphalt / Dawn / Signal Lime. */
.crc {
  --crc-bg: #FFFFFF; --crc-fg: #15181C; --crc-muted: #5B6272; --crc-line: #DAD5C8; --crc-btn: #EAE6DC;
  position: fixed; z-index: 2147483000; left: 50%; bottom: 24px; transform: translateX(-50%);
  width: min(560px, calc(100vw - 32px)); box-sizing: border-box; padding: 20px 22px 18px;
  background: var(--crc-bg); color: var(--crc-fg); border: 1px solid var(--crc-line); border-radius: 18px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
  font: 14px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
@media (prefers-color-scheme: dark) {
  .crc { --crc-bg: #1E2228; --crc-fg: #F5F3EE; --crc-muted: #A9B0B8; --crc-line: #3A414B; --crc-btn: #272C33; }
}
.crc h2 { margin: 0 0 6px; font-size: 17px; font-weight: 600; }
.crc p { margin: 0; color: var(--crc-muted); }
.crc #crc-text { color: var(--crc-fg); }
.crc .crc-policy { margin-top: 8px; }
.crc a { color: inherit; text-decoration: underline; }
.crc-actions { display: flex; align-items: center; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.crc-spacer { flex: 1 1 auto; }
/* Accept and decline share this one style: same size, colour and weight. */
.crc-btn {
  min-width: 132px; min-height: 44px; padding: 0 18px; border-radius: 12px; cursor: pointer;
  background: var(--crc-btn); color: var(--crc-fg); border: 1px solid var(--crc-line);
  font: 600 14px system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.crc-btn:hover { filter: brightness(0.96); }
.crc-btn:focus-visible, .crc-link:focus-visible, .crc input:focus-visible { outline: 3px solid #5C8A00; outline-offset: 2px; }
.crc-link { background: none; border: 0; padding: 8px 0; color: var(--crc-fg); text-decoration: underline; cursor: pointer; font: inherit; }
.crc-details { margin-top: 14px; border-top: 1px solid var(--crc-line); padding-top: 10px; }
.crc-details[hidden] { display: none; }
.crc-row { display: flex; align-items: center; gap: 16px; padding: 8px 0; }
.crc-row > div { flex: 1 1 auto; }
.crc-row strong { display: block; }
.crc-always { color: var(--crc-muted); font-size: 13px; white-space: nowrap; }
.crc-row input { width: 22px; height: 22px; }
.crc-details .crc-btn { margin-top: 6px; }
@media (max-width: 480px) { .crc-actions .crc-btn { flex: 1 1 40%; } .crc-spacer { display: none; } }
