/* ═══════════════════════════════════════════════
   AETHOL by Meghna — website assistant (chat bubble)
   Uses only the brand colours and fonts from aethol.css.
   ═══════════════════════════════════════════════ */

.ac-launch{
  position:fixed;right:22px;bottom:22px;z-index:85;
  width:62px;height:62px;border-radius:50%;cursor:pointer;padding:0;
  background:var(--ivory);border:1px solid var(--gold-light);
  box-shadow:0 0 0 5px var(--ivory),0 0 0 6px var(--gold-pale),0 14px 34px rgba(13,26,17,.18);
  display:grid;place-items:center;transition:transform .35s var(--ease),bottom .4s var(--ease);
}
.ac-launch:hover{transform:translateY(-2px)}
.ac-launch img{width:40px;height:40px;object-fit:contain}
/* small speech-bubble badge so the crest reads as "chat" */
.ac-launch__badge{
  position:absolute;right:-3px;bottom:-3px;width:24px;height:24px;border-radius:50%;
  background:var(--ink);border:2px solid var(--ivory);display:grid;place-items:center;
}
.ac-launch__badge svg{width:12px;height:12px;fill:var(--gold-light)}
.ac-launch[aria-expanded="true"] .ac-launch__label{opacity:0}
.ac-launch[aria-expanded="true"]{transform:scale(.9)}
.ac-launch__label{
  position:absolute;right:calc(100% + 16px);top:50%;transform:translateY(-50%);
  white-space:nowrap;background:var(--ink);color:var(--ivory);
  font-family:var(--body);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  padding:.55rem .85rem;pointer-events:none;opacity:0;transition:opacity .4s var(--ease);
}
.ac-launch__label[data-show="true"]{opacity:1}
/* keep clear of the install invitation when it is showing */
body:has(.install[data-show="true"]) .ac-launch{bottom:104px}

.ac-panel{
  position:fixed;right:22px;bottom:102px;z-index:95;
  width:min(390px,calc(100vw - 32px));height:min(600px,calc(100vh - 140px));
  background:var(--ivory);border:1px solid var(--gold-pale);
  box-shadow:0 24px 60px rgba(13,26,17,.22);
  display:flex;flex-direction:column;font-family:var(--body);color:var(--ink);
  opacity:0;transform:translateY(14px);pointer-events:none;visibility:hidden;
  transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s;
}
.ac-panel[data-open="true"]{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .3s var(--ease),transform .3s var(--ease)}

.ac-head{
  background:var(--ink);color:var(--ivory);padding:1rem 1.1rem;
  display:flex;align-items:center;gap:.8rem;border-bottom:2px solid var(--gold);
}
.ac-head img{width:34px;height:34px;background:var(--ivory);border-radius:50%;padding:3px}
.ac-head__t{flex:1;line-height:1.15}
.ac-head__t b{display:block;font-family:var(--display);font-weight:400;font-size:1.15rem;letter-spacing:.14em}
.ac-head__t span{font-family:var(--script);font-style:italic;font-size:1rem;color:var(--gold-light)}
.ac-close{background:none;border:0;color:var(--gold-light);font-size:1.5rem;line-height:1;cursor:pointer;padding:.2rem .4rem}

