.home-locations { padding-top: clamp(3rem, 7vw, 6rem); padding-bottom: clamp(3rem, 7vw, 6rem); color: var(--ek-color-black); }
.home-locations * { box-sizing: border-box; }
.home-locations__intro { max-width: 42rem; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.home-locations__intro > p:first-child { margin: 0 0 0.65rem; color: var(--ek-color-red); font-size: 0.85rem; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; }
.home-locations__intro h2 { margin: 0; font-family: var(--ek-font-display); font-size: clamp(2.25rem, 5vw, 4.25rem); line-height: 1.04; letter-spacing: -0.05em; }
.home-locations__intro > p:last-child { margin: 1rem 0 0; font-size: clamp(1.05rem, 2vw, 1.2rem); line-height: 1.55; }
.home-locations__stage { position: relative; width: 100vw; min-height: clamp(30rem, 70svh, 44rem); margin-inline: calc(50% - 50vw); }
.home-locations__map { position: absolute; inset: 0; overflow: hidden; background: #e8e3d8; border-block: 1px solid var(--ek-color-border); }
.home-locations__map::before { position: absolute; inset: 0; z-index: 0; background: linear-gradient(135deg, rgb(178 31 45 / 12%), transparent 48%), repeating-linear-gradient(-28deg, transparent 0 4.8rem, rgb(255 255 255 / 34%) 4.85rem 4.95rem); content: ''; pointer-events: none; }
.home-locations__map-fallback { position: absolute; top: 42%; left: 50%; z-index: 1; width: min(24rem, calc(100% - 2rem)); margin: 0; padding: 1rem 1.25rem; transform: translate(-50%, -50%); background: var(--ek-color-white); border-left: 0.35rem solid var(--ek-color-yellow); color: var(--ek-color-black); font-weight: 800; line-height: 1.45; text-align: center; }
.home-locations__map.is-ready::before, .home-locations__map.is-ready .home-locations__map-fallback { display: none; }
.home-locations__detail { position: absolute; right: max(1rem, calc((100vw - var(--ek-content-width)) / 2)); bottom: clamp(1rem, 4vw, 2.5rem); left: max(1rem, calc((100vw - var(--ek-content-width)) / 2)); z-index: 1; max-width: 32rem; padding: clamp(1rem, 2.5vw, 1.45rem); color: #211b18; background: #fff9ed; border: 1px solid rgb(32 27 24 / 16%); border-radius: 1rem; box-shadow: 0 0.8rem 2.2rem rgb(32 20 16 / 23%); }
.home-locations__detail-heading { display: flex; align-items: center; gap: 0.8rem; }
.home-locations__badge { display: inline-grid; flex: 0 0 auto; place-items: center; width: 2.5rem; height: 2.5rem; background: var(--ek-color-red); color: white; border-radius: 50%; font-size: 1.45rem; font-weight: 900; line-height: 1; }
.home-locations__detail h3 { margin: 0; font-family: var(--ek-font-display); font-size: clamp(1.75rem, 3.5vw, 2.5rem); line-height: 1.05; }
.home-locations__detail address { margin: 0.45rem 0 0; font-style: normal; font-size: 1rem; line-height: 1.35; }
.home-locations__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.65rem 1rem; margin-top: 1rem; }
.home-locations__order, .home-locations__directions { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0.65rem 1rem; border-radius: 0.3rem; font-weight: 800; text-decoration: none; }
.home-locations__order { background: var(--ek-color-red); color: white; }
.home-locations__order:hover { background: var(--ek-color-action-hover); }
.home-locations__directions { border: 1px solid rgb(32 27 24 / 42%); color: inherit; }
.home-locations__directions span { margin-left: 0.4rem; }
.home-locations__detail a:focus-visible { outline: 3px solid var(--ek-color-focus); outline-offset: 3px; }
@media (max-width: 40rem) {
	.home-locations { padding-top: var(--ek-space-4); }
	.home-locations__stage { height: 100vh; height: 100dvh; min-height: 100svh; }
	.home-locations__detail { right: 0.75rem; bottom: 0.75rem; bottom: calc(0.75rem + env(safe-area-inset-bottom)); left: 0.75rem; padding: 0.9rem; }
	.home-locations__detail h3 { font-size: 1.8rem; }
	.home-locations__detail address { font-size: 0.875rem; }
	.home-locations__order { width: 100%; }
}
