/* ============================================================
   Popup de captura da assinatura.
   Mesmo comportamento do popup das LPs, com a paleta e as fontes
   da revista. Depende dos tokens declarados em assets/css/landing.css,
   que já está carregado quando este arquivo entra.
   ============================================================ */

.popup-overlay{
  position:fixed; inset:0; z-index:200;
  display:none; align-items:center; justify-content:center;
  padding:var(--gutter);
  background:rgba(12,10,9,.82);
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  overflow-y:auto;
}
.popup-overlay.aberto{ display:flex; }

.popup-box{
  position:relative; width:100%; max-width:430px;
  background:var(--papel); color:var(--tinta);
  border-top:4px solid var(--ouro);
  padding:clamp(1.8rem,5vw,2.4rem);
  box-shadow:0 30px 80px rgba(0,0,0,.5);
  margin-block:auto;
}

.popup-fechar{
  position:absolute; top:8px; right:10px;
  width:34px; height:34px; line-height:1;
  background:none; border:0; cursor:pointer;
  font-size:1.6rem; color:var(--cinza);
  transition:color .18s ease;
}
.popup-fechar:hover{ color:var(--tinta); }

.popup-header{ margin-bottom:1.5rem; }
.popup-tag{
  display:block; font-family:var(--sans); font-weight:600; font-size:.66rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--ouro);
  margin-bottom:.8rem;
}
.popup-header h2{
  font-family:var(--serif); font-weight:700; font-size:clamp(1.4rem,1.2rem + 1vw,1.75rem);
  line-height:1.15; letter-spacing:-.012em;
  font-variant-numeric:lining-nums; font-feature-settings:'lnum' 1;
}
.popup-header p{
  margin-top:.8rem; font-size:.92rem; line-height:1.55; color:var(--cinza);
}

.popup-erro{
  display:none; margin-bottom:1rem; padding:.7rem .9rem;
  background:#fbeceb; border-left:3px solid #b3261e;
  font-size:.88rem; line-height:1.45; color:#7f1d1a;
}
.popup-erro.visivel{ display:block; }

.popup-form .campo-grupo + .campo-grupo{ margin-top:.75rem; }
.popup-form input[type="text"],
.popup-form input[type="email"],
.popup-form input[type="tel"]{
  width:100%; font-family:var(--sans); font-weight:400; font-size:1rem;
  padding:.85rem 1rem; color:var(--tinta);
  background:#fff; border:1px solid var(--linha); border-radius:2px;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.popup-form input::placeholder{ color:var(--cinza-claro); }
.popup-form input:focus{
  outline:0; border-color:var(--ouro); box-shadow:0 0 0 3px rgba(184,137,59,.16);
}

.campo-aceite{
  display:flex; gap:.6rem; align-items:flex-start;
  margin-top:1.1rem; font-size:.82rem; line-height:1.5; color:var(--cinza);
}
.campo-aceite input{ margin-top:.22rem; accent-color:var(--ouro); flex-shrink:0; }

.btn-popup{
  width:100%; margin-top:1.4rem;
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  font-family:var(--sans); font-weight:600; font-size:1rem;
  background:var(--ouro); color:var(--tinta);
  padding:1.05rem 1.5rem; border:0; border-radius:2px; cursor:pointer;
  transition:background .18s ease;
}
.btn-popup:hover{ background:var(--ouro-claro); }
.btn-popup:disabled{ opacity:.7; cursor:progress; }

.spinner{
  width:15px; height:15px; border-radius:50%;
  border:2px solid rgba(20,17,15,.28); border-top-color:var(--tinta);
  animation:girar .7s linear infinite;
}
@keyframes girar{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .spinner{ animation-duration:2s; } }

.popup-footer{
  display:flex; align-items:center; justify-content:center; gap:.45rem;
  margin-top:1.2rem; font-size:.78rem; color:var(--cinza);
}
