/* 基本排版 */
* { box-sizing: border-box; }
body { font-family: 'Noto Sans JP', 'Noto Serif JP', sans-serif; color:#333; background:#fafafa; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* 頁首 */
.gallery-hero { padding: 120px 0 40px; background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); }
.page-title { font-size: 2.5rem; margin: 0 0 10px; font-family: 'Noto Serif JP', serif; }
.page-subtitle { color:#666; }

/* Masonry 圖片牆 */
.gallery-section { padding: 40px 0 80px; background:#fff; }
.masonry { columns: 1; column-gap: 20px; }
.masonry-item { width: 100%; margin: 0 0 20px; border-radius: 16px; display:block; box-shadow: 0 8px 20px rgba(0,0,0,0.08); }
.masonry-item { break-inside: avoid; }
.masonry-item:hover { transform: translateY(-2px); transition: transform .2s ease; }

@media (min-width: 600px) { .masonry { columns: 2; } }
@media (min-width: 992px) { .masonry { columns: 3; } }

/* CTA 區塊 */
.cta-section { padding: 40px 0 80px; background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); }
.cta-box { background:#fff; border-radius: 16px; padding: 30px; text-align: center; box-shadow: 0 10px 24px rgba(0,0,0,0.08); }
.cta-box h2 { margin: 0 0 10px; font-family: 'Noto Serif JP', serif; }
.cta-box p { color:#555; margin-bottom: 16px; }
.cta-actions { display:flex; justify-content:center; gap:16px; }
.btn { padding: 12px 24px; border-radius: 999px; text-decoration: none; display:inline-block; font-weight: 500; }
.btn-primary { background: linear-gradient(135deg, #ffc107, #ff8f00); color: #fff; }
.btn-secondary { background: transparent; color:#333; border:2px solid #ffc107; }
.btn-secondary:hover { background:#ffc107; color:#333; }

