.taxi-support{position:fixed;right:24px;bottom:24px;z-index:70;opacity:0;transform:translateY(14px);visibility:hidden;transition:opacity .35s ease,transform .35s ease}.taxi-support.is-visible{opacity:1;transform:none;visibility:visible}.taxi-support__link{display:flex;align-items:center;gap:12px;text-decoration:none;color:#123452}.taxi-support__link img{width:64px;height:64px;border-radius:50%;border:3px solid #fff;box-shadow:0 5px 20px #082d5430;object-fit:cover}.taxi-support__message{position:relative;display:block;background:#fff;border:1px solid #dce9e5;border-radius:16px;padding:12px 18px;box-shadow:0 6px 24px #082d541a;animation:support-message-in .45s .5s both}.taxi-support__message small{display:block;font-size:12px;color:#526b75;margin-bottom:3px}.taxi-support__message strong{display:block;font-size:14px;color:#08743e}.taxi-support__close{position:absolute;right:76px;top:-16px;z-index:1;border:1px solid #d9e3ec;border-radius:50%;background:white;color:#526b75;width:28px;height:28px;font-size:20px;line-height:1;cursor:pointer}.taxi-support.is-collapsed .taxi-support__message,.taxi-support.is-collapsed .taxi-support__close{display:none}.taxi-support a:focus-visible,.taxi-support button:focus-visible{outline:3px solid #006ce4;outline-offset:4px}.taxi-support.is-obscured{visibility:hidden;opacity:0;pointer-events:none}@keyframes support-message-in{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}@media(max-width:767px){.taxi-support{right:12px;bottom:calc(100px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}.taxi-support__link{gap:8px}.taxi-support__link img{width:52px;height:52px}.taxi-support__message{padding:10px 12px}.taxi-support__message strong{font-size:13px}.taxi-support__close{right:60px;width:32px;height:32px}.taxi-support__message small{font-size:11px}}@media(prefers-reduced-motion:reduce){.taxi-support{transition:none;transform:none}.taxi-support__message{animation:none}}
.taxi-support__link img{flex-shrink:0}
@media(max-width:767px){
  /* Keep the embroidered chest logo inside the mobile portrait. */
  .taxi-support__link img{width:64px;height:64px;border-radius:16px}
  .taxi-support__message{min-width:0;max-width:calc(100vw - 112px)}
  .taxi-support__close{right:72px;width:44px;height:44px;top:-30px}
}

/* มือถือ: ไม่มีแถบ Book Now ติดล่างแล้ว → ป้าย WhatsApp ลงมาชิดขอบล่างจอ */
@media(max-width:767px){
  .taxi-support{bottom:calc(14px + env(safe-area-inset-bottom));}
}

/* ═══ ป้าย WhatsApp ลอย — จัดสไตล์ใหม่: กล่องข้อความมีหางชี้ไปที่รูป, รูปกลมมีจุดเขียว "ออนไลน์",
   ปุ่ม × เล็ก ๆ อยู่มุมบนขวาของรูป (ไม่ลอยอยู่กลางอากาศ) ═══ */
.taxi-support{--ts-avatar:60px}
.taxi-support__link{position:relative;align-items:flex-end;gap:10px}
.taxi-support__link img{width:var(--ts-avatar)!important;height:var(--ts-avatar)!important;border-radius:50%!important;border:2.5px solid #fff;box-shadow:0 6px 18px rgba(8,45,84,.28)}
.taxi-support__link::after{content:"";position:absolute;right:3px;bottom:4px;width:13px;height:13px;border-radius:50%;background:#22c55e;border:2px solid #fff;box-shadow:0 0 0 2px rgba(34,197,94,.25)}
.taxi-support__message{position:relative;margin-bottom:6px;padding:11px 14px;border:1px solid #dbe6f2;border-radius:16px 16px 4px 16px;box-shadow:0 10px 26px -10px rgba(8,45,84,.35)}
.taxi-support__message::after{content:"";position:absolute;right:-6px;bottom:10px;width:12px;height:12px;background:#fff;border-right:1px solid #dbe6f2;border-bottom:1px solid #dbe6f2;transform:rotate(-45deg)}
.taxi-support__message small{font-size:11.5px;color:#5b7089;font-weight:600;margin-bottom:2px}
.taxi-support__message strong{font-size:14px;color:#0b7a3b;font-weight:800;white-space:nowrap}
.taxi-support__close{top:auto;bottom:calc(var(--ts-avatar) - 10px);right:-4px;width:22px;height:22px;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;border:1.5px solid #dbe6f2;background:#fff;color:#5b7089;box-shadow:0 2px 8px rgba(8,45,84,.18)}
.taxi-support__close:hover{background:#f1f5f9;color:#0b2b5b}
@media(max-width:767px){
  .taxi-support{--ts-avatar:56px;right:12px}
  .taxi-support__link{gap:9px}
  .taxi-support__message{max-width:calc(100vw - 110px)}
  .taxi-support__close{width:24px;height:24px;font-size:16px;top:auto;right:-4px;bottom:calc(var(--ts-avatar) - 10px)}
}

/* ═══ อนิเมชัน "พนักงานทัก": รูปเด้งขึ้นมา → กล่องมีจุด … กำลังพิมพ์ → ข้อความโผล่ → พยักหน้า/กล่องขยับเบา ๆ เป็นระยะ ═══ */
.taxi-support.is-visible .taxi-support__link img{animation:ts-pop .5s cubic-bezier(.2,.9,.3,1.4) both,ts-nod 6s ease-in-out 3s infinite;transform-origin:50% 90%}
.taxi-support.is-visible .taxi-support__message{animation:ts-bubble .45s .35s cubic-bezier(.2,.9,.3,1.3) both,ts-nudge 6s ease-in-out 4s infinite;transform-origin:100% 100%}
.taxi-support__message small,.taxi-support__message strong{opacity:0}
.taxi-support.is-visible .taxi-support__message small{animation:ts-text .35s 2.05s ease both}
.taxi-support.is-visible .taxi-support__message strong{animation:ts-text .35s 2.2s ease both}
.taxi-support__message::before{content:"";position:absolute;left:18px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:#94a3b8;box-shadow:13px 0 0 #94a3b8,26px 0 0 #94a3b8;opacity:0;pointer-events:none}
.taxi-support.is-visible .taxi-support__message::before{animation:ts-dots 1.75s .45s both,ts-typing .55s ease-in-out .5s 3}
.taxi-support.is-visible .taxi-support__link::after{animation:ts-online 2.4s ease-in-out 2.5s infinite}
@keyframes ts-pop{from{transform:scale(.3) translateY(10px);opacity:0}to{transform:none;opacity:1}}
@keyframes ts-bubble{from{opacity:0;transform:scale(.55) translateY(6px)}to{opacity:1;transform:none}}
@keyframes ts-text{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes ts-dots{0%{opacity:0}12%{opacity:1}82%{opacity:1}100%{opacity:0}}
@keyframes ts-typing{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes ts-nod{0%,84%,100%{transform:rotate(0)}88%{transform:rotate(-7deg)}92%{transform:rotate(6deg)}96%{transform:rotate(-3deg)}}
@keyframes ts-nudge{0%,88%,100%{transform:none}92%{transform:scale(1.045)}96%{transform:scale(.99)}}
@keyframes ts-online{0%,100%{box-shadow:0 0 0 2px rgba(34,197,94,.25)}50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}}
@media(prefers-reduced-motion:reduce){
  .taxi-support.is-visible .taxi-support__link img,.taxi-support.is-visible .taxi-support__message,.taxi-support.is-visible .taxi-support__message::before,.taxi-support.is-visible .taxi-support__link::after{animation:none}
  .taxi-support__message::before{display:none}
  .taxi-support__message small,.taxi-support__message strong{opacity:1;animation:none}
}

/* ═══ ป้ายบอกว่า "จองอะไรได้บ้าง" ลอยเหนือกล่องข้อความ ═══ */
.taxi-support__message{margin-top:14px;overflow:visible}
.taxi-support__tag{position:absolute;left:12px;top:-12px;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:linear-gradient(135deg,#082d54 0%,#0b4d9a 100%);color:#fff;font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;box-shadow:0 4px 10px rgba(8,45,84,.25);opacity:0}
.taxi-support__tag::before{content:"";width:6px;height:6px;border-radius:50%;background:#ffbd09}
.taxi-support.is-visible .taxi-support__tag{animation:ts-text .35s 2.35s ease both}
.taxi-support__message small{white-space:nowrap}
@media(max-width:767px){.taxi-support__message small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.taxi-support__tag{opacity:1;animation:none}}

/* ป้าย BOOK 24/7 อยู่กึ่งกลางกล่อง */
.taxi-support__tag{left:50%;transform:translateX(-50%)}
.taxi-support.is-visible .taxi-support__tag{animation:ts-tag .35s 2.35s ease both}
@keyframes ts-tag{from{opacity:0;transform:translate(-50%,5px)}to{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){.taxi-support__tag{transform:translateX(-50%)}}

/* ป้ายสไตล์ชิปฟ้าอ่อน จุดเขียว ตัวหนังสือฟ้า (เหมือนชิปอื่นในเว็บ) */
.taxi-support__tag{background:#e9f2ff;color:#0b6fe0;box-shadow:0 2px 8px rgba(8,45,84,.12);border:1px solid #cfe1f7}
.taxi-support__tag::before{background:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.2)}

/* เว้นที่ให้ชิป SUPPORT 24/7 ไม่ทับบรรทัดทักทาย */
.taxi-support__message{padding-top:20px}
.taxi-support__tag{top:-11px}
@media(max-width:767px){.taxi-support__message{padding-top:20px}}

/* ข้อความทักยาวขึ้น: จอ 360 ให้กล่องกว้างขึ้นนิด, จอเล็กกว่านั้นยอมตัด 2 บรรทัด */
@media(max-width:767px){.taxi-support__message{max-width:calc(100vw - 100px)}}
@media(max-width:359px){.taxi-support__message small{white-space:normal}}

@media(max-width:767px){.taxi-support__message small{font-size:10.5px;letter-spacing:-.01em}}

/* เอาจุดเขียวที่มุมรูปพนักงานออก (มีชิป ONLINE NOW บอกอยู่แล้ว) */
.taxi-support__link::after{display:none}

/* ไอคอน WhatsApp หน้าข้อความปุ่ม */
.taxi-support__message strong{display:flex;align-items:center;gap:6px}
.taxi-support__wa{width:17px;height:17px;flex:0 0 17px;color:#25d366}

/* ชิปชื่อบริษัทยาวขึ้น: กล่องกว้างขั้นต่ำ + ชิปเล็กลงนิด ให้มีระยะขอบซ้ายขวา */
.taxi-support__message{min-width:236px}
.taxi-support__tag{font-size:9px;letter-spacing:.07em;padding:3px 9px}
