/* ===================================================================
   CKR Green Office (สำนักงานสีเขียว) — /green-office และ /green-office/<หมวด>
   โหลดเฉพาะหน้า Green Office (templates/green-office.html) ต่อจาก site.css
   โทนสี: เขียวป่าเข้ม + เขียวใบไม้ + มะนาวอ่อน เข้ากับเขียวหัวเป็ดและทองของเว็บหลัก
   โหมดมืด: ปรับค่าสีใน :root[data-theme="dark"] .go ด้านล่าง
   =================================================================== */
.go {
  --go-forest: #082B21;
  --go-deep: #0D4231;
  --go-green: #1B7A4C;
  --go-leaf: #33A066;
  --go-lime: #A6DB72;
  --go-mint: #EEF7F0;
  --go-mint-2: #DCEFE1;
  --go-cream: #F8F7F0;
  --go-card: var(--white);
  --go-line: #DDE9E1;
  --go-text: var(--ink-700);
  --go-title: #0C3A2C;
  --go-accent: #1B7A4C;
  --go-shadow: 0 18px 44px rgba(8, 43, 33, 0.10);
  --go-shadow-lg: 0 28px 70px rgba(8, 43, 33, 0.18);
  --go-radius: 22px;
  --go-stick: 56px; /* ความสูงแถบเมนูหลัก (.mega-nav) ที่ติดด้านบน */
  display: block;
  background: var(--go-cream);
  color: var(--go-text);
}
:root[data-theme="dark"] .go {
  --go-mint: #122219;
  --go-mint-2: #18301f;
  --go-cream: #0E1714;
  --go-line: #22372C;
  --go-title: #B9E6C4;
  --go-accent: #7FD29B;
  --go-shadow: 0 18px 44px rgba(0, 0, 0, 0.35);
  --go-shadow-lg: 0 28px 70px rgba(0, 0, 0, 0.5);
}
.go img { max-width: 100%; }
.go .wrap { position: relative; }
.go h1, .go h2, .go h3, .go h4 { font-family: var(--font-display); }
.go .ico { flex: none; }

