.cm-folder-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;list-style:none;margin:0;padding:0;}.cm-folder-gallery.cm-cols-1{grid-template-columns:repeat(1,1fr);}.cm-folder-gallery.cm-cols-2{grid-template-columns:repeat(2,1fr);}.cm-folder-gallery.cm-cols-3{grid-template-columns:repeat(3,1fr);}.cm-folder-gallery.cm-cols-4{grid-template-columns:repeat(4,1fr);}.cm-folder-gallery.cm-cols-5{grid-template-columns:repeat(5,1fr);}.cm-folder-gallery.cm-cols-6{grid-template-columns:repeat(6,1fr);}.cm-gallery-item{position:relative;margin:0;padding:0;}.cm-gallery-item figure{margin:0;padding:0;position:relative;overflow:hidden;border-radius:4px;background:#f0f0f0;aspect-ratio:1 / 1;}.cm-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease,opacity .3s ease;}.cm-gallery-item a{display:block;text-decoration:none;height:100%;}.cm-gallery-item a:focus{outline:2px solid var(--wp-admin-theme-color,#2271b1);outline-offset:2px;border-radius:4px;}.cm-gallery-item a:focus img{transform:scale(1.02);}.cm-gallery-item figcaption{position:absolute;bottom:0;left:0;right:0;padding:10px;margin:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);color:#fff;font-size:14px;text-align:left;opacity:0;transition:opacity .3s ease;}.cm-gallery-item:hover figcaption,.cm-gallery-item:focus-within figcaption{opacity:1;}.cm-gallery-item:hover img{transform:scale(1.05);}.cm-lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;}.cm-lightbox-overlay.is-open{opacity:1;visibility:visible;}.cm-lightbox-overlay img{max-width:100%;max-height:100vh;object-fit:contain;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.5);}.cm-lightbox-close{position:absolute;top:20px;right:20px;width:44px;height:44px;background:rgba(255,255,255,.1);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;color:#fff;font-size:24px;line-height:1;}.cm-lightbox-close:hover,.cm-lightbox-close:focus{background:rgba(255,255,255,.2);outline:none;}.cm-lightbox-close:focus{box-shadow:0 0 0 3px rgba(34,113,177,.5);}.cm-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;background:rgba(255,255,255,.1);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;color:#fff;font-size:20px;}.cm-lightbox-nav:hover,.cm-lightbox-nav:focus{background:rgba(255,255,255,.2);outline:none;}.cm-lightbox-nav:focus{box-shadow:0 0 0 3px rgba(34,113,177,.5);}.cm-lightbox-nav.prev{left:20px;}.cm-lightbox-nav.next{right:20px;}.cm-lightbox-caption{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);max-width:90%;text-align:center;color:#fff;padding:15px 25px;background:rgba(0,0,0,.7);border-radius:8px;font-size:16px;}.cm-gallery-item.is-loading::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:cm-gallery-loading 1.5s infinite;}@keyframes cm-gallery-loading{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.cm-folder-gallery.is-empty{padding:40px;text-align:center;background:#f9f9f9;border-radius:8px;border:2px dashed #ddd;}.cm-folder-gallery.is-empty::before{content:'📁';font-size:48px;display:block;margin-bottom:10px;}.cm-folder-gallery.is-empty::after{content:'No images found in this folder.';color:#666;}@media (max-width:782px){.cm-folder-gallery,.cm-folder-gallery.cm-cols-3,.cm-folder-gallery.cm-cols-4,.cm-folder-gallery.cm-cols-5,.cm-folder-gallery.cm-cols-6{grid-template-columns:repeat(2,1fr);gap:10px}.cm-folder-gallery.cm-cols-1{grid-template-columns:1fr}.cm-lightbox-close{top:10px;right:10px}.cm-lightbox-nav.prev{left:10px}.cm-lightbox-nav.next{right:10px}.cm-lightbox-caption{bottom:10px;font-size:14px;padding:10px 15px}}@media (max-width:480px){.cm-folder-gallery,.cm-folder-gallery.cm-cols-2,.cm-folder-gallery.cm-cols-3,.cm-folder-gallery.cm-cols-4,.cm-folder-gallery.cm-cols-5,.cm-folder-gallery.cm-cols-6{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.cm-gallery-item img,.cm-gallery-item figcaption,.cm-lightbox-overlay,.cm-lightbox-close,.cm-lightbox-nav{transition:none}.cm-gallery-item.is-loading::after{animation:none}.cm-gallery-item:hover img{transform:none}}