/* ============================================================ Photo Intro Highlight – Shared Design System ============================================================ */ .photo-intro-highlight { --intro-bg: #f9f2f4; --intro-bg-opacity: 0.95; --intro-accent: #ff4b8b; --intro-text-color: #222; background-color: rgba(249, 242, 244, var(--intro-bg-opacity)); border-left: 6px solid var(--intro-accent); padding: 2.2rem 2.5rem; border-radius: 12px; color: var(--intro-text-color); margin: 2.5rem auto; max-width: 1200px; transition: all 0.3s ease; } .photo-intro-highlight h2 { margin-top: 0; margin-bottom: 1rem; font-size: 1.7rem; line-height: 1.3; } .photo-intro-highlight p { margin: 0 0 1rem; font-size: 1.05rem; line-height: 1.6; color: var(--intro-text-color); } .photo-intro-highlight strong { color: var(--intro-accent); } /* Accent Variants */ .photo-intro-highlight.is-style-blue { --intro-bg: #e6f1ff; --intro-accent: #0073e6; } .photo-intro-highlight.is-style-gold { --intro-bg: #fff7e6; --intro-accent: #e6a200; } .photo-intro-highlight.is-style-dark { --intro-bg: #222; --intro-accent: #ff3366; --intro-text-color: #fefefe; } .photo-intro-highlight.is-style-green { --intro-bg: #e8f6f0; --intro-accent: #00a86b; } /* Accent Position & Animation */ .photo-intro-highlight.is-style-accent-right { border-left: none; border-right: 6px solid var(--intro-accent); } .photo-intro-highlight.is-style-fade-in { opacity: 0; animation: fadeIn 0.9s ease forwards; } @keyframes fadeIn { to { opacity: 1; } } /* Optional Gradient Modifier */ .photo-intro-highlight.gradient { background: linear-gradient(135deg, rgba(255,255,255,0.9) 0%, rgba(255,220,235,0.9) 100%); } /* ============================================================ Photo Set Grid – Core Layout ============================================================ */ .photo-set-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; margin: 2.5rem auto 3rem; max-width: 1200px; padding: 0 2.5rem; } @media (max-width: 960px) { .photo-set-grid { grid-template-columns: 1fr; padding: 0 1.5rem; } } .photo-set-item { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,0.08); transition: transform 0.25s ease, box-shadow 0.25s ease; } .photo-set-item:hover { transform: translateY(-5px); box-shadow: 0 4px 18px rgba(0,0,0,0.12); } /* Thumbnail */ .photo-set-thumb img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-bottom: 4px solid var(--intro-accent, #ff4b8b); } /* Meta area (title + caption) */ .photo-set-meta { padding: 1.2rem 1.4rem 1.6rem; } .photo-set-title { font-size: 1.15rem; margin: 0 0 0.5rem; line-height: 1.3; font-weight: 600; } .photo-set-title a { text-decoration: none; color: inherit; } .photo-set-title a:hover { color: var(--intro-accent, #ff4b8b); } .photo-set-excerpt { font-size: 0.93rem; color: #555; margin: 0; line-height: 1.5; } /* ============================================================ Tag Archive – Full Caption + Tighter Layout ============================================================ */ body.tag .photo-set-grid { padding: 0 1.5rem; gap: 1.8rem; } body.tag .photo-set-meta { padding: 0.8rem 1rem 1.2rem; } body.tag .photo-set-excerpt { font-size: 0.96rem; line-height: 1.6; color: #333; margin-top: 0.5rem; max-height: none; overflow: visible; } body.tag .photo-set-excerpt p { margin-bottom: 0.8rem; } body.tag .photo-set-excerpt strong { color: var(--intro-accent, #ff4b8b); } /* ============================================================ Optional Fine-Tuning for Large / Small Screens ============================================================ */ @media (min-width: 1300px) { .photo-set-grid { max-width: 1300px; gap: 2.4rem; } .photo-intro-highlight { padding: 2.6rem 3rem; } } @media (max-width: 600px) { .photo-intro-highlight { padding: 1.8rem; border-radius: 10px; } .photo-intro-highlight h2 { font-size: 1.4rem; } }