#mam-ai-root { --mam-red:#be1e2d; --mam-red-dark:#9f1825; --mam-ink:#171717; --mam-soft:#f8f5f2; --mam-line:#e3ded8; --mam-muted:#6a6662; font-family:inherit; }
#mam-ai-root * { box-sizing:border-box; }
.mam-ai-launcher { position:fixed; right:24px; bottom:24px; z-index:999998; width:60px; height:60px; border:0; border-radius:50%; background:var(--mam-red); color:#fff; box-shadow:0 14px 35px rgba(0,0,0,.23); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:transform .2s ease, background .2s ease; }
.mam-ai-launcher:hover { transform:translateY(-2px); background:var(--mam-red-dark); }
.mam-ai-launcher svg { width:27px; height:27px; fill:currentColor; }
.mam-ai-panel { position:fixed; right:24px; bottom:96px; z-index:999999; width:390px; max-width:calc(100vw - 32px); height:min(640px, calc(100vh - 130px)); background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:14px; box-shadow:0 24px 70px rgba(0,0,0,.25); overflow:hidden; display:flex; flex-direction:column; opacity:0; transform:translateY(12px) scale(.98); pointer-events:none; transition:opacity .2s ease, transform .2s ease; }
.mam-ai-panel.is-open { opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.mam-ai-header { background:var(--mam-ink); color:#fff; padding:17px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.mam-ai-kicker { font-size:9px; letter-spacing:.14em; opacity:.66; margin-bottom:3px; }
.mam-ai-title { font-family:Georgia, 'Times New Roman', serif; font-size:19px; line-height:1.2; }
.mam-ai-close { width:34px; height:34px; flex:0 0 34px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.1); color:#fff; font-size:25px; line-height:1; cursor:pointer; }
.mam-ai-body { flex:1; min-height:0; background:#fff; }
.mam-ai-lead-screen, .mam-ai-chat-screen { height:100%; }
.mam-ai-lead-screen { overflow:auto; padding:22px; }
.mam-ai-intro h3 { margin:0 0 6px; color:var(--mam-ink); font-family:Georgia, 'Times New Roman', serif; font-size:25px; font-weight:500; }
.mam-ai-intro p { margin:0 0 18px; color:var(--mam-muted); font-size:14px; line-height:1.5; }
.mam-ai-lead-form label:not(.mam-ai-consent) { display:block; font-size:12px; color:var(--mam-ink); font-weight:600; margin:0 0 12px; }
.mam-ai-lead-form input[type="text"], .mam-ai-lead-form input[type="email"], .mam-ai-lead-form input[type="tel"] { width:100%; margin-top:6px; border:1px solid var(--mam-line); border-radius:8px; padding:11px 12px; font:inherit; font-size:14px; background:#fff; outline:none; }
.mam-ai-lead-form input:focus, .mam-ai-input:focus { border-color:var(--mam-red); box-shadow:0 0 0 3px rgba(190,30,45,.08); }
.mam-ai-consent { display:flex; align-items:flex-start; gap:9px; font-size:11.5px; line-height:1.45; color:var(--mam-muted); margin:4px 0 13px; }
.mam-ai-consent input { margin-top:3px; }
.mam-ai-consent a { color:var(--mam-red); }
.mam-ai-hp { position:absolute !important; left:-9999px !important; opacity:0 !important; }
.mam-ai-form-error { min-height:18px; color:#a00000; font-size:12px; margin-bottom:6px; }
.mam-ai-primary { width:100%; border:0; border-radius:8px; background:var(--mam-red); color:#fff; font:inherit; font-weight:600; padding:12px 16px; cursor:pointer; }
.mam-ai-primary:disabled { opacity:.55; cursor:not-allowed; }
.mam-ai-chat-screen { display:flex; flex-direction:column; min-height:0; }
.mam-ai-messages { flex:1; min-height:0; overflow-y:auto; padding:18px 16px 8px; background:#fbfaf9; }
.mam-ai-message { display:flex; margin:0 0 12px; }
.mam-ai-message.user { justify-content:flex-end; }
.mam-ai-bubble { max-width:84%; padding:10px 12px; border-radius:12px; font-size:13.5px; line-height:1.48; white-space:pre-wrap; word-break:break-word; }
.mam-ai-message.assistant .mam-ai-bubble { background:#fff; color:var(--mam-ink); border:1px solid var(--mam-line); border-bottom-left-radius:4px; }
.mam-ai-message.user .mam-ai-bubble { background:var(--mam-red); color:#fff; border-bottom-right-radius:4px; }
.mam-ai-suggestions { width:84%; display:flex; flex-direction:column; gap:7px; margin:-2px 0 14px; padding:0; }
.mam-ai-suggestions-label { margin:0 0 1px 2px; color:var(--mam-muted); font-size:10.5px; font-weight:600; letter-spacing:.02em; }
.mam-ai-chip { width:100%; border:1px solid #ddc7c9; background:#fff8f8; color:#7f1821; border-radius:10px; padding:9px 11px; font:inherit; font-size:11.5px; line-height:1.35; text-align:left; cursor:pointer; white-space:normal; overflow:visible; }
.mam-ai-chip:hover { border-color:var(--mam-red); background:#fff; }
.mam-ai-busy .mam-ai-chip { opacity:.55; pointer-events:none; }
.mam-ai-question-form { display:flex; align-items:flex-end; gap:8px; padding:10px 12px 12px; background:#fff; border-top:1px solid #eee9e4; }
.mam-ai-input { flex:1; resize:none; max-height:100px; min-height:42px; border:1px solid var(--mam-line); border-radius:10px; padding:10px 11px; font:inherit; font-size:13px; line-height:1.4; outline:none; }
.mam-ai-send { width:42px; height:42px; flex:0 0 42px; border:0; border-radius:9px; background:var(--mam-red); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.mam-ai-send svg { width:20px; height:20px; fill:currentColor; }
.mam-ai-busy .mam-ai-send { opacity:.5; pointer-events:none; }
.mam-ai-footer { padding:8px 13px; background:#f3f0ed; color:#77716c; border-top:1px solid #e8e3de; font-size:9.5px; line-height:1.35; text-align:center; }
.mam-ai-typing .mam-ai-bubble { display:flex; gap:4px; align-items:center; min-width:49px; }
.mam-ai-typing span { width:6px; height:6px; border-radius:50%; background:#9f9993; animation:mam-ai-pulse 1.1s infinite ease-in-out; }
.mam-ai-typing span:nth-child(2) { animation-delay:.13s; }
.mam-ai-typing span:nth-child(3) { animation-delay:.26s; }
@keyframes mam-ai-pulse { 0%,80%,100% { opacity:.25; transform:translateY(0); } 40% { opacity:1; transform:translateY(-2px); } }
@media (max-width: 600px) { .mam-ai-launcher { right:16px; bottom:16px; } .mam-ai-panel { right:8px; left:8px; bottom:84px; width:auto; max-width:none; height:min(680px, calc(100vh - 100px)); } }


/* v1.0.4: isolate FAQ prompt styling from theme/Elementor button rules */
#mam-ai-root .mam-ai-suggestions {
  width:84% !important;
  max-width:84% !important;
  min-width:0 !important;
  overflow:hidden !important;
}
#mam-ai-root button.mam-ai-chip,
#mam-ai-root button.mam-ai-chip:hover,
#mam-ai-root button.mam-ai-chip:focus,
#mam-ai-root button.mam-ai-chip:active {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:10px 12px !important;
  border:1px solid #ddc7c9 !important;
  border-radius:10px !important;
  background:#fff8f8 !important;
  color:#7f1821 !important;
  box-shadow:none !important;
  font-family:inherit !important;
  font-size:12px !important;
  font-weight:500 !important;
  font-style:normal !important;
  line-height:1.4 !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  text-align:left !important;
  white-space:normal !important;
  overflow:hidden !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
#mam-ai-root button.mam-ai-chip:hover {
  border-color:var(--mam-red) !important;
  background:#fff !important;
}
#mam-ai-root button.mam-ai-chip:focus-visible {
  outline:2px solid rgba(190,30,45,.25) !important;
  outline-offset:2px !important;
}
#mam-ai-root .mam-ai-bubble strong {
  font-size:inherit !important;
  line-height:inherit !important;
  font-family:inherit !important;
  font-weight:700 !important;
}
