/* Store list and detail only; never targets header, product cards, B2B or checkout. */
.mtf-stores--photos .mtf-stores__list { grid-template-columns:minmax(0,1fr); gap:14px; }
.mtf-stores--photos .mtf-stores__card { display:grid; grid-template-columns:220px minmax(0,1fr) 220px; align-items:center; gap:24px; padding:16px; border-radius:16px; }
.mtf-stores--photos .mtf-stores__photo-link { display:block; min-width:0; border-radius:10px; overflow:hidden; text-decoration:none; color:var(--mtf-store-ink); }
.mtf-store-photo { position:relative; display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:4 / 3; background:#f0f5f5; border-radius:10px; overflow:hidden; }
.mtf-store-photo img { display:block; width:100%; height:100%; max-width:100%; object-fit:contain; position:absolute; inset:0; background:#fff; }
.mtf-store-photo__placeholder { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; padding:16px; color:#60778a; text-align:center; width:100%; height:100%; font-size:.75rem; line-height:1.4; }
.mtf-store-photo__placeholder svg { display:block; width:56px; height:56px; flex:0 0 auto; color:#849cab; }
.mtf-stores--photos .mtf-stores__summary { min-width:0; }
.mtf-stores--photos .mtf-stores__brand { font-size:.6875rem; margin-bottom:8px; }
.mtf-stores--photos h2 { font-size:1.3125rem; margin-bottom:10px; }
.mtf-stores--photos h2 a { color:inherit; text-decoration:none; }
.mtf-stores--photos h2 a:hover { text-decoration:underline; text-underline-offset:3px; }
.mtf-stores--photos address { margin-bottom:0; color:var(--mtf-store-muted); }
.mtf-stores--photos .mtf-stores__distance { display:inline-block; margin:10px 0 0; }
.mtf-stores--photos .mtf-stores__actions { margin:0; gap:8px; }
.mtf-stores__maps-link { display:flex; align-items:center; justify-content:center; gap:6px; min-height:44px; color:var(--mtf-store-ink); font-size:.8125rem; text-underline-offset:3px; text-align:center; }
.mtf-store-detail__breadcrumb { display:flex; gap:12px; flex-wrap:wrap; font-size:.8125rem; margin:0 0 28px; color:var(--mtf-store-muted); }
.mtf-store-detail a { color:var(--mtf-store-ink); text-underline-offset:3px; }
.mtf-store-detail .mtf-stores__button:not(.mtf-stores__button--light) { color:#fff; }
.mtf-store-detail__heading { margin-bottom:24px; }
.mtf-store-detail__heading > p:last-child { color:var(--mtf-store-muted); line-height:1.6; font-size:.9375rem; max-width:760px; margin:0; }
.mtf-store-detail__overview { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr); align-items:start; gap:24px; }
.mtf-store-detail__hero { min-width:0; border:1px solid var(--mtf-store-border); border-radius:16px; overflow:hidden; background:#f0f5f5; }
.mtf-store-detail__hero .mtf-store-photo { border-radius:0; aspect-ratio:4 / 3; }
.mtf-store-detail__hero .mtf-store-photo__placeholder { gap:16px; font-size:.875rem; }
.mtf-store-detail__hero .mtf-store-photo__placeholder svg { width:90px; height:90px; }
.mtf-store-detail__photo-link { display:block; position:relative; cursor:zoom-in; }
.mtf-store-detail__zoom-hint { position:absolute; bottom:14px; left:14px; right:14px; width:max-content; max-width:calc(100% - 28px); border:1px solid var(--mtf-store-border); border-radius:20px; background:#fff; padding:8px 12px; font-size:.75rem; }
.mtf-store-detail__info { background:#fff; border:1px solid var(--mtf-store-border); padding:24px; border-radius:16px; min-width:0; }
.mtf-store-detail h2 { font-size:1.1rem; line-height:1.4; margin:0 0 10px; }
.mtf-store-detail__info address { color:var(--mtf-store-muted); margin-bottom:18px; }
.mtf-store-detail__info .mtf-stores__actions { margin-top:0; }
.mtf-store-detail__contact { margin-top:24px; padding-top:22px; border-top:1px solid var(--mtf-store-border); }
.mtf-store-detail__contact > a { display:flex; flex-direction:column; padding:8px 0; min-height:44px; overflow-wrap:anywhere; line-height:1.5; font-size:.875rem; }
.mtf-store-detail__contact > a span { font-size:.75rem; color:var(--mtf-store-muted); }
.mtf-store-detail__contact strong { font-weight:600; }
.mtf-store-detail__hours-note { background:#f4f7fa; border-radius:8px; padding:12px; margin:18px 0 0; color:var(--mtf-store-muted); font-size:.8125rem; line-height:1.6; }
.mtf-store-detail__gallery { margin:30px 0 0; }
.mtf-store-detail__gallery > p { font-size:.875rem; color:var(--mtf-store-muted); margin:0 0 16px; }
.mtf-store-detail__photos { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; list-style:none; margin:0; padding:0; }
.mtf-store-detail__photos li { list-style:none; min-width:0; }
.mtf-store-detail__photos a { display:block; border:1px solid var(--mtf-store-border); border-radius:10px; overflow:hidden; cursor:zoom-in; }
.mtf-store-detail__footer { border-top:1px solid var(--mtf-store-border); margin-top:32px; padding-top:20px; font-size:.875rem; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { .mtf-stores--photos .mtf-stores__card { transition:box-shadow .15s ease, border-color .15s ease; } .mtf-stores--photos .mtf-stores__card:hover { box-shadow:0 5px 20px #0738650e; border-color:#b8c9d6; } }
@media (max-width:991.98px) { .mtf-stores--photos .mtf-stores__card { grid-template-columns:160px minmax(0,1fr); gap:16px; } .mtf-stores--photos .mtf-stores__actions { grid-column:2; } .mtf-stores--photos .mtf-stores__photo-link { grid-row:1 / 3; align-self:start; } .mtf-store-detail__overview { grid-template-columns:minmax(0,1fr); } .mtf-store-detail__hero .mtf-store-photo { aspect-ratio:16 / 9; } .mtf-store-detail__photos { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:575.98px) { .mtf-stores--photos .mtf-stores__card { grid-template-columns:minmax(0,1fr); padding:14px; gap:16px; } .mtf-stores--photos .mtf-stores__photo-link { grid-row:auto; } .mtf-stores--photos .mtf-stores__actions { grid-column:auto; } .mtf-stores--photos .mtf-store-photo { aspect-ratio:16 / 9; } .mtf-store-detail__info { padding:20px 16px; } .mtf-store-detail__breadcrumb { gap:8px; margin-bottom:20px; } .mtf-store-detail__photos { grid-template-columns:minmax(0,1fr); } }
/* One native dialog per page; background inertness and Escape are browser-managed. */
dialog.mtf-store-lightbox { display:none; padding:0; border:1px solid #dce5ed; border-radius:14px; margin:auto; background:#fff; color:#073865; width:min(1080px,calc(100vw - 32px)); max-width:calc(100vw - 32px); height:min(840px,calc(100vh - 32px)); max-height:calc(100dvh - 32px); box-shadow:0 18px 80px #0005; }
dialog.mtf-store-lightbox[open] { display:flex; flex-direction:column; }
dialog.mtf-store-lightbox::backdrop { background:#10273ac4; }
.mtf-store-lightbox [hidden] { display:none!important; }
.mtf-store-lightbox__header { display:flex; gap:16px; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid #dce5ed; }
.mtf-store-lightbox__title { font:600 1rem/1.4 Arial,sans-serif; margin:0; overflow-wrap:anywhere; }
.mtf-store-lightbox button { cursor:pointer; min-width:44px; min-height:44px; border:1px solid #b1c4d5; background:#fff; color:#073865; border-radius:8px; padding:8px 12px; font:inherit; font-size:.875rem; }
.mtf-store-lightbox button:disabled { opacity:.45; cursor:default; }
.mtf-store-lightbox [data-photo-close] { font-size:1.7rem; flex:0 0 44px; padding:0; }
.mtf-store-lightbox__stage { position:relative; display:flex; flex:1 1 0; min-height:0; align-items:center; justify-content:center; padding:12px; }
.mtf-store-lightbox__stage img { display:block; max-width:100%; max-height:100%; object-fit:contain; }
.mtf-store-lightbox__status { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center; padding:30px; font-size:.9375rem; }
.mtf-store-lightbox__footer { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 16px; border-top:1px solid #dce5ed; }
.mtf-store-lightbox__counter { white-space:nowrap; font-size:.875rem; }
.mtf-store-lightbox button:focus-visible { outline:3px solid #4285c5; outline-offset:2px; }