.ac-log{flex:1;overflow-y:auto;padding:1.1rem 1rem .6rem;display:flex;flex-direction:column;gap:.7rem;overscroll-behavior:contain}
.ac-msg{max-width:86%;padding:.65rem .85rem;font-size:.92rem;line-height:1.55;white-space:pre-wrap;word-wrap:break-word}
.ac-msg--bot{align-self:flex-start;background:var(--ivory-deep);border-left:2px solid var(--gold-light);color:#1f2d23}
.ac-msg--user{align-self:flex-end;background:var(--ink);color:var(--ivory)}
.ac-msg--note{align-self:stretch;max-width:none;background:transparent;border:1px dashed var(--gold-pale);color:#5a5246;font-size:.84rem}
.ac-msg a{color:var(--gold);text-underline-offset:2px}
.ac-msg--user a{color:var(--gold-light)}

.ac-typing{align-self:flex-start;display:flex;gap:5px;padding:.8rem .9rem;background:var(--ivory-deep);border-left:2px solid var(--gold-light)}
.ac-typing i{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:ac-dot 1.1s infinite ease-in-out}
.ac-typing i:nth-child(2){animation-delay:.15s}.ac-typing i:nth-child(3){animation-delay:.3s}
@keyframes ac-dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

.ac-chips{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 1rem .7rem}
.ac-chip{
  background:transparent;border:1px solid var(--gold);color:var(--ink);cursor:pointer;
  font-size:.78rem;padding:.42rem .7rem;line-height:1.3;text-align:left;transition:background .25s,color .25s;
}
.ac-chip:hover{background:var(--gold);color:var(--ivory)}

.ac-form{display:flex;gap:.5rem;padding:.7rem 1rem;border-top:1px solid var(--gold-pale);background:var(--ivory)}
.ac-input{
  flex:1;resize:none;border:1px solid var(--gold-pale);background:#fff;color:var(--ink);
  font:inherit;font-size:.92rem;line-height:1.4;padding:.6rem .7rem;max-height:120px;min-height:42px;
}
.ac-input:focus{outline:none;border-color:var(--gold)}
.ac-send{
  flex:none;border:1px solid var(--ink);background:var(--ink);color:var(--ivory);cursor:pointer;
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;padding:0 1rem;
}
.ac-send:hover{background:var(--forest);border-color:var(--forest)}
.ac-send:disabled,.ac-input:disabled{opacity:.5;cursor:not-allowed}

.ac-foot{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.55rem 1rem .8rem;font-size:.72rem;color:#6b6356;line-height:1.35}
.ac-wa{
  flex:none;text-decoration:none;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  color:var(--ivory);background:var(--forest);padding:.5rem .7rem;white-space:nowrap;
}
.ac-wa:hover{background:var(--ink)}

/* phones: the conversation takes the whole screen */
@media(max-width:520px){
  .ac-launch{right:16px;bottom:16px;width:56px;height:56px}
  .ac-launch img{width:36px;height:36px}
  .ac-launch__label{display:none}
  .ac-panel{inset:0;width:auto;height:auto;border:0;box-shadow:none;transform:translateY(24px)}
  .ac-head{padding-top:calc(1rem + env(safe-area-inset-top))}
  .ac-foot{padding-bottom:calc(.8rem + env(safe-area-inset-bottom))}
}
@media (display-mode: standalone){
  .ac-launch{bottom:calc(22px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion: reduce){
  .ac-launch,.ac-panel,.ac-launch__label{transition:none}
  .ac-typing i{animation:none;opacity:.6}
}

/* ── voice calls: the Talk button and the call controls ── */
.ac-talk{
  flex:none;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;
  border:1px solid var(--gold);background:transparent;color:var(--ink);
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:0 .75rem;
}
.ac-talk svg{width:16px;height:16px;fill:var(--gold)}
.ac-talk:hover{background:var(--gold);color:var(--ivory)}
.ac-talk:hover svg{fill:var(--ivory)}
.ac-talk:disabled{opacity:.5;cursor:not-allowed}
.ac-talk[hidden]{display:none}
.ac-panel[data-call="true"] .ac-form,.ac-panel[data-call="true"] .ac-chips{display:none}

.ac-call{
  display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.55rem .9rem;align-items:center;
  padding:.85rem 1rem;border-top:1px solid var(--gold-pale);background:var(--ivory-deep);
}
.ac-orb{--level:0;position:relative;width:58px;height:58px;grid-row:span 2;display:grid;place-items:center}
.ac-orb img{position:relative;width:46px;height:46px;border-radius:50%;background:var(--ivory);padding:5px;border:1px solid var(--gold-light)}
.ac-orb__ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--gold-light);opacity:.55;
  transform:scale(calc(1 + var(--level) * .35));transition:transform .12s linear}
.ac-orb[data-state="connecting"] .ac-orb__ring{animation:ac-wait 1.4s ease-in-out infinite}
.ac-orb[data-state="speaking"] .ac-orb__ring{border-color:var(--gold);opacity:.9;animation:ac-speak .9s ease-in-out infinite}
.ac-orb[data-state="muted"] .ac-orb__ring{border-color:var(--garnet);border-style:dashed;transform:none}
@keyframes ac-wait{0%,100%{transform:scale(.9);opacity:.3}50%{transform:scale(1.1);opacity:.8}}
@keyframes ac-speak{0%,100%{transform:scale(1.04)}50%{transform:scale(1.22)}}
.ac-call__text{min-width:0}
.ac-call__status{margin:0;font-family:var(--display);font-size:1.12rem;letter-spacing:.04em;line-height:1.2}
.ac-call__time{margin:.1rem 0 0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.ac-call__time:empty{display:none}
.ac-call__btns{display:flex;gap:.5rem}
.ac-call__btns button{
  cursor:pointer;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:.55rem .85rem;
  border:1px solid var(--gold);background:transparent;color:var(--ink);
}
.ac-call__btns .ac-end{background:var(--garnet);border-color:var(--garnet);color:var(--ivory)}
.ac-call__btns .ac-end:hover{background:#8e1b14}
.ac-call__btns .ac-mute[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--ivory)}
@media(max-width:380px){.ac-talk span{display:none}.ac-talk{padding:0 .6rem}}
@media (prefers-reduced-motion: reduce){.ac-orb__ring{animation:none!important;transition:none}}
