/* css/ai-bot.css — AI コンシェルジュ ウィジェット */
:root { --aibot-accent: #1d4ed8; }
.ai-bot-trigger {
  position: fixed; right: 20px; bottom: 20px; width: 56px; height: 56px;
  border-radius: 50%; background: var(--aibot-accent); color: #fff;
  display: flex; align-items: center; justify-content: center; cursor: pointer;
  box-shadow: 0 6px 20px rgba(29,78,216,.35); z-index: 9998;
}
.ai-bot-trigger svg { width: 26px; height: 26px; }
.ai-bot-window {
  position: fixed; right: 20px; bottom: 88px; width: min(360px, calc(100vw - 40px));
  height: min(520px, calc(100vh - 120px)); background: #fff; border-radius: 14px;
  box-shadow: 0 12px 40px rgba(0,0,0,.18); display: none; flex-direction: column;
  overflow: hidden; z-index: 9999;
}
.ai-bot-window.is-active { display: flex; }
.ai-bot-header { background: var(--aibot-accent); color: #fff; padding: 14px 16px; position: relative; }
.ai-bot-header h3 { margin: 0; font-size: 1rem; }
.ai-bot-header p { margin: 2px 0 0; font-size: .75rem; opacity: .85; }
.ai-bot-close { position: absolute; top: 8px; right: 10px; background: none; border: none; color: #fff; font-size: 1.5rem; line-height: 1; cursor: pointer; opacity: .8; padding: 4px 8px; }
.ai-bot-close:hover { opacity: 1; }
.ai-bot-messages { flex: 1; overflow-y: auto; padding: 14px; background: #f7f8fa; }
.ai-message { margin-bottom: 10px; padding: 9px 12px; border-radius: 12px; font-size: .9rem; line-height: 1.5; white-space: pre-wrap; max-width: 85%; }
.ai-message--bot { background: #fff; border: 1px solid #e6e8eb; color: #1f2430; }
.ai-message--user { background: var(--aibot-accent); color: #fff; margin-left: auto; }
.ai-bot-input { display: flex; gap: 8px; padding: 10px; border-top: 1px solid #eee; background: #fff; }
.ai-bot-input input { flex: 1; border: 1px solid #d7dbe0; border-radius: 8px; padding: 9px 11px; font-size: .9rem; color: #1f2430; background: #fff; }
.ai-bot-send { border: none; background: var(--aibot-accent); color: #fff; border-radius: 8px; width: 42px; cursor: pointer; }
.ai-bot-send:disabled { opacity: .5; cursor: default; }
.ai-bot-note { font-size: .68rem; color: #8a8f98; text-align: center; padding: 0 10px 8px; background: #f7f8fa; }
.typing-indicator span { display:inline-block; width:6px; height:6px; margin:0 2px; background:#bbb; border-radius:50%; animation: aibot-blink 1.2s infinite both; }
.typing-indicator span:nth-child(2){ animation-delay:.2s } .typing-indicator span:nth-child(3){ animation-delay:.4s }
@keyframes aibot-blink { 0%,80%,100%{opacity:.2} 40%{opacity:1} }
.ai-bot-quick-replies { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.ai-bot-quick-btn { background: #fff; border: 1px solid var(--aibot-accent); color: var(--aibot-accent); border-radius: 16px; padding: 6px 14px; font-size: .82rem; cursor: pointer; transition: background .15s, color .15s; }
.ai-bot-quick-btn:hover { background: var(--aibot-accent); color: #fff; }
/* Maker checklist */
.ai-maker-checklist { background: #fff; border: 1px solid #e6e8eb; border-radius: 12px; padding: 12px; margin-bottom: 10px; max-width: 95%; }
.ai-maker-checklist__title { margin: 0 0 8px; font-size: .82rem; font-weight: 600; color: #1f2430; }
.ai-maker-checklist__grid { display: flex; flex-wrap: wrap; gap: 4px 8px; margin-bottom: 10px; }
.ai-maker-checklist__item { display: flex; align-items: center; gap: 4px; font-size: .8rem; color: #1f2430; cursor: pointer; padding: 4px 6px; border-radius: 6px; transition: background .12s; }
.ai-maker-checklist__item:hover { background: #f0f4ff; }
.ai-maker-checklist__item input[type="checkbox"] { accent-color: var(--aibot-accent); width: 15px; height: 15px; cursor: pointer; }
.ai-maker-checklist__send { width: 100%; padding: 8px; border: none; border-radius: 8px; background: var(--aibot-accent); color: #fff; font-size: .85rem; font-weight: 600; cursor: pointer; transition: opacity .15s; }
.ai-maker-checklist__send:disabled { opacity: .45; cursor: default; }
.ai-maker-checklist__send:not(:disabled):hover { opacity: .88; }
