/**
 * Chatbot Compagnons — Styles frontend
 *
 * Architecture d'isolation CSS :
 * Tout le chatbot est placé dans un wrapper #cmpg-chatbot-root.
 * Tous les sélecteurs sont préfixés par cet ID, ce qui donne une spécificité
 * (1 ID + 1 classe = 1,1,0) supérieure à la plupart des règles de thèmes
 * (généralement 0,1,0 pour une classe simple) — sans recourir à !important.
 *
 * Le reset cible uniquement la typo, les couleurs et les espacements hérités,
 * en laissant intacts les comportements de mise en page (position, display).
 */

/* Variables globales (héritables) */
:root {
  --cmpg-blue: #1d3557;
  --cmpg-red: #e63946;
  --cmpg-cream: #F5F0E6;
}

/* Reset ciblé sur les 3 racines visibles du chatbot */
#cmpg-chatbot-root .cmpg-bot-btn,
#cmpg-chatbot-root .cmpg-bot-panel,
#cmpg-chatbot-root .cmpg-bot-preview-badge {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--cmpg-blue);
  text-align: left;
  text-transform: none;
  letter-spacing: normal;
  box-sizing: border-box;
}

/* Box-sizing propre sur tout l'arbre */
#cmpg-chatbot-root *,
#cmpg-chatbot-root *::before,
#cmpg-chatbot-root *::after {
  box-sizing: border-box;
}

/* Reset typo pour les boutons et inputs internes (sans toucher au layout) */
#cmpg-chatbot-root button,
#cmpg-chatbot-root input,
#cmpg-chatbot-root textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  text-transform: none;
  letter-spacing: normal;
  margin: 0;
}

/* Boutons : reset visuel propre, sans toucher au curseur/display */
#cmpg-chatbot-root button {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

/* Liens : pas de décoration ni couleur imposée par le thème */
#cmpg-chatbot-root a {
  background: transparent;
  text-decoration: none;
  color: inherit;
}

/* Variables internes scoped au chatbot */
#cmpg-chatbot-root .cmpg-bot-btn,
#cmpg-chatbot-root .cmpg-bot-panel,
#cmpg-chatbot-root .cmpg-bot-preview-badge {
  --cmpg-blue-light: #2A3E6B;
  --cmpg-bg: #F7F5F0;
  --cmpg-white: #FFFFFF;
  --cmpg-gray: #6B6B6B;
  --cmpg-border: #E8E2D5;
  --cmpg-online: #4CAF50;
}

/* Bouton flottant ovale */
#cmpg-chatbot-root .cmpg-bot-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9998;
  background: var(--cmpg-red);
  color: #fff;
  border: none;
  cursor: pointer;
  border-radius: 50px;
  padding: 10px 22px 10px 14px;
  box-shadow: 0 6px 24px rgba(230,57,70,0.4);
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  font-weight: 600;
  height: 60px;
  width: auto;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
}
#cmpg-chatbot-root .cmpg-bot-btn:hover {
  background: #d62b3a;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(230,57,70,0.5);
}
#cmpg-chatbot-root .cmpg-bot-btn:focus {
  outline: 3px solid var(--cmpg-blue);
  outline-offset: 3px;
}
#cmpg-chatbot-root .cmpg-bot-btn-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  padding: 0;
  box-sizing: border-box;
}
#cmpg-chatbot-root .cmpg-bot-btn-avatar img,
#cmpg-chatbot-root .cmpg-bot-btn-avatar picture {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
#cmpg-chatbot-root .cmpg-bot-btn-avatar picture { display: flex; align-items: center; justify-content: center; }
#cmpg-chatbot-root .cmpg-bot-btn-label { white-space: nowrap; }
#cmpg-chatbot-root .cmpg-bot-btn[aria-expanded="true"] {
  width: 60px; padding: 0;
  background: var(--cmpg-red);
  justify-content: center;
}
#cmpg-chatbot-root .cmpg-bot-btn[aria-expanded="true"] .cmpg-bot-btn-avatar,
#cmpg-chatbot-root .cmpg-bot-btn[aria-expanded="true"] .cmpg-bot-btn-label { display: none; }
#cmpg-chatbot-root .cmpg-bot-btn[aria-expanded="true"] .cmpg-bot-btn-close { display: block; }
#cmpg-chatbot-root .cmpg-bot-btn-close { display: none; font-size: 24px; line-height: 1; color: #fff; }

