:root{
  --mwb-color:#25D366;
  --mwb-hover:#1e9e57;
  --mwb-accent:#0A3D62;
  --mwb-submit:#f7c948;
  --mwb-submit-hover:#e6b93a;
  --mwb-submit-text:#000;
}
.mwb-btn{
  position:fixed;
  bottom:24px;
  padding:12px 16px;
  border-radius:999px;
  background:var(--mwb-color);
  color:#fff;
  border:none;
  display:flex;
  gap:8px;
  align-items:center;
  box-shadow:0 10px 25px rgba(0,0,0,.2);
  cursor:pointer;
  z-index:9999;
  font-weight:600;
  transition:background .2s ease;
}
.mwb-btn:hover{background:var(--mwb-hover)}
.mwb-btn svg{width:20px;height:20px;fill:#fff}
.mwb-btn-right{right:24px}
.mwb-btn-left{left:24px}

.mwb-modal[hidden]{display:none!important}
.mwb-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:10000;
  padding:16px;
}
.mwb-card{
  width:min(480px,95vw);
  background:#fff;
  border-radius:16px;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
  overflow:hidden;
}
.mwb-card header{
  padding:16px 20px;
  background:var(--mwb-color);
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.mwb-card header h3{margin:0;font-size:18px}
.mwb-close{
  appearance:none;
  border:0;
  background:transparent;
  color:#fff !important;
  font-size:22px;
  cursor:pointer;
  line-height:1;
}
.mwb-close:hover,.mwb-close:focus{color:#fff !important;opacity:.9}

.mwb-card .body{padding:16px 20px}
.mwb-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.mwb-inline{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mwb-field label{font-weight:600}
.mwb-field input,.mwb-field textarea,.mwb-field select{
  padding:10px;
  border-radius:10px;
  border:1px solid #ddd;
  font-size:14px;
}
.mwb-field input:focus,.mwb-field textarea:focus,.mwb-field select:focus{
  outline:2px solid var(--mwb-accent);
  border-color:var(--mwb-accent);
}

.mwb-consent{
  display:flex;
  gap:8px;
  align-items:flex-start;
  font-size:12px;
  line-height:1.3;
  margin-top:4px;
}
.mwb-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  margin-top:8px;
}
.mwb-actions button{
  padding:10px 14px;
  border-radius:10px;
  border:0;
  cursor:pointer;
}

.mwb-actions .submit{
  background:var(--mwb-submit);
  color:var(--mwb-submit-text);
  font-weight:700;
}
.mwb-actions .submit:hover{
  background:var(--mwb-submit-hover);
}

.mwb-status{
  margin-top:8px;
  font-size:12px;
  color:#555;
}

html.mwb-open{overflow:hidden}


/* --- Ajustes de responsividade para mobile (>= 1.2.6) --- */
.mwb-modal{
  inset:0;
  z-index:999999;
}

.mwb-card{
  max-height:calc(100vh - 40px);
  overflow-y:auto;
}

/* Em telas pequenas, garantimos que o conteúdo e o botão de envio fiquem visíveis */
@media (max-width: 600px){
  .mwb-modal{
    padding:16px 8px;
    align-items:flex-start;
  }
  .mwb-card{
    width:100%;
    max-width:480px;
    margin:16px auto;
    max-height:calc(100vh - 32px);
    overflow-y:auto;
  }
}

/* Mantém o body travado, mas permite rolagem dentro do card */


@media (max-width: 480px){
  .mwb-modal{
    padding:8px 4px;
    align-items:stretch;
  }
  .mwb-card{
    width:100%;
    max-width:none;
    margin:0;
    height:100vh;
    max-height:100vh;
    border-radius:0;
    box-sizing:border-box;
  }
}


/* Exibe botão completo no desktop e apenas ícone no mobile */
.mwb-btn span{
  display:inline-block;
}

@media (max-width: 600px){
  .mwb-btn{
    padding:12px;
    border-radius:999px;
    gap:0;
  }
  .mwb-btn span{
    display:none;
  }
}
