/* UTurn live chat panel (R23) — opens above the Contact-us FAB. */
.utlc-panel{position:fixed;right:20px;bottom:84px;z-index:9991;width:340px;max-width:calc(100vw - 32px);
  height:480px;max-height:calc(100vh - 130px);display:none;flex-direction:column;overflow:hidden;
  background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(2,8,23,.35),0 4px 16px rgba(2,8,23,.14);
  border:1px solid rgba(2,8,23,.07);font-family:inherit}
.utlc-panel.open{display:flex}
.utlc-h{display:flex;align-items:center;gap:11px;padding:14px 16px;color:#fff;flex-shrink:0;
  background:linear-gradient(120deg,#0B1220,#15294A)}
.utlc-h .av{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;font-weight:900;font-size:1rem;
  background:linear-gradient(135deg,#1B7AFC,#00C4E0);box-shadow:0 6px 16px rgba(27,122,248,.4)}
.utlc-ht b{display:block;font-size:.95rem}
.utlc-ht small{display:flex;align-items:center;gap:5px;font-size:.7rem;color:#9FB0C8;font-weight:700}
.utlc-dot{width:7px;height:7px;border-radius:50%;background:#4ADE80;display:inline-block;animation:utlc-pulse 2s infinite}
@keyframes utlc-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.utlc-x{margin-left:auto;background:rgba(255,255,255,.12);border:none;color:#fff;width:30px;height:30px;border-radius:9px;
  font-size:1.1rem;cursor:pointer;line-height:1}
.utlc-x:hover{background:rgba(255,255,255,.24)}
.utlc-body{flex:1;overflow-y:auto;padding:16px 14px;background:
  radial-gradient(30rem 18rem at 10% -4%, rgba(27,122,248,.05), transparent 60%),#EEF2F7}
.utlc-msgs{display:flex;flex-direction:column;gap:9px}
.utlc-hello{align-self:center;background:#fff;border:1px solid #E1E7F0;border-radius:999px;padding:8px 15px;
  font-size:.76rem;font-weight:700;color:#5A6B7E;text-align:center;box-shadow:0 2px 8px rgba(2,8,23,.05)}
/* bubbles (ut_chat_bubble emits .pt-msg us/them — scoped here) */
.utlc-panel .pt-msg{max-width:86%;border-radius:15px;padding:10px 13px;font-size:.85rem;line-height:1.5;position:relative;
  animation:utlc-pop .18s ease;box-shadow:0 2px 8px rgba(2,8,23,.07);word-wrap:break-word}
.utlc-panel .pt-msg.them{align-self:flex-start;background:#fff;border:1px solid #E1E7F0;border-bottom-left-radius:5px;color:#26344A}
.utlc-panel .pt-msg.us{align-self:flex-end;background:linear-gradient(135deg,#1B7AFC,#1559CC);color:#fff;border-bottom-right-radius:5px;
  box-shadow:0 6px 16px rgba(27,122,248,.3)}
.utlc-panel .pt-msg .pt-msg-who{display:block;font-size:.66rem;font-weight:800;opacity:.7;margin-bottom:2px}
.utlc-panel .pt-msg time{display:block;font-size:.62rem;opacity:.6;font-weight:700;margin-top:4px}
.utlc-panel .pt-msg img{max-width:100%;border-radius:10px;display:block;margin-top:5px}
@keyframes utlc-pop{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}
/* pre-chat form */
.utlc-form{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid #E1E7F0;border-radius:14px;padding:16px;
  box-shadow:0 2px 10px rgba(2,8,23,.06)}
.utlc-form label{font-size:.74rem;font-weight:800;color:#3E4E63;margin-top:8px}
.utlc-form input{border:1.5px solid #DCE3EB;border-radius:10px;padding:10px 12px;font:inherit;font-size:.9rem}
.utlc-form input:focus{outline:none;border-color:#1B7AFC;box-shadow:0 0 0 3px rgba(27,122,248,.14)}
.utlc-hint{font-size:.7rem;color:#8A97A8;margin:8px 0 4px;line-height:1.45}
.utlc-err{background:#FDECEA;color:#B3261E;border:1px solid #F5C6CB;border-radius:9px;padding:9px 11px;font-size:.78rem;font-weight:700}
.utlc-btn{border:none;border-radius:11px;padding:11px 16px;font-family:inherit;font-weight:800;font-size:.88rem;line-height:1;cursor:pointer;margin-top:12px}
.utlc-btn--pri{background:linear-gradient(135deg,#1B7AFC,#00C4E0);color:#fff;box-shadow:0 8px 20px rgba(27,122,248,.3)}
.utlc-btn--pri:hover{transform:translateY(-1px)}
/* composer */
.utlc-bar{display:flex;gap:8px;align-items:flex-end;padding:11px 12px;background:#fff;border-top:1px solid #E7ECF3;flex-shrink:0}
.utlc-bar textarea{flex:1;border:1.5px solid #DCE3EB;border-radius:999px;padding:10px 16px;font:inherit;font-size:.88rem;
  resize:none;max-height:110px;background:#F4F7FB}
.utlc-bar textarea:focus{outline:none;background:#fff;border-color:#1B7AFC;box-shadow:0 0 0 3px rgba(27,122,248,.14)}
.utlc-attach,.utlc-send{width:40px;height:40px;border-radius:999px;border:none;cursor:pointer;display:grid;place-items:center;
  font-size:1rem;flex-shrink:0;transition:transform .14s}
.utlc-attach{background:#EDF1F7;border:1px solid #DCE3EB}
.utlc-attach:hover{background:#E1E8F2;transform:translateY(-1px)}
.utlc-send{background:linear-gradient(135deg,#1B7AFC,#00C4E0);color:#fff;box-shadow:0 6px 16px rgba(27,122,248,.32)}
.utlc-send:hover{transform:translateY(-1px)}
.utlc-chip{background:#E7F0FF;color:#1559CC;border-radius:999px;padding:7px 14px;font-size:.72rem;font-weight:700;margin:0 12px 9px}
.utlc-note{padding:8px 14px;background:#fff;border-top:1px solid #EEF1F6;color:#98A4B0;font-size:.68rem;font-weight:700;flex-shrink:0}
@media (max-width:600px){
  .utlc-panel{right:12px;bottom:82px;height:min(520px,calc(100vh - 110px))}
  /* R27: iOS Safari auto-zooms when an input < 16px is focused — force 16px. */
  .utlc-form input,.utlc-bar textarea{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .utlc-panel .pt-msg,.utlc-send,.utlc-attach,.utlc-btn--pri{animation:none;transition:none}
  .utlc-dot{animation:none}
}
