/* ---------- chat ---------- */
.atc{
  --atc-deep:#0B2C2B; --atc-brand:#12403F; --atc-lime:#C6D64A; --atc-lime-soft:#B5C53C;
  --atc-paper:#F5F2EC; --atc-rule:#DDD3C2; --atc-ink:#171310; --atc-soft:#4A423B; --atc-muted:#7A7166; --atc-char:#14171A;
  --atc-r:8px; --atc-shadow:0 12px 36px rgba(11,44,43,.30);
  font-family:'Bitter',Georgia,serif;
  position:fixed; right:20px; bottom:20px; z-index:99999;
  display:block !important; /* the markup is hidden inline until this file arrives */
}
.atc *,.atc *::before,.atc *::after{box-sizing:border-box;}
.atc .atc-hidden{display:none !important;}
.atc button{font:inherit;}
.atc-teaser{position:absolute; right:0; bottom:76px; width:284px; background:#fff; border:1px solid var(--atc-rule); border-radius:12px; box-shadow:0 8px 24px rgba(11,44,43,.18); padding:12px 30px 12px 12px; display:flex; gap:10px; align-items:flex-start; cursor:pointer; animation:atc-in .45s cubic-bezier(.34,1.56,.64,1); transition:transform .15s, box-shadow .15s;}
.atc-teaser:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(11,44,43,.25);}
@keyframes atc-in{from{opacity:0; transform:translateY(8px) scale(.96);}to{opacity:1; transform:none;}}
.atc-avatar{flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:var(--atc-brand); color:var(--atc-lime); display:flex; align-items:center; justify-content:center; font-family:'Saira Condensed','Arial Narrow',sans-serif; font-weight:800; font-size:14px; letter-spacing:.04em;}
.atc-teaser-text{flex:1; min-width:0;}
.atc-teaser-name{font-family:'Saira Condensed','Arial Narrow',sans-serif; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--atc-ink); margin-bottom:3px; line-height:1.2;}
.atc-teaser-name span{font-weight:600; color:var(--atc-muted);}
.atc-teaser-msg{font-size:14px; line-height:1.45; color:var(--atc-ink);}
.atc-teaser-x{position:absolute; top:6px; right:6px; width:22px; height:22px; padding:0; border:0; border-radius:50%; background:transparent !important; color:var(--atc-muted) !important; display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:.7;}
.atc-teaser-x:hover{opacity:1; background:var(--atc-rule) !important; color:var(--atc-ink) !important;}
.atc-bubble{position:relative; width:60px; height:60px; padding:0; border-radius:50%; background:var(--atc-brand); color:var(--atc-lime); border:2px solid var(--atc-lime); box-shadow:var(--atc-shadow); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:transform .2s, background .2s;}
.atc-bubble:hover{background:var(--atc-deep); transform:scale(1.05);}
.atc-dot{position:absolute; top:3px; right:3px; width:13px; height:13px; border-radius:50%; background:var(--atc-lime); border:2px solid var(--atc-brand); animation:atc-pulse 2s infinite;}
@keyframes atc-pulse{0%{box-shadow:0 0 0 0 rgba(198,214,74,.6);}70%{box-shadow:0 0 0 10px rgba(198,214,74,0);}100%{box-shadow:0 0 0 0 rgba(198,214,74,0);}}
.atc-panel{position:absolute; right:0; bottom:0; width:380px; max-width:calc(100vw - 24px); height:580px; max-height:calc(100vh - 24px); background:var(--atc-paper); border-radius:14px; box-shadow:var(--atc-shadow); display:flex; flex-direction:column; overflow:hidden;}
.atc-head{background:var(--atc-brand); color:#FDF8F0; padding:14px 14px 14px 18px; display:flex; justify-content:space-between; align-items:center; border-bottom:3px solid var(--atc-lime);}
.atc-title{font-family:'Saira Condensed','Arial Narrow',sans-serif; font-size:18px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; line-height:1.1;}
.atc-title span{font-weight:600; font-size:14px; opacity:.75; margin-left:6px;}
.atc-status{font-size:12px; opacity:.82; margin-top:4px; display:flex; align-items:center; gap:6px;}
.atc-live{width:7px; height:7px; border-radius:50%; background:var(--atc-lime); box-shadow:0 0 6px rgba(198,214,74,.7);}
.atc-head-btns{display:flex; gap:2px;}
.atc-min,.atc-close{background:transparent !important; border:0; color:#FDF8F0 !important; padding:6px; border-radius:6px; opacity:.75; cursor:pointer; display:flex; line-height:1;}
.atc-min:hover,.atc-close:hover,.atc-min:focus-visible,.atc-close:focus-visible{opacity:1; background:rgba(255,255,255,.12) !important; outline:none;}
.atc-log{flex:1; overflow-y:auto; padding:18px; display:flex; flex-direction:column; gap:12px;}
.atc-msg{max-width:86%; padding:11px 15px; border-radius:12px; font-size:15px; line-height:1.5; overflow-wrap:anywhere;}
.atc-msg.bot{align-self:flex-start; background:#fff; color:var(--atc-ink); border:1px solid var(--atc-rule); border-bottom-left-radius:4px;}
.atc-msg.you{align-self:flex-end; background:var(--atc-brand); color:#FDF8F0; border-bottom-right-radius:4px;}
.atc-msg p{margin:0 0 8px;} .atc-msg p:last-child{margin:0;}
.atc-msg a{display:inline-block; margin-top:6px; padding:9px 16px; background:var(--atc-lime) !important; color:var(--atc-char) !important; border-radius:var(--atc-r); text-decoration:none !important; font-family:'Saira Condensed','Arial Narrow',sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:.05em; font-size:14px; line-height:1.3; transition:background .15s, transform .15s;}
.atc-msg a:hover,.atc-msg a:focus-visible{background:var(--atc-lime-soft) !important; transform:translateY(-1px); outline:none;}
.atc-msg.err{align-self:stretch; max-width:none; text-align:center; font-size:13px; background:rgba(179,45,46,.07); color:#8E2425; border:1px solid rgba(179,45,46,.22);}
.atc-typing{align-self:flex-start; display:inline-flex; gap:4px; padding:13px 16px; background:#fff; border:1px solid var(--atc-rule); border-radius:12px; border-bottom-left-radius:4px;}
.atc-typing span{width:6px; height:6px; border-radius:50%; background:var(--atc-muted); animation:atc-bounce 1.2s infinite ease-in-out;}
.atc-typing span:nth-child(2){animation-delay:.15s;} .atc-typing span:nth-child(3){animation-delay:.3s;}
@keyframes atc-bounce{0%,60%,100%{transform:none; opacity:.4;}30%{transform:translateY(-4px); opacity:1;}}
.atc-ctas{display:flex; gap:8px; padding:10px 12px; border-top:1px solid var(--atc-rule); background:var(--atc-paper);}
.atc-cta{flex:1 1 0; text-align:center; padding:9px 8px; border-radius:var(--atc-r); border:1.5px solid var(--atc-brand); color:var(--atc-brand) !important; background:transparent; text-decoration:none !important; font-family:'Saira Condensed','Arial Narrow',sans-serif; font-weight:800; font-size:14px; line-height:1.25; text-transform:uppercase; letter-spacing:.05em; transition:background .15s;}
.atc-cta:hover,.atc-cta:focus-visible{background:rgba(18,64,63,.07); outline:none;}
.atc-cta--main{background:var(--atc-lime); border-color:var(--atc-lime); color:var(--atc-char) !important;}
.atc-cta--main:hover,.atc-cta--main:focus-visible{background:var(--atc-lime-soft);}
.atc-input-row{display:flex; gap:8px; align-items:flex-end; padding:12px; background:#fff; border-top:1px solid var(--atc-rule);}
#atc-input{flex:1 1 auto; min-width:0; width:auto; resize:none; max-height:120px; padding:10px 12px; border:1px solid var(--atc-rule); border-radius:var(--atc-r); background:var(--atc-paper); color:var(--atc-ink); font:16px/1.4 'Bitter',Georgia,serif; outline:none; margin:0;}
#atc-input::placeholder{color:var(--atc-muted);}
#atc-input:focus{border-color:var(--atc-brand);}
#atc-send{flex:0 0 42px; width:42px; height:42px; padding:0; border:0; border-radius:50%; background:var(--atc-lime); color:var(--atc-char); display:flex; align-items:center; justify-content:center; cursor:pointer;}
#atc-send svg{transform:translateX(-1px);}
#atc-send:hover{background:var(--atc-lime-soft);}
#atc-send:disabled{background:var(--atc-rule); color:var(--atc-muted); cursor:not-allowed;}
.atc-foot{text-align:center; font-size:11px; color:var(--atc-muted); padding:6px 0 9px; background:#fff;}
.atc-foot a{color:var(--atc-brand); text-decoration:underline;}
@media (max-width:480px){
  .atc{right:12px; bottom:12px;}
  .atc-panel{width:calc(100vw - 24px); height:min(580px, calc(100vh - 80px));}
  .atc-teaser{width:calc(100vw - 24px);}
  .atc-msg{font-size:16px;}
}
@media (prefers-reduced-motion:reduce){ .atc-teaser,.atc-dot,.atc-typing span{animation:none;} }
