/* ============ 活動相簿 — 奶油底，相簿封面牆＋照片牆＋燈箱 ============ */
.album-main{max-width:640px;margin:0 auto;padding:6px 0 40px;}
body.view-desktop .album-main{max-width:960px;}

/* 標題「活動相簿」＋分隔線（沿用法會頁語彙） */
.album-head{text-align:center;padding:38px 24px 4px;}
.album-head .fh-mark{width:68px;margin:0 auto 8px;}
.album-head .fh-mark img{width:100%;height:auto;display:block;filter:drop-shadow(0 2px 6px rgba(120,90,70,.18));}
.album-head h1{color:var(--maroon);font-size:1.9rem;font-weight:700;letter-spacing:.4em;text-indent:.4em;margin-bottom:14px;}
.album-head .fh-divider{height:1px;background:linear-gradient(to right,transparent,rgba(122,78,73,.5),transparent);max-width:520px;margin:0 auto;}

/* ---- 相簿列表（封面卡） ---- */
.album-list{padding:22px 18px 0;display:grid;grid-template-columns:1fr 1fr;gap:26px 18px;}
body.view-desktop .album-list{grid-template-columns:1fr 1fr 1fr;gap:32px 26px;padding-top:28px;}
.album-card{text-decoration:none;color:inherit;display:block;}
.album-cover{
  position:relative;width:100%;aspect-ratio:4/3;
  border:1px solid rgba(122,78,73,.42);border-radius:8px;overflow:hidden;
  background:rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 22px rgba(90,60,50,.12);transition:transform .18s,box-shadow .18s;
}
.album-card:hover .album-cover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(90,60,50,.2);}
.album-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.album-cover .album-ph{color:rgba(122,78,73,.32);font-size:1.6rem;letter-spacing:.35em;text-indent:.35em;font-weight:700;}
.album-count{position:absolute;bottom:10px;right:10px;background:rgba(60,40,35,.62);color:#fff;font-size:.78rem;padding:3px 10px;border-radius:999px;letter-spacing:.04em;}
.album-name{color:var(--maroon);font-size:1.12rem;font-weight:700;letter-spacing:.04em;margin:12px 0 4px;text-align:center;}
.album-card:hover .album-name{text-decoration:underline;}
.album-cardmeta{color:var(--ink);font-size:.86rem;opacity:.85;text-align:center;}

/* ---- 相簿詳情（照片牆） ---- */
.album-detail{padding:30px 18px 0;}
.album-back{display:inline-block;color:var(--maroon);margin:0 0 16px 2px;text-decoration:none;}
.album-back:hover{text-decoration:underline;}
.album-title{color:var(--maroon);font-size:1.6rem;font-weight:700;letter-spacing:.06em;margin:0 0 6px;}
.album-date{color:var(--ink);opacity:.85;font-size:.95rem;margin-bottom:10px;}
.album-body{color:var(--ink);font-size:1rem;line-height:1.9;max-width:640px;margin:0 0 22px;}

.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
body.view-desktop .photo-grid{grid-template-columns:repeat(4,1fr);gap:12px;}
.photo-cell{padding:0;border:none;background:rgba(255,255,255,.35);cursor:pointer;
  aspect-ratio:1/1;overflow:hidden;border-radius:6px;box-shadow:0 3px 10px rgba(90,60,50,.1);}
.photo-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s;}
.photo-cell:hover img{transform:scale(1.05);}

.album-empty{grid-column:1/-1;text-align:center;color:var(--ink);opacity:.7;padding:50px 20px;font-size:1rem;}

/* ---- 燈箱 ---- */
.lightbox{position:fixed;inset:0;background:rgba(20,14,12,.92);z-index:2000;
  display:none;align-items:center;justify-content:center;}
.lightbox.open{display:flex;}
.lb-figure{margin:0;max-width:92vw;max-height:88vh;text-align:center;}
.lb-figure img{max-width:92vw;max-height:80vh;object-fit:contain;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.5);}
.lb-figure figcaption{color:#f3f1ee;font-size:.95rem;margin-top:12px;letter-spacing:.03em;}
.lb-close{position:absolute;top:16px;right:22px;background:none;border:none;color:#fff;font-size:2.4rem;line-height:1;cursor:pointer;opacity:.85;}
.lb-close:hover{opacity:1;}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:none;color:#fff;
  font-size:2.6rem;line-height:1;width:56px;height:76px;border-radius:8px;cursor:pointer;opacity:.8;}
.lb-nav:hover{opacity:1;background:rgba(255,255,255,.22);}
.lb-prev{left:16px;}
.lb-next{right:16px;}
@media (max-width:600px){
  .lb-nav{width:44px;height:60px;font-size:2rem;}
  .lb-prev{left:6px;} .lb-next{right:6px;}
}
