/* ช่างตั้ม รั้วสวย — Modern Thai Blessing (น้ำเงิน · ทอง · พาสเทล) */
:root{
  --navy:#0E2A5C; --navy-2:#173B7D; --navy-3:#2E56A6;
  --gold:#B98D2E; --gold-2:#D9AE4C; --gold-3:#F2DCA1; --gold-bg:#FBF3E0;
  --sky:#EDF3FD; --sky-2:#DCE7FA; --cream:#FDF8ED; --mint:#E9F5F0; --blush:#FBEEF0;
  --ink:#161D2B; --body:#37415A; --muted:#6B7488; --line:#E1E8F5;
  --white:#fff; --radius:18px; --shadow:0 4px 20px rgba(14,42,92,.08);
  --wrap:1060px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Sarabun,system-ui,sans-serif;font-size:16.5px;line-height:1.78;
  color:var(--body);background:var(--sky);-webkit-text-size-adjust:100%;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy-2);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--gold-2);outline-offset:2px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
h1,h2,h3,h4{font-family:Kanit,Sarabun,sans-serif;color:var(--navy);line-height:1.34;font-weight:600}
h1{font-size:clamp(25px,4.4vw,40px);font-weight:700;letter-spacing:-.4px}
h2{font-size:clamp(20px,3vw,27px);margin-bottom:6px}
h3{font-size:clamp(17px,2.2vw,20px)}
p{margin:0 0 12px}
ul,ol{margin:0 0 12px 1.15em}
li{margin-bottom:5px}
strong,b{color:var(--navy)}

/* ── หัวเว็บ ── */
.site-head{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);box-shadow:0 1px 14px rgba(14,42,92,.06)}
.bar{max-width:var(--wrap);margin:0 auto;padding:9px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;flex:0 0 auto}
.brand img{width:44px;height:44px;border-radius:11px;object-fit:contain;background:var(--white);
  border:1px solid var(--gold-3);padding:2px}
.brand span{display:flex;flex-direction:column;line-height:1.15}
.brand b{font-family:Kanit;font-size:19px;color:var(--navy);font-weight:700}
.brand i{font-style:normal;font-size:12.5px;color:var(--gold);font-weight:600;letter-spacing:.6px}
.mainnav{display:flex;gap:2px;margin-left:auto;flex-wrap:wrap}
.mainnav a{font-size:14.5px;font-weight:600;color:var(--body);padding:7px 11px;border-radius:9px;text-decoration:none}
.mainnav a:hover{background:var(--sky);color:var(--navy)}
.mainnav a.on{background:var(--navy);color:#fff}
.head-call{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#fff;font-weight:700;
  font-size:14.5px;padding:9px 16px;border-radius:30px;white-space:nowrap;text-decoration:none;
  box-shadow:0 3px 12px rgba(185,141,46,.32)}
.head-call:hover{text-decoration:none;filter:brightness(1.05)}
.burger{display:none;margin-left:auto;background:var(--sky);border:1px solid var(--line);
  color:var(--navy);font-size:20px;padding:5px 12px;border-radius:9px;cursor:pointer}

/* ── เบรดครัมบ์ ── */
.crumb{background:var(--white);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.crumb .wrap{padding-top:9px;padding-bottom:9px;white-space:nowrap;overflow-x:auto}
.crumb .sep{color:var(--gold)}
.crumb span:last-child{color:var(--navy);font-weight:600}

/* ── ฮีโร่ ── */
.hero{background:linear-gradient(150deg,var(--navy) 0%,var(--navy-2) 52%,#0B2350 100%);
  color:#fff;position:relative;overflow:hidden;padding:34px 0 30px}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:4px;
  background:linear-gradient(90deg,var(--gold),var(--gold-3),var(--gold))}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:center}
.hero h1{color:#fff;margin-bottom:12px}
.hero h1 em{font-style:normal;color:var(--gold-3);display:block}
.hero .sub{color:#C9D8F2;font-size:16.5px;margin-bottom:16px}
.hero-pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.hero-pills span{background:rgba(255,255,255,.1);border:1px solid rgba(242,220,161,.34);
  color:var(--gold-3);font-size:13px;font-weight:600;padding:5px 12px;border-radius:20px}
.hero-img{border-radius:var(--radius);overflow:hidden;border:3px solid rgba(242,220,161,.5);
  box-shadow:0 14px 40px rgba(0,0,0,.35)}
.hero-img img{width:100%;height:290px;object-fit:cover}
.hero-btns{display:flex;flex-wrap:wrap;gap:10px}

/* ── ปุ่ม ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:Kanit,sans-serif;
  font-weight:600;font-size:16px;padding:12px 24px;border-radius:32px;text-decoration:none;border:0;
  cursor:pointer;transition:transform .16s ease,filter .16s ease}
.btn:hover{transform:translateY(-2px);text-decoration:none;filter:brightness(1.05)}
.btn.big{font-size:17px;padding:14px 30px}
.btn.full{width:100%}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#fff;
  box-shadow:0 5px 18px rgba(185,141,46,.35)}
.btn-call{background:linear-gradient(135deg,#0E2A5C,#2E56A6);color:#fff;box-shadow:0 5px 18px rgba(14,42,92,.35)}
.btn-line{background:linear-gradient(135deg,#00A63C,#06C755);color:#fff;box-shadow:0 5px 18px rgba(6,199,85,.32)}
.btn-ghost{background:var(--white);color:var(--navy);border:2px solid var(--gold-3)}

/* ── การ์ด/เลย์เอาต์ ── */
main{padding:22px 0 8px}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;margin:0 auto 18px;max-width:var(--wrap);box-shadow:var(--shadow)}
.card>h2{position:relative;padding-bottom:11px;margin-bottom:12px}
.card>h2::after{content:"";position:absolute;left:0;bottom:0;width:74px;height:3px;border-radius:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-3))}
.lead{color:var(--muted);margin-bottom:16px}
.tiny{font-size:12.5px;color:var(--muted);margin:10px 0 0}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(184px,1fr))}

