/* Location map — interactive Google Map embed + directions fallback link. */

.location-map {
  display: flex;
  flex-direction: column;
  gap: var(--secan-space-s);
}

.location-map__heading {
  margin: 0;
  font-family: var(--secan-font-heading);
  font-weight: var(--secan-fw-regular);
  font-size: var(--secan-fs-h5);
  line-height: var(--secan-lh-h5);
  color: var(--secan-black);
}

.location-map__frame {
  width: 100%;
  min-height: 280px;
  border-radius: var(--secan-radius-3);
  overflow: hidden;
  background-color: var(--secan-chip-bg);
  border: 1px solid var(--secan-divider);
}

.location-map__frame iframe,
.location-map__iframe,
.location-map__frame .google-map-field,
.location-map__frame .google-map-field-wrapper,
.location-map__frame > div {
  display: block;
  width: 100% !important;
  max-width: 100%;
  height: 320px !important;
  border: 0;
}

.location-map__directions {
  margin: 0;
}

.location-map__directions-link {
  font-family: var(--secan-font-body);
  font-weight: var(--secan-fw-medium);
  font-size: var(--secan-fs-label);
  line-height: var(--secan-lh-label);
  color: var(--secan-blue);
  text-decoration: none;
}

.location-map__directions-link:hover {
  text-decoration: underline;
}

.location-map__directions-link:focus-visible {
  outline: none;
  box-shadow: var(--secan-focus-ring);
  border-radius: 2px;
}

@media (max-width: 600px) {
  .location-map__frame iframe,
  .location-map__iframe,
  .location-map__frame .google-map-field,
  .location-map__frame .google-map-field-wrapper,
  .location-map__frame > div {
    height: 240px !important;
  }
}
