.cpl-gallery{width:100%}.cpl-gallery__grid{display:grid;grid-template-columns:repeat(var(--cpl-gallery-columns, 3), 1fr);gap:var(--cpl-gallery-gap, 8px)}@media (max-width: 768px){.cpl-gallery__grid{grid-template-columns:repeat(var(--cpl-gallery-columns-mobile, 2), 1fr)}}@media (max-width: 480px){.cpl-gallery__grid{grid-template-columns:1fr}}.cpl-gallery__item{position:relative;border-radius:8px;overflow:hidden;cursor:pointer;aspect-ratio:4/3;background:#e8e8e8}.cpl-gallery__item
img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.3s ease}.cpl-gallery__item:hover
img{transform:scale(1.05)}.cpl-gallery__item{animation:cplGalleryFadeIn 0.3s ease both}@keyframes
cplGalleryFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cpl-gallery__item--video .cpl-gallery__play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:56px;height:56px;border-radius:50%;background:rgba(0, 0, 0, 0.7);border:3px
solid #fff;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:background 0.2s, transform 0.2s}.cpl-gallery__item--video .cpl-gallery__play-icon::after{content:'';display:block;width:0;height:0;margin-left:4px;border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent #fff}.cpl-gallery__item--video:hover .cpl-gallery__play-icon{background:rgba(118, 39, 128, 0.85);transform:translate(-50%, -50%) scale(1.1)}.cpl-gallery__load-more{display:block;margin:24px
auto 0;padding:14px
40px;background:#762780;color:#fff;border:none;border-radius:30px;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;transition:background 0.2s, transform 0.1s}.cpl-gallery__load-more:hover{background:#5a1d63;transform:translateY(-1px)}.cpl-gallery__load-more:active{transform:translateY(0)}.cpl-gallery__load-more:disabled{background:#999;cursor:not-allowed;transform:none}.cpl-gallery__count{text-align:center;margin-top:12px;font-size:14px;color:#666}.cpl-lightbox{display:none;position:fixed;inset:0;z-index:999999;background:rgba(0, 0, 0, 0.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);align-items:center;justify-content:center;flex-direction:column}.cpl-lightbox--open{display:flex;animation:cplLightboxIn 0.2s ease}@keyframes
cplLightboxIn{from{opacity:0}to{opacity:1}}.cpl-lightbox__close{position:absolute;top:16px;right:16px;width:44px;height:44px;background:rgba(255, 255, 255, 0.1);border:2px
solid rgba(255, 255, 255, 0.3);border-radius:50%;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;z-index:10;line-height:1;padding:0}.cpl-lightbox__close:hover{background:rgba(255, 255, 255, 0.2)}.cpl-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;background:rgba(255, 255, 255, 0.1);border:2px
solid rgba(255, 255, 255, 0.3);border-radius:50%;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;z-index:10;padding:0;line-height:1}.cpl-lightbox__nav:hover{background:rgba(255, 255, 255, 0.25)}.cpl-lightbox__nav--prev{left:16px}.cpl-lightbox__nav--next{right:16px}@media (max-width: 600px){.cpl-lightbox__nav{width:40px;height:40px;font-size:20px}.cpl-lightbox__nav--prev{left:8px}.cpl-lightbox__nav--next{right:8px}}.cpl-lightbox__content{max-width:90vw;max-height:80vh;display:flex;align-items:center;justify-content:center}.cpl-lightbox__image{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:4px;opacity:0;transition:opacity 0.3s ease}.cpl-lightbox__image--loaded{opacity:1}.cpl-lightbox__video-wrapper{width:80vw;max-width:900px;aspect-ratio:16/9}.cpl-lightbox__iframe{width:100%;height:100%;border:none;border-radius:8px}@media (max-width: 600px){.cpl-lightbox__video-wrapper{width:95vw}}.cpl-lightbox__counter{color:rgba(255, 255, 255, 0.7);font-size:14px;margin-top:16px;text-align:center}.cpl-lightbox__title{color:#fff;font-size:14px;margin-top:6px;text-align:center;opacity:0.8;max-width:80vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cpl-lightbox__spinner{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:40px;height:40px;border:3px
solid rgba(255, 255, 255, 0.2);border-top-color:#fff;border-radius:50%;animation:cplSpin 0.8s linear infinite;display:none}@keyframes
cplSpin{to{transform:translate(-50%, -50%) rotate(360deg)}}