/* AOC AI Website Chatbot — Premium Widget v2.2.0
   Theme-proof: every rule is scoped to #aoc-chat-root and hardened with !important
   so site theme styles can never break the widget. */
:root{--aocw-brand:#2563EB;--aocw-accent:#10B981}

/* ---------- Hard reset / isolation ---------- */
#aoc-chat-root{position:fixed!important;bottom:22px!important;z-index:2147483000!important;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif!important;font-size:14px!important;line-height:1.5!important;color:#0F172A!important;text-align:left!important;direction:ltr}
#aoc-chat-root.aocw-right{right:22px!important;left:auto!important}
#aoc-chat-root.aocw-left{left:22px!important;right:auto!important}
#aoc-chat-root *,#aoc-chat-root *:before,#aoc-chat-root *:after{box-sizing:border-box!important;margin:0!important;text-transform:none!important;letter-spacing:normal!important;text-shadow:none!important;float:none!important}
#aoc-chat-root button{appearance:none!important;-webkit-appearance:none!important;border:0!important;background:none!important;padding:0!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;color:inherit!important;cursor:pointer!important;box-shadow:none!important;border-radius:0!important;min-height:0!important;min-width:0!important;width:auto;height:auto;outline:none!important}
#aoc-chat-root input{appearance:none!important;-webkit-appearance:none!important;font-family:inherit!important;box-shadow:none!important;min-height:0!important;height:auto!important;margin:0!important;outline:none!important}
#aoc-chat-root a{text-decoration:none!important;box-shadow:none!important}
#aoc-chat-root img{max-width:none!important;border:0!important;box-shadow:none!important}
#aoc-chat-root h4,#aoc-chat-root p,#aoc-chat-root ul{padding:0!important}
#aoc-chat-root svg{display:block}

/* ---------- Launcher ---------- */
#aoc-chat-root .aocw-launcher{position:relative!important;width:62px!important;height:62px!important;border-radius:50%!important;background:linear-gradient(135deg,var(--aocw-brand),color-mix(in srgb,var(--aocw-brand) 60%,#60A5FA))!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 8px 26px rgba(0,0,0,.22)!important;transition:transform .2s ease,box-shadow .2s ease!important;animation:aocwPop .4s ease both}
#aoc-chat-root .aocw-launcher:hover{transform:scale(1.07)!important;box-shadow:0 12px 32px rgba(0,0,0,.28)!important}
#aoc-chat-root .aocw-launcher:after{content:""!important;position:absolute!important;inset:-4px!important;border-radius:50%!important;border:2px solid var(--aocw-brand)!important;opacity:.35;animation:aocwPulse 2.4s ease-out infinite;background:none!important}
#aoc-chat-root.open .aocw-launcher:after{display:none!important}
#aoc-chat-root .aocw-launcher-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important}
#aoc-chat-root .aocw-launcher-icon svg{width:28px!important;height:28px!important;fill:none}
#aoc-chat-root .aocw-launcher-icon img{width:46px!important;height:46px!important;border-radius:50%!important;object-fit:cover!important}
#aoc-chat-root .aocw-launcher-dot{position:absolute!important;bottom:3px!important;right:3px!important;width:12px!important;height:12px!important;border-radius:50%!important;background:#22C55E!important;border:2px solid #fff!important;display:block!important}
#aoc-chat-root .aocw-unread{position:absolute!important;top:-4px!important;right:-4px!important;min-width:20px!important;height:20px!important;border-radius:999px!important;background:#EF4444!important;color:#fff!important;font-size:11px!important;font-weight:700!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0 5px!important;border:2px solid #fff!important}
@keyframes aocwPulse{0%{transform:scale(1);opacity:.4}100%{transform:scale(1.45);opacity:0}}
@keyframes aocwPop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}

