/* Native, compact drum. Rows remain mounted; there are no gesture overrides. */
.photo-catalog{display:grid;grid-template-columns:minmax(0,1fr) 280px minmax(0,1fr);gap:24px;align-items:center;width:100%;max-width:1320px;margin-inline:auto}
.photo-example{display:grid;justify-items:center;margin:0;min-width:0;align-self:center}
.photo-example-media{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--media);border:1px solid var(--line);border-radius:20px}
.photo-example-badge{position:absolute;z-index:1;top:20px;left:20px;border-radius:10px;padding:8px 12px;background:#fff;color:var(--ink);font-size:14px;line-height:1.3}
.photo-example--after .photo-example-badge{color:var(--focus);background:#eaf3ff}
.photo-example-image{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}
.photo-example-image[hidden],.photo-example-empty[hidden]{display:none}
.photo-example-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;width:100%;padding:48px 20px;text-align:center;color:var(--muted);line-height:1.5;font-size:16px}
.photo-example-empty [data-example-label]{display:grid;place-items:start center;min-height:3em;max-width:28ch;text-wrap:balance}
.photo-example-empty svg{width:34px;height:34px}
.photo-catalog-controls{min-width:0;align-self:center;--photo-row-step:60px;--photo-visible-rows:5}
.photo-catalog-controls[hidden]{display:none}
.photo-catalog-wheel{position:relative;display:flex;flex-direction:column;height:calc(var(--photo-visible-rows) * var(--photo-row-step));padding-block:calc((var(--photo-visible-rows) - 1) / 2 * var(--photo-row-step));overflow-x:hidden;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom;overflow-anchor:none;scrollbar-width:none;mask-image:linear-gradient(to bottom,transparent,#000 23%,#000 77%,transparent)}
.photo-catalog-wheel::-webkit-scrollbar{display:none}
.photo-catalog-wheel.is-recentering{scroll-snap-type:none}
.photo-function{flex:0 0 var(--photo-row-step);width:calc(100% - 8px);min-height:var(--photo-row-step);margin:0 4px;padding:8px;display:flex;align-items:center;gap:12px;border:0;border-radius:10px;background:transparent;color:var(--muted);text-align:left;font:inherit;font-size:16px;line-height:1.3;cursor:pointer;scroll-snap-align:center;scroll-margin:0}
.photo-function .photo-function-icon{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:var(--surface)}
.photo-function svg{width:24px;height:24px;flex-shrink:0}
.photo-function-label{min-width:0}
.photo-function[aria-checked="true"]{color:var(--focus);font-weight:500}
.photo-function[aria-checked="true"] .photo-function-icon{background:#eaf3ff}
.photo-function:hover{color:var(--focus)}
.photo-function:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.photo-catalog-detail{text-align:center;margin:20px auto 0;max-width:65ch;line-height:1.5;text-wrap:pretty}
.photo-catalog-disclaimer{font-size:13px;color:var(--muted)}
.photos .photo-note{display:flex;flex-direction:column;justify-content:center;gap:12px;max-width:1320px;margin:24px auto 0;padding:0;border:0;border-radius:0;text-align:center}
.photos .photo-note .button{order:-1;min-width:240px}
.photos .photo-note p{width:auto;min-height:0;padding:0;border:0;border-radius:0;font-size:13px;line-height:1.5;color:var(--muted)}
[data-photo-status]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1100px) and (min-width:1024px){
  .photo-catalog{gap:18px;grid-template-columns:minmax(0,1fr) 280px minmax(0,1fr)}
  .photo-example-empty{font-size:15px;padding-inline:16px}
}
@media(max-width:1023px){
  .photo-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;max-width:720px}
  .photo-catalog-controls{grid-column:1/-1;grid-row:1;--photo-row-step:60px;--photo-visible-rows:3;max-width:360px;width:100%;justify-self:center}
  .photo-function{font-size:16px;padding:8px 12px}
  .photo-function .photo-function-icon{width:38px;height:38px}
  .photo-example--before{grid-column:1;grid-row:2}
  .photo-example--after{grid-column:2;grid-row:2}
  .photo-example-media{width:100%;aspect-ratio:1;border-radius:14px}
  .photo-example-badge{top:10px;left:10px;font-size:12px;padding:6px 8px;border-radius:8px}
  .photo-example-empty{padding:40px 10px 10px;font-size:13px;gap:10px}
  .photo-example-empty svg{width:26px;height:26px}
  .photo-catalog-detail{margin-top:16px}
  .photo-catalog-disclaimer{font-size:12px}
  .photos .photo-note{max-width:360px;margin-top:20px}
  .photos .photo-note p{font-size:12px}
}
@media(forced-colors:active){
  .photo-catalog-wheel{mask-image:none}
  .photo-function[aria-checked="true"]{outline:1px solid Highlight;outline-offset:-3px}
  .photo-function:focus-visible{outline:2px solid Highlight}
}
