.px-lightbox{position:fixed;inset:0;z-index:var(--z-modal);display:grid;grid-template-rows:auto 1fr;background:var(--color-canvas);animation:px-lightbox-fade-in var(--duration-normal) var(--ease-airbnb) both}.px-lightbox__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:max(var(--space-4),env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) var(--space-4) max(var(--space-4),env(safe-area-inset-left))}.px-lightbox__counter{display:inline-flex;align-items:center;height:var(--control-height-md);padding:0 var(--space-3);color:var(--color-content);font-size:var(--text-caption);font-weight:var(--font-weight-semibold);background:var(--surface-inset-soft);border-radius:var(--radius-pill)}.px-lightbox__close{display:inline-grid;width:var(--control-height-md);height:var(--control-height-md);place-items:center;color:var(--color-content);background:var(--surface-inset-soft);border:1px solid var(--glass-border-default);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--duration-fast) var(--ease-airbnb),transform var(--duration-fast) var(--ease-airbnb)}.px-lightbox__close:focus-visible,.px-lightbox__close:hover{background:var(--surface-inset-strong)}.px-lightbox__close:active{transform:scale(.94)}.px-lightbox__close svg{width:var(--icon-size-lg);height:var(--icon-size-lg);stroke-width:var(--icon-stroke-md)}.px-lightbox__stage{position:relative;display:grid;align-items:center;justify-items:center;min-height:0;padding:var(--space-4) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-4),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left))}.px-lightbox__photo{position:relative;width:100%;height:100%;padding:0;background:transparent;border:0;cursor:zoom-out;animation:px-lightbox-photo-in var(--duration-fast) var(--ease-airbnb) both}.px-lightbox__photo[data-direction=back]{animation-name:px-lightbox-photo-in-back}.px-lightbox__photo-img{object-fit:contain}.px-lightbox__nav{position:absolute;top:50%;z-index:2;display:inline-grid;width:var(--control-height-lg);height:var(--control-height-lg);place-items:center;color:var(--color-content);background:var(--surface-inset-soft);border:1px solid var(--glass-border-default);border-radius:var(--radius-pill);cursor:pointer;transform:translateY(-50%);transition:background var(--duration-fast) var(--ease-airbnb),transform var(--duration-fast) var(--ease-airbnb)}.px-lightbox__nav:focus-visible,.px-lightbox__nav:hover{background:var(--surface-inset-strong)}.px-lightbox__nav:active{transform:translateY(-50%) scale(.94)}.px-lightbox__nav--prev{left:max(var(--space-4),env(safe-area-inset-left))}.px-lightbox__nav--next{right:max(var(--space-4),env(safe-area-inset-right))}.px-lightbox__nav svg{width:var(--icon-size-lg);height:var(--icon-size-lg);stroke-width:var(--icon-stroke-md)}@keyframes px-lightbox-fade-in{0%{opacity:0}to{opacity:1}}@keyframes px-lightbox-photo-in{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}@keyframes px-lightbox-photo-in-back{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.px-lightbox__nav{width:var(--control-height-md);height:var(--control-height-md)}.px-lightbox__nav svg{width:var(--icon-size-md);height:var(--icon-size-md)}}@media (prefers-reduced-motion:reduce){.px-lightbox,.px-lightbox__photo{animation:none}.px-lightbox__nav:active{transform:translateY(-50%)}}.px-event-gallery{position:relative;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-1);width:100%;height:clamp(430px,37vw,560px);overflow:hidden;background:var(--color-media-fallback);border-radius:var(--radius-lg)}.px-event-gallery--empty{display:grid;grid-template-columns:1fr;min-height:240px;background:var(--glass-bg-subtle)}.px-event-gallery__fallback{display:grid;place-items:center;width:100%;height:100%;color:var(--color-content);font-size:var(--media-monogram-size);font-weight:var(--font-weight-semibold)}.px-event-gallery__hero{position:relative;display:block;width:100%;height:100%;padding:0;overflow:hidden;background:var(--color-media-fallback);border:0;cursor:zoom-in;transition:filter var(--duration-fast) var(--ease-airbnb)}.px-event-gallery__hero:focus-visible,.px-event-gallery__hero:hover{filter:brightness(.94)}.px-event-gallery__grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,calc((100% - var(--space-1)) / 2));gap:var(--space-1);height:100%;min-height:0;min-width:0}.px-event-gallery__tile{position:relative;display:block;width:100%;height:100%;min-height:0;padding:0;overflow:hidden;background:var(--color-media-fallback);border:0;cursor:zoom-in;transition:filter var(--duration-fast) var(--ease-airbnb)}.px-event-gallery__tile:focus-visible,.px-event-gallery__tile:hover{filter:brightness(.94)}.px-event-gallery[data-tile-count="0"]{grid-template-columns:minmax(0,1fr)}.px-event-gallery[data-tile-count="0"] .px-event-gallery__grid{display:none}.px-event-gallery__img{object-fit:cover;object-position:center}.px-event-gallery[data-hero-fit=contain][data-tile-count="0"] .px-event-gallery__img{object-fit:contain}.px-event-gallery__show-all{position:absolute;right:var(--space-4);bottom:var(--space-4);z-index:2;display:inline-flex;align-items:center;min-height:var(--hit-target-size-md);padding:0 var(--space-4);color:var(--color-content);font-size:var(--text-caption);font-weight:var(--font-weight-semibold);line-height:1;background:var(--surface-panel-bg);border:1px solid var(--surface-panel-border);border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease-airbnb),transform var(--duration-fast) var(--ease-airbnb)}.px-event-gallery__show-all:focus-visible,.px-event-gallery__show-all:hover{background:var(--color-content)}.px-event-gallery__show-all:active{transform:scale(.96)}@media (max-width:768px){.px-event-gallery{grid-template-columns:minmax(0,1fr);height:auto;aspect-ratio:3/2;max-height:45dvh;border-radius:var(--radius-none)}.px-event-gallery--empty{aspect-ratio:3/2;min-height:auto}.px-event-gallery__grid{display:none}}@media (prefers-reduced-motion:reduce){.px-event-gallery__hero,.px-event-gallery__show-all,.px-event-gallery__tile{transition:none}.px-event-gallery__show-all:active{transform:none}}