/* ==========================================================================
   Ask Ironhawk — website assistant widget
   Closed by default. No auto-open, no sound, no unsolicited greeting.
   ========================================================================== */

.ask-dock{
  position:fixed; right:22px; bottom:22px; z-index:250;
  display:flex; flex-direction:column; align-items:flex-end; gap:.55rem;
}
.ask-label{
  background:var(--navy); color:#fff; border:1px solid rgba(42,140,255,.5);
  border-radius:999px; padding:.42rem .95rem; cursor:pointer;
  font-family:var(--font-head); font-weight:600; font-size:.82rem; letter-spacing:.01em;
  box-shadow:0 6px 18px rgba(2,11,22,.35);
  transition:border-color .15s ease, transform .15s ease;
}
.ask-label:hover{ border-color:var(--blue-hi); transform:translateY(-1px); }
.ask-launch{
  width:56px; height:56px; border-radius:50%;
  background:var(--navy); border:1px solid rgba(42,140,255,.55);
  color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(2,11,22,.45);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.ask-launch:hover{ transform:translateY(-2px); border-color:var(--blue-hi); box-shadow:0 12px 30px rgba(0,108,255,.35); }
.ask-launch svg{ width:24px; height:24px; }

.ask-panel{
  position:fixed; right:22px; bottom:22px; z-index:251;
  width:382px; max-width:calc(100vw - 32px);
  height:560px; max-height:calc(100vh - 110px);
  background:#fff; border:1px solid var(--line-light); border-radius:14px;
  box-shadow:0 28px 70px rgba(2,11,22,.35);
  display:none; flex-direction:column; overflow:hidden;
}
.ask-panel.open{ display:flex; }
@media (max-width: 480px){
  .ask-panel{ right:8px; left:8px; bottom:8px; width:auto; height:calc(100vh - 90px); }
}

.ask-head{
  background:linear-gradient(160deg, var(--navy), var(--ink));
  color:#fff; padding:1rem 1.1rem; display:flex; align-items:flex-start; gap:.8rem;
  border-bottom:2px solid var(--blue);
}
.ask-head img{ width:34px; height:auto; flex:none; margin-top:2px; }
.ask-head h2{ font-family:var(--font-head); font-size:1.05rem; margin:0; color:#fff; letter-spacing:0; }
.ask-head p{ margin:.15rem 0 0; font-size:.76rem; color:var(--gray); }
.ask-close{
  margin-left:auto; background:none; border:0; color:var(--gray); cursor:pointer;
  font-size:1.5rem; line-height:1; padding:.1rem .3rem; border-radius:6px;
}
.ask-close:hover{ color:#fff; }

.ask-body{ flex:1; overflow-y:auto; padding:1rem; background:var(--bg-light); }
.ask-intro{ font-size:.86rem; color:var(--steel); margin:0 0 .9rem; }

.ask-chips{ display:flex; flex-direction:column; gap:.45rem; margin-bottom:.6rem; }
.ask-chip{
  text-align:left; background:#fff; border:1px solid var(--line-light); border-radius:8px;
  padding:.55rem .75rem; font-family:var(--font-body); font-size:.84rem; color:var(--navy);
  cursor:pointer; transition:border-color .12s ease, background .12s ease;
}
.ask-chip:hover{ border-color:var(--blue); background:rgba(0,108,255,.05); }

.ask-msg{ display:flex; margin:.55rem 0; }
.ask-msg .bubble{
  max-width:86%; padding:.6rem .85rem; border-radius:10px; font-size:.88rem; line-height:1.55;
  white-space:normal; word-wrap:break-word;
}
.ask-msg.user{ justify-content:flex-end; }
.ask-msg.user .bubble{ background:var(--blue-deep); color:#fff; border-bottom-right-radius:3px; }
.ask-msg.bot .bubble{ background:#fff; border:1px solid var(--line-light); color:var(--ink); border-bottom-left-radius:3px; }
.ask-msg.bot .bubble a{ color:var(--blue-deep); text-decoration:underline; }
.ask-msg.bot.error .bubble{ background:#FBEDEC; border-color:#F0C8C4; color:#8A2A21; }
.ask-retry{
  display:inline-block; margin-top:.5rem; background:none; border:1px solid #8A2A21; color:#8A2A21;
  border-radius:6px; padding:.25rem .7rem; font-size:.78rem; cursor:pointer;
}
.ask-typing .bubble{ color:var(--steel); font-style:italic; }
.ask-typing .bubble::after{ content:"…"; animation:askDots 1.2s steps(4) infinite; }
@keyframes askDots{ 0%{ content:""; } 25%{ content:"."; } 50%{ content:".."; } 75%{ content:"..."; } }
@media (prefers-reduced-motion: reduce){ .ask-typing .bubble::after{ animation:none; content:"..."; } }

.ask-foot{ border-top:1px solid var(--line-light); background:#fff; padding:.7rem .8rem .6rem; }
.ask-form{ display:flex; gap:.5rem; }
.ask-input{
  flex:1; border:1px solid #C9D2DE; border-radius:8px; padding:.55rem .7rem;
  font-family:var(--font-body); font-size:.88rem; color:var(--ink); resize:none; height:42px;
}
.ask-input:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,108,255,.14); }
.ask-send{
  background:var(--blue-deep); color:#fff; border:0; border-radius:8px; padding:0 .95rem;
  font-family:var(--font-head); font-weight:600; font-size:.86rem; cursor:pointer;
}
.ask-send:disabled{ opacity:.5; cursor:default; }
.ask-disclaimer{
  margin:.55rem 0 0; font-size:.68rem; color:var(--steel); text-align:center; line-height:1.4;
}
