/* Máxima Leads — botão flutuante + modal de orçamento (site e landing) */

/* Remove o botão flutuante de WhatsApp do tema (o link do cabeçalho/rodapé continua, mas passa pelo formulário) */
body .whatsapp.fixed{ display:none !important }

#mxl-root, #mxl-root *{ box-sizing:border-box }
#mxl-root{ font-family:inherit; line-height:1.4 }

/* ---------- Botão flutuante ---------- */
#mxl-root .mxl-fab{
  position:fixed; right:clamp(16px,2.4vw,28px);
  bottom:calc(clamp(16px,2.4vw,28px) + env(safe-area-inset-bottom,0px));
  z-index:9990; display:inline-flex; align-items:center; gap:10px;
  height:54px; padding:0 22px 0 18px; margin:0; border:1px solid rgba(255,255,255,.22); border-radius:27px;
  background:#0D0D0D; color:#fff; cursor:pointer;
  font-family:inherit; font-weight:600; font-size:13px; line-height:1; letter-spacing:.14em; text-transform:uppercase; white-space:nowrap;
  box-shadow:0 8px 28px rgba(0,0,0,.35), 0 2px 8px rgba(0,0,0,.25);
  transition:transform .25s, background .25s, box-shadow .25s;
}
#mxl-root .mxl-fab .mxl-wa-ico{ color:#25D366; flex:none }
#mxl-root .mxl-fab span{ font:inherit; letter-spacing:inherit }
#mxl-root .mxl-fab:hover{ background:#262626; transform:translateY(-2px) }
#mxl-root .mxl-fab:focus-visible{ outline:2px solid #00dbd8; outline-offset:3px }
@media (max-width:640px){
  #mxl-root .mxl-fab{ height:50px; padding:0 18px 0 15px; font-size:12px; letter-spacing:.1em; right:14px; bottom:calc(14px + env(safe-area-inset-bottom,0px)) }
}
/* Na landing o botão só aparece depois do banner; no celular a barra fixa da LP já faz o papel dele */
#mxl-root.mxl-lp .mxl-fab{ opacity:0; transform:translateY(14px); pointer-events:none; transition:opacity .35s, transform .35s, background .25s }
#mxl-root.mxl-lp .mxl-fab.on{ opacity:1; transform:none; pointer-events:auto }
@media (max-width:640px){ #mxl-root.mxl-lp .mxl-fab{ display:none } }
@media (prefers-reduced-motion: reduce){ #mxl-root .mxl-fab{ transition:none } }

/* ---------- Modal ---------- */
#mxl-root .mxl-modal{
  position:fixed; inset:0; z-index:99999; display:grid; place-items:center;
  padding:20px; padding-top:calc(20px + env(safe-area-inset-top,0px)); padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));
  background:rgba(0,0,0,.88); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s;
}
#mxl-root .mxl-modal[hidden]{ display:none }
#mxl-root .mxl-modal.open{ opacity:1; visibility:visible }
#mxl-root .mxl-card{
  width:100%; max-width:460px; max-height:100%; overflow-y:auto;
  background:#fff; color:#0D0D0D; padding:clamp(24px,4vw,40px); border-radius:0; text-align:left;
  transform:translateY(14px); transition:transform .35s cubic-bezier(.2,.8,.3,1);
}
#mxl-root .mxl-modal.open .mxl-card{ transform:none }
#mxl-root .mxl-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px }
#mxl-root h3{ margin:0; font-size:1.45rem; font-weight:600; letter-spacing:-.02em; color:#0D0D0D; text-transform:none; line-height:1.2 }
#mxl-root .mxl-x{ background:none; border:0; color:#8A8A8A; cursor:pointer; padding:4px; margin:0; line-height:0; flex:none }
#mxl-root .mxl-x:hover{ color:#000 }
#mxl-root .mxl-sub{ margin:10px 0 0; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:#777 }

#mxl-root .mxl-form{ display:flex; flex-direction:column; gap:14px; margin:24px 0 0; padding:0 }
#mxl-root .mxl-form[hidden]{ display:none }
#mxl-root .mxl-field{ display:flex; flex-direction:column; gap:6px; margin:0 }
#mxl-root .mxl-field label{ font-size:.66rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#666; margin:0 }
#mxl-root .mxl-field input,
#mxl-root .mxl-field select{
  width:100%; height:auto; margin:0; font-family:inherit; font-weight:500; font-size:1rem; line-height:1.3; color:#000;
  background:#F4F4F4; border:1px solid #E0E0E0; border-radius:0; padding:.9em 1em; box-shadow:none;
  -webkit-appearance:none; appearance:none; transition:border-color .2s, background .2s;
}
#mxl-root .mxl-field select{
  padding-right:2.6em; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1em center;
}
#mxl-root .mxl-field input::placeholder{ color:#A5A5A5 }
#mxl-root .mxl-field input:focus,
#mxl-root .mxl-field select:focus{ outline:none; border-color:#000; background-color:#fff }
#mxl-root [aria-invalid="true"]{ border-color:#C0392B !important; background-color:#fff !important }
#mxl-root .mxl-err{ margin:0; font-size:.74rem; color:#C0392B }
#mxl-root .mxl-err:empty{ display:none }
#mxl-root .mxl-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden }

#mxl-root .mxl-consent{ display:flex; gap:10px; align-items:flex-start; margin:2px 0 0 }
#mxl-root .mxl-consent input{ flex:none; width:18px; height:18px; margin:2px 0 0; accent-color:#0D0D0D; cursor:pointer }
#mxl-root .mxl-consent label{ font-size:.74rem; line-height:1.55; color:#555; cursor:pointer; text-transform:none; letter-spacing:0 }
#mxl-root .mxl-consent a{ color:#0D0D0D; text-decoration:underline; text-underline-offset:2px }

#mxl-root .mxl-alert{ margin:0; padding:10px 12px; font-size:.82rem; line-height:1.5; color:#7A1F14; background:#FBEDEB; border-left:3px solid #C0392B }
#mxl-root .mxl-alert:empty{ display:none }
#mxl-root .mxl-alert a{ color:#7A1F14; font-weight:600; text-decoration:underline }

#mxl-root .mxl-submit{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  width:100%; min-height:54px; margin:4px 0 0; padding:0 18px; border:0; border-radius:0;
  background:#0D0D0D; color:#fff; cursor:pointer; text-decoration:none;
  font-family:inherit; font-weight:600; font-size:.8rem; line-height:1.2; letter-spacing:.14em; text-transform:uppercase; transition:opacity .2s;
}
#mxl-root .mxl-submit:hover{ opacity:.85; color:#fff }
#mxl-root .mxl-submit[disabled]{ opacity:.55; cursor:wait }
#mxl-root .mxl-spin{ width:14px; height:14px; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%; animation:mxlspin .7s linear infinite }
@keyframes mxlspin{ to{ transform:rotate(360deg) } }

#mxl-root .mxl-done{ text-align:center; padding:24px 0 4px; display:flex; flex-direction:column; align-items:center; gap:14px }
#mxl-root .mxl-done[hidden]{ display:none }
#mxl-root .mxl-done p{ margin:0; font-size:.76rem; letter-spacing:.12em; text-transform:uppercase; color:#777 }

html.mxl-lock, html.mxl-lock body{ overflow:hidden !important }
