/* Shared PieX frontend media-gallery layouts, controls and viewer. */
/* The public gallery is a neutral/shared runtime. Keep its complete
 * presentation contract self-contained so non-Accommodation consumers do not
 * depend on accommodation-bookings.css for PieX UI/theme normalization. */
:is(.pxab-gallery,.pxab-gallery-modal){
  --pxab-font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  box-sizing:border-box;
  font-family:var(--pxab-font-family);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}
:is(.pxab-gallery,.pxab-gallery-modal),
:is(.pxab-gallery,.pxab-gallery-modal) *,
:is(.pxab-gallery,.pxab-gallery-modal) *::before,
:is(.pxab-gallery,.pxab-gallery-modal) *::after{box-sizing:border-box}
:is(.pxab-gallery,.pxab-gallery-modal) :where(button){
  appearance:none!important;
  -webkit-appearance:none!important;
  font-family:inherit!important;
  font-size:inherit!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  text-indent:0!important;
  text-shadow:none!important;
  vertical-align:middle!important;
}
:is(.pxab-gallery,.pxab-gallery-modal) :where(svg){max-width:100%;vertical-align:middle;overflow:visible}
:is(.pxab-gallery,.pxab-gallery-modal) :where(.pxab-icon){display:inline-block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;vertical-align:middle;overflow:visible}

