/* Where printers live (widgets/where/where.js): skinny tiles, one open at a time. */
.wh { display: flex; gap: 6px; padding: 10px; background: var(--tile-bg); }
.wh__snap { position: relative; flex: 1 1 0; min-width: 0; margin: 0; overflow: hidden; border-radius: 12px; background: var(--bg); outline: none; transition: flex-grow .6s cubic-bezier(.2,.8,.2,1); }
.wh__snap.is-open { flex-grow: 2.8; }
.wh__snap:focus-visible { box-shadow: inset 0 0 0 2px var(--mark); }
.wh__snap img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.wh__snap:not(.is-open):hover img { transform: scale(1.04); }
.wh__snap figcaption { position: absolute; left: 8px; right: 8px; bottom: 8px; padding: 10px 12px; border-radius: 10px;
  background: rgba(255,255,255,.85); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #111; font-size: 13px; line-height: 1.35;
  opacity: 0; transform: translateY(12px); transition: opacity .3s ease, transform .4s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.wh__snap.is-open figcaption { opacity: 1; transform: none; transition-delay: .25s; }
@media (prefers-reduced-motion: reduce) { .wh__snap, .wh__snap img, .wh__snap figcaption { transition: none; } }
