/* Faixa da home: cupom de primeira compra (inc/home-cupom-primeira-compra.php). */
.cupom-pc {
  display: grid;
  gap: 18px;
  margin-top: 28px;
  margin-bottom: 28px;
  padding: 22px 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: var(--shadow);
  box-sizing: border-box;
}
.cupom-pc h2 { margin: 0 0 6px; color: var(--ink); font-size: 1.3rem; line-height: 1.2; }
.cupom-pc .eyebrow { margin-bottom: 6px; }
.cupom-pc__conditions { margin: 0; color: var(--muted); font-size: .9rem; }
.cupom-pc__form { display: grid; gap: 10px; min-width: 0; }
.cupom-pc__row { display: flex; flex-wrap: wrap; gap: 8px; }
.cupom-pc__row input[type="email"] {
  flex: 1 1 200px;
  min-width: 0;
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  font: inherit;
  font-size: 16px; /* evita o zoom do iOS ao focar */
  color: var(--ink);
  background: var(--surface);
}
.cupom-pc__row input[type="email"]:focus-visible { outline: 2px solid var(--orange); outline-offset: 1px; }
.cupom-pc__row .button { flex: 0 0 auto; min-height: 46px; }
.cupom-pc__consent { display: flex; gap: 8px; align-items: flex-start; color: var(--ink); font-size: .85rem; line-height: 1.35; cursor: pointer; }
.cupom-pc__consent input { margin-top: 2px; flex: 0 0 auto; }
.cupom-pc__legal { margin: 0; color: var(--muted); font-size: .75rem; }
.cupom-pc__legal a { color: inherit; text-decoration: underline; }
.cupom-pc__message { margin: 0; min-height: 1.2em; font-size: .88rem; font-weight: 700; color: var(--ink); }
.cupom-pc__message.is-error { color: #b42318; }
.cupom-pc__message.is-ok { color: #14753a; }
.cupom-pc__hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.cupom-pc .button[disabled] { opacity: .7; cursor: progress; }

@media (max-width: 420px) {
  .cupom-pc__row .button { flex: 1 1 100%; }
}
@media (min-width: 860px) {
  .cupom-pc { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; padding: 26px 30px; gap: 30px; }
  .cupom-pc h2 { font-size: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .cupom-pc * { transition: none !important; animation: none !important; }
}
