/* Zena guided-tour overlay. Brand: industrial black + Cluster terracotta (#FF6A00). */
.zena-tour-layer {
  position: fixed;
  inset: 0;
  z-index: 100000;
  pointer-events: none;
}

/* Full-screen dim for 'center' modal steps (clickable to dismiss). */
.zena-tour-dim {
  position: fixed;
  inset: 0;
  background: rgba(14, 13, 12, 0.55);
  pointer-events: auto;
  display: none;
}

/* Spotlight: a transparent box whose huge box-shadow dims everything else. */
.zena-tour-highlight {
  position: fixed;
  border-radius: 10px;
  box-shadow: 0 0 0 9999px rgba(14, 13, 12, 0.55), 0 0 0 2px #ff6a00;
  transition: left .2s ease, top .2s ease, width .2s ease, height .2s ease;
  pointer-events: none;
  display: none;
}

/* Tooltip card. */
.zena-tour-pop {
  position: fixed;
  width: 320px;
  max-width: calc(100vw - 24px);
  background: #1a1715;
  color: #f4efea;
  border: 1px solid #2a2522;
  border-radius: 14px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 106, 0, 0.15);
  padding: 16px;
  pointer-events: auto;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}
.zena-tour-pop.center {
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%);
  width: 380px;
}

.zena-tour-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.zena-tour-avatar {
  width: 32px; height: 32px; border-radius: 50%; object-fit: cover;
  border: 1px solid rgba(255, 106, 0, 0.5); flex: none;
}
.zena-tour-title { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: -0.01em; }
.zena-tour-body { margin: 0 0 14px; font-size: 13.5px; line-height: 1.55; color: #cdc6bf; }

.zena-tour-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.zena-tour-progress { font-size: 12px; color: #9a9088; }
.zena-tour-btns { display: flex; align-items: center; gap: 8px; }

.zena-tour-btn {
  font: inherit; font-size: 13px; cursor: pointer;
  border-radius: 9px; padding: 7px 12px;
  border: 1px solid #2a2522; background: #242019; color: #f4efea;
  transition: background .15s ease, border-color .15s ease;
}
.zena-tour-btn:hover { border-color: #ff6a00; }
.zena-tour-btn.primary { background: #ff6a00; border-color: #ff6a00; color: #0e0d0c; font-weight: 600; }
.zena-tour-btn.primary:hover { background: #c44e00; }
.zena-tour-btn.ghost { background: transparent; border-color: transparent; color: #9a9088; }
.zena-tour-btn.ghost:hover { color: #ff6a00; }

/* Footer launcher in the side menu. */
.side-menu-footer { margin-top: auto; padding-top: 12px; }
.zena-launcher {
  display: flex; align-items: center; gap: 10px;
  cursor: pointer; padding: 8px; border-radius: 10px;
  border: 1px solid transparent; transition: border-color .15s ease, background .15s ease;
}
.zena-launcher:hover { border-color: rgba(255, 106, 0, 0.5); background: rgba(255, 106, 0, 0.06); }
.zena-launcher-avatar {
  width: 28px; height: 28px; border-radius: 50%; object-fit: cover;
  border: 1px solid rgba(255, 106, 0, 0.5); flex: none;
}

/* ── Ask-Zena inline chat (inside the tour popover) ── */
.zena-tour-ask {
  display: flex; align-items: center; gap: 6px;
  margin-top: 12px; padding-top: 12px; border-top: 1px solid #2a2522;
}
.zena-tour-ask-input {
  flex: 1; min-width: 0; font: inherit; font-size: 13px;
  background: #0e0d0c; color: #f4efea;
  border: 1px solid #2a2522; border-radius: 9px; padding: 7px 10px; outline: none;
}
.zena-tour-ask-input::placeholder { color: #9a9088; }
.zena-tour-ask-input:focus { border-color: #ff6a00; }
.zena-tour-ask-send {
  flex: none; width: 32px; height: 32px; border-radius: 9px; cursor: pointer;
  background: #ff6a00; color: #0e0d0c; border: none; font-size: 14px;
  display: flex; align-items: center; justify-content: center;
}
.zena-tour-ask-send:hover { background: #c44e00; }

.zena-tour-chat {
  margin-top: 10px; max-height: 40vh; overflow-y: auto;
  display: flex; flex-direction: column; gap: 8px;
}
.zena-tour-msg { font-size: 13px; line-height: 1.5; border-radius: 10px; padding: 7px 10px; }
.zena-tour-msg.user { align-self: flex-end; max-width: 85%; background: #ff6a00; color: #0e0d0c; }
.zena-tour-msg.assistant { align-self: flex-start; background: #0e0d0c; border: 1px solid #2a2522; color: #f4efea; }
.zena-tour-msg.assistant a { color: #ff8c3a; text-decoration: underline; }
.zena-tour-msg.assistant a:hover { color: #ff6a00; }
.zena-tour-dots { color: #9a9088; }
.zena-tour-suggest { align-self: flex-start; margin-top: 2px; }
.zena-tour-resume { align-self: flex-start; margin-top: 2px; }