/* ---------- Greeting bubble ---------- */
#aoc-chat-root .aocw-greeting{position:absolute!important;bottom:76px!important;width:250px!important;background:#fff!important;border-radius:16px!important;box-shadow:0 10px 34px rgba(0,0,0,.16)!important;padding:14px 34px 14px 16px!important;font-size:13.5px!important;color:#0F172A!important;animation:aocwSlideUp .35s ease both;cursor:pointer!important}
#aoc-chat-root .aocw-greeting strong{display:block!important;font-size:15px!important;font-weight:800!important;margin-bottom:3px!important;color:#0F172A!important}
#aoc-chat-root .aocw-greeting span{color:#334155!important}
#aoc-chat-root.aocw-right .aocw-greeting{right:0!important;border-bottom-right-radius:5px!important}
#aoc-chat-root.aocw-left .aocw-greeting{left:0!important;border-bottom-left-radius:5px!important}
#aoc-chat-root .aocw-greet-close{position:absolute!important;top:6px!important;right:8px!important;font-size:16px!important;color:#94A3B8!important;line-height:1!important;padding:2px!important}
@keyframes aocwSlideUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- Wrap (window + rail) ---------- */
#aoc-chat-root .aocw-wrap{position:absolute!important;bottom:80px!important;display:flex!important;align-items:flex-start!important;gap:12px!important;opacity:0;transform:translateY(16px) scale(.97);pointer-events:none!important;transition:opacity .25s ease,transform .25s ease!important}
#aoc-chat-root.aocw-right .aocw-wrap{right:0!important;flex-direction:row!important}
#aoc-chat-root.aocw-left .aocw-wrap{left:0!important;flex-direction:row-reverse!important}
#aoc-chat-root.open .aocw-wrap{opacity:1!important;transform:none!important;pointer-events:auto!important}

/* Connect rail */
#aoc-chat-root .aocw-rail{background:#fff!important;border-radius:18px!important;box-shadow:0 14px 40px rgba(15,23,42,.16)!important;padding:14px 10px!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:10px!important;margin-top:70px!important}
#aoc-chat-root .aocw-rail em{font-style:normal!important;font-size:10.5px!important;font-weight:700!important;color:#64748B!important;text-align:center!important;line-height:1.3!important}
#aoc-chat-root .aocw-rail a{width:44px!important;height:44px!important;border-radius:50%!important;background:#F1F5F9!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:20px!important;transition:transform .15s,box-shadow .15s!important}
#aoc-chat-root .aocw-rail a:hover{transform:translateY(-2px) scale(1.06)!important;box-shadow:0 6px 16px rgba(15,23,42,.16)!important}
#aoc-chat-root .aocw-rail-more{font-size:11px!important;font-weight:700!important;color:var(--aocw-brand)!important;padding:4px!important}

/* ---------- Window ---------- */
#aoc-chat-root .aocw-window{width:384px!important;max-width:calc(100vw - 32px)!important;height:620px!important;max-height:calc(100vh - 120px)!important;background:#F7F5F2!important;border-radius:22px!important;box-shadow:0 24px 70px rgba(15,23,42,.3)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}

/* Header (Image-2: logo left, texts, Online badge + close right) */
#aoc-chat-root .aocw-head{background:linear-gradient(135deg,var(--aocw-brand),color-mix(in srgb,var(--aocw-brand) 62%,#60A5FA))!important;color:#fff!important;padding:16px 16px!important;display:flex!important;align-items:center!important;gap:12px!important;flex:0 0 auto!important}
#aoc-chat-root .aocw-avatar{width:52px!important;height:52px!important;flex:0 0 52px!important;border-radius:50%!important;background:#fff!important;color:var(--aocw-brand)!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:22px!important;box-shadow:0 3px 10px rgba(0,0,0,.18)!important;overflow:hidden!important}
#aoc-chat-root .aocw-avatar img{width:52px!important;height:52px!important;border-radius:50%!important;object-fit:cover!important}
#aoc-chat-root .aocw-head-txt{display:flex!important;flex-direction:column!important;min-width:0!important;flex:1!important}
#aoc-chat-root .aocw-head-txt strong{font-size:19px!important;font-weight:800!important;color:#fff!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#aoc-chat-root .aocw-head-txt em{font-style:normal!important;font-size:12.5px!important;color:rgba(255,255,255,.9)!important;margin-top:3px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#aoc-chat-root .aocw-head-right{display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:8px!important}
#aoc-chat-root .aocw-hbtn{color:#fff!important;font-size:15px!important;width:28px!important;height:28px!important;border-radius:9px!important;background:rgba(255,255,255,.16)!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:background .15s!important;line-height:1!important}
#aoc-chat-root .aocw-hbtn:hover{background:rgba(255,255,255,.3)!important}
#aoc-chat-root .aocw-online-badge{display:flex!important;align-items:center!important;gap:6px!important;font-size:12px!important;font-weight:600!important;color:#fff!important}
#aoc-chat-root .aocw-online-badge i{width:9px!important;height:9px!important;border-radius:50%!important;background:#22C55E!important;display:block!important;box-shadow:0 0 0 3px rgba(34,197,94,.25)!important}

/* ---------- Panels ---------- */
#aoc-chat-root .aocw-panels{flex:1 1 auto!important;position:relative!important;min-height:0!important;display:flex!important}
#aoc-chat-root .aocw-panel{display:none!important;flex-direction:column!important;flex:1!important;min-height:0!important}
#aoc-chat-root .aocw-panel.active{display:flex!important}

