/* PTT Network Pro - front-end fixes and components */
:root{--pttnp-green:#0b3d22;--pttnp-lime:#b6f23a;--pttnp-ink:#0d1a12;--pttnp-line:rgba(13,26,18,.12);--pttnp-card:#fff}

/* ---- Bigger logo ---- */
header img,.site-header img,.custom-logo{height:88px;width:auto;max-width:none;display:block}
header,.site-header{min-height:104px}
header nav a{font-size:1rem}
@media (max-width:860px){header img,.site-header img,.custom-logo{height:64px}header,.site-header{min-height:80px}}

/* ---- Blog grid ---- */
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:1024px){.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid.cols-3{grid-template-columns:1fr}}
.post-card{display:flex;flex-direction:column;background:var(--pttnp-card);border:1px solid var(--pttnp-line);border-radius:14px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}
.post-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.12)}
.post-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
.post-card h2{font-size:clamp(1.1rem,1.5vw,1.45rem);line-height:1.25;margin:16px 16px 8px;letter-spacing:0}
.post-card h2 a{text-decoration:none}
.post-card h2 a:hover{text-decoration:underline}
.post-card p,.post-card time,.post-card .entry-meta{margin-left:16px;margin-right:16px}
.post-card p{font-size:.95rem;line-height:1.55}
.post-card .button,.post-card a.btn,.post-card .read-more{margin:auto 16px 18px}

/* ---- Single post ---- */
.ptt-meta{font-size:.9rem;opacity:.75;margin:0 0 18px;display:flex;gap:10px;flex-wrap:wrap}
.ptt-meta span+span:before{content:"\2022";margin-right:10px}
.ptt-toc{border:1px solid var(--pttnp-line);border-left:5px solid var(--pttnp-lime);border-radius:10px;padding:16px 20px;margin:0 0 28px;background:rgba(182,242,58,.08)}
.ptt-toc strong{display:block;margin-bottom:8px;font-size:1rem}
.ptt-toc ol{margin:0;padding-left:20px}
.ptt-toc li{margin:4px 0}
.ptt-cta{background:var(--pttnp-green);color:#fff;border-radius:14px;padding:26px 28px;margin:36px 0}
.ptt-cta h3{margin:0 0 8px;color:#fff;font-size:1.35rem}
.ptt-cta p{margin:0 0 14px;color:rgba(255,255,255,.9)}
.ptt-cta a.ptt-btn,.ptt-btn{display:inline-block;background:var(--pttnp-lime);color:#041006;font-weight:800;padding:11px 20px;border-radius:999px;text-decoration:none;margin:4px 8px 4px 0}
.ptt-cta a.ptt-btn:hover{filter:brightness(1.06)}
.ptt-btn.ghost{background:transparent;color:#fff;border:2px solid var(--pttnp-lime)}
.ptt-related{margin:40px 0}
.ptt-related h3,.ptt-network h3{margin:0 0 14px}
.ptt-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:760px){.ptt-related-grid{grid-template-columns:1fr}}
.ptt-related-card{border:1px solid var(--pttnp-line);border-radius:12px;overflow:hidden;background:var(--pttnp-card)}
.ptt-related-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.ptt-related-card a{display:block;padding:12px 14px;font-weight:700;line-height:1.3;text-decoration:none}
.ptt-network{border:1px solid var(--pttnp-line);border-radius:14px;padding:22px;margin:36px 0;background:rgba(0,0,0,.02)}
.ptt-network ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:640px){.ptt-network ul{grid-template-columns:1fr}}
.ptt-network li{border:1px solid var(--pttnp-line);border-radius:10px;padding:12px 14px;background:#fff}
.ptt-network li a{font-weight:800;text-decoration:none}
.ptt-network li span{display:block;font-size:.9rem;opacity:.8;margin-top:2px}
.entry-content h2,article h2.wp-block-heading{scroll-margin-top:100px}
