/* ============================================================
   All is Well Health Care Academy — chat widget skin
   Self-contained. Brand tokens mirrored from assets/aiw.css:
   #662D91 purple (primary) · #A381BD lavender (accent only)
   Flat color, NO gradients. Font inherited from the page
   (Hanken Grotesk) with the same fallback stack.
   Include: <link rel="stylesheet" href="assets/css/aiw-chat.css">
   ============================================================ */

.aiwc-root{
  --aiwc-purple:#662D91;
  --aiwc-purple-deep:#4A2069;
  --aiwc-lavender:#A381BD;
  --aiwc-tint:#F3EEF8;
  --aiwc-line:#DCD2E7;
  --aiwc-ink:#221A2C;
  --aiwc-ink-soft:#5A4E66;
  --aiwc-bg:#FFFFFF;
  --aiwc-r:6px;
  --aiwc-r-lg:18px;
  --aiwc-font:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-family:var(--aiwc-font);
  font-size:15.5px;
  line-height:1.5;
  color:var(--aiwc-ink);
}
.aiwc-root *,
.aiwc-root *::before,
.aiwc-root *::after{box-sizing:border-box}

.aiwc-visually-hidden{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ---------- floating launcher ---------- */
.aiwc-launcher{
  position:fixed;right:22px;bottom:22px;z-index:1500;
  width:60px;height:60px;border-radius:50%;
  background:var(--aiwc-purple);color:#fff;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 24px rgba(102,45,145,.35);
  transition:background .2s,transform .25s cubic-bezier(.22,1,.36,1);
}
.aiwc-launcher:hover{background:var(--aiwc-purple-deep);transform:translateY(-2px)}
.aiwc-launcher:focus-visible{outline:3px solid var(--aiwc-lavender);outline-offset:3px}
.aiwc-launcher svg{width:26px;height:26px}
.aiwc-launcher .aiwc-ic-close{display:none}
.aiwc-open .aiwc-launcher .aiwc-ic-chat{display:none}
.aiwc-open .aiwc-launcher .aiwc-ic-close{display:block}

/* ---------- panel ---------- */
.aiwc-panel{
  position:fixed;right:22px;bottom:96px;z-index:1500;
  width:min(380px,calc(100vw - 44px));
  height:min(600px,calc(100vh - 130px));
  display:flex;flex-direction:column;
  background:var(--aiwc-bg);
  border:1px solid var(--aiwc-line);border-radius:var(--aiwc-r-lg);
  box-shadow:0 18px 60px rgba(34,26,44,.22);
  overflow:hidden;
  animation:aiwc-in .3s cubic-bezier(.22,1,.36,1);
}
.aiwc-panel[hidden]{display:none}
@keyframes aiwc-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.aiwc-head{
  display:flex;align-items:center;gap:12px;
  background:var(--aiwc-purple);color:#fff;padding:16px 18px;flex-shrink:0;
}
.aiwc-head-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.aiwc-head-txt strong{font-size:16px;font-weight:600;letter-spacing:.02em}
.aiwc-head-txt span{font-size:12.5px;font-weight:400;opacity:.85}
.aiwc-x{
  margin-left:auto;background:none;border:none;color:#fff;cursor:pointer;
  width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  transition:background .2s;flex-shrink:0;
}
.aiwc-x:hover{background:var(--aiwc-purple-deep)}
.aiwc-x:focus-visible{outline:2px solid #fff;outline-offset:2px}
.aiwc-x svg{width:20px;height:20px}

/* ---------- log ---------- */
.aiwc-log{
  flex:1;overflow-y:auto;padding:18px 16px;
  display:flex;flex-direction:column;gap:10px;
  background:var(--aiwc-bg);
  overscroll-behavior:contain;
}
.aiwc-msg{
  max-width:88%;padding:11px 14px;border-radius:14px;
  overflow-wrap:break-word;
}
.aiwc-bot{
  align-self:flex-start;background:var(--aiwc-tint);color:var(--aiwc-ink);
  border-bottom-left-radius:4px;
}
.aiwc-me{
  align-self:flex-end;background:var(--aiwc-purple);color:#fff;
  border-bottom-right-radius:4px;
}
.aiwc-bot a{color:var(--aiwc-purple);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.aiwc-note{display:block;margin-top:9px;font-size:13.5px;color:var(--aiwc-ink-soft)}
.aiwc-offline{
  color:var(--aiwc-purple-deep);font-weight:600;
  border-left:3px solid var(--aiwc-lavender);padding-left:10px;
}
.aiwc-dim{color:var(--aiwc-ink-soft);font-size:13px}
.aiwc-list{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:5px;font-size:14px}

/* ---------- quick-option chips ---------- */
.aiwc-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.aiwc-chip{
  font-family:inherit;font-size:13.5px;font-weight:600;
  color:var(--aiwc-purple);background:#fff;
  border:1px solid var(--aiwc-lavender);border-radius:999px;
  padding:7px 14px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;
}
.aiwc-chip:hover{background:var(--aiwc-purple);border-color:var(--aiwc-purple);color:#fff}
.aiwc-chip:focus-visible{outline:2px solid var(--aiwc-purple);outline-offset:2px}

/* ---------- program cards ---------- */
.aiwc-card{
  display:flex;flex-direction:column;gap:3px;
  background:#fff;border:1px solid var(--aiwc-line);border-radius:var(--aiwc-r);
  padding:11px 13px;margin-top:9px;
}
.aiwc-card strong{font-size:14.5px;font-weight:600;color:var(--aiwc-ink)}
.aiwc-card-meta{font-size:13px;color:var(--aiwc-ink-soft)}
.aiwc-card-links{display:flex;gap:14px;margin-top:5px;font-size:13.5px}
.aiwc-card-links a{color:var(--aiwc-purple);font-weight:600;text-decoration:none}
.aiwc-card-links a:hover{text-decoration:underline;text-underline-offset:2px}

/* ---------- in-chat lead form ---------- */
.aiwc-lead-form{display:flex;flex-direction:column;gap:4px;margin-top:12px}
.aiwc-lead-form label{
  font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--aiwc-ink-soft);margin-top:7px;
}
.aiwc-lead-form input,
.aiwc-lead-form select{
  font-family:inherit;font-size:14.5px;color:var(--aiwc-ink);
  background:#fff;border:1px solid var(--aiwc-line);border-radius:var(--aiwc-r);
  padding:9px 11px;width:100%;
}
.aiwc-lead-form input:focus,
.aiwc-lead-form select:focus{outline:2px solid var(--aiwc-purple);outline-offset:1px;border-color:var(--aiwc-purple)}
.aiwc-lead-send{
  margin-top:13px;font-family:inherit;font-size:14.5px;font-weight:600;
  background:var(--aiwc-purple);color:#fff;border:none;border-radius:var(--aiwc-r);
  padding:11px 16px;cursor:pointer;transition:background .2s;
}
.aiwc-lead-send:hover{background:var(--aiwc-purple-deep)}
.aiwc-lead-send:focus-visible{outline:2px solid var(--aiwc-purple-deep);outline-offset:2px}
.aiwc-lead-send[disabled]{opacity:.65;cursor:default}

/* ---------- input row ---------- */
.aiwc-inputrow{
  display:flex;gap:8px;padding:12px 14px;flex-shrink:0;
  border-top:1px solid var(--aiwc-line);background:var(--aiwc-bg);
}
.aiwc-inputrow input{
  flex:1;min-width:0;font-family:inherit;font-size:15px;color:var(--aiwc-ink);
  background:#fff;border:1px solid var(--aiwc-line);border-radius:999px;
  padding:10px 16px;
}
.aiwc-inputrow input:focus{outline:2px solid var(--aiwc-purple);outline-offset:1px;border-color:var(--aiwc-purple)}
.aiwc-send{
  width:44px;height:44px;border-radius:50%;flex-shrink:0;
  background:var(--aiwc-purple);color:#fff;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background .2s;
}
.aiwc-send:hover{background:var(--aiwc-purple-deep)}
.aiwc-send:focus-visible{outline:2px solid var(--aiwc-purple);outline-offset:2px}
.aiwc-send svg{width:19px;height:19px;margin-left:2px}

/* ---------- mobile: full-width bottom sheet ---------- */
@media (max-width:600px){
  .aiwc-panel{
    right:0;left:0;bottom:0;width:100%;
    height:min(82vh,82dvh);
    border-radius:var(--aiwc-r-lg) var(--aiwc-r-lg) 0 0;
    border-left:none;border-right:none;border-bottom:none;
  }
  .aiwc-open .aiwc-launcher{display:none} /* the panel's own close button takes over */
  .aiwc-inputrow{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .aiwc-panel{animation:none}
  .aiwc-launcher,.aiwc-chip,.aiwc-x,.aiwc-send,.aiwc-lead-send{transition:none}
  .aiwc-launcher:hover{transform:none}
}