/* Chat body */
#aoc-chat-root .aocw-body{flex:1 1 auto!important;overflow-y:auto!important;padding:16px 14px 8px!important;display:flex!important;flex-direction:column!important;gap:10px!important;scroll-behavior:smooth}
#aoc-chat-root .aocw-botrow{display:flex!important;align-items:flex-start!important;gap:9px!important;width:100%!important}
#aoc-chat-root .aocw-bot-avatar{width:34px!important;height:34px!important;flex:0 0 34px!important;border-radius:50%!important;background:#fff!important;border:1px solid #EDE9E4!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:16px!important}
#aoc-chat-root .aocw-time{font-size:10.5px!important;color:#94A3B8!important;padding-left:44px!important}
#aoc-chat-root .aocw-msg{max-width:84%!important;padding:11px 14px!important;border-radius:16px!important;font-size:13.8px!important;line-height:1.55!important;word-wrap:break-word!important;animation:aocwMsgIn .28s ease both;box-shadow:0 1px 2px rgba(15,23,42,.05)!important}
#aoc-chat-root .aocw-msg.bot{align-self:flex-start!important;background:#fff!important;color:#0F172A!important;border-bottom-left-radius:6px!important}
#aoc-chat-root .aocw-msg.agent{align-self:flex-start!important;background:#ECFDF5!important;color:#064E3B!important;border-bottom-left-radius:6px!important}
#aoc-chat-root .aocw-msg.me{align-self:flex-end!important;background:linear-gradient(135deg,var(--aocw-brand),color-mix(in srgb,var(--aocw-brand) 62%,#60A5FA))!important;color:#fff!important;border-bottom-right-radius:6px!important}
#aoc-chat-root .aocw-msg .aocw-tag{display:block!important;font-size:10.5px!important;font-weight:700!important;opacity:.6;margin-bottom:3px!important;text-transform:uppercase!important}
#aoc-chat-root .aocw-welcome-card{flex:1!important}
#aoc-chat-root .aocw-welcome-card strong{display:block!important;margin-bottom:4px!important;font-size:14px!important;font-weight:800!important;color:#0F172A!important}
#aoc-chat-root .aocw-welcome-card span{color:#475569!important;font-size:13px!important}
@keyframes aocwMsgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Help card with 2x2 quick actions (Image-2) */
#aoc-chat-root .aocw-helpcard{background:#fff!important;border:1px solid #EDE9E4!important;border-radius:16px!important;padding:14px!important;width:100%!important;animation:aocwMsgIn .3s ease both;box-shadow:0 1px 3px rgba(15,23,42,.05)!important}
#aoc-chat-root .aocw-helpcard h4{font-size:14px!important;font-weight:800!important;color:#0F172A!important;margin:0 0 11px!important}
#aoc-chat-root .aocw-quickgrid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
#aoc-chat-root .aocw-quickgrid button{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;background:#FBFAF8!important;border:1px solid #EDE9E4!important;border-radius:12px!important;padding:11px 12px!important;text-align:left!important;transition:all .15s!important}
#aoc-chat-root .aocw-quickgrid button:hover{border-color:var(--aocw-brand)!important;background:#fff!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px rgba(15,23,42,.08)!important}
#aoc-chat-root .aocw-quickgrid button i{font-style:normal!important;font-size:16px!important;margin-bottom:2px!important;display:block!important}
#aoc-chat-root .aocw-quickgrid button b{font-size:12.5px!important;font-weight:700!important;color:#0F172A!important;display:block!important}
#aoc-chat-root .aocw-quickgrid button s{text-decoration:none!important;font-size:11px!important;color:#64748B!important;display:block!important}
#aoc-chat-root .aocw-human-link{display:block!important;width:100%!important;text-align:center!important;margin-top:10px!important;font-size:12px!important;font-weight:700!important;color:var(--aocw-brand)!important;padding:6px!important;border-radius:9px!important;transition:background .15s!important}
#aoc-chat-root .aocw-human-link:hover{background:#F1F5F9!important}

