/* gallery.css */
.gallery-empty{text-align:center;padding:80px 20px;color:var(--text-light)}
.gallery-empty-icon{font-size:4rem;margin-bottom:16px}
.gallery-empty h3{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:var(--text);margin-bottom:10px}
.album-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.album-tab{background:#fff;border:1.5px solid var(--border);color:var(--text-mid);padding:8px 18px;border-radius:100px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition)}
.album-tab:hover,.album-tab.active{background:var(--brown);color:#fff;border-color:var(--brown)}
.album-heading{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;color:var(--brown-deep);margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--brown-pale)}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:40px}
.gallery-item{position:relative;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition);aspect-ratio:4/3}
.gallery-item:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-item-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(107,61,30,.85) 0%,transparent 50%);opacity:0;transition:opacity .3s;display:flex;flex-direction:column;justify-content:flex-end;padding:18px}
.gallery-item:hover .gallery-item-overlay{opacity:1}
.gallery-item-title{font-weight:700;color:#fff;font-size:.9rem;margin-bottom:4px}
.gallery-item-caption{font-size:.78rem;color:rgba(255,255,255,.75)}
.gallery-zoom{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.2);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;backdrop-filter:blur(4px)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9000;display:none;align-items:center;justify-content:center;padding:20px}
.lightbox.open{display:flex}
.lightbox-inner{max-width:900px;width:100%;position:relative}
.lightbox-inner img{width:100%;max-height:80vh;object-fit:contain;border-radius:10px}
.lightbox-caption{text-align:center;margin-top:12px;color:rgba(255,255,255,.85)}
#lightboxTitle{font-weight:700;font-size:1rem}
#lightboxCap{font-size:.85rem;color:rgba(255,255,255,.6);margin-top:4px}
.lightbox-close{position:fixed;top:20px;right:20px;background:rgba(255,255,255,.15);border:none;color:#fff;width:44px;height:44px;border-radius:50%;font-size:1.2rem;cursor:pointer;z-index:1;transition:background .2s}
.lightbox-close:hover{background:rgba(255,255,255,.3)}
.lightbox-prev,.lightbox-next{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:none;color:#fff;width:48px;height:64px;font-size:2rem;cursor:pointer;transition:background .2s;border-radius:8px}
.lightbox-prev{left:16px}
.lightbox-next{right:16px}
.lightbox-prev:hover,.lightbox-next:hover{background:rgba(255,255,255,.3)}
