.gjg-gallery{--gjg-bg:var(--gjg-dark-bg,#171717);--gjg-fg:var(--gjg-dark-text,#fff);--gjg-muted:#aaa;--gjg-pill:#343434;--gjg-cols:3;background:var(--gjg-bg);color:var(--gjg-fg);width:100%;padding:0 0 24px;font-family:var(--gjg-font,Arial,sans-serif);transition:background .2s,color .2s}
.gjg-gallery.is-light{--gjg-bg:var(--gjg-light-bg,#f2f2f2);--gjg-fg:var(--gjg-light-text,#222);--gjg-muted:#555;--gjg-pill:#dedede}
.gjg-top{padding:10px 8px 5px}.gjg-filters{display:flex;overflow-x:auto;gap:12px;white-space:nowrap;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:#404040 #242424;-webkit-overflow-scrolling:touch}
.gjg-gallery .gjg-filter{flex:0 0 auto;border:0;border-radius:30px;background:var(--gjg-pill);color:var(--gjg-muted);font-size:13px;line-height:1.5;padding:6px 20px;cursor:pointer;white-space:nowrap;min-height:34px}
.gjg-gallery .gjg-filter.is-active,.gjg-gallery .gjg-filter:hover{color:#fff;animation:gjg-color .8s infinite linear}
.gjg-gallery button:focus-visible{outline:2px solid #62abea;outline-offset:2px}
.gjg-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px 12px;flex-wrap:wrap}.gjg-status{font-size:12px;color:var(--gjg-muted)}.gjg-controls{display:flex;align-items:center;gap:4px}.gjg-control-label{font-size:12px;color:var(--gjg-muted);margin-right:8px}
.gjg-gallery .gjg-controls button{appearance:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0;border:1px solid rgba(140,140,140,.4);background:var(--gjg-pill);color:var(--gjg-fg);border-radius:7px;min-width:34px;width:34px;height:34px;min-height:34px;font:600 13px/1 Arial,sans-serif;cursor:pointer;box-shadow:none;transform:none}
.gjg-gallery .gjg-controls button.is-active{background:#ef7265;color:#fff;border-color:#ef7265}.gjg-gallery .gjg-controls .gjg-theme{margin-left:8px;font-size:19px}
.gjg-items{column-count:var(--gjg-cols);column-gap:var(--gjg-gap,7px);padding:0 var(--gjg-gap,7px)}
.gjg-items .gjg-item{break-inside:avoid;page-break-inside:avoid;display:block;margin:0 0 var(--gjg-gap,7px)!important;padding:0!important;overflow:hidden;background:#303030;position:relative;animation:gjg-reveal .5s ease both}
.gjg-gallery .gjg-photo{display:block;position:relative;width:100%;height:auto;line-height:0;padding:0;margin:0;border:0;border-radius:0;background:transparent;cursor:zoom-in;overflow:hidden;box-shadow:none}
.gjg-photo img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none;pointer-events:none}
.gjg-overlay{position:absolute;inset:0;background:rgba(0,0,0,.68);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;gap:10px;opacity:0;transition:opacity .25s ease;line-height:1.4;overflow:auto;text-transform:var(--gjg-transform,none)}
.gjg-photo:hover .gjg-overlay,.gjg-photo:focus-visible .gjg-overlay{opacity:1}.gjg-photo-title{font-size:var(--gjg-title-size,24px);font-weight:700}.gjg-photo-description{font-size:var(--gjg-description-size,16px)}.gjg-photo-copyright{font-size:var(--gjg-copyright-size,13px)}
.gjg-sentinel{height:1px}.gjg-message{text-align:center;color:var(--gjg-muted);font-size:13px;padding:10px}
.gjg-lightbox[hidden]{display:none!important}.gjg-lightbox{position:fixed;z-index:2147483000;inset:0;background:rgba(0,0,0,.96);display:flex;align-items:center;justify-content:center;padding:48px 70px 90px;color:#fff}.gjg-lightbox img{display:block;max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}
.gjg-gallery .gjg-lightbox button{position:absolute;border:0;background:rgba(50,50,50,.7);color:#fff;border-radius:40px;cursor:pointer;min-width:42px;height:42px;font-size:34px;line-height:1;padding:0;display:flex;align-items:center;justify-content:center}.gjg-gallery .gjg-lightbox button:disabled{opacity:.25;cursor:default}.gjg-lightbox-close{top:12px;right:20px}.gjg-lightbox-prev{left:14px;top:50%}.gjg-lightbox-next{right:14px;top:50%}.gjg-lightbox-caption{position:absolute;bottom:15px;left:60px;right:60px;text-align:center;display:flex;flex-direction:column;gap:3px;font-size:13px;line-height:1.35}.gjg-lightbox-open{overflow:hidden}
@media(max-width:767px){.gjg-items{column-count:2}.gjg-control-label,.gjg-gallery .gjg-cols{display:none!important}.gjg-filter{font-size:12px;padding:6px 14px}.gjg-overlay{padding:8px}.gjg-lightbox{padding:50px 42px 95px}.gjg-lightbox-caption{left:40px;right:40px}}
@media(max-width:420px){.gjg-items{column-count:1}}
@media(hover:none){.gjg-overlay{opacity:0;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.gjg-filter.is-active,.gjg-filter:hover{animation:none;background:#ef7265}.gjg-item{animation:none!important}}
@keyframes gjg-reveal{from{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:translateY(0)}}
@keyframes gjg-color{0%{background-color:#8fffef}10%{background-color:#8dceff}20%{background-color:#edd4bb}30%{background-color:#e38b8b}40%{background-color:#fd6d79}50%{background-color:#f78356}60%{background-color:#f9ba55}70%{background-color:#ebec95}80%{background-color:#4465c0}90%{background-color:#62abea}100%{background-color:#f16bb2}}
/* v1.2.0: consistent top alignment, predictable columns and rich captions */
.gjg-gallery .gjg-items{display:grid!important;grid-template-columns:repeat(var(--gjg-cols),minmax(0,1fr));column-count:auto!important;gap:var(--gjg-gap,7px);align-items:start;}
.gjg-gallery .gjg-column{min-width:0;display:flex;flex-direction:column;gap:var(--gjg-gap,7px);align-items:stretch;}
.gjg-gallery .gjg-column .gjg-item{margin:0!important;align-self:stretch;}
.gjg-gallery .gjg-photo-title{font-family:var(--gjg-font,Lato,sans-serif);font-size:var(--gjg-title-size,18px);line-height:1.3;font-weight:700;}
.gjg-gallery .gjg-photo-description{font-family:var(--gjg-font,Lato,sans-serif);font-size:var(--gjg-description-size,14px);line-height:1.5;}
.gjg-gallery .gjg-photo-copyright{font-family:var(--gjg-font,Lato,sans-serif);font-size:var(--gjg-copyright-size,11px);line-height:1.5;}
.gjg-gallery .gjg-overlay{gap:5px;line-height:1.5;}
.gjg-gallery .gjg-lightbox-caption{font-family:var(--gjg-font,Lato,sans-serif);}
@media(max-width:767px){.gjg-gallery .gjg-items{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:420px){.gjg-gallery .gjg-items{grid-template-columns:minmax(0,1fr);}}

/* 1.3.0: discreet loader, refined lightbox caption */
.gjg-gallery .gjg-loader{display:flex;align-items:center;justify-content:center;gap:7px;min-height:45px;padding:12px}
.gjg-gallery .gjg-loader[hidden],.gjg-gallery .gjg-message[hidden]{display:none!important}
.gjg-gallery .gjg-loader span{display:block;width:6px;height:6px;background:var(--gjg-muted);border-radius:50%;animation:gjg-pulse 1.1s ease-in-out infinite}
.gjg-gallery .gjg-loader span:nth-child(2){animation-delay:.15s}.gjg-gallery .gjg-loader span:nth-child(3){animation-delay:.3s}
@keyframes gjg-pulse{0%,70%,100%{opacity:.2;transform:scale(.75)}35%{opacity:.9;transform:scale(1)}}
.gjg-gallery .gjg-lightbox{flex-direction:column;gap:0;padding:55px 64px 24px;box-sizing:border-box}
.gjg-gallery .gjg-lightbox img{max-height:calc(100dvh - 200px);max-width:100%;width:auto;height:auto;object-fit:contain;flex:0 1 auto}
.gjg-gallery .gjg-lightbox-caption{position:static;flex:0 0 auto;box-sizing:border-box;width:100%;max-width:850px;max-height:145px;overflow-y:auto;padding:14px 12px 0;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;line-height:1.45;color:#fff;overflow-wrap:anywhere}
.gjg-gallery .gjg-lightbox-caption .gjg-photo-title{font-size:var(--gjg-title-size,18px);font-weight:700;line-height:1.3}
.gjg-gallery .gjg-lightbox-caption .gjg-photo-description{font-size:var(--gjg-description-size,14px);font-weight:400;line-height:1.45}
.gjg-gallery .gjg-lightbox-caption .gjg-photo-copyright{font-size:var(--gjg-copyright-size,11px);font-weight:400;line-height:1.4}
.gjg-gallery .gjg-lightbox-caption span{display:block}
@media(max-width:767px){.gjg-gallery .gjg-lightbox{padding:56px 42px 18px}.gjg-gallery .gjg-lightbox img{max-height:calc(100dvh - 220px)}.gjg-gallery .gjg-lightbox-caption{max-height:175px;padding-top:10px}}
@media(prefers-reduced-motion:reduce){.gjg-gallery .gjg-loader span{animation:none;opacity:.6}}

/* 1.3.1: stable horizontal scrollbar and responsive masonry */
.gjg-gallery .gjg-top{padding-bottom:12px;}
.gjg-gallery .gjg-filters{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#404040 transparent;scrollbar-gutter:stable;min-height:48px;padding-bottom:10px;align-items:center;}
.gjg-gallery .gjg-filters::-webkit-scrollbar{height:4px!important;width:4px!important;}
.gjg-gallery .gjg-filters::-webkit-scrollbar:hover{height:4px!important;}
.gjg-gallery .gjg-filters::-webkit-scrollbar-thumb{background:#404040;border-radius:10px;}
.gjg-gallery .gjg-filters::-webkit-scrollbar-track{background:transparent;}
@media(min-width:768px) and (max-width:1023px){.gjg-gallery .gjg-items{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:767px){.gjg-gallery .gjg-items{grid-template-columns:minmax(0,1fr)!important;}.gjg-gallery .gjg-cols,.gjg-gallery .gjg-control-label{display:none!important;}}

/* 1.3.2: persistent, fixed-height navigation indicator independent of Safari scrollbar UI */
.gjg-gallery .gjg-top{padding-bottom:12px;}
.gjg-gallery .gjg-filters{scrollbar-width:none!important;-ms-overflow-style:none!important;scrollbar-gutter:auto!important;padding-bottom:0!important;}
.gjg-gallery .gjg-filters::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
.gjg-gallery .gjg-scroll-track{position:relative;height:3px;margin:7px 0 0;background:rgba(128,128,128,.14);border-radius:999px;touch-action:none;cursor:pointer;user-select:none;}
.gjg-gallery .gjg-scroll-track[hidden]{display:none!important;}
.gjg-gallery .gjg-scroll-thumb{position:absolute;left:0;top:0;height:3px!important;min-height:3px!important;max-height:3px!important;background:#555;border-radius:999px;transform:translateX(0);will-change:transform;cursor:grab;transition:none!important;box-shadow:none!important;}
.gjg-gallery .gjg-scroll-thumb:hover{height:3px!important;min-height:3px!important;max-height:3px!important;transform-origin:center;}
.gjg-gallery .gjg-scroll-thumb:active{cursor:grabbing;}
.gjg-gallery.is-light .gjg-scroll-track{background:rgba(0,0,0,.12);}
.gjg-gallery.is-light .gjg-scroll-thumb{background:#888;}

/* 1.3.5: mobile tap-to-reveal captions, no mobile lightbox */
@media(max-width:767px){
 .gjg-gallery .gjg-photo{cursor:pointer;-webkit-tap-highlight-color:transparent;}
 .gjg-gallery .gjg-photo .gjg-overlay,
 .gjg-gallery .gjg-photo:hover .gjg-overlay,
 .gjg-gallery .gjg-photo:focus-visible .gjg-overlay{opacity:0;pointer-events:none;transition:opacity .25s ease;}
 .gjg-gallery .gjg-photo.is-info-open .gjg-overlay,
 .gjg-gallery .gjg-photo.is-info-open:hover .gjg-overlay{opacity:1;pointer-events:none;}
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){.gjg-gallery .gjg-photo .gjg-overlay{transition:none;}}

/* v1.3.6: reveal only after image decode, without hiding layout space */
.gjg-gallery .gjg-item.gjg-awaiting .gjg-photo img{opacity:0!important;}
.gjg-gallery .gjg-item.gjg-ready .gjg-photo img{opacity:1;transition:opacity .35s ease;}
.gjg-gallery .gjg-item.gjg-awaiting{animation:none!important;}
@media(max-width:1023px){
 .gjg-gallery .gjg-photo{cursor:pointer;}
 .gjg-gallery .gjg-photo .gjg-overlay,.gjg-gallery .gjg-photo:hover .gjg-overlay,.gjg-gallery .gjg-photo:focus-visible .gjg-overlay{opacity:0;pointer-events:none;}
 .gjg-gallery .gjg-photo.is-info-open .gjg-overlay,.gjg-gallery .gjg-photo.is-info-open:hover .gjg-overlay{opacity:1;}
}
@media(prefers-reduced-motion:reduce){.gjg-gallery .gjg-item.gjg-ready .gjg-photo img{transition:none;}}

/* v1.3.7: theme-aware lightbox and consistent controls */
.gjg-gallery .gjg-lightbox{background:var(--gjg-bg);color:var(--gjg-fg);padding-inline:76px;}
.gjg-gallery .gjg-lightbox-caption{color:var(--gjg-fg);}
.gjg-gallery .gjg-lightbox button{box-sizing:border-box;position:fixed;display:flex;align-items:center;justify-content:center;margin:0;padding:0;width:44px;min-width:44px;height:44px;min-height:44px;border:1px solid rgba(150,150,150,.35);border-radius:50%;background:rgba(65,65,65,.9);color:#fff;font-family:Arial,sans-serif;font-size:28px;font-weight:400;line-height:1;transform:none;box-shadow:none;}
.gjg-gallery .gjg-lightbox-close{top:24px;right:24px;font-size:29px;}
.gjg-gallery .gjg-lightbox-prev{top:50%;left:18px;transform:translateY(-50%);}
.gjg-gallery .gjg-lightbox-next{top:50%;right:18px;transform:translateY(-50%);}
.gjg-gallery.is-light .gjg-lightbox button{background:rgba(255,255,255,.92);color:#222;border-color:rgba(0,0,0,.2);}
.gjg-gallery .gjg-lightbox button:hover{filter:brightness(.92);}
@media(min-width:768px) and (max-width:1023px){.gjg-gallery .gjg-lightbox{display:none!important;}}

/* v1.3.8: full-width navigation and configurable collection separator */
.gjg-gallery .gjg-top{padding-left:0!important;padding-right:0!important;}
.gjg-gallery .gjg-filters{width:100%;box-sizing:border-box;}
.gjg-gallery .gjg-scroll-track{width:100%;margin-left:0!important;margin-right:0!important;}
.gjg-gallery .gjg-collection-divider{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;align-self:center;white-space:nowrap;padding:0 18px;margin:0 2px;border-left:1px solid currentColor;border-right:1px solid currentColor;color:var(--gjg-muted);font-size:12px;font-weight:500;letter-spacing:.07em;line-height:1.5;text-transform:uppercase;user-select:none;cursor:default;}


/* v1.3.9: photo entrance, staggered captions and scrollable leading inset */
/* The spacer belongs to the scrollable strip, not to its viewport. */
.gjg-gallery .gjg-filters::before{content:"";display:block;flex:0 0 16px;min-width:16px;align-self:stretch;pointer-events:none;}
.gjg-gallery .gjg-item.gjg-awaiting,
.gjg-gallery .gjg-item.gjg-ready{animation:none!important;}
.gjg-gallery .gjg-item .gjg-photo img{transform:translate3d(0,14px,0) scale(1.018);transform-origin:center center;will-change:opacity,transform;}
.gjg-gallery .gjg-item.gjg-awaiting .gjg-photo img{opacity:0!important;}
.gjg-gallery .gjg-item.gjg-ready .gjg-photo img{opacity:1;transform:translate3d(0,0,0) scale(1);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);}
/* Only animate the text when the overlay opens, never the layout itself. */
.gjg-gallery .gjg-overlay > .gjg-photo-title,
.gjg-gallery .gjg-overlay > .gjg-photo-description,
.gjg-gallery .gjg-overlay > .gjg-photo-copyright{opacity:0;transform:translate3d(0,10px,0);transition:opacity .38s ease,transform .5s cubic-bezier(.22,1,.36,1);}
.gjg-gallery .gjg-photo:hover .gjg-overlay > *,
.gjg-gallery .gjg-photo:focus-visible .gjg-overlay > *,
.gjg-gallery .gjg-photo.is-info-open .gjg-overlay > *{opacity:1;transform:translate3d(0,0,0);}
.gjg-gallery .gjg-overlay > .gjg-photo-title{transition-delay:35ms;}
.gjg-gallery .gjg-overlay > .gjg-photo-description{transition-delay:100ms;}
.gjg-gallery .gjg-overlay > .gjg-photo-copyright{transition-delay:155ms;}
@media (hover:none){
 .gjg-gallery .gjg-photo:hover:not(.is-info-open) .gjg-overlay > *{opacity:0;transform:translate3d(0,10px,0);}
}
@media (prefers-reduced-motion:reduce){
 .gjg-gallery .gjg-item .gjg-photo img,
 .gjg-gallery .gjg-item.gjg-ready .gjg-photo img{transform:none;transition:none;will-change:auto;}
 .gjg-gallery .gjg-overlay > *{transform:none!important;transition:none!important;}
}

/* v1.4.0: editorial reveal and cohesive dark/light gallery palette */
.gjg-gallery{--gjg-muted:#b9bdc1;--gjg-pill:#404346;--gjg-bg:var(--gjg-dark-bg,#2d2f31);--gjg-fg:var(--gjg-dark-text,#eff2f5);transition:background-color .28s ease,color .28s ease;}
.gjg-gallery.is-light{--gjg-muted:#5b5e62;--gjg-pill:#dce0e3;--gjg-bg:var(--gjg-light-bg,#f7fafd);--gjg-fg:var(--gjg-light-text,#2d2f31);}
.gjg-gallery .gjg-filter{transition:background-color .22s ease,color .22s ease;}
.gjg-gallery.is-light .gjg-filter{color:#404346;}
.gjg-gallery.is-light .gjg-filter.is-active,.gjg-gallery.is-light .gjg-filter:hover{color:#141516;}
.gjg-gallery .gjg-overlay{background:rgba(20,21,22,.80);color:#eff2f5;transition:opacity .32s ease,background-color .28s ease,color .28s ease;}
.gjg-gallery.is-light .gjg-overlay{background:rgba(247,250,253,.88);color:#2d2f31;}
.gjg-gallery .gjg-item{background:var(--gjg-pill);}
.gjg-gallery .gjg-item.gjg-awaiting .gjg-photo img{opacity:0!important;transform:translate3d(0,25px,0) scale(1.014);}
.gjg-gallery .gjg-item.gjg-ready .gjg-photo img{opacity:1;transform:translate3d(0,0,0) scale(1);transition:opacity .78s cubic-bezier(.22,1,.36,1) var(--gjg-stagger,0ms),transform .95s cubic-bezier(.22,1,.36,1) var(--gjg-stagger,0ms);}
.gjg-gallery .gjg-overlay > .gjg-photo-title,.gjg-gallery .gjg-overlay > .gjg-photo-description,.gjg-gallery .gjg-overlay > .gjg-photo-copyright{transform:translate3d(0,17px,0);filter:blur(2px);transition:opacity .38s ease,transform .55s cubic-bezier(.22,1,.36,1),filter .5s ease;}
.gjg-gallery .gjg-photo:hover .gjg-overlay > *,.gjg-gallery .gjg-photo:focus-visible .gjg-overlay > *,.gjg-gallery .gjg-photo.is-info-open .gjg-overlay > *{transform:translate3d(0,0,0);filter:blur(0);}
.gjg-gallery .gjg-overlay > .gjg-photo-title{transition-delay:45ms;}
.gjg-gallery .gjg-overlay > .gjg-photo-description{transition-delay:115ms;}
.gjg-gallery .gjg-overlay > .gjg-photo-copyright{transition-delay:185ms;}
/* Theme switch: CSS-only adaptation of the supplied dark/light reference. */
.gjg-gallery .gjg-mode-toggle{display:inline-flex;align-items:center;gap:9px;margin-left:10px;white-space:nowrap;}
.gjg-gallery .gjg-mode-label{font:700 11px/1 Arial,sans-serif;letter-spacing:.025em;color:#b9bdc1;transition:color .24s ease;}
.gjg-gallery .gjg-mode-dark{color:var(--gjg-fg);}
.gjg-gallery.is-light .gjg-mode-dark{color:#7c8084;}
.gjg-gallery.is-light .gjg-mode-light{color:#2d2f31;}
.gjg-gallery .gjg-controls .gjg-theme{appearance:none;position:relative;display:block;width:52px!important;min-width:52px!important;height:30px!important;min-height:30px!important;margin:0!important;padding:0!important;border:0!important;border-radius:20px!important;background:#dce0e3!important;overflow:hidden;transition:background .28s ease;}
.gjg-gallery .gjg-controls .gjg-theme::before{content:'';position:absolute;left:5px;top:5px;width:20px;height:20px;border-radius:50%;background:#2d2f31;box-shadow:5px -3px 0 0 #dce0e3;transition:left .28s ease,background .28s ease,box-shadow .28s ease;}
.gjg-gallery.is-light .gjg-controls .gjg-theme{background:#404346!important;}
.gjg-gallery.is-light .gjg-controls .gjg-theme::before{left:27px;background:#eff2f5;box-shadow:none;}
.gjg-gallery .gjg-theme-knob{display:none;}
.gjg-gallery .gjg-lightbox{background:var(--gjg-bg);color:var(--gjg-fg);}
.gjg-gallery .gjg-lightbox-caption{color:var(--gjg-fg);}
@media(max-width:767px){.gjg-gallery .gjg-mode-toggle{gap:5px;margin-left:5px;}.gjg-gallery .gjg-mode-label{font-size:10px;}.gjg-gallery .gjg-controls .gjg-theme{width:46px!important;min-width:46px!important;}.gjg-gallery.is-light .gjg-controls .gjg-theme::before{left:21px;}}
@media(prefers-reduced-motion:reduce){.gjg-gallery .gjg-item.gjg-ready .gjg-photo img{transition:none!important;transform:none!important;}.gjg-gallery .gjg-overlay > *{filter:none!important;transform:none!important;transition:none!important;}.gjg-gallery .gjg-controls .gjg-theme,.gjg-gallery .gjg-controls .gjg-theme::before{transition:none!important;}}

/* v1.4.1: five-position column switch, matched to the Dark/Light palette. */
.gjg-gallery .gjg-column-switch{display:inline-flex;align-items:center;gap:0;padding:3px;border-radius:24px;background:#dce0e3;white-space:nowrap;transition:background .28s ease;}
.gjg-gallery .gjg-controls .gjg-column-switch .gjg-cols{appearance:none;min-width:32px!important;width:32px!important;height:28px!important;min-height:28px!important;margin:0!important;padding:0!important;border:0!important;border-radius:18px!important;background:transparent!important;color:#3a3d40!important;font:700 12px/1 Arial,sans-serif!important;box-shadow:none!important;transition:background .24s ease,color .24s ease,box-shadow .24s ease!important;}
.gjg-gallery .gjg-controls .gjg-column-switch .gjg-cols.is-active{background:#2d2f31!important;color:#eff2f5!important;box-shadow:0 1px 4px rgba(0,0,0,.18)!important;}
.gjg-gallery.is-light .gjg-column-switch{background:#404346;}
.gjg-gallery.is-light .gjg-controls .gjg-column-switch .gjg-cols{color:#dce0e3!important;}
.gjg-gallery.is-light .gjg-controls .gjg-column-switch .gjg-cols.is-active{background:#eff2f5!important;color:#2d2f31!important;box-shadow:0 1px 4px rgba(0,0,0,.22)!important;}
.gjg-gallery .gjg-controls .gjg-column-switch .gjg-cols:focus-visible{outline:2px solid #7f9fb9!important;outline-offset:2px;}
@media(prefers-reduced-motion:reduce){.gjg-gallery .gjg-column-switch,.gjg-gallery .gjg-controls .gjg-column-switch .gjg-cols{transition:none!important;}}

/* v1.4.2: one continuous sliding indicator, instead of swapping active button backgrounds. */
.gjg-gallery .gjg-column-switch{position:relative;isolation:isolate;--gjg-selected-index:1;}
.gjg-gallery .gjg-column-indicator{position:absolute;z-index:0;left:3px;top:3px;width:32px;height:28px;border-radius:18px;background:#2d2f31;box-shadow:0 1px 4px rgba(0,0,0,.18);transform:translate3d(calc(var(--gjg-selected-index)*32px),0,0);transition:transform .32s cubic-bezier(.22,1,.36,1),background .28s ease;pointer-events:none;}
.gjg-gallery.is-light .gjg-column-indicator{background:#eff2f5;}
.gjg-gallery .gjg-controls .gjg-column-switch .gjg-cols{position:relative;z-index:1;}
.gjg-gallery .gjg-controls .gjg-column-switch .gjg-cols.is-active,.gjg-gallery.is-light .gjg-controls .gjg-column-switch .gjg-cols.is-active{background:transparent!important;box-shadow:none!important;}
@media(prefers-reduced-motion:reduce){.gjg-gallery .gjg-column-indicator{transition:none!important;}}

/* v1.4.3: remove stray column indicator on mobile; editorial lightbox controls. */
@media(max-width:767px){
 .gjg-gallery .gjg-column-switch,.gjg-gallery .gjg-column-indicator{display:none!important;}
}
@media(min-width:1024px){
 .gjg-gallery .gjg-lightbox{padding:0!important;display:flex;flex-direction:column;justify-content:center;align-items:center;}
 .gjg-gallery .gjg-lightbox-viewport{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:0;width:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;}
 .gjg-gallery .gjg-lightbox-viewport img{display:block;flex:none;width:auto;height:auto;max-width:calc(100vw - 170px);max-height:calc(100dvh - 190px);object-fit:contain;cursor:zoom-in;transition:none;}
 .gjg-gallery .gjg-lightbox.is-zoomed .gjg-lightbox-viewport{display:block;text-align:center;}
 .gjg-gallery .gjg-lightbox.is-zoomed .gjg-lightbox-viewport img{max-width:none!important;max-height:none!important;cursor:zoom-out;margin:auto;}
 .gjg-gallery .gjg-lightbox-caption{flex:0 0 auto;max-height:155px;padding:12px 20px 20px;}
 .gjg-gallery .gjg-lightbox button.gjg-lightbox-prev,
 .gjg-gallery .gjg-lightbox button.gjg-lightbox-next,
 .gjg-gallery .gjg-lightbox button.gjg-lightbox-close{
  position:fixed!important;z-index:4;display:flex!important;align-items:center!important;justify-content:center!important;
  width:56px!important;min-width:56px!important;height:56px!important;min-height:56px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
  background:#222!important;color:#f3f3f3!important;box-shadow:none!important;
  font:400 30px/1 Arial,sans-serif!important;opacity:1;transition:background-color .2s ease,color .2s ease,opacity .2s ease;
 }
 .gjg-gallery .gjg-lightbox button.gjg-lightbox-prev{left:0!important;top:50%!important;transform:translateY(-50%)!important;}
 .gjg-gallery .gjg-lightbox button.gjg-lightbox-next{right:0!important;top:50%!important;transform:translateY(-50%)!important;}
 .gjg-gallery .gjg-lightbox button.gjg-lightbox-close{right:0!important;top:0!important;transform:none!important;font-size:34px!important;}
 .gjg-gallery .gjg-lightbox button.gjg-lightbox-prev:hover,
 .gjg-gallery .gjg-lightbox button.gjg-lightbox-next:hover,
 .gjg-gallery .gjg-lightbox button.gjg-lightbox-close:hover{background:#444!important;filter:none!important;}
 .gjg-gallery .gjg-lightbox button:disabled{opacity:.2!important;pointer-events:none;}
 .gjg-gallery.is-light .gjg-lightbox button.gjg-lightbox-prev,
 .gjg-gallery.is-light .gjg-lightbox button.gjg-lightbox-next,
 .gjg-gallery.is-light .gjg-lightbox button.gjg-lightbox-close{background:#222!important;color:#f3f3f3!important;}
 .gjg-gallery .gjg-lightbox-viewport img:focus-visible{outline:2px solid currentColor;outline-offset:3px;}
}

/* v1.4.4: unobstructed desktop hover and cursor-tracking caption. */
@media(min-width:1024px) and (hover:hover){
 .gjg-gallery .gjg-photo .gjg-overlay,.gjg-gallery .gjg-photo:hover .gjg-overlay,.gjg-gallery .gjg-photo:focus-visible .gjg-overlay{opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
 .gjg-gallery .gjg-photo{position:relative;}
 .gjg-gallery .gjg-hover-caption{position:absolute;z-index:5;left:var(--gjg-pointer-x,50%);top:var(--gjg-pointer-y,50%);transform:none;width:max-content;max-width:min(270px,75%);padding:9px 12px;background:rgba(34,36,38,.93);color:#f3f4f5;border-radius:2px;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;display:flex;flex-direction:column;gap:3px;text-align:left;line-height:1.35;box-shadow:0 3px 14px rgba(0,0,0,.18);}
 .gjg-gallery.is-light .gjg-hover-caption{background:rgba(247,249,250,.96);color:#292b2e;}
 .gjg-gallery .gjg-photo:hover .gjg-hover-caption,.gjg-gallery .gjg-photo:focus-visible .gjg-hover-caption{opacity:1;visibility:visible;}
 .gjg-gallery .gjg-hover-caption .gjg-photo-title,.gjg-gallery .gjg-hover-caption .gjg-photo-description,.gjg-gallery .gjg-hover-caption .gjg-photo-copyright{opacity:1!important;filter:none!important;transform:none!important;}
}
@media(max-width:1023px), (hover:none){.gjg-gallery .gjg-hover-caption{display:none!important;}}
.gjg-gallery .gjg-filter-emoji{display:inline-block;margin-left:4px;white-space:nowrap;}

/* v1.4.5: viewport-level information card, no image clipping. */
.gjg-floating-caption{position:fixed;left:0;top:0;z-index:2147483000;display:flex;flex-direction:column;align-items:flex-start;gap:5px;max-width:min(310px,calc(100vw - 24px));width:max-content;padding:12px 15px;background:#f7f8f9;color:#25282b;border-radius:3px;box-shadow:0 6px 22px rgba(0,0,0,.16);pointer-events:none;opacity:0;visibility:hidden;text-align:left;line-height:1.35;transition:opacity .18s ease,visibility .18s ease;overflow-wrap:break-word;}
.gjg-floating-caption.is-visible{opacity:1;visibility:visible;}
.gjg-floating-caption .gjg-photo-title{font:700 15px/1.3 Arial,sans-serif!important;text-transform:none!important;letter-spacing:0!important;}
.gjg-floating-caption .gjg-photo-description{font:400 12px/1.45 Arial,sans-serif!important;text-transform:none!important;color:#4c5054;}
.gjg-floating-caption .gjg-photo-copyright{font:400 10px/1.4 Arial,sans-serif!important;text-transform:none!important;color:#74797e;}
/* Allow safe inline font-size on rich captions instead of overriding it. */
.gjg-floating-caption .gjg-photo-description span,.gjg-floating-caption .gjg-photo-copyright span{font-size:inherit;}
.gjg-cursor-badge{position:fixed;top:0;left:0;z-index:2147483001;font-size:23px;line-height:1;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease;}
.gjg-cursor-badge.is-visible{opacity:1;visibility:visible;}
@media(min-width:1024px) and (hover:hover) and (pointer:fine){.gjg-gallery .gjg-photo{cursor:none!important;}}
@media(max-width:1023px),(hover:none),(pointer:coarse){.gjg-floating-caption,.gjg-cursor-badge{display:none!important;}}
@media(prefers-reduced-motion:reduce){.gjg-floating-caption{transition:none!important;}}

/* v1.4.7: continuous tracking and smoothly resizing information card. */
.gjg-floating-caption{box-sizing:border-box;overflow:hidden;will-change:transform,width,height;transition:opacity .18s ease,visibility .18s ease,width .24s cubic-bezier(.22,1,.36,1),height .24s cubic-bezier(.22,1,.36,1);}
.gjg-caption-measure{position:fixed!important;left:-10000px!important;top:-10000px!important;transform:none!important;visibility:hidden!important;opacity:0!important;width:max-content!important;height:auto!important;max-width:min(310px,calc(100vw - 24px))!important;overflow:visible!important;transition:none!important;pointer-events:none!important;}
@media(prefers-reduced-motion:reduce){.gjg-floating-caption{transition:none!important;}}

/* v1.4.8: zoom hint follows the pointer without Safari's native title tooltip. */
.gjg-zoom-hint{position:fixed;top:0;left:0;z-index:2147483002;pointer-events:none;opacity:0;visibility:hidden;padding:7px 10px;background:rgba(35,35,35,.91);color:#fff;border-radius:3px;font:12px/1.25 Arial,sans-serif;white-space:nowrap;transition:opacity .16s ease,visibility .16s ease;will-change:transform;}
.gjg-zoom-hint.is-visible{opacity:1;visibility:visible;}
@media(max-width:1023px),(hover:none),(pointer:coarse){.gjg-zoom-hint{display:none!important;}}

/* 1.4.11: Total count alongside column controls */
.gjg-gallery .gjg-toolbar{justify-content:flex-end;}
.gjg-gallery .gjg-controls{gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.gjg-gallery .gjg-status{font-size:12px;font-weight:400;line-height:1.2;color:var(--gjg-muted);white-space:nowrap;}
.gjg-gallery .gjg-toolbar-divider{display:inline-block;flex:0 0 1px;width:1px;height:18px;background:var(--gjg-muted);opacity:.45;margin:0 8px;}
.gjg-gallery .gjg-control-label{margin-right:4px;}
@media(max-width:767px){.gjg-gallery .gjg-toolbar-divider{display:none;}.gjg-gallery .gjg-status{font-size:11px;}}

/* Tablet: fixed two-column masonry; no column selector. */
@media(min-width:768px) and (max-width:1023px){.gjg-gallery .gjg-column-switch,.gjg-gallery .gjg-control-label,.gjg-gallery .gjg-column-indicator{display:none!important;}}

/* v1.4.14: YouTube Shorts/video tiles and lazy iframe lightbox. */
.gjg-gallery .gjg-video-item .gjg-photo{position:relative;}
.gjg-gallery .gjg-video-item .gjg-photo>img{width:100%;aspect-ratio:9/16;object-fit:cover;object-position:center;}
.gjg-gallery .gjg-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font:24px/1 Arial,sans-serif;padding-left:4px;pointer-events:none;box-shadow:0 2px 16px #0006;}
.gjg-gallery .gjg-video-item .gjg-photo:hover .gjg-video-play{background:#e62117;}
.gjg-gallery .gjg-lightbox-viewport .gjg-video-player{width:min(420px,calc(100vw - 90px));height:min(75dvh,calc((100vw - 90px)*16/9));aspect-ratio:9/16;flex:none;margin:auto;}
.gjg-gallery .gjg-lightbox-viewport .gjg-video-player iframe{display:block;width:100%;height:100%;border:0;}
.gjg-gallery .gjg-lightbox-viewport .gjg-video-player[hidden],.gjg-gallery .gjg-lightbox-viewport img[hidden]{display:none!important;}
@media(max-width:767px){.gjg-gallery .gjg-lightbox:has(.gjg-video-player:not([hidden])){display:flex!important;position:fixed!important;inset:0!important;z-index:999999!important;background:#111!important;flex-direction:column;}.gjg-gallery .gjg-lightbox:has(.gjg-video-player:not([hidden])) .gjg-lightbox-viewport{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;}.gjg-gallery .gjg-lightbox:has(.gjg-video-player:not([hidden])) .gjg-video-player{width:min(350px,calc(100vw - 80px));height:min(70dvh,calc((100vw - 80px)*16/9));}}

/* 1.4.15: Fit the video frame to its declared orientation, within viewport bounds. */
.gjg-gallery .gjg-video-item .gjg-photo>img{aspect-ratio:auto;height:auto;object-fit:cover;}
.gjg-gallery .gjg-video-item .gjg-photo>img[width="9"]{aspect-ratio:9/16;}
.gjg-gallery .gjg-video-item .gjg-photo>img[width="16"]{aspect-ratio:16/9;}
.gjg-gallery .gjg-lightbox-viewport .gjg-video-player{width:min(420px,calc(100vw - 110px),calc((100dvh - 170px)*9/16));height:auto;aspect-ratio:9/16;max-height:calc(100dvh - 170px);}
.gjg-gallery .gjg-lightbox-viewport .gjg-video-player.gjg-video-horizontal{width:min(1100px,calc(100vw - 110px),calc((100dvh - 170px)*16/9));aspect-ratio:16/9;}
@media(max-width:767px){.gjg-gallery .gjg-lightbox:has(.gjg-video-player:not([hidden])) .gjg-video-player{width:min(420px,calc(100vw - 76px),calc((100dvh - 135px)*9/16));height:auto;max-height:calc(100dvh - 135px)}.gjg-gallery .gjg-lightbox:has(.gjg-video-player:not([hidden])) .gjg-video-player.gjg-video-horizontal{width:min(calc(100vw - 76px),calc((100dvh - 135px)*16/9));}}

/* Boom Gallery 1.5.4: animated in-frame photo zoom. */
.gjg-gallery .gjg-lightbox-viewport{overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.gjg-gallery .gjg-lightbox-viewport .boom-zoom-frame{display:block;position:relative;flex:0 1 auto;max-width:calc(100vw - 170px);max-height:calc(100dvh - 190px);overflow:hidden;line-height:0;margin:auto;}
.gjg-gallery .gjg-lightbox-viewport .boom-zoom-frame img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:calc(100dvh - 190px)!important;margin:0!important;transform-origin:center center;transform:translate3d(0,0,0) scale(1);will-change:transform;}
.gjg-gallery .gjg-lightbox.is-zoomed .gjg-lightbox-viewport .boom-zoom-frame img{max-width:100%!important;max-height:calc(100dvh - 190px)!important;cursor:zoom-out;}
@media(max-width:767px){.gjg-gallery .gjg-lightbox-viewport .boom-zoom-frame{max-width:calc(100vw - 84px);}.gjg-gallery .gjg-lightbox-viewport .boom-zoom-frame img{max-height:calc(100dvh - 220px)!important;}}
@media(prefers-reduced-motion:reduce){.gjg-gallery .gjg-lightbox-viewport .boom-zoom-frame img{transition:none!important;}}

/* Boom Gallery 1.5.5: keep the photo zoom frame out of video layout. */
.gjg-gallery .gjg-lightbox-viewport .boom-zoom-frame[hidden]{display:none!important;}
.gjg-gallery .gjg-lightbox-viewport .boom-zoom-frame img[hidden]{display:none!important;}
.gjg-gallery .gjg-lightbox-viewport:has(.gjg-video-player:not([hidden])){display:flex!important;align-items:center!important;justify-content:center!important;}
.gjg-gallery .gjg-lightbox-viewport .gjg-video-player:not([hidden]){display:block!important;flex:0 0 auto!important;margin:auto!important;position:relative!important;left:auto!important;right:auto!important;transform:none!important;}

/* 1.5.8: Keep nested rich-caption spans inline in the lightbox. */
.gjg-gallery .gjg-lightbox-caption .gjg-photo-description span,.gjg-gallery .gjg-lightbox-caption .gjg-photo-copyright span{display:inline;}

/* v1.5.9: symmetric inner navigation spacing and video-only filter */
.gjg-gallery .gjg-filters::before{flex:0 0 12px!important;min-width:12px!important;}
.gjg-gallery .gjg-filter-end{display:block;flex:0 0 12px;min-width:12px;pointer-events:none;}
.gjg-gallery .gjg-video-divider{padding-left:14px;padding-right:14px;}

/* 1.5.13: maintain one cursor throughout image gutters; native pointer never flashes. */
@media(min-width:1024px) and (hover:hover) and (pointer:fine){.gjg-gallery .gjg-items.gjg-custom-cursor-area,.gjg-gallery .gjg-items.gjg-custom-cursor-area *{cursor:none!important;}}

/* v1.5.15: configurable translucent glass for the floating desktop caption. */
.gjg-floating-caption.gjg-glass-enabled{
  background:rgba(247,248,249,var(--gjg-glass-opacity,.65));
  -webkit-backdrop-filter:blur(var(--gjg-glass-blur,16px)) saturate(1.6);
  backdrop-filter:blur(var(--gjg-glass-blur,16px)) saturate(1.6);
  border:1px solid rgba(255,255,255,.46);
  border-radius:var(--gjg-glass-radius,16px);
  box-shadow:0 8px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.28);
}
.gjg-floating-caption.gjg-glass-enabled.gjg-glass-dark{
  background:rgba(29,31,35,var(--gjg-glass-opacity,.65));
  color:#f5f6f8;
  border-color:rgba(255,255,255,.22);
}
.gjg-floating-caption.gjg-glass-enabled.gjg-glass-dark .gjg-photo-description{color:#e2e4e8;}
.gjg-floating-caption.gjg-glass-enabled.gjg-glass-dark .gjg-photo-copyright{color:#c2c5cb;}
.gjg-caption-measure.gjg-glass-enabled{-webkit-backdrop-filter:none;backdrop-filter:none;}

/* v1.5.16: keep the gallery stable while switching collections. */
.gjg-gallery .gjg-items.gjg-filter-switching{transition:min-height .5s ease;}
.gjg-gallery .gjg-items.gjg-filter-switching .gjg-item{animation-duration:.32s!important;}
@media(prefers-reduced-motion:reduce){.gjg-gallery .gjg-items.gjg-filter-switching{transition:none!important;}}

/* v1.5.17: short collections keep the site footer below the initial viewport. */
.gjg-gallery .gjg-items{min-height:var(--gjg-viewport-floor,0px);}

/* v1.5.18: use the space above the lightbox caption for larger photographs. */
@media (min-width:1024px){
 .gjg-gallery .gjg-lightbox-viewport{align-items:flex-end!important;box-sizing:border-box;padding-top:38px;padding-bottom:0;}
 .gjg-gallery .gjg-lightbox-viewport .boom-zoom-frame{max-height:calc(100dvh - 142px)!important;}
 .gjg-gallery .gjg-lightbox-viewport .boom-zoom-frame img,
 .gjg-gallery .gjg-lightbox.is-zoomed .gjg-lightbox-viewport .boom-zoom-frame img{max-height:calc(100dvh - 142px)!important;}
 .gjg-gallery .gjg-lightbox-caption{padding:15px 20px 18px!important;max-height:155px;}
 .gjg-gallery .gjg-lightbox button.gjg-lightbox-prev,
 .gjg-gallery .gjg-lightbox button.gjg-lightbox-next{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1!important;}
 .gjg-gallery .gjg-lightbox button.gjg-lightbox-prev span,
 .gjg-gallery .gjg-lightbox button.gjg-lightbox-next span{display:flex!important;align-items:center!important;justify-content:center!important;width:100%;height:100%;margin:0!important;padding:0!important;line-height:1!important;transform:translateY(-1px);}
}


/* v1.5.21: inset rounded horizontal navigation progress bar on both ends. */
.gjg-gallery .gjg-scroll-track{
  width:calc(100% - 16px)!important;
  box-sizing:border-box!important;
  margin-left:8px!important;
  margin-right:8px!important;
  border-radius:999px!important;
  overflow:hidden;
}
.gjg-gallery .gjg-scroll-thumb{border-radius:999px!important;}

/* v1.5.20: consistent mobile caption typography, deliberately NO Liquid Glass. */
@media(max-width:767px){
  .gjg-gallery .gjg-overlay{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .gjg-gallery .gjg-overlay > .gjg-photo-title{
    font-family:var(--gjg-font,Lato,sans-serif)!important;
    font-size:var(--gjg-title-size,18px)!important;
    font-weight:700!important;
    line-height:1.3!important;
    text-transform:none!important;
  }
  .gjg-gallery .gjg-overlay > .gjg-photo-description{
    font-family:var(--gjg-font,Lato,sans-serif)!important;
    font-size:var(--gjg-description-size,14px)!important;
    font-weight:400!important;
    line-height:1.45!important;
    text-transform:none!important;
  }
  .gjg-gallery .gjg-overlay > .gjg-photo-copyright{
    font-family:var(--gjg-font,Lato,sans-serif)!important;
    font-size:var(--gjg-copyright-size,11px)!important;
    font-weight:400!important;
    line-height:1.4!important;
    text-transform:none!important;
  }
  .gjg-gallery .gjg-overlay > .gjg-photo-description span,
  .gjg-gallery .gjg-overlay > .gjg-photo-copyright span{display:inline;}
}

/* v1.5.20: draw optically centred navigation arrows without font glyph offsets. */
@media(min-width:1024px){
  .gjg-gallery .gjg-lightbox button.gjg-lightbox-prev,
  .gjg-gallery .gjg-lightbox button.gjg-lightbox-next{
    display:flex!important;align-items:center!important;justify-content:center!important;
    position:fixed!important;line-height:0!important;
  }
  .gjg-gallery .gjg-lightbox button.gjg-lightbox-prev span,
  .gjg-gallery .gjg-lightbox button.gjg-lightbox-next span{font-size:0!important;transform:none!important;}
  .gjg-gallery .gjg-lightbox button.gjg-lightbox-prev::before,
  .gjg-gallery .gjg-lightbox button.gjg-lightbox-next::before{
    content:''!important;position:absolute!important;left:50%!important;top:50%!important;
    width:23px!important;height:0!important;border-top:2px solid currentColor!important;
    transform:translate(-50%,-50%)!important;pointer-events:none!important;
  }
  .gjg-gallery .gjg-lightbox button.gjg-lightbox-prev::after,
  .gjg-gallery .gjg-lightbox button.gjg-lightbox-next::after{
    content:''!important;position:absolute!important;top:50%!important;
    width:9px!important;height:9px!important;
    border-top:2px solid currentColor!important;border-right:2px solid currentColor!important;
    pointer-events:none!important;
  }
  .gjg-gallery .gjg-lightbox button.gjg-lightbox-prev::after{
    left:calc(50% - 11px)!important;transform:translateY(-50%) rotate(-135deg)!important;
  }
  .gjg-gallery .gjg-lightbox button.gjg-lightbox-next::after{
    left:calc(50% + 1px)!important;transform:translateY(-50%) rotate(45deg)!important;
  }
}

/* v1.5.22: fullscreen toggle only; preserve v1.5.21 lightbox/caption styling. */
.gjg-gallery .gjg-lightbox button.gjg-lightbox-fullscreen{
 position:fixed!important;top:0!important;right:56px!important;
 width:56px!important;min-width:56px!important;height:56px!important;min-height:56px!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 border-radius:0!important;transform:none!important;padding:0!important;
 background:#222!important;color:#f3f3f3!important;z-index:5!important;
}
.gjg-gallery .gjg-lightbox button.gjg-lightbox-fullscreen svg{display:block;width:22px;height:22px;flex:none;}
.gjg-gallery .gjg-lightbox button.gjg-lightbox-fullscreen[hidden]{display:none!important;}
.gjg-gallery .gjg-lightbox:fullscreen{width:100vw;height:100dvh;inset:0;}
/* The fullscreen control must not disappear at tablet widths. */
.gjg-gallery .gjg-lightbox:not([hidden]) button.gjg-lightbox-fullscreen:not([hidden]){display:flex!important;visibility:visible!important;opacity:1!important;z-index:20!important;}
@media(max-width:1023px){
 .gjg-gallery .gjg-lightbox button.gjg-lightbox-fullscreen{top:0!important;right:56px!important;}
}

/* 1.5.24: slideshow control only. Existing lightbox/caption sizing is unchanged. */
.gjg-gallery .gjg-lightbox button.gjg-lightbox-play{position:fixed!important;top:0!important;right:112px!important;width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;background:#222!important;color:#fff!important;border:1px solid #777!important;border-radius:0!important;z-index:21!important;line-height:0!important;}
.gjg-gallery .gjg-lightbox button.gjg-lightbox-play svg{display:block;width:20px;height:20px;flex:none;}
.gjg-gallery .gjg-lightbox button.gjg-lightbox-play[hidden]{display:none!important;}
.gjg-gallery .gjg-lightbox:not([hidden]) button.gjg-lightbox-play:not([hidden]){display:flex!important;visibility:visible!important;opacity:1!important;}
@media(max-width:1023px){.gjg-gallery .gjg-lightbox button.gjg-lightbox-play{top:0!important;right:112px!important;}}

/* 1.5.26: compact, consistent iconography. No caption/lightbox sizing changes. */
.gjg-gallery .gjg-lightbox button.gjg-lightbox-play svg,
.gjg-gallery .gjg-lightbox button.gjg-lightbox-fullscreen svg,
.gjg-gallery .gjg-lightbox button.gjg-lightbox-close svg{display:block!important;width:20px!important;height:20px!important;flex:none!important;}
.gjg-gallery .gjg-lightbox button.gjg-lightbox-close span{display:flex!important;align-items:center!important;justify-content:center!important;line-height:0!important;}
.gjg-gallery .gjg-lightbox button.gjg-lightbox-close{font-size:0!important;}

/* 1.5.27: remove button frames and browser/theme focus rings without touching captions. */
.gjg-gallery .gjg-lightbox button.gjg-lightbox-play,
.gjg-gallery .gjg-lightbox button.gjg-lightbox-fullscreen,
.gjg-gallery .gjg-lightbox button.gjg-lightbox-close{
 border:0!important;outline:0!important;box-shadow:none!important;
 -webkit-appearance:none!important;appearance:none!important;
}
.gjg-gallery .gjg-lightbox button.gjg-lightbox-play:focus,
.gjg-gallery .gjg-lightbox button.gjg-lightbox-fullscreen:focus,
.gjg-gallery .gjg-lightbox button.gjg-lightbox-close:focus,
.gjg-gallery .gjg-lightbox button.gjg-lightbox-play:focus-visible,
.gjg-gallery .gjg-lightbox button.gjg-lightbox-fullscreen:focus-visible,
.gjg-gallery .gjg-lightbox button.gjg-lightbox-close:focus-visible{
 border:0!important;outline:0!important;box-shadow:none!important;
}
/* Keyboard focus remains perceptible through a subtle icon color shift, not a box. */
.gjg-gallery .gjg-lightbox button.gjg-lightbox-play:focus-visible svg,
.gjg-gallery .gjg-lightbox button.gjg-lightbox-fullscreen:focus-visible svg,
.gjg-gallery .gjg-lightbox button.gjg-lightbox-close:focus-visible svg{color:#b7d7f2!important;}

/* 1.5.29: On mobile/tablet, videos open as a standalone player with Close only. */
@media(max-width:1023px){
 .gjg-gallery .gjg-lightbox.gjg-mobile-video-only button.gjg-lightbox-prev,
 .gjg-gallery .gjg-lightbox.gjg-mobile-video-only button.gjg-lightbox-next,
 .gjg-gallery .gjg-lightbox.gjg-mobile-video-only button.gjg-lightbox-play,
 .gjg-gallery .gjg-lightbox.gjg-mobile-video-only button.gjg-lightbox-fullscreen,
 .gjg-gallery .gjg-lightbox.gjg-mobile-video-only .gjg-lightbox-caption{display:none!important;visibility:hidden!important;}
 .gjg-gallery .gjg-lightbox.gjg-mobile-video-only button.gjg-lightbox-close{display:flex!important;}
}

/* v1.5.30: reveal controls only once the complete gallery stylesheet is applied. */
.gjg-gallery .gjg-top,.gjg-gallery .gjg-toolbar{visibility:visible!important;}

/* v1.5.31: tablet video overlay remains fully usable and releases page scroll on close. */
@media(min-width:768px) and (max-width:1023px){
 .gjg-gallery .gjg-lightbox.gjg-mobile-video-only:not([hidden]){position:fixed!important;inset:0!important;display:flex!important;z-index:999999!important;background:#111!important;flex-direction:column!important;}
 .gjg-gallery .gjg-lightbox.gjg-mobile-video-only .gjg-lightbox-viewport{display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 auto!important;min-height:0!important;width:100%!important;overflow:hidden!important;}
 .gjg-gallery .gjg-lightbox.gjg-mobile-video-only .gjg-video-player{display:block!important;position:relative!important;width:min(440px,calc(100vw - 100px),calc((100dvh - 130px)*9/16))!important;height:auto!important;max-height:calc(100dvh - 130px)!important;aspect-ratio:9/16!important;}
 .gjg-gallery .gjg-lightbox.gjg-mobile-video-only .gjg-video-player.gjg-video-horizontal{width:min(860px,calc(100vw - 100px),calc((100dvh - 130px)*16/9))!important;aspect-ratio:16/9!important;}
 .gjg-gallery .gjg-lightbox.gjg-mobile-video-only .gjg-video-player iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;}
}

/* v1.5.33: Keep the actual masonry DOM column count in sync with its CSS grid.
   This also handles touch tablets whose CSS viewport exceeds 1023px. */
.gjg-gallery .gjg-items{grid-template-columns:repeat(var(--gjg-rendered-cols,var(--gjg-cols)),minmax(0,1fr))!important;}
