.jubinha-pre-publica{max-width:960px;margin:0 auto;padding:24px}
.jubinha-pre-hero{background:#fff5fb;border:1px solid #f1d5e5;border-radius:24px;padding:28px;margin-bottom:20px}
.jubinha-pre-hero span{display:inline-block;font-weight:800;color:#a11968;margin-bottom:8px}
.jubinha-pre-hero h1{margin:0 0 8px;color:#7b104f;font-size:32px}
.jubinha-pre-hero p{margin:0;color:#69415d;font-size:17px;line-height:1.5}
.jubinha-pre-form{display:grid;gap:16px;background:#fff;border:1px solid #f1d5e5;border-radius:24px;padding:24px;box-shadow:0 14px 38px rgba(100,20,80,.08)}
.jubinha-pre-form label{display:grid;gap:6px;font-weight:800;color:#5c2547}
.jubinha-pre-form input,.jubinha-pre-form textarea,.jubinha-pre-form select{width:100%;box-sizing:border-box;border:1px solid #e3c2d6;border-radius:14px;padding:13px 14px;font-size:16px;background:#fff}
.jubinha-pre-form textarea{min-height:110px;resize:vertical}
.jubinha-pre-form button{border:0;border-radius:999px;padding:14px 22px;background:#a11968;color:#fff;font-size:17px;font-weight:900;cursor:pointer}
.jubinha-pre-form small{font-size:12px;color:#7a5b70;font-weight:500;margin-top:-3px}
.jubinha-field-error{display:none;color:#9f1d20;font-size:13px;font-weight:700;margin-top:4px;line-height:1.35;padding:0;background:transparent!important;border:0!important}
.jubinha-input-error{border-color:#dc3545!important;background:#fff7f7!important;box-shadow:0 0 0 3px rgba(220,53,69,.08)!important}
.jubinha-field-has-error small{color:#9f1d20}
.jubinha-form-error{background:#fff5f5;border:1px solid #ffd1d1;color:#7a1d1d;border-radius:14px;padding:12px 14px;font-weight:700}
.jubinha-success-card{background:#ecfff3;border:1px solid #b8edc9;color:#155724;border-radius:22px;padding:24px;margin:18px 0;box-shadow:0 14px 38px rgba(21,87,36,.08)}
.jubinha-success-card h2{margin:0 0 10px;color:#155724;font-size:26px}
.jubinha-success-card p{font-size:17px;line-height:1.6;margin:8px 0}
.jubinha-success-card a{font-weight:800;color:#155724;text-decoration:underline}
.jubinha-success-small{font-size:15px!important;color:#3a6b46}

.jubinha-pre-modal-backdrop{position:fixed;inset:0;background:rgba(30,15,28,.58);display:flex;align-items:center;justify-content:center;z-index:999999;padding:18px}
.jubinha-pre-modal{background:#fff;border-radius:24px;max-width:480px;width:100%;padding:28px;box-shadow:0 22px 70px rgba(0,0,0,.25);position:relative;text-align:center}
.jubinha-pre-modal h2{margin-top:0;color:#8f2f6d}
.jubinha-pre-modal p{font-size:16px;line-height:1.55;color:#57304d}
.jubinha-pre-modal-close{position:absolute;top:10px;right:14px;background:transparent;border:0;font-size:28px;cursor:pointer;color:#7d2c62}
.jubinha-pre-modal-ok{background:#a73778;color:#fff;border:0;border-radius:999px;padding:12px 22px;font-weight:800;cursor:pointer}
body.jubinha-pre-modal-open{overflow:hidden}


/* v1.5.5: erros públicos sempre em modal; alertas técnicos inline ficam ocultos */
.jubinha-pre-publica > .jubinha-pre-error,
.jubinha-pre-publica > .jubinha-pre-alert.error,
.jubinha-pre-form + .jubinha-pre-error,
.jubinha-pre-form + .jubinha-pre-alert.error{
  display:none !important;
}
.jubinha-pre-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(38,18,34,.62);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:999999;
  padding:18px;
}
.jubinha-pre-modal{
  background:#fff;
  border-radius:26px;
  max-width:500px;
  width:100%;
  padding:30px 28px;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
  position:relative;
  text-align:center;
  border:1px solid #f2d3e4;
}
.jubinha-pre-modal-icon{
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 10px;
  border-radius:999px;
  background:#fff0f7;
  font-size:28px;
}
.jubinha-pre-modal h2{
  margin:8px 0 10px;
  color:#8f2f6d;
  font-size:24px;
  line-height:1.2;
}
.jubinha-pre-modal p{
  font-size:16px;
  line-height:1.55;
  color:#57304d;
  margin:0 0 20px;
}
.jubinha-pre-modal-close{
  position:absolute;
  top:10px;
  right:14px;
  background:transparent;
  border:0;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  color:#8f2f6d;
}
.jubinha-pre-modal-ok{
  background:#a73778;
  color:#fff;
  border:0;
  border-radius:999px;
  padding:13px 26px;
  font-weight:800;
  cursor:pointer;
}
body.jubinha-pre-modal-open{overflow:hidden}


/* v1.5.6: nenhum erro fica no rodapé do formulário */
.jubinha-pre-publica .jubinha-pre-error,
.jubinha-pre-publica .jubinha-pre-alert.error,
.jubinha-pre-publica .jubinha-pre-notice.error,
.jubinha-pre-form .jubinha-pre-error,
.jubinha-pre-form .jubinha-pre-alert.error{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  overflow:hidden !important;
}
.jubinha-pre-modal-backdrop{
  position:fixed;inset:0;background:rgba(38,18,34,.62);display:flex;align-items:center;justify-content:center;z-index:999999;padding:18px
}
.jubinha-pre-modal{
  background:#fff;border-radius:26px;max-width:500px;width:100%;padding:30px 28px;box-shadow:0 24px 80px rgba(0,0,0,.28);position:relative;text-align:center;border:1px solid #f2d3e4
}
.jubinha-pre-modal-icon{width:54px;height:54px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;border-radius:999px;background:#fff0f7;font-size:28px}
.jubinha-pre-modal h2{margin:8px 0 10px;color:#8f2f6d;font-size:24px;line-height:1.2}
.jubinha-pre-modal p{font-size:16px;line-height:1.55;color:#57304d;margin:0 0 20px}
.jubinha-pre-modal-close{position:absolute;top:10px;right:14px;background:transparent;border:0;font-size:30px;line-height:1;cursor:pointer;color:#8f2f6d}
.jubinha-pre-modal-ok{background:#a73778;color:#fff;border:0;border-radius:999px;padding:13px 26px;font-weight:800;cursor:pointer}
body.jubinha-pre-modal-open{overflow:hidden}


/* v1.5.7: remove definitivamente erro genérico no rodapé */
.jubinha-pre-publica .jubinha-form-error,
.jubinha-pre-form .jubinha-form-error{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  overflow:hidden !important;
}


/* v1.5.8: erro geral somente no modal */
.jubinha-pre-publica .jubinha-form-error,
.jubinha-pre-form .jubinha-form-error,
.jubinha-pre-publica .jubinha-pre-error,
.jubinha-pre-publica .jubinha-pre-alert.error,
.jubinha-pre-publica .jubinha-pre-notice.error{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  overflow:hidden !important;
}


/* v1.6.1 - Sucesso institucional Jubinha */
.jubinha-success-card{
  text-align:center;
  background:linear-gradient(180deg,#ecfff4 0%,#f8fffb 100%) !important;
  border:1px solid #a7efc1 !important;
  border-radius:26px !important;
  padding:34px 28px !important;
  box-shadow:0 18px 50px rgba(20,120,70,.10);
}
.jubinha-success-card .jubinha-success-icon{
  width:62px;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 12px;
  border-radius:999px;
  background:#fff0f7;
  color:#a73778;
  font-size:30px;
  box-shadow:0 8px 22px rgba(167,55,120,.12);
}
.jubinha-success-card h2{
  color:#137a3d !important;
  margin:6px 0 14px !important;
  font-size:28px !important;
  line-height:1.2 !important;
}
.jubinha-success-card p{
  color:#245b39 !important;
  font-size:17px !important;
  line-height:1.65 !important;
  max-width:820px;
  margin-left:auto !important;
  margin-right:auto !important;
}
.jubinha-success-card .jubinha-success-small{
  font-size:15px !important;
  opacity:.9;
}
.jubinha-success-whatsapp{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:6px;
  padding:13px 22px;
  border-radius:999px;
  background:#19a85a;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:800;
  box-shadow:0 10px 24px rgba(25,168,90,.22);
}
.jubinha-success-whatsapp:hover{
  filter:brightness(.95);
}
.jubinha-success-phone{
  font-weight:800;
  color:#137a3d !important;
  margin-top:10px !important;
}