/* Badge prévisualisation admin */
#cmpg-chatbot-root .cmpg-bot-preview-badge {
  position: fixed; bottom: 110px; right: 24px; z-index: 9997;
  background: var(--cmpg-red); color: #fff;
  padding: 4px 10px; border-radius: 4px;
  font-size: 11px; font-weight: 600;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  pointer-events: auto;
  cursor: help;
}

/* Panneau */
#cmpg-chatbot-root .cmpg-bot-panel {
  position: fixed;
  bottom: 100px;
  right: 24px;
  z-index: 9999;
  width: 400px;
  max-width: calc(100vw - 32px);
  height: 620px;
  max-height: calc(100vh - 130px);
  background: var(--cmpg-bg);
  border-radius: 20px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.18);
  display: none;
  flex-direction: column;
  overflow: hidden;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.2s, transform 0.2s;
  border: none;
  padding: 0;
  margin: 0;
}
#cmpg-chatbot-root .cmpg-bot-panel[data-open="true"] {
  display: flex;
  opacity: 1;
  transform: translateY(0);
}

/* En-tête */
#cmpg-chatbot-root .cmpg-bot-header {
  background: var(--cmpg-blue);
  color: #fff;
  padding: 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  position: relative;
  margin: 0;
  border: none;
}
#cmpg-chatbot-root .cmpg-bot-header::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(to right, var(--cmpg-blue) 0%, var(--cmpg-blue) 33%, var(--cmpg-white) 33%, var(--cmpg-white) 66%, var(--cmpg-red) 66%, var(--cmpg-red) 100%);
}
/* AVATAR EN-TÊTE — sans cercle blanc, directement sur le bandeau bleu */
#cmpg-chatbot-root .cmpg-bot-header-avatar {
  width: 52px; height: 52px;
  background: transparent;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  border: none;
  overflow: visible;
  padding: 0;
  box-sizing: border-box;
}
#cmpg-chatbot-root .cmpg-bot-header-avatar img,
#cmpg-chatbot-root .cmpg-bot-header-avatar picture {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  display: block;
}
#cmpg-chatbot-root .cmpg-bot-header-avatar picture { display: flex; align-items: center; justify-content: center; }

/* La toque est verticale (ratio 0.78) : limiter par la hauteur du cercle */
#cmpg-chatbot-root .cmpg-bot-header-avatar--toque {
  padding: 4px;
}
#cmpg-chatbot-root .cmpg-bot-header-avatar--toque img {
  height: 100%;
  width: auto;
  max-width: none;
}

