[data-3c3-chat]{font:15px/1.5 system-ui,sans-serif;color:#102143;--navy:#102143;--red:#ed2330}
[data-3c3-chat] *{box-sizing:border-box}[data-3c3-chat] [hidden]{display:none!important}
[data-3c3-chat] button,[data-3c3-chat] input,[data-3c3-chat] textarea{font:inherit}
[data-3c3-chat] button{cursor:pointer;border:0}[data-3c3-chat] button:disabled{opacity:.45;cursor:default}
[data-3c3-chat] :focus-visible{outline:3px solid #2984bd;outline-offset:3px}
[data-3c3-chat] [data-launch]{position:fixed;right:24px;bottom:24px;background:var(--red);color:white;border-radius:32px;padding:14px 22px;z-index:99998;box-shadow:0 5px 22px #10214330}
[data-3c3-chat] [data-panel]{position:fixed;right:24px;bottom:86px;width:min(420px,calc(100vw - 32px));height:min(680px,calc(100dvh - 110px));display:flex;flex-direction:column;background:#edf6fc;border-radius:18px;overflow:hidden;box-shadow:0 12px 42px #10214330;z-index:99999;border:1px solid #dce5ed}
[data-3c3-chat] .nova-header{background:var(--navy);color:white;display:flex;align-items:center;gap:16px;padding:22px 18px;flex-shrink:0}
[data-3c3-chat] .nova-brand{width:90px;height:65px;object-fit:contain;flex-shrink:0}
[data-3c3-chat] .nova-title{border-left:1px solid #ffffff50;padding-left:16px;flex:1}
[data-3c3-chat] .nova-title strong{display:block;font-size:20px;line-height:1.3}[data-3c3-chat] .nova-title span{font-size:12px;color:#d6e1f2}
[data-3c3-chat] [data-close]{align-self:flex-start;background:transparent;color:white;font-size:28px;line-height:1;padding:0 3px}
[data-3c3-chat] [data-log]{flex:1;overflow:auto;padding:20px 16px;min-height:0;scrollbar-width:thin;background:linear-gradient(#e6f3fc,#f2f8fc)}
[data-3c3-chat] .nova-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:18px}
[data-3c3-chat] .nova-avatar{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:#ffffff;display:grid;place-items:center}
[data-3c3-chat] .nova-avatar img{width:36px;height:29px;object-fit:contain}
[data-3c3-chat] .nova-bubble{background:white;padding:13px 15px;border-radius:17px;max-width:calc(100% - 50px);overflow-wrap:anywhere;box-shadow:0 3px 10px #10214304}
[data-3c3-chat] .nova-bubble p{margin:0;white-space:pre-wrap}[data-3c3-chat] .nova-bubble a{display:block;margin-top:9px;color:#175982;font-size:13px}
[data-3c3-chat] .nova-visitor{justify-content:flex-end}[data-3c3-chat] .nova-visitor .nova-bubble{background:#c6e5fc;max-width:85%}
[data-3c3-chat] [data-lead]{width:100%;max-width:none;background:white;padding:16px;border-radius:17px;margin-bottom:18px}
[data-3c3-chat] [data-lead] p{margin:0 0 12px}[data-3c3-chat] [data-lead] label{display:block;margin:10px 0 4px;font-size:14px}
[data-3c3-chat] [data-lead] label span{color:var(--red)}[data-3c3-chat] [data-lead] input{width:100%;height:43px;background:white;color:var(--navy);border:1px solid #ccd6e5;border-radius:9px;padding:8px 12px}
[data-3c3-chat] [data-lead] button{width:100%;padding:11px;border-radius:9px;background:var(--red);color:white;margin:16px 0 10px;font-weight:600}
[data-3c3-chat] .nova-notice{font-size:11px;color:#576983;line-height:1.45}
[data-3c3-chat] .nova-bottom{background:white;padding:12px;flex-shrink:0;border-top:1px solid #dce5ed}
[data-3c3-chat] [data-chat]{display:flex;align-items:center;gap:7px;border:1px solid #dae2ed;border-radius:22px;padding:7px}
[data-3c3-chat] [data-message]{resize:none;height:42px;max-height:90px;min-width:0;flex:1;border:0;background:transparent;padding:9px 7px;color:var(--navy);box-shadow:none;line-height:22px}
[data-3c3-chat] [data-chat] button{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;padding:8px;flex-shrink:0}
[data-3c3-chat] [data-voice]{background:transparent;color:#285774}[data-3c3-chat] [data-send]{background:var(--red);color:white}
[data-3c3-chat] svg{width:22px;height:22px;display:block}[data-3c3-chat] [data-status]{font-size:12px;margin:7px 4px 0;color:#576983}[data-3c3-chat] [data-status]:empty{display:none}
[data-3c3-chat] [data-retry]{padding:5px 10px;margin-top:6px;border-radius:6px;background:var(--navy);color:white}
@media(max-width:480px){[data-3c3-chat] [data-panel]{right:12px;bottom:78px;width:calc(100vw - 24px);height:min(680px,calc(100dvh - 94px))}[data-3c3-chat] [data-launch]{right:12px;bottom:14px}[data-3c3-chat] .nova-header{padding:16px 12px;gap:10px}[data-3c3-chat] .nova-title{padding-left:10px}[data-3c3-chat] .nova-brand{width:74px}}
[data-3c3-chat] [data-launch]{font-weight:600;animation:nova-launch-pulse 2.4s ease-in-out infinite}
[data-3c3-chat] [data-launch]:hover,[data-3c3-chat] [data-launch]:focus-visible,[data-3c3-chat] [data-launch][aria-expanded="true"]{animation:none}
@keyframes nova-launch-pulse{0%,100%{box-shadow:0 5px 22px #10214330,0 0 0 0 #ed233035}60%{box-shadow:0 5px 22px #10214330,0 0 0 9px #ed233000}}
@media(prefers-reduced-motion:reduce){[data-3c3-chat] [data-launch]{animation:none}}
[data-3c3-chat] .nova-dots{display:flex;align-items:center;gap:8px;padding:19px 22px;min-height:52px}
[data-3c3-chat] .nova-dots span{width:11px;height:11px;border-radius:50%;background:#627386;animation:nova-typing 1.2s ease-in-out infinite}
[data-3c3-chat] .nova-dots span:nth-child(2){animation-delay:.16s}
[data-3c3-chat] .nova-dots span:nth-child(3){animation-delay:.32s}
@keyframes nova-typing{0%,60%,100%{transform:translateY(0);opacity:.65}30%{transform:translateY(-5px);opacity:1}}
@media(prefers-reduced-motion:reduce){[data-3c3-chat] .nova-dots span{animation:none}}
[data-3c3-chat] [data-voice-controls]{padding:10px 14px;background:#f1f5fa;display:flex;gap:8px;justify-content:space-between}[data-3c3-chat] [data-voice-controls][hidden]{display:none}[data-3c3-chat] [data-voice-controls] button{border:1px solid #d7dfeb;border-radius:8px;padding:8px 12px;background:white;color:#122344;font:600 13px inherit}[data-3c3-chat] [data-stop-voice]{color:#ed252a!important}
/* Keep theme button hover colours out of Nova. */
[data-3c3-chat] button[data-launch],
[data-3c3-chat] button[data-launch]:hover,
[data-3c3-chat] button[data-launch]:focus,
[data-3c3-chat] button[data-launch]:active,
[data-3c3-chat] button[data-send],
[data-3c3-chat] button[data-send]:hover,
[data-3c3-chat] button[data-send]:focus,
[data-3c3-chat] button[data-send]:active{background-color:#ed2330!important;background-image:none!important;color:#fff!important}
[data-3c3-chat] button[data-launch]{right:24px;isolation:isolate}
[data-3c3-chat] button[data-launch]::before{content:"";position:absolute;inset:-5px;border-radius:inherit;background:#ed2330;z-index:-1;pointer-events:none;animation:nova-background-glow 2.4s ease-in-out infinite}
@keyframes nova-background-glow{0%,100%{opacity:.12;transform:scale(1)}50%{opacity:.38;transform:scale(1.07)}}
@media(max-width:480px){[data-3c3-chat] button[data-launch]{right:12px}}
@media(prefers-reduced-motion:reduce){[data-3c3-chat] button[data-launch]::before{animation:none;opacity:.15}}
[data-3c3-chat] button[data-voice],
[data-3c3-chat] button[data-voice]:hover,
[data-3c3-chat] button[data-voice]:focus,
[data-3c3-chat] button[data-voice]:active{background:transparent!important;color:#285774!important}
[data-3c3-chat] button[data-close],
[data-3c3-chat] button[data-close]:hover,
[data-3c3-chat] button[data-close]:focus,
[data-3c3-chat] button[data-close]:active{background:transparent!important;color:#fff!important}
[data-3c3-chat] .nova-typing{flex-direction:column;gap:8px}[data-3c3-chat] .nova-search-caption{font-size:13px;color:#285774;padding-left:4px}
[data-3c3-chat] .nova-enquiry-options{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}[data-3c3-chat] .nova-enquiry-options button{background:#102143!important;color:white!important;border-radius:9px;padding:9px 12px;font-size:13px}
[data-3c3-chat] .nova-actions{display:flex;justify-content:flex-end;gap:14px;padding:7px 16px;background:#f4f9fd;border-bottom:1px solid #dce5ed;flex-shrink:0}
[data-3c3-chat] .nova-actions button{background:transparent!important;color:#175982!important;font-size:12px;font-weight:600;padding:3px 0;text-decoration:underline;text-underline-offset:3px}
[data-3c3-chat] .nova-notice a{color:#175982;text-decoration:underline}
[data-3c3-chat] .nova-dots span{display:block;flex:0 0 11px;height:11px;will-change:transform,opacity}
