/* Post Gallery */
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20rem; margin-bottom: 30rem; }
.post-item { background: #fff; border-radius: 8rem; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.1); transition: transform 0.2s ease; }
.post-thumbnail { position: relative; padding-top: 60%; overflow: hidden; }
.post-thumbnail img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.post-content { padding: 15rem; }
.post-title { font-size: 18rem; font-weight: 600; margin-bottom: 10rem; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.post-excerpt { font-size: 14rem; color: #666; margin-bottom: 10rem; line-height: 1.6; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.post-meta { font-size: 13rem; color: #888; }

/* single-post Post - Common */
.single-post .post-header { margin: 30rem 0;padding-bottom: 30rem;border-bottom: 2rem solid var(--color-neutral-10); }
.single-post .post-title { font-size: 24rem; font-weight: 600; margin-bottom: 16rem; line-height: 1.4; }
.single-post .post-meta{display: flex;gap:20rem;margin-top: 16rem;}
.single-post .post-meta span{position: relative;}
.single-post .post-meta span:not(:last-child):after { content: ''; display: block; width: 1rem; height: 10rem; margin-top: -5rem; position: absolute; top: 50%; right: -11rem; background: var(--color-neutral-8); }

.single-post .post-thumbnail { padding-top: 40%; margin-bottom: 30rem; }
.single-post .post-content { font-size: 16rem; line-height: 1.8; }
.single-post .post-content p { margin-bottom: 20rem; }
.single-post .post-content img { max-width: 100%; height: auto; }
.single-post .post-footer { margin-top: 30rem; padding: 20rem; background: #f8f8f8; border-radius: 8rem; }
.single-post .info-item { font-size: 14rem; margin-bottom: 10rem; }
.single-post .info-item:last-child { margin-bottom: 0; }
.single-post .info-item strong { color: #333; margin-right: 10rem; }
.single-post .post-navigation { display: flex; justify-content: space-between; margin-top: 50rem; padding-top: 20rem; border-top: 1rem solid #eee; }
.single-post .post-navigation a { flex: 0 0 48%; }
.single-post .nav-label { display: block; font-size: 14rem; color: #888; margin-bottom: 5rem; }
.single-post .post-navigation .post-title { font-size: 16rem; }

/* Category Specific Styles */
.event-post .meta-item.event_period { color: #ff3366; }
.news-post .meta-item.source { color: #0066cc; }
.notice-post .meta-item.type { font-weight: 600; color: #ff6600; }

@media screen and (max-width: 1024px) {
    .post-grid { grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 768px) {
    .post-grid { grid-template-columns: 1fr; gap: 15rem; }
    .single-post .post-navigation { flex-direction: column; gap: 20rem; }
    .single-post .post-navigation a { flex: 0 0 100%; }
}