/* Assistant Place du Mac — widget front */
.pdm-assistant { position: fixed; right: 20px; bottom: 20px; z-index: 99999; font-family: inherit; }
.pdm-assistant-toggle {
  width: 60px; height: 60px; border-radius: 50%; border: none; cursor: pointer;
  background: #1d1d1f; color: #fff; box-shadow: 0 6px 20px rgba(0,0,0,.25);
  font-size: 26px; line-height: 1; transition: transform .15s ease;
}
.pdm-assistant-toggle:hover { transform: scale(1.06); }
.pdm-assistant-toggle.pdm-open { display: none; }

.pdm-assistant-panel {
  position: absolute; right: 0; bottom: 0; width: 360px; max-width: calc(100vw - 32px);
  height: 520px; max-height: calc(100vh - 90px); background: #fff; border-radius: 14px;
  box-shadow: 0 12px 40px rgba(0,0,0,.28); display: flex; flex-direction: column; overflow: hidden;
}
.pdm-assistant-header {
  background: #1d1d1f; color: #fff; padding: 14px 16px; display: flex; align-items: center;
  justify-content: space-between; flex: 0 0 auto;
}
.pdm-assistant-title { font-weight: 600; font-size: 15px; }
.pdm-assistant-close { background: none; border: none; color: #fff; font-size: 24px; cursor: pointer; line-height: 1; }

.pdm-assistant-messages { flex: 1 1 auto; overflow-y: auto; padding: 14px; background: #f5f5f7; }
.pdm-msg { max-width: 85%; padding: 10px 13px; border-radius: 14px; margin-bottom: 10px; font-size: 14px; line-height: 1.45; word-wrap: break-word; }
.pdm-msg-user { margin-left: auto; background: #0071e3; color: #fff; border-bottom-right-radius: 4px; }
.pdm-msg-bot { margin-right: auto; background: #fff; color: #1d1d1f; border: 1px solid #e3e3e6; border-bottom-left-radius: 4px; }
.pdm-msg-bot a { color: #0071e3; text-decoration: underline; }

.pdm-assistant-form { display: flex; gap: 8px; padding: 10px; border-top: 1px solid #e3e3e6; flex: 0 0 auto; background: #fff; }
.pdm-assistant-input { flex: 1; border: 1px solid #ccc; border-radius: 20px; padding: 9px 14px; font-size: 14px; outline: none; }
.pdm-assistant-input:focus { border-color: #0071e3; }
.pdm-assistant-send { border: none; background: #0071e3; color: #fff; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; font-size: 16px; }
.pdm-assistant-disclaimer { font-size: 11px; color: #86868b; padding: 6px 12px 10px; text-align: center; background: #fff; }
.pdm-assistant-contact { color: #0071e3; text-decoration: underline; cursor: pointer; white-space: nowrap; }

.pdm-typing span { display: inline-block; width: 7px; height: 7px; margin: 0 1px; background: #b0b0b5; border-radius: 50%; animation: pdm-bounce 1.2s infinite; }
.pdm-typing span:nth-child(2) { animation-delay: .2s; }
.pdm-typing span:nth-child(3) { animation-delay: .4s; }
@keyframes pdm-bounce { 0%, 60%, 100% { transform: translateY(0); opacity: .5; } 30% { transform: translateY(-5px); opacity: 1; } }

@media (max-width: 480px) {
  .pdm-assistant-panel { width: calc(100vw - 24px); height: calc(100vh - 100px); }
}

/* --- Positionnement : chat en bas à DROITE. Le badge Google Merchant (avis), dont la
   position est inline !important (bas-droite, z-index max), est déplacé en bas à GAUCHE
   par chat.js (non surchargeable en CSS). Résultat : Google à gauche, chat à droite. --- */
/* width:60px = largeur de la bulle ; sans ça le conteneur s'étire sur toute la largeur
   (left:auto retombe sur la position statique du footer) et la bulle part à gauche. */
#pdm-assistant.pdm-assistant { right: 20px !important; left: auto !important; bottom: 24px !important; width: 60px !important; }
#pdm-assistant .pdm-assistant-panel { right: 0 !important; left: auto !important; }

/* --- Bloc de repli (contact humain) quand le bot n'a pas la réponse --- */
.pdm-fallback { background: #fff; border: 1px solid #e3e3e6; border-radius: 14px; padding: 12px 13px; margin: 0 0 10px; font-size: 13px; color: #1d1d1f; }
.pdm-fallback h4 { margin: 0 0 4px; font-size: 13px; }
.pdm-fallback-row { display: flex; gap: 6px; margin: 8px 0 4px; }
.pdm-fallback input { flex: 1; min-width: 0; border: 1px solid #ccc; border-radius: 8px; padding: 8px 10px; font-size: 13px; outline: none; }
.pdm-fallback input:focus { border-color: #0071e3; }
.pdm-fallback-send { border: none; background: #0071e3; color: #fff; border-radius: 8px; padding: 8px 12px; cursor: pointer; font-size: 13px; white-space: nowrap; }
.pdm-fallback .pdm-phone { margin-top: 8px; padding-top: 8px; border-top: 1px solid #eee; line-height: 1.5; }
.pdm-fallback .pdm-phone a { color: #0071e3; font-weight: 600; text-decoration: none; font-size: 15px; }
.pdm-fallback .pdm-phone small { color: #86868b; }
.pdm-ok { color: #2d8e3c; font-weight: 600; }
.pdm-err { color: #c0392b; font-size: 12px; margin-top: 4px; }
