/* ============================================================
   TRAVA DE DOWNLOAD
   Pop-up e página de fallback. Usa os tokens de eqc.css.
============================================================ */

.dl-travado{ overflow:hidden; }

.dl-modal{ position:fixed; inset:0; z-index:9500; display:flex; align-items:center; justify-content:center; padding:1.2rem; }
.dl-modal[hidden]{ display:none; }
.dl-modal-fundo{ position:absolute; inset:0; background:rgba(56,18,83,.62); backdrop-filter:blur(2px); }

.dl-modal-caixa{
  position:relative; width:100%; max-width:520px; max-height:90vh; overflow-y:auto;
  background:#fff; border-radius:var(--raio); box-shadow:0 26px 60px rgba(56,18,83,.28);
}

.dl-modal-topo{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.3rem 1.6rem 0;
}
.dl-titulo{ font-family:var(--fonte-titulo); font-size:1.7rem; letter-spacing:.03em; color:var(--roxo-noite); }
.dl-fechar{
  background:none; border:0; font-size:1.8rem; line-height:1; color:var(--roxo-escuro);
  cursor:pointer; padding:0 .2rem;
}
.dl-fechar:hover{ color:var(--roxo); }

.dl-modal-corpo{ padding:.8rem 1.6rem 1.7rem; }

.dl-material{
  font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em;
  color:var(--roxo); margin-bottom:.5rem;
}
.dl-material[hidden]{ display:none; }

.dl-intro{ font-size:.92rem; color:#4a4a4a; margin-bottom:1.1rem; }

.dl-erro{
  background:#fdecec; color:#8f1f1f; border-radius:10px;
  padding:.7rem .9rem; font-size:.88rem; margin-bottom:1rem;
}
.dl-erro[hidden]{ display:none; }

.dl-form{ display:grid; gap:.4rem; }
.dl-form label{ font-size:.82rem; font-weight:600; color:#333; margin-top:.6rem; }
.dl-form input[type=text], .dl-form input[type=email]{
  width:100%; padding:.7rem .8rem; border:1px solid var(--cinza); border-radius:10px;
  font:inherit; font-size:.95rem; background:#fff; color:var(--preto);
}
.dl-form input[type=text]:focus, .dl-form input[type=email]:focus{
  outline:2px solid var(--roxo); outline-offset:1px; border-color:var(--roxo);
}
.dl-opcional{ font-weight:400; color:#8a8a8a; text-transform:none; letter-spacing:0; }

/* Campo isca. Fora da tela, e não "display:none", senão robô ignora. */
.dl-isca{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.dl-check{
  display:grid; grid-template-columns:auto 1fr; gap:.6rem; align-items:start;
  margin-top:1rem; font-size:.82rem; font-weight:400; line-height:1.5; color:#4a4a4a;
}
.dl-check input{ margin-top:.25rem; width:1rem; height:1rem; accent-color:var(--roxo); }

.dl-nota{ font-size:.78rem; color:#7a7a7a; margin-top:.8rem; }
.dl-nota a{ color:var(--roxo-escuro); }

.dl-enviar{
  margin-top:1.2rem; width:100%; border:0; cursor:pointer;
  background:var(--roxo); color:#fff; border-radius:999px;
  padding:.85rem 1.4rem; font:inherit; font-size:.8rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.12em;
  transition:background .25s ease;
}
.dl-enviar:hover{ background:var(--roxo-escuro); }
.dl-enviar:disabled{ opacity:.6; cursor:default; }

/* ---- Página de fallback, sem JavaScript ---- */
.dl-pagina{
  max-width:560px; background:#fff; border:1px solid var(--cinza);
  border-radius:var(--raio); padding:2rem;
}
.dl-pagina .dl-form{ margin-top:.4rem; }
.dl-pagina .botao{ margin-top:1.2rem; }

@media (max-width:520px){
  .dl-modal{ padding:0; align-items:flex-end; }
  .dl-modal-caixa{ max-width:none; max-height:94vh; border-radius:var(--raio) var(--raio) 0 0; }
  .dl-pagina{ padding:1.4rem; }
}