/* ── กล่องตอบตรงประเด็น (AI answer box) ── */
.answer{background:linear-gradient(135deg,var(--gold-bg),#fff);border:1px solid var(--gold-3);
  border-left:5px solid var(--gold);border-radius:14px;padding:16px 18px;margin-bottom:16px}
.answer p:last-child{margin-bottom:0}
.answer .q{font-family:Kanit;font-weight:600;color:var(--navy);display:block;margin-bottom:4px}

/* ── รูป ── */
.imglink{display:block;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--sky-2)}
.imglink img{width:100%;height:210px;object-fit:cover;transition:transform .4s ease}
.imglink:hover img{transform:scale(1.045)}
.figrow{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin:14px 0}
figure figcaption{font-size:13px;color:var(--muted);padding-top:7px;text-align:center}
.wide .imglink img{height:260px}

/* ── การ์ดประเภทรั้ว ── */
.fcard{background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s}
.fcard:hover{box-shadow:0 10px 30px rgba(14,42,92,.13);border-color:var(--gold-3)}
.fcard .imglink{border:0;border-radius:0}
.fcard .imglink img{height:172px}
.fcard-b{padding:14px 15px 16px;display:flex;flex-direction:column;flex:1}
.fcard h3{margin-bottom:5px;font-size:18px}
.fcard p{font-size:14.5px;color:var(--body);margin-bottom:11px;flex:1}
.fprice{display:inline-block;background:var(--sky);color:var(--navy);font-weight:700;font-size:14px;
  border:1px solid var(--sky-2);border-radius:20px;padding:4px 13px;margin-bottom:11px;align-self:flex-start}
.fcard .more{font-family:Kanit;font-weight:600;font-size:14.5px;color:var(--gold)}

