/* Localisation typography, not a fabricated map illustration. */
/* Existing pale Multi badge: dark ink remains readable on its pale surface. */
html[data-theme="dark"] body.geiq56-offers-map-v10588 .badge.badge-multi { color: #302936 !important; }
body.geiq56-offers-map-v10588 .offers-map {
  --offers-map-text: #242027;
  --offers-map-muted: #665d68;
  --offers-map-accent: #b80035;
  --offers-map-line: #dfd4dc;
  margin: 40px 0 0;
  padding: clamp(24px, 3vw, 36px);
  border-radius: 24px;
  border: 1px solid #eadce4;
  background: linear-gradient(120deg, #fff 45%, #fff1f5);
  color: var(--offers-map-text);
}
body.geiq56-offers-map-v10588 .offers-map--single {margin: 32px 0;}
body.geiq56-offers-map-v10588 .offers-map__eyebrow {
  margin: 0 0 8px;
  color: var(--offers-map-accent);
  font: 600 .875rem/1.4 var(--font-body, Inter, sans-serif);
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.geiq56-offers-map-v10588 .offers-map__title {
  margin: 0 0 12px;
  color: var(--offers-map-text);
  font: 400 clamp(1.75rem, 3vw, 2.25rem)/1.12 var(--font-display, "Instrument Serif", Georgia, serif);
}
body.geiq56-offers-map-v10588 .offers-map__note,
body.geiq56-offers-map-v10588 .offers-map__empty {
  margin: 0;
  max-width: 64ch;
  color: var(--offers-map-muted);
  font: 400 .9375rem/1.6 var(--font-body, Inter, sans-serif);
}
body.geiq56-offers-map-v10588 .offers-map__cities {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 32px;
  padding: 0;
  margin: 20px 0 0;
}
body.geiq56-offers-map-v10588 .offers-map__city {
  min-width: 0;
  margin: 0;
  padding: 18px 0;
  border-top: 1px solid var(--offers-map-line);
}
body.geiq56-offers-map-v10588 .offers-map__city::before {content: none;}
body.geiq56-offers-map-v10588 .offers-map__link {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  color: var(--offers-map-text);
  text-decoration: none;
}
body.geiq56-offers-map-v10588 .offers-map__city-name {
  font: 400 1.75rem/1.2 var(--font-display, "Instrument Serif", Georgia, serif);
  overflow-wrap: anywhere;
}
body.geiq56-offers-map-v10588 .offers-map__link-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
  font: 400 .875rem/1.4 var(--font-body, Inter, sans-serif);
}
body.geiq56-offers-map-v10588 .offers-map__count {color: var(--offers-map-muted);}
body.geiq56-offers-map-v10588 .offers-map__external {color: var(--offers-map-accent);font-weight: 600;}
body.geiq56-offers-map-v10588 .offers-map__link:hover .offers-map__external {text-decoration: underline;text-underline-offset: 4px;}
body.geiq56-offers-map-v10588 .offers-map__load,
body.geiq56-offers-map-v10588 .offers-map__close {
  min-height: 48px;
  padding: 10px 18px;
  border: 1px solid var(--offers-map-accent);
  border-radius: 999px;
  background: transparent;
  color: var(--offers-map-accent);
  font: 600 .875rem/1.4 var(--font-body, Inter, sans-serif);
  cursor: pointer;
  transition: background-color .18s ease-out;
}
body.geiq56-offers-map-v10588 .offers-map__load {margin-top: 12px;}
body.geiq56-offers-map-v10588 .offers-map__load:hover,
body.geiq56-offers-map-v10588 .offers-map__close:hover {background: rgba(227, 0, 67, .08);}
body.geiq56-offers-map-v10588 .offers-map a:focus-visible,
body.geiq56-offers-map-v10588 .offers-map button:focus-visible {
  outline: 2px solid var(--offers-map-accent) !important;
  outline-offset: 4px;
  border-radius: 4px;
}
body.geiq56-offers-map-v10588 .offers-map__privacy {
  margin: 16px 0 0;
  color: var(--offers-map-muted);
  font: 400 .875rem/1.6 var(--font-body, Inter, sans-serif);
}
body.geiq56-offers-map-v10588 .offers-map__privacy a {color: var(--offers-map-accent);text-decoration: underline;}
body.geiq56-offers-map-v10588 .offers-map__viewer {margin-top: 24px;}
body.geiq56-offers-map-v10588 .offers-map__viewer-head {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding-bottom: 18px;
  margin-bottom: 16px;
}
/* Decorative boundary outside Google's iframe, never a route or map overlay. */
body.geiq56-offers-map-v10588 .offers-map__viewer-head::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--offers-map-accent) 0 3px, transparent 3px 12px);
  background-size: 12px 2px;
  opacity: .6;
  pointer-events: none;
  animation: geiq56-offers-map-boundary-v10588 4s linear infinite;
}
@keyframes geiq56-offers-map-boundary-v10588 {
  to {background-position: 12px 0;}
}
body.geiq56-offers-map-v10588 .offers-map__viewer-head [data-map-status] {margin: 0;font-size: .9375rem;color: var(--offers-map-text);}
body.geiq56-offers-map-v10588 .offers-map__frame {border-radius: 16px;overflow: hidden;min-width: 200px;}
body.geiq56-offers-map-v10588 .offers-map__frame iframe {
  display: block;
  width: 100%;
  min-width: 200px;
  height: 380px;
  min-height: 200px;
  border: 0;
}
body.geiq56-offers-map-v10588 .offers-map [hidden] {display: none !important;}
html[data-theme="dark"] body.geiq56-offers-map-v10588 .offers-map {
  --offers-map-text: #f5f2f6;
  --offers-map-muted: #c9c3cd;
  --offers-map-accent: #ff739a;
  --offers-map-line: #55414f;
  border-color: #493641;
  background: linear-gradient(120deg, #201c23 45%, #2c1d25);
}
@media (max-width: 767px) {
  body.geiq56-offers-map-v10588 .offers-map {padding: 24px 20px;border-radius: 20px;}
  body.geiq56-offers-map-v10588 .offers-map__cities {grid-template-columns: minmax(0, 1fr);}
  body.geiq56-offers-map-v10588 .offers-map__frame iframe {height: 320px;}
}
@media (prefers-reduced-motion: reduce) {
  body.geiq56-offers-map-v10588 .offers-map__load,
  body.geiq56-offers-map-v10588 .offers-map__close {transition: none;}
  body.geiq56-offers-map-v10588 .offers-map__viewer-head::after {animation: none;}
}
