.privacy-choice[hidden], .map-permission[hidden], .contacts__map-frame[hidden] { display: none; }
.privacy-choice {
  position: fixed;
  z-index: 1000;
  inset: auto 0 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px 24px;
  align-items: center;
  padding: 20px 28px;
  border-top: 1px solid #cbd3cc;
  background: #fff;
  color: #202521;
  box-shadow: 0 -6px 24px #00000012;
  max-height: 70dvh;
  overflow: auto;
}
.privacy-choice h2 { margin: 0 0 6px; max-width: none; font: 700 18px/1.3 Manrope, sans-serif; }
.privacy-choice p { margin: 0; max-width: 900px; font: 400 14px/1.5 Manrope, sans-serif; }
.privacy-choice a { color: #295d42; text-decoration: underline; }
.privacy-choice__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.privacy-choice button {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid #295d42;
  border-radius: 4px;
  background: #fff;
  color: #295d42;
  font: 700 14px/1.35 Manrope, sans-serif;
  cursor: pointer;
}
.privacy-choice button:hover { background: #edf4ee; }
.privacy-choice button:focus-visible, [data-privacy-settings]:focus-visible { outline: 3px solid #ba853e; outline-offset: 3px; }
.privacy-choice button:disabled { opacity: .6; cursor: wait; }
.privacy-choice__error { padding-top: 8px; color: #9b3028; }
[data-privacy-settings] { padding: 4px 0; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; min-height: 44px; }
.map-permission { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 100%; padding: 24px; text-align: center; color: #202521; background: #f0f3ef; }
.map-permission strong { font-size: 24px; }
.map-permission p { max-width: 420px; font-size: 15px; line-height: 1.5; }
.map-permission a { color: #295d42; text-decoration: underline; }
.map-permission button { color: #202521; border-color: #295d42; background: #fff; }
@media (max-width: 760px) {
  .privacy-choice { grid-template-columns: minmax(0, 1fr); padding: 14px 18px calc(14px + env(safe-area-inset-bottom)); gap: 12px; }
  .privacy-choice__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .privacy-choice button { padding-inline: 10px; }
}