/* Les mains sont horizontales (ratio 1.84) : limiter par la largeur */
#cmpg-chatbot-root .cmpg-bot-header-avatar--mains img {
  width: 100%;
  height: auto;
  max-height: none;
}
#cmpg-chatbot-root .cmpg-bot-header-info { flex: 1; min-width: 0; }
#cmpg-chatbot-root .cmpg-bot-header-name { font-weight: 700; font-size: 16px; line-height: 1.2; }
#cmpg-chatbot-root .cmpg-bot-header-sub {
  font-size: 12px; opacity: 0.9; font-weight: 400; margin-top: 4px;
  display: flex; align-items: center; gap: 6px;
}
#cmpg-chatbot-root .cmpg-bot-header-online-dot {
  width: 8px; height: 8px; border-radius: 50%; background: var(--cmpg-online);
  box-shadow: 0 0 0 2px rgba(76,175,80,0.3);
}
#cmpg-chatbot-root .cmpg-bot-header-close {
  background: rgba(255,255,255,0.18);
  border: none;
  color: #fff;
  cursor: pointer;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 22px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, transform 0.15s;
  padding: 0;
  box-shadow: none;
  flex-shrink: 0;
  -webkit-tap-highlight-color: rgba(255,255,255,0.3);
  touch-action: manipulation;
  position: relative;
  z-index: 10;
}
#cmpg-chatbot-root .cmpg-bot-header-close:hover,
#cmpg-chatbot-root .cmpg-bot-header-close:focus {
  background: rgba(255,255,255,0.32);
  transform: scale(1.05);
}
#cmpg-chatbot-root .cmpg-bot-header-close:active {
  background: rgba(255,255,255,0.45);
  transform: scale(0.95);
}

/* Corps */
#cmpg-chatbot-root .cmpg-bot-body {
  flex: 1; overflow-y: auto; padding: 18px 14px 8px;
  font-size: 14px; line-height: 1.5;
}
#cmpg-chatbot-root .cmpg-bot-body::-webkit-scrollbar { width: 6px; }
#cmpg-chatbot-root .cmpg-bot-body::-webkit-scrollbar-thumb { background: #C9C2B0; border-radius: 3px; }

/* Messages */
#cmpg-chatbot-root .cmpg-bot-msg {
  margin-bottom: 12px; display: flex; gap: 8px; align-items: flex-end;
  animation: cmpgBotFadeIn 0.3s ease;
}
@keyframes cmpgBotFadeIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }

/* Animation "attention" : 2 petits rebonds + pulse de l'ombre rouge */
/* Déclenchée 1 seule fois après 2s pour attirer l'œil sans être agressif */
@keyframes cmpgBotAttention {
  0%   { transform: translateY(0)    scale(1);    box-shadow: 0 6px 24px rgba(230,57,70,0.40); }
  15%  { transform: translateY(-8px) scale(1.04); box-shadow: 0 10px 30px rgba(230,57,70,0.55); }
  30%  { transform: translateY(0)    scale(1);    box-shadow: 0 6px 24px rgba(230,57,70,0.40); }
  45%  { transform: translateY(-4px) scale(1.02); box-shadow: 0 8px 26px rgba(230,57,70,0.50); }
  60%  { transform: translateY(0)    scale(1);    box-shadow: 0 6px 24px rgba(230,57,70,0.40); }
  100% { transform: translateY(0)    scale(1);    box-shadow: 0 6px 24px rgba(230,57,70,0.40); }
}
#cmpg-chatbot-root .cmpg-bot-btn.cmpg-bot-attention {
  animation: cmpgBotAttention 1.4s ease-out;
}
#cmpg-chatbot-root .cmpg-bot-msg-mini-avatar {
  width: 32px;
  height: 32px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  padding: 0;
  box-sizing: border-box;
  border: 1px solid var(--cmpg-border);
}
#cmpg-chatbot-root .cmpg-bot-msg-mini-avatar img,
#cmpg-chatbot-root .cmpg-bot-msg-mini-avatar picture {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
#cmpg-chatbot-root .cmpg-bot-msg-mini-avatar picture { display: flex; align-items: center; justify-content: center; }
#cmpg-chatbot-root .cmpg-bot-msg-bubble {
  background: #fff; padding: 12px 14px; border-radius: 16px;
  border-bottom-left-radius: 4px;
  max-width: 80%; position: relative;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  color: var(--cmpg-blue);
  overflow-wrap: anywhere;
  word-break: break-word;
}
#cmpg-chatbot-root .cmpg-bot-msg-bubble.bot::after {
  content: ''; position: absolute; bottom: 0; left: 14px; right: 14px; height: 3px;
  background: linear-gradient(to right, var(--cmpg-blue) 0%, var(--cmpg-blue) 33%, var(--cmpg-white) 33%, var(--cmpg-white) 66%, var(--cmpg-red) 66%, var(--cmpg-red) 100%);
}
#cmpg-chatbot-root .cmpg-bot-msg-bubble.bot { padding-bottom: 16px; }
#cmpg-chatbot-root .cmpg-bot-msg-bubble.bot a {
  color: var(--cmpg-red);
  font-weight: 600;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
