/**
 * Blog and article layouts for v1.1.0.
 * Kept separate so the culture festival front page remains visually unchanged.
 */
.blog-shell { min-height:70vh; padding:148px 0 96px; background:var(--paper); }
.blog-hero { display:flex; align-items:end; justify-content:space-between; gap:34px; padding-bottom:49px; border-bottom:1px solid var(--line); }
.blog-hero h1 { margin:8px 0 14px; color:var(--ink); font-size:clamp(48px,5.8vw,82px); }
.blog-eyebrow { margin:0; color:var(--terracotta); font-size:11px; letter-spacing:.15em; font-weight:700; }
.blog-hero > div > p:not(.blog-eyebrow) { max-width:560px; margin:0; color:#4d6870; font-size:17px; }
.back-home { display:inline-flex; flex:none; gap:8px; align-items:center; padding:11px 15px; border:2px solid var(--teal); color:var(--cream); background:var(--teal); box-shadow:0 4px 0 rgba(23,57,66,.18); font-size:12px; font-weight:700; transition:background .16s ease,color .16s ease,transform .16s ease; }
.back-home:hover { color:var(--cream); background:var(--terracotta); border-color:var(--terracotta); transform:translateY(-2px); }
.archive-description { max-width:610px; color:#4d6870; font-size:15px; }
.post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding-top:40px; }
.post-card { min-width:0; background:var(--cream); border-top:4px solid var(--terracotta); box-shadow:0 9px 22px rgba(23,57,66,.06); transition:transform .18s ease,box-shadow .18s ease; }
.post-card:hover { box-shadow:0 17px 30px rgba(23,57,66,.12); transform:translateY(-5px); }
.post-card-link { display:block; height:100%; }
.post-card-media { display:grid; height:178px; place-items:center; overflow:hidden; color:var(--gold); background:linear-gradient(135deg,var(--teal),var(--teal-2)); }
.post-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .3s cubic-bezier(.23,1,.32,1); }
.post-card:hover .post-card-media img { transform:scale(1.04); }
.post-card-media span { font-family:"Noto Serif TC","PMingLiU",serif; font-size:58px; }
.post-card-body { display:flex; min-height:264px; flex-direction:column; padding:22px; }
.post-card-meta { display:flex; flex-wrap:wrap; gap:6px 11px; align-items:center; margin:0 0 15px; color:var(--terracotta); font-size:10px; line-height:1.5; font-weight:700; }
.post-card-meta a { text-decoration:underline; text-decoration-color:rgba(197,84,44,.4); text-underline-offset:3px; }
.post-card-meta span { color:#728085; font-weight:500; }
.post-card h2 { margin:0 0 12px; color:var(--ink); font-size:25px; letter-spacing:-.04em; line-height:1.3; }
.post-card-excerpt { color:#587078; font-size:13px; line-height:1.75; }
.post-card-read { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:18px; border-top:1px solid #e1d6c3; color:var(--terracotta); font-size:11px; font-weight:700; }
.post-card-read b { font-size:16px; }
.empty-posts { padding:70px 0; color:#587078; font-size:17px; }
.navigation.pagination { display:flex; gap:9px; justify-content:center; padding-top:46px; }
.navigation.pagination .page-numbers { padding:8px 12px; color:var(--ink); border:1px solid var(--line); font-size:12px; }
.navigation.pagination .current,.navigation.pagination .page-numbers:hover { color:var(--cream); border-color:var(--terracotta); background:var(--terracotta); }

.article-shell { padding:149px 0 90px; background:var(--cream); }
.article-wrap { width:min(820px,calc(100% - 44px)); margin:auto; }
.article-header { padding-bottom:35px; border-bottom:1px solid var(--line); }
.article-header h1 { margin:12px 0 18px; color:var(--ink); font-size:clamp(42px,5vw,68px); }
.article-meta { display:flex; gap:14px; color:#718186; font-size:12px; }
.article-featured-image { margin-top:35px; }
.article-featured-image img { width:100%; height:auto; }
.article-content { max-width:710px; padding:45px 0 24px; margin:auto; color:#294b53; font-size:17px; }
.article-content > * { margin-top:0; margin-bottom:1.5em; }
.article-content h2,.article-content h3,.article-content h4 { margin-top:2em; color:var(--ink); letter-spacing:-.04em; }
.article-content h2 { font-size:33px; }
.article-content h3 { font-size:25px; }
.article-content a { color:var(--terracotta); text-decoration:underline; text-underline-offset:3px; }
.article-content blockquote { margin-right:0; margin-left:0; padding:21px 24px; border-left:4px solid var(--terracotta); background:var(--paper); color:var(--ink); font-family:"Noto Serif TC","PMingLiU",serif; font-size:21px; line-height:1.65; }
.article-content img { height:auto; }
.article-content figure { margin-right:0; margin-left:0; }
.article-content figcaption { margin-top:8px; color:#718186; font-size:12px; }
.article-content table { width:100%; border-collapse:collapse; font-size:14px; }
.article-content th,.article-content td { padding:10px; border:1px solid var(--line); text-align:left; }
.article-content th { color:var(--terracotta); background:var(--paper); }
.article-footer { padding:20px 0 36px; border-top:1px solid var(--line); }
.article-tags { display:flex; flex-wrap:wrap; gap:7px; align-items:center; color:#60787d; font-size:12px; }
.article-tags b { margin-right:5px; color:var(--terracotta); }
.article-tags a { padding:3px 8px; border:1px solid var(--line); }
.post-navigation { display:grid; grid-template-columns:1fr 1fr; gap:15px; padding-top:18px; border-top:1px solid var(--line); }
.post-navigation a { display:block; padding:16px; color:var(--ink); background:var(--paper); font-size:12px; }
.post-navigation .nav-next { text-align:right; }
.comments-area { margin-top:42px; padding-top:34px; border-top:1px solid var(--line); }
.comments-area h2,.comments-area h3 { color:var(--ink); font-size:26px; }
.comment-list { padding:0; margin:0; list-style:none; }
.comment-list .comment { padding:20px 0; border-bottom:1px solid var(--line); }
.comment-author { color:var(--ink); font-weight:700; }
.comment-metadata { font-size:11px; }
.comment-respond label { display:block; margin-top:12px; color:var(--ink); font-size:12px; font-weight:700; }
.comment-respond input,.comment-respond textarea { width:100%; margin-top:4px; padding:10px; border:1px solid var(--line); border-radius:0; background:#fff; font:inherit; }
.comment-respond .submit { width:auto; border:0; color:var(--cream); background:var(--terracotta); cursor:pointer; font-size:12px; font-weight:700; }

@media (max-width:900px) { .post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) {
  .blog-shell { padding:110px 0 68px; }
  .blog-hero { display:grid; gap:20px; padding-bottom:30px; }
  .blog-hero h1 { font-size:48px; }
  .blog-hero > div > p:not(.blog-eyebrow) { font-size:15px; }
  .back-home { justify-self:start; }
  .post-grid { grid-template-columns:1fr; gap:14px; padding-top:28px; }
  .post-card-media { height:155px; }
  .post-card-body { min-height:235px; }
  .article-shell { padding:108px 0 65px; }
  .article-wrap { width:calc(100% - 40px); }
  .article-header h1 { font-size:41px; }
  .article-content { padding-top:32px; font-size:16px; }
  .article-content h2 { font-size:28px; }
  .article-content blockquote { padding:17px 18px; font-size:18px; }
  .post-navigation { grid-template-columns:1fr; }
  .post-navigation .nav-next { text-align:left; }
}

/* Dedicated article collection — v1.2.0. */
.article-entry-link { display:inline-flex; gap:6px; align-items:center; padding:7px 10px; color:var(--teal); background:var(--gold); font-size:11px; font-weight:700; transition:background .16s ease,color .16s ease; }
.article-entry-link:hover { color:var(--cream); background:var(--terracotta); }
.site-header.is-scrolled .article-entry-link { color:var(--cream); background:var(--terracotta); }
.home-exit-link { display:inline-flex; gap:6px; align-items:center; padding:7px 10px; border:1px solid var(--teal); color:var(--cream); background:var(--teal); box-shadow:0 3px 0 rgba(23,57,66,.17); font-size:11px; font-weight:700; transition:background .16s ease,border-color .16s ease,transform .16s ease; }
.home-exit-link:hover { border-color:var(--terracotta); background:var(--terracotta); transform:translateY(-1px); }
.casino-hub-shell { min-height:70vh; padding:148px 0 96px; background:linear-gradient(180deg,#faf4e7 0%,var(--paper) 100%); }
.casino-hub-header { display:flex; align-items:end; justify-content:space-between; gap:34px; padding:30px 0 44px; border-bottom:1px solid var(--line); }
.casino-hub-kicker { margin:0; color:var(--terracotta); font-size:10px; letter-spacing:.17em; font-weight:700; }
.casino-hub-header h1,.casino-article-header h1 { margin:9px 0 14px; color:var(--ink); font-size:clamp(46px,5.6vw,78px); }
.casino-hub-header > div > p:not(.casino-hub-kicker) { max-width:600px; margin:0; color:#4d6870; font-size:16px; }
.casino-hub-header code,.casino-empty-state code { padding:2px 5px; color:var(--terracotta); background:#fffaf0; font-size:.88em; }
.casino-back-link { display:inline-flex; flex:none; gap:8px; align-items:center; padding:11px 15px; border:2px solid var(--teal); color:var(--cream); background:var(--teal); box-shadow:0 4px 0 rgba(23,57,66,.18); font-size:12px; font-weight:700; transition:background .16s ease,color .16s ease,transform .16s ease; }
.casino-back-link:hover { color:var(--cream); border-color:var(--terracotta); background:var(--terracotta); transform:translateY(-2px); }
.casino-post-grid { padding-top:40px; }
.casino-empty-state { padding:80px 0; color:#587078; font-size:17px; }
.casino-empty-state p { margin:0 0 8px; }
.casino-article-shell { padding:148px 0 90px; background:linear-gradient(180deg,#fffaf0,var(--paper)); }
.casino-article-header { padding-bottom:35px; border-bottom:1px solid var(--line); }
.casino-article-header .casino-back-link { margin-bottom:36px; }
.casino-article-header .casino-hub-kicker { margin-bottom:11px; }
.casino-article-content { padding-top:45px; }
.casino-category-shell { min-height:70vh; padding:148px 0 96px; background:linear-gradient(180deg,#faf4e7 0%,var(--paper) 100%); }
.casino-category-header { margin-bottom:40px; }
.category-archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.category-archive-card { display:flex; min-height:224px; flex-direction:column; padding:24px; border-top:4px solid var(--terracotta); background:var(--cream); box-shadow:0 9px 22px rgba(23,57,66,.06); }
.category-card-kicker { margin:0; color:var(--terracotta); font-size:9px; letter-spacing:.15em; font-weight:700; }
.category-archive-card h2 { margin:9px 0 11px; color:var(--ink); font-size:27px; letter-spacing:-.04em; }
.category-archive-card h2 a:hover { color:var(--terracotta); }
.category-archive-card > p:not(.category-card-kicker) { margin:0; color:#587078; font-size:13px; line-height:1.75; }
.category-card-link { display:flex; justify-content:space-between; margin-top:auto; padding-top:16px; border-top:1px solid #e1d6c3; color:var(--terracotta); font-size:11px; font-weight:700; }
.blog-layout { display:grid; grid-template-columns:minmax(0,1fr) 274px; gap:clamp(26px,4vw,55px); align-items:start; }
.blog-main-column { min-width:0; }
.blog-sidebar { position:sticky; top:98px; display:grid; gap:16px; }
.sidebar-panel { padding:20px; border-top:4px solid var(--terracotta); background:var(--cream); box-shadow:0 9px 22px rgba(23,57,66,.06); }
.sidebar-panel h2 { margin:6px 0 16px; color:var(--ink); font-size:23px; letter-spacing:-.04em; }
.sidebar-kicker { margin:0; color:var(--terracotta); font-size:9px; letter-spacing:.15em; font-weight:700; }
.popular-post-list { display:grid; gap:13px; padding:0; margin:0; list-style:none; }
.popular-post-list li { display:grid; grid-template-columns:31px minmax(0,1fr); gap:10px; align-items:start; }
.popular-post-number { color:var(--terracotta); font-family:"Noto Serif TC","PMingLiU",serif; font-size:18px; line-height:1.35; }
.popular-post-list a { color:var(--ink); font-family:"Noto Serif TC","PMingLiU",serif; font-size:14px; line-height:1.5; transition:color .16s ease; }
.popular-post-list a:hover { color:var(--terracotta); }
.sidebar-empty { margin:0; color:#6a7c80; font-size:12px; line-height:1.75; }
.comment-metadata { display:none; }
@media (max-width:900px) {
	.article-entry-link { font-size:10px; }
	.home-exit-link { font-size:10px; }
	.blog-layout { grid-template-columns:1fr; }
	.blog-sidebar { position:static; grid-template-columns:repeat(3,minmax(0,1fr)); }
	.category-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .site-navigation .article-entry-link { justify-content:center; margin-top:8px; padding:10px 12px; color:var(--teal); background:var(--gold); font-size:11px; }
  .site-navigation .article-entry-link:hover { color:var(--cream); background:var(--terracotta); }
  .site-navigation .home-exit-link { justify-content:center; margin-top:8px; padding:10px 12px; color:var(--cream); background:var(--teal); font-size:11px; }
  .casino-hub-shell { padding:106px 0 68px; }
  .casino-hub-header { display:grid; gap:22px; padding:10px 0 30px; }
  .casino-hub-header h1,.casino-article-header h1 { font-size:44px; }
  .casino-back-link { justify-self:start; }
  .casino-article-shell { padding:108px 0 65px; }
  .casino-article-header .casino-back-link { margin-bottom:29px; }
	.blog-sidebar { display:grid; grid-template-columns:1fr; }
}
