/* Ocat Assistant — chat window */
.oc-launch{position:fixed;right:calc(1.25rem + env(safe-area-inset-right,0px));bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));z-index:45;height:58px;padding:0 1.15rem 0 .95rem;border-radius:30px;border:0;cursor:pointer;display:flex;align-items:center;gap:.6rem;background:#1A2A6C;color:#fff;font:600 .98rem var(--font,system-ui);box-shadow:0 12px 30px -10px rgba(7,20,38,.6);transition:transform .2s,box-shadow .2s}
.oc-launch:hover{transform:translateY(-2px)}
.oc-launch:focus-visible{outline:3px solid #F5821F;outline-offset:3px}
.oc-launch .oc-spark{width:34px;height:34px;border-radius:50%;background:#F5821F;display:grid;place-items:center;flex:none}
.oc-launch .oc-spark svg{width:18px;height:18px;color:#1B1206}
.oc-launch[aria-expanded="true"]{display:none}
/* WhatsApp button sits above the assistant button */
.wa-float{bottom:calc(5.6rem + env(safe-area-inset-bottom,0px))!important;width:52px!important;height:52px!important}
.wa-float svg{width:28px!important;height:28px!important}
body.oc-open .wa-float{display:none}

.oc-panel{position:fixed;right:calc(1.25rem + env(safe-area-inset-right,0px));bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));z-index:60;width:min(400px,calc(100vw - 2.5rem));height:min(640px,calc(100vh - 7rem));background:#fff;color:#0E1A33;border-radius:18px;box-shadow:0 30px 70px -20px rgba(7,20,38,.55),0 0 0 1px rgba(14,26,51,.06);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(12px) scale(.98);pointer-events:none;transition:opacity .2s,transform .2s;font-family:var(--font,system-ui)}
.oc-panel.open{opacity:1;transform:none;pointer-events:auto}
@media (prefers-reduced-motion: reduce){.oc-panel,.oc-launch{transition:none}}
.oc-head{background:#071426;color:#fff;padding:1rem 1.1rem;display:flex;align-items:center;gap:.8rem;flex:none}
.oc-avatar{width:40px;height:40px;border-radius:12px;background:#1A2A6C;display:grid;place-items:center;flex:none;border:1px solid rgba(245,130,31,.6)}
.oc-avatar svg{width:20px;height:20px;color:#F5821F}
.oc-title b{display:block;font-size:1rem}
.oc-title span{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:#AFC0E6}
.oc-title span::before{content:"";width:7px;height:7px;border-radius:50%;background:#2BD67B}
.oc-x{margin-left:auto;width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;cursor:pointer;font-size:1.2rem;line-height:1}
.oc-x:hover{border-color:#fff}
.oc-body{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.7rem;background:#F6F8FB;overscroll-behavior:contain}
.oc-msg{max-width:88%;padding:.7rem .9rem;border-radius:14px;font-size:.95rem;line-height:1.55;word-wrap:break-word}
.oc-msg p{margin:0 0 .5rem}.oc-msg p:last-child{margin:0}
.oc-msg ul{margin:.2rem 0 .5rem;padding-left:1.1rem}.oc-msg li{margin:.15rem 0}
.oc-msg a{color:#1A2A6C;font-weight:600;text-decoration:underline}
.oc-bot{align-self:flex-start;background:#fff;border:1px solid #E3E8F0;border-bottom-left-radius:4px}
.oc-user{align-self:flex-end;background:#1A2A6C;color:#fff;border-bottom-right-radius:4px}
.oc-user a{color:#fff}
.oc-err{align-self:flex-start;background:#FFF4EC;border:1px solid #F7C9A3}
.oc-typing{display:flex;gap:4px;align-items:center;padding:.85rem 1rem}
.oc-typing i{width:7px;height:7px;border-radius:50%;background:#9FB0CC;animation:ocb 1.2s infinite}
.oc-typing i:nth-child(2){animation-delay:.15s}.oc-typing i:nth-child(3){animation-delay:.3s}
@keyframes ocb{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.oc-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}
.oc-chips button{font:600 .85rem var(--font,system-ui);color:#1A2A6C;background:#fff;border:1px solid #D5DCE8;border-radius:20px;padding:.45rem .8rem;cursor:pointer;min-height:36px}
.oc-chips button:hover{border-color:#1A2A6C}
.oc-actions{display:flex;gap:.5rem;padding:.6rem 1rem 0;background:#fff;flex:none}
.oc-actions a,.oc-actions button{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;font:600 .84rem var(--font,system-ui);border-radius:10px;padding:.5rem .6rem;min-height:38px;border:1px solid #E3E8F0;background:#fff;color:#0E1A33;cursor:pointer;text-decoration:none}
.oc-actions a:hover,.oc-actions button:hover{border-color:#1A2A6C}
.oc-actions svg{width:16px;height:16px}
.oc-actions .oc-wa svg{color:#25D366}
.oc-form{display:flex;gap:.5rem;padding:.7rem 1rem;background:#fff;flex:none;align-items:flex-end}
.oc-form textarea{flex:1;resize:none;max-height:120px;min-height:44px;font:400 .95rem/1.4 var(--font,system-ui);padding:.65rem .8rem;border:1.5px solid #E3E8F0;border-radius:12px;color:#0E1A33;background:#fff}
.oc-form textarea:focus{outline:none;border-color:#1A2A6C}
.oc-send{width:44px;height:44px;border-radius:12px;border:0;background:#F5821F;color:#1B1206;cursor:pointer;display:grid;place-items:center;flex:none}
.oc-send:disabled{opacity:.5;cursor:default}
.oc-send svg{width:20px;height:20px}
.oc-foot{font-size:.74rem;color:#5A6780;text-align:center;padding:0 1rem .7rem;background:#fff;flex:none}
.oc-foot a{color:#5A6780;text-decoration:underline}
.oc-lead{background:#fff;border:1px solid #E3E8F0;border-radius:14px;padding:.9rem;display:grid;gap:.5rem;align-self:stretch}
.oc-lead b{font-size:.95rem}
.oc-lead input,.oc-lead select,.oc-lead textarea{font:400 .92rem var(--font,system-ui);padding:.55rem .7rem;border:1.5px solid #E3E8F0;border-radius:9px;width:100%;color:#0E1A33;background:#fff}
.oc-lead input:focus,.oc-lead select:focus,.oc-lead textarea:focus{outline:none;border-color:#1A2A6C}
.oc-lead label.oc-ck{display:flex;gap:.5rem;align-items:flex-start;font-size:.82rem;color:#5A6780}
.oc-lead label.oc-ck input{width:18px;height:18px;flex:none;margin-top:.1rem;accent-color:#F5821F;padding:0}
.oc-lead .oc-row{display:flex;gap:.5rem}
.oc-lead .oc-row button{flex:1;font:600 .9rem var(--font,system-ui);border-radius:9px;padding:.6rem;cursor:pointer;border:1px solid #E3E8F0;background:#fff;color:#0E1A33}
.oc-lead .oc-row button.pri{background:#F5821F;border-color:#F5821F;color:#1B1206}
.oc-lead .oc-e{color:#C0392B;font-size:.82rem;min-height:0}
@media (max-width:760px){
  .oc-launch{height:54px;padding:0 1rem 0 .8rem;right:calc(1rem + env(safe-area-inset-right,0px));bottom:calc(1rem + env(safe-area-inset-bottom,0px));font-size:.92rem}
  .oc-launch .oc-label-long{display:none}
  .wa-float{bottom:calc(5.1rem + env(safe-area-inset-bottom,0px))!important;right:calc(1rem + env(safe-area-inset-right,0px))!important}
  .oc-panel{right:0;bottom:0;width:100vw;height:100%;max-height:100dvh;border-radius:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
  body.oc-open{overflow:hidden}
}
body:has(.mobile-menu.open) .oc-launch{display:none}
@media print{.oc-launch,.oc-panel{display:none}}