#cmpg-chatbot-root .cmpg-bot-msg-bubble.bot strong { color: var(--cmpg-blue); font-weight: 700; }
#cmpg-chatbot-root .cmpg-bot-msg.user { flex-direction: row-reverse; }
#cmpg-chatbot-root .cmpg-bot-msg.user .cmpg-bot-msg-bubble {
  background: var(--cmpg-blue); color: #fff;
  border-radius: 16px; border-bottom-right-radius: 4px; border-bottom-left-radius: 16px;
}
#cmpg-chatbot-root .cmpg-bot-msg.user .cmpg-bot-msg-bubble a {
  color: #FFD700;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

/* Suggestions en pilules — version compacte */
#cmpg-chatbot-root .cmpg-bot-suggestions-wrap {
  background: #fff; border-top: 1px solid var(--cmpg-border);
  padding: 10px 12px 6px;
}
#cmpg-chatbot-root .cmpg-bot-suggestions-label {
  font-size: 10px; color: var(--cmpg-gray); margin-bottom: 6px;
  text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600;
}
#cmpg-chatbot-root .cmpg-bot-suggestions {
  display: flex; flex-wrap: wrap; gap: 5px;
}
#cmpg-chatbot-root .cmpg-bot-suggestions button {
  background: #fff;
  border: 1px solid var(--cmpg-border);
  color: var(--cmpg-blue);
  padding: 5px 11px;
  border-radius: 16px;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.15s;
  white-space: nowrap;
  line-height: 1.3;
  width: auto;
  height: auto;
  text-transform: none;
  letter-spacing: normal;
  box-shadow: none;
  text-align: left;
  display: inline-block;
}
#cmpg-chatbot-root .cmpg-bot-suggestions button:hover {
  border-color: var(--cmpg-blue);
  background: var(--cmpg-blue);
  color: #fff;
}
#cmpg-chatbot-root .cmpg-bot-suggestions button:focus {
  outline: 2px solid var(--cmpg-red);
  outline-offset: 1px;
}

/* Zone saisie — version compacte */
#cmpg-chatbot-root .cmpg-bot-input-zone {
  border-top: 1px solid var(--cmpg-border); padding: 8px 10px;
  background: #fff;
  display: flex; gap: 8px; align-items: center;
}
#cmpg-chatbot-root .cmpg-bot-input {
  flex: 1;
  padding: 7px 14px;
  border: 1.5px solid var(--cmpg-border);
  border-radius: 18px;
  font-family: inherit;
  font-size: 13px;
  outline: none;
  transition: border-color 0.15s;
  background: var(--cmpg-bg);
  color: var(--cmpg-blue);
  width: auto;
  height: auto;
  box-shadow: none;
  text-transform: none;
}
#cmpg-chatbot-root .cmpg-bot-input:focus { border-color: var(--cmpg-blue); background: #fff; }
#cmpg-chatbot-root .cmpg-bot-send {
  background: var(--cmpg-blue);
  color: #fff;
  border: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  cursor: pointer;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
  padding: 0;
  box-shadow: none;
}
#cmpg-chatbot-root .cmpg-bot-send:hover { background: var(--cmpg-red); }
#cmpg-chatbot-root .cmpg-bot-send svg { width: 16px; height: 16px; }

