/* Photo swipe rows on phones (task e2e98a90, Brian 12:21 AM Oct 23 2026). <=768px only: photo grids become one big
   photo per screen with a peek of the next, native scroll-snap, dots below. Desktop/tablet keep the grid (no rules apply).
   Grids: .pr17-grid (Proms), .recap (6 event pages), .c-g-grid (home gallery), .aib-real + .aib-grid (AI Booth). */
.ps-dots{display:none}
@media (max-width:768px){
.ps-on{display:flex!important;flex-wrap:nowrap!important;grid-template-columns:none!important;grid-template-rows:none!important;grid-auto-rows:auto!important;
 align-items:flex-start;gap:12px!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
 overscroll-behavior-x:contain;scrollbar-width:none;margin-left:calc(-1*var(--psb,20px))!important;margin-right:calc(-1*var(--psb,20px))!important;
 padding:0 var(--psb,20px)!important;scroll-padding-inline:var(--psb,20px);box-sizing:content-box;width:auto!important;max-width:none!important}
.ps-on::-webkit-scrollbar{display:none}
.ps-on>*{flex:0 0 calc(100% - 22px)!important;width:calc(100% - 22px)!important;max-width:calc(100% - 22px)!important;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;
 grid-column:auto!important;grid-row:auto!important;margin:0!important;box-sizing:border-box}
/* photo shapes: one big landscape photo per screen */
.pr17-grid.ps-on img,.c-g-grid.ps-on>img,.recap.ps-on>img{display:block;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover;border-radius:16px!important}
.recap.ps-on>.rv{aspect-ratio:3/2;border-radius:16px}
.recap.ps-on>.rv video{width:100%;height:100%!important;aspect-ratio:auto!important;object-fit:cover;display:block}
.aib-real.ps-on img{aspect-ratio:4/5}
/* captions: whatever text is there, clean under the photo */
.pr17-grid.ps-on figcaption,.aib-real.ps-on figcaption{font-size:14px;line-height:1.4;color:var(--muted,rgba(255,255,255,.7));margin:9px 2px 0;text-align:left}
.pr17-grid.ps-on figcaption:first-letter{text-transform:uppercase}
.aib-grid.ps-on>*{align-self:stretch}
.ps-dots{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0;margin:12px auto 0;padding:0;max-width:100%}
.ps-dots button{appearance:none;-webkit-appearance:none;border:0;background:none;padding:0;margin:0;width:16px;height:18px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ps-dots button:before{content:"";display:block;width:7px;height:7px;border-radius:4px;background:rgba(255,255,255,.3);transition:width .2s,background .2s}
.ps-dots button[aria-current="true"]{width:24px}
.ps-dots button[aria-current="true"]:before{width:18px;background:linear-gradient(90deg,#7C2AE8,#FF2E9A)}
}
