/* widget: mr-location */
.mr-location { padding-block: 96px 96px; background: var(--mr-bg); }
.mr-location__head { max-width: 672px; margin-bottom: 48px; }

.mr-location__top { display: grid; grid-template-columns: 461fr 659fr; gap: 32px; align-items: stretch; }
.mr-address {
  display: flex; flex-direction: column; padding: 40px;
  border-radius: var(--mr-radius); border: 1px solid var(--mr-line); background: var(--mr-card); box-shadow: var(--mr-shadow);
}
.mr-address__eyebrow { display: inline-flex; align-items: center; gap: 12px; }
.mr-address__eyebrow svg { width: 16px; height: 23px; }
.mr-address__name { margin-top: 20px; font-weight: 700; font-size: var(--mr-h3); line-height: 1.25; }
.mr-address__street { margin-top: 7px; color: var(--mr-ink); }
.mr-address__facts { display: flex; flex-direction: column; gap: 16px; margin-top: 24px; }
.mr-address__facts > div { display: grid; grid-template-columns: 17px 1fr; column-gap: 12px; align-items: start; }
.mr-address__facts svg { grid-row: span 2; width: 17px; height: 17px; margin-top: 2px; color: var(--mr-teal); }
.mr-address__facts dd { font-weight: 500; color: var(--mr-ink); }
.mr-address__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: auto; padding-top: 32px; }
.mr-address__actions .mr-btn { letter-spacing: .05em; }
.mr-address__actions svg { width: 14px; height: 14px; }

.mr-map {
  position: relative; display: block; overflow: hidden; min-height: 435px;
  border-radius: var(--mr-radius); border: 1px solid var(--mr-line); box-shadow: var(--mr-shadow);
  color: inherit; text-decoration: none;
}
.mr-map img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--mr-ease); }
.mr-map::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(53, 48, 38, .85) 0%, rgba(53, 48, 38, .2) 50%, rgba(53, 48, 38, 0) 100%); }
.mr-map:hover img { transform: scale(1.04); }
.mr-map__caption { position: absolute; left: 24px; right: 24px; bottom: 24px; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; }
.mr-map__badge {
  margin-bottom: 9px; padding: 3px 12px; border-radius: 9999px; background: var(--mr-primary); color: var(--mr-white);
  font-family: var(--mr-font-label); font-size: var(--mr-label); font-weight: 700; line-height: 15px; letter-spacing: .05em; text-transform: uppercase;
}
.mr-map__title { font-family: var(--mr-font-display); font-weight: 700; font-size: var(--mr-h3); line-height: 1.3; color: #f9efe1; }
.mr-map__sub { color: rgba(249, 239, 225, .8); }

.mr-access { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
.mr-access__card {
  display: flex; flex-direction: column; gap: 12px; padding: 24px;
  border-radius: var(--mr-radius); border: 1px solid var(--mr-line); background: var(--mr-surface);
}
.mr-access__card .mr-h4 { margin-top: 0; }

@media (max-width: 960px) {
  .mr-location { padding-block: 72px; }
  .mr-location__top { grid-template-columns: 1fr; }
  .mr-map { min-height: 320px; }
  .mr-access { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .mr-address { padding: 28px 20px; }
  .mr-access { grid-template-columns: 1fr; }
}
