.mgy-gallery,.mgy-archive{--mgy-columns:3;width:100%;margin:20px 0}
.mgy-grid,.mgy-archive-grid{display:grid;grid-template-columns:repeat(var(--mgy-columns),minmax(0,1fr));gap:16px}
.mgy-photo{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#ececec;border-radius:9px;text-decoration:none;outline-offset:4px}
.mgy-photo>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.mgy-photo:hover>img{transform:scale(1.05)}
.mgy-caption{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;background:linear-gradient(transparent,#000b);color:#fff;font-size:13px;line-height:1.5}
.mgy-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px;margin:30px 0}
.mgy-pagination a{padding:9px 15px;border:1px solid #ccc;border-radius:6px;text-decoration:none}
.mgy-pagination span{font-size:14px;color:#5c5c5c}
.mgy-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 23px}
.mgy-filters a{color:inherit;background:#f4f4f4;border:1px solid #dedede;text-decoration:none;border-radius:100px;padding:8px 16px;font-size:14px}
.mgy-filters a.mgy-active,.mgy-filters a:hover{background:#1b1b1b;color:white;border-color:#1b1b1b}
.mgy-archive-card{text-decoration:none;color:inherit;border-radius:10px;overflow:hidden;border:1px solid #e8e8e8;background:#fff;display:block;transition:box-shadow .2s ease}
.mgy-archive-card:hover{box-shadow:0 7px 25px #0002}
.mgy-archive-image{display:block;aspect-ratio:4/3;background:#eee;overflow:hidden}
.mgy-archive-image img{height:100%;width:100%;display:block;object-fit:cover;transition:transform .4s}
.mgy-archive-card:hover img{transform:scale(1.04)}
.mgy-no-image{display:grid;height:100%;place-items:center;color:#777}
.mgy-card-text{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:16px;line-height:1.5}
.mgy-card-text strong{font-size:16px}.mgy-card-text small{font-size:12px;color:#707070;white-space:nowrap}
.mgy-empty-public{padding:30px;border:1px dashed #ddd;text-align:center;color:#666}
.mgy-lightbox{padding:0;border:0;background:#101010;color:white;max-width:100vw;max-height:100vh;width:100vw;height:100vh;overflow:hidden}
.mgy-lightbox::backdrop{background:#000e}
.mgy-lightbox-inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:55px 65px;box-sizing:border-box}
.mgy-lightbox img{display:block;object-fit:contain;max-width:100%;max-height:100%;width:auto;height:auto;box-shadow:0 2px 24px #0007}
.mgy-lightbox .mgy-lb-button{position:absolute;z-index:2;border:0;background:#ffffff25;color:white;border-radius:100px;width:42px;height:42px;display:grid;place-items:center;font-size:28px;cursor:pointer}
.mgy-lightbox .mgy-lb-close{top:16px;right:18px}
.mgy-lightbox .mgy-lb-prev{top:50%;left:14px;transform:translateY(-50%)}
.mgy-lightbox .mgy-lb-next{top:50%;right:14px;transform:translateY(-50%)}
.mgy-lightbox .mgy-lb-caption{position:absolute;bottom:12px;left:20px;right:20px;text-align:center;font-size:14px;color:#ddd;pointer-events:none}
@media(max-width:767px){.mgy-grid,.mgy-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mgy-card-text{display:block;padding:10px}.mgy-card-text strong{font-size:14px}.mgy-card-text small{display:block;margin-top:4px}.mgy-lightbox-inner{padding:65px 10px}.mgy-lightbox .mgy-lb-prev{left:8px}.mgy-lightbox .mgy-lb-next{right:8px}}
@media(max-width:440px){.mgy-grid,.mgy-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.mgy-photo>img,.mgy-archive-image img{transition:none}}