/* ── จุดเด่น ── */
.why{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(212px,1fr))}
.why div{background:var(--sky);border:1px solid var(--sky-2);border-radius:14px;padding:15px}
.why div:nth-child(2){background:var(--cream);border-color:var(--gold-3)}
.why div:nth-child(3){background:var(--mint);border-color:#CFE7DD}
.why div:nth-child(4){background:var(--blush);border-color:#F2D7DC}
.why b{display:block;font-family:Kanit;font-size:16px;margin-bottom:3px}
.why span{font-size:14px;color:var(--body)}

/* ── ตาราง ── */
.tablewrap{overflow-x:auto;border-radius:14px;border:1px solid var(--line)}
table{width:100%;border-collapse:collapse;font-size:15px;background:#fff;min-width:520px}
caption{caption-side:top;text-align:left;font-size:13.5px;color:var(--muted);padding:10px 12px;background:var(--sky)}
th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
thead th{background:var(--navy);color:#fff;font-family:Kanit;font-weight:600;font-size:14.5px;border-bottom:0}
tbody th{font-weight:700;color:var(--navy);white-space:nowrap}
tbody tr:nth-child(even){background:#FAFCFF}
td.num{font-weight:700;color:var(--gold);white-space:nowrap}
td.fit{font-size:14px;color:var(--muted)}
.spec th{width:38%;background:var(--sky);color:var(--navy)}

/* ── เครื่องคำนวณ ── */
.calc{background:linear-gradient(150deg,#fff,var(--sky))}
.calc-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));margin-bottom:14px}
.calc-grid label{font-family:Kanit;font-size:14px;font-weight:600;color:var(--navy);display:flex;flex-direction:column;gap:5px}
.calc-grid select,.calc-grid input{font-family:Sarabun;font-size:15.5px;padding:11px 13px;border-radius:11px;
  border:1.5px solid var(--sky-2);background:#fff;color:var(--ink);width:100%}
.calc-grid select:focus,.calc-grid input:focus{border-color:var(--gold-2);outline:none}
.calc-res{margin-top:16px;background:#fff;border:2px solid var(--gold-2);border-radius:16px;padding:17px}
.calc-res .big-num{font-family:Kanit;font-size:clamp(24px,5vw,34px);font-weight:700;color:var(--gold);line-height:1.25}
.calc-res table{min-width:0;font-size:14.5px}
.calc-res th,.calc-res td{padding:7px 4px;border-bottom:1px dashed var(--line)}
.calc-res th{background:none;color:var(--muted);font-weight:400;font-family:Sarabun;width:46%}
.calc-note{background:var(--gold-bg);border-radius:10px;padding:10px 12px;font-size:13px;color:#7A5B12;margin-top:12px}
.calc-btns{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}

/* ── FAQ ── */
.faqs details{background:var(--sky);border:1px solid var(--sky-2);border-radius:13px;margin-bottom:9px;overflow:hidden}
.faqs details[open]{background:#fff;border-color:var(--gold-3)}
.faqs summary{cursor:pointer;font-family:Kanit;font-weight:600;font-size:16px;color:var(--navy);
  padding:13px 44px 13px 15px;position:relative;list-style:none}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);
  color:var(--gold);font-size:22px;font-weight:400;line-height:1}
.faqs details[open] summary::after{content:"−"}
.faqs .ans{padding:0 15px 14px;font-size:15.5px}
.faqs .ans p{margin:0}

/* ── รีวิว ── */
.rv-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(268px,1fr))}
.rv{background:var(--cream);border:1px solid var(--gold-3);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.rv .imglink{border:0;border-radius:0}
.rv .imglink img{height:186px}
.rv figcaption{padding:13px 15px 15px;text-align:left}
.stars{color:var(--gold-2);font-size:16px;letter-spacing:2px}
.rv blockquote{font-size:14.5px;color:var(--body);margin:6px 0 10px;line-height:1.7}
.rv-who b{display:block;font-family:Kanit;font-size:15px;color:var(--navy)}
.rv-who span{font-size:12.5px;color:var(--muted)}

/* ── ขั้นตอน ── */
.steps{counter-reset:s;display:grid;gap:11px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin:0;list-style:none}
.steps li{counter-increment:s;background:var(--sky);border:1px solid var(--sky-2);border-radius:14px;
  padding:15px 15px 15px 56px;position:relative;margin:0;font-size:14.5px}
.steps li::before{content:counter(s);position:absolute;left:14px;top:14px;width:30px;height:30px;
  background:linear-gradient(135deg,var(--navy),var(--navy-3));color:#fff;border-radius:50%;
  font-family:Kanit;font-weight:600;display:flex;align-items:center;justify-content:center;font-size:15px}
.steps b{display:block;font-family:Kanit;font-size:15.5px;margin-bottom:2px}

/* ── ปุ่มแนะนำช่างใกล้คุณ ── */
.hub{background:linear-gradient(135deg,var(--gold-bg),var(--cream));border-top:1px solid var(--gold-3);
  border-bottom:1px solid var(--gold-3);padding:20px 0;margin-top:22px}
.hub-in{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.hub-txt b{display:block;font-family:Kanit;font-size:18px;color:var(--navy)}
.hub-txt span{font-size:14.5px;color:var(--body)}

/* ── CTA ── */
.cta{background:linear-gradient(140deg,var(--navy),var(--navy-2));color:#fff;padding:30px 0;
  text-align:center;border-radius:var(--radius);max-width:var(--wrap);margin:0 auto 18px}
.cta h2{color:#fff}
.cta p{color:#C9D8F2;max-width:640px;margin:6px auto 16px}
.cta-btns{display:flex;gap:11px;justify-content:center;flex-wrap:wrap}
.cta-note{color:var(--gold-3);font-size:13.5px;margin-top:14px}

/* ── ลิงก์พื้นที่ ── */
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chips a,.chips span{background:var(--sky);border:1px solid var(--sky-2);border-radius:22px;
  padding:5px 13px;font-size:13.5px;color:var(--navy-2);font-weight:600;text-decoration:none}
.chips a:hover{background:var(--gold-bg);border-color:var(--gold-3);text-decoration:none}
.chips span{background:#fff;color:var(--muted);font-weight:400}
.linkgrid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}
.linkgrid a{background:var(--sky);border:1px solid var(--sky-2);border-radius:11px;padding:9px 12px;
  font-size:14px;font-weight:600;color:var(--navy-2);text-decoration:none}
.linkgrid a:hover{background:var(--gold-bg);border-color:var(--gold-3);text-decoration:none}
.related{background:var(--cream);border:1px dashed var(--gold-2);border-radius:14px;padding:14px 16px;font-size:14.5px}
.related a{font-weight:600;color:var(--gold);margin-right:4px}

/* ── ท้ายเว็บ ── */
.site-foot{background:var(--navy);color:#B9C9E6;padding:30px 0 90px;font-size:14.5px}
.foot-grid{display:grid;gap:22px;grid-template-columns:1.4fr 1fr 1fr}
.site-foot h3{color:var(--gold-3);font-size:16px;margin-bottom:9px}
.site-foot ul{list-style:none;margin:0}
.site-foot a{color:#CBD9F0;text-decoration:none}
.site-foot a:hover{color:var(--gold-3)}
.foot-brand img{border-radius:12px;background:#fff;padding:3px;margin-bottom:9px}
.fb-name{font-family:Kanit;font-size:18px;color:#fff;font-weight:600;margin-bottom:5px}
.fb-desc{font-size:14px;color:#A9BBDC}
.fb-line{font-size:14.5px;margin-bottom:3px}
.foot-end{border-top:1px solid rgba(255,255,255,.13);margin-top:20px;padding-top:14px;font-size:12.5px;color:#8FA3C9}

/* ── แถบล่างมือถือ ── */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;gap:1px;background:rgba(14,42,92,.2)}
.dk{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:9px 4px;
  text-decoration:none;color:#fff;line-height:1.3}
.dk b{font-family:Kanit;font-size:15px;font-weight:600}
.dk span{font-size:11px;opacity:.9}
.dk-call{background:linear-gradient(135deg,var(--navy),var(--navy-3))}
.dk-line{background:linear-gradient(135deg,#00A63C,#06C755)}

@media(max-width:900px){
  .hero-in{grid-template-columns:1fr}
  .hero-img img{height:225px}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  body{font-size:16px}
  .burger{display:block}
  .mainnav{display:none;width:100%;order:5;flex-direction:column;gap:0;padding-top:6px}
  .mainnav.open{display:flex}
  .mainnav a{padding:11px 10px;border-bottom:1px solid var(--line);border-radius:0}
  .head-call{display:none}
  .dock{display:flex}
  .card{padding:17px;border-radius:15px}
  .foot-grid{grid-template-columns:1fr}
  .cta{border-radius:0}
  .imglink img{height:180px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ── ปุ่มสลับโหมดในเครื่องคำนวณ ── */
.modes{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.mode{font-family:Kanit,sans-serif;font-size:15px;font-weight:600;padding:10px 20px;border-radius:30px;
  border:1.5px solid var(--sky-2);background:#fff;color:var(--body);cursor:pointer;transition:all .18s}
.mode:hover{border-color:var(--gold-2)}
.mode.on{background:var(--navy);border-color:var(--navy);color:#fff}
