/* ============================================================
   MeetFree Blog — styles
   Aligned with main site: pine #123B3A + amber #E9A13B
   ============================================================ */

.blog-wrap{width:100%;max-width:900px;margin:0 auto;padding:0 26px}

/* ---- blog header (inside layout) ---- */
.blog-hdr{
  position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(1.1);border-bottom:1px solid var(--line-soft);
}
.blog-hdr-in{display:flex;align-items:center;gap:24px;height:64px;max-width:1200px;margin:0 auto;padding:0 26px}
.blog-brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:0 0 auto}
.blog-brand svg{width:26px;height:26px;display:block}
.blog-brand-txt{font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:-.04em;color:var(--pine)}
.blog-nav{display:flex;gap:22px;margin-left:auto;align-items:center}
.blog-nav a{
  text-decoration:none;font-size:.9rem;color:var(--ink-soft);font-weight:500;
  padding:4px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;
}
.blog-nav a:hover{color:var(--pine);border-bottom-color:var(--amber)}
.blog-nav a.active{color:var(--pine);border-bottom-color:var(--amber)}

/* ---- blog hero ---- */
.blog-hero{padding:64px 0 40px;background:var(--paper-2);border-bottom:1px solid var(--line-soft)}
.blog-hero-eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);margin-bottom:12px}
.blog-hero h1{font-size:2.4rem;line-height:1.05;letter-spacing:-.03em;color:var(--pine);margin-bottom:14px}
.blog-hero p{font-size:1.05rem;color:var(--ink-soft);max-width:600px;line-height:1.7}

/* ---- category filter ---- */
.blog-cats{display:flex;flex-wrap:wrap;gap:8px;padding:28px 0 8px}
.blog-cat{
  display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;
  font-size:.82rem;font-weight:500;text-decoration:none;
  border:1px solid var(--line);color:var(--ink-soft);background:var(--paper);
  transition:all .2s;
}
.blog-cat:hover{border-color:var(--pine);color:var(--pine)}
.blog-cat.active{background:var(--pine);color:#fff;border-color:var(--pine)}

/* ---- post list ---- */
.blog-list{padding:24px 0 64px}
.blog-post-card{
  display:block;padding:28px 0;border-bottom:1px solid var(--line-soft);
  text-decoration:none;transition:background .2s;
}
.blog-post-card:hover{background:var(--paper-2)}
.blog-post-meta{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-size:.8rem;color:var(--ink-mute)}
.blog-post-cat-tag{
  display:inline-block;padding:2px 10px;border-radius:10px;
  background:rgba(233,161,59,.12);color:var(--amber);font-weight:600;font-size:.75rem;
}
.blog-post-card h2{font-size:1.35rem;line-height:1.25;letter-spacing:-.02em;color:var(--pine);margin-bottom:8px;transition:color .2s}
.blog-post-card:hover h2{color:var(--amber)}
.blog-post-excerpt{font-size:.95rem;color:var(--ink-soft);line-height:1.65;margin-bottom:10px}
.blog-post-tags{display:flex;flex-wrap:wrap;gap:6px}
.blog-post-tag{font-size:.75rem;color:var(--ink-mute);background:var(--paper-3);padding:2px 8px;border-radius:8px}

/* ---- article page ---- */
.article{padding:48px 0 64px}
.article-back{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--ink-mute);text-decoration:none;margin-bottom:24px;transition:color .2s}
.article-back:hover{color:var(--pine)}
.article-meta{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:.82rem;color:var(--ink-mute)}
.article h1{font-size:2rem;line-height:1.15;letter-spacing:-.025em;color:var(--pine);margin-bottom:20px}
.article-excerpt{font-size:1.1rem;color:var(--ink-soft);line-height:1.7;padding:16px 20px;background:var(--paper-2);border-left:3px solid var(--amber);border-radius:0 4px 4px 0;margin-bottom:32px}
.article-body{font-size:1.02rem;line-height:1.8;color:var(--ink)}
.article-body h2{font-size:1.4rem;line-height:1.2;letter-spacing:-.02em;color:var(--pine);margin:36px 0 14px;padding-top:8px}
.article-body p{margin-bottom:16px}
.article-body .phrase{
  background:var(--paper-2);border:1px solid var(--line-soft);border-radius:6px;
  padding:16px 20px;margin:16px 0;
}
.article-body .phrase-en{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--pine);margin-bottom:6px}
.article-body .phrase-zh{color:var(--ink-soft);margin-bottom:6px}
.article-body .phrase-note{font-size:.85rem;color:var(--ink-mute);font-style:italic}
.article-body .dialogue{
  padding:10px 16px;margin:8px 0;border-radius:4px;
  background:var(--paper-2);border-left:3px solid var(--pine-mid);
}
.article-body .dialogue-speaker{font-size:.78rem;font-weight:600;color:var(--pine-mid);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.article-body .dialogue-en{font-family:var(--font-display);font-weight:500;color:var(--ink);margin-bottom:2px}
.article-body .dialogue-zh{font-size:.92rem;color:var(--ink-soft)}
.article-body .code-block{
  background:var(--pine-deep);color:#e8e8e3;padding:20px 24px;border-radius:6px;
  font-family:'SF Mono',Menlo,Consolas,monospace;font-size:.88rem;line-height:1.7;
  white-space:pre-wrap;overflow-x:auto;margin:16px 0;
}
.article-body .term-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.92rem}
.article-body .term-table td{padding:10px 14px;border-bottom:1px solid var(--line-soft);vertical-align:top}
.article-body .term-table td:first-child{font-family:var(--font-display);font-weight:600;color:var(--pine);width:40%;white-space:nowrap}
.article-body .term-table td:last-child{color:var(--ink-soft)}

/* ---- CTA box ---- */
.article-cta{
  margin-top:48px;padding:28px 32px;background:var(--pine);border-radius:8px;
  color:#fff;text-align:center;
}
.article-cta p{font-size:1rem;line-height:1.7;margin-bottom:18px;color:rgba(255,255,255,.9)}
.article-cta .btn-amber{
  display:inline-flex;align-items:center;gap:8px;padding:12px 28px;
  background:var(--amber);color:var(--pine-deep);font-weight:700;font-size:.95rem;
  text-decoration:none;border-radius:4px;transition:transform .2s,box-shadow .2s;
}
.article-cta .btn-amber:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(233,161,59,.3)}

/* ---- footer ---- */
.blog-footer{padding:32px 0;border-top:1px solid var(--line-soft);text-align:center;font-size:.82rem;color:var(--ink-mute)}
.blog-footer a{color:var(--pine-mid);text-decoration:none}

/* ---- responsive ---- */
@media(max-width:768px){
  .blog-hero{padding:40px 0 28px}
  .blog-hero h1{font-size:1.7rem}
  .blog-nav{gap:14px}
  .blog-nav a{font-size:.82rem}
  .article h1{font-size:1.5rem}
  .article-body{font-size:.95rem}
  .article-body .term-table td:first-child{width:45%;white-space:normal}
}
