#mapsNotice {
  margin: auto; inset: 0;
  width: min(620px, calc(100vw - 32px)); max-height: calc(100dvh - 32px);
  box-sizing: border-box; overflow: auto; padding: 22px; border: 1px solid #d5dce2;
  border-radius: 12px; background: #fff; color: #18232e;
  box-shadow: 0 24px 80px #15233145; font: 14px/1.55 'Inter', system-ui, sans-serif;
}
#mapsNotice::backdrop { background: rgb(15 25 35 / 58%); }
#mapsNotice h2 { margin: 8px 0 12px; font: 600 25px/1.2 'Inter', system-ui, sans-serif; letter-spacing: -.025em; }
#mapsNotice p { margin: 0 0 14px; }
#mapsNotice .maps-notice-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .14em; color: #50677b; }
#mapsNotice .maps-notice-details { padding: 16px 17px 2px; background: #f3f6f8; border: 1px solid #e3e8ed; border-radius: 7px; margin: 17px 0; font-size: 12px; }
#mapsNotice a, .maps-legal-footer a { color: #345571; text-decoration: underline; text-underline-offset: 2px; }
#mapsNotice .maps-notice-links { font-size: 12px; line-height: 1.9; }
#mapsNotice .maps-notice-choice { display: flex; align-items: flex-start; gap: 9px; margin: 10px 0; font-size: 13px; cursor: pointer; }
#mapsNotice input { flex: none; margin: 3px 0 0; width: 16px; height: 16px; accent-color: #345571; }
#mapsNotice .maps-notice-remember { color: #4f5b66; }
#mapsNotice .maps-notice-actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; align-items: center; margin-top: 23px; }
#mapsNotice .maps-notice-actions a { font-size: 12px; }
#mapsNotice button { padding: 11px 16px; border: none; border-radius: 6px; background: #345571; color: white; font: 600 13px 'Inter', system-ui, sans-serif; cursor: pointer; }
#mapsNotice button:disabled { background: #e2e7ec; color: #64727f; cursor: not-allowed; }
#mapsNotice .maps-notice-footnote { margin: 17px 0 0; font-size: 10px; color: #5b6975; }
#mapsNoticeStorageMessage { color: #8b4600; font-size: 12px; }
.maps-notice-open { color: inherit; font: inherit; padding: 0; background: none; border: none; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.maps-legal-footer { flex-shrink: 0; }
.maps-legal-footer div { margin-bottom: 4px; }
#shareBar .maps-notice-open { pointer-events: auto; font-size: 11px; color: #fff; }
#mapsNotice :focus-visible, .maps-notice-open:focus-visible { outline: 2px solid #345571; outline-offset: 3px; }
@media (max-width: 600px) { #mapsNotice { padding: 20px; } #mapsNotice h2 { font-size: 22px; } }

#mapsNotice .maps-terms-document { display:block; width:100%; height:clamp(180px, 38dvh, 480px); box-sizing:border-box; border:1px solid #d5dce2; border-radius:6px; background:#f5f6f7; margin:16px 0 12px; }
#mapsNotice #mapsNoticeIntro { font-size:12px; color:#4f5b66; }
#mapsNotice .maps-notice-actions { margin-top:16px; }
#mapsNotice .maps-notice-footnote { margin-top:12px; }