/* Bouton Contact permanent — version compacte */
#cmpg-chatbot-root .cmpg-bot-contact-bar {
  border-top: 1px solid var(--cmpg-border);
  background: var(--cmpg-cream); padding: 6px 12px;
  display: flex; justify-content: center; gap: 8px;
}
#cmpg-chatbot-root .cmpg-bot-contact-btn {
  background: transparent;
  border: 1.5px solid var(--cmpg-blue);
  color: var(--cmpg-blue);
  padding: 5px 14px;
  border-radius: 18px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.15s;
  width: auto;
  height: auto;
  box-shadow: none;
  text-transform: none;
  letter-spacing: normal;
}
#cmpg-chatbot-root .cmpg-bot-contact-btn:hover { background: var(--cmpg-blue); color: #fff; }

/* Footer — version compacte */
#cmpg-chatbot-root .cmpg-bot-footer {
  font-size: 10px; text-align: center; padding: 5px 10px;
  color: var(--cmpg-gray); background: #fff;
  border-top: 1px solid var(--cmpg-border); line-height: 1.3;
}
#cmpg-chatbot-root .cmpg-bot-footer a {
  color: var(--cmpg-blue);
  text-decoration: none;
  font-weight: 600;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}
#cmpg-chatbot-root .cmpg-bot-footer a:hover { text-decoration: underline; }

/* Résultats de recherche site (fallback intelligent) */
#cmpg-chatbot-root .cmpg-bot-search-results {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
#cmpg-chatbot-root .cmpg-bot-search-result {
  display: block;
  padding: 8px 10px;
  background: var(--cmpg-cream);
  border-left: 3px solid var(--cmpg-blue);
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s;
}
#cmpg-chatbot-root .cmpg-bot-search-result:hover {
  background: #fff;
  border-left-color: var(--cmpg-red);
  transform: translateX(2px);
}
#cmpg-chatbot-root .cmpg-bot-search-result-title {
  display: block;
  font-weight: 600;
  font-size: 13px;
  color: var(--cmpg-blue);
  text-decoration: none;
  margin-bottom: 3px;
}
#cmpg-chatbot-root .cmpg-bot-search-result-excerpt {
  display: block;
  font-size: 12px;
  color: var(--cmpg-gray);
  line-height: 1.4;
}

/* Responsive */
@media (max-width: 480px) {
  #cmpg-chatbot-root .cmpg-bot-panel { width: calc(100vw - 16px); right: 8px; border-radius: 16px; }
  #cmpg-chatbot-root .cmpg-bot-btn { height: 54px; padding: 8px 18px 8px 10px; }
  #cmpg-chatbot-root .cmpg-bot-btn-avatar { width: 38px; height: 38px; }
  #cmpg-chatbot-root .cmpg-bot-btn-label { font-size: 14px; }
  #cmpg-chatbot-root .cmpg-bot-btn[aria-expanded="true"] { width: 54px; }
  #cmpg-chatbot-root .cmpg-bot-preview-badge { bottom: 95px; right: 16px; }
  #cmpg-chatbot-root .cmpg-bot-header-close {
    width: 44px;
    height: 44px;
    font-size: 26px;
    background: rgba(255,255,255,0.25);
  }
}

/* Réduction des animations si l'utilisateur le demande (accessibilité) */
@media (prefers-reduced-motion: reduce) {
  #cmpg-chatbot-root .cmpg-bot-msg, #cmpg-chatbot-root .cmpg-bot-panel, #cmpg-chatbot-root .cmpg-bot-btn { animation: none; transition: none; }
}

/* ======================================
   FORMULAIRE DE CONTACT (overlay panneau)
   ====================================== */
