.gallery-hero{padding-bottom:60px}
.gallery-section{padding:0 8vw 90px}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px}
.gallery-item{display:flex;align-items:center;justify-content:center;width:100%;min-height:280px;padding:14px;border:0;border-radius:18px;overflow:hidden;background:#fff5e9;box-shadow:0 12px 30px #201a3214;cursor:zoom-in;transition:transform .2s,box-shadow .2s}
.gallery-item:hover{transform:translateY(-3px);box-shadow:0 18px 36px #201a3220}
.gallery-item img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;object-position:center}
.gallery-empty{max-width:560px;margin:0 auto;padding:48px 28px;border-radius:24px;background:#fff;text-align:center;box-shadow:0 16px 40px #201a3212}
.gallery-empty p{margin:0 0 22px;font-size:18px;line-height:1.6}
.gallery-locked-notice{max-width:560px;margin:0 auto;padding:32px 28px;border-radius:24px;border:2px solid #e00035;background:#fff5f5;text-align:center;box-shadow:0 16px 40px #201a3212}
.gallery-locked-notice strong{display:block;font-size:clamp(20px,3vw,28px);font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#e00035}
.gallery-locked-notice p{margin:12px 0 22px;font-size:17px;line-height:1.6;font-weight:700;color:#201a32}
.gallery-lightbox{position:relative;width:min(980px,calc(100vw - 28px));max-height:90vh;max-height:90dvh;margin:auto;padding:0;border:0;border-radius:18px;background:#000;overflow:hidden}
.gallery-lightbox::backdrop{background:rgba(10,8,18,.82);backdrop-filter:blur(4px)}
.gallery-lightbox-image{display:block;width:100%;max-height:90vh;max-height:90dvh;object-fit:contain;background:#000}
.gallery-lightbox-close{position:absolute;top:12px;right:12px;z-index:2;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:30px;line-height:1;cursor:pointer}
@media(max-width:600px){.gallery-section{padding:0 22px 70px}.gallery-grid{gap:10px}.gallery-item{border-radius:14px}}
