/* ============================================================
   VC Pages — Acesso do Afiliado (v0.8.167)
   O formulário e a sessão permanecem sob controle do plugin de
   afiliados. Esta folha fornece somente a camada de interface.
   ============================================================ */

.vcp-affiliate-login-page{
  --afflogin-navy:#09275a;
  --afflogin-blue:#1477e8;
  --afflogin-ink:#173b68;
  --afflogin-text:#5b7089;
  --afflogin-line:#d7e3ef;
  --afflogin-soft:#f3f7fc;
  color:var(--afflogin-ink);
  background:var(--afflogin-soft);
  font-family:Inter,var(--ff-body),sans-serif;
}
.vcp-affiliate-login-page[data-vcp-affiliate-login-auth="guest"] .vcp-hdr__login{display:none!important}

.vcp-afflogin-main{min-height:620px;background:var(--afflogin-soft)}

/* ---------- Cabeçalho editorial compacto ---------- */
.vcp-afflogin-head{
  background:#f7faff;
  border-bottom:1px solid var(--afflogin-line);
}
.vcp-afflogin-head__inner{padding-top:36px;padding-bottom:34px}
.vcp-afflogin-kicker{
  display:block;
  margin-bottom:12px;
  color:var(--afflogin-blue);
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.vcp-afflogin-head h1{
  margin:0;
  color:var(--afflogin-navy);
  font-family:Inter,var(--ff-body),sans-serif;
  font-size:clamp(34px,3vw,44px);
  line-height:1.08;
  font-weight:820;
  letter-spacing:-.035em;
  text-transform:none!important;
}
.vcp-afflogin-head p{
  max-width:720px;
  margin:11px 0 0;
  color:#60758e;
  font-size:16px;
  line-height:1.55;
}

/* ---------- Conteúdo ---------- */
.vcp-afflogin-content{padding:46px 0 72px;background:var(--afflogin-soft)}
.vcp-afflogin-content__inner{display:flex;flex-direction:column;align-items:center}
.vcp-afflogin-card{
  width:min(100%,620px);
  overflow:hidden;
  background:#fff;
  border:1px solid var(--afflogin-line);
  border-radius:14px;
  box-shadow:0 24px 60px -46px rgba(9,39,90,.5);
}
.vcp-afflogin-card__head{padding:34px 38px 24px}
.vcp-afflogin-card__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  margin-bottom:12px;
  padding:5px 9px;
  color:#0e68ca;
  background:#edf5ff;
  border:1px solid #cfe2f8;
  border-radius:6px;
  font-size:11px;
  line-height:1;
  font-weight:780;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.vcp-affiliate-login-page[data-vcp-affiliate-login-auth="logged-in"] .vcp-afflogin-card__eyebrow{
  color:#237b45;
  background:#eff9f2;
  border-color:#c9e7d2;
}
.vcp-afflogin-card__head h2{
  margin:0;
  color:var(--afflogin-navy);
  font-family:Inter,var(--ff-body),sans-serif;
  font-size:27px;
  line-height:1.16;
  font-weight:800;
  letter-spacing:-.025em;
  text-transform:none!important;
}
.vcp-afflogin-card__head p{
  margin:10px 0 0;
  color:var(--afflogin-text);
  font-size:14px;
  line-height:1.6;
}

/* ---------- Limpeza da estrutura do WPBakery ---------- */
.vcp-afflogin-host>.wpb-content-wrapper,
.vcp-afflogin-host .vc_row,
.vcp-afflogin-host .wpb_column,
.vcp-afflogin-host .vc_column-inner,
.vcp-afflogin-host .wpb_wrapper,
.vcp-afflogin-host .wpb_text_column{
  display:contents!important;
  width:auto!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.vcp-afflogin-host{padding:0 38px 36px}

/* ---------- Formulário nativo ---------- */
.vcp-afflogin-host .wpam-login-form,
.vcp-afflogin-host #loginform{width:100%;margin:0!important}
.vcp-afflogin-host #loginform{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.vcp-afflogin-host #loginform p{margin:0!important;padding:0!important}
.vcp-afflogin-host #loginform .login-username,
.vcp-afflogin-host #loginform .login-password{display:flex;flex-direction:column;gap:8px}
.vcp-afflogin-host #loginform label{
  color:var(--afflogin-ink)!important;
  font-family:Inter,var(--ff-body),sans-serif!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:700!important;
}
.vcp-afflogin-host #user_login,
.vcp-afflogin-host #user_pass{
  display:block!important;
  width:100%!important;
  height:52px!important;
  margin:0!important;
  padding:0 15px!important;
  color:#173b68!important;
  background:#fff!important;
  border:1px solid #cbd9e7!important;
  border-radius:8px!important;
  box-shadow:0 1px 2px rgba(9,39,90,.03)!important;
  font-family:Inter,var(--ff-body),sans-serif!important;
  font-size:15px!important;
  line-height:52px!important;
  transition:border-color .18s ease,box-shadow .18s ease!important;
}
.vcp-afflogin-host #user_login:focus,
.vcp-afflogin-host #user_pass:focus{
  outline:0!important;
  border-color:var(--afflogin-blue)!important;
  box-shadow:0 0 0 3px rgba(20,119,232,.13)!important;
}
.vcp-afflogin-options{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:24px;
}
.vcp-afflogin-host .login-remember label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#5d7188!important;
  font-size:13px!important;
  font-weight:550!important;
  cursor:pointer;
}
.vcp-afflogin-host #rememberme{
  width:17px!important;
  height:17px!important;
  margin:0!important;
  accent-color:var(--afflogin-blue);
}
.vcp-afflogin-host .wpam-lost-password{margin:0!important;font-size:13px;line-height:1.4}
.vcp-afflogin-host .wpam-lost-password a{
  color:#0d67ca!important;
  font-weight:680!important;
  text-decoration:none!important;
}
.vcp-afflogin-host .wpam-lost-password a:hover,
.vcp-afflogin-host .wpam-lost-password a:focus-visible{text-decoration:underline!important}
.vcp-afflogin-host #wp-submit{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:52px!important;
  margin:2px 0 0!important;
  padding:13px 22px!important;
  color:#fff!important;
  background:var(--afflogin-navy)!important;
  border:1px solid var(--afflogin-navy)!important;
  border-radius:8px!important;
  box-shadow:0 12px 24px -16px rgba(9,39,90,.75)!important;
  font-family:Inter,var(--ff-body),sans-serif!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:760!important;
  text-align:center!important;
  text-transform:none!important;
  cursor:pointer!important;
  transition:transform .18s ease,background .18s ease!important;
}
.vcp-afflogin-host #wp-submit:hover,
.vcp-afflogin-host #wp-submit:focus-visible{background:#0d397d!important;transform:translateY(-1px)}

