/* Contact map: neutral, inherits the text colour and font of whichever design hosts it. */
.bft-map { margin-top: 1.5rem; max-width: 100%; }
.bft-map__h { margin: 0 0 .6rem; font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; opacity: .75; }
.bft-map__frame {
  position: relative; aspect-ratio: 16 / 10; min-height: 220px; overflow: hidden; border-radius: 10px;
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  background:
    linear-gradient(color-mix(in srgb, currentColor 7%, transparent) 1px, transparent 1px) 0 0 / 28px 28px,
    linear-gradient(90deg, color-mix(in srgb, currentColor 7%, transparent) 1px, transparent 1px) 0 0 / 28px 28px,
    color-mix(in srgb, currentColor 4%, transparent);
}
.bft-map__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.bft-map.is-live .bft-map__ph { display: none; }
.bft-map__ph { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .55rem; padding: 1rem; text-align: center; }
.bft-map__ph svg { color: #E3262C; }
.bft-map__addr { margin: 0; font-size: .95rem; line-height: 1.4; }
.bft-map__load {
  font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer; padding: .6rem 1.1rem; border-radius: 999px;
  color: inherit; background: transparent; border: 1.5px solid currentColor;
}
.bft-map__load:hover, .bft-map__load:focus-visible { background: color-mix(in srgb, currentColor 12%, transparent); }
.bft-map__note { margin: 0; font-size: .75rem; opacity: .65; }
.bft-map__links { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; align-items: center; margin-top: .8rem; }
.bft-map__route {
  display: inline-flex; align-items: center; gap: .45rem; padding: .6rem 1.1rem; border-radius: 999px;
  background: #E3262C; color: #fff !important; font-weight: 600; font-size: .9rem; text-decoration: none;
}
.bft-map__route:hover, .bft-map__route:focus-visible { background: #c41d23; }
.bft-map__open { color: inherit; font-size: .9rem; text-decoration: underline; text-underline-offset: 3px; }
