/* Non-modal consent: equal choices, no motion, map remains interactive. */
.taht-consent {
  position: fixed; z-index: 15000; right: 16px;
  bottom: max(16px, env(safe-area-inset-bottom, 0px));
  width: min(360px, calc(100% - 24px)); max-height: calc(100dvh - 24px);
  overflow: auto; box-sizing: border-box; padding: 20px;
  border: 1px solid #d9dcd7; border-radius: 16px;
  background: #fcfcf8; color: #172e3e; box-shadow: 0 8px 32px #132c3a24;
  font: 400 14px/1.5 "IBM Plex Sans", system-ui, sans-serif;
  pointer-events: auto; text-align: left;
}
.taht-consent * { box-sizing: border-box; }
.taht-consent h2 { margin: 0 0 6px; font: 600 17px/1.35 "IBM Plex Sans", system-ui, sans-serif; color: #172e3e; letter-spacing: -.01em; }
.taht-consent p { margin: 0 0 6px; color: #495b64; font-size: 14px; line-height: 1.5; }
.taht-consent .taht-consent-note { font-size: 12px; }
.taht-consent a { display: inline-flex; align-items: center; min-height: 36px; color: #294f64; font-size: 13px; text-underline-offset: 3px; }
.taht-consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.taht-consent-actions button, .taht-analytics-settings {
  min-height: 44px; padding: 9px 12px; border: 1px solid #bac4c5; border-radius: 9px;
  background: #fff; color: #172e3e; font: 600 14px/1.4 "IBM Plex Sans", system-ui, sans-serif;
  cursor: pointer; white-space: normal; overflow-wrap: anywhere;
}
.taht-consent-actions button:hover, .taht-analytics-settings:hover { background: #edf1ee; border-color: #59747c; }
.taht-consent :focus-visible, .taht-analytics-settings:focus-visible { outline: 3px solid #336a8b; outline-offset: 3px; }
@media (max-width: 420px) { .taht-consent { right: 12px; padding: 16px; } }
@media (max-height: 440px) { .taht-consent { padding: 14px; bottom: 12px; } }
