#cc-dialog {
  box-sizing: border-box; position: fixed; inset: auto 0 0; margin: 0 auto;
  width: min(100%, 880px); max-width: 100%; max-height: 90vh; max-height: 90dvh;
  overflow: auto; padding: clamp(20px, 4vw, 32px); border: 1px solid #507b8c;
  border-radius: 12px 12px 0 0; background: #fff; color: #17343a;
  font: 16px/1.5 Arial, sans-serif; box-shadow: 0 -4px 36px #0003;
}
#cc-dialog:not([open]) { display: none; }
#cc-dialog::backdrop { background: #0006; }
#cc-dialog h2 { font: bold 26px/1.2 Arial, sans-serif; margin: 0 0 16px; color: #17343a; }
#cc-dialog h3 { font: bold 19px/1.3 Arial, sans-serif; margin: 20px 0 12px; }
#cc-dialog p { margin: 0 0 16px; }
#cc-dialog .cc-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 20px 0; }
#cc-dialog button, .cc-map-placeholder button {
  box-sizing: border-box; min-height: 46px; padding: 11px 14px; border: 2px solid #17343a;
  border-radius: 4px; background: #17343a; color: #fff; font: bold 16px/1.35 Arial, sans-serif;
  white-space: normal; overflow-wrap: anywhere; cursor: pointer;
}
#cc-dialog button:hover, .cc-map-placeholder button:hover { background: #305560; }
#cc-dialog button:focus-visible, #cc-dialog a:focus-visible, #cc-dialog input:focus-visible,
.cc-map-placeholder button:focus-visible, .cc-settings-link:focus-visible { outline: 3px solid #15548f; outline-offset: 4px; }
#cc-dialog a { color: #15548f; text-decoration: underline; }
#cc-dialog label { display: flex; align-items: center; gap: 10px; font-weight: bold; cursor: pointer; margin: 12px 0 6px; }
#cc-dialog input[type="checkbox"] { appearance: auto; width: 22px; height: 22px; flex: 0 0 22px; margin: 0; accent-color: #17343a; }
#cc-dialog .cc-meta { margin: 20px 0 0; font-size: 14px; }
#cc-dialog #cc-close { margin-top: 16px; }
#cc-dialog [hidden], .cc-map-placeholder[hidden], iframe[data-consent-category][hidden] { display: none !important; }
.cc-map-placeholder { box-sizing: border-box; min-height: 180px; padding: 20px; background: #eef3f4; color: #17343a; font: 16px/1.5 Arial, sans-serif; }
.cc-map-placeholder p { margin: 0 0 12px; }
.cc-settings-footer { position: relative; padding: 16px 24px; text-align: center; background: #17343a; color: #fff; }
.cc-settings-footer .cc-settings-link { color: #fff; text-decoration: underline; font: 16px/1.5 Arial, sans-serif; }
@media (max-width: 600px) { #cc-dialog .cc-actions { grid-template-columns: 1fr; } }

/* Let the consent placeholder determine the map column height on small screens. */
.maos-footer:has(.cc-map-placeholder) { height: auto; min-height: 200px; }
.embed-maps:has(.cc-map-placeholder) { height: auto; min-height: 200px; }
iframe[data-consent-category="maps"] { display: block; width: 100%; height: 200px; }
