@charset "UTF-8";
/* ท้ายเว็บกลาง — CSS ชุดเดียวของ partials/footer.html (คู่กับ header.css)
   หน้าขายทุกหน้า (deploy.mjs เติมลิงก์ให้) และหน้าเครื่องมือ /promotion-planner (Worker แยก) โหลดไฟล์นี้จาก /partials/footer.css
   ห้ามพึ่งตัวแปรของ site.css — โทเคนประกาศไว้บน .footer เอง · ย้ายออกจาก site.css + v2.css 4 พ.ย. 2026 (เจ้าของสั่งให้ทุกหน้ามีท้ายเว็บ)
   ห้ามเปลี่ยนชื่อ class โดยไม่บอกเซสชัน promotion-planner-ai */
.footer {
  --ft-ink: #151833; --ft-red: #d6312b; --ft-max: 1240px; --ft-gutter: clamp(16px, 4vw, 40px);
  --ft-display: "Kanit", "IBM Plex Sans Thai", sans-serif; --ft-body: "IBM Plex Sans Thai", "Noto Sans Thai", sans-serif;
  --ft-hand: "Sriracha", "IBM Plex Sans Thai", cursive;
  background: var(--ft-ink); color: #c9cde0; padding: 70px 0 0; overflow: hidden; border-radius: 32px 32px 0 0;
  font: 400 17px/1.7 var(--ft-body);
}
.footer .wrap { width: min(var(--ft-max), 100% - 2 * var(--ft-gutter)); margin-inline: auto; }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 30px; }
.footer__grid img { display: block; height: 44px; width: auto; }
.footer__grid p { margin: 14px 0 0; font-size: 14px; max-width: 280px; }
.footer h4 { margin: 0 0 12px; font: 600 14px var(--ft-body); color: #fff; }
.footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 14px; }
.footer a { color: inherit; text-decoration: none; }
.footer a:hover { color: #fff; }
.footer__social a { display: inline-flex; align-items: center; gap: 8px; }
/* ป้ายวิ่งท้ายเว็บ "เว็บนี้ดี ค้าขายร่ำรวย" — เต็มจอ (ออกนอก .wrap) · CSS ล้วน ไม่พึ่ง GSAP */
.fmq { margin: 56px calc(50% - 50vw) 0; padding: 18px 0 26px; overflow: hidden; user-select: none; }
.fmq__track { display: flex; width: max-content; animation: fmq 38s linear infinite; }
.fmq:hover .fmq__track { animation-play-state: paused; }
.fmq__group { display: flex; align-items: center; flex: none; }
.fmq__w { font: 600 clamp(40px, 6.4vw, 100px)/1.3 var(--ft-display); letter-spacing: -.03em; color: transparent; -webkit-text-stroke: 1.5px rgba(233, 236, 248, .28); padding: .12em 0; }
.fmq__t { font: 400 clamp(40px, 6.4vw, 100px)/1.3 var(--ft-hand); color: #fff; margin-left: .35em; padding: .15em 0; }
.fmq__dot { font-size: clamp(26px, 3.6vw, 54px); color: var(--ft-red); margin: 0 .7em; }
@keyframes fmq { to { transform: translateX(-50%); } }
.footer__legal { display: flex; justify-content: space-between; gap: 20px; font-size: 13px; padding: 18px 0 26px; border-top: 1px solid rgba(233, 236, 248, .1); }
@media (max-width: 960px) { .footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .footer__legal { flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { .fmq__track { animation: none; } }
