.store-contact-page { display: flex; min-height: 100vh; flex-direction: column; }
.store-contact-main { padding: calc(var(--store-header-height) + 48px) 24px 56px; }
.store-contact-container { width: min(1100px, 100%); margin-inline: auto; }
.store-contact-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; align-items: stretch; }
.store-contact-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid #e9ecef; border-radius: 24px; box-shadow: 0 12px 36px rgba(30, 41, 59, .09); }
.store-contact-photo img { display: block; width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; border-radius: inherit; }
.store-contact-info { display: flex; flex-direction: column; justify-content: flex-start; gap: 24px; padding: clamp(26px, 3.2vw, 46px); }
.store-contact-intro, .store-contact-detail { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 16px; align-items: start; }
.store-contact-icon { display: grid; width: 38px; height: 38px; place-items: center; color: #263b42; }
.store-contact-icon svg { width: 29px; height: 29px; }
.store-contact-intro h1 { margin: 2px 0 14px; font-size: clamp(1.45rem, 2.2vw, 1.85rem); line-height: 1.2; letter-spacing: -.025em; }
.store-contact-intro p { margin: 0; color: #56616d; font-size: 1rem; line-height: 1.8; }
.store-contact-intro p + p { margin-top: 14px; }
.store-contact-details { display: grid; gap: 0; margin: 0; padding-top: 24px; border-top: 1px solid #e8ecef; font-style: normal; }
.store-contact-detail { color: inherit; text-decoration: none; }
.store-contact-detail + .store-contact-detail { margin-top: 24px; padding-top: 24px; border-top: 1px solid #e8ecef; }
.store-contact-detail > span:last-child { display: grid; gap: 7px; padding-top: 3px; }
.store-contact-detail strong { font-size: .96rem; }
.store-contact-detail > span > span { color: #56616d; font-size: .98rem; line-height: 1.5; overflow-wrap: anywhere; }
.store-contact-detail:hover > span > span { color: #087988; }
.store-contact-detail:focus-visible { outline: 3px solid #00cfe8; outline-offset: 8px; border-radius: 4px; }
.store-contact-main .store-contact-divider { width: 100%; height: 32px; margin: 42px auto 12px; }
.store-contact-map { overflow: hidden; background: #f0f3f5; border: 1px solid #e1e6ea; border-radius: 24px; box-shadow: 0 12px 36px rgba(30, 41, 59, .08); }
.store-contact-map iframe { display: block; width: 100%; height: 400px; border: 0; }
@media (max-width: 760px) {
  .store-contact-main { padding: calc(var(--store-header-height) + 28px) 18px 36px; }
  .store-contact-cards { grid-template-columns: 1fr; gap: 22px; }
  .store-contact-info { padding: 28px 22px; }
  .store-contact-intro, .store-contact-detail { grid-template-columns: 30px minmax(0, 1fr); gap: 12px; }
  .store-contact-icon { width: 30px; height: 34px; }
  .store-contact-icon svg { width: 26px; height: 26px; }
  .store-contact-intro p { font-size: .95rem; line-height: 1.75; }
  .store-contact-main .store-contact-divider { margin-top: 30px; }
  .store-contact-map iframe { height: 320px; }
}
