/*
 * Vitrine pública do AppSuite (2026-10-24, plano 127). Carregado depois de inicio-rengaw.css (mesmos tokens, escopo
 * `body.pagina-vitrine`). A barra superior segue a landing page do canvas da marca: 84px de altura, logotipo com 168px
 * de largura, conteúdo em até 1200px com 24px de folga nas laterais, links de 15px com 28px entre eles e o botão de
 * destaque Azul rengaw (#0090F4) com texto Noite (#061C3D), 600, 12px 20px, cantos de 10px.
 */

body.pagina-vitrine .rw-vit-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}
@media (max-width: 575.98px) {
    body.pagina-vitrine .rw-vit-container { padding: 0 16px; }
}

/* ---------- Barra superior ---------- */
body.pagina-vitrine .rw-vit-topo .navbar { min-height: 0; }
body.pagina-vitrine .rw-vit-topo .rw-vit-container {
    min-height: 84px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0 24px;
}
.rw-vit-marca { display: flex; align-items: center; gap: 16px; min-width: 0; }
.rw-vit-logo { display: block; flex-shrink: 0; }
.rw-vit-logo img { display: block; width: 168px; height: auto; }
.rw-vit-produto {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    padding-left: 16px;
    border-left: 1px solid #2D4A75;
    min-width: 0;
}
.rw-vit-produto .rw-produto { padding-left: 0; border-left: 0; }
.rw-vit-contagem {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border: 1px solid #2D4A75;
    border-radius: 999px;
    color: #F4F7FB;
    font-size: 0.8125rem;
    white-space: nowrap;
}
.rw-vit-contagem i { color: #5DB8FF; }
.rw-vit-produto:hover .rw-vit-contagem,
.rw-vit-produto:focus-visible .rw-vit-contagem { border-color: #5DB8FF; }
body.pagina-vitrine .rw-vit-nav { gap: 0 28px; }
body.pagina-vitrine .rw-vit-nav .nav-link {
    font-size: 15px;
    color: #F4F7FB;
    padding-left: 0;
    padding-right: 0;
    text-decoration: none;
}
body.pagina-vitrine .rw-vit-nav .btn-link.nav-link { border: 0; }
body.pagina-vitrine .rw-vit-nav .nav-link:hover,
body.pagina-vitrine .rw-vit-nav .nav-link:focus { color: #5DB8FF; }
.rw-vit-cta,
body.pagina-vitrine .rw-vit-cta {
    display: inline-flex;
    align-items: center;
    background: #0090F4;
    color: #061C3D;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    padding: 12px 20px;
    border: 0;
    border-radius: 10px;
    line-height: 1.25;
    white-space: nowrap;
}
.rw-vit-cta:hover,
.rw-vit-cta:focus { background: #5DB8FF; color: #061C3D; }
@media (max-width: 991.98px) {
    body.pagina-vitrine .rw-vit-topo .navbar-collapse { flex-basis: 100%; padding-bottom: 16px; }
    body.pagina-vitrine .rw-vit-nav { align-items: flex-start !important; }
    body.pagina-vitrine .rw-vit-nav .nav-link { padding-top: 10px; padding-bottom: 10px; }
    body.pagina-vitrine .rw-vit-cta { margin-top: 8px; white-space: normal; }
}
@media (max-width: 575.98px) {
    .rw-vit-logo img { width: 128px; }
    .rw-vit-marca { gap: 10px; }
    .rw-vit-produto { padding-left: 10px; }
    .rw-vit-produto .rw-produto { display: none; }
}

/* ---------- Faixa da busca (sem banner) ---------- */
.rw-vit-faixa {
    padding: 40px 0 8px;
}
.rw-vit-faixa-grade {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 32px;
    align-items: end;
}
@media (max-width: 991.98px) { .rw-vit-faixa-grade { grid-template-columns: minmax(0, 1fr); gap: 20px; } }
.rw-vit-titulo {
    font-family: var(--rw-titulo);
    font-weight: 600;
    font-size: clamp(1.75rem, 3.4vw, 2.625rem);
    line-height: 1.12;
    letter-spacing: -0.01em;
    color: var(--rw-texto);
    margin: 0 0 12px;
}
.rw-vit-texto { font-size: 1.0625rem; line-height: 1.6; color: var(--rw-texto-suave); }
.rw-vit-busca-caixa {
    background: var(--rw-card);
    border: 1px solid var(--rw-borda);
    border-radius: 16px;
    padding: 20px;
}
.rw-vit-busca { position: relative; }
.rw-vit-busca i {
    position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
    color: var(--rw-texto-suave); font-size: 1.125rem; pointer-events: none;
}
body.pagina-vitrine .rw-vit-busca .form-control {
    padding: 12px 14px 12px 42px;
    font-size: 1rem;
    border-radius: 10px;
    border-color: var(--rw-borda);
    background: var(--rw-fundo);
    color: var(--rw-texto);
}
body.pagina-vitrine .rw-vit-busca .form-control::placeholder { color: var(--rw-texto-suave); opacity: 1; }
.rw-vit-busca-resultado { min-height: 1.25rem; margin: 8px 0 0; font-size: 0.875rem; color: var(--rw-texto-suave); }
.rw-vit-a-partir {
    font-family: var(--rw-mono);
    font-size: 0.8125rem;
    color: var(--rw-acento);
    padding: 4px 10px;
    border: 1px solid var(--rw-borda);
    border-radius: 999px;
}
body.pagina-vitrine .rw-catalogo { padding-top: 32px; }
.rw-vit-sem-resultado { display: none !important; }
body.rw-vit-buscando .rw-categoria.rw-modo-carrossel .rw-apps-grade { flex-wrap: wrap; overflow: visible; }
.rw-vit-preco-cartao { font-size: 0.8125rem; color: var(--rw-texto-suave); margin-top: -4px; }

/* Botões e componentes do Velzon dentro da vitrine, na marca. */
body.pagina-vitrine .btn-primary {
    --vz-btn-bg: #006ECB; --vz-btn-border-color: #006ECB; --vz-btn-hover-bg: #003387;
    --vz-btn-hover-border-color: #003387; --vz-btn-active-bg: #003387; --vz-btn-active-border-color: #003387;
    border-radius: 10px; font-weight: 600;
}
[data-bs-theme="dark"] body.pagina-vitrine .btn-primary {
    --vz-btn-bg: #0090F4; --vz-btn-border-color: #0090F4; --vz-btn-color: #061C3D; --vz-btn-hover-bg: #5DB8FF;
    --vz-btn-hover-border-color: #5DB8FF; --vz-btn-hover-color: #061C3D; --vz-btn-active-color: #061C3D;
}
body.pagina-vitrine .btn-soft-primary { border-radius: 10px; font-weight: 600; }
body.pagina-vitrine .btn-lg { padding: 12px 22px; font-size: 1rem; }

/* ---------- Convite ---------- */
.rw-vit-convite {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 48px 0 0;
    padding: 28px 32px;
    background: var(--rw-noite);
    color: #F4F7FB;
    border-radius: 16px;
}
.rw-vit-convite h2 {
    font-family: var(--rw-titulo); font-weight: 600; font-size: 1.5rem; color: #F4F7FB; margin: 0 0 6px;
}
.rw-vit-convite p { color: #B8C4D6; }
[data-bs-theme="dark"] body.pagina-vitrine .rw-vit-convite { background: #0B2A57; border: 1px solid #1F4478; }

/* ---------- Página do app ---------- */
.rw-vit-caminho ol {
    display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 24px 0 0; margin: 0;
    font-family: var(--rw-mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--rw-texto-suave);
}
.rw-vit-caminho li + li::before { content: "/"; margin-right: 6px; color: var(--rw-legenda); }
.rw-vit-caminho a { color: var(--rw-acento); text-decoration: none; }
.rw-vit-caminho a:hover { text-decoration: underline; }
.rw-vit-app-topo { padding: 24px 0 40px; }
.rw-vit-app-topo-grade {
    display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 40px; align-items: center;
}
@media (max-width: 991.98px) { .rw-vit-app-topo-grade { grid-template-columns: minmax(0, 1fr); gap: 28px; } }
.rw-vit-app-icone { width: 4rem; height: 4rem; font-size: 2rem; border-radius: 1rem; }
.rw-vit-app-nome {
    font-family: var(--rw-titulo); font-weight: 600; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05;
    color: var(--rw-texto); margin: 0;
}
.rw-vit-app-chamada {
    font-family: var(--rw-titulo); font-weight: 500; font-size: clamp(1.25rem, 2.2vw, 1.625rem); line-height: 1.3;
    color: var(--rw-texto); margin: 0 0 12px;
}
.rw-vit-app-vitrine { display: flex; flex-direction: column; gap: 16px; }
.rw-vit-app-capa {
    width: 100%; height: auto; border-radius: 16px; border: 1px solid var(--rw-borda); display: block;
}
.rw-vit-app-painel {
    position: relative; overflow: hidden; padding: 32px; border-radius: 16px; background: var(--rw-noite);
    color: #F4F7FB; border: 1px solid #1B3560;
}
.rw-vit-app-painel-icone {
    position: absolute; right: -20px; bottom: -36px; font-size: 11rem; line-height: 1; color: #0090F4; opacity: 0.16;
}
.rw-vit-app-painel li {
    position: relative; display: flex; gap: 12px; align-items: flex-start; padding: 10px 0;
    border-bottom: 1px solid #1B3560; font-size: 1rem;
}
.rw-vit-app-painel li:last-child { border-bottom: 0; }
.rw-vit-app-painel li i { color: #5DB8FF; font-size: 1.25rem; }
.rw-vit-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin: 0; }
.rw-vit-numeros > div {
    display: flex; flex-direction: column-reverse; padding: 16px; background: var(--rw-card);
    border: 1px solid var(--rw-borda); border-radius: 16px;
}
.rw-vit-numeros dt { font-weight: 400; font-size: 0.875rem; color: var(--rw-texto-suave); }
.rw-vit-numeros dd { margin: 0; font-family: var(--rw-titulo); font-weight: 600; font-size: 2rem; color: var(--rw-acento); }
.rw-vit-secao { padding: 48px 0; }
.rw-vit-secao-alt { background: var(--rw-card); border-top: 1px solid var(--rw-borda); border-bottom: 1px solid var(--rw-borda); }
.rw-vit-secao-titulo {
    font-family: var(--rw-titulo); font-weight: 600; font-size: clamp(1.5rem, 2.6vw, 2rem); color: var(--rw-texto);
    margin: 0 0 20px;
}
.rw-vit-sobre { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.rw-vit-sobre p { font-size: 1.0625rem; line-height: 1.7; color: var(--rw-texto-suave); }
@media (max-width: 991.98px) { .rw-vit-sobre { grid-template-columns: minmax(0, 1fr); } }
.rw-vit-video { border-radius: 16px; overflow: hidden; border: 1px solid var(--rw-borda); }
.rw-vit-recursos {
    list-style: none; padding: 0; margin: 0; display: grid; gap: 16px;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.rw-vit-recursos li { padding: 24px; border: 1px solid var(--rw-borda); border-radius: 16px; background: var(--rw-fundo); }
.rw-vit-recurso-icone {
    display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem;
    border-radius: 0.75rem; background: var(--rw-icone-fundo); color: var(--rw-acento); font-size: 1.375rem; margin-bottom: 14px;
}
.rw-vit-recursos h3, .rw-vit-passos h3 {
    font-family: var(--rw-titulo); font-weight: 600; font-size: 1.125rem; color: var(--rw-texto); margin: 0 0 6px;
}
.rw-vit-recursos p, .rw-vit-passos p { margin: 0; color: var(--rw-texto-suave); line-height: 1.55; }
.rw-vit-duas-colunas { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
@media (max-width: 991.98px) { .rw-vit-duas-colunas { grid-template-columns: minmax(0, 1fr); gap: 32px; } }
.rw-vit-publico { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.rw-vit-publico li {
    display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 1px solid var(--rw-borda);
    border-radius: 12px; background: var(--rw-card); font-size: 1rem;
}
.rw-vit-publico i { color: var(--rw-acento); font-size: 1.25rem; }
.rw-vit-passos { list-style: none; counter-reset: passo; padding: 0; margin: 0; }
.rw-vit-passos li { position: relative; counter-increment: passo; padding: 0 0 24px 64px; }
.rw-vit-passos li::before {
    content: counter(passo); position: absolute; left: 0; top: 0; width: 44px; height: 44px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-family: var(--rw-titulo); font-weight: 600;
    background: var(--rw-acento); color: #FFFFFF;
}
[data-bs-theme="dark"] body.pagina-vitrine .rw-vit-passos li::before { color: #061C3D; }
.rw-vit-passos li::after {
    content: ""; position: absolute; left: 21px; top: 48px; bottom: 4px; width: 2px; background: var(--rw-borda);
}
.rw-vit-passos li:last-child::after { display: none; }
.rw-vit-estreito { max-width: 820px; }
.rw-vit-perguntas details { border: 1px solid var(--rw-borda); border-radius: 12px; background: var(--rw-fundo); margin-bottom: 12px; }
.rw-vit-perguntas summary {
    display: flex; justify-content: space-between; gap: 16px; padding: 16px 20px; cursor: pointer; list-style: none;
    font-weight: 600; color: var(--rw-texto);
}
.rw-vit-perguntas summary::-webkit-details-marker { display: none; }
.rw-vit-perguntas summary i { color: var(--rw-acento); font-size: 1.25rem; transition: transform 0.15s ease; }
.rw-vit-perguntas details[open] summary i { transform: rotate(45deg); }
.rw-vit-perguntas summary:focus-visible { outline: 3px solid var(--rw-azul); outline-offset: 2px; border-radius: 12px; }
.rw-vit-perguntas p { padding: 0 20px 16px; margin: 0; color: var(--rw-texto-suave); line-height: 1.6; }
.rw-vit-base-legal {
    display: flex; gap: 16px; padding: 20px 24px; border: 1px solid var(--rw-borda); border-radius: 16px; background: var(--rw-card);
}
.rw-vit-base-legal > i { font-size: 1.75rem; color: var(--rw-acento); }
.rw-vit-relacionados .rw-categoria-titulo h2 { font-size: 0.8125rem; }

/* ---------- Escolha pessoa física ou jurídica ---------- */
.rw-vit-tipos { border: 0; padding: 0; margin: 0; }
.rw-vit-tipo {
    display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 20px; cursor: pointer;
    border: 2px solid var(--rw-borda, #DCE3EC); border-radius: 16px; background: var(--rw-card, #FFFFFF);
    color: var(--rw-texto, #00336A); transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.rw-vit-tipo:hover { border-color: var(--rw-acento, #006ECB); }
.btn-check:checked + .rw-vit-tipo {
    border-color: var(--rw-acento, #006ECB); box-shadow: 0 0 0 3px rgba(0, 110, 203, 0.18);
}
.btn-check:focus-visible + .rw-vit-tipo { outline: 3px solid #0090F4; outline-offset: 3px; }
.rw-vit-tipo-icone {
    display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; margin-bottom: 8px;
    border-radius: 0.75rem; background: var(--rw-icone-fundo, #E8F1FB); color: var(--rw-acento, #006ECB); font-size: 1.5rem;
}
.rw-vit-tipo-titulo { font-family: var(--rw-titulo, "Exo 2"), sans-serif; font-weight: 600; font-size: 1.25rem; }
.rw-vit-tipo-sub {
    font-family: var(--rw-mono, "IBM Plex Mono"), monospace; font-size: 0.75rem; letter-spacing: 0.12em;
    text-transform: uppercase; color: var(--rw-acento, #006ECB);
}
.rw-vit-tipo-texto { font-size: 0.9375rem; line-height: 1.5; color: var(--rw-texto-suave, #4F5D6E); margin-top: 6px; }
body.pagina-vitrine .rw-vit-modal .modal-content {
    border-radius: 16px; background: var(--rw-fundo); color: var(--rw-texto); border: 1px solid var(--rw-borda);
}
body.pagina-vitrine .rw-vit-modal .modal-title { font-family: var(--rw-titulo); font-weight: 600; color: var(--rw-texto); }
[data-bs-theme="dark"] body.pagina-vitrine .rw-vit-modal .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
.rw-vit-escolha-pagina { padding: 24px 0 32px; }

/* ---------- Montador na vitrine ---------- */
.rw-vit-etapas { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.rw-vit-etapas li {
    display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 999px;
    border: 1px solid var(--rw-borda); background: var(--rw-card); color: var(--rw-texto-suave); font-size: 0.875rem;
}
.rw-vit-etapas span {
    display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%;
    background: var(--rw-fundo); font-weight: 600; font-size: 0.8125rem;
}
.rw-vit-etapas .rw-vit-etapa-atual { border-color: var(--rw-acento); color: var(--rw-texto); font-weight: 600; }
.rw-vit-etapas .rw-vit-etapa-atual span { background: var(--rw-acento); color: #FFFFFF; }
[data-bs-theme="dark"] body.pagina-vitrine .rw-vit-etapas .rw-vit-etapa-atual span { color: #061C3D; }
body.pagina-vitrine.rw-vit-montador .card { background: var(--rw-card); border-color: var(--rw-borda); color: var(--rw-texto); }
body.pagina-vitrine.rw-vit-montador .rw-cob-resumo { position: sticky; top: 100px; }
@media (max-width: 1199.98px) { body.pagina-vitrine.rw-vit-montador .rw-cob-resumo { position: static; } }
.rw-vit-rodape-link { color: inherit; }
body.pagina-vitrine .rw-app-rodape { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; }
body.pagina-vitrine .rw-app-abrir { white-space: nowrap; }
.rw-vit-sobre.rw-vit-sobre-texto { grid-template-columns: minmax(0, 1fr); max-width: 820px; }
@media (min-width: 992px) { .rw-vit-recursos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
