.cmng-gallery{display:block!important;min-width:0;width:100%;margin:0;position:relative}
.cmng-gallery .cmng-carousel{position:relative;overflow:hidden;width:100%;outline-offset:4px;touch-action:pan-y}
.cmng-gallery .gb-carousel-items{align-items:stretch}
.cmng-gallery .cmng-slide{aspect-ratio:var(--cmng-ratio);height:auto;background:#f7f7f7;min-width:0}
.cmng-gallery .cmng-image{margin:0!important;width:100%!important;height:100%!important;position:relative}
.cmng-gallery .cmng-image img{display:block;width:100%!important;height:100%!important;max-height:none!important;object-fit:var(--cmng-fit);object-position:center}
.cmng-gallery .cmng-caption{display:none}
.cmng-gallery .cmng-thumbs{display:flex;gap:var(--cmng-gap);overflow-x:auto;scrollbar-width:thin;margin-top:var(--cmng-gap);padding-bottom:3px;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
.cmng-gallery .cmng-thumb{flex:0 0 var(--cmng-thumb-w);width:var(--cmng-thumb-w);height:var(--cmng-thumb-h);padding:0;border:0!important;border-radius:0;background:#f7f7f7!important;opacity:1;scroll-snap-align:center;box-sizing:border-box}
.cmng-gallery .cmng-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.cmng-gallery .cmng-thumb[aria-current=true]{opacity:.6;box-shadow:inset 0 0 0 2px var(--cmng-control)}
.cmng-gallery .cmng-thumb:focus-visible,.cmng-gallery .cmng-carousel:focus-visible{outline:3px solid #3299cc;outline-offset:-3px}
.cmng-gallery .cmng-prev,.cmng-gallery .cmng-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;min-height:44px;min-width:44px;border:0!important;background:rgba(0,0,0,.3)!important;color:var(--cmng-control)!important;font-size:32px;line-height:1;padding:0}
.cmng-gallery .cmng-prev{left:0}.cmng-gallery .cmng-next{right:0}
.cmng-gallery .cmng-missing{display:flex;height:100%;min-height:120px;align-items:center;justify-content:center;padding:24px;color:#3e3e3e;text-align:center}
.cmng-gallery .cmng-empty{display:none}
.cmng-gallery .cmng-carousel:not([data-gb-carousel-initialized=true]) .gb-carousel-items{overflow-x:auto;scroll-snap-type:x mandatory}
.cmng-gallery .cmng-carousel:not([data-gb-carousel-initialized=true]) .cmng-slide{scroll-snap-align:start}
@media(prefers-reduced-motion:reduce){.cmng-gallery *{scroll-behavior:auto!important;transition-duration:0s!important}}
/* Preserve usable horizontal images even when the carousel dependency is absent. */
.cmng-gallery .gb-carousel-items{display:flex;width:100%}
.cmng-gallery .cmng-slide{flex-shrink:0;width:100%}
