/* ปุ่มลอย LINE ติดต่อ (มุมล่างขวา) — ธีม topone
 * ตำแหน่งปรับได้ด้วยตัวแปรบน element: --scf-b-m = ระยะจากขอบล่างบนมือถือ, --scf-b-d = บนจอใหญ่ (≥1024px)
 * ค่า default วางไว้เหนือปุ่ม CONTACT เดิม (ซึ่งอยู่ bottom 20px + เลื่อนขึ้น 48px บนมือถือ) */
.site-contact-fab {
  --scf-size: 56px;
  position: fixed;
  right: max(12px, env(safe-area-inset-right));
  bottom: calc(var(--scf-b-m, 140px) + env(safe-area-inset-bottom, 0px));
  z-index: 30;
  width: var(--scf-size);
  height: var(--scf-size);
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #06C755;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .35), 0 0 0 2px rgba(255, 255, 255, .15);
  transition: transform .18s ease, box-shadow .18s ease;
  -webkit-tap-highlight-color: transparent;
}
.site-contact-fab:hover,
.site-contact-fab:focus-visible {
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .4), 0 0 0 3px rgba(6, 199, 85, .35);
  outline: none;
}
.site-contact-fab:active { transform: scale(.96); }
.site-contact-fab .scf-icon { width: 34px; height: 34px; display: block; }
@media (min-width: 1024px) {
  .site-contact-fab { bottom: calc(var(--scf-b-d, 24px) + env(safe-area-inset-bottom, 0px)); right: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-contact-fab { transition: none; }
}
