.gsg-gallery {
    margin: 1.5rem 0;
    position: relative;
}
.gsg-gallery * { box-sizing: border-box; }
.gsg-gallery-title { margin: 0 0 0.75rem; }
.gsg-gallery-description { margin: 0 0 1.25rem; }
.gsg-gallery-grid { display: grid; grid-template-columns: repeat(var(--gsg-cols-desktop, 4), minmax(0, 1fr)); gap: 14px; }
.gsg-layout-masonry .gsg-gallery-grid { display: block; column-count: var(--gsg-cols-desktop, 4); column-gap: 14px; }
.gsg-layout-carousel .gsg-gallery-grid { display: flex; grid-template-columns: none; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-bottom: 8px; }
.gsg-gallery-item { margin: 0; overflow: hidden; background: #f4f4f4; border-radius: 6px; position: relative; }
.gsg-layout-masonry .gsg-gallery-item { break-inside: avoid; margin: 0 0 14px; }
.gsg-layout-carousel .gsg-gallery-item { flex: 0 0 calc((100% - ((var(--gsg-cols-desktop, 4) - 1) * 14px)) / var(--gsg-cols-desktop, 4)); min-width: calc((100% - ((var(--gsg-cols-desktop, 4) - 1) * 14px)) / var(--gsg-cols-desktop, 4)); scroll-snap-align: start; }
.gsg-open-item { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: pointer; position: relative; }
.gsg-gallery-image img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 180ms ease, opacity 180ms ease; }
.gsg-layout-masonry .gsg-gallery-image img { height: auto; aspect-ratio: auto; object-fit: contain; }
.gsg-gallery-image .gsg-open-item:hover img { transform: scale(1.025); opacity: 0.94; }
.gsg-missing-preview,
.gsg-video-placeholder { min-height: 180px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 1rem; color: #555; }
.gsg-copyright { margin-top: 1rem; font-size: 0.9rem; opacity: 0.78; }
.gsg-copyright img { max-width: 220px; height: auto; }
.gsg-card-info { padding: 8px 9px 10px; font-size: 12px; line-height: 1.25; color: #333; background: rgba(255,255,255,.94); display: flex; flex-wrap: wrap; gap: 5px 10px; align-items: center; }
.gsg-card-info-row { display: inline-flex; align-items: center; gap: 4px; min-width: 0; max-width: 100%; }
.gsg-card-info-row > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gsg-info-icon { font-size: 12px; min-width: 15px; text-align: center; opacity: .9; line-height: 1; font-weight: 600; }
.gsg-layout-nav { display: flex; justify-content: center; gap: 10px; margin: 12px 0; }
.gsg-layout-nav button { border: 1px solid #d0d0d0; background: #fff; border-radius: 999px; min-width: 32px; min-height: 32px; font-size: 22px; line-height: 1; cursor: pointer; }
.gsg-layout-slideshow .gsg-gallery-grid { display: block; position: relative; overflow: hidden; background: #111; border-radius: 8px; }
.gsg-layout-slideshow .gsg-gallery-item { margin: 0; background: #111; }
.gsg-layout-slideshow .gsg-gallery-image img { aspect-ratio: 16 / 9; object-fit: contain; background: #111; max-width: 100%; max-height: min(76vh, 850px); margin: 0 auto; }
.gsg-layout-slideshow .gsg-layout-nav { position: absolute; inset: 0; pointer-events: none; margin: 0; opacity: 0; transition: opacity 180ms ease; }
.gsg-layout-slideshow .gsg-gallery-grid:hover .gsg-layout-nav { opacity: 1; }
.gsg-layout-slideshow .gsg-layout-nav button { pointer-events: auto; position: absolute; border: 0; width: 32px; height: 32px; min-width: 32px; min-height: 32px; border-radius: 50%; background: rgba(20,20,20,.58); color: #fff; font-size: 18px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; padding: 0; box-shadow: 0 2px 7px rgba(0,0,0,.22); }
.gsg-layout-slideshow .gsg-layout-prev { left: 12px; top: 50%; transform: translateY(-50%); }
.gsg-layout-slideshow .gsg-layout-next { right: 12px; top: 50%; transform: translateY(-50%); }
.gsg-layout-slideshow .gsg-slideshow-toggle { right: 12px; top: 12px; font-size: 13px; font-weight: 700; }
.gsg-special-ice .gsg-open-item::before { content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: calc(1 - var(--gsg-melt, 0)); background: linear-gradient(135deg, rgba(255,255,255,.72), rgba(175,225,255,.3) 34%, rgba(255,255,255,.08) 60%, rgba(160,210,255,.38)); mix-blend-mode: screen; }
.gsg-special-glass .gsg-open-item::after { content: ''; position: absolute; inset: 0; z-index: 2; opacity: 0; pointer-events: none; background: linear-gradient(135deg, rgba(255,255,255,.28), rgba(255,255,255,.10)); backdrop-filter: blur(0); border: 1px solid rgba(255,255,255,.22); transition: opacity .4s cubic-bezier(.25,1,.5,1), backdrop-filter .4s cubic-bezier(.25,1,.5,1); }
.gsg-special-glass .gsg-open-item:hover::after { opacity: 1; backdrop-filter: blur(10px) saturate(1.2); }
.gsg-video-badge { position: absolute; right: 10px; top: 10px; z-index: 4; padding: 4px 8px; border-radius: 999px; background: rgba(0,0,0,.62); color: #fff; font-size: 12px; }

body.gsg-lightbox-open { overflow: hidden; }
.gsg-lightbox[hidden],
.gsg-lightbox[aria-hidden="true"] { display: none !important; }
.gsg-lightbox {
    --gsg-safe-gap: clamp(12px, 2vw, 24px);
    --gsg-control-size: clamp(20px, 3vw, 38px);
    --gsg-control-gap: calc(var(--gsg-safe-gap) / 2);
    --gsg-stage-ui-gap: var(--gsg-safe-gap);
    --gsg-stage-viewport-inset: var(--gsg-safe-gap);
    --gsg-stage-normal-ratio-w: 16;
    --gsg-stage-normal-ratio-h: 9;
    --gsg-stage-normal-width: min(1180px, calc(100vw - (var(--gsg-stage-viewport-inset) * 2)), calc((100vh - (var(--gsg-stage-viewport-inset) * 2)) * var(--gsg-stage-normal-ratio-w) / var(--gsg-stage-normal-ratio-h)));
    --gsg-stage-normal-height: calc(var(--gsg-stage-normal-width) * var(--gsg-stage-normal-ratio-h) / var(--gsg-stage-normal-ratio-w));
    --gsg-stage-supersize-width: 100vw;
    --gsg-stage-supersize-height: 100vh;
    --gsg-stage-shell-width: var(--gsg-stage-normal-width);
    --gsg-stage-shell-height: var(--gsg-stage-normal-height);
    --gsg-stage-inline-inset: 0px;
    --gsg-stage-block-inset: 0px;
    --gsg-stage-width: 100%;
    --gsg-stage-height: 100%;
    --gsg-media-fit-inset: 0px;
    --gsg-media-fit-width: 100%;
    --gsg-media-fit-height: 100%;
    --gsg-thumbs-bottom-offset: calc(var(--gsg-safe-gap) + var(--gsg-control-size) + var(--gsg-safe-gap));
    --gsg-stage-safe-gap: var(--gsg-safe-gap);
    --gsg-ui-scale: var(--gsg-control-size);
    --gsg-ui-control-size: var(--gsg-ui-scale);
    --gsg-ui-icon-size: calc(var(--gsg-ui-scale) * 0.5);
    --gsg-ui-text-size: calc(var(--gsg-ui-scale) * 0.38);
    --gsg-ui-pill-padding-y: calc(var(--gsg-ui-scale) * 0.17);
    --gsg-ui-pill-padding-x: calc(var(--gsg-ui-scale) * 0.33);
    --gsg-toolbar-gap: var(--gsg-control-gap);
    --gsg-info-font-size: var(--gsg-ui-text-size);
    --gsg-info-icon-size: var(--gsg-ui-text-size);
    --gsg-info-bar-height: var(--gsg-ui-scale);
    --gsg-ba-label-font-size: var(--gsg-ui-text-size);
    --gsg-ba-label-top: 12px;
    --gsg-ba-label-edge: 14px;
    --gsg-ba-label-collision-gap: var(--gsg-safe-gap);
    --gsg-ba-handle-size: clamp(52px, 5.2vw, 68px);
    --gsg-ba-handle-icon-size: clamp(22px, 2.2vw, 28px);
    --gsg-thumb-width: 82px;
    --gsg-thumb-height: 66px;
    --gsg-ba-divider-width: 3px;
    --gsg-layer-overlay: 300;
    --gsg-layer-media: 100;
    --gsg-layer-transition-old: 101;
    --gsg-layer-transition-new: 102;
    --gsg-layer-thumbs: 200;
    --gsg-layer-ui: 300000;
    --gsg-ba-layer-after: 1;
    --gsg-ba-layer-before: 2;
    --gsg-ba-layer-ui: 4;
    --gsg-ba-layer-input: 5;
    --gsg-backdrop-bg: rgba(0, 0, 0, 0.72);
    --gsg-backdrop-blur: blur(12px);
    --gsg-stage-bg: rgba(0, 0, 0, 0.08);
    --gsg-stage-blur: blur(12px) saturate(145%);
    --gsg-element-bg: rgba(0, 0, 0, 0.72);
    --gsg-element-border: rgba(255, 255, 255, 0.14);
    --gsg-element-border-width: 1px;
    --gsg-element-blur: saturate(145%) blur(14px);
    --gsg-ui-text: #ffffff;
    --gsg-ui-hover-bg: rgba(0, 0, 0, 0.82);
    --gsg-ui-shadow: 0 8px 26px rgba(0, 0, 0, 0.28);
    --gsg-toolbar-shadow: none;
    --gsg-toolbar-blur: none;
    --gsg-ba-handle-icon: none;
    position: fixed;
    inset: 0;
    z-index: var(--gsg-layer-overlay);
    display: flex;
    align-items: center;
    justify-content: center;
}
.gsg-lightbox[data-ui-theme="dark"] { --gsg-backdrop-bg: rgba(0,0,0,.72); --gsg-backdrop-blur: blur(12px); --gsg-stage-bg: rgba(0,0,0,.08); --gsg-stage-blur: blur(12px) saturate(145%); }
.gsg-lightbox[data-ui-theme="light"] { --gsg-backdrop-bg: rgba(255,255,255,.72); --gsg-backdrop-blur: blur(15px); --gsg-stage-bg: rgba(255,255,255,.16); --gsg-stage-blur: blur(22px) saturate(170%); }
.gsg-lightbox[data-lightbox-ui-theme="dark"] { --gsg-element-bg: rgba(0,0,0,.72); --gsg-element-border: rgba(255,255,255,.14); --gsg-element-border-width: 1px; --gsg-element-blur: saturate(145%) blur(14px); --gsg-ui-text: #fff; --gsg-ui-hover-bg: rgba(0,0,0,.82); --gsg-ui-shadow: 0 8px 26px rgba(0,0,0,.28); }
.gsg-lightbox[data-lightbox-ui-theme="light"],
.gsg-lightbox[data-lightbox-ui-theme="light_glassy"] { --gsg-element-bg: rgba(255,255,255,.42); --gsg-element-border: rgba(255,255,255,.76); --gsg-element-border-width: .75px; --gsg-element-blur: blur(25px) saturate(190%); --gsg-ui-text: #111; --gsg-ui-hover-bg: rgba(255,255,255,.72); --gsg-ui-shadow: 0 10px 34px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.68); }
.gsg-lightbox[data-lightbox-ui-theme="dark_glassy"] { --gsg-element-bg: rgba(0,0,0,.60); --gsg-element-border: rgba(0,0,0,.20); --gsg-element-border-width: .2px; --gsg-element-blur: blur(2px) saturate(190%); --gsg-ui-text: #fff; --gsg-ui-hover-bg: rgba(0,0,0,.90); --gsg-ui-shadow: 2px 2px 1px rgba(0,0,0,.20), inset 2px 2px 1px rgba(255,255,255,.20); }
.gsg-lightbox[data-lightbox-ui-theme="smart_glassy"] { --gsg-element-bg: rgba(25,25,25,.42); --gsg-element-border: rgba(255,255,255,.10); --gsg-element-border-width: 1px; --gsg-element-blur: blur(15px) saturate(180%); --gsg-ui-text: #fff; --gsg-ui-hover-bg: rgba(25,25,25,.62); --gsg-ui-shadow: 0 8px 32px rgba(0,0,0,.25); --gsg-smart-on-light-element-bg: rgba(0,0,0,.58); --gsg-smart-on-light-element-border: rgba(255,255,255,.14); --gsg-smart-on-light-element-border-width: 1px; --gsg-smart-on-light-element-blur: blur(15px) saturate(180%); --gsg-smart-on-light-ui-text: #fff; --gsg-smart-on-light-ui-hover-bg: rgba(0,0,0,.72); --gsg-smart-on-light-ui-shadow: 0 8px 28px rgba(0,0,0,.28); --gsg-smart-on-dark-element-bg: rgba(255,255,255,.52); --gsg-smart-on-dark-element-border: rgba(255,255,255,.72); --gsg-smart-on-dark-element-border-width: 1px; --gsg-smart-on-dark-element-blur: blur(15px) saturate(180%); --gsg-smart-on-dark-ui-text: #111; --gsg-smart-on-dark-ui-hover-bg: rgba(255,255,255,.68); --gsg-smart-on-dark-ui-shadow: 0 8px 28px rgba(0,0,0,.20); }
.gsg-lightbox[data-lightbox-ui-theme="smart_glassy"][data-adaptive-mode="light_bg"] { --gsg-element-bg: var(--gsg-smart-on-light-element-bg); --gsg-element-border: var(--gsg-smart-on-light-element-border); --gsg-element-border-width: var(--gsg-smart-on-light-element-border-width); --gsg-element-blur: var(--gsg-smart-on-light-element-blur); --gsg-ui-text: var(--gsg-smart-on-light-ui-text); --gsg-ui-hover-bg: var(--gsg-smart-on-light-ui-hover-bg); --gsg-ui-shadow: var(--gsg-smart-on-light-ui-shadow); }
.gsg-lightbox[data-lightbox-ui-theme="smart_glassy"][data-adaptive-mode="dark_bg"] { --gsg-element-bg: var(--gsg-smart-on-dark-element-bg); --gsg-element-border: var(--gsg-smart-on-dark-element-border); --gsg-element-border-width: var(--gsg-smart-on-dark-element-border-width); --gsg-element-blur: var(--gsg-smart-on-dark-element-blur); --gsg-ui-text: var(--gsg-smart-on-dark-ui-text); --gsg-ui-hover-bg: var(--gsg-smart-on-dark-ui-hover-bg); --gsg-ui-shadow: var(--gsg-smart-on-dark-ui-shadow); }
.gsg-lightbox[data-lightbox-ui-theme="smart_glassy"] .gsg-smart-on-light { --gsg-element-bg: var(--gsg-smart-on-light-element-bg); --gsg-element-border: var(--gsg-smart-on-light-element-border); --gsg-element-border-width: var(--gsg-smart-on-light-element-border-width); --gsg-element-blur: var(--gsg-smart-on-light-element-blur); --gsg-ui-text: var(--gsg-smart-on-light-ui-text); --gsg-ui-hover-bg: var(--gsg-smart-on-light-ui-hover-bg); --gsg-ui-shadow: var(--gsg-smart-on-light-ui-shadow); --gsg-ba-handle-icon: var(--gsg-smart-on-light-ba-handle-icon); color: var(--gsg-ui-text); background: var(--gsg-element-bg); border-color: var(--gsg-element-border); border-width: var(--gsg-element-border-width); backdrop-filter: var(--gsg-element-blur); -webkit-backdrop-filter: var(--gsg-element-blur); }
.gsg-lightbox[data-lightbox-ui-theme="smart_glassy"] .gsg-smart-on-dark { --gsg-element-bg: var(--gsg-smart-on-dark-element-bg); --gsg-element-border: var(--gsg-smart-on-dark-element-border); --gsg-element-border-width: var(--gsg-smart-on-dark-element-border-width); --gsg-element-blur: var(--gsg-smart-on-dark-element-blur); --gsg-ui-text: var(--gsg-smart-on-dark-ui-text); --gsg-ui-hover-bg: var(--gsg-smart-on-dark-ui-hover-bg); --gsg-ui-shadow: var(--gsg-smart-on-dark-ui-shadow); --gsg-ba-handle-icon: var(--gsg-smart-on-dark-ba-handle-icon); color: var(--gsg-ui-text); background: var(--gsg-element-bg); border-color: var(--gsg-element-border); border-width: var(--gsg-element-border-width); backdrop-filter: var(--gsg-element-blur); -webkit-backdrop-filter: var(--gsg-element-blur); }
.gsg-lightbox-backdrop { position: absolute; inset: 0; background: var(--gsg-backdrop-bg); backdrop-filter: var(--gsg-backdrop-blur); }
.gsg-lightbox-shell { position: relative; width: var(--gsg-stage-shell-width); height: var(--gsg-stage-shell-height); display: grid; grid-template-rows: minmax(0, 1fr); align-items: stretch; min-height: 0; }
.gsg-lightbox.is-supersize { --gsg-stage-shell-width: var(--gsg-stage-supersize-width); --gsg-stage-shell-height: var(--gsg-stage-supersize-height); }
.gsg-lightbox-stage { position: relative; width: var(--gsg-stage-width); height: var(--gsg-stage-height); display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--gsg-stage-bg); backdrop-filter: var(--gsg-stage-blur); border-radius: 8px; box-shadow: 0 16px 50px rgba(0,0,0,.45); min-height: 0; z-index: var(--gsg-layer-media); pointer-events: none !important; }
.gsg-lightbox.is-fullscreen .gsg-lightbox-stage,
.gsg-lightbox.is-supersize .gsg-lightbox-stage { border-radius: 0; box-shadow: none; }
.gsg-lightbox-img,
.gsg-lightbox-video,
.gsg-swiper-frame .swiper-slide img,
.gsg-transition-frame img,
.gsg-transition-clone,
.gsg-before-after { max-width: var(--gsg-media-fit-width); max-height: var(--gsg-media-fit-height); width: auto; height: auto; object-fit: contain; object-position: center center; }
.gsg-lightbox-img { position: relative; display: block; cursor: zoom-in; user-select: none; transition: transform 480ms ease; will-change: transform, opacity; backface-visibility: hidden; z-index: var(--gsg-layer-media); pointer-events: none !important; }
.gsg-lightbox.is-fullscreen .gsg-lightbox-img,
.gsg-lightbox.is-supersize .gsg-lightbox-img { cursor: zoom-out; }
.gsg-lightbox-video { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: #000; z-index: var(--gsg-layer-media); pointer-events: auto !important; }
.gsg-lightbox-video[hidden] { display: none !important; }
.gsg-swiper-frame { position: absolute; inset: 0; display: none; overflow: hidden; background: var(--gsg-stage-bg); cursor: grab; touch-action: pan-y; z-index: var(--gsg-layer-media); pointer-events: none !important; }
.gsg-swiper-frame.is-active { display: block; }
.gsg-lightbox.gsg-swipe-mode .gsg-lightbox-img { opacity: 0 !important; }
.gsg-swiper-frame .swiper-wrapper { width: 100%; height: 100%; align-items: stretch; }
.gsg-swiper-frame .swiper-slide { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--gsg-stage-bg); }
.gsg-swiper-frame .swiper-slide img { display: block; transform: translateZ(0); backface-visibility: hidden; user-select: none; -webkit-user-drag: none; }
.gsg-lightbox-toolbar { position: absolute; left: auto; right: var(--gsg-stage-ui-gap); top: var(--gsg-stage-ui-gap); display: flex; align-items: center; justify-content: flex-end; gap: var(--gsg-control-gap); z-index: var(--gsg-layer-ui) !important; pointer-events: auto !important; }
.gsg-lightbox.gsg-toolbar-position-bottom .gsg-lightbox-toolbar { top: auto; bottom: var(--gsg-stage-ui-gap); }
.gsg-lightbox-toolbar > * { margin: 0 !important; }
.gsg-lightbox-toolbar button,
.gsg-lightbox-toolbar a,
.gsg-lightbox-close,
.gsg-toggle-close,
.gsg-lightbox-prev,
.gsg-lightbox-next { width: var(--gsg-ui-control-size); height: var(--gsg-ui-control-size); min-width: var(--gsg-ui-control-size); min-height: var(--gsg-ui-control-size); max-width: var(--gsg-ui-control-size); max-height: var(--gsg-ui-control-size); flex: 0 0 var(--gsg-ui-control-size); box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; padding: 0; margin: 0; border-radius: 50%; line-height: 1; text-align: center; vertical-align: middle; font-size: var(--gsg-ui-icon-size); color: var(--gsg-ui-text); background: var(--gsg-element-bg); border: var(--gsg-element-border-width, 1px) solid var(--gsg-element-border); box-shadow: var(--gsg-toolbar-shadow); filter: none; backdrop-filter: var(--gsg-toolbar-blur); -webkit-backdrop-filter: var(--gsg-toolbar-blur); overflow: hidden; background-clip: padding-box; isolation: isolate; cursor: pointer; text-decoration: none; opacity: 1; visibility: visible; mix-blend-mode: normal; }
.gsg-lightbox-toolbar button svg,
.gsg-lightbox-toolbar a svg,
.gsg-lightbox-close svg,
.gsg-toggle-close svg,
.gsg-lightbox-prev svg,
.gsg-lightbox-next svg { width: var(--gsg-ui-icon-size); height: var(--gsg-ui-icon-size); min-width: var(--gsg-ui-icon-size); min-height: var(--gsg-ui-icon-size); display: block; fill: currentColor; stroke: currentColor; }
.gsg-lightbox-toolbar button svg path,
.gsg-lightbox-toolbar a svg path,
.gsg-lightbox-close svg path,
.gsg-toggle-close svg path,
.gsg-lightbox-prev svg path,
.gsg-lightbox-next svg path { fill: currentColor; stroke: currentColor; }
.gsg-lightbox-toolbar button:hover,
.gsg-lightbox-toolbar a:hover,
.gsg-lightbox-close:hover,
.gsg-toggle-close:hover,
.gsg-lightbox-prev:hover,
.gsg-lightbox-next:hover { color: var(--gsg-ui-text); background: var(--gsg-ui-hover-bg); }
.gsg-lightbox-toolbar a[hidden],
.gsg-lightbox-toolbar > [hidden] { display: none !important; }
.gsg-viewer-playpause { display: inline-flex !important; font-size: 14px !important; font-weight: 700; }
.gsg-download-current { font-size: 17px !important; font-weight: 700; }
.gsg-lightbox-prev,
.gsg-lightbox-next { position: absolute; top: var(--gsg-active-media-center-y, 50%); transform: translateY(-50%); z-index: 300000 !important; pointer-events: auto !important; }
.gsg-lightbox-prev { left: var(--gsg-stage-ui-gap); }
.gsg-lightbox-next { right: var(--gsg-stage-ui-gap); }
.gsg-lightbox.gsg-ba-dragging .gsg-lightbox-prev,
.gsg-lightbox.gsg-ba-dragging .gsg-lightbox-next,
.gsg-lightbox.gsg-ba-collision-active .gsg-lightbox-prev,
.gsg-lightbox.gsg-ba-collision-active .gsg-lightbox-next { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; transition: opacity .22s ease-in-out; }
.gsg-lightbox-info-bar { position: absolute; left: var(--gsg-stage-ui-gap); right: auto; top: var(--gsg-stage-ui-gap); display: flex; flex-wrap: nowrap; gap: 0; align-items: center; min-height: var(--gsg-info-bar-height); width: fit-content; max-width: var(--gsg-info-max-width, calc(100vw - (var(--gsg-safe-gap) * 2))); padding: var(--gsg-ui-pill-padding-y) var(--gsg-ui-pill-padding-x); color: var(--gsg-ui-text); background: var(--gsg-element-bg); border: var(--gsg-element-border-width, 1px) solid var(--gsg-element-border); border-radius: 999px; box-shadow: var(--gsg-ui-shadow); backdrop-filter: var(--gsg-element-blur); -webkit-backdrop-filter: var(--gsg-element-blur); font-size: var(--gsg-info-font-size); line-height: 1.35; white-space: nowrap; overflow: visible; z-index: var(--gsg-layer-ui); pointer-events: none !important; }
.gsg-lightbox-info-bar[hidden] { display: none !important; }
.gsg-info-position-bottom .gsg-lightbox-info-bar,
.gsg-lightbox.gsg-info-position-bottom .gsg-lightbox-info-bar { top: auto; bottom: var(--gsg-stage-ui-gap); }
.gsg-lightbox-title { font-weight: 700; }
.gsg-lightbox-meta { display: inline-flex; align-items: center; flex-wrap: nowrap; gap: 0; white-space: nowrap; }
.gsg-lb-meta-row { display: inline-flex; align-items: center; gap: .35em; white-space: nowrap; flex: 0 0 auto; }
.gsg-lightbox-meta-spacer { display: inline-block; width: 1.25em; min-width: 1.25em; flex: 0 0 1.25em; }
.gsg-lb-meta-row span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gsg-lightbox-thumbs { position: absolute; inset-inline: var(--gsg-stage-inline-inset); width: auto; bottom: var(--gsg-thumbs-bottom-offset); display: flex; justify-content: center; align-items: center; gap: 8px; overflow-x: auto; padding: 7px; margin: 0; color: var(--gsg-ui-text); background: var(--gsg-element-bg); border: 0; border-left: 0; border-right: 0; border-radius: 0; box-shadow: inset 0 1px 0 var(--gsg-element-border), inset 0 -1px 0 var(--gsg-element-border); backdrop-filter: var(--gsg-element-blur); z-index: var(--gsg-layer-thumbs); pointer-events: auto !important; }
.gsg-lightbox.hide-thumbs .gsg-lightbox-thumbs,
.gsg-lightbox .gsg-lightbox-thumbs[hidden],
.gsg-lightbox .gsg-lightbox-thumbs[aria-hidden="true"] { display: none !important; }
.gsg-lightbox.is-fullscreen .gsg-lightbox-thumbs,
.gsg-lightbox.is-fullscreen .gsg-toggle-thumbs,
.gsg-lightbox[data-gsg-fallback-fullscreen="1"] .gsg-lightbox-thumbs,
.gsg-lightbox[data-gsg-fallback-fullscreen="1"] .gsg-toggle-thumbs { display: none !important; visibility: hidden !important; pointer-events: none !important; }
.gsg-thumb-button { flex: 0 0 var(--gsg-thumb-width); width: var(--gsg-thumb-width); height: var(--gsg-thumb-height); min-width: var(--gsg-thumb-width); min-height: var(--gsg-thumb-height); padding: 0; border: 2px solid transparent; border-radius: 5px; overflow: hidden; background: transparent; cursor: pointer; opacity: .72; pointer-events: auto !important; }
.gsg-thumb-button.is-active { border-color: var(--gsg-ui-text); opacity: 1; }
.gsg-thumb-button img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gsg-transition-frame,
.gsg-transition-clone { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: var(--gsg-stage-bg); pointer-events: none !important; }
.gsg-transition-frame img,
.gsg-transition-clone { object-fit: contain; }
.gsg-swipe-old-left { z-index: var(--gsg-layer-transition-old); animation: gsgSwipeOldLeft 1180ms linear both; }
.gsg-swipe-old-right { z-index: var(--gsg-layer-transition-old); animation: gsgSwipeOldRight 1180ms linear both; }
.gsg-swipe-new-right { z-index: var(--gsg-layer-transition-new); animation: gsgSwipeNewRight 620ms linear both; }
.gsg-swipe-new-left { z-index: var(--gsg-layer-transition-new); animation: gsgSwipeNewLeft 620ms linear both; }
.gsg-new-slide-in-right { z-index: var(--gsg-layer-transition-new); animation: gsgSlideInRight 760ms linear both; }
.gsg-new-slide-in-left { z-index: var(--gsg-layer-transition-new); animation: gsgSlideInLeft 760ms linear both; }
.gsg-clone-slide-out-left { z-index: var(--gsg-layer-transition-old); animation: gsgSlideOutLeft 760ms linear both; }
.gsg-clone-slide-out-right { z-index: var(--gsg-layer-transition-old); animation: gsgSlideOutRight 760ms linear both; }
.gsg-new-zoom-in { z-index: var(--gsg-layer-transition-new); animation: gsgZoomIn 1480ms cubic-bezier(.2,0,.2,1) both; }
.gsg-clone-zoom-out { z-index: var(--gsg-layer-transition-old); animation: gsgZoomOut 2550ms cubic-bezier(.2,0,.2,1) both; }
.gsg-before-after { --gsg-ba-pos: 50%; position: absolute; inset: auto; width: auto; height: auto; overflow: hidden; background: var(--gsg-stage-bg); touch-action: none; user-select: none; box-sizing: border-box; isolation: isolate; contain: layout paint style; z-index: var(--gsg-layer-media); pointer-events: auto !important; }
.gsg-before-after[hidden] { display: none !important; }
.gsg-before-after img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; object-position: center center; background: var(--gsg-stage-bg); user-select: none; -webkit-user-drag: none; pointer-events: none !important; }
.gsg-ba-after { z-index: var(--gsg-ba-layer-after); }
.gsg-ba-before-wrap { position: absolute; inset: 0; width: 100%; overflow: hidden; background: var(--gsg-stage-bg); clip-path: inset(0 calc(100% - var(--gsg-ba-pos, 50%)) 0 0); z-index: var(--gsg-ba-layer-before); }
.gsg-ba-before-wrap .gsg-ba-before { width: 100%; height: 100%; max-width: none; object-fit: contain; object-position: center center; background: var(--gsg-stage-bg); }
.gsg-ba-handle { position: absolute; top: 0; bottom: 0; left: var(--gsg-ba-pos); width: var(--gsg-ba-divider-width); transform: translate3d(-50%,0,0); background: transparent; border: 0; box-shadow: none; z-index: var(--gsg-ba-layer-ui); pointer-events: none !important; }
.gsg-ba-handle::before { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: var(--gsg-ba-divider-width); transform: translate3d(-50%,0,0); border-radius: 999px; background: var(--gsg-element-bg); }
.gsg-ba-handle::after { content: ''; position: absolute; left: 50%; top: 50%; width: var(--gsg-ba-handle-size); height: var(--gsg-ba-handle-size); transform: translate3d(-50%,-50%,0); border-radius: 50%; color: var(--gsg-ui-text); background-color: var(--gsg-element-bg); background-image: var(--gsg-ba-handle-icon); background-position: center; background-size: var(--gsg-ba-handle-icon-size) var(--gsg-ba-handle-icon-size); background-repeat: no-repeat; border: var(--gsg-element-border-width, 1px) solid var(--gsg-element-border); box-shadow: var(--gsg-ui-shadow); backdrop-filter: var(--gsg-element-blur); z-index: var(--gsg-ba-layer-ui); }
.gsg-ba-range { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; touch-action: none; z-index: var(--gsg-ba-layer-input); pointer-events: auto !important; }
.gsg-ba-label { position: absolute; top: var(--gsg-ba-label-top); z-index: var(--gsg-ba-layer-ui); padding: var(--gsg-ui-pill-padding-y) var(--gsg-ui-pill-padding-x); border-radius: 999px; font-size: var(--gsg-ba-label-font-size); line-height: 1.2; color: var(--gsg-ui-text); background: var(--gsg-element-bg); border: var(--gsg-element-border-width, 1px) solid var(--gsg-element-border); box-shadow: var(--gsg-ui-shadow); backdrop-filter: var(--gsg-element-blur); -webkit-backdrop-filter: var(--gsg-element-blur); transform: none; will-change: auto; backface-visibility: visible; text-rendering: geometricPrecision; isolation: isolate; contain: paint; pointer-events: none !important; }
.gsg-ba-label::before { content: none; display: none; }
.gsg-ba-label-before { left: var(--gsg-ba-label-edge); }
.gsg-ba-label-after { right: var(--gsg-ba-label-edge); }
.gsg-download-protected img,
.gsg-download-protected .gsg-lightbox-img,
.gsg-download-protected .gsg-before-after img,
.gsg-download-protected .gsg-swiper-frame img { user-select: none; -webkit-user-drag: none; }
.gsg-info-measure-el { position: fixed; left: -9999px; top: -9999px; visibility: hidden; pointer-events: none; }
@keyframes gsgSwipeOldLeft { from { transform: translate3d(0,0,0); } to { transform: translate3d(-112%,0,0); } }
@keyframes gsgSwipeOldRight { from { transform: translate3d(0,0,0); } to { transform: translate3d(112%,0,0); } }
@keyframes gsgSwipeNewRight { from { transform: translate3d(112%,0,0); } to { transform: translate3d(0,0,0); } }
@keyframes gsgSwipeNewLeft { from { transform: translate3d(-112%,0,0); } to { transform: translate3d(0,0,0); } }
@keyframes gsgSlideInRight { from { opacity: 1; transform: translate3d(112%,0,0); } to { opacity: 1; transform: translate3d(0,0,0); } }
@keyframes gsgSlideInLeft { from { opacity: 1; transform: translate3d(-112%,0,0); } to { opacity: 1; transform: translate3d(0,0,0); } }
@keyframes gsgSlideOutLeft { from { opacity: 1; transform: translate3d(0,0,0); } to { opacity: 1; transform: translate3d(-104%,0,0); } }
@keyframes gsgSlideOutRight { from { opacity: 1; transform: translate3d(0,0,0); } to { opacity: 1; transform: translate3d(104%,0,0); } }
@keyframes gsgZoomIn { from { opacity: 0; transform: translateZ(0) scale(.84); } to { opacity: 1; transform: translateZ(0) scale(1); } }
@keyframes gsgZoomOut { from { opacity: 1; transform: translateZ(0) scale(1); } to { opacity: 0; transform: translateZ(0) scale(.55); } }
@media (max-width: 900px), (pointer: coarse) {
    .gsg-gallery-grid { grid-template-columns: repeat(var(--gsg-cols-mobile, 2), minmax(0, 1fr)); }
    .gsg-layout-masonry .gsg-gallery-grid { column-count: var(--gsg-cols-mobile, 2); }
    .gsg-layout-carousel .gsg-gallery-item { flex-basis: calc((100% - ((var(--gsg-cols-mobile, 2) - 1) * 14px)) / var(--gsg-cols-mobile, 2)); min-width: calc((100% - ((var(--gsg-cols-mobile, 2) - 1) * 14px)) / var(--gsg-cols-mobile, 2)); }
    .gsg-lightbox { --gsg-safe-gap: 12px; --gsg-ba-handle-size: var(--gsg-ui-scale); --gsg-ba-handle-icon-size: var(--gsg-ui-icon-size); }
    .gsg-lightbox[data-ui-theme="dark"] { --gsg-backdrop-bg: #000; --gsg-backdrop-blur: none; --gsg-stage-bg: #000; --gsg-stage-blur: none; }
    .gsg-lightbox[data-ui-theme="light"] { --gsg-backdrop-bg: #fff; --gsg-backdrop-blur: none; --gsg-stage-bg: #fff; --gsg-stage-blur: none; }
    .gsg-lightbox .gsg-toggle-thumbs,
    .gsg-lightbox .gsg-lightbox-thumbs,
    .gsg-lightbox .gsg-fullscreen,
    .gsg-lightbox .gsg-toggle-fullscreen { display: none !important; visibility: hidden !important; pointer-events: none !important; }
    .gsg-lightbox:not(.has-before-after) .gsg-lightbox-prev,
    .gsg-lightbox:not(.has-before-after) .gsg-lightbox-next { display: none !important; visibility: hidden !important; }
    .gsg-lightbox.has-before-after:not(.gsg-ba-dragging):not(.gsg-ba-collision-active) .gsg-lightbox-prev,
    .gsg-lightbox.has-before-after:not(.gsg-ba-dragging):not(.gsg-ba-collision-active) .gsg-lightbox-next { display: inline-flex !important; visibility: visible !important; top: auto !important; bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important; transform: none !important; }
    .gsg-lightbox-info-bar { left: max(var(--gsg-safe-gap), env(safe-area-inset-left, 0px) + var(--gsg-safe-gap)) !important; right: max(var(--gsg-safe-gap), env(safe-area-inset-right, 0px) + var(--gsg-safe-gap)) !important; width: auto !important; max-width: calc(100vw - (var(--gsg-safe-gap) * 2)) !important; max-height: calc((var(--gsg-info-font-size) * 1.42 * 2) + (var(--gsg-safe-gap) * 2)) !important; line-height: 1.42 !important; white-space: normal !important; overflow: hidden !important; flex-wrap: wrap !important; justify-content: center !important; text-align: center !important; }
    .gsg-lightbox-meta { width: 100% !important; max-width: 100% !important; justify-content: center !important; flex-wrap: wrap !important; row-gap: 4px !important; overflow: hidden !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; }
    .gsg-lb-meta-row { max-width: 100%; line-height: 1.42; }
    .gsg-ba-label { top: var(--gsg-ba-label-top) !important; }
}
@media (max-width: 900px) and (pointer: fine) {
    .gsg-gallery-grid { grid-template-columns: repeat(var(--gsg-cols-tablet, 3), minmax(0, 1fr)); }
    .gsg-layout-masonry .gsg-gallery-grid { column-count: var(--gsg-cols-tablet, 3); }
}