.pxab-gallery{position:relative;width:100%;background:transparent!important}
.pxab-template--marketplace .pxab-gallery{background:transparent!important}
.pxab-gallery,.pxab-gallery *,.pxab-gallery-modal,.pxab-gallery-modal *{box-sizing:border-box}
.pxab-gallery__item{position:relative;overflow:hidden;margin:0;background:transparent}
.pxab-gallery__media{display:block;width:100%;height:100%;color:inherit;text-decoration:none;cursor:pointer;background:transparent}
.pxab-gallery__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .24s ease,filter .24s ease}
.pxab-gallery--has-lightbox .pxab-gallery__media:hover img{transform:scale(1.025);filter:brightness(.94)}
.pxab-gallery__media:focus-visible{outline:3px solid rgba(17,24,39,.42);outline-offset:-6px}
:is(.pxab-single-gallery-wrap,.pxab-public-media-gallery-wrap) .pxab-gallery--layout-photo_mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(150px,1fr));gap:8px;max-height:520px;border-radius:var(--pxab-single-gallery-radius,14px);overflow:hidden}
.pxab-gallery--layout-photo_mosaic .pxab-gallery__item,.pxab-gallery--layout-airbnb_grid .pxab-gallery__item{min-height:180px}
.pxab-gallery--layout-photo_mosaic .pxab-gallery__item--1,.pxab-gallery--layout-airbnb_grid .pxab-gallery__item--1{grid-row:1 / span 2;grid-column:1}
.pxab-gallery--layout-photo_mosaic .pxab-gallery__item--2,.pxab-gallery--layout-airbnb_grid .pxab-gallery__item--2{grid-row:1;grid-column:2}
.pxab-gallery--layout-photo_mosaic .pxab-gallery__item--3,.pxab-gallery--layout-airbnb_grid .pxab-gallery__item--3{grid-row:1;grid-column:3}
.pxab-gallery--layout-photo_mosaic .pxab-gallery__item--4,.pxab-gallery--layout-airbnb_grid .pxab-gallery__item--4{grid-row:2;grid-column:2}
.pxab-gallery--layout-photo_mosaic .pxab-gallery__item--5,.pxab-gallery--layout-airbnb_grid .pxab-gallery__item--5{grid-row:2;grid-column:3}
:is(.pxab-single-gallery-wrap,.pxab-public-media-gallery-wrap) .pxab-gallery--layout-classic_grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:none;border-radius:var(--pxab-single-gallery-radius,14px);overflow:hidden}
.pxab-gallery--layout-classic_grid .pxab-gallery__item{aspect-ratio:4/3;min-height:0}
:is(.pxab-single-gallery-wrap,.pxab-public-media-gallery-wrap) .pxab-gallery--layout-masonry{display:block;column-count:var(--pxab-gallery-masonry-columns,3);column-gap:8px;max-height:none;border-radius:var(--pxab-single-gallery-radius,14px);overflow:visible}
.pxab-gallery--layout-masonry .pxab-gallery__item{display:inline-block;width:100%;min-height:0;margin:0 0 8px;border-radius:calc(var(--pxab-single-gallery-radius,14px) * .7);break-inside:avoid;overflow:hidden}
.pxab-gallery--layout-masonry .pxab-gallery__item:nth-child(3n+1){aspect-ratio:4/3}
.pxab-gallery--layout-masonry .pxab-gallery__item:nth-child(3n+2){aspect-ratio:1/1}
.pxab-gallery--layout-masonry .pxab-gallery__item:nth-child(3n){aspect-ratio:3/4}
:is(.pxab-single-gallery-wrap,.pxab-public-media-gallery-wrap) .pxab-gallery--layout-carousel{display:block;min-height:clamp(280px,52vw,560px);max-height:none;border-radius:var(--pxab-single-gallery-radius,14px);overflow:hidden;background:transparent!important}
.pxab-gallery--layout-carousel .pxab-gallery__item{display:none;min-height:clamp(280px,52vw,560px)}
.pxab-gallery--layout-carousel .pxab-gallery__item.is-active{display:block}
.pxab-gallery__show-all{appearance:none;position:absolute;right:24px;bottom:24px;z-index:4;display:inline-flex!important;align-items:center;justify-content:center;flex-wrap:nowrap!important;gap:8px;width:max-content!important;min-width:max-content!important;max-width:max-content!important;min-height:42px;margin:0!important;padding:10px 15px!important;border:1px solid var(--pxab-gallery-show-all-border,rgba(17,24,39,.2))!important;border-radius:10px!important;background:var(--pxab-gallery-show-all-bg,#fff)!important;color:var(--pxab-gallery-show-all-text,#111827)!important;font:inherit;font-size:.9rem!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important;text-decoration:none!important;box-shadow:0 8px 24px rgba(15,23,42,.16)!important;cursor:pointer;touch-action:manipulation}
.pxab-gallery__show-all:hover,.pxab-gallery__show-all:focus-visible{background:var(--pxab-gallery-show-all-hover-bg,#f8fafc)!important;color:var(--pxab-gallery-show-all-hover-text,#111827)!important;outline:0;box-shadow:0 0 0 3px rgba(17,24,39,.16),0 8px 24px rgba(15,23,42,.16)!important}
.pxab-gallery__show-all .pxab-icon{display:block;flex:0 0 auto;width:1.08rem;height:1.08rem;stroke-width:2.15}.pxab-gallery__show-all-content>span{display:inline-flex;align-items:center;min-width:0;line-height:1.2;white-space:nowrap!important}
.pxab-gallery__page-control{appearance:none;position:absolute;top:50%;z-index:4;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:-22px 0 0!important;padding:0!important;border:1px solid var(--pxab-gallery-control-border,rgba(255,255,255,.65))!important;border-radius:999px!important;background:var(--pxab-gallery-control-bg,rgba(17,24,39,.58))!important;color:var(--pxab-gallery-control-text,#fff)!important;display:inline-grid!important;place-items:center!important;box-shadow:none!important;cursor:pointer}
.pxab-gallery__page-control:hover,.pxab-gallery__page-control:focus-visible{background:var(--pxab-gallery-control-hover-bg,rgba(17,24,39,.84))!important;outline:0}
.pxab-gallery__page-control .pxab-icon{display:block;width:1.32rem;height:1.32rem;stroke-width:2.55}
.pxab-gallery__page-control--prev{left:18px}
.pxab-gallery__page-control--next{right:18px}
.pxab-gallery__page-count{position:absolute;left:50%;bottom:18px;z-index:4;transform:translateX(-50%);border-radius:999px;background:rgba(17,24,39,.72);color:#fff;padding:6px 11px;font-size:.82rem;font-weight:800}
.pxab-gallery--anim-pulse :where(.pxab-gallery__show-all,.pxab-gallery__page-control){animation:pxabGalleryPulse 1.9s ease-in-out infinite}
.pxab-gallery--anim-bounce :where(.pxab-gallery__show-all,.pxab-gallery__page-control){animation:pxabGalleryFloat 2.2s ease-in-out infinite}
.pxab-gallery--anim-glow :where(.pxab-gallery__show-all,.pxab-gallery__page-control){animation:pxabGalleryGlow 2.4s ease-in-out infinite}
.pxab-gallery--anim-wobble :where(.pxab-gallery__show-all .pxab-icon,.pxab-gallery__page-control .pxab-icon){animation:pxabGalleryWobble 1.8s ease-in-out infinite}
.pxab-gallery-modal[hidden]{display:none!important}
.pxab-gallery-modal{position:fixed!important;inset:0!important;z-index:2147483600!important;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#000;color:#fff;isolation:isolate;opacity:1}
.pxab-gallery-modal__bar{display:grid;grid-template-columns:minmax(100px,1fr) auto minmax(100px,1fr);align-items:center;gap:16px;min-height:72px;padding:18px 34px;position:relative;z-index:4}
.pxab-gallery-modal__counter{font-weight:800;letter-spacing:.02em;text-align:center}
.pxab-gallery-modal__actions{display:flex;justify-content:flex-end;gap:10px;min-width:0}
.pxab-gallery-modal__button{appearance:none!important;border:0!important;background:transparent!important;color:var(--pxab-gallery-modal-control-text,#fff)!important;font:inherit!important;font-weight:800!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:auto!important;max-width:max-content!important;min-width:0!important;min-height:42px!important;margin:0!important;padding:6px 10px!important;border-radius:999px!important;box-shadow:none!important;line-height:1!important;cursor:pointer;white-space:nowrap;justify-self:start}
.pxab-gallery-modal__button:hover,.pxab-gallery-modal__button:focus-visible{background:var(--pxab-gallery-modal-control-hover-bg,rgba(255,255,255,.18))!important;outline:0}
.pxab-gallery-modal__button .pxab-icon{display:block;width:1.15rem;height:1.15rem;stroke-width:2.3}
.pxab-gallery-modal__zoom[aria-pressed=true] .pxab-icon--zoom-in path:nth-last-child(-n+2){display:none}
.pxab-gallery-modal__stage{grid-row:2;position:relative;z-index:1;min-width:0;min-height:0;margin:0 auto;width:min(100%,1180px);height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;overscroll-behavior:contain;padding:8px 90px 18px;background:transparent!important;touch-action:pan-y;cursor:default}
.pxab-gallery-modal__image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center;transform:translate3d(var(--pxab-gallery-pan-x,0),var(--pxab-gallery-pan-y,0),0) scale(var(--pxab-gallery-zoom,1));transition:transform .2s ease;will-change:transform;user-select:none;-webkit-user-drag:none}
.pxab-gallery-modal__image--anim-fade{animation:pxabGalleryImageFade .24s ease both}
.pxab-gallery-modal__image--anim-lift{animation:pxabGalleryImageLift .28s ease both}
.pxab-gallery-modal__image--anim-soft_zoom{animation:pxabGalleryImageSoftZoom .32s ease both}
.pxab-gallery-modal.is-zoomed .pxab-gallery-modal__stage{cursor:grab;touch-action:none}
.pxab-gallery-modal.is-zoomed .pxab-gallery-modal__stage.is-panning{cursor:grabbing}
.pxab-gallery-modal.is-zoomed .pxab-gallery-modal__image{--pxab-gallery-zoom:1.85;max-height:100%}
.pxab-gallery-modal__caption{position:absolute;left:50%;bottom:86px;z-index:3;transform:translateX(-50%);max-width:min(760px,calc(100vw - 48px));border-radius:999px;background:rgba(0,0,0,.68);padding:8px 14px;font-size:.9rem;line-height:1.4;text-align:center}
.pxab-gallery-modal__nav{appearance:none!important;position:absolute;top:50%;z-index:3;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;margin:-24px 0 0!important;padding:0!important;border:1px solid var(--pxab-gallery-modal-control-border,rgba(255,255,255,.55))!important;border-radius:999px!important;background:var(--pxab-gallery-modal-control-bg,rgba(255,255,255,.08))!important;color:var(--pxab-gallery-modal-control-text,#fff)!important;display:inline-grid!important;place-items:center!important;box-shadow:none!important;cursor:pointer}
.pxab-gallery-modal__nav:hover,.pxab-gallery-modal__nav:focus-visible{background:var(--pxab-gallery-modal-control-hover-bg,rgba(255,255,255,.18))!important;outline:0}
.pxab-gallery-modal__nav .pxab-icon{display:block;width:1.45rem;height:1.45rem;stroke-width:2.45}
.pxab-gallery-modal__nav--prev{left:36px}
.pxab-gallery-modal__nav--next{right:36px}
.pxab-gallery-modal__thumbs{position:relative;z-index:4;display:flex;gap:8px;max-width:100vw;overflow:auto;padding:12px 24px 20px;justify-content:center;scrollbar-width:thin;overscroll-behavior-x:contain;touch-action:pan-x}
.pxab-gallery-modal__thumb{appearance:none!important;flex:0 0 auto;width:72px!important;height:54px!important;min-width:72px!important;min-height:54px!important;margin:0!important;padding:0!important;border:2px solid transparent!important;border-radius:8px!important;overflow:hidden;background:#111!important;opacity:.68;box-shadow:none!important;cursor:pointer}
.pxab-gallery-modal__thumb.is-active{border-color:#fff!important;opacity:1}
.pxab-gallery-modal__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.pxab-gallery-modal--anim-fade_scale:not([hidden]){animation:pxabGalleryModalFadeScale .22s ease both}
.pxab-gallery-modal--anim-slide_up:not([hidden]){animation:pxabGalleryModalSlideUp .24s ease both}
.pxab-gallery-modal-open{overflow:hidden!important}
@keyframes pxabGalleryPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes pxabGalleryFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes pxabGalleryGlow{0%,100%{box-shadow:0 8px 24px rgba(15,23,42,.16)}50%{box-shadow:0 0 0 4px rgba(255,255,255,.28),0 8px 24px rgba(15,23,42,.16)}}
@keyframes pxabGalleryWobble{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}50%{transform:rotate(6deg)}75%{transform:rotate(-3deg)}}
@keyframes pxabGalleryModalFadeScale{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@keyframes pxabGalleryModalSlideUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes pxabGalleryImageFade{from{opacity:0}to{opacity:1}}
@keyframes pxabGalleryImageLift{from{opacity:0;transform:translate3d(var(--pxab-gallery-pan-x,0),calc(var(--pxab-gallery-pan-y,0) + 12px),0) scale(var(--pxab-gallery-zoom,1))}to{opacity:1;transform:translate3d(var(--pxab-gallery-pan-x,0),var(--pxab-gallery-pan-y,0),0) scale(var(--pxab-gallery-zoom,1))}}
@keyframes pxabGalleryImageSoftZoom{from{opacity:0;transform:translate3d(var(--pxab-gallery-pan-x,0),var(--pxab-gallery-pan-y,0),0) scale(.985)}to{opacity:1;transform:translate3d(var(--pxab-gallery-pan-x,0),var(--pxab-gallery-pan-y,0),0) scale(var(--pxab-gallery-zoom,1))}}
@media(max-width:960px){:is(.pxab-single-gallery-wrap,.pxab-public-media-gallery-wrap) .pxab-gallery{max-height:none!important}.pxab-gallery--mobile-first_image .pxab-gallery__item{display:none!important}.pxab-gallery--mobile-first_image .pxab-gallery__item:first-child{display:block!important;min-height:260px}.pxab-gallery--mobile-carousel{display:flex!important;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:var(--pxab-single-gallery-radius,14px);max-height:none!important;-webkit-overflow-scrolling:touch}.pxab-gallery--mobile-carousel .pxab-gallery__item{display:block!important;flex:0 0 88%;min-height:260px;scroll-snap-align:start}.pxab-gallery--mobile-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px;max-height:none!important}.pxab-gallery--mobile-grid .pxab-gallery__item{display:block!important;min-height:160px}.pxab-gallery__show-all{right:14px;bottom:14px}.pxab-gallery__page-control,.pxab-gallery__page-count{display:none}.pxab-gallery-modal__bar{grid-template-columns:1fr auto 1fr;min-height:62px;padding:14px 16px}.pxab-gallery-modal__button span:not([aria-hidden=true]){font-size:.9rem}.pxab-gallery-modal__stage{padding:8px 14px 18px}.pxab-gallery-modal__nav{top:auto;bottom:90px;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;margin:0!important;background:var(--pxab-gallery-modal-control-bg,rgba(255,255,255,.14))!important}.pxab-gallery-modal__nav--prev{left:16px}.pxab-gallery-modal__nav--next{right:16px}.pxab-gallery-modal__thumbs{justify-content:flex-start;padding:10px 14px 14px}.pxab-gallery-modal__thumb{width:60px!important;height:46px!important;min-width:60px!important;min-height:46px!important}.pxab-gallery-modal__caption{bottom:76px}}
@media(max-width:520px){.pxab-gallery--mobile-grid{grid-template-columns:1fr!important}.pxab-gallery--mobile-carousel .pxab-gallery__item{flex-basis:92%}.pxab-gallery-modal__actions .pxab-gallery-modal__button{padding:6px!important}.pxab-gallery-modal__counter{font-size:.9rem}.pxab-gallery-modal__close span:not([aria-hidden=true]){display:none}.pxab-gallery-modal__button{min-height:38px!important}.pxab-gallery-modal__button .pxab-icon{width:1.18rem;height:1.18rem}}
@media(prefers-reduced-motion:reduce){.pxab-gallery__media img,.pxab-gallery-modal__image,.pxab-gallery--anim-pulse :where(.pxab-gallery__show-all,.pxab-gallery__page-control),.pxab-gallery--anim-bounce :where(.pxab-gallery__show-all,.pxab-gallery__page-control),.pxab-gallery--anim-glow :where(.pxab-gallery__show-all,.pxab-gallery__page-control),.pxab-gallery--anim-wobble :where(.pxab-gallery__show-all .pxab-icon,.pxab-gallery__page-control .pxab-icon),.pxab-gallery-modal--anim-fade_scale,.pxab-gallery-modal--anim-slide_up,.pxab-gallery-modal__image--anim-fade,.pxab-gallery-modal__image--anim-lift,.pxab-gallery-modal__image--anim-soft_zoom{animation:none!important;transition:none!important}.pxab-gallery--has-lightbox .pxab-gallery__media:hover img{transform:none!important}}
/* v1.0.69: zoom reset control is only shown after the zoomed image has been panned. */
.pxab-gallery-modal__reset[hidden]{display:none!important}
.pxab-gallery-modal__reset .pxab-icon{transform-origin:center}
.pxab-gallery-modal__reset:hover .pxab-icon,.pxab-gallery-modal__reset:focus-visible .pxab-icon{transform:rotate(-18deg)}
@media(max-width:520px){.pxab-gallery-modal__reset span:not([aria-hidden=true]){display:none}}
/* v1.0.86: optional mobile touch-swipe polish. */
.pxab-gallery--mobile-swipe-enabled .pxab-gallery__item,
.pxab-gallery--mobile-swipe-enabled .pxab-gallery__media,
.pxab-gallery--mobile-swipe-enabled .pxab-gallery-modal__stage,
.pxab-gallery--mobile-swipe-enabled .pxab-gallery-modal__thumbs{
  -webkit-user-select:none;
  user-select:none;
}
.pxab-gallery--mobile-swipe-enabled .pxab-gallery-modal__thumbs{
  cursor:grab;
  scroll-snap-type:x proximity;
  scroll-behavior:smooth;
}
.pxab-gallery--mobile-swipe-enabled .pxab-gallery-modal__thumb{
  scroll-snap-align:center;
}
.pxab-gallery--mobile-swipe-enabled .pxab-gallery-modal__thumbs:active{
  cursor:grabbing;
}
@media(max-width:960px){
  .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel{
    scroll-snap-stop:always;
  }
  .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel .pxab-gallery__item{
    scroll-snap-align:center;
  }
}

/* v1.0.87: optional desktop gallery navigation affordances. */
.pxab-gallery[data-pxab-gallery-keyboard="1"]:focus-visible{
  outline:2px solid var(--pxab-gallery-show-all-text,#111827);
  outline-offset:4px;
}
.pxab-gallery[data-pxab-gallery-click-advance="1"].pxab-gallery--layout-carousel .pxab-gallery__media{
  cursor:pointer;
}

/* v1.0.88: make photo-mosaic/mobile-carousel swiping deliberate and prevent accidental lightbox opens while dragging. */
@media(max-width:960px){
  .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel{
    touch-action:pan-y pinch-zoom;
    overscroll-behavior-x:contain;
    scroll-behavior:smooth;
    scrollbar-width:none;
  }
  .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel::-webkit-scrollbar{display:none}
  .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel.is-mobile-swiping{
    cursor:grabbing;
    scroll-behavior:auto;
  }
  .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel.is-mobile-swiping .pxab-gallery__media,
  .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel.is-mobile-swiping .pxab-gallery__media img{
    pointer-events:none;
  }
}

/* v1.0.90: stronger mobile mosaic thumbnail swipe behaviour. */
@media(max-width:960px){
  :is(.pxab-single-gallery-wrap,.pxab-public-media-gallery-wrap) .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel{
    display:flex!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:8px!important;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y pinch-zoom;
  }
  :is(.pxab-single-gallery-wrap,.pxab-public-media-gallery-wrap) .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel .pxab-gallery__item,
  :is(.pxab-single-gallery-wrap,.pxab-public-media-gallery-wrap) .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel .pxab-gallery__item:not(:first-child){
    display:block!important;
    flex:0 0 92%!important;
    min-width:92%!important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  :is(.pxab-single-gallery-wrap,.pxab-public-media-gallery-wrap) .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel .pxab-gallery__media,
  :is(.pxab-single-gallery-wrap,.pxab-public-media-gallery-wrap) .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel .pxab-gallery__media img{
    -webkit-user-drag:none;
    user-select:none;
  }
  :is(.pxab-single-gallery-wrap,.pxab-public-media-gallery-wrap) .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel.is-mobile-swiping{
    scroll-snap-type:none;
  }
}

/* v1.0.91: controlled horizontal swipes should not fight native scroll/snap physics. */
@media(max-width:960px){
  .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel.is-mobile-swipe-pending{
    scroll-behavior:auto!important;
  }
  .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel.is-mobile-swiping{
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
    -webkit-overflow-scrolling:auto;
    overscroll-behavior-x:contain;
  }
  .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel.is-mobile-swiping .pxab-gallery__item{
    scroll-snap-align:none!important;
    scroll-snap-stop:normal!important;
  }
}

@media(max-width:420px){
  :is(.pxab-single-gallery-wrap,.pxab-public-media-gallery-wrap) .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel .pxab-gallery__item,
  :is(.pxab-single-gallery-wrap,.pxab-public-media-gallery-wrap) .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel .pxab-gallery__item:not(:first-child){
    flex-basis:91%!important;
    min-width:91%!important;
  }
}

/* v1.0.117: keep the Show all photos overlay pinned inside the visible mobile gallery viewport without text wrapping. */
@media(max-width:960px){
  :is(.pxab-single-gallery-wrap,.pxab-public-media-gallery-wrap) .pxab-gallery--mobile-swipe-enabled.pxab-gallery--mobile-carousel .pxab-gallery__show-all[data-pxab-gallery-show-all-sticky-mobile="1"]{
    left:auto!important;
    right:14px!important;
    transform:translate3d(var(--pxab-gallery-mobile-show-all-x,0px),0,0)!important;
    width:max-content!important;
    min-width:max-content!important;
    max-width:max-content!important;
    white-space:nowrap!important;
    will-change:transform;
    z-index:30;
  }
}

/* v1.0.115: optional mobile zoom-gallery two-finger gesture hint. */
.pxab-gallery-modal .pxab-mobile-gesture-hint{
  position:fixed;
  left:50%;
  bottom:calc(92px + env(safe-area-inset-bottom,0px));
  z-index:9999;
  transform:translate(-50%,8px);
  max-width:min(90%,360px);
  padding:.7rem .95rem;
  border:1px solid var(--pxab-mobile-gesture-hint-border,rgba(255,255,255,.18));
  border-radius:999px;
  background:var(--pxab-mobile-gesture-hint-bg,rgba(17,24,39,.86));
  color:var(--pxab-mobile-gesture-hint-text,#fff);
  box-shadow:0 16px 42px rgba(15,23,42,.22);
  font-size:.86rem;
  line-height:1.25;
  font-weight:750;
  text-align:center;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
}
.pxab-gallery-modal .pxab-mobile-gesture-hint.is-visible{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
@media(min-width:961px){
  .pxab-gallery-modal .pxab-mobile-gesture-hint{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .pxab-gallery-modal .pxab-mobile-gesture-hint{transition:none!important}
}


/* v1.0.464: keep phone gallery actions stable when zoom/reset state changes. */
@media(max-width:520px){
  .pxab-gallery-modal__actions{gap:6px;align-items:center}
  .pxab-gallery-modal__actions :where(.pxab-gallery-modal__zoom,.pxab-gallery-modal__reset,.pxab-gallery__share){position:relative;flex:0 0 38px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;max-width:38px!important;padding:0!important;border-radius:999px!important;overflow:hidden}
  .pxab-gallery-modal__zoom .pxab-icon,.pxab-gallery-modal__reset .pxab-icon,.pxab-gallery-modal__actions .pxab-gallery__share .pxab-icon{flex:0 0 auto;width:1.18rem!important;height:1.18rem!important}
  .pxab-gallery-modal__zoom [data-pxab-gallery-zoom-label]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
  .pxab-gallery-modal__reset[hidden]{display:inline-flex!important;visibility:hidden!important;pointer-events:none!important}
}
/* v1.0.477: mobile sticky positioning owns the outer button transform; visual motion runs on an inner layer. */
.pxab-gallery__show-all>.pxab-gallery__show-all-content{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;line-height:1;white-space:nowrap;transform-origin:center}
.pxab-gallery--anim-pulse .pxab-gallery__show-all,.pxab-gallery--anim-bounce .pxab-gallery__show-all,.pxab-gallery--anim-glow .pxab-gallery__show-all{animation:none!important}
.pxab-gallery--anim-pulse .pxab-gallery__show-all-content{animation:pxabGalleryPulse 1.9s ease-in-out infinite}
.pxab-gallery--anim-bounce .pxab-gallery__show-all-content{animation:pxabGalleryFloat 2.2s ease-in-out infinite}
.pxab-gallery--anim-glow .pxab-gallery__show-all-content{animation:pxabGalleryInnerGlow 2.4s ease-in-out infinite}
@keyframes pxabGalleryInnerGlow{0%,100%{filter:drop-shadow(0 0 0 rgba(255,255,255,0))}50%{filter:drop-shadow(0 0 5px rgba(255,255,255,.55))}}
@media(prefers-reduced-motion:reduce){.pxab-gallery__show-all-content{animation:none!important;transition:none!important;transform:none!important;filter:none!important}}
