/* === CHATBOT ONEPHOTO — assorti au thème du site === */
/* La bulle chatbot remplace l'ancienne bulle "devis" (même emplacement) */
.float-cta { display: none !important; }

#op-chat-btn {
  position: fixed; bottom: 24px; right: 24px; z-index: 9999;
  width: 60px; height: 60px; border-radius: 50%;
  background: #c9a96e; border: none; cursor: pointer;
  box-shadow: 0 4px 20px rgba(0,0,0,0.45);
  display: flex; align-items: center; justify-content: center;
  transition: transform .25s ease, background .25s ease;
}
#op-chat-btn:hover { transform: scale(1.07); background: #dfc08a; }
#op-chat-btn svg { width: 28px; height: 28px; fill: #080808; }

#op-chat-panel {
  position: fixed; bottom: 96px; right: 24px; z-index: 9999;
  width: 360px; max-width: calc(100vw - 32px);
  height: 520px; max-height: calc(100vh - 130px);
  background: #111111; border: 1px solid #252525; border-radius: 8px;
  display: none; flex-direction: column; overflow: hidden;
  box-shadow: 0 12px 48px rgba(0,0,0,0.6);
  font-family: 'Inter', system-ui, sans-serif;
}
#op-chat-panel.open { display: flex; }

.op-chat-header {
  padding: 14px 18px; background: #1a1a1a; border-bottom: 1px solid #252525;
  display: flex; align-items: center; justify-content: space-between;
}
.op-chat-header strong { font-family: 'Playfair Display', Georgia, serif; color: #ffffff; font-size: 1rem; }
.op-chat-header strong span { color: #c9a96e; }
.op-chat-header small { display: block; color: #7a7570; font-size: .7rem; font-weight: 400; }
.op-chat-close { background: none; border: none; color: #7a7570; font-size: 1.3rem; cursor: pointer; line-height: 1; }
.op-chat-close:hover { color: #fff; }

.op-chat-messages { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.op-msg { max-width: 85%; padding: 10px 13px; border-radius: 10px; font-size: .85rem; line-height: 1.5; white-space: pre-wrap; word-wrap: break-word; }
.op-msg.bot  { background: #1a1a1a; color: #ede9e2; border: 1px solid #252525; align-self: flex-start; border-bottom-left-radius: 3px; }
.op-msg.user { background: #c9a96e; color: #080808; align-self: flex-end; border-bottom-right-radius: 3px; }
.op-msg.typing { color: #7a7570; font-style: italic; }

.op-chat-input { display: flex; gap: 8px; padding: 12px; border-top: 1px solid #252525; background: #1a1a1a; }
.op-chat-input input {
  flex: 1; background: #111111; border: 1px solid #252525; border-radius: 6px;
  padding: 10px 12px; color: #ede9e2; font-size: .85rem; outline: none;
}
.op-chat-input input:focus { border-color: #c9a96e; }
.op-chat-input button {
  background: #c9a96e; border: none; border-radius: 6px; padding: 0 16px;
  color: #080808; font-weight: 600; cursor: pointer; font-size: .85rem;
  transition: background .25s ease;
}
.op-chat-input button:hover { background: #dfc08a; }
.op-chat-input button:disabled { opacity: .5; cursor: default; }

@media (max-width: 480px) {
  #op-chat-panel { right: 16px; bottom: 88px; height: 70vh; }
  #op-chat-btn { bottom: 16px; right: 16px; }
}
