/* Parceiros: cadastro estilo Typeform (.fgt, page-parceiros.php) e painel interno
   (.fgp, page-parceiros-painel.php). 2026-10-08. Tudo escopado para não vazar no site. */

/* =========================================================================
   CADASTRO (v2, estilo Typeform) — uma pergunta por tela, em tela cheia
   ========================================================================= */

html.fgt-ativo, html.fgt-ativo body { overflow: hidden; height: 100%; }
/* O cabeçalho e o rodapé do site ficam por baixo (GTM, cookies e wp_footer continuam). */
.page-template-page-parceiros #header,
.page-template-page-parceiros .fg-rodape,
.page-template-page-parceiros footer { visibility: hidden; }
/* Selo do reCAPTCHA (carregado pelo CF7 no site todo) não tem uso aqui. */
.page-template-page-parceiros .grecaptcha-badge { visibility: hidden !important; }

.fgt {
    --t-rosa: #F91669;
    --t-rosa-claro: #ff4d8d;
    --t-fundo: #1b0809;
    --t-texto: #fff4f6;
    --t-suave: rgba(255, 244, 246, .66);
    --t-linha: rgba(255, 244, 246, .28);
    --t-vidro: rgba(255, 255, 255, .06);
    position: fixed; inset: 0; z-index: 99990;
    background: var(--t-fundo); color: var(--t-texto);
    font-family: 'IBM Plex Sans', 'IBM Plex Sans Fallback', system-ui, sans-serif;
    -webkit-font-smoothing: antialiased; overflow: hidden;
}
.fgt *, .fgt *::before, .fgt *::after { box-sizing: border-box; }
.fgt [hidden] { display: none !important; }

/* fundo: dois brilhos (rosa e laranja da marca) com movimento lento */
.fgt-fundo { position: absolute; inset: -20%; pointer-events: none; }
.fgt-fundo::before, .fgt-fundo::after {
    content: ""; position: absolute; border-radius: 50%; filter: blur(80px); opacity: .55;
}
.fgt-fundo::before {
    width: 60vmax; height: 60vmax; right: 0; top: 0;
    background: radial-gradient(circle, rgba(249, 22, 105, .55), transparent 65%);
    animation: fgt-flutua 18s ease-in-out infinite alternate;
}
.fgt-fundo::after {
    width: 50vmax; height: 50vmax; left: 0; bottom: 0;
    background: radial-gradient(circle, rgba(255, 61, 0, .28), transparent 65%);
    animation: fgt-flutua 22s ease-in-out infinite alternate-reverse;
}
@keyframes fgt-flutua { from { transform: translate(0, 0) scale(1); } to { transform: translate(-6%, 8%) scale(1.12); } }

/* topo */
.fgt-topo {
    position: absolute; top: 0; left: 0; right: 0; z-index: 3;
    display: flex; align-items: center; justify-content: space-between;
    padding: 20px clamp(20px, 5vw, 56px) 28px;
    /* se o conteúdo rolar por baixo, não encavala na logo */
    background: linear-gradient(to bottom, var(--t-fundo) 55%, rgba(27, 8, 9, 0));
    pointer-events: none;
}
.fgt-topo a { pointer-events: auto; }
.fgt-logo img { display: block; height: 32px; width: auto; }
.fgt-logo span { color: var(--t-texto); font-weight: 600; text-decoration: none; }
.fgt-contador { font-size: .875rem; color: var(--t-suave); font-variant-numeric: tabular-nums; }
.fgt-progresso { position: absolute; top: 0; left: 0; right: 0; height: 3px; z-index: 4; background: rgba(255, 255, 255, .08); }
.fgt-progresso span {
    display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--t-rosa), #ff6a3d);
    transition: width .5s cubic-bezier(.2, .8, .2, 1);
}

/* palco e telas */
.fgt-palco { position: absolute; inset: 0; z-index: 2; }
.fgt-tela {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    padding: 96px clamp(20px, 6vw, 72px) 110px; overflow-y: auto; -webkit-overflow-scrolling: touch;
    opacity: 0; transform: translateY(48px); pointer-events: none;
    transition: opacity .45s ease, transform .6s cubic-bezier(.2, .8, .2, 1);
}
.fgt-tela.vem-de-cima { transform: translateY(-48px); }
.fgt-tela.is-ativa { opacity: 1; transform: none; pointer-events: auto; }
.fgt-tela.sai-cima { opacity: 0; transform: translateY(-48px); }
.fgt-tela.sai-baixo { opacity: 0; transform: translateY(48px); }
.fgt-conteudo { width: 100%; max-width: 720px; margin: auto 0; }

