.has-store-showcase { touch-action:pan-y pinch-zoom;--showcase-nav-bg:#202820d9; }
.has-store-showcase .home-display-copy { padding-bottom:76px; }
.home-display[data-showcase-mode=environment]>.home-display-copy,.home-display[data-showcase-mode=location]>.home-display-copy,
.home-display[data-showcase-mode=environment]>canvas,.home-display[data-showcase-mode=location]>canvas { visibility:hidden; }
.store-showcase-media { position:absolute;inset:0;z-index:1; }
.store-showcase-nav { position:absolute;right:16px;bottom:16px;z-index:3;display:flex;align-items:center;gap:1px;padding:2px;background:var(--showcase-nav-bg);border-radius:5px;max-width:calc(100% - 24px);color:var(--display-bg,#f3f7f4); }
.store-showcase-nav button,.store-showcase-nav a { display:flex;align-items:center;justify-content:center;height:20px;min-height:20px;padding:2px 5px;color:inherit;font-size:11px;white-space:nowrap;border-radius:3px;line-height:1.2; }
.store-showcase-nav [aria-pressed=true] { background:var(--display-bg,#f3f7f4);color:#23352a;font-weight:600; }
.store-showcase-nav button:hover,.store-showcase-nav a:hover { background:#ffffff26; }
.store-showcase-nav [aria-pressed=true]:hover { background:var(--display-bg,#f3f7f4); }
.store-photo-view { position:relative;width:100%;height:100%;background:#edf0ee;overflow:hidden; }
.store-photo-view>img { display:block;width:100%;height:100%;object-fit:cover;object-position:var(--photo-x,50%) var(--photo-y,50%); }
.store-photo-view>img[role=button] { cursor:zoom-in; }
.store-media-status { position:absolute;left:12px;top:12px;background:#fff;color:#53615b;border-radius:4px;padding:6px 10px;font-size:13px;max-width:calc(100% - 24px); }
.store-photo-retry { position:absolute;left:12px;top:54px;min-height:40px;padding:8px 14px;background:white;color:#28694e;border:1px solid #c9d9d0;border-radius:4px; }
.store-media-control { display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;background:#ffffffed;color:#263d31;border:1px solid #dae3dd;border-radius:6px; }
.store-media-control:hover:not(:disabled) { background:#e1f1e7; }.store-media-control:disabled { opacity:.4;cursor:default; }
.store-photo-dialog { position:fixed;inset:0;margin:auto;padding:0;width:calc(100% - 24px);height:calc(100dvh - 24px);max-width:1400px;max-height:100dvh;border:0;border-radius:6px;background:#141a16;color:white;overflow:hidden; }
.store-photo-dialog::backdrop { background:#000c; }.store-photo-stage { position:absolute;inset:60px 0 60px;touch-action:pan-y pinch-zoom; }
.store-photo-stage .store-photo-view { background:transparent; }.store-photo-stage img { object-fit:contain;object-position:center; }
.store-photo-stage[data-zoomed=true] img { cursor:grab; }.store-photo-stage[data-zoomed=true] img:active { cursor:grabbing; }
.store-photo-zoom { position:absolute;top:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px; }
.store-photo-zoom .store-media-control { width:32px;height:36px;flex-basis:32px; }
.store-photo-scale { min-width:44px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums; }
.store-photo-caption { position:absolute;bottom:12px;left:64px;right:64px;text-align:center;font-size:14px;overflow-wrap:anywhere; }
.store-viewer-close { position:absolute;right:12px;top:12px; }.store-viewer-prev,.store-viewer-next { position:absolute;top:calc(50% - 22px); }
.store-viewer-prev { left:8px; }.store-viewer-next { right:8px; }
.store-location-panel { position:absolute;inset:0;background:#edf3ef; }
.store-location-panel>.store-photo-view { position:absolute;inset:0; }
.store-location-route { --route-bg:var(--showcase-nav-bg);position:absolute;left:0;bottom:50px;z-index:4;display:flex;align-items:center;justify-content:center;min-height:32px;padding:8px 12px;background:var(--route-bg);color:var(--display-bg,#f3f7f4);border-radius:5px;font-size:11px;line-height:1.2;white-space:nowrap;text-decoration:none;transition:background-color 160ms ease; }
.store-location-route::after { content:'';position:absolute;left:var(--route-arrow-left,50%);bottom:-6px;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--route-bg);transition:border-top-color 160ms ease; }
.store-location-route:hover,.store-location-route:focus-visible { --route-bg:#4f5c53;text-decoration:none; }
.store-location-info h2 { font-size:18px;line-height:1.4;margin:0 0 6px;color:#233d2e; }
.store-location-info p { margin:4px 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-line; }
.store-location-actions { display:flex;gap:8px;flex-wrap:wrap;margin-top:8px; }
.store-location-actions a,.store-location-actions button { display:flex;align-items:center;min-height:40px;padding:6px 12px;background:#e1efe7;color:#27684d;border-radius:4px;font-size:13px;overflow-wrap:anywhere; }
.store-location-info textarea { max-width:100%; }
.store-showcase-page { width:100%;max-width:1200px;margin:0 auto;padding:24px; }
.store-showcase-heading { display:flex;gap:16px;align-items:flex-start;margin-bottom:20px; }
.store-showcase-heading h1 { font-size:28px;line-height:1.4;margin:0;overflow-wrap:anywhere; }
.store-showcase-heading p { color:#737d77;font-size:15px;margin:6px 0 0; }
.store-showcase-intro { white-space:pre-line;line-height:1.8;margin:20px 0;overflow-wrap:anywhere; }
.store-photo-group { margin:28px 0; }.store-photo-group h2 { font-size:20px;margin:0 0 14px; }
.store-photo-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
.store-photo-grid figure { min-width:0;margin:0; }.store-photo-grid .store-photo-view { aspect-ratio:4/3;height:auto;border-radius:6px; }
.store-photo-grid figcaption { font-size:14px;color:#526256;margin-top:8px;overflow-wrap:anywhere; }
.store-showcase-page>.store-location-info { border-top:1px solid #dce5df;padding:24px 0;margin-top:24px; }
@media(max-width:600px) {
  .store-photo-view>img { object-position:var(--photo-mobile-x,50%) var(--photo-mobile-y,50%); }
  .store-photo-stage img { object-position:center; }
  .store-showcase-nav { right:10px;bottom:10px; }
  .has-store-showcase .home-display-copy { padding-bottom:70px; }
  .store-location-info h2 { font-size:16px; }.store-location-info p { font-size:12px; }
  .store-showcase-page { padding:20px 14px; }.store-showcase-heading h1 { font-size:23px; }.store-photo-grid { grid-template-columns:minmax(0,1fr); }
}
