/**
 * Finestra del modulo lead MarketingOS (inc/ai-lead.php). Selettori con #mos-lead-modal per
 * prevalere sulle regole generiche del design system; il modulo interno resta quello del plugin.
 */
#mos-lead-modal.ai-lead {
  position: fixed; inset: 0; z-index: 99999;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  background: rgba(15, 23, 42, .55) !important; /* molti template rendono trasparenti i figli di body */
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
#mos-lead-modal.ai-lead[hidden] { display: none; }
#mos-lead-modal .ai-lead__box {
  position: relative; box-sizing: border-box;
  width: 100%; max-width: 460px; max-height: 100%; overflow-y: auto; overscroll-behavior: contain;
  padding: 40px; border-radius: 20px;
  background: #fff; color: #1e293b; text-align: left;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .18);
}
#mos-lead-modal .ai-lead__chiudi {
  position: absolute; top: 10px; right: 10px;
  width: 44px; height: 44px; padding: 0;
  display: flex; align-items: center; justify-content: center;
  background: none; border: 0; border-radius: 10px; color: #64748b; cursor: pointer;
  box-shadow: none; transform: none;
}
#mos-lead-modal .ai-lead__chiudi:hover { background: #f1f5f9; color: #1e293b; }
#mos-lead-modal .ai-lead__chiudi .ai-icon { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
#mos-lead-modal :focus-visible { outline: 2px solid #BE1521; outline-offset: 2px; }
#mos-lead-modal .ai-lead__kicker {
  margin: 0 0 10px; font-size: 12px; font-weight: 600; line-height: 1.4;
  text-transform: uppercase; letter-spacing: .1em; color: #BE1521;
}
#mos-lead-modal .ai-lead__titolo { margin: 0 44px 8px 0; font-size: 24px; font-weight: 800; line-height: 1.2; color: #1e293b; }
#mos-lead-modal .ai-lead__titolo span { color: #BE1521; }
#mos-lead-modal .ai-lead__testo,
#mos-lead-modal .ai-lead__riserva { margin: 0 0 8px; font-size: 14px; line-height: 1.6; color: #475569; }
#mos-lead-modal .ai-lead__riserva { margin-top: 16px; }
#mos-lead-modal .ai-lead__riserva a { color: #BE1521; }
#mos-lead-modal .mos-cta-lead { margin: 16px 0 0 !important; }

@media (max-width: 480px) {
  #mos-lead-modal.ai-lead { padding: 12px; }
  #mos-lead-modal .ai-lead__box { padding: 28px 20px 24px; border-radius: 16px; }
  #mos-lead-modal .ai-lead__titolo { font-size: 21px; }
}

/* Comparsa breve; nessuna animazione con prefers-reduced-motion */
@media (prefers-reduced-motion: no-preference) {
  #mos-lead-modal.ai-lead:not([hidden]) { animation: ai-lead-velo .18s ease-out; }
  #mos-lead-modal.ai-lead:not([hidden]) .ai-lead__box { animation: ai-lead-box .22s cubic-bezier(.2, .8, .2, 1); }
}
@keyframes ai-lead-velo { from { opacity: 0; } }
@keyframes ai-lead-box { from { opacity: 0; transform: translateY(8px) scale(.98); } }
