/* ============================================================
   VC Pages — Cadastro do Programa de Afiliados
   Camada visual para o shortcode do Affiliates Manager (v0.8.162)
   ============================================================ */

.vcp-affiliate-registration-page{
  --affreg-navy:#061b3a;
  --affreg-navy-2:#0b3570;
  --affreg-blue:#1377eb;
  --affreg-sky:#62bcff;
  --affreg-orange:#ff6b23;
  --affreg-ink:#09275a;
  --affreg-muted:#607693;
  --affreg-line:#d7e3f1;
  --affreg-soft:#f3f7fc;
  color:var(--affreg-ink);
  background:#f5f8fc;
  font-family:Inter,var(--ff-body),sans-serif;
}

.vcp-affreg-main{overflow:hidden;background:#f5f8fc}

/* ---------- Abertura compacta ---------- */
.vcp-affreg-hero{
  position:relative;
  isolation:isolate;
  min-height:360px;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 78% 35%,rgba(25,126,239,.24),transparent 29%),
    linear-gradient(118deg,#04152f 0%,#07244e 54%,#0a3977 100%);
}
.vcp-affreg-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.22;
  background-image:radial-gradient(circle,rgba(119,184,255,.5) 1px,transparent 1.5px);
  background-size:28px 28px;
  mask-image:linear-gradient(90deg,transparent 6%,#000 45%,#000 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 6%,#000 45%,#000 100%);
}
.vcp-affreg-hero::after{
  content:"";
  position:absolute;
  width:440px;
  height:440px;
  right:-210px;
  bottom:-300px;
  z-index:-1;
  border:1px solid rgba(99,183,255,.17);
  border-radius:50%;
  box-shadow:0 0 0 76px rgba(70,155,255,.025),0 0 0 152px rgba(70,155,255,.018);
}
.vcp-affreg-hero__inner{
  min-height:360px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  align-items:center;
  gap:56px;
  padding-top:48px;
  padding-bottom:92px;
}
.vcp-affreg-hero__copy{max-width:790px}
.vcp-affreg-kicker{
  display:inline-flex;
  align-items:center;
  gap:13px;
  margin-bottom:22px;
  color:#ff8849;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.vcp-affreg-kicker i{width:34px;height:2px;border-radius:99px;background:var(--affreg-orange)}
.vcp-affreg-hero h1{
  max-width:780px;
  margin:0;
  color:#fff;
  font-family:Inter,var(--ff-body),sans-serif;
  font-size:clamp(38px,3.3vw,54px);
  line-height:1.07;
  font-weight:850;
  letter-spacing:-.04em;
  text-transform:none!important;
  text-wrap:balance;
}
.vcp-affreg-hero__copy>p{
  max-width:720px;
  margin:20px 0 0;
  color:rgba(239,246,255,.88);
  font-size:17px;
  line-height:1.58;
}
.vcp-affreg-trust{display:flex;flex-wrap:wrap;gap:0;margin-top:29px}
.vcp-affreg-trust span{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:26px;
  padding:0 23px;
  color:rgba(241,247,255,.9);
  border-right:1px solid rgba(154,198,245,.3);
  font-size:13px;
}
.vcp-affreg-trust span:first-child{padding-left:0}
.vcp-affreg-trust span:last-child{border-right:0}
.vcp-affreg-trust svg{width:21px;height:21px;color:#42a7ff}
.vcp-affreg-trust b{color:inherit!important;font-weight:600}
.vcp-affreg-hero__symbol{
  width:220px;
  height:220px;
  display:grid;
  place-items:center;
  justify-self:end;
  color:rgba(76,160,255,.72);
}
.vcp-affreg-hero__symbol svg{width:100%;height:100%;filter:drop-shadow(0 20px 32px rgba(0,0,0,.18))}

/* ---------- Cartão do formulário ---------- */
.vcp-affreg-content{position:relative;z-index:3;margin-top:-62px;padding:0 0 64px}
.vcp-affreg-content>.vcp-wrap{max-width:1440px}
.vcp-affreg-card{
  max-width:1360px;
  margin:0 auto;
  padding:34px 48px 42px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(168,190,216,.68);
  border-radius:14px;
  box-shadow:0 28px 70px -50px rgba(7,38,82,.5),0 4px 16px rgba(14,47,85,.035);
}
.vcp-affreg-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:27px;
  padding-bottom:23px;
  border-bottom:1px solid #e3ebf5;
}
.vcp-affreg-card__head h2{
  margin:0;
  color:var(--affreg-ink);
  font-family:Inter,var(--ff-body),sans-serif;
  font-size:30px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.025em;
  text-transform:none!important;
}
.vcp-affreg-required-label{
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:#61758f;
  font-size:13px;
  font-weight:600;
}
.vcp-affreg-required-label b{color:var(--affreg-orange);font-size:15px;line-height:1}

/* Neutraliza apenas a estrutura antiga do WPBakery dentro do formulário. */
.vcp-affreg__form-host .wpb-content-wrapper,
.vcp-affreg__form-host .vc_row,
.vcp-affreg__form-host .vc_column_container,
.vcp-affreg__form-host .vc_column-inner,
.vcp-affreg__form-host .wpb_wrapper,
.vcp-affreg__form-host .wpb_text_column,
.vcp-affreg__form-host .wpb_content_element{
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
}
.vcp-affreg__form-host .vc_col-sm-3{display:none!important}
.vcp-affreg__form-host .vc_col-sm-6{display:block!important}
.vcp-affreg__form-host #wpam-reg-form{width:100%;margin:0}
.vcp-affreg__form-host #mainForm{width:100%;max-width:none;margin:0}
.vcp-affreg__form-host #mainForm fieldset{min-width:0;margin:0;padding:0;border:0}

.vcp-affreg-groups{display:grid;gap:34px}
.vcp-affreg-section{min-width:0}
.vcp-affreg-section__title{
  display:grid;
  grid-template-columns:42px max-content 1fr;
  align-items:center;
  gap:14px;
  margin:0 0 19px;
}
.vcp-affreg-section__icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  color:var(--affreg-blue);
  background:#f8fbff;
  border:1px solid #8ab9f0;
  border-radius:50%;
}
.vcp-affreg-section__icon svg{width:21px;height:21px}
.vcp-affreg-section__title h3{
  margin:0;
  color:var(--affreg-ink);
  font-family:Inter,var(--ff-body),sans-serif;
  font-size:18px;
  line-height:1.25;
  font-weight:750;
  letter-spacing:-.015em;
  text-transform:none!important;
}
.vcp-affreg-section__title::after{content:"";height:1px;background:#dbe5f1}
.vcp-affreg-section__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px 24px}
.vcp-affreg-field{grid-column:span 6;min-width:0}
.vcp-affreg-field--third{grid-column:span 4}
.vcp-affreg-field label,
.vcp-affreg__form-host .pure-form-stacked label{
  display:block;
  margin:0 0 8px;
  color:#183b69;
  font-size:13px;
  line-height:1.35;
  font-weight:650;
}
.vcp-affreg-field input:not([type="checkbox"]),
.vcp-affreg-field select,
.vcp-affreg-field textarea{
  width:100%!important;
  max-width:none!important;
  min-height:50px;
  margin:0!important;
  padding:11px 14px!important;
  color:#132f57!important;
  background:#fff!important;
  border:1px solid #c9d7e7!important;
  border-radius:7px!important;
  box-shadow:0 1px 2px rgba(8,37,76,.025)!important;
  font-family:Inter,var(--ff-body),sans-serif!important;
  font-size:15px!important;
  line-height:1.4!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.vcp-affreg-field input:not([type="checkbox"]):hover,
.vcp-affreg-field select:hover,
.vcp-affreg-field textarea:hover{border-color:#9bb9dc!important}
.vcp-affreg-field input:not([type="checkbox"]):focus,
.vcp-affreg-field select:focus,
.vcp-affreg-field textarea:focus{
  outline:0!important;
  border-color:var(--affreg-blue)!important;
  box-shadow:0 0 0 4px rgba(19,119,235,.1)!important;
}
.vcp-affreg-field input::placeholder{color:#95a5b9;opacity:1}
.vcp-affreg-field--readonly input[readonly]{
  color:#526781!important;
  background:#f3f6fa!important;
  border-color:#d5dee9!important;
  cursor:not-allowed;
}
.vcp-affreg-email-note{
  box-sizing:border-box;
  width:100%;
  max-width:none!important;
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-top:10px;
  padding:11px 13px;
  color:#526a87;
  background:#f7faff;
  border:1px solid #dbe7f4;
  border-left:3px solid #77b5f4;
  border-radius:7px;
  font-size:12.5px;
  line-height:1.48;
}
.vcp-affreg-email-note>svg{flex:0 0 18px;width:18px;height:18px;margin-top:1px;color:var(--affreg-blue)}
.vcp-affreg-email-note__copy{min-width:0;width:100%;max-width:none!important}
.vcp-affreg-email-note p{
  display:inline!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  font:inherit!important;
}
.vcp-affreg-email-note p+p::before{content:" ";white-space:normal}

/* ---------- Privacidade, termos e envio ---------- */
.vcp-affreg-privacy{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:31px;
  padding:16px 18px;
  color:#21456f;
  background:#f3f8ff;
  border:1px solid #9ec8f8;
  border-radius:8px;
  font-size:13px;
  line-height:1.48;
}
.vcp-affreg-privacy svg{flex:0 0 26px;width:26px;height:26px;color:var(--affreg-blue)}
.vcp-affreg-terms{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:18px;
}
.vcp-affreg__form-host #agreeTermsLabel{
  flex:1 1 auto;
  display:flex!important;
  align-items:flex-start;
  gap:11px;
  margin:0!important;
  color:#1b3b65;
  font-size:13px;
  line-height:1.5;
  font-weight:500;
}
.vcp-affreg__form-host #agreeTermsLabel input{
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 21px;
  width:21px!important;
  height:21px!important;
  min-height:21px!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  border:1px solid #8299b5!important;
  border-radius:4px!important;
  cursor:pointer;
}
.vcp-affreg__form-host #agreeTermsLabel input:checked{
  border-color:var(--affreg-blue)!important;
  background-color:var(--affreg-blue)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3 3 7-7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
.vcp-affreg__form-host #agreeTermsLabel input:focus-visible{outline:3px solid rgba(19,119,235,.22);outline-offset:2px}
.vcp-affreg__form-host #agreeTermsLabel a{color:#086fdc!important;text-decoration:none!important;font-weight:650}
.vcp-affreg__form-host #agreeTermsLabel a:hover{text-decoration:underline!important}
.vcp-affreg-contract-button{
  flex:0 0 auto;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:10px 16px;
  color:#0b63c5!important;
  background:#fff!important;
  border:1px solid #2677d5!important;
  border-radius:7px!important;
  box-shadow:none!important;
  font-family:Inter,var(--ff-body),sans-serif!important;
  font-size:12.5px!important;
  font-weight:700!important;
  cursor:pointer;
}
.vcp-affreg-contract-button svg{width:17px;height:17px}
.vcp-affreg-contract-button:hover{color:#fff!important;background:#0f70dc!important}
.vcp-affreg__form-host #termsAgreeWarning{
  margin-top:9px;
  color:#b42318!important;
  font-size:12px;
  font-weight:600;
}
.vcp-affreg-submit{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:23px;
  padding-top:23px;
  border-top:1px solid #e2eaf4;
}
.vcp-affreg-reassurance{display:flex;align-items:center;gap:12px;color:#687b94;font-size:13px}
.vcp-affreg-reassurance svg{width:34px;height:34px;padding:7px;color:#166fd5;background:#eaf4ff;border-radius:50%}
.vcp-affreg__form-host input.wpam-registration-form-submit{
  min-width:230px!important;
  min-height:50px!important;
  margin:0!important;
  padding:13px 23px!important;
  color:#fff!important;
  background:var(--affreg-orange)!important;
  border:1px solid var(--affreg-orange)!important;
  border-radius:8px!important;
  box-shadow:0 14px 28px -18px rgba(255,107,35,.85)!important;
  font-family:Inter,var(--ff-body),sans-serif!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:750!important;
  text-transform:none!important;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.vcp-affreg__form-host input.wpam-registration-form-submit:hover,
.vcp-affreg__form-host input.wpam-registration-form-submit:focus-visible{
  color:#fff!important;
  background:#ff7a36!important;
  border-color:#ff7a36!important;
  transform:translateY(-1px);
  box-shadow:0 17px 31px -18px rgba(255,107,35,.95)!important;
}

/* ---------- Mensagens do plugin ---------- */
.vcp-affreg__form-host #wpam_form_error_panel,
.vcp-affreg__form-host .wpam_form_errors{
  margin:0 0 22px!important;
  padding:14px 17px!important;
  color:#8a1c13!important;
  background:#fff4f2!important;
  border:1px solid #f2b8b0!important;
  border-radius:8px!important;
}
.vcp-affreg__form-host .wpam_form_errors:has(ul:empty){display:none}
.vcp-affreg__form-host .wpam_form_errors ul{margin:0!important;padding-left:20px!important}
.vcp-affreg__form-host .wpam_form_errors li{margin:3px 0!important;font-size:13px!important;line-height:1.45!important}
.vcp-affreg__form-host .wpam-success,
.vcp-affreg__form-host .wpam_message,
.vcp-affreg__form-host .wpam-message{
  padding:19px!important;
  color:#14532d!important;
  background:#f0fdf4!important;
  border:1px solid #86d6a0!important;
  border-radius:9px!important;
}
.vcp-affreg__form-host #tncDialog{display:none!important}

/* ---------- Contrato em modal ---------- */
body.vcp-affreg-modal-open{overflow:hidden}
.vcp-affreg-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:26px}
.vcp-affreg-modal[hidden]{display:none!important}
.vcp-affreg-modal__backdrop{position:absolute;inset:0;background:rgba(2,13,31,.76);backdrop-filter:blur(5px)}
.vcp-affreg-modal__dialog{
  position:relative;
  width:min(860px,100%);
  max-height:min(760px,calc(100vh - 52px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(160,187,218,.75);
  border-radius:14px;
  box-shadow:0 35px 90px rgba(0,10,30,.38);
}
.vcp-affreg-modal__dialog>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:20px 24px;
  color:#fff;
  background:linear-gradient(110deg,#061b3a,#0a3875);
}
.vcp-affreg-modal__dialog>header span{display:block;margin-bottom:4px;color:#70bcff;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.vcp-affreg-modal__dialog>header h2{margin:0;color:#fff;font-size:22px;line-height:1.2;text-transform:none!important}
.vcp-affreg-modal__dialog>header button{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  color:#fff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  font:400 25px/1 Arial,sans-serif;
  cursor:pointer;
}
.vcp-affreg-modal__body{min-height:0;overflow:auto;padding:26px 30px;color:#34445a;background:#fff;font-size:14px;line-height:1.7}
.vcp-affreg-modal__body #termsBox{
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  background:transparent!important;
  border:0!important;
  white-space:pre-wrap!important;
}
.vcp-affreg-modal__body h4{margin:26px 0 10px!important;color:var(--affreg-ink)!important;font-size:16px!important;line-height:1.35!important;text-align:left!important}
.vcp-affreg-modal__body h4:first-child{margin-top:0!important;font-size:18px!important;text-align:center!important}

/* ---------- Responsividade ---------- */
@media (max-width:900px){
  .vcp-affreg-hero{min-height:0}
  .vcp-affreg-hero__inner{min-height:0;grid-template-columns:1fr;padding-top:42px;padding-bottom:105px}
  .vcp-affreg-hero__symbol{display:none}
  .vcp-affreg-card{padding:30px 30px 36px}
  .vcp-affreg-field,.vcp-affreg-field--third{grid-column:span 6}
}

@media (max-width:680px){
  .vcp-affreg-hero__inner{padding-top:34px;padding-bottom:94px}
  .vcp-affreg-hero h1{font-size:34px;line-height:1.1}
  .vcp-affreg-hero__copy>p{font-size:15.5px}
  .vcp-affreg-trust{gap:10px 16px}
  .vcp-affreg-trust span{padding:0;border:0;font-size:12px}
  .vcp-affreg-content{margin-top:-54px;padding-bottom:56px}
  .vcp-affreg-content>.vcp-wrap{width:calc(100% - 24px)}
  .vcp-affreg-card{padding:24px 18px 28px;border-radius:12px}
  .vcp-affreg-card__head{align-items:flex-start;margin-bottom:24px;padding-bottom:18px}
  .vcp-affreg-card__head h2{font-size:25px}
  .vcp-affreg-required-label{padding-top:5px;text-align:right}
  .vcp-affreg-groups{gap:30px}
  .vcp-affreg-section__title{grid-template-columns:38px max-content 1fr;gap:11px}
  .vcp-affreg-section__icon{width:38px;height:38px}
  .vcp-affreg-section__title h3{font-size:16px}
  .vcp-affreg-section__grid{grid-template-columns:1fr;gap:16px}
  .vcp-affreg-field,.vcp-affreg-field--third{grid-column:auto}
  .vcp-affreg-privacy{align-items:flex-start;padding:14px}
  .vcp-affreg-terms{align-items:stretch;flex-direction:column;gap:14px}
  .vcp-affreg-contract-button{align-self:flex-start}
  .vcp-affreg-submit{align-items:stretch;flex-direction:column}
  .vcp-affreg__form-host input.wpam-registration-form-submit{width:100%!important;min-width:0!important}
  .vcp-affreg-modal{padding:12px}
  .vcp-affreg-modal__dialog{max-height:calc(100vh - 24px);border-radius:11px}
  .vcp-affreg-modal__dialog>header{padding:16px 17px}
  .vcp-affreg-modal__body{padding:21px 18px;font-size:13px}
}

@media (prefers-reduced-motion:reduce){
  .vcp-affreg-field input,.vcp-affreg-contract-button,.vcp-affreg__form-host input.wpam-registration-form-submit{transition:none!important}
}
