/* QR Memories — Gallery (Wine/Rose Theme) */
:root{--bg:#FBF8F6;--ink:#222;--radius:12px;--gap:14px;--shadow:0 8px 22px rgba(0,0,0,.08);--shadow-hover:0 12px 28px rgba(0,0,0,.14)}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--app-font),'Inter',-apple-system,sans-serif;-webkit-font-smoothing:antialiased}

.ga-gradient{background:var(--app-primary,#45152a);border-radius:16px;margin:18px auto 12px;max-width:1200px}
.ga-inner{max-width:1200px;margin:0 auto;padding:14px 16px}
.ga-wrap{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:720px){.ga-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}

.ga-btn{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;text-decoration:none;transition:transform .18s,box-shadow .18s}
.ga-btn--ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);color:#fff;box-shadow:var(--shadow)}
.ga-btn--ghost:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.45)}
.ga-btn--solid{background:#fff;border:1px solid #fff;color:#111;box-shadow:0 10px 26px rgba(0,0,0,.14)}
.ga-btn--solid:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(0,0,0,.22)}
.ga-btn__icon{width:44px;height:44px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.14)}
.ga-btn--solid .ga-btn__icon{background:rgba(26,16,20,.06)}
.ga-btn__text{display:grid;gap:2px;line-height:1.2;font-weight:700}
.ga-btn__text small{font-weight:500;opacity:.8;font-size:13px}

#gallery{max-width:1200px;margin:0 auto 40px;padding:0 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--gap)}
#gallery>a,#gallery>video{position:relative;display:block;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}
#gallery>a:hover,#gallery>video:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}
#gallery>a>img{width:100%;height:auto;object-fit:contain;display:block;background:#fff}
#gallery>video{width:100%;height:auto;object-fit:contain;background:#000}

.pagination{display:flex;justify-content:center;gap:8px;margin:24px auto 8px}
.pagination a,.pagination .current,.pagination span{padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;text-decoration:none;color:#111;background:#fff;font-weight:600;font-size:14px;transition:all .3s}
.pagination .current{background:var(--app-primary,#45152a);color:#fff;border-color:var(--app-primary)}
.pagination a:hover{border-color:var(--app-primary);color:var(--app-primary)}

.mfp-content img,.mfp-content video{width:auto!important;height:auto!important;max-width:90vw!important;max-height:90vh!important;object-fit:contain!important}
.mfp-bg{background:rgba(0,0,0,.92)}

@media(max-width:600px){
    .ga-wrap{grid-template-columns:1fr}
    #gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
    .pagination{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start;padding:0 12px;gap:6px}
    .pagination a,.pagination .current{flex:0 0 auto;white-space:nowrap;scroll-snap-align:center}
}
@media(min-width:900px){#gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.pagination{zoom:1.1}}
