/* Ferramentas grátis — compartilhado por todas as páginas /gratis/* */
.ft-page, .ft-modal {
  --ft-a: #c026d3;
  --ft-b: #7c3aed;
  --ft-ink: #1f1633;
  --ft-muted: #6b6480;
  --ft-line: #ece8f5;
  --ft-bg: #faf8ff;
  --ft-ok: #0f9d58;
  --ft-err: #d93025;
}
.ft-page {
  font-family: 'Manrope', sans-serif;
  color: var(--ft-ink);
  max-width: 760px;
  margin: 0 auto;
  /* 110px = altura da barra fixa do site (83px) + respiro */
  padding: 110px 16px 56px;
}
.ft-page.ft-tiktok, .ft-modal.ft-tiktok { --ft-a: #fe2c55; --ft-b: #25c2d8; }

.ft-page h1, .ft-page h2 { font-family: 'Manrope', sans-serif; font-weight: 700; color: var(--ft-ink); }
.ft-page h2 { font-size: 1.35rem; margin: 0 0 14px; text-align: center; }
.ft-page section { margin-top: 28px; }

.ft-admin-note { background: #fff7e0; border: 1px solid #f5d67a; color: #7a5b00; border-radius: 10px; padding: 10px 14px; font-size: .9rem; }

/* Hero */
.ft-hero { text-align: center; }
.ft-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 50px; background: linear-gradient(135deg, var(--ft-a), var(--ft-b)); color: #fff; font-weight: 700; font-size: .85rem; }
.ft-hero h1 { font-size: clamp(1.7rem, 5vw, 2.4rem); line-height: 1.15; margin: 14px 0 10px; }
.ft-sub { color: var(--ft-muted); font-size: 1.05rem; margin: 0 auto; max-width: 560px; }
.ft-trust { list-style: none; padding: 0; margin: 16px 0 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; font-size: .9rem; color: var(--ft-muted); }
.ft-trust i { color: var(--ft-ok); margin-right: 4px; }

/* Card do formulário */
.ft-card { background: #fff; border: 1px solid var(--ft-line); border-radius: 18px; padding: 22px; box-shadow: 0 10px 40px rgba(76, 29, 149, .08); }
.ft-label { display: block; font-weight: 700; margin-bottom: 8px; }
.ft-input-wrap { position: relative; }
.ft-input-wrap i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--ft-a); font-size: 1.15rem; }
.ft-input-wrap input { width: 100%; box-sizing: border-box; height: 52px; padding: 0 14px 0 42px; border: 2px solid var(--ft-line); border-radius: 12px; font-size: 1rem; background: var(--ft-bg); color: var(--ft-ink); transition: border-color .15s; }
.ft-input-wrap input:focus { outline: none; border-color: var(--ft-a); background: #fff; }
.ft-input-wrap input.is-invalid { border-color: var(--ft-err); }
.ft-check { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; font-size: .92rem; color: var(--ft-muted); cursor: pointer; font-weight: 400; }
.ft-check input { width: 18px; height: 18px; accent-color: var(--ft-a); flex-shrink: 0; }
.ft-captcha:not(:empty) { margin-top: 14px; display: flex; justify-content: center; }

.ft-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 54px; margin-top: 18px; padding: 12px 18px; border: 0; border-radius: 12px; background: linear-gradient(135deg, var(--ft-a), var(--ft-b)); color: #fff !important; font-weight: 700; font-size: 1.05rem; text-align: center; text-decoration: none !important; cursor: pointer; box-shadow: 0 6px 20px rgba(192, 38, 211, .3); transition: transform .15s, opacity .15s; }
.ft-btn:hover { transform: translateY(-2px); }
.ft-btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.ft-btn.is-loading .ft-btn-text::after { content: ''; display: inline-block; width: 14px; height: 14px; margin-left: 10px; vertical-align: -2px; border: 2px solid rgba(255,255,255,.5); border-top-color: #fff; border-radius: 50%; animation: ft-spin .7s linear infinite; }
.ft-btn-outline { background: transparent; color: var(--ft-b) !important; border: 2px solid var(--ft-b); box-shadow: none; }
@keyframes ft-spin { to { transform: rotate(360deg); } }

.ft-msg { margin-top: 14px; font-size: .95rem; border-radius: 10px; }
.ft-msg:not(:empty) { padding: 12px 14px; }
.ft-msg.is-ok { background: #e7f6ee; color: #0b6b3c; }
.ft-msg.is-err { background: #fdecea; color: #a1231a; }
.ft-timer { margin-top: 12px; text-align: center; color: var(--ft-muted); }
.ft-timer strong { color: var(--ft-ink); font-variant-numeric: tabular-nums; }
.ft-proof { margin: 14px 0 0; text-align: center; font-size: .9rem; color: var(--ft-muted); }
.ft-proof i { color: #f97316; }

/* Passos */
.ft-steps ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.ft-steps li p { margin: 0; }
.ft-steps li { display: flex; align-items: center; gap: 12px; background: var(--ft-bg); border-radius: 12px; padding: 12px 14px; }
.ft-steps li span { flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, var(--ft-a), var(--ft-b)); color: #fff; font-weight: 700; }

/* Pacotes */
.ft-upsell { text-align: center; background: var(--ft-bg); border-radius: 18px; padding: 22px; }
.ft-upsell p { color: var(--ft-muted); }
.ft-packs { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; margin: 14px 0 0; }
.ft-pack { display: flex; flex-direction: column; gap: 2px; padding: 14px 10px; border: 2px solid var(--ft-line); border-radius: 14px; background: #fff; color: var(--ft-ink) !important; text-decoration: none !important; transition: border-color .15s, transform .15s; }
.ft-pack:hover { border-color: var(--ft-a); transform: translateY(-2px); }
.ft-pack strong { font-size: 1.3rem; }
.ft-pack span { color: var(--ft-b); font-weight: 700; }

/* Outras ferramentas */
.ft-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.ft-tile { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 18px 14px; border: 1px solid var(--ft-line); border-radius: 14px; background: #fff; color: var(--ft-ink) !important; text-align: center; font-weight: 700; text-decoration: none !important; transition: transform .15s, box-shadow .15s; }
.ft-tile:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(76, 29, 149, .1); }
.ft-tile i { font-size: 1.8rem; color: #c026d3; }
.ft-tile.ft-tiktok i { color: #111; }
.ft-tile small { color: var(--ft-muted); font-weight: 400; }
.ft-grid-lg .ft-tile { padding: 26px 16px; }
@media (min-width: 560px) { .ft-grid-lg { grid-template-columns: repeat(2, 1fr); } }
.ft-empty { text-align: center; color: var(--ft-muted); }

/* Texto de SEO (editado no admin) */
.ft-content { line-height: 1.7; color: #3d3654; }
.ft-content h2 { text-align: left; margin-top: 24px; }
.ft-content img { max-width: 100%; height: auto; }

/* Popup de venda */
.ft-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(20, 10, 40, .6); }
.ft-modal[hidden] { display: none; }
.ft-modal-box { position: relative; width: 100%; max-width: 420px; max-height: 90vh; overflow-y: auto; background: #fff; border-radius: 20px; padding: 28px 22px 18px; text-align: center; font-family: 'Manrope', sans-serif; color: #1f1633; animation: ft-pop .2s ease-out; }
.ft-modal-box h3 { font-size: 1.3rem; font-weight: 700; margin: 10px 0 6px; }
.ft-modal-box p { color: #6b6480; margin: 0; }
.ft-modal-icon { width: 58px; height: 58px; margin: 0 auto; border-radius: 50%; display: grid; place-items: center; font-size: 1.5rem; color: #fff; background: linear-gradient(135deg, #c026d3, #7c3aed); }
.ft-modal-close { position: absolute; top: 8px; right: 12px; border: 0; background: none; font-size: 1.8rem; line-height: 1; color: #9a93ad; cursor: pointer; }
.ft-link-btn { margin-top: 8px; border: 0; background: none; color: #9a93ad; cursor: pointer; font-size: .9rem; }
@keyframes ft-pop { from { transform: scale(.94); opacity: 0; } to { transform: scale(1); opacity: 1; } }
