.lm-contact-map { width: 100%; color: #333540; }
.lm-contact-map [hidden] { display: none !important; }
.lm-contact-map__frame { position: relative; min-height: 450px; background: #f3f3f3; }
.lm-contact-map__notice { min-height: 450px; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 36px 24px; text-align: center; }
.lm-contact-map .lm-contact-map__brand { display: flex; flex-direction: column; align-items: center; gap: 12px; margin: 0 0 24px; font-family: 'Oswald', sans-serif; font-size: 17px; line-height: 1.4; font-weight: 300; color: #333540; }
.lm-contact-map__logo { display: block; width: 300px !important; max-width: 100% !important; height: auto !important; aspect-ratio: 800/170; object-fit: cover; }
.lm-contact-map__brand span { letter-spacing: 1px; }
.lm-contact-map__notice p { max-width: 44ch; margin: 0 0 22px; font-size: 15px; line-height: 1.65; }
.lm-contact-map .lm-contact-map__button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; max-width: 100%; box-sizing: border-box; padding: 12px 22px; border: 1px solid #333540; border-radius: 5px; background: #333540; color: #fff; font-family: 'Oswald', sans-serif; font-size: 15px; font-weight: 300; line-height: 1.4; letter-spacing: .3px; text-transform: uppercase; text-decoration: none; text-align: center; cursor: pointer; box-shadow: none; }
.lm-contact-map .lm-contact-map__button:hover { background: #171820; border-color: #171820; color: #fff; }
.lm-contact-map .lm-contact-map__button:focus-visible { outline: 2px solid #333540; outline-offset: 4px; }
.lm-contact-map .lm-contact-map__button:disabled { cursor: wait; opacity: .65; }
.lm-contact-map .lm-contact-map__button--outline { background: transparent; color: #333540; flex-shrink: 0; }
.lm-contact-map .lm-contact-map__hint { margin: 18px 0 0; font-size: 12px; color: #555; }
.lm-contact-map__canvas { width: 100%; height: 450px; }
.lm-contact-map__toolbar { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 18px 28px; background: #fff; border-bottom: 1px solid #e5e5e5; }
.lm-contact-map__status { max-width: 600px; margin: 0; color: #333540; font-size: 13px; line-height: 1.5; text-align: center; }
.lm-contact-map__status:empty { display: none; }
@media (max-width: 600px) {
  .lm-contact-map__toolbar { padding: 16px 24px; flex-wrap: wrap; justify-content: center; }
  .lm-contact-map__status { flex-basis: 100%; text-align: center; }
}
