/* Three-column challenge gallery, independent of Elementor container width. */
.cwg-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;align-items:start;width:100%;}
.cwg-gallery-item{min-width:0;margin:0!important;}
.cwg-gallery-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;line-height:0;border-radius:3px;overflow:hidden;}
.cwg-gallery-open img{display:block;width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:cover;transition:transform .2s ease;}
.cwg-gallery-open:hover img{transform:scale(1.035);}
.cwg-gallery-open:focus-visible{outline:3px solid #007c83;outline-offset:3px;}
.cwg-gallery-item figcaption{margin-top:9px;font-size:14px;line-height:1.4;overflow-wrap:anywhere;}
.cwg-gallery-item figcaption strong{display:block;}
.cwg-lightbox{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.88);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 18px 24px;box-sizing:border-box;}
.cwg-lightbox[hidden]{display:none!important;}
.cwg-lightbox-image{max-width:min(92vw,1100px);max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain;box-shadow:0 4px 30px rgba(0,0,0,.35);}
.cwg-lightbox-caption{color:white;text-align:center;margin-top:12px;font-size:16px;}
.cwg-lightbox-close{position:absolute;top:12px;right:18px;background:transparent;border:0;color:white;font-size:38px;line-height:1;cursor:pointer;padding:4px 12px;}
.cwg-lightbox-close:focus-visible{outline:2px solid white;}
@media(max-width:767px){.cwg-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}}
@media(max-width:480px){.cwg-gallery{grid-template-columns:1fr!important;}}
