/* AI Dock – frontend. All selectors are prefixed with .ai-dock (+ extra specificity) so theme styles don't leak in. */
.ai-dock,
.ai-dock *{box-sizing:border-box}

.ai-dock{
  --ai-accent:#958357;
  --ai-accent-soft:rgba(149,131,87,.35);
  --ai-ink:#344054;
  --ai-line:#E6E9EE;

  position:fixed;
  right:0;
  top:42%;
  transform:translateY(-50%);
  z-index:99999;
  font-family:inherit;
  font-size:14px;
  line-height:1.3;
}
.ai-dock.ai-dock--left{right:auto;left:0}

/* ---------- Tab ---------- */
.ai-dock .ai-dock__tab{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  width:auto;height:auto;min-width:56px;min-height:0;margin:0;padding:14px 6px;
  background:#fff;color:var(--ai-ink);
  border:1px solid var(--ai-line);border-right:0;
  border-radius:16px 0 0 16px;
  box-shadow:-4px 6px 20px rgba(16,24,40,.10);
  font:inherit;text-transform:none;letter-spacing:normal;text-shadow:none;
  cursor:pointer;
  transition:background .2s ease, box-shadow .2s ease;
}
.ai-dock.ai-dock--left .ai-dock__tab{
  border-right:1px solid var(--ai-line);border-left:0;
  border-radius:0 16px 16px 0;
  box-shadow:4px 6px 20px rgba(16,24,40,.10);
}
.ai-dock .ai-dock__tab:hover,
.ai-dock .ai-dock__tab:focus-visible{
  background:#F8FAFC;color:var(--ai-ink);
  box-shadow:-4px 6px 20px rgba(16,24,40,.10), inset 0 0 0 1px var(--ai-accent-soft);
  outline:none;
}
.ai-dock.ai-dock--left .ai-dock__tab:hover,
.ai-dock.ai-dock--left .ai-dock__tab:focus-visible{
  box-shadow:4px 6px 20px rgba(16,24,40,.10), inset 0 0 0 1px var(--ai-accent-soft);
}
.ai-dock .ai-dock__icon{
  width:38px;height:38px;border-radius:50%;
  background:var(--ai-accent);color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.ai-dock .ai-dock__icon svg{width:19px;height:19px;display:block}
.ai-dock .ai-dock__label{
  font-size:11px;font-weight:600;color:var(--ai-ink);
  text-align:center;line-height:1.1;
}

/* ---------- Panel ---------- */
.ai-dock .ai-dock__panel{
  position:absolute;
  right:calc(100% + 12px);
  top:50%;
  width:320px;
  max-height:80vh;
  overflow-y:auto;
  margin:0;padding:16px;
  background:#fff;color:var(--ai-ink);
  border:1px solid var(--ai-line);
  border-radius:16px;
  box-shadow:0 12px 32px rgba(16,24,40,.16);
  text-align:left;

  opacity:0;
  visibility:hidden;
  transform:translateY(-50%) translateX(8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s;
}
.ai-dock.ai-dock--left .ai-dock__panel{
  right:auto;left:calc(100% + 12px);
  transform:translateY(-50%) translateX(-8px);
}
.ai-dock.is-open .ai-dock__panel,
.ai-dock.ai-dock--left.is-open .ai-dock__panel{
  opacity:1;
  visibility:visible;
  transform:translateY(-50%) translateX(0);
}

.ai-dock .ai-dock__head{
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;margin:0 0 12px;padding:0;
}
.ai-dock .ai-dock__title{
  margin:0;padding:0;border:0;
  font-family:inherit;font-size:15px;font-weight:700;color:var(--ai-ink);
  line-height:1.3;text-transform:none;letter-spacing:normal;
}
.ai-dock .ai-dock__close,
.ai-dock .ai-dock__back{
  flex:none;width:auto;height:auto;min-height:0;margin:0;
  border:0;background:transparent;box-shadow:none;cursor:pointer;
  color:var(--ai-ink);font-family:inherit;font-size:13px;font-weight:600;line-height:1.3;
  text-transform:none;letter-spacing:normal;
  padding:6px 8px;border-radius:8px;
}
.ai-dock .ai-dock__close{font-size:20px;line-height:1;padding:2px 8px}
.ai-dock .ai-dock__close:hover,
.ai-dock .ai-dock__back:hover,
.ai-dock .ai-dock__close:focus-visible,
.ai-dock .ai-dock__back:focus-visible{
  background:#F5F7FA;color:var(--ai-ink);outline:none;
}

/* Steps: only one visible at a time */
.ai-dock .ai-dock__step{display:none}
.ai-dock[data-step="questions"] .ai-dock__step--questions{display:block}
.ai-dock[data-step="providers"] .ai-dock__step--providers{display:block}

/* ---------- Questions ---------- */
.ai-dock .ai-dock__list{display:flex;flex-direction:column;gap:8px}

.ai-dock .ai-dock__q{
  display:block;width:100%;height:auto;min-height:0;margin:0;
  text-align:left;
  padding:11px 14px;
  font-family:inherit;font-size:14px;font-weight:500;color:var(--ai-ink);line-height:1.3;
  text-transform:none;letter-spacing:normal;text-shadow:none;box-shadow:none;
  background:#F5F7FA;
  border:1px solid transparent;
  border-radius:12px;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease;
}
.ai-dock .ai-dock__q:hover,
.ai-dock .ai-dock__q:focus-visible{
  background:#fff;color:var(--ai-ink);
  border-color:var(--ai-accent);
  outline:none;
}
.ai-dock .ai-dock__q.ai-dock__q--other{
  background:transparent;
  border:1px dashed #C9CED6;
  color:#667085;
}
.ai-dock .ai-dock__q.ai-dock__q--other:hover,
.ai-dock .ai-dock__q.ai-dock__q--other:focus-visible{
  background:#fff;border-color:var(--ai-accent);
}

/* Custom question */
.ai-dock .ai-dock__custom{display:none;margin-top:8px}
.ai-dock .ai-dock__custom.is-visible{display:block}
.ai-dock .ai-dock__input{
  display:block;width:100%;min-height:76px;height:auto;margin:0;resize:vertical;
  padding:10px 12px;
  font-family:inherit;font-size:14px;color:var(--ai-ink);line-height:1.4;
  background:#fff;box-shadow:none;
  border:1px solid #D0D5DD;border-radius:12px;
}
.ai-dock .ai-dock__input:focus{
  border-color:var(--ai-accent);
  box-shadow:0 0 0 3px var(--ai-accent-soft);
  outline:none;
}
.ai-dock .ai-dock__go{
  display:block;width:100%;height:auto;min-height:0;margin:8px 0 0;
  padding:10px 14px;
  font-family:inherit;font-size:14px;font-weight:600;color:#fff;line-height:1.3;
  text-transform:none;letter-spacing:normal;text-shadow:none;box-shadow:none;
  background:var(--ai-accent);
  border:0;border-radius:12px;cursor:pointer;
}
.ai-dock .ai-dock__go:disabled{opacity:.45;cursor:not-allowed}
.ai-dock .ai-dock__go:not(:disabled):hover,
.ai-dock .ai-dock__go:not(:disabled):focus-visible{color:#fff;background:var(--ai-accent);filter:brightness(.92);outline:none}

/* ---------- Providers ---------- */
.ai-dock .ai-dock__chosen{
  margin:0 0 12px;padding:10px 12px;
  font-size:13px;line-height:1.4;color:var(--ai-ink);
  background:#F5F7FA;border-radius:12px;
}
.ai-dock .ai-dock__ask{margin:0 0 8px;padding:0;font-size:13px;font-weight:600;color:#667085}

.ai-dock .ai-dock__provider{
  display:flex;align-items:center;gap:12px;
  margin:0;padding:10px 12px;
  font-size:14px;font-weight:600;color:var(--ai-ink);text-decoration:none;
  background:transparent;
  border:1px solid var(--ai-line);border-radius:12px;box-shadow:none;
  transition:background .2s ease, border-color .2s ease;
}
.ai-dock .ai-dock__provider + .ai-dock__provider{margin-top:8px}
.ai-dock .ai-dock__provider:hover,
.ai-dock .ai-dock__provider:focus-visible{
  background:#F8FAFC;color:var(--ai-ink);border-color:var(--ai-accent);outline:none;text-decoration:none;
}
.ai-dock .ai-dock__provider img{width:24px;height:24px;max-width:none;display:block;margin:0;border-radius:6px;box-shadow:none}

/* ---------- Mobile: bottom sheet ---------- */
@media(max-width:767px){
  /* A transformed parent traps position:fixed children, so drop it on mobile */
  .ai-dock{transform:none}
  .ai-dock .ai-dock__panel,
  .ai-dock.ai-dock--left .ai-dock__panel{
    position:fixed;
    left:12px;right:12px;bottom:12px;top:auto;
    width:auto;
    max-height:calc(100vh - 24px);
    max-height:calc(100dvh - 24px);
    transform:translateY(12px);
  }
  .ai-dock.is-open .ai-dock__panel,
  .ai-dock.ai-dock--left.is-open .ai-dock__panel{transform:translateY(0)}
  .ai-dock.ai-dock--hide-mobile{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  .ai-dock,.ai-dock *{transition:none!important}
}