/* boas-vindas: o H1 fica na parte de baixo da tela, como capa.
   margin-top:auto (e não align-items:flex-end) para, em tela baixa, o conteúdo
   começar abaixo da logo e rolar, em vez de vazar para cima por baixo dela. */
.fgt-boas-vindas { padding-bottom: max(96px, 10vh); }
.fgt-boas-vindas .fgt-conteudo { max-width: 1040px; margin: auto 0 0; }
@media (min-width: 900px) { .fgt-boas-vindas { justify-content: flex-start; } }
.fgt-kicker {
    display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px;
    font-size: .8125rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--t-rosa-claro);
}
.fgt-kicker::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.fgt-titulo {
    margin: 0 0 20px; font-weight: 300; font-style: italic; letter-spacing: -.02em;
    font-size: clamp(2.5rem, min(8.5vw, 11vh), 6.25rem); line-height: .98; color: var(--t-texto);
}
/* telas baixas (notebook com barra de favoritos, janela não maximizada) */
@media (min-width: 601px) and (max-height: 820px) {
    .fgt-boas-vindas .fgt-sub { margin-bottom: 20px; font-size: 1.0625rem; }
    .fgt-selos { margin-bottom: 22px; }
    .fgt-selos li { padding: 10px 14px; }
    .fgt-acao { margin-top: 18px; }
}
.fgt-titulo em {
    white-space: nowrap; /* "Agência FG" nunca quebra no meio */
    font-style: italic; font-weight: 500;
    background: linear-gradient(90deg, var(--t-rosa), #ff7a45); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.fgt-sub { margin: 0 0 28px; max-width: 620px; font-size: clamp(1.0625rem, 2vw, 1.25rem); line-height: 1.55; color: var(--t-suave); }
.fgt-selos { list-style: none; margin: 0 0 32px; padding: 0; display: grid; gap: 10px; max-width: 900px; }
@media (min-width: 760px) { .fgt-selos { grid-template-columns: repeat(3, 1fr); gap: 14px; } }
.fgt-selos li {
    display: grid; gap: 4px; padding: 14px 16px; border-radius: 14px;
    background: var(--t-vidro); border: 1px solid rgba(255, 255, 255, .1); backdrop-filter: blur(8px);
}
.fgt-selos b { font-size: .9375rem; color: var(--t-texto); }
.fgt-selos span { font-size: .875rem; line-height: 1.45; color: var(--t-suave); }
.fgt-tempo { display: flex; align-items: center; gap: 6px; margin: 16px 0 0; font-size: .875rem; color: var(--t-suave); }

/* pergunta */
.fgt-num { display: flex; align-items: center; gap: 6px; margin: 0 0 10px; color: var(--t-rosa-claro); font-size: .9375rem; font-weight: 600; }
.fgt-pergunta {
    margin: 0 0 10px; font-weight: 400; font-size: clamp(1.5rem, 3.6vw, 2.25rem); line-height: 1.22;
    color: var(--t-texto); letter-spacing: -.01em; outline: none;
}
.fgt-req { color: var(--t-rosa-claro); margin-left: 4px; }
.fgt-desc { margin: 0 0 22px; font-size: 1.0625rem; line-height: 1.5; color: var(--t-suave); }
.fgt-desc a { color: var(--t-rosa-claro); }
.fgt-pergunta + .fgt-input, .fgt-pergunta + .fgt-opcoes { margin-top: 22px; }

.fgt-input {
    display: block; width: 100%; margin: 0; padding: 8px 0 10px; border: 0; border-bottom: 2px solid var(--t-linha);
    border-radius: 0; background: transparent; color: var(--t-texto);
    font: inherit; font-size: clamp(1.375rem, 3.2vw, 1.875rem); line-height: 1.3;
    transition: border-color .2s; -webkit-appearance: none; appearance: none;
}
.fgt-input::placeholder { color: rgba(255, 244, 246, .32); }
.fgt-input:focus { outline: none; border-bottom-color: var(--t-rosa); }
.fgt-longo { resize: none; min-height: 56px; overflow-y: auto; }

/* opções com letra */
.fgt-opcoes { display: grid; gap: 10px; max-width: 560px; }
@media (min-width: 900px) { .fgt-opcoes-2col { grid-template-columns: 1fr 1fr; max-width: 720px; } }
.fgt-opcao {
    display: flex; align-items: center; gap: 12px; width: 100%; min-height: 52px; padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, .22); border-radius: 10px; background: var(--t-vidro);
    color: var(--t-texto); font: inherit; font-size: 1.0625rem; text-align: left; cursor: pointer;
    transition: border-color .15s, background .15s, transform .1s;
}
.fgt-opcao:hover { border-color: rgba(255, 255, 255, .5); background: rgba(255, 255, 255, .1); }
.fgt-opcao:active { transform: scale(.99); }
.fgt-opcao:focus-visible { outline: 2px solid var(--t-rosa-claro); outline-offset: 2px; }
.fgt-tecla {
    flex: none; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, .35); font-size: .75rem; font-weight: 700; color: var(--t-suave);
}
.fgt-rotulo { flex: 1; }
.fgt-marca { flex: none; opacity: 0; color: var(--t-rosa-claro); transition: opacity .15s; display: flex; }
.fgt-opcao.is-on { border-color: var(--t-rosa); background: rgba(249, 22, 105, .18); }
.fgt-opcao.is-on .fgt-tecla { background: var(--t-rosa); border-color: var(--t-rosa); color: #fff; }
.fgt-opcao.is-on .fgt-marca { opacity: 1; }
.fgt-opcao.pisca { animation: fgt-pisca .4s ease; }
@keyframes fgt-pisca { 0%, 50%, 100% { background: rgba(249, 22, 105, .18); } 25%, 75% { background: rgba(249, 22, 105, .38); } }

/* erro */
.fgt-erro { display: none; }
.fgt-erro.is-on {
    display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 8px 12px; border-radius: 8px;
    background: rgba(249, 22, 105, .16); color: #ffd1de; font-size: .9375rem; animation: fgt-treme .35s ease;
}
@keyframes fgt-treme { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }

/* botões */
.fgt-acao { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 26px; }
.fgt-ok {
    display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border: 0; border-radius: 10px;
    background: var(--t-rosa); color: #fff; font: inherit; font-size: 1.0625rem; font-weight: 600; cursor: pointer;
    text-decoration: none; box-shadow: 0 10px 30px rgba(249, 22, 105, .35); transition: background .15s, transform .1s;
}
.fgt-ok:hover { background: var(--t-rosa-claro); color: #fff; }
.fgt-ok:active { transform: translateY(1px); }
.fgt-ok:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.fgt-ok:disabled { opacity: .7; cursor: wait; }
.fgt-dica { font-size: .8125rem; color: var(--t-suave); }
.fgt-dica b { font-weight: 600; color: var(--t-texto); }
@media (pointer: coarse) { .fgt-dica { display: none; } }
.fgt-link { color: var(--t-suave); text-decoration: underline; text-underline-offset: 3px; }
.fgt-link:hover { color: var(--t-texto); }
.fgt-spinner {
    width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .4); border-top-color: #fff;
    animation: fgt-gira .8s linear infinite;
}
@keyframes fgt-gira { to { transform: rotate(360deg); } }

/* navegação ↑ ↓ */
.fgt-nav { position: absolute; right: clamp(16px, 4vw, 40px); bottom: clamp(16px, 4vh, 32px); z-index: 3; display: flex; gap: 2px; }
.fgt-nav button {
    width: 40px; height: 36px; display: grid; place-items: center; border: 0; cursor: pointer;
    background: var(--t-rosa); color: #fff; transition: background .15s;
}
.fgt-nav button:first-child { border-radius: 8px 0 0 8px; }
.fgt-nav button:last-child { border-radius: 0 8px 8px 0; }
.fgt-nav button:hover { background: var(--t-rosa-claro); }
.fgt-nav button:disabled { opacity: .45; cursor: default; }

/* final */
.fgt-final-icone {
    width: 64px; height: 64px; margin-bottom: 24px; border-radius: 50%; display: grid; place-items: center;
    background: var(--t-rosa); color: #fff; box-shadow: 0 0 0 10px rgba(249, 22, 105, .18);
}
.fgt-final-icone svg { width: 30px; height: 30px; }
.fgt-titulo-final { font-size: clamp(2.25rem, 6vw, 4rem); outline: none; }

@media (max-width: 600px) {
    /* capa no celular: destaques viram etiquetas curtas para o título descer */
    .fgt-selos { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
    .fgt-selos li { padding: 7px 12px; border-radius: 999px; }
    .fgt-selos li span { display: none; }
    .fgt-selos b { font-size: .8125rem; font-weight: 500; }
    .fgt-sub { margin-bottom: 20px; }
    .fgt-tela { padding: 84px 20px 96px; align-items: flex-start; }
    .fgt-pergunta-tela .fgt-conteudo { margin-top: 6vh; }
    .fgt-boas-vindas { padding-bottom: 88px; } /* acima do ícone de cookies do canto */
    .fgt-ok { width: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .fgt-tela, .fgt-progresso span { transition: none; }
    .fgt-fundo::before, .fgt-fundo::after, .fgt-opcao.pisca, .fgt-erro.is-on { animation: none; }
}

/* =========================================================================
   PAINEL INTERNO (.fgp)
   ========================================================================= */

.fgp {
    --fgp-rosa: #F91669;
    --fgp-rosa-escuro: #c80f52;
    --fgp-vinho: #2f1718;
    --fgp-texto: #4a3638;
    --fgp-suave: #8a7476;
    --fgp-borda: #ead9db;
    --fgp-fundo: #fbf6f6;
    color: var(--fgp-texto);
    padding-bottom: 64px;
}
.fgp *, .fgp *::before, .fgp *::after { box-sizing: border-box; }

.fgp-kicker {
    margin: 0 0 8px; font-size: 0.8125rem; font-weight: 600; letter-spacing: .08em;
    text-transform: uppercase; color: var(--fgp-rosa);
}
.fgp-titulo {
    margin: 0 0 16px; font-weight: 400; font-style: italic; color: var(--fgp-vinho);
    font-size: clamp(2rem, 6vw, 3.125rem); line-height: 1.05;
}
.fgp-lead { margin: 0 0 24px; font-size: 1.0625rem; line-height: 1.6; }
.fgp-mini { font-size: .875rem; color: var(--fgp-suave); }
.fgp-mini a { color: var(--fgp-rosa); }

.fgp-card {
    background: #fff; border: 1px solid var(--fgp-borda); border-radius: 16px;
    padding: 24px 20px; box-shadow: 0 12px 40px rgba(47, 23, 24, .08);
}
@media (min-width: 600px) { .fgp-card { padding: 32px; } }

.fgp input[type=text], .fgp input[type=email], .fgp input[type=search], .fgp input[type=password],
.fgp textarea, .fgp select {
    width: 100%; font: inherit; font-size: 16px; /* 16px evita o zoom do iPhone */
    color: var(--fgp-vinho); background: #fff; border: 1px solid #d9c3c6; border-radius: 10px;
    padding: 12px 14px; margin: 0; transition: border-color .15s, box-shadow .15s;
}
.fgp textarea { resize: vertical; min-height: 90px; line-height: 1.5; }
.fgp input:focus, .fgp textarea:focus, .fgp select:focus {
    outline: none; border-color: var(--fgp-rosa); box-shadow: 0 0 0 3px rgba(249, 22, 105, .15);
}

.fgp-chip {
    font: inherit; font-size: .9375rem; line-height: 1.2; cursor: pointer;
    padding: 10px 14px; border-radius: 999px; border: 1px solid #d9c3c6;
    background: #fff; color: var(--fgp-vinho); transition: background .15s, border-color .15s, color .15s;
}
.fgp-chip:hover { border-color: var(--fgp-rosa); }
.fgp-chip:focus-visible { outline: 3px solid rgba(249, 22, 105, .35); outline-offset: 2px; }
.fgp-chip.is-on { background: var(--fgp-rosa); border-color: var(--fgp-rosa); color: #fff; }

.fgp-salvar, .fgp-exportar, .fgp-login input[type=submit] {
    font: inherit; font-size: 1rem; font-weight: 600; cursor: pointer; border-radius: 999px;
    padding: 13px 24px; border: 1px solid var(--fgp-rosa); transition: background .15s, opacity .15s;
}
.fgp-salvar, .fgp-login input[type=submit] { background: var(--fgp-rosa); color: #fff; }
.fgp-salvar:hover, .fgp-login input[type=submit]:hover { background: var(--fgp-rosa-escuro); }
.fgp-exportar { background: #fff; color: var(--fgp-rosa); }
.fgp-salvar:disabled { opacity: .6; cursor: wait; }

.fgp-login { max-width: 460px; margin: 24px auto 0; }
.fgp-login p label { display: block; font-size: .9375rem; font-weight: 500; color: var(--fgp-vinho); margin-bottom: 6px; }
.fgp-login .login-remember label { display: flex; gap: 8px; align-items: center; font-weight: 400; }
.fgp-login p { margin: 0 0 14px; }
.fgp-login input[type=submit] { width: 100%; }

.fgp-topo { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; align-items: flex-end; margin: 16px 0 20px; }
.fgp-topo .fgp-titulo { margin-bottom: 0; }

.fgp-filtros { display: grid; gap: 12px; margin-bottom: 20px; }
.fgp-status-filtro { display: flex; flex-wrap: wrap; gap: 8px; }
.fgp-status-filtro b { font-weight: 600; opacity: .75; margin-left: 2px; }
.fgp-filtros-linha { display: grid; gap: 10px; }
@media (min-width: 760px) { .fgp-filtros-linha { grid-template-columns: 240px 1fr auto; } }

.fgp-lista { display: grid; gap: 10px; }
.fgp-item { background: #fff; border: 1px solid var(--fgp-borda); border-radius: 12px; overflow: hidden; }
.fgp-item[open] { box-shadow: 0 8px 28px rgba(47, 23, 24, .08); }
.fgp-item summary {
    list-style: none; cursor: pointer; padding: 14px 16px; display: grid; gap: 4px 12px;
    grid-template-columns: 1fr auto; align-items: center;
}
.fgp-item summary::-webkit-details-marker { display: none; }
.fgp-item-empresa { font-weight: 600; color: var(--fgp-vinho); font-size: 1.0625rem; }
.fgp-item-meta { grid-column: 1; font-size: .875rem; color: var(--fgp-suave); }
.fgp-badge { grid-row: 1 / span 2; grid-column: 2; font-size: .75rem; font-weight: 600; padding: 5px 10px; border-radius: 999px; background: #eee; color: #444; white-space: nowrap; }
.fgp-badge-novo { background: #fde3ee; color: #b3004a; }
.fgp-badge-analise { background: #fff1d6; color: #8a5a00; }
.fgp-badge-reuniao { background: #e2ecff; color: #1b4fb3; }
.fgp-badge-aprovado { background: #dff5e6; color: #17713a; }
.fgp-badge-recusado { background: #eee; color: #666; }

.fgp-item-corpo { padding: 0 16px 16px; border-top: 1px solid var(--fgp-borda); }
.fgp-item-corpo dl { display: grid; gap: 4px 16px; margin: 14px 0; }
@media (min-width: 760px) { .fgp-item-corpo dl { grid-template-columns: 190px 1fr; } }
.fgp-item-corpo dt { font-size: .8125rem; font-weight: 600; color: var(--fgp-suave); text-transform: uppercase; letter-spacing: .04em; }
.fgp-item-corpo dd { margin: 0 0 8px; line-height: 1.5; word-break: break-word; }
.fgp-item-corpo a { color: var(--fgp-rosa); }
.fgp-pre { white-space: pre-wrap; }

.fgp-edicao { display: grid; gap: 12px; padding: 14px; background: var(--fgp-fundo); border-radius: 10px; }
.fgp-edicao label { display: grid; gap: 6px; font-size: .875rem; font-weight: 600; color: var(--fgp-vinho); }
.fgp-ed-acoes { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.fgp-ed-acoes .fgp-salvar { padding: 10px 22px; }
.fgp-ed-info { font-size: .8125rem; color: var(--fgp-suave); }
.fgp-vazio { color: var(--fgp-suave); }