/* ---------- ปุ่ม / ลิงก์ ---------- */
.go-btn {
  display: inline-flex; align-items: center; gap: 10px; padding: 13px 24px; border-radius: 999px;
  font-family: var(--font-display); font-weight: 600; font-size: 0.98rem; text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.go-btn .ico { width: 18px; height: 18px; transition: transform 0.2s ease; }
.go-btn:hover .ico { transform: translateX(3px); }
.go-btn--light { background: linear-gradient(135deg, #D9F2B8, var(--go-lime)); color: var(--go-forest); box-shadow: 0 10px 30px rgba(166, 219, 114, 0.35); }
.go-btn--light:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(166, 219, 114, 0.45); }
.go-btn--ghost { color: #fff; border: 1.5px solid rgba(255, 255, 255, 0.55); background: rgba(255, 255, 255, 0.06); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.go-btn--ghost:hover { background: rgba(255, 255, 255, 0.16); border-color: #fff; }
.go-btn--green { background: var(--go-green); color: #fff; box-shadow: 0 10px 26px rgba(27, 122, 76, 0.28); }
.go-btn--green:hover { background: var(--go-deep); transform: translateY(-2px); }
.go-link {
  display: inline-flex; align-items: center; gap: 6px; color: var(--go-accent); font-weight: 600;
  font-family: var(--font-display); text-decoration: none;
}
.go-link .ico { width: 16px; height: 16px; transition: transform 0.2s ease; }
.go-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.go-link:hover .ico { transform: translateX(3px); }
.go a:focus-visible, .go button:focus-visible, .go summary:focus-visible, .go input:focus-visible + .go-compare-handle {
  outline: 3px solid var(--gold-500); outline-offset: 3px;
}

/* ===================================================================
   ส่วนหัว (hero)
   =================================================================== */
.go-hero, .go-cat-hero {
  position: relative; isolation: isolate; overflow: hidden;
  color: #fff; background: var(--go-forest);
}
.go-hero { min-height: min(760px, 92vh); display: flex; align-items: flex-end; padding: 120px 0 118px; }
.go-hero-bg { position: absolute; inset: 0; z-index: -2; }
.go-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 45%; animation: goKenBurns 22s ease-out both; }
.go-hero-bg::after {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(90% 70% at 85% 10%, rgba(166, 219, 114, 0.18), transparent 60%),
    linear-gradient(100deg, rgba(5, 30, 22, 0.94) 0%, rgba(7, 44, 32, 0.8) 34%, rgba(8, 52, 36, 0.3) 62%, rgba(8, 52, 36, 0.06) 100%),
    linear-gradient(0deg, rgba(5, 30, 22, 0.7) 0%, transparent 45%);
}
@keyframes goKenBurns { from { transform: scale(1.1); } to { transform: scale(1); } }

/* ใบไม้ลอยช้า ๆ */
.go-hero-leaves { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.go-hero-leaves i {
  position: absolute; top: -40px; left: calc(8% + var(--i) * 10.5%);
  color: var(--go-lime); opacity: 0;
  animation: goLeaf calc(14s + var(--i) * 1.7s) linear calc(var(--i) * -2.3s) infinite;
}
.go-hero-leaves i:nth-child(odd) { color: #D4F0B0; }
.go-hero-leaves .ico { width: calc(16px + (var(--i) * 3px)); height: auto; stroke-width: 1.4; }
@keyframes goLeaf {
  0% { transform: translate3d(0, -40px, 0) rotate(0deg); opacity: 0; }
  10% { opacity: 0.55; }
  50% { transform: translate3d(60px, 45vh, 0) rotate(160deg); }
  90% { opacity: 0.4; }
  100% { transform: translate3d(-20px, 95vh, 0) rotate(320deg); opacity: 0; }
}

.go-hero-inner { width: 100%; }
.go-hero .breadcrumb, .go-cat-hero .breadcrumb { color: rgba(255, 255, 255, 0.7); }
.go-hero .breadcrumb a, .go-cat-hero .breadcrumb a { color: rgba(255, 255, 255, 0.85); }
.go-hero .breadcrumb .crumb-current, .go-cat-hero .breadcrumb .crumb-current { color: var(--go-lime); }
.go-hero-eyebrow {
  display: inline-flex; align-items: center; gap: 10px; margin: 18px 0 18px; padding: 7px 16px 7px 12px;
  border-radius: 999px; background: rgba(166, 219, 114, 0.14); border: 1px solid rgba(166, 219, 114, 0.45);
  font-family: var(--font-display); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.84rem; color: #DDF5C2;
}
.go-hero-eyebrow .ico { width: 18px; height: 18px; color: var(--go-lime); }
.go-hero-title { margin: 0; line-height: 1.12; max-width: 900px; }
.go-hero-th {
  display: block; font-size: clamp(2.8rem, 6.4vw, 5.4rem); font-weight: 700; letter-spacing: -0.01em; padding-bottom: 0.08em;
  background: linear-gradient(100deg, #FFFFFF 0%, #E9F8D9 40%, var(--go-lime) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.go-hero-sub { display: block; margin-top: 10px; font-size: clamp(1.15rem, 2.2vw, 1.7rem); font-weight: 500; color: var(--gold-100); }
.go-hero-lead { max-width: 640px; margin: 22px 0 30px; font-size: clamp(1rem, 1.3vw, 1.14rem); line-height: 1.85; color: rgba(255, 255, 255, 0.86); }
.go-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 52px; }

.go-stats {
  list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; max-width: 1080px;
}
.go-stats li {
  position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center;
  padding: 18px 20px; border-radius: 18px;
  background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.go-stat-ico {
  grid-row: span 2; width: 46px; height: 46px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(166, 219, 114, 0.35), rgba(51, 160, 102, 0.35)); color: #EAF9DA;
}
.go-stat-ico .ico { width: 24px; height: 24px; }
.go-stats strong { font-family: var(--font-display); font-size: 1.6rem; line-height: 1.1; color: #fff; }
.go-stats small { margin-left: 6px; font-size: 0.82rem; color: rgba(255, 255, 255, 0.72); }
.go-stats li > strong { grid-column: 2; display: flex; align-items: baseline; }
.go-stat-label { grid-column: 2; font-size: 0.86rem; color: rgba(255, 255, 255, 0.78); }

.go-hero-wave { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 64px; z-index: 1; fill: var(--go-cream); }

/* ---------- เมนูในหน้า (ติดด้านบนตอนเลื่อน) ---------- */
.go-subnav, .go-catnav {
  position: sticky; top: var(--go-stick); z-index: 60;
  background: color-mix(in srgb, var(--go-cream) 88%, transparent);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--go-line);
}
.go-subnav ul, .go-catnav ol {
  list-style: none; margin: 0; padding: 10px 0; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none;
}
.go-subnav ul::-webkit-scrollbar, .go-catnav ol::-webkit-scrollbar { display: none; }
.go-subnav a, .go-catnav a {
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; padding: 8px 16px; border-radius: 999px;
  font-family: var(--font-display); font-size: 0.92rem; font-weight: 500; text-decoration: none; color: var(--go-text);
  border: 1px solid transparent; transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.go-subnav a:hover, .go-catnav a:hover { background: var(--go-mint); color: var(--go-title); }
.go-subnav a.is-active, .go-catnav a[aria-current="page"] {
  background: var(--go-green); color: #fff; box-shadow: 0 6px 16px rgba(27, 122, 76, 0.28);
}
.go-catnav-no {
  display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%;
  font-size: 0.8rem; font-weight: 700; background: var(--go-mint-2); color: var(--go-title);
}
.go-catnav a[aria-current="page"] .go-catnav-no { background: rgba(255, 255, 255, 0.22); color: #fff; }

/* ===================================================================
   ส่วนต่าง ๆ ของหน้ารวม
   =================================================================== */
.go-section { padding: 92px 0; scroll-margin-top: calc(var(--go-stick) + 64px); }
.go-section--tint { background: var(--go-mint); }
.go-section--forest {
  color: rgba(255, 255, 255, 0.85);
  background:
    radial-gradient(60% 80% at 100% 0%, rgba(166, 219, 114, 0.16), transparent 60%),
    radial-gradient(50% 60% at 0% 100%, rgba(51, 160, 102, 0.22), transparent 60%),
    linear-gradient(160deg, #0D4231 0%, #082B21 100%);
}
.go-head { max-width: 780px; margin: 0 0 40px; scroll-margin-top: calc(var(--go-stick) + 64px); }
.go-head.is-center { margin-left: auto; margin-right: auto; text-align: center; }
.go-kicker {
  display: inline-flex; align-items: center; gap: 8px; margin: 0 0 12px;
  font-family: var(--font-display); font-size: 0.86rem; font-weight: 600; letter-spacing: 0.06em; color: var(--go-accent);
}
.go-kicker .ico { width: 18px; height: 18px; }
.go-title { margin: 0; font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.3; font-weight: 700; color: var(--go-title); letter-spacing: -0.01em; }
.go-lead { margin: 14px 0 0; font-size: 1.05rem; line-height: 1.8; color: var(--ink-600); }
.go-section--forest .go-kicker { color: var(--go-lime); }
.go-section--forest .go-title { color: #fff; }
.go-section--forest .go-lead { color: rgba(255, 255, 255, 0.74); }
.go-prose { margin: 0 0 16px; font-size: 1.04rem; line-height: 1.95; }

/* ---------- Green Office คืออะไร ---------- */
.go-about-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.go-callout {
  margin-top: 26px; padding: 24px 26px; border-radius: var(--go-radius);
  background: var(--go-card); border: 1px solid var(--go-line); box-shadow: var(--go-shadow);
  border-left: 5px solid var(--go-leaf);
}
.go-callout h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font-size: 1.1rem; color: var(--go-title); }
.go-callout h3 .ico { width: 22px; height: 22px; color: var(--go-leaf); }
.go-callout p { margin: 0; line-height: 1.9; }
.go-principles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.go-principles li {
  position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 8px; padding: 26px 22px 24px;
  border-radius: var(--go-radius); background: var(--go-card); border: 1px solid var(--go-line); box-shadow: var(--go-shadow);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.go-principles li:nth-child(2), .go-principles li:nth-child(4) { margin-top: 28px; margin-bottom: -28px; }
.go-principles li::after {
  content: ''; position: absolute; right: -40px; top: -40px; width: 120px; height: 120px; border-radius: 50%;
  background: radial-gradient(circle, rgba(166, 219, 114, 0.28), transparent 70%);
}
.go-principle-ico {
  width: 52px; height: 52px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--go-leaf), var(--go-green)); color: #fff; box-shadow: 0 10px 22px rgba(27, 122, 76, 0.3);
}
.go-principle-ico .ico { width: 26px; height: 26px; }
.go-principles strong { font-family: var(--font-display); font-size: 1.06rem; color: var(--go-title); margin-top: 6px; }
.go-principles small { font-size: 0.92rem; line-height: 1.7; color: var(--ink-600); }

/* ---------- นโยบาย ---------- */
.go-policy { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 44px; align-items: start; }
.go-policy-lead { margin: 0 0 26px; font-size: 1.06rem; line-height: 1.9; }
.go-policy-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.go-policy-item {
  position: relative; display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start;
  padding: 20px 20px 20px 18px; border-radius: 18px; background: var(--go-card); border: 1px solid var(--go-line);
  box-shadow: 0 6px 18px rgba(8, 43, 33, 0.05); overflow: hidden;
}
.go-policy-no {
  position: absolute; right: 12px; bottom: -14px; font-family: var(--font-display); font-weight: 800; font-size: 4.2rem;
  line-height: 1; color: var(--go-mint-2); pointer-events: none;
}
.go-policy-ico {
  position: relative; width: 44px; height: 44px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--go-mint); color: var(--go-green);
}
:root[data-theme="dark"] .go-policy-ico { color: var(--go-accent); }
.go-policy-ico .ico { width: 22px; height: 22px; }
.go-policy-item p { position: relative; margin: 0; line-height: 1.75; font-size: 0.97rem; }
.go-policy-sign {
  display: flex; flex-direction: column; gap: 2px; margin: 26px 0 0; padding-left: 18px; border-left: 3px solid var(--gold-500);
}
.go-policy-sign span { font-size: 0.9rem; color: var(--ink-600); }
.go-policy-sign strong { font-family: var(--font-display); color: var(--go-title); font-size: 1.02rem; }
.go-policy-sign small { color: var(--ink-600); }
.go-policy-doc { margin: 0; position: sticky; top: calc(var(--go-stick) + 80px); }
.go-doc-paper {
  position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: 10px; cursor: zoom-in; background: #fff;
  box-shadow: 0 2px 0 #e9e6da, 0 6px 0 -2px #f1eee3, 0 24px 60px rgba(8, 43, 33, 0.22);
  transform: rotate(-2.2deg); transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.go-doc-paper:hover { transform: rotate(0deg) translateY(-6px); box-shadow: 0 30px 70px rgba(8, 43, 33, 0.28); }
.go-doc-paper img { display: block; width: 100%; height: auto; border-radius: 10px; }
.go-doc-zoom {
  position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%);
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; white-space: nowrap;
  background: var(--go-forest); color: #fff; font-family: var(--font-display); font-size: 0.88rem; box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
}
.go-doc-zoom .ico { width: 16px; height: 16px; }

/* ---------- 7 หมวด ---------- */
.go-cats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.go-cat:first-child { grid-column: span 2; }
.go-cat-link {
  position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; min-height: 360px;
  border-radius: var(--go-radius); overflow: hidden; text-decoration: none; color: #fff; background: var(--go-deep);
  box-shadow: var(--go-shadow); transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.go-cat-media { position: absolute; inset: 0; z-index: -2; }
.go-cat-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1); }
.go-cat-link::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(5, 30, 22, 0.05) 0%, rgba(5, 30, 22, 0.35) 40%, rgba(5, 30, 22, 0.94) 100%);
  transition: background 0.3s ease;
}
.go-cat-link:hover { transform: translateY(-6px); box-shadow: var(--go-shadow-lg); }
.go-cat-link:hover .go-cat-media img { transform: scale(1.07); }
.go-cat-no {
  position: absolute; top: 18px; left: 18px; padding: 6px 14px; border-radius: 999px;
  font-family: var(--font-display); font-size: 0.82rem; font-weight: 600; letter-spacing: 0.02em;
  background: rgba(255, 255, 255, 0.92); color: var(--go-forest);
}
.go-cat-ico {
  position: absolute; top: 14px; right: 16px; width: 48px; height: 48px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--go-lime), var(--go-leaf)); color: var(--go-forest); box-shadow: 0 10px 22px rgba(0, 0, 0, 0.25);
}
.go-cat-ico .ico { width: 24px; height: 24px; stroke-width: 1.9; }
.go-cat-body { display: flex; flex-direction: column; gap: 8px; padding: 22px 22px 20px; }
.go-cat-body strong { font-family: var(--font-display); font-size: 1.28rem; line-height: 1.35; font-weight: 700; text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35); }
.go-cat:first-child .go-cat-body strong { font-size: 1.6rem; }
.go-cat-body small { font-size: 0.92rem; line-height: 1.65; color: rgba(255, 255, 255, 0.84); }
.go-cat-codes {
  align-self: flex-start; padding: 3px 11px; border-radius: 999px; font-size: 0.78rem; font-weight: 600;
  background: rgba(166, 219, 114, 0.2); border: 1px solid rgba(166, 219, 114, 0.5); color: #E2F7CF;
}
.go-cat-go { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font-family: var(--font-display); font-weight: 600; font-size: 0.92rem; color: var(--go-lime); }
.go-cat-go .ico { width: 16px; height: 16px; transition: transform 0.2s ease; }
.go-cat-link:hover .go-cat-go .ico { transform: translateX(4px); }

/* ---------- 5ส. ก่อน-หลัง (ลากเส้นเทียบภาพ) ---------- */
.go-compares { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px; }
.go-compares > * { grid-column: span 2; }
.go-compares > :nth-child(4):nth-last-child(2) { grid-column: 2 / span 2; } /* แถวสุดท้าย 2 ใบ: จัดกึ่งกลาง */
.go-compare-card { margin: 0; }
.go-compare {
  position: relative; aspect-ratio: 4 / 3; border-radius: 18px; overflow: hidden; background: #0a241c;
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.35); user-select: none; touch-action: pan-y;
}
.go-compare img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.go-compare-before { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.go-compare::after {
  content: ''; position: absolute; top: 0; bottom: 0; left: var(--pos); width: 3px; margin-left: -1.5px;
  background: #fff; box-shadow: 0 0 12px rgba(0, 0, 0, 0.45); pointer-events: none;
}
.go-compare-handle {
  position: absolute; top: 50%; left: var(--pos); z-index: 2; width: 46px; height: 46px; margin: -23px 0 0 -23px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center; pointer-events: none;
  background: #fff; color: var(--go-forest); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}
.go-compare-handle .ico { width: 24px; height: 24px; stroke-width: 2; }
.go-compare input {
  position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize;
  -webkit-appearance: none; appearance: none; background: transparent;
}
.go-compare-tag {
  position: absolute; top: 12px; z-index: 1; padding: 4px 12px; border-radius: 999px; pointer-events: none;
  font-family: var(--font-display); font-size: 0.8rem; font-weight: 600; letter-spacing: 0.03em;
}
.go-compare-tag.is-before { left: 12px; background: rgba(0, 0, 0, 0.62); color: #fff; }
.go-compare-tag.is-after { right: 12px; background: var(--go-lime); color: var(--go-forest); }
.go-compare-card figcaption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; color: #fff; }
.go-compare-card figcaption strong { font-family: var(--font-display); font-weight: 600; font-size: 1.02rem; }
.go-compare-links { display: inline-flex; gap: 6px; }
.go-compare-links button {
  padding: 5px 12px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.3); background: transparent; color: rgba(255, 255, 255, 0.85);
  font: inherit; font-size: 0.8rem; cursor: zoom-in; white-space: nowrap;
}
.go-compare-links button:hover { background: rgba(255, 255, 255, 0.12); color: #fff; }

/* ---------- กิจกรรม ---------- */
.go-acts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.go-act-link {
  display: flex; flex-direction: column; height: 100%; border-radius: var(--go-radius); overflow: hidden; text-decoration: none; color: inherit;
  background: var(--go-card); border: 1px solid var(--go-line); box-shadow: var(--go-shadow); transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.go-act-link:hover { transform: translateY(-5px); box-shadow: var(--go-shadow-lg); }
.go-act-photos { position: relative; display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 4px; aspect-ratio: 16 / 10; background: var(--go-line); }
.go-act-photos img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; }
.go-act-photos img.is-main { grid-row: span 2; }
.go-act-link:hover .go-act-photos img { transform: scale(1.04); }
.go-act-count {
  position: absolute; left: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px;
  background: rgba(8, 43, 33, 0.78); color: #fff; font-size: 0.8rem; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.go-act-count .ico { width: 15px; height: 15px; }
.go-act-body { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 22px; flex: 1; }
.go-act-body small { display: inline-flex; align-items: center; gap: 6px; color: var(--go-accent); font-weight: 600; font-size: 0.86rem; }
.go-act-body small .ico { width: 16px; height: 16px; }
.go-act-body strong { font-family: var(--font-display); font-size: 1.12rem; line-height: 1.45; color: var(--go-title); }
.go-act-go { margin-top: auto; padding-top: 6px; display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-display); font-size: 0.9rem; font-weight: 600; color: var(--go-accent); }
.go-act-go .ico { width: 16px; height: 16px; transition: transform 0.2s ease; }
.go-act-link:hover .go-act-go .ico { transform: translateX(4px); }

/* ---------- ปรับปรุงสภาพแวดล้อม (แถบเลื่อนแนวนอน) ---------- */
.go-rail-wrap { position: relative; }
.go-rail {
  list-style: none; margin: 0 calc(var(--gutter) * -1); padding: 6px var(--gutter) 22px; display: grid; grid-auto-flow: column; grid-auto-columns: 300px; gap: 18px;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--gutter); scrollbar-width: thin; scrollbar-color: var(--go-leaf) transparent;
}
.go-rail > li { scroll-snap-align: start; }
.go-imp { display: flex; flex-direction: column; border-radius: 18px; overflow: hidden; background: var(--go-card); border: 1px solid var(--go-line); box-shadow: 0 8px 22px rgba(8, 43, 33, 0.07); }
.go-imp-media { display: block; padding: 0; border: 0; cursor: zoom-in; aspect-ratio: 4 / 3; overflow: hidden; background: var(--go-line); }
.go-imp-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
.go-imp:hover .go-imp-media img { transform: scale(1.05); }
.go-imp p { margin: 0; padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 4px; }
.go-imp strong { font-family: var(--font-display); font-weight: 600; font-size: 0.98rem; line-height: 1.5; color: var(--go-title); }
.go-imp small { font-size: 0.86rem; line-height: 1.6; color: var(--ink-600); }
.go-imps--grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
.go-rail-btn {
  position: absolute; top: 34%; z-index: 2; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--go-line);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
  background: var(--go-card); color: var(--go-title); box-shadow: var(--go-shadow); transition: background 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}
.go-rail-btn:hover { background: var(--go-green); color: #fff; }
.go-rail-btn[disabled] { opacity: 0; pointer-events: none; }
.go-rail-btn.is-prev { left: -8px; }
.go-rail-btn.is-next { right: -8px; }
.go-rail-btn .ico { width: 22px; height: 22px; }

/* ---------- คณะทำงาน ---------- */
.go-team-wrap { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.6fr); gap: 48px; align-items: start; }
.go-team-intro { position: sticky; top: calc(var(--go-stick) + 80px); }
.go-team-stats { list-style: none; margin: 0; padding: 0; display: flex; gap: 14px; }
.go-team-stats li {
  flex: 1; display: flex; flex-direction: column; padding: 18px 20px; border-radius: 18px;
  background: linear-gradient(145deg, var(--go-deep), var(--go-forest)); color: #fff; box-shadow: var(--go-shadow);
}
.go-team-stats strong { font-family: var(--font-display); font-size: 2.2rem; line-height: 1.1; color: var(--go-lime); }
.go-team-stats small { font-size: 0.9rem; color: rgba(255, 255, 255, 0.8); }
.go-team { display: flex; flex-direction: column; gap: 12px; }
.go-team-group { border-radius: 18px; background: var(--go-card); border: 1px solid var(--go-line); box-shadow: 0 6px 18px rgba(8, 43, 33, 0.05); overflow: hidden; }
.go-team-group summary {
  display: flex; align-items: center; gap: 14px; padding: 16px 20px; cursor: pointer; list-style: none;
  font-family: var(--font-display); font-weight: 600; color: var(--go-title);
}
.go-team-group summary::-webkit-details-marker { display: none; }
.go-team-ico { width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: var(--go-mint); color: var(--go-green); flex: none; }
:root[data-theme="dark"] .go-team-ico { color: var(--go-accent); }
.go-team-ico .ico { width: 22px; height: 22px; }
.go-team-title { flex: 1; line-height: 1.45; }
.go-team-count { flex: none; padding: 3px 12px; border-radius: 999px; background: var(--go-mint); font-size: 0.82rem; font-weight: 500; color: var(--go-accent); }
.go-team-chev { width: 20px; height: 20px; color: var(--ink-400); transition: transform 0.25s ease; }
.go-team-group[open] .go-team-chev { transform: rotate(180deg); }
.go-team-group[open] summary { border-bottom: 1px solid var(--go-line); }
.go-team-group .go-members { padding: 14px 16px 18px; }

.go-members { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.go-members li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: var(--go-cream); }
.go-members li.is-chair { background: linear-gradient(135deg, var(--gold-050), var(--go-cream)); box-shadow: inset 0 0 0 1px rgba(216, 178, 76, 0.45); }
.go-member-ico { width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: none; background: var(--go-mint-2); color: var(--go-green); }
:root[data-theme="dark"] .go-member-ico { color: var(--go-accent); }
.go-member-ico .ico { width: 18px; height: 18px; }
.go-member-text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.go-member-text strong { font-family: var(--font-display); font-weight: 500; font-size: 0.93rem; color: var(--go-title); line-height: 1.45; }
.go-member-text small { font-size: 0.8rem; color: var(--ink-600); line-height: 1.5; }
.go-member-duty { flex: none; max-width: 42%; text-align: right; font-size: 0.74rem; line-height: 1.35; color: var(--go-accent); font-weight: 600; }
.go-members li.is-chair .go-member-duty { color: var(--gold-700); }

/* ---------- สื่อความรู้ (แท็บ + วิดีโอ) ---------- */
.go-tablist { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; }
.go-tablist button {
  display: inline-flex; align-items: center; gap: 10px; padding: 11px 20px; border-radius: 999px; cursor: pointer;
  border: 1px solid var(--go-line); background: var(--go-card); color: var(--go-text); font-family: var(--font-display); font-size: 0.96rem; font-weight: 500;
  transition: all 0.2s ease;
}
.go-tablist button span { padding: 1px 9px; border-radius: 999px; background: var(--go-mint); font-size: 0.8rem; color: var(--go-accent); }
.go-tablist button:hover { border-color: var(--go-leaf); }
.go-tablist button[aria-selected="true"] { background: var(--go-green); border-color: var(--go-green); color: #fff; box-shadow: 0 8px 20px rgba(27, 122, 76, 0.25); }
.go-tablist button[aria-selected="true"] span { background: rgba(255, 255, 255, 0.2); color: #fff; }
.go-panel-more { margin: 22px 0 0; }

.go-videos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.go-video { display: flex; flex-direction: column; border-radius: 18px; overflow: hidden; background: var(--go-card); border: 1px solid var(--go-line); box-shadow: 0 8px 22px rgba(8, 43, 33, 0.06); }
.go-video-play { position: relative; display: block; padding: 0; border: 0; cursor: pointer; aspect-ratio: 16 / 9; overflow: hidden; background: #000; }
.go-video-play img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0.92; transition: transform 0.5s ease, opacity 0.3s ease; }
.go-video-play:hover img { transform: scale(1.05); opacity: 1; }
.go-video-btn {
  position: absolute; left: 50%; top: 50%; width: 62px; height: 62px; margin: -31px 0 0 -31px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.95); color: var(--go-green);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35); transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease;
}
.go-video-btn .ico { width: 28px; height: 28px; margin-left: 3px; fill: currentColor; }
.go-video-play:hover .go-video-btn { transform: scale(1.1); background: var(--go-green); color: #fff; }
.go-video-play iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.go-video-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 6px; }
.go-video-title { margin: 0; font-size: 0.96rem; font-weight: 500; line-height: 1.55; color: var(--go-title); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.go-video-by { margin: 0; display: inline-flex; align-items: center; gap: 6px; font-size: 0.8rem; color: var(--ink-400); }
.go-video-by .ico { width: 16px; height: 16px; color: #E0341F; }

/* ปุ่ม "ดูเพิ่ม" ของแกลเลอรี/วิดีโอ */
.is-collapsed > .is-more { display: none; }
.go-more {
  display: inline-flex; align-items: center; gap: 10px; margin-top: 18px; padding: 11px 22px; border-radius: 999px; cursor: pointer;
  border: 1.5px solid var(--go-leaf); background: transparent; color: var(--go-accent); font-family: var(--font-display); font-size: 0.94rem; font-weight: 600;
  transition: background 0.2s ease, color 0.2s ease;
}
.go-more .ico { width: 18px; height: 18px; }
.go-more:hover { background: var(--go-green); border-color: var(--go-green); color: #fff; }
.go-more[hidden] { display: none; }

/* ---------- ที่ตั้ง ---------- */
.go-location { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 32px; align-items: stretch; }
.go-map { position: relative; min-height: 380px; border-radius: var(--go-radius); overflow: hidden; box-shadow: var(--go-shadow); background: var(--go-mint); border: 1px solid var(--go-line); }
.go-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.go-location-info { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.go-location-info p { margin: 0; line-height: 1.85; }
.go-location-addr { display: flex; gap: 12px; font-family: var(--font-display); font-size: 1.08rem; color: var(--go-title); }
.go-location-addr .ico { width: 26px; height: 26px; color: var(--go-leaf); margin-top: 2px; }
.go-feedback {
  width: 100%; margin-top: 8px; padding: 22px 24px; border-radius: var(--go-radius);
  background: var(--go-card); border: 1px solid var(--go-line); box-shadow: var(--go-shadow);
}
.go-feedback h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-size: 1.05rem; color: var(--go-title); }
.go-feedback h3 .ico { width: 22px; height: 22px; color: var(--go-leaf); }
.go-feedback-links { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 10px !important; }

/* ---------- หน่วยงานที่เกี่ยวข้อง ---------- */
.go-orgs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.go-org {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 12px; height: 100%; padding: 22px 16px 20px; text-align: center;
  border-radius: 18px; background: var(--go-card); border: 1px solid var(--go-line); text-decoration: none; color: var(--go-title);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.go-org:hover { transform: translateY(-4px); box-shadow: var(--go-shadow); border-color: var(--go-leaf); }
.go-org-logo { width: 96px; height: 96px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #fff; padding: 12px; box-shadow: 0 4px 14px rgba(8, 43, 33, 0.08); }
.go-org-logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.go-org-name { font-family: var(--font-display); font-size: 0.88rem; line-height: 1.5; }
.go-org-go { position: absolute; top: 12px; right: 12px; width: 16px; height: 16px; color: var(--ink-400); }

/* ===================================================================
   หน้าหมวด
   =================================================================== */
.go-cat-hero { padding: 96px 0 104px; }
.go-cat-hero .go-hero-bg img { animation-duration: 18s; }
.go-cat-hero .go-hero-bg::after {
  background:
    linear-gradient(100deg, rgba(5, 30, 22, 0.95) 0%, rgba(7, 44, 32, 0.86) 45%, rgba(8, 52, 36, 0.55) 100%);
}
.go-cat-hero-inner { max-width: calc(var(--container)); }
.go-cat-hero-no { display: inline-flex; align-items: center; gap: 12px; margin: 16px 0 14px; font-family: var(--font-display); font-weight: 600; color: var(--go-lime); letter-spacing: 0.04em; }
.go-cat-hero-ico { width: 48px; height: 48px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--go-lime), var(--go-leaf)); color: var(--go-forest); }
.go-cat-hero-ico .ico { width: 26px; height: 26px; stroke-width: 1.9; }
.go-cat-hero-of { color: rgba(255, 255, 255, 0.5); font-weight: 400; }
.go-cat-hero-title { margin: 0; max-width: 980px; font-size: clamp(2rem, 4.4vw, 3.4rem); line-height: 1.25; font-weight: 700; color: #fff; }
.go-cat-hero-lead { max-width: 760px; margin: 18px 0 0; font-size: 1.06rem; line-height: 1.9; color: rgba(255, 255, 255, 0.84); }

.go-cat-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 48px; padding-top: 48px; padding-bottom: 96px; }
.go-toc { position: sticky; top: calc(var(--go-stick) + 76px); align-self: start; max-height: calc(100vh - var(--go-stick) - 100px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--go-mint-2) transparent; }
.go-toc-title { margin: 0 0 10px; font-family: var(--font-display); font-size: 0.8rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-400); }
.go-toc ol { list-style: none; margin: 0 0 20px; padding: 0; border-left: 2px solid var(--go-line); }
.go-toc li a {
  display: block; margin-left: -2px; padding: 7px 0 7px 16px; border-left: 2px solid transparent;
  font-size: 0.9rem; line-height: 1.5; color: var(--ink-600); text-decoration: none; transition: color 0.2s ease, border-color 0.2s ease;
}
.go-toc li a:hover { color: var(--go-title); }
.go-toc li a.is-active { color: var(--go-accent); border-left-color: var(--go-leaf); font-weight: 600; }
.go-toc-back { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-size: 0.9rem; color: var(--go-accent); text-decoration: none; }
.go-toc-back .ico { width: 16px; height: 16px; }

.go-cat-content { min-width: 0; }
.go-block { margin: 0 0 56px; scroll-margin-top: calc(var(--go-stick) + 76px); }
.go-block-title {
  position: relative; display: flex; align-items: center; gap: 10px; margin: 0 0 20px; padding-left: 18px;
  font-size: clamp(1.3rem, 2.2vw, 1.65rem); line-height: 1.4; font-weight: 700; color: var(--go-title);
}
.go-block-title::before { content: ''; position: absolute; left: 0; top: 0.2em; bottom: 0.2em; width: 5px; border-radius: 4px; background: linear-gradient(180deg, var(--go-lime), var(--go-green)); }
.go-block-title .ico { width: 26px; height: 26px; color: var(--go-leaf); }
.go-block-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: -8px 0 16px; font-size: 0.92rem; color: var(--ink-600); }
.go-block-meta span { display: inline-flex; align-items: center; gap: 6px; }
.go-block-meta .ico { width: 17px; height: 17px; color: var(--go-leaf); }
.go-sub-title { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 1.14rem; color: var(--go-title); }
.go-sub-title .ico { width: 24px; height: 24px; color: var(--go-leaf); }

.go-indicators { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.go-indicators li { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 16px; background: var(--go-card); border: 1px solid var(--go-line); }
.go-ind-code {
  flex: none; min-width: 58px; padding: 7px 10px; border-radius: 12px; text-align: center;
  font-family: var(--font-display); font-weight: 700; letter-spacing: 0.04em; color: #fff; background: linear-gradient(135deg, var(--go-leaf), var(--go-green));
}
.go-ind-text { line-height: 1.6; font-size: 0.96rem; }

.go-facts { list-style: none; margin: 0 0 40px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.go-facts li {
  display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; padding: 16px; border-radius: 18px;
  background: linear-gradient(145deg, var(--go-deep), var(--go-forest)); color: #fff;
}
.go-facts .go-stat-ico { grid-row: auto; width: 42px; height: 42px; }
.go-facts strong { grid-column: 2; grid-row: span 1; font-family: var(--font-display); font-size: 1.3rem; line-height: 1.2; color: var(--go-lime); }
.go-facts small { margin-left: 5px; font-size: 0.74rem; font-weight: 400; color: rgba(255, 255, 255, 0.7); }
.go-facts span:last-child { grid-column: 1 / -1; margin-top: 8px; font-size: 0.88rem; color: rgba(255, 255, 255, 0.86); }

.go-bullets { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.go-bullets li { position: relative; padding: 12px 16px 12px 44px; border-radius: 14px; background: var(--go-card); border: 1px solid var(--go-line); line-height: 1.75; }
.go-bullets li::before {
  content: ''; position: absolute; left: 16px; top: 19px; width: 14px; height: 14px; border-radius: 50% 0 50% 50%;
  background: linear-gradient(135deg, var(--go-lime), var(--go-leaf)); transform: rotate(-45deg);
}
.go-block > .go-bullets { margin-bottom: 8px; }
.go-block:has(> .go-sub-title) { margin-bottom: 36px; }

.go-cards { list-style: none; margin: 0 0 32px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.go-card { padding: 22px; border-radius: var(--go-radius); background: var(--go-card); border: 1px solid var(--go-line); box-shadow: 0 8px 22px rgba(8, 43, 33, 0.05); }
.go-card-ico { width: 48px; height: 48px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; background: var(--go-mint); color: var(--go-green); }
:root[data-theme="dark"] .go-card-ico { color: var(--go-accent); }
.go-card-ico .ico { width: 24px; height: 24px; }
.go-card h3 { margin: 14px 0 8px; font-size: 1.05rem; line-height: 1.5; color: var(--go-title); }
.go-card p { margin: 0; line-height: 1.8; font-size: 0.95rem; }
.go-card ol { margin: 0; padding-left: 1.2em; display: grid; gap: 8px; line-height: 1.75; font-size: 0.95rem; }

.go-figure { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: center; padding: 20px; border-radius: var(--go-radius); background: var(--go-card); border: 1px solid var(--go-line); }
.go-figure-media { display: block; padding: 0; border: 0; border-radius: 16px; overflow: hidden; cursor: zoom-in; background: var(--go-line); }
.go-figure-media img { width: 100%; height: auto; display: block; transition: transform 0.5s ease; }
.go-figure-media:hover img { transform: scale(1.03); }
.go-figure .go-block-title { font-size: 1.25rem; }
.go-figure .go-prose { margin: 0; }

/* แกลเลอรี */
.go-gallery { display: grid; gap: 10px; }
.go-gallery--grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); grid-auto-flow: dense; }
.go-gallery--wide { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); margin-top: 8px; }
.go-thumb {
  position: relative; display: block; padding: 0; border: 0; border-radius: 14px; overflow: hidden; cursor: zoom-in;
  aspect-ratio: 4 / 3; background: var(--go-line);
}
.go-gallery--grid .go-thumb.is-tall { grid-row: span 2; aspect-ratio: auto; }
.go-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease, filter 0.3s ease; }
.go-thumb::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(5, 30, 22, 0.55)); opacity: 0; transition: opacity 0.3s ease; }
.go-thumb:hover img { transform: scale(1.06); }
.go-thumb:hover::after { opacity: 1; }
.go-thumb-cap {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 22px 12px 10px; text-align: left;
  font-size: 0.84rem; line-height: 1.45; color: #fff; background: linear-gradient(180deg, transparent, rgba(5, 30, 22, 0.8));
}
.go-gallery--masonry { display: block; columns: 4 200px; column-gap: 12px; }
.go-gallery--masonry .go-thumb { aspect-ratio: auto; margin: 0 0 12px; break-inside: avoid; background: var(--go-card); border: 1px solid var(--go-line); }
.go-gallery--masonry .go-thumb img { height: auto; object-fit: contain; }
.go-gallery--masonry.is-collapsed > .is-more { display: none; }
.go-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.go-product { aspect-ratio: 1; background: #fff; border: 1px solid var(--go-line); }
.go-product img { object-fit: contain; padding: 14px; }

/* เอกสาร / ลิงก์ */
.go-docs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.go-doc {
  display: flex; align-items: center; gap: 14px; height: 100%; padding: 14px 16px; border-radius: 16px; text-decoration: none; color: inherit;
  background: var(--go-card); border: 1px solid var(--go-line); transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.go-doc:hover { border-color: var(--go-leaf); box-shadow: 0 10px 24px rgba(8, 43, 33, 0.08); transform: translateY(-2px); }
.go-doc-ico { width: 46px; height: 46px; border-radius: 14px; flex: none; display: inline-flex; align-items: center; justify-content: center; }
.go-doc-ico .ico { width: 24px; height: 24px; }
.go-doc--pdf .go-doc-ico { background: #FDECEA; color: #C2412D; }
.go-doc--sheet .go-doc-ico { background: #E4F4E8; color: #1E7B45; }
.go-doc--folder .go-doc-ico { background: #FDF3DC; color: #A67F1D; }
.go-doc--web .go-doc-ico { background: #E6F0FB; color: #2464A8; }
:root[data-theme="dark"] .go-doc-ico { background: var(--go-mint-2) !important; }
.go-doc-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.go-doc-text strong { font-family: var(--font-display); font-weight: 500; font-size: 0.96rem; line-height: 1.5; color: var(--go-title); }
.go-doc-text small { font-size: 0.82rem; color: var(--ink-600); }
.go-doc-kind { flex: none; display: inline-flex; align-items: center; gap: 4px; font-size: 0.78rem; color: var(--ink-400); }
.go-doc-kind .ico { width: 15px; height: 15px; }
.go-linkcards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.go-linkcard {
  display: flex; align-items: center; gap: 14px; height: 100%; padding: 10px 16px 10px 10px; border-radius: 16px; text-decoration: none; color: inherit;
  background: var(--go-card); border: 1px solid var(--go-line); transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.go-linkcard:hover { border-color: var(--go-leaf); box-shadow: 0 10px 24px rgba(8, 43, 33, 0.08); }
.go-linkcard img { width: 120px; height: 76px; object-fit: cover; border-radius: 10px; flex: none; }
.go-linkcard span { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.go-linkcard strong { font-family: var(--font-display); font-weight: 500; line-height: 1.5; color: var(--go-title); }
.go-linkcard small { font-size: 0.82rem; color: var(--ink-600); }
.go-linkcard > .ico { width: 18px; height: 18px; color: var(--ink-400); }
.go-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.go-chips a {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; text-decoration: none; font-size: 0.92rem;
  background: var(--go-card); border: 1px solid var(--go-line); color: var(--go-title); transition: background 0.2s ease, border-color 0.2s ease;
}
.go-chips a:hover { border-color: #1877F2; background: #EEF4FE; }
:root[data-theme="dark"] .go-chips a:hover { background: #16263b; }
.go-chips .ico { width: 18px; height: 18px; color: #1877F2; }

/* เกณฑ์ (หมวดจัดซื้อจัดจ้าง) */
.go-outline { margin-bottom: 22px; padding: 24px 26px; border-radius: var(--go-radius); background: var(--go-card); border: 1px solid var(--go-line); }
.go-outline h3 { margin: 0 0 14px; font-size: 1.15rem; color: var(--go-title); }
.go-outline-items { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.go-outline-items > li { padding-left: 16px; border-left: 3px solid var(--go-mint-2); }
.go-outline-title { margin: 0 0 8px; font-family: var(--font-display); font-weight: 600; line-height: 1.6; color: var(--go-title); }
.go-outline-list { margin: 0; padding-left: 1.6em; display: grid; gap: 6px; line-height: 1.75; font-size: 0.95rem; list-style: none; counter-reset: go-o; }
.go-outline-list li { position: relative; counter-increment: go-o; }
.go-outline-list li::before { content: '(' counter(go-o) ')'; position: absolute; left: -1.9em; color: var(--go-accent); font-weight: 600; }
.go-note { margin: 10px 0 0; padding: 10px 14px; border-radius: 12px; background: var(--gold-050); font-size: 0.9rem; line-height: 1.7; }
.go-note strong { color: var(--gold-700); margin-right: 4px; }

/* คณะทำงานท้ายหน้าหมวด */
.go-committee { padding: 26px; border-radius: var(--go-radius); background: var(--go-mint); }
.go-committee .go-members li { background: var(--go-card); }

/* ก่อนหน้า / ถัดไป */
.go-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.go-pager a {
  display: flex; flex-direction: column; gap: 6px; padding: 20px 22px; border-radius: var(--go-radius); text-decoration: none;
  background: var(--go-card); border: 1px solid var(--go-line); transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.go-pager a:hover { border-color: var(--go-leaf); transform: translateY(-3px); box-shadow: var(--go-shadow); }
.go-pager small { display: inline-flex; align-items: center; gap: 6px; color: var(--go-accent); font-weight: 600; font-size: 0.86rem; }
.go-pager .ico { width: 16px; height: 16px; }
.go-pager strong { font-family: var(--font-display); color: var(--go-title); line-height: 1.5; }
.go-pager .is-next { text-align: right; align-items: flex-end; }

/* ===================================================================
   จอแคบ
   =================================================================== */
@media (max-width: 1200px) {
  .go-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .go-cat:first-child { grid-column: span 3; }
  .go-cat:first-child .go-cat-link { min-height: 320px; }
  .go-orgs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .go-videos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .go-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .go-hero { min-height: 0; padding: 88px 0 96px; }
  .go-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .go-about-grid, .go-policy, .go-team-wrap, .go-location { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .go-policy-doc { position: static; max-width: 360px; margin: 0 auto; }
  .go-team-intro { position: static; }
  .go-principles li:nth-child(2), .go-principles li:nth-child(4) { margin: 0; }
  .go-acts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .go-compares { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .go-compares > *, .go-compares > :nth-child(4):nth-last-child(2) { grid-column: auto; }
  .go-cat-layout { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 32px; }
  .go-toc { display: none; }
  .go-section { padding: 72px 0; }
}
@media (max-width: 720px) {
  .go-cats { grid-template-columns: minmax(0, 1fr); }
  .go-cat:first-child { grid-column: auto; }
  .go-cat-link, .go-cat:first-child .go-cat-link { min-height: 300px; }
  .go-policy-list, .go-indicators, .go-members, .go-docs, .go-linkcards, .go-cards, .go-compares, .go-acts, .go-videos { grid-template-columns: minmax(0, 1fr); }
  .go-principles { grid-template-columns: minmax(0, 1fr); }
  .go-orgs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .go-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .go-figure { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .go-gallery--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .go-gallery--masonry { columns: 2; column-gap: 8px; }
  .go-gallery--masonry .go-thumb { margin-bottom: 8px; }
  .go-rail { grid-auto-columns: 78%; }
  .go-rail-btn { display: none; }
  .go-section { padding: 56px 0; }
  .go-hero-cta { margin-bottom: 36px; }
  .go-stats li { padding: 14px; column-gap: 10px; }
  .go-stat-ico { width: 38px; height: 38px; }
  .go-stats strong { font-size: 1.3rem; }
  .go-cat-hero { padding: 72px 0 84px; }
  .go-member-duty { max-width: 38%; }
  .go-pager { grid-template-columns: minmax(0, 1fr); }
  .go-pager .is-next { text-align: left; align-items: flex-start; }
  .go-linkcard img { width: 88px; height: 60px; }
}

/* ผู้ใช้ตั้ง "ลดการเคลื่อนไหว" */
@media (prefers-reduced-motion: reduce) {
  .go-hero-bg img { animation: none; }
  .go-hero-leaves { display: none; }
  .go-cat-link, .go-cat-media img, .go-act-link, .go-thumb img, .go-doc-paper, .go-imp-media img, .go-video-play img { transition: none; }
  .go-cat-link:hover, .go-act-link:hover { transform: none; }
}