/* ---------- Estado conectado ---------- */
.vcp-affiliate-login-page[data-vcp-affiliate-login-auth="logged-in"] .vcp-afflogin-card{width:min(100%,660px)}
.vcp-affiliate-login-page[data-vcp-affiliate-login-auth="logged-in"] .vcp-afflogin-host{padding-bottom:26px}
.vcp-afflogin-host .wpam-logged-in{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  align-items:center;
  gap:8px 20px;
  margin:0!important;
  padding:20px!important;
  color:var(--afflogin-text);
  background:#f7faff;
  border:1px solid #dbe6f1;
  border-radius:10px;
}
.vcp-afflogin-host .wpam-logged-in>p{
  grid-column:2;
  margin:0 0 2px!important;
  color:#657a92;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:650!important;
}
.vcp-afflogin-host .wpam-logged-in-gravatar{
  grid-column:1;
  grid-row:1/4;
  width:82px;
  height:82px;
  margin:0!important;
}
.vcp-afflogin-host .wpam-logged-in-gravatar img{
  display:block!important;
  width:82px!important;
  height:82px!important;
  margin:0!important;
  object-fit:cover;
  border:3px solid #fff!important;
  border-radius:50%!important;
  box-shadow:0 0 0 1px #cddbe8,0 8px 20px -14px rgba(9,39,90,.65);
}
.vcp-afflogin-host .wpam-logged-in-username,
.vcp-afflogin-host .wpam-logged-in-email{
  grid-column:2;
  display:flex;
  min-width:0;
  align-items:baseline;
  gap:7px;
  margin:0!important;
  color:var(--afflogin-ink);
  font-size:14px!important;
  line-height:1.45!important;
  overflow-wrap:anywhere;
}
.vcp-afflogin-detail-label{color:#72869c;font-size:12px;font-weight:650}
.vcp-afflogin-detail-value{color:var(--afflogin-ink);font-weight:700}
.vcp-afflogin-host .wpam-logged-in-logout-link{margin:16px 0 0!important}

/* ---------- Ações e links auxiliares ---------- */
.vcp-afflogin-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.72fr);
  gap:12px;
  padding:0 38px 36px;
}
.vcp-afflogin-button,
.vcp-afflogin-actions .wpam-logged-in-logout-link a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px;
  min-height:50px;
  margin:0!important;
  padding:12px 18px!important;
  border-radius:8px!important;
  font-family:Inter,var(--ff-body),sans-serif!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:740!important;
  text-align:center!important;
  text-decoration:none!important;
}
.vcp-afflogin-button--primary{color:#fff!important;background:var(--afflogin-navy);border:1px solid var(--afflogin-navy)}
.vcp-afflogin-button--primary:hover,
.vcp-afflogin-button--primary:focus-visible{color:#fff!important;background:#0d397d}
.vcp-afflogin-actions .wpam-logged-in-logout-link{margin:0!important}
.vcp-afflogin-actions .wpam-logged-in-logout-link a{width:100%;color:#24476e!important;background:#fff;border:1px solid #cbd9e7!important}
.vcp-afflogin-actions .wpam-logged-in-logout-link a:hover,
.vcp-afflogin-actions .wpam-logged-in-logout-link a:focus-visible{color:#0d67ca!important;background:#f5f9fe}
.vcp-afflogin-card__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 38px;
  color:#647991;
  background:#f8fafd;
  border-top:1px solid #e0e8f1;
  font-size:13px;
  line-height:1.45;
}
.vcp-afflogin-card__footer a{color:#0d67ca!important;font-weight:720;text-decoration:none!important}
.vcp-afflogin-card__footer a:hover,
.vcp-afflogin-card__footer a:focus-visible{text-decoration:underline!important}
.vcp-afflogin-program-link{margin:18px 0 0!important;text-align:center}
.vcp-afflogin-program-link a{
  color:#5d738c!important;
  font-size:12.5px!important;
  line-height:1.45!important;
  font-weight:600!important;
  text-decoration:none!important;
}
.vcp-afflogin-program-link a:hover,
.vcp-afflogin-program-link a:focus-visible{color:#0d67ca!important;text-decoration:underline!important}

@media (max-width:700px){
  .vcp-afflogin-main{min-height:0}
  .vcp-afflogin-head__inner{padding-top:30px;padding-bottom:29px}
  .vcp-afflogin-head h1{font-size:34px}
  .vcp-afflogin-head p{font-size:15px}
  .vcp-afflogin-content{padding:30px 0 52px}
  .vcp-afflogin-card{border-radius:12px}
  .vcp-afflogin-card__head{padding:28px 24px 22px}
  .vcp-afflogin-card__head h2{font-size:24px}
  .vcp-afflogin-host{padding:0 24px 28px}
  .vcp-afflogin-card__footer{align-items:flex-start;flex-direction:column;gap:5px;padding:18px 24px}
  .vcp-afflogin-actions{grid-template-columns:1fr;padding:0 24px 28px}
}

@media (max-width:480px){
  .vcp-afflogin-options{align-items:flex-start;flex-direction:column;gap:10px}
  .vcp-afflogin-host .wpam-logged-in{grid-template-columns:1fr;justify-items:center;padding:20px 16px!important;text-align:center}
  .vcp-afflogin-host .wpam-logged-in>p,
  .vcp-afflogin-host .wpam-logged-in-gravatar,
  .vcp-afflogin-host .wpam-logged-in-username,
  .vcp-afflogin-host .wpam-logged-in-email{grid-column:1;grid-row:auto}
  .vcp-afflogin-host .wpam-logged-in-username,
  .vcp-afflogin-host .wpam-logged-in-email{align-items:center;flex-direction:column;gap:1px}
}
