.store-layout { display: grid; align-items: center; gap: 3rem; }
.store-photos { min-width: 0; }
.store-photos img { display: block; width: 100%; height: auto; border-radius: .375rem; }
.store-content { min-width: 0; }
.store-detail { margin-top: 1.5rem; padding-left: 1rem; border-left: 2px solid var(--primary); }
.store-detail h3 { font-size: .875rem; font-weight: 700; margin-bottom: .5rem; }
.store-detail address { font-style: normal; font-size: .875rem; line-height: 1.7; color: var(--muted-foreground); }
.store-map { margin-top: .85rem; overflow: hidden; border: 1px solid var(--border); border-radius: .375rem; background: var(--card); }
.store-map iframe { display: block; width: 100%; height: 12rem; border: 0; }
.store-map > a { display: block; padding: .7rem .85rem; color: var(--primary); font-size: .75rem; font-weight: 700; }
.store-map > a:hover { text-decoration: underline; }
.store-map > a:focus-visible { outline: 2px solid var(--primary); outline-offset: -4px; }
.store-cities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem 1rem; font-size: .875rem; color: var(--muted-foreground); list-style: none; padding: 0; }
.store-instagram { display: inline-flex; margin-top: 1.75rem; padding: .8rem 1.2rem; border-radius: .375rem; background: var(--primary); color: var(--primary-foreground); font-size: .875rem; font-weight: 700; }
.store-instagram:hover { opacity: .9; }
.store-instagram:focus-visible { outline: 2px solid var(--primary); outline-offset: 4px; }
.business-contacts { display: grid; gap: .6rem; font-size: .85rem; line-height: 1.6; }
.business-contacts a { overflow-wrap: anywhere; }
.business-contacts a:hover, .store-detail address a:hover { text-decoration: underline; }
.business-hours { display: grid; gap: .5rem; padding: 0; list-style: none; font-size: .875rem; color: var(--muted-foreground); }
.business-hours li { display: flex; justify-content: space-between; gap: 1rem; max-width: 19rem; }
@media (min-width: 1024px) { .store-layout { grid-template-columns: 1fr 1fr; } }
.delivery-layout { display: grid; align-items: center; gap: 1.5rem; }
.delivery-icon { display: block; width: 9rem; height: auto; }
.delivery-copy { min-width: 0; }
.delivery-layout > a { justify-self: start; }
@media (min-width: 640px) {
  .delivery-layout { grid-template-columns: 9rem minmax(0, 1fr); gap: 1.5rem 2rem; }
  .delivery-layout > a { grid-column: 2; }
}
@media (min-width: 1024px) {
  .delivery-layout { grid-template-columns: 9rem minmax(0, 1fr) auto; }
  .delivery-layout > a { grid-column: 3; }
}