/* Inline FAQ section (Image-2) */
#aoc-chat-root .aocw-faqsec{width:100%!important;animation:aocwMsgIn .3s ease both}
#aoc-chat-root .aocw-faqsec-head{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:8px!important}
#aoc-chat-root .aocw-faqsec-head h4{font-size:13.5px!important;font-weight:800!important;color:#0F172A!important}
#aoc-chat-root .aocw-faqsec-head button{font-size:12px!important;font-weight:700!important;color:var(--aocw-brand)!important;text-decoration:underline!important;padding:2px!important}
#aoc-chat-root .aocw-faqsec details,#aoc-chat-root .aocw-faq details{background:#fff!important;border:1px solid #EDE9E4!important;border-radius:12px!important;margin:0 0 8px!important;overflow:hidden!important}
#aoc-chat-root .aocw-faqsec summary,#aoc-chat-root .aocw-faq summary{padding:12px 34px 12px 14px!important;font-size:13px!important;font-weight:600!important;color:#0F172A!important;cursor:pointer!important;list-style:none!important;position:relative!important;display:block!important}
#aoc-chat-root .aocw-faqsec summary::-webkit-details-marker,#aoc-chat-root .aocw-faq summary::-webkit-details-marker{display:none!important}
#aoc-chat-root .aocw-faqsec summary:after,#aoc-chat-root .aocw-faq summary:after{content:"⌄"!important;position:absolute!important;right:13px!important;top:10px!important;color:var(--aocw-brand)!important;font-weight:700!important;font-size:14px!important;transition:transform .2s!important}
#aoc-chat-root .aocw-faqsec details[open] summary:after,#aoc-chat-root .aocw-faq details[open] summary:after{transform:rotate(180deg)!important}
#aoc-chat-root .aocw-faqsec p,#aoc-chat-root .aocw-faq p{padding:0 14px 12px!important;font-size:12.5px!important;color:#475569!important;line-height:1.6!important}

/* Lead form card */
#aoc-chat-root .aocw-leadcard{align-self:flex-start!important;width:90%!important;background:#fff!important;border-radius:16px!important;border-bottom-left-radius:6px!important;padding:14px!important;box-shadow:0 1px 3px rgba(15,23,42,.08)!important;display:flex!important;flex-direction:column!important;gap:10px!important;animation:aocwMsgIn .3s ease both;border:1px solid #EDE9E4!important}
#aoc-chat-root .aocw-leadcard label{display:flex!important;flex-direction:column!important;gap:5px!important;font-size:12px!important;font-weight:700!important;color:#334155!important}
#aoc-chat-root .aocw-leadcard input{border:1px solid #E2E8F0!important;border-radius:10px!important;padding:9px 12px!important;font-size:13px!important;background:#F8FAFC!important;color:#0F172A!important;font-weight:400!important;width:100%!important;transition:border-color .15s,box-shadow .15s!important}
#aoc-chat-root .aocw-leadcard input:focus{border-color:var(--aocw-brand)!important;background:#fff!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--aocw-brand) 13%,transparent)!important}
#aoc-chat-root .aocw-leadcard-btns{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:2px!important}
#aoc-chat-root .aocw-lead-submit{flex:1!important;background:linear-gradient(135deg,var(--aocw-brand),color-mix(in srgb,var(--aocw-brand) 62%,#60A5FA))!important;color:#fff!important;border-radius:10px!important;padding:10px 14px!important;font-size:13px!important;font-weight:700!important;text-align:center!important;transition:filter .15s,transform .15s!important}
#aoc-chat-root .aocw-lead-submit:hover{filter:brightness(1.06)!important;transform:translateY(-1px)!important}
#aoc-chat-root .aocw-lead-loc{background:#fff!important;border:1.5px dashed color-mix(in srgb,var(--aocw-brand) 45%,#CBD5E1)!important;color:var(--aocw-brand)!important;border-radius:10px!important;padding:9px 12px!important;font-size:12px!important;font-weight:700!important;transition:all .15s!important}
#aoc-chat-root .aocw-lead-loc.done{border-color:var(--aocw-accent)!important;color:#047857!important;border-style:solid!important}
#aoc-chat-root .aocw-lead-note{font-size:11.5px!important;color:#DC2626!important;font-weight:600!important}

/* Typing */
#aoc-chat-root .aocw-typing{display:flex!important;gap:5px!important;padding:0 20px 10px!important;flex:0 0 auto!important}
#aoc-chat-root .aocw-typing i{width:8px!important;height:8px!important;border-radius:50%!important;background:#CBD5E1!important;animation:aocwDot 1.2s infinite;display:block!important}
#aoc-chat-root .aocw-typing i:nth-child(2){animation-delay:.15s}
#aoc-chat-root .aocw-typing i:nth-child(3){animation-delay:.3s}
@keyframes aocwDot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}

