
/* ============================================================
   PURE ZONE = BLOG SYSTEM + SEO ADDITIONS
   ============================================================ */

.blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 2rem; }
.blog-card { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; color: inherit; text-decoration: none; transition: transform 0.5s var(--ease), box-shadow 0.5s var(--ease), border-color 0.5s var(--ease); }
.blog-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -34px rgba(0,0,0,0.4); border-color: var(--gold); }
.blog-card-media { aspect-ratio: 16/10; overflow: hidden; background: var(--paper-2); }
.blog-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.9s var(--ease); }
.blog-card:hover .blog-card-media img { transform: scale(1.05); }
.blog-card-body { padding: 1.6rem 1.6rem 1.8rem; display: flex; flex-direction: column; gap: 0.7rem; flex: 1; }
.blog-cat { font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-deep); font-weight: 600; }
.blog-card h2 { font-size: var(--step-1); line-height: 1.15; }
.blog-card p { font-size: var(--step--1); color: var(--text-mute); line-height: 1.6; }
.blog-meta { font-size: 0.72rem; color: var(--text-mute); letter-spacing: 0.04em; margin-top: auto; }
.blog-card .go { font-size: var(--step--1); letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold-deep); }

.post-meta { color: var(--text-inv-mute); font-size: var(--step--1); letter-spacing: 0.06em; margin-top: 1.1rem; display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; }
.post-meta span { color: var(--gold); }

.rel-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.6rem; }
.rel-card { display: flex; flex-direction: column; gap: 0.7rem; color: inherit; text-decoration: none; }
.rel-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: var(--radius); margin: 0; transition: transform 0.7s var(--ease); }
.rel-card:hover img { transform: scale(1.03); }
.rel-cat { font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-deep); font-weight: 600; }
.rel-card h3 { font-size: var(--step-1); line-height: 1.15; }
.rel-card:hover h3 { color: var(--gold-deep); }

.article h2, .article h3 { scroll-margin-top: 120px; }
.article table { width: 100%; border-collapse: collapse; margin: 1.8rem 0; font-size: var(--step--1); }
.article table th, .article table td { border: 1px solid var(--line); padding: 0.75rem 0.9rem; text-align: left; vertical-align: top; }
.article table thead th { background: var(--ink); color: var(--text-inv); font-family: var(--sans); font-weight: 600; letter-spacing: 0.03em; }
.article table tbody tr:nth-child(even) { background: var(--paper-2); }
.article a { color: var(--gold-deep); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.article a:hover { color: var(--ink); }
.article .toc a { text-decoration: none; }
.article ul li::marker, .article ol li::marker { color: var(--gold-deep); }
.article strong { font-weight: 600; }
.article blockquote { border-left: 3px solid var(--gold); padding: 0.6rem 0 0.6rem 1.4rem; margin: 1.8rem 0; font-family: var(--serif); font-size: var(--step-1); font-style: italic; color: var(--text-mute); }

.pz-guide-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap: 0.9rem; }
.pz-guide-list li a { display: block; padding: 1rem 1.2rem; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); color: var(--text); text-decoration: none; font-size: var(--step--1); transition: 0.4s var(--ease); }
.pz-guide-list li a:hover { border-color: var(--gold); color: var(--gold-deep); transform: translateY(-3px); }

.ba-gallery-2 { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); max-width: 980px; margin-inline: auto; }

@media (max-width: 640px) {
  .blog-grid { grid-template-columns: 1fr; gap: 1.4rem; }
  .article table { font-size: 0.78rem; }
  .article table th, .article table td { padding: 0.55rem 0.6rem; }
}
