/* tbproj2568.css — โครงการ/กิจกรรม ปี 2568 (views/tbproj2568/index.php) : hero, ยุทธศาสตร์ 9 ด้าน 9 ดี, สัญลักษณ์ยุทธศาสตร์/SDG */
.tp a.dl-kpi { text-decoration: none; color: inherit; }
.tp-hero { display: flex; gap: 24px; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; padding: 24px 28px; margin: 0 0 18px; color: #fff;
  background: radial-gradient(circle at 90% 10%, rgba(242,194,48,.28), transparent 42%), linear-gradient(135deg, #17351f 0%, #22553a 55%, #2c6b72 100%); box-shadow: 0 10px 28px rgba(23,53,31,.18); }
.tp-hero-txt { flex: 1 1 520px; min-width: 0; }
.tp-eyebrow { font: 600 12px/1.4 'IBM Plex Mono', monospace; letter-spacing: .04em; text-transform: uppercase; opacity: .85; }
.tp-hero h1 { margin: 8px 0; font: 700 27px/1.3 'Sarabun', sans-serif; color: #fff; }
.tp-hero p { margin: 0; font-size: 15px; line-height: 1.7; opacity: .92; max-width: 75ch; }
.tp-hero-side { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }
.tp-btn { display: inline-block; padding: 9px 16px; background: #fff; color: #17351f !important; font-weight: 700; font-size: 14px; text-decoration: none !important; text-align: center; }
.tp-btn:hover { background: #f4f1e6; }
.tp-btn.ghost { background: transparent; color: #fff !important; border: 1px solid rgba(255,255,255,.6); }
.tp-btn.ghost:hover { background: rgba(255,255,255,.12); }
.tp-ro { font-size: 12.5px; opacity: .9; text-align: center; }
.tp-kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.tp-sec { margin: 22px 0; }
.tp-sec-h { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.tp-sec-h h2 { margin: 0; font: 700 18px 'Sarabun', sans-serif; color: var(--green-deep, #17351f); }
.tp-sec-h span { font-size: 12.5px; color: var(--ink-soft, #5c665e); }
.tp-stgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; }
.tp-st { display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 10px 12px; background: var(--card, #fff); border: 1px solid var(--rule, #dedbd0); color: var(--ink, #1d2620) !important; text-decoration: none !important; transition: transform .12s, box-shadow .12s; }
.tp-st:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(23,37,28,.1); }
.tp-st.sel { outline: 3px solid var(--green-deep, #17351f); outline-offset: -1px; background: var(--band, #f4f1e6); }
.tp-st.off { opacity: .5; }
.tp-st > .tp-stlogo, .tp-st > .tp-st99 { grid-row: 1 / 3; }
.tp-st-txt b { display: block; font-size: 13.5px; line-height: 1.35; }
.tp-st-txt small { font: 600 12px 'IBM Plex Mono', monospace; color: var(--ink-soft, #5c665e); }
.tp-st-sdg { grid-column: 2; display: flex; gap: 3px; flex-wrap: wrap; margin-top: 6px; }
.tp-st-sdg .sdg-ic.xs { width: 22px; height: 22px; } .tp-st-sdg .sdg-ic.xs b { font-size: 10px; }

.tp-stlogo { width: 26px; height: 26px; object-fit: contain; flex-shrink: 0; vertical-align: middle; }
.tp-stlogo.md { width: 40px; height: 40px; } .tp-stlogo.sm { width: 28px; height: 28px; } .tp-stlogo.xs { width: 22px; height: 22px; }
.tp-st99 { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #c9c8c0; color: #fff; font: 700 10px 'IBM Plex Mono', monospace; vertical-align: middle; }
.tp-st99.md { width: 40px; height: 40px; font-size: 13px; } .tp-st99.sm { width: 28px; height: 28px; } .tp-st99.xs { width: 22px; height: 22px; font-size: 9px; }
.tp-sts { display: inline-flex; gap: 3px; align-items: center; vertical-align: middle; }
.tp-tags { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.tp .sdg-ics { gap: 3px; }
.tp .sdg-ic.xs { width: 26px; height: 26px; } .tp .sdg-ic.xs b { font-size: 11px; }
.tp .dl-row-side .sdg-ics { justify-content: flex-end; margin-bottom: 6px; }
.tp .sdg-board a.sdg-tile { color: #fff; }

.tp-active { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: -4px 0 12px; font-size: 13px; color: var(--ink-soft, #5c665e); }
.tp-pill { display: inline-flex; gap: 6px; align-items: center; padding: 3px 10px 3px 4px; background: var(--card, #fff); border: 1px solid var(--rule, #dedbd0); color: var(--ink, #1d2620) !important; text-decoration: none !important; font-weight: 600; }
.tp-pill:hover { border-color: #d63c3c; }
.tp-foot { margin: 18px 0 4px; font-size: 12px; line-height: 1.6; color: var(--ink-faint, #8a9389); }
@media (max-width: 1100px) { .tp-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .tp-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tp-hero { padding: 18px 16px; } .tp-hero h1 { font-size: 21px; } .tp-hero-side { width: 100%; } }
