/* ===========================================================================
   Paywall Premium — tier único (Café 360)
   Redesenhado no padrão do Pecuária 360 (hero + estado + card anual destacado
   + economia + microcopy + benefícios). Usa os design tokens globais.
   =========================================================================== */

.pw-root {
  padding: var(--gap-lg);
  background: #FAF6EB;
  min-height: 100vh;
}

/* ---- Hero ---- */
.pw-hero {
  text-align: center;
  padding: var(--gap-lg) var(--gap-md) var(--gap-sm);
}
.pw-hero-emblema { font-size: 44px; line-height: 1; }
.pw-hero-titulo {
  font-size: 26px;
  font-weight: var(--peso-bold);
  color: var(--verde-escuro);
  margin: var(--gap-sm) 0 4px;
}
.pw-hero-sub {
  font-size: var(--fs-pequeno);
  color: var(--texto-secundario);
  line-height: 1.5;
  max-width: 340px;
  margin: 0 auto;
}

/* ---- Bloco de estado (trial / expirado / premium) ---- */
.pw-estado {
  border-radius: var(--raio-md);
  padding: var(--gap-md) var(--gap-lg);
  margin: var(--gap-md) 0;
  text-align: center;
}
.pw-estado-trial    { background: #FFF7E2; border: 1px solid rgba(201, 169, 97, 0.45); }
.pw-estado-expirado { background: #FFF1E8; border: 1px solid rgba(193, 99, 40, 0.35); }
.pw-estado-premium  { background: linear-gradient(135deg, #FFF7E2, var(--branco)); border: 1px solid var(--dourado); }
.pw-estado-titulo {
  font-size: var(--fs-medio);
  font-weight: var(--peso-semi);
  color: var(--verde-escuro);
}
.pw-estado-contador {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 6px;
  margin: 6px 0;
}
.pw-estado-numero {
  font-size: 40px;
  font-weight: var(--peso-bold);
  color: #B08F45;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.pw-estado-unidade { font-size: var(--fs-pequeno); color: var(--texto-secundario); }
.pw-estado-texto {
  font-size: var(--fs-pequeno);
  color: var(--texto-secundario);
  line-height: 1.45;
  margin: 4px 0 0;
}

/* ---- Seleção de planos ---- */
.pw-secao-titulo {
  font-size: var(--fs-medio);
  font-weight: var(--peso-semi);
  color: var(--texto-primario);
  margin: var(--gap-lg) 0 var(--gap-sm);
}
.pw-planos { display: flex; flex-direction: column; gap: var(--gap-sm); }
.pw-plano {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--gap-md);
  background: var(--branco);
  border: 1.5px solid rgba(94, 124, 71, 0.18);
  border-radius: var(--raio-md);
  padding: var(--gap-md);
  cursor: pointer;
  transition: all var(--transicao-rapida);
}
.pw-plano-sel {
  border-color: var(--verde-medio);
  border-width: 2.5px;
  background: #F4FAEF;
  box-shadow: 0 2px 10px rgba(94, 124, 71, 0.12);
}
.pw-radio {
  width: 22px; height: 22px;
  border-radius: 50%;
  border: 2px solid rgba(94, 124, 71, 0.35);
  flex-shrink: 0;
  position: relative;
}
.pw-plano-sel .pw-radio { border-color: var(--verde-medio); }
.pw-plano-sel .pw-radio::after {
  content: '';
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: var(--verde-medio);
}
.pw-plano-info { flex: 1; min-width: 0; }
.pw-plano-nome { font-size: var(--fs-medio); font-weight: var(--peso-semi); color: var(--texto-primario); }
.pw-plano-desc { font-size: var(--fs-mini); color: var(--texto-secundario); }
.pw-plano-preco {
  font-size: 20px;
  font-weight: var(--peso-bold);
  color: var(--verde-escuro);
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.pw-plano-preco small { font-size: var(--fs-mini); font-weight: var(--peso-medio); color: var(--texto-secundario); }
.pw-plano-economia {
  font-size: var(--fs-mini);
  font-weight: var(--peso-semi);
  color: #B08F45;
  margin-top: 2px;
  text-align: right;
}
.pw-tag-popular {
  position: absolute;
  top: -10px; right: 14px;
  background: linear-gradient(135deg, #C9A961, #B08F45);
  color: #fff;
  font-size: 10px;
  font-weight: var(--peso-bold);
  letter-spacing: 0.4px;
  padding: 3px 10px;
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(176, 143, 69, 0.4);
}

/* ---- CTA ---- */
.pw-cta {
  width: 100%;
  margin: var(--gap-lg) 0 var(--gap-sm);
  padding: 16px;
  background: linear-gradient(135deg, var(--verde-medio), var(--verde-escuro));
  color: #fff;
  border: none;
  border-radius: 999px;
  font-size: var(--fs-medio);
  font-weight: var(--peso-bold);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(75, 100, 56, 0.35);
}
.pw-cta:active { transform: scale(0.99); }
.pw-microcopy {
  text-align: center;
  font-size: var(--fs-mini);
  color: var(--texto-secundario);
  line-height: 1.5;
  margin-bottom: var(--gap-lg);
}

/* ---- Benefícios ---- */
.pw-beneficios {
  background: var(--branco);
  border-radius: var(--raio-md);
  padding: var(--gap-lg);
  box-shadow: var(--sombra-sutil);
}
.pw-benef-grupo {
  font-size: var(--fs-mini);
  font-weight: var(--peso-bold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--verde-escuro);
  margin: var(--gap-md) 0 var(--gap-sm);
}
.pw-benef-grupo:first-child { margin-top: 0; }
.pw-benef-grupo-ouro { color: #B08F45; }
.pw-benef-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.pw-benef-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: var(--fs-pequeno);
  color: var(--texto-primario);
  line-height: 1.4;
}
.pw-benef-check { color: var(--verde-medio); font-weight: var(--peso-bold); flex-shrink: 0; }
.pw-benef-divisor { height: 1px; background: rgba(0, 0, 0, 0.07); margin: var(--gap-md) 0; }

/* ---- Rodapé ---- */
.pw-rodape { text-align: center; margin-top: var(--gap-lg); }
.pw-restaurar {
  background: none;
  border: none;
  color: var(--verde-escuro);
  font-size: var(--fs-medio);
  font-weight: var(--peso-semi);
  padding: 10px;
  cursor: pointer;
}
.pw-links { font-size: var(--fs-pequeno); margin-top: var(--gap-sm); }
.pw-links span { color: var(--texto-secundario); cursor: pointer; text-decoration: underline; }
.pw-rodape-nota {
  font-size: var(--fs-mini);
  color: var(--texto-claro);
  line-height: 1.5;
  margin-top: var(--gap-sm);
}

/* ---------- Cupom ---------- */
.pw-cupom {
  margin-top: 16px;
  padding: 14px;
  border: 1px dashed var(--borda, #e7e0d3);
  border-radius: 14px;
  background: var(--bege-papel, #faf6eb);
}
.pw-cupom-titulo {
  font-weight: var(--peso-semi, 600);
  color: var(--texto, #2c2419);
  margin-bottom: 8px;
}
.pw-cupom-linha {
  display: flex;
  gap: 8px;
}
.pw-cupom-input {
  flex: 1;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--borda, #e7e0d3);
  border-radius: 10px;
  font-size: var(--fs-medio, 1rem);
  text-transform: uppercase;
  background: #fff;
  color: var(--texto, #2c2419);
}
.pw-cupom-btn {
  flex-shrink: 0;
  padding: 10px 16px;
  border: none;
  border-radius: 10px;
  background: var(--verde-escuro, #3E5638);
  color: #fff;
  font-weight: var(--peso-semi, 600);
  cursor: pointer;
}
.pw-cupom-btn:disabled { opacity: 0.6; }
.pw-cupom-msg {
  margin-top: 8px;
  font-size: var(--fs-pequeno, 0.88rem);
  min-height: 1em;
}
.pw-cupom-msg.ok { color: #2e7d4f; font-weight: 600; }
.pw-cupom-msg.erro { color: #c0392b; }