/* Input row (Image-2: pill with emoji inside + round send) */
#aoc-chat-root .aocw-input{display:flex!important;gap:9px!important;padding:12px 14px 6px!important;background:#fff!important;border-top:1px solid #EFEBE6!important;flex:0 0 auto!important;align-items:center!important}
#aoc-chat-root .aocw-input-box{flex:1!important;display:flex!important;align-items:center!important;border:1px solid #E2E8F0!important;border-radius:999px!important;background:#F8FAFC!important;padding:0 6px 0 16px!important;transition:border-color .15s,box-shadow .15s!important}
#aoc-chat-root .aocw-input-box:focus-within{border-color:var(--aocw-brand)!important;background:#fff!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--aocw-brand) 14%,transparent)!important}
#aoc-chat-root .aocw-input input{flex:1!important;border:0!important;background:transparent!important;padding:11px 6px 11px 0!important;font-size:13.5px!important;color:#0F172A!important;width:100%!important}
#aoc-chat-root .aocw-emoji{font-size:17px!important;padding:6px!important;line-height:1!important;opacity:.8}
#aoc-chat-root .aocw-emoji:hover{opacity:1}
#aoc-chat-root .aocw-send{width:44px!important;height:44px!important;flex:0 0 44px!important;border-radius:50%!important;background:linear-gradient(135deg,var(--aocw-brand),color-mix(in srgb,var(--aocw-brand) 62%,#60A5FA))!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:transform .15s,filter .15s!important;box-shadow:0 4px 12px color-mix(in srgb,var(--aocw-brand) 40%,transparent)!important}
#aoc-chat-root .aocw-send:hover{transform:scale(1.07)!important;filter:brightness(1.06)!important}
#aoc-chat-root .aocw-send svg{width:18px!important;height:18px!important;margin-left:2px!important}

/* Footer (privacy left, powered right) */
#aoc-chat-root .aocw-foot{display:flex!important;align-items:center!important;justify-content:space-between!important;background:#fff!important;font-size:10.5px!important;color:#94A3B8!important;padding:4px 16px 10px!important;flex:0 0 auto!important}

/* FAQ full panel */
#aoc-chat-root .aocw-faq{flex:1!important;overflow-y:auto!important;padding:14px 16px 16px!important}

/* Connect panel */
#aoc-chat-root .aocw-connect{flex:1!important;overflow-y:auto!important;padding:14px 18px 18px!important;text-align:center!important}
#aoc-chat-root .aocw-connect h4{margin:8px 0 4px!important;font-size:17px!important;font-weight:800!important;color:#0F172A!important}
#aoc-chat-root .aocw-connect p{margin:0 0 16px!important;font-size:12.5px!important;color:#64748B!important}
#aoc-chat-root .aocw-connect-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:14px 8px!important}
#aoc-chat-root .aocw-connect-grid a{display:flex!important;flex-direction:column!important;align-items:center!important;gap:7px!important;color:#334155!important;font-size:11px!important;font-weight:600!important}
#aoc-chat-root .aocw-connect-grid a i{font-style:normal!important;width:52px!important;height:52px!important;border-radius:50%!important;background:#fff!important;border:1px solid #EDE9E4!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:22px!important;box-shadow:0 2px 8px rgba(15,23,42,.06)!important;transition:transform .15s,box-shadow .15s,border-color .15s!important}
#aoc-chat-root .aocw-connect-grid a:hover i{transform:translateY(-3px)!important;border-color:var(--aocw-brand)!important;box-shadow:0 8px 20px rgba(15,23,42,.12)!important}

/* Tabs */
#aoc-chat-root .aocw-tabs{display:flex!important;background:#fff!important;border-top:1px solid #EFEBE6!important;flex:0 0 auto!important}
#aoc-chat-root .aocw-tab{flex:1!important;padding:11px 6px!important;font-size:12px!important;font-weight:700!important;color:#94A3B8!important;transition:color .15s!important;border-top:2px solid transparent!important;text-align:center!important}
#aoc-chat-root .aocw-tab.active{color:var(--aocw-brand)!important;border-top-color:var(--aocw-brand)!important}

/* ---------- Mobile ---------- */
@media(max-width:520px){
  #aoc-chat-root.aocw-right,#aoc-chat-root.aocw-left{right:14px!important;left:auto!important;bottom:14px!important}
  #aoc-chat-root .aocw-wrap{position:fixed!important;inset:0!important;bottom:0!important;flex-direction:column!important}
  #aoc-chat-root .aocw-rail{display:none!important}
  #aoc-chat-root .aocw-window{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;border-radius:0!important}
  #aoc-chat-root .aocw-greeting{width:210px!important}
}
