.jd-chat { --chat-blue:#3156d3; --chat-navy:#0b1739; position:fixed; right:24px; bottom:24px; z-index:9998; color:#17213b; font-family:'Poppins',sans-serif; }
.jd-chat * { box-sizing:border-box; }
.jd-chat [hidden] { display:none !important; }
.jd-chat__launcher { display:flex; min-height:54px; align-items:center; gap:10px; padding:0 19px; border:0; border-radius:999px; background:var(--chat-blue); box-shadow:0 15px 35px rgba(28,48,98,.3); color:#fff; cursor:pointer; font-size:13px; font-weight:700; transition:transform .2s ease,background .2s ease; }
.jd-chat__launcher:hover { transform:translateY(-2px); background:var(--chat-navy); }
.jd-chat__launcher i { font-size:18px; }
.jd-chat__panel { position:absolute; right:0; bottom:68px; display:flex; width:min(380px,calc(100vw - 32px)); height:min(580px,calc(100vh - 115px)); min-height:360px; margin:0; padding:0; flex-direction:column; overflow:hidden; border:1px solid #dce3ee; border-radius:18px; background:#fff; box-shadow:0 28px 70px rgba(12,30,67,.25); opacity:1; visibility:visible; isolation:isolate; transform-origin:bottom right; animation:jd-chat-in .2s ease-out; }
.jd-chat__panel[hidden] { display:none; }
.jd-chat__panel:not([hidden]) { opacity:1 !important; visibility:visible !important; }
@keyframes jd-chat-in { from { opacity:0; transform:translateY(12px) scale(.97); } to { opacity:1; transform:none; } }
.jd-chat__header { position:sticky; top:0; z-index:3; display:flex; width:100%; min-height:64px; flex:0 0 64px; align-items:center; gap:10px; margin:0; padding:10px 12px; border:0; background:linear-gradient(135deg,var(--chat-navy),#204783); color:#fff; }
.jd-chat__avatar { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:12px; background:linear-gradient(145deg,#37c7c5,#3156d3); box-shadow:0 6px 15px rgba(0,0,0,.15); color:#fff; font-size:16px; }
.jd-chat__header>span:nth-child(2) { display:flex; flex:1; flex-direction:column; }
.jd-chat__header strong { color:#fff; font-size:13px; line-height:1.25; }
.jd-chat__header small { display:flex; align-items:center; gap:6px; color:#b9c7df; font-size:9px; }
.jd-chat__header small i { width:7px; height:7px; border-radius:50%; background:#55d5ad; box-shadow:0 0 0 3px rgba(85,213,173,.13); }
.jd-chat__header button { display:grid; width:30px; height:30px; place-items:center; border:0; border-radius:50%; background:rgba(255,255,255,.08); color:#fff; cursor:pointer; }
.jd-chat__prechat { min-height:0; flex:1; overflow-y:auto; margin:0; padding:24px 22px 20px; background:#f7f9fd; }
.jd-chat__prechat-icon { display:grid; width:46px; height:46px; margin:0 auto 12px; place-items:center; border-radius:14px; background:#e8edff; color:var(--chat-blue); font-size:19px; }
.jd-chat__prechat h3 { margin:0 0 6px; color:#17213b; font-size:18px; font-weight:700; text-align:center; }
.jd-chat__prechat>p { max-width:300px; margin:0 auto 18px; color:#68768c; font-size:11px; line-height:1.55; text-align:center; }
.jd-chat__prechat form { display:block; width:100%; margin:0; padding:0; }
.jd-chat__prechat form>label,.jd-chat__contact-fields label { display:block; margin:0 0 5px; color:#34445d; font-size:10px; font-weight:700; }
.jd-chat__prechat label b { color:#d14f5d; }
.jd-chat__prechat label[for="jd-chat-enquiry"] { margin-top:12px; }
.jd-chat__prechat input[type="text"],.jd-chat__prechat input[type="email"],.jd-chat__prechat input[type="tel"],.jd-chat__prechat select { display:block; width:100%; height:40px; margin:0; padding:0 11px; border:1px solid #cfd9e8; border-radius:9px; background:#fff; color:#26354e; font-size:12px; outline:0; }
.jd-chat__prechat select { margin-bottom:12px; }
.jd-chat__prechat input:focus,.jd-chat__prechat select:focus { border-color:var(--chat-blue); box-shadow:0 0 0 3px rgba(49,86,211,.1); }
.jd-chat__contact-fields { display:grid; grid-template-columns:1fr 22px 1fr; align-items:end; gap:5px; margin-top:12px; }
.jd-chat__contact-fields>span { padding-bottom:11px; color:#98a3b5; font-size:9px; text-align:center; }
.jd-chat__honeypot { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; }
.jd-chat__consent { display:flex !important; align-items:flex-start; gap:8px; margin:15px 0 0 !important; color:#68768c !important; font-size:9px !important; font-weight:400 !important; line-height:1.5; cursor:pointer; }
.jd-chat__consent input { width:15px; height:15px; flex:0 0 15px; margin:1px 0 0; accent-color:var(--chat-blue); }
.jd-chat__consent a { color:var(--chat-blue); font-weight:600; }
.jd-chat__error { min-height:15px; margin:7px 0 0; color:#c33f51; font-size:9px; line-height:1.4; }
.jd-chat__start { display:flex; width:100%; min-height:43px; align-items:center; justify-content:center; gap:9px; margin:2px 0 0; padding:9px 14px; border:0; border-radius:10px; background:var(--chat-blue); box-shadow:0 9px 20px rgba(49,86,211,.2); color:#fff; cursor:pointer; font-size:12px; font-weight:700; }
.jd-chat__start:disabled { cursor:wait; opacity:.68; }
.jd-chat__messages { min-height:0; flex:1 1 0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; padding:19px 16px 8px; background:#f6f8fc; opacity:1 !important; visibility:visible !important; scroll-behavior:smooth; }
.jd-chat__message { display:flex; margin-bottom:13px; }
.jd-chat__message p { display:block !important; max-width:84%; margin:0; padding:11px 13px; border-radius:6px 14px 14px 14px; background:#fff; box-shadow:0 3px 12px rgba(30,48,83,.07); color:#43516a !important; opacity:1 !important; visibility:visible !important; font-size:12px; line-height:1.6; white-space:pre-line; }
.jd-chat__message--user { justify-content:flex-end; }
.jd-chat__message--user p { border-radius:14px 6px 14px 14px; background:var(--chat-blue); color:#fff !important; box-shadow:none; }
.jd-chat__message a { color:var(--chat-blue); font-weight:700; text-decoration:underline; }
.jd-chat__suggestions { display:flex; flex-wrap:wrap; gap:7px; max-height:86px; overflow-y:auto; padding:8px 14px 10px; border-top:1px solid #e5e9f0; background:#fff; }
.jd-chat__suggestions:empty { display:none; }
.jd-chat__suggestions button { padding:7px 10px; border:1px solid #cbd6e8; border-radius:999px; background:#fff; color:#3d5277; cursor:pointer; font-size:10px; font-weight:600; }
.jd-chat__suggestions button:hover { border-color:var(--chat-blue); color:var(--chat-blue); }
.jd-chat__form { display:flex; gap:8px; padding:10px 12px; border-top:1px solid #e3e8f0; background:#fff; }
.jd-chat__form input { min-width:0; height:42px; flex:1; padding:0 13px; border:1px solid #d5deeb; border-radius:10px; color:#26354e; font-size:12px; outline:0; }
.jd-chat__form input:focus { border-color:var(--chat-blue); box-shadow:0 0 0 3px rgba(49,86,211,.1); }
.jd-chat__form button { display:grid; width:42px; height:42px; flex:0 0 42px; place-items:center; border:0; border-radius:10px; background:var(--chat-blue); color:#fff; cursor:pointer; }
.jd-chat__privacy { margin:0; padding:0 14px 9px; background:#fff; color:#929cad; font-size:8px; text-align:center; }
.jd-chat__privacy a { color:#687893; }
@media(max-width:600px){.jd-chat{right:16px;bottom:16px}.jd-chat__launcher span{display:none}.jd-chat__launcher{width:54px;padding:0;justify-content:center}.jd-chat__panel{position:fixed;top:12px;right:12px;bottom:auto;left:12px;width:auto;height:calc(100vh - 24px);height:calc(100dvh - 24px);min-height:0;max-height:none}.jd-chat__messages{padding-top:16px}}
