/* Kampang (คำแพง) — kampang.org | theme: แดงเลือดหมู + ทอง ตามเว็บระบบ | prefix kp- */

/* ---------- font fallback กัน CLS (Playbook v2 บทที่ 6) ---------- */
@font-face{font-family:Sarabun-fb;font-display:swap;src:local("Tahoma");size-adjust:98%;ascent-override:104%;descent-override:30%;line-gap-override:0%}

:root{
  --kp-bg:#330000;
  --kp-bg-2:#420000;
  --kp-bg-3:#570000;
  --kp-line:#7A2A1E;
  --kp-ink:#F5F5F0;
  --kp-ink-2:#DCDCDC;
  --kp-ink-3:#BDC3D1;
  --kp-gold:#FFCE47;
  --kp-gold-lt:#FFDE38;
  --kp-gold-dk:#A87C00;
  --kp-maroon:#570000;
  --kp-amber:#F5B942;
  --kp-radius:12px;
  --kp-glow:0 0 0 1px rgba(255,206,71,.18),0 10px 30px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html{overflow-x:hidden;scroll-behavior:smooth;background:var(--kp-bg)}
body{
  margin:0;background:var(--kp-bg);color:var(--kp-ink);
  font-family:"Sarabun",Sarabun-fb,sans-serif;
  font-size:17px;line-height:1.75;text-align:left;
  padding-bottom:72px;
}
h1,h2,h3,h4,.kp-brand{font-family:"Sarabun",Sarabun-fb,sans-serif;font-weight:700;line-height:1.36}
h1{font-size:2rem;margin:.15em 0 .5em;color:#fff}
h2{font-size:1.4rem;margin:2.1em 0 .6em;color:#fff;display:flex;align-items:center;gap:10px}
h2::before{content:"";flex:0 0 6px;height:1.1em;border-radius:3px;background:linear-gradient(180deg,var(--kp-gold-lt),var(--kp-gold-dk))}
h3{font-size:1.14rem;margin:1.5em 0 .35em;color:var(--kp-gold-lt)}
h4{font-size:1rem;margin:1.2em 0 .3em;color:#fff}
p{margin:0 0 1.05em}
a{color:var(--kp-gold-lt);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--kp-amber)}
strong{color:#fff}
img{max-width:100%;height:auto}
ul,ol{padding-inline-start:1.3em}
li{margin:.3em 0}
::selection{background:var(--kp-gold);color:#000}

.kp-wrap{max-width:960px;margin:0 auto;padding:0 18px}

/* ---------- แถบบน ---------- */
.kp-top{background:rgba(51,0,0,.94);backdrop-filter:blur(6px);position:sticky;top:0;z-index:40;border-bottom:1px solid var(--kp-line)}
.kp-top .kp-wrap{display:flex;align-items:center;gap:14px;min-height:58px;flex-wrap:wrap}
.kp-brand{color:#fff;font-size:1.25rem;letter-spacing:1.5px;text-decoration:none;white-space:nowrap}
.kp-brand span{color:var(--kp-gold-lt)}
.kp-brand:hover{color:#fff}
.kp-menu{display:flex;gap:2px 20px;flex-wrap:wrap;margin-inline-start:auto;list-style:none;padding:0;margin-block:0}
.kp-menu a{color:var(--kp-ink-2);text-decoration:none;font-size:.95rem;padding:7px 0;display:inline-block}
.kp-menu a:hover,.kp-menu a[aria-current]{color:#fff;box-shadow:inset 0 -2px 0 var(--kp-gold)}

/* ---------- เมนูแฮมเบอร์เกอร์ (มือถือ) — CSS ล้วน ใช้ checkbox ซ่อน กด Tab+Space ได้ ---------- */
.kp-nav-toggle{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.kp-burger{display:none}

/* ---------- เส้นทางหน้าเว็บ ---------- */
.kp-crumb{font-size:.86rem;color:var(--kp-ink-3);padding:14px 0 0}
.kp-crumb a{color:var(--kp-ink-2)}
.kp-crumb b{color:var(--kp-ink);font-weight:600}

/* ---------- หัวหน้า ---------- */
.kp-hero{position:relative;overflow:hidden;background:radial-gradient(120% 140% at 100% 0%,#7A0A0A 0%,var(--kp-maroon) 38%,var(--kp-bg-2) 75%);border:1px solid var(--kp-line);border-radius:var(--kp-radius);padding:30px 26px;margin:16px 0 30px}
.kp-hero h1{margin-top:0}
.kp-hero p{color:var(--kp-ink-2);margin-bottom:1.2em;max-width:62ch}
.kp-kicker{display:inline-block;font-family:"Sarabun",Sarabun-fb,sans-serif;font-size:.82rem;letter-spacing:1px;color:var(--kp-gold-lt);border:1px solid rgba(255,222,56,.35);border-radius:999px;padding:2px 12px;margin-bottom:.8em}

/* ---------- ปุ่ม ---------- */
.kp-btn{display:inline-block;background:linear-gradient(180deg,#FEDB7C 0%,#FFCE47 52%,#E0A500 100%);color:#000;padding:13px 30px;border-radius:12px;font-weight:700;text-decoration:none;border:0;font-family:"Sarabun",Sarabun-fb,sans-serif;min-height:46px;line-height:1.5;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.kp-btn:hover{background:linear-gradient(180deg,#FFE79E 0%,#FFD766 52%,#F0B412 100%);color:#000}
.kp-btn-ghost{background:none;box-shadow:none;border:1px solid rgba(255,222,56,.6);padding:12px 28px;color:var(--kp-gold-lt)}
.kp-btn-ghost:hover{background:rgba(255,206,71,.14);color:#fff}
.kp-btns{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- ตัวเลขสรุป (เอกลักษณ์ของเว็บนี้) ---------- */
.kp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:24px 0}
.kp-stats div{background:var(--kp-bg-2);border:1px solid var(--kp-line);border-radius:10px;padding:14px 16px}
.kp-stats dt{font-size:.8rem;color:var(--kp-ink-3);margin:0 0 .25em;letter-spacing:.3px}
.kp-stats dd{margin:0;font-family:"Sarabun",Sarabun-fb,sans-serif;font-size:1.08rem;color:#fff}

/* ---------- การ์ด ---------- */
.kp-card{background:var(--kp-bg-2);border:1px solid var(--kp-line);border-radius:var(--kp-radius);padding:18px 20px;margin:20px 0;box-shadow:var(--kp-glow)}
.kp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:20px 0}
.kp-grid .kp-card{margin:0}
.kp-card h3{margin-top:0}
.kp-note{background:rgba(245,185,66,.08);border:1px solid rgba(245,185,66,.3);border-radius:10px;padding:14px 18px;margin:20px 0}
.kp-hint{background:rgba(255,206,71,.1);border:1px solid rgba(255,206,71,.35);border-radius:10px;padding:14px 18px;margin:20px 0}
.kp-note b,.kp-hint b{color:#fff}

/* ---------- ขั้นตอน ---------- */
.kp-steps{list-style:none;padding:0;margin:20px 0;counter-reset:kp}
.kp-steps li{counter-increment:kp;position:relative;padding:4px 0 14px 52px;margin:0}
.kp-steps li::before{content:counter(kp);position:absolute;left:0;top:2px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-family:"Sarabun",Sarabun-fb,sans-serif;font-weight:700;color:#2A1F05;background:var(--kp-gold);border:1px solid var(--kp-gold-lt)}

/* ---------- รูปในเนื้อหา ---------- */
figure.kp-card{margin-inline:0;padding:12px 12px 10px}
figure.kp-card img{display:block;width:100%;height:auto;border-radius:8px}
figure.kp-card figcaption{margin-top:10px;font-size:.88rem;color:var(--kp-ink-3);text-align:left}

/* ---------- ตาราง ---------- */
.kp-scroll{overflow-x:auto;margin:20px 0}
.kp-table{width:100%;border-collapse:collapse;font-size:.95rem;background:var(--kp-bg-2);border:1px solid var(--kp-line);border-radius:var(--kp-radius);overflow:hidden}
.kp-table th{background:var(--kp-maroon);color:var(--kp-gold-lt);text-align:left;padding:11px 13px;font-family:"Sarabun",Sarabun-fb,sans-serif;font-weight:500}
.kp-table td{padding:10px 13px;border-top:1px solid var(--kp-line);color:var(--kp-ink)}
.kp-table tr:nth-child(even) td{background:var(--kp-bg-3)}

/* ---------- สารบัญ ---------- */
.kp-toc{background:var(--kp-bg-2);border:1px solid var(--kp-line);border-top:3px solid var(--kp-gold);border-radius:var(--kp-radius);padding:18px 22px;margin:24px 0}
.kp-toc b{display:block;font-family:"Sarabun",Sarabun-fb,sans-serif;color:#fff;margin-bottom:.5em}
.kp-toc ol{columns:2;column-gap:28px;margin:0;padding-inline-start:1.2em}
.kp-toc li{margin:.3em 0;break-inside:avoid}
.kp-toc a{color:var(--kp-ink-2);text-decoration:none}
.kp-toc a:hover{color:var(--kp-gold-lt);text-decoration:underline}

/* ---------- คำถามที่พบบ่อย ---------- */
.kp-faq{margin:28px 0}
.kp-faq details{background:var(--kp-bg-2);border:1px solid var(--kp-line);border-radius:10px;margin-bottom:10px}
.kp-faq details[open]{border-color:rgba(255,206,71,.55)}
.kp-faq summary{cursor:pointer;padding:14px 18px;font-family:"Sarabun",Sarabun-fb,sans-serif;font-weight:500;color:#fff;list-style:none;position:relative;padding-inline-end:44px}
.kp-faq summary::-webkit-details-marker{display:none}
.kp-faq summary::after{content:"+";position:absolute;inset-inline-end:18px;top:50%;transform:translateY(-52%);font-size:1.35rem;line-height:1;color:var(--kp-gold-lt)}
.kp-faq details[open] summary::after{content:"\2212"}
.kp-faq .kp-ans{padding:0 18px 15px;color:var(--kp-ink-2)}

/* ---------- อ่านต่อ ---------- */
.kp-next{margin:30px 0;padding:18px 22px;background:linear-gradient(135deg,rgba(168,124,0,.22),rgba(51,0,0,0));border:1px solid var(--kp-line);border-radius:var(--kp-radius)}
.kp-next b{font-family:"Sarabun",Sarabun-fb,sans-serif;color:#fff}
.kp-next ul{margin:.55em 0 0}

/* ---------- แถบสมัครล่างจอ ---------- */
.kp-dock{position:fixed;inset-inline:0;bottom:0;z-index:50;background:rgba(51,0,0,.97);border-top:1px solid rgba(255,206,71,.45);padding:9px 14px;display:flex;gap:14px;align-items:center;justify-content:center}
.kp-dock span{color:var(--kp-ink-2);font-size:.92rem}
.kp-dock .kp-btn{padding:10px 26px;min-height:42px}

/* ---------- ท้ายเว็บ ---------- */
.kp-foot{background:#230000;color:var(--kp-ink-3);margin-top:48px;padding:30px 0 20px;font-size:.92rem;border-top:1px solid var(--kp-line)}
.kp-foot a{color:var(--kp-ink-2);text-decoration:none}
.kp-foot a:hover{color:var(--kp-gold-lt)}
.kp-foot h4{color:#fff;margin:0 0 .6em;font-size:1rem}
.kp-foot ul{list-style:none;padding:0;margin:0}
.kp-foot li{margin:.3em 0}
.kp-foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:26px}
.kp-foot p{margin:0 0 .8em}
.kp-age{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.86rem}
.kp-age span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;border:2px solid var(--kp-amber);color:var(--kp-amber);font-family:"Sarabun",Sarabun-fb,sans-serif;font-weight:600;font-size:.82rem}
.kp-pay{display:flex;flex-wrap:wrap;gap:6px}
.kp-pay li{margin:0;padding:4px 10px;border:1px solid var(--kp-line);border-radius:999px;background:var(--kp-bg-2);color:var(--kp-ink-2);font-size:.82rem}
.kp-foot-small{font-size:.8rem;margin-top:.7em}
.kp-contact li{margin:.45em 0;font-size:.88rem}
.kp-contact b{display:block;color:var(--kp-ink);font-weight:600}
.kp-share-h{margin-top:1em}
.kp-share{display:flex;gap:8px}
.kp-share a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--kp-line);background:var(--kp-bg-2);color:var(--kp-ink-2)}
.kp-share a:hover{color:#fff;border-color:var(--kp-gold);background:var(--kp-maroon)}
.kp-foot-legal{border-top:1px solid var(--kp-line);margin-top:22px;padding-top:15px;font-size:.84rem;color:#BDC3D1}

/* ---------- หน้าไม่พบ ---------- */
.kp-404{text-align:center;padding:48px 0}
.kp-404 .kp-big{font-family:"Sarabun",Sarabun-fb,sans-serif;font-size:4.4rem;line-height:1;background:linear-gradient(135deg,var(--kp-gold-lt),var(--kp-amber));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- ป้าย ---------- */
.kp-pill{display:inline-block;background:var(--kp-gold);color:#2A1F05;font-size:.79rem;padding:3px 12px;border-radius:999px;font-family:"Sarabun",Sarabun-fb,sans-serif}
.kp-pill-alt{background:rgba(245,185,66,.18);color:var(--kp-amber)}

/* ---------- จอเล็ก ---------- */
@media(max-width:820px){
  body{font-size:16px}
  h1{font-size:1.58rem}
  h2{font-size:1.24rem}
  .kp-top .kp-wrap{min-height:56px;row-gap:0}
  .kp-burger{display:flex;align-items:center;justify-content:center;margin-inline-start:auto;width:44px;height:44px;border:1px solid var(--kp-line);border-radius:10px;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .kp-burger span,.kp-burger span::before,.kp-burger span::after{display:block;width:20px;height:2px;border-radius:2px;background:#fff;transition:transform .2s,background .2s}
  .kp-burger span{position:relative}
  .kp-burger span::before,.kp-burger span::after{content:"";position:absolute;left:0}
  .kp-burger span::before{top:-6px}
  .kp-burger span::after{top:6px}
  .kp-nav-toggle:checked + .kp-burger{border-color:var(--kp-gold)}
  .kp-nav-toggle:checked + .kp-burger span{background:transparent}
  .kp-nav-toggle:checked + .kp-burger span::before{transform:translateY(6px) rotate(45deg)}
  .kp-nav-toggle:checked + .kp-burger span::after{transform:translateY(-6px) rotate(-45deg)}
  .kp-nav-toggle:focus-visible + .kp-burger{outline:2px solid var(--kp-gold-lt);outline-offset:2px}
  .kp-menu{display:none;width:100%;margin-inline-start:0;flex-direction:column;gap:0;padding:4px 0 10px}
  .kp-nav-toggle:checked ~ .kp-menu{display:flex}
  .kp-menu a{display:block;padding:12px 4px;font-size:1rem;border-top:1px solid var(--kp-line)}
  .kp-menu a:hover{box-shadow:none;color:var(--kp-gold-lt)}
  .kp-hero{padding:22px 18px}
  .kp-btn,.kp-btns .kp-btn{width:100%;text-align:center}
  .kp-toc ol{columns:1}
  .kp-dock span{display:none}
  .kp-dock .kp-btn{width:100%}
}
@media(max-width:520px){
  .kp-404 .kp-big{font-size:3.3rem}
  .kp-steps li{padding-left:46px}
}
.kp-dock .kp-dock-login{color:var(--kp-gold-lt);background:#330000}
@media(max-width:820px){.kp-dock{gap:8px;padding:9px 12px}.kp-dock .kp-btn{flex:1 1 0;width:auto;padding:10px 8px;white-space:nowrap}}
.kp-hero-img{display:block;width:100%;height:auto;aspect-ratio:1200/360;background:#420000}
a.kp-btn[href^="/go/"]{position:relative;overflow:hidden;isolation:isolate}
a.kp-btn[href^="/go/"]::after{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.65) 50%,transparent 100%);transform:translateX(-150%) skewX(-20deg);animation:kp-shine 3.6s ease-in-out infinite;pointer-events:none}
.kp-dock a.kp-btn[href^="/go/"]::after{animation-delay:1.8s}
@keyframes kp-shine{0%,62%{transform:translateX(-150%) skewX(-20deg)}100%{transform:translateX(360%) skewX(-20deg)}}
@media(prefers-reduced-motion:reduce){a.kp-btn[href^="/go/"]::after{animation:none;display:none}}
.kp-brand{display:inline-flex;align-items:center}
.kp-brand img{display:block;height:46px;width:auto}
.kp-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 0}
.kp-cat{display:block;border-radius:12px;overflow:hidden;border:1px solid rgba(255,222,56,.35);box-shadow:0 6px 16px rgba(0,0,0,.35);transition:transform .15s,border-color .15s,box-shadow .15s}
.kp-cat:hover,.kp-cat:focus-visible{transform:translateY(-2px);border-color:var(--kp-gold-lt);box-shadow:0 10px 22px rgba(0,0,0,.45)}
.kp-cat:focus-visible{outline:2px solid var(--kp-gold-lt);outline-offset:2px}
.kp-cat img{display:block;width:100%;height:auto}
@media(max-width:620px){.kp-cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media(prefers-reduced-motion:reduce){.kp-cat{transition:none}.kp-cat:hover{transform:none}}
