.gallery-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-album-card{overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 32px rgba(24,24,27,.05)}.gallery-album-cover{display:block;aspect-ratio:4/3;overflow:hidden;background:#f1eef8;text-decoration:none}.gallery-album-cover img{width:100%;height:100%;object-fit:cover}.gallery-placeholder{display:grid;place-items:center}.gallery-placeholder span{font-size:2rem;font-weight:800;color:rgba(23,25,31,.25)}.gallery-album-body{padding:24px}.gallery-album-body h2{margin:12px 0 8px;font-size:1.35rem;line-height:1.2}.gallery-album-body h2 a{text-decoration:none}.gallery-album-body p{color:var(--muted)}.gallery-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-photo{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 10px 28px rgba(24,24,27,.05)}.gallery-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-photo figcaption{padding:14px 16px;color:var(--muted);font-size:.92rem}@media(max-width:980px){.gallery-album-grid,.gallery-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.gallery-album-grid,.gallery-photo-grid{grid-template-columns:1fr}.gallery-album-body{padding:20px}}
.gallery-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.gallery-album-body{padding:25px 25px 16px}.gallery-album-body h2{font-size:1.45rem}.gallery-album-body p{margin:0;line-height:1.65}.gallery-album-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;height:220px;padding:0 25px;text-decoration:none;overflow:hidden}.gallery-album-preview img{width:100%;height:220px;object-fit:cover;border-radius:14px;background:#f1eef8}.gallery-preview-empty{display:grid;place-items:center;height:220px;margin:0 25px;padding:0;background:#f1eef8;border-radius:14px;color:rgba(23,25,31,.4);font-weight:700}.gallery-album-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 25px 24px;font-size:.9rem;color:var(--muted)}.gallery-album-footer .text-link{font-weight:800;white-space:nowrap}@media(max-width:640px){.gallery-album-body{padding:20px 20px 14px}.gallery-album-preview{height:180px;padding:0 20px;gap:6px}.gallery-album-preview img{height:180px}.gallery-preview-empty{height:180px;margin:0 20px}.gallery-album-footer{padding:15px 20px 20px}}
