#analytics-consent, #analytics-consent * { box-sizing: border-box; }
#analytics-consent[hidden] { display: none !important; }
#analytics-consent { position: fixed; z-index: 10000; bottom: 0; left: 0; width: 100%; padding: 18px max(20px, calc((100vw - 980px) / 2)); background: #fff; color: #222; box-shadow: 0 -2px 12px #0003; font: 14px/1.5 Arial, sans-serif; display: flex; align-items: center; gap: 22px; text-align: left; }
#analytics-consent .consent-copy { flex: 1; min-width: 0; }
#analytics-consent strong { color: #222; font-size: 16px; }
#analytics-consent p { margin: 5px 0; padding: 0; color: #222; font: inherit; }
#analytics-consent summary { cursor: pointer; color: #333; text-decoration: underline; }
#analytics-consent a { color: #8a1018; text-decoration: underline; }
#analytics-consent .consent-actions { display: flex; gap: 10px; flex-shrink: 0; }
#analytics-consent button { background: #fff; color: #8a1018; border: 1px solid #8a1018; border-radius: 3px; padding: 10px 14px; font: bold 14px Arial, sans-serif; cursor: pointer; min-height: 44px; }
#analytics-consent button:hover { background: #f9eded; }
#analytics-consent button:focus-visible, .analytics-settings:focus-visible { outline: 3px solid #222; outline-offset: 3px; }
#footer .analytics-settings { display: block; clear: both; background: none; border: 0; padding: 10px 0; margin: 0 auto; color: #444; text-decoration: underline; font: 12px Arial, sans-serif; cursor: pointer; }
@media (max-width: 780px) {
  #analytics-consent { padding: 14px 16px; flex-direction: column; align-items: stretch; gap: 10px; max-height: 80vh; overflow-y: auto; }
  #analytics-consent .consent-actions { flex-wrap: wrap; }
  #analytics-consent button { flex: 1; }
}