#cmpg-chatbot-root .cmpg-bot-contact-form {
  position: absolute;
  inset: 0;
  background: #fff;
  border-radius: inherit;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  z-index: 10;
  animation: cmpgFormSlideIn 0.25s ease-out;
}
@keyframes cmpgFormSlideIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
#cmpg-chatbot-root .cmpg-bot-contact-form-inner {
  flex: 1;
  overflow-y: auto;
  padding: 18px 18px 32px;
  font-size: 14px;
  -webkit-overflow-scrolling: touch;
}
#cmpg-chatbot-root .cmpg-bot-contact-form-back {
  background: transparent;
  border: none;
  color: var(--cmpg-blue);
  cursor: pointer;
  padding: 2px 0;
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 6px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
#cmpg-chatbot-root .cmpg-bot-contact-form-back:hover { text-decoration: underline; }
#cmpg-chatbot-root .cmpg-bot-contact-form-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--cmpg-blue);
  margin: 0 0 12px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#cmpg-chatbot-root .cmpg-bot-contact-form-intro {
  font-size: 13px;
  color: #555;
  margin: -4px 0 12px;
  line-height: 1.45;
}
#cmpg-chatbot-root .cmpg-form-row {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#cmpg-chatbot-root .cmpg-form-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
#cmpg-chatbot-root .cmpg-form-field {
  display: block;
  margin-bottom: 8px;
}
#cmpg-chatbot-root .cmpg-form-field > span {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: #333;
  margin-bottom: 4px;
}
#cmpg-chatbot-root .cmpg-form-field input,
#cmpg-chatbot-root .cmpg-form-field select,
#cmpg-chatbot-root .cmpg-form-field textarea {
  width: 100%;
  padding: 9px 11px;
  border: 1px solid #d4d4d4;
  border-radius: 8px;
  font-size: 14px;
  font-family: inherit;
  background: #fff;
  color: #222;
  box-sizing: border-box;
  transition: border-color 0.15s, box-shadow 0.15s;
}
#cmpg-chatbot-root .cmpg-form-field input:focus,
#cmpg-chatbot-root .cmpg-form-field select:focus,
#cmpg-chatbot-root .cmpg-form-field textarea:focus {
  outline: none;
  border-color: var(--cmpg-blue);
  box-shadow: 0 0 0 3px rgba(29,53,87,0.12);
}
#cmpg-chatbot-root .cmpg-form-field textarea {
  resize: vertical;
  min-height: 60px;
}
#cmpg-chatbot-root .cmpg-form-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 12px 0;
  font-size: 12px;
  line-height: 1.4;
  color: #444;
  cursor: pointer;
}
#cmpg-chatbot-root .cmpg-form-checkbox input[type="checkbox"] {
  margin-top: 2px;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  cursor: pointer;
}
#cmpg-chatbot-root .cmpg-form-actions {
  margin-top: 10px;
  margin-bottom: 8px;
}
#cmpg-chatbot-root .cmpg-form-submit {
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  background: var(--cmpg-red);
  color: #fff;
  border: none;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, transform 0.1s;
  font-family: inherit;
}
#cmpg-chatbot-root .cmpg-form-submit:hover { background: #c62a37; }
#cmpg-chatbot-root .cmpg-form-submit:active { transform: scale(0.98); }
#cmpg-chatbot-root .cmpg-form-submit:disabled {
  background: #b0b0b0;
  cursor: not-allowed;
}
#cmpg-chatbot-root .cmpg-form-feedback {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
  display: none;
}
#cmpg-chatbot-root .cmpg-form-feedback.success {
  display: block;
  background: #e6f4ea;
  color: #1e7e34;
  border-left: 3px solid #1e7e34;
}
#cmpg-chatbot-root .cmpg-form-feedback.error {
  display: block;
  background: #fdecea;
  color: #b71c1c;
  border-left: 3px solid #b71c1c;
}

/* Adaptation mobile */
@media (max-width: 480px) {
  #cmpg-chatbot-root .cmpg-form-row-2 {
    grid-template-columns: 1fr;
  }
  #cmpg-chatbot-root .cmpg-bot-contact-form-inner {
    padding: 14px 14px 48px;
  }
  #cmpg-chatbot-root .cmpg-form-submit {
    min-height: 52px;
    font-size: 16px;
  }
}
