/* ─────────────────────────────────────────────────────────────────────────
   VATSE Formulários · página de venda: A MESA DE MONTAGEM

   Arquétipo desta página: o formulário nascendo. O hero mostra o pedido em
   linguagem natural virando campos, um a um; o miolo é o caminho que a
   resposta faz depois do envio, em três colunas numeradas. Ciano sobre papel
   frio, nada a ver com o vinho do PDV nem com o kraft do estoque.
   ───────────────────────────────────────────────────────────────────────── */

.vfo-sales {
    --vfo: var(--sys-accent, #0891b2);
    --vfo-tinta: #071a20;
    --vfo-papel: #f4fafb;
    --vfo-linha: #d8e8ec;
    --vfo-suave: #4f6a71;
    background: var(--vfo-papel);
    color: #0f2027;
}
.vfo-sales .sc-container { max-width: 1160px; }

.vfo-hero { background: linear-gradient(150deg, var(--vfo-tinta) 30%, #0c333f 100%); color: #fff; padding: 84px 0 88px; position: relative; overflow: hidden; }
.vfo-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(720px 420px at 84% 14%, color-mix(in srgb, var(--vfo) 34%, transparent), transparent 62%); }
.vfo-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .88fr); gap: 54px; align-items: center; }
.vfo-kicker { display: inline-block; font-size: 0.80rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: color-mix(in srgb, var(--vfo) 55%, #fff); }
.vfo-hero h1 { font-size: clamp(2.3rem, 4.8vw, 3.7rem); font-weight: 900; letter-spacing: -.045em; line-height: 1.03; margin: 18px 0 16px; }
.vfo-hero h1 em { font-style: normal; color: color-mix(in srgb, var(--vfo) 58%, #fff); }
.vfo-hero p { color: rgba(255,255,255,.78); line-height: 1.7; margin: 0 0 28px; max-width: 46ch; }
.vfo-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.vfo-actions-center { justify-content: center; }
.vfo-btn { display: inline-flex; align-items: center; gap: 9px; padding: 15px 28px; border-radius: 10px; font-weight: 800; font-size: .95rem; text-decoration: none; transition: transform .18s ease; }
.vfo-btn:hover { transform: translateY(-2px); }
.vfo-btn-primary { background: color-mix(in srgb, var(--vfo) 72%, #fff); color: #071a20; }
.vfo-btn-ghost { border: 1px solid rgba(255,255,255,.3); color: #fff; }
.vfo-btn-outline-light { border: 1px solid rgba(255,255,255,.4); color: #fff; }
.vfo-proof { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 26px; font-size: .83rem; color: rgba(255,255,255,.6); }
.vfo-proof span { display: inline-flex; align-items: center; gap: 8px; }
.vfo-proof i { color: color-mix(in srgb, var(--vfo) 58%, #fff); }

/* A mesa de montagem: o pedido em linguagem natural virando campos */
.vfo-mesa { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; padding: 22px; }
.vfo-pedido { background: rgba(255,255,255,.06); border-left: 3px solid color-mix(in srgb, var(--vfo) 62%, #fff); border-radius: 0 10px 10px 0; padding: 14px 16px; margin-bottom: 20px; }
.vfo-pedido small { display: block; font-size: 0.80rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-bottom: 6px; }
.vfo-pedido span { font-size: .9rem; line-height: 1.6; color: rgba(255,255,255,.86); }
.vfo-campo { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; }
.vfo-campo b { display: block; font-size: .82rem; font-weight: 800; margin-bottom: 7px; color: rgba(255,255,255,.9); }
.vfo-campo .caixa { height: 30px; border-radius: 7px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.09); }
.vfo-campo .opcoes { display: flex; gap: 7px; flex-wrap: wrap; }
.vfo-campo .opcoes span { font-size: 0.80rem; border-radius: 999px; padding: 6px 12px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.72); }
.vfo-campo .opcoes span.on { background: color-mix(in srgb, var(--vfo) 60%, transparent); color: #fff; font-weight: 700; }
.vfo-mesa-rodape { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.1); font-size: 0.80rem; color: rgba(255,255,255,.5); }
.vfo-mesa-rodape b { color: color-mix(in srgb, var(--vfo) 58%, #fff); font-size: .8rem; }

/* Depois do envio: três colunas numeradas */
.vfo-caminho { padding: 78px 0; }
.vfo-head { max-width: 620px; margin-bottom: 42px; }
.vfo-section-tag { display: block; font-size: 0.80rem; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; color: color-mix(in srgb, var(--vfo) 82%, #000); margin-bottom: 12px; }
.vfo-section-tag-light { color: color-mix(in srgb, var(--vfo) 55%, #fff); }
.vfo-caminho h2, .vfo-componente h2, .vfo-quadro-bloco h2 { font-size: clamp(1.6rem, 3.2vw, 2.4rem); font-weight: 900; letter-spacing: -.04em; line-height: 1.1; margin: 0 0 12px; }
.vfo-componente-apoio, .vfo-head p { color: var(--vfo-suave); line-height: 1.75; margin: 0; }
.vfo-colunas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.vfo-coluna { background: #fff; border: 1px solid var(--vfo-linha); border-radius: 16px; padding: 26px; position: relative; overflow: hidden; }
.vfo-coluna::before { content: attr(data-passo); position: absolute; top: 14px; right: 20px; font-size: 2.6rem; font-weight: 900; color: color-mix(in srgb, var(--vfo) 12%, #fff); letter-spacing: -.06em; line-height: 1; }
.vfo-coluna i { font-size: 1.3rem; color: var(--vfo); display: block; margin-bottom: 16px; }
.vfo-coluna h3 { font-size: 1.04rem; font-weight: 800; margin: 0 0 8px; }
.vfo-coluna p { font-size: .91rem; line-height: 1.7; color: var(--vfo-suave); margin: 0 0 12px; }
.vfo-coluna ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 7px; }
.vfo-coluna li { font-size: .86rem; color: var(--vfo-suave); display: flex; gap: 9px; }
.vfo-coluna li::before { content: '·'; color: var(--vfo); font-weight: 900; }

.vfo-quadro-bloco { background: #fff; border-top: 1px solid var(--vfo-linha); border-bottom: 1px solid var(--vfo-linha); padding: 76px 0; }
.vfo-quadro-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 48px; align-items: center; }
.vfo-quadro { border-radius: 14px; overflow: hidden; border: 1px solid var(--vfo-linha); box-shadow: 0 34px 70px -50px rgba(7,26,32,.8); }
.vfo-quadro img { display: block; width: 100%; height: auto; }
.vfo-lista { display: grid; gap: 13px; margin-top: 24px; }
.vfo-lista div { display: flex; gap: 12px; align-items: flex-start; font-size: .93rem; line-height: 1.65; }
.vfo-lista i { color: var(--vfo); margin-top: 4px; }

.vfo-strip { background: var(--vfo-tinta); color: #fff; padding: 34px 0; }
.vfo-strip-grid { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; }
.vfo-strip-grid > div { padding: 0 20px; border-right: 1px solid rgba(255,255,255,.1); }
.vfo-strip-grid > div:last-child { border-right: 0; }
.vfo-strip-grid strong { display: block; font-size: 1.7rem; font-weight: 900; color: color-mix(in srgb, var(--vfo) 58%, #fff); letter-spacing: -.03em; }
.vfo-strip-grid span { font-size: .82rem; color: rgba(255,255,255,.58); }

.vfo-paper { background: var(--vfo-papel); }
.vfo-componente { padding: 72px 0; }
.vfo-componente-justa { padding-top: 0; }
.vfo-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.vfo-chip { background: #fff; border: 1px solid var(--vfo-linha); border-radius: 999px; padding: 10px 18px; font-size: .88rem; font-weight: 600; color: #2f4a51; }

.vfo-final { background: var(--vfo-tinta); color: #fff; padding: 80px 0; text-align: center; }
.vfo-final h2 { font-size: clamp(1.6rem, 3.2vw, 2.4rem); font-weight: 900; letter-spacing: -.04em; margin: 0 0 26px; }

@media (max-width: 1024px) {
    .vfo-hero-grid, .vfo-quadro-grid { grid-template-columns: 1fr; gap: 40px; }
    .vfo-colunas { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .vfo-hero { padding: 54px 0 62px; }
    .vfo-strip-grid { grid-template-columns: 1fr; gap: 22px; }
    .vfo-strip-grid > div { border-right: 0; }
    .vfo-caminho, .vfo-quadro-bloco, .vfo-componente { padding: 48px 0; }
}


/* -------------------------------------------------------------------------
   Átomos do núcleo em superfície clara
   -------------------------------------------------------------------------
   Planos e dúvidas vêm de core.css, desenhados sobre fundo escuro. Aqui eles
   caem sobre papel, e sem estas duas linhas o botão de vidro fica com tinta
   #f0f0f0 sobre um cartão quase branco: razão 1,01, ou seja, texto invisível
   num botão que vende. `--sv-accent-ink` é o acento já escurecido o bastante
   para ser lido como texto, medido contra o fundo real desta página.
   ------------------------------------------------------------------------- */
[data-venda="forms"] .sc-btn-glass{background:#fff;color:#16273d;border:1px solid rgba(22,39,61,.18)}
[data-venda="forms"] .sc-btn-glass:hover{background:#f3f6fa;color:#16273d;border-color:rgba(22,39,61,.32)}
