/* ABPA blog: list + article pages */
.blog-ph{height:220px;background:linear-gradient(135deg,#12163A,#2A3170 60%,#C9A227);display:block}
.blog-card h4 a:hover{color:var(--primary)!important}
.blog-card .blog-cover{display:block;overflow:hidden}
.blog-card .blog-cover img{transition:transform .6s ease}.blog-card:hover .blog-cover img{transform:scale(1.05)}
.filter-pill{display:inline-block;border:1px solid #E7E2D4;background:#fff;color:#12163A;border-radius:99px;padding:.45rem 1.15rem;margin:.2rem;font-weight:500;text-decoration:none;transition:.25s}
.filter-pill:hover{border-color:var(--primary);color:#12163A}.filter-pill.active{background:#12163A;border-color:#12163A;color:#fff}
.blog-search{max-width:420px;margin:0 auto 1.4rem;position:relative}.blog-search input{border-radius:99px;padding:.7rem 1.2rem .7rem 2.8rem;border:1px solid #E7E2D4}
.blog-search i{position:absolute;left:1.1rem;top:50%;transform:translateY(-50%);color:#9AA0B4}
.blog-empty{text-align:center;padding:4rem 1rem;max-width:520px;margin:0 auto}.blog-empty .fa{font-size:2.4rem;color:var(--primary);margin-bottom:1rem}
.blog-pager{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;margin-top:3rem}
.blog-pager a,.blog-pager span{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #E7E2D4;border-radius:50%;text-decoration:none;color:#12163A;font-weight:600;background:#fff}
.blog-pager .cur{background:#12163A;color:#fff;border-color:#12163A}.blog-pager a:hover{border-color:var(--primary)}
/* article */
.article-head{max-width:820px;margin:0 auto;text-align:center}
.article-head .cat{display:inline-block;background:rgba(201,162,39,.15);color:#7A5F08;font-weight:600;font-size:.85rem;padding:.3rem .9rem;border-radius:99px;text-decoration:none;margin-bottom:1rem}
.article-head h1{font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.15;margin-bottom:1rem}
.article-meta{color:#6B6F80;font-size:.95rem}.article-meta span+span::before{content:"·";margin:0 .6rem}
.article-cover{max-width:1320px;margin:2.2rem auto 0}.article-cover img{width:100%;height:auto;max-height:680px;object-fit:cover;object-position:center 30%;border-radius:12px;box-shadow:0 14px 40px rgba(18,22,58,.15)}
@media(max-width:768px){.article-cover img{border-radius:8px}}
.article-body{max-width:720px;margin:2.6rem auto 0;font-size:1.12rem;line-height:1.85;color:#2a2e45;overflow-wrap:anywhere}
.article-body>*+*{margin-top:1.25rem}.article-body h2,.article-body h3,.article-body h4{font-family:'Fraunces',serif;color:#12163A;margin-top:2.2rem}
.article-body h2{font-size:1.7rem}.article-body h3{font-size:1.35rem}.article-body h4{font-size:1.15rem}
.article-body a{color:#8a6c0a;text-decoration:underline;text-underline-offset:3px}.article-body a:hover{color:#12163A}
.article-body img{max-width:100%;height:auto;border-radius:8px;display:block;margin:1.8rem auto}
.article-body blockquote{border-left:4px solid var(--primary);background:#FAF6E8;padding:1rem 1.4rem;border-radius:0 8px 8px 0;font-family:'Fraunces',serif;font-style:italic;font-size:1.2rem}
.article-body ul,.article-body ol{padding-left:1.5rem}.article-body li+li{margin-top:.4rem}
.article-body hr{border:0;border-top:1px solid #E7E2D4;margin:2.2rem 0}
.article-body pre{background:#12163A;color:#f1f1f6;padding:1rem 1.2rem;border-radius:8px;overflow-x:auto;font-size:.95rem}.article-body code{font-size:.92em}
.share{max-width:720px;margin:3rem auto 0;padding:1.2rem 0;border-top:1px solid #E7E2D4;border-bottom:1px solid #E7E2D4;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.share b{margin-right:.4rem}.share a,.share button{width:40px;height:40px;border-radius:50%;border:1px solid #E7E2D4;background:#fff;color:#12163A;display:inline-flex;align-items:center;justify-content:center;transition:.25s;cursor:pointer;text-decoration:none}
.share a:hover,.share button:hover{background:#12163A;color:#fff;border-color:#12163A}
.preview-bar{position:sticky;top:0;z-index:2000;background:#12163A;color:#fff;padding:.65rem 1rem;text-align:center;font-weight:600;border-bottom:3px solid var(--primary)}
.preview-bar a{color:#E5C459;margin-left:1rem}