/* ปุ่มติดต่อลอย (แทน kc.fab เดิม) */
.contact-dock { position: fixed; right: 18px; bottom: 18px; z-index: 1040; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; font-family: 'Kanit', sans-serif; }
.contact-dock__item { --dock: #0468bf; display: flex; align-items: center; gap: 10px; padding: 6px 16px 6px 6px; border-radius: 999px; text-decoration: none !important;
	background: rgba(255,255,255,.92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	box-shadow: 0 8px 24px rgba(16,24,40,.14), 0 0 0 1px rgba(16,24,40,.05); color: #1d2b3a; transition: transform .2s ease, box-shadow .2s ease;
	animation: dock-in .45s cubic-bezier(.2,.8,.2,1) both; }
.contact-dock__item:nth-child(2) { animation-delay: .05s; } .contact-dock__item:nth-child(3) { animation-delay: .1s; }
.contact-dock__item:nth-child(4) { animation-delay: .15s; } .contact-dock__item:nth-child(5) { animation-delay: .2s; }
.contact-dock__item:hover, .contact-dock__item:focus-visible { transform: translateX(-4px); box-shadow: 0 12px 28px rgba(16,24,40,.2), 0 0 0 2px var(--ring, #0468bf); color: #1d2b3a; }
.contact-dock__icon { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-size: 19px; background: var(--dock); flex: 0 0 auto; }
.contact-dock__text { display: flex; flex-direction: column; line-height: 1.2; }
.contact-dock__title { font-size: 12px; color: #667085; }
.contact-dock__sub { font-size: 15px; font-weight: 500; letter-spacing: .2px; }
.contact-dock__short { display: none; }
.fab-tel { --dock: linear-gradient(135deg, #ff9a2e, #ff6a00); --ring: #ff7a00; }
.fab-line { --dock: #06c755; --ring: #06c755; }
.fab-msg { --dock: linear-gradient(135deg, #00b2ff, #a033ff 70%, #ff5c87); --ring: #7b3cff; }
.fab-tel .contact-dock__icon { animation: dock-ring 2.4s ease-in-out infinite; }
@keyframes dock-in { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: none; } }
@keyframes dock-ring { 0%, 70%, 100% { transform: rotate(0); } 75% { transform: rotate(-14deg); } 80% { transform: rotate(14deg); } 85% { transform: rotate(-10deg); } 90% { transform: rotate(8deg); } }

/* มือถือ: แถบติดต่อด้านล่างจอ เห็นครบทุกช่องทาง */
@media (max-width: 767px) {
	body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
	.contact-dock { left: 0; right: 0; bottom: 0; flex-direction: row; gap: 0; align-items: stretch;
		padding: 6px 6px calc(6px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.96); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
		box-shadow: 0 -6px 20px rgba(16,24,40,.12); }
	.contact-dock__item { flex: 1 1 0; flex-direction: column; gap: 3px; padding: 4px 2px; border-radius: 12px; background: none; box-shadow: none; animation: none; min-width: 0; }
	.contact-dock__item:hover, .contact-dock__item:focus-visible { transform: none; box-shadow: none; background: rgba(4,104,191,.06); }
	.contact-dock__icon { width: 36px; height: 36px; font-size: 17px; }
	.contact-dock__text { display: none; }
	.contact-dock__short { display: block; font-size: 12px; color: #344054; }
}
@media (prefers-reduced-motion: reduce) { .contact-dock__item, .fab-tel .contact-dock__icon { animation: none; } }
