/* Orena One — complementos LOCAIS do site (SITE-PUBLISH-01B).
   Fora do snapshot do Design System (orena.site.css é cópia byte a byte do
   app e não pode ser editado aqui). Só usa tokens existentes. */

/* Campo-isca do anti-spam (antes style inline; a CSP não libera style
   inline). Fora da tela, sem foco e ignorado por leitor de tela. */
.o-site-honeypot { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Páginas de erro (400/404/405/429/500). */
.o-site-erro__codigo { margin: 0 0 var(--orena-space-2); font-size: var(--orena-font-size-md); font-weight: var(--orena-font-weight-bold); color: var(--orena-text-secondary); }
.o-site-erro__acoes { margin-top: var(--orena-space-6); }

/* SITE-PRODUCT-01B — Hub e listas. Só tokens do DS e --site-primary-*; sem
   cor literal, sem imagem, sem JS. Mobile-first: 768px e 1024px.
   HOME-CONTRACT-01B: Produto em ação (.o-produto, .o-mock) saiu da Home. */
.o-site-lista { margin: var(--orena-space-6) 0 0; padding: 0; list-style: none; display: grid; gap: var(--orena-space-3); }
.o-site-lista li { padding-left: var(--orena-space-4); border-left: 2px solid var(--site-primary-line); color: var(--orena-text-secondary); line-height: var(--orena-line-height-relaxed); }

/* Orena Hub: Orena One → quatro soluções → núcleo. M3 (SCOPE-RECONCILIATION-01A):
   conectores da borda do pill até os cards; barramento a partir de 768px. */
.o-hub { display: grid; gap: 0; justify-items: center; }
.o-hub > * { min-width: 0; }
.o-hub__raiz, .o-hub__contextos, .o-hub__contexto, .o-hub__base { position: relative; }
.o-hub__raiz { margin: 0; padding: var(--orena-space-3) var(--orena-space-8); border: 1px solid var(--site-primary-line); border-radius: var(--orena-radius-full); background: var(--site-primary-soft); }
.o-hub__raiz-nome { font-size: var(--orena-font-size-lg); font-weight: var(--orena-font-weight-extrabold); color: var(--orena-primary); }
.o-hub__raiz::after, .o-hub__base::before { content: ""; position: absolute; left: calc(50% - 1px); width: 2px; height: var(--orena-space-6); background: var(--site-primary-line); }
.o-hub__raiz::after { top: 100%; }
.o-hub__base::before { bottom: 100%; }
.o-hub__contextos { width: 100%; margin: var(--orena-space-6) 0 0; padding: 0; list-style: none; display: grid; gap: var(--orena-space-4); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) {
    .o-hub__contextos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .o-hub__raiz::after, .o-hub__base::before { height: var(--orena-space-3); }
    .o-hub__contextos::before, .o-hub__contextos::after { content: ""; position: absolute; left: calc((100% - var(--orena-space-4)) / 4); right: calc((100% - var(--orena-space-4)) / 4); height: 2px; background: var(--site-primary-line); }
    .o-hub__contextos::before { top: calc(-1 * var(--orena-space-3)); }
    .o-hub__contextos::after { bottom: calc(-1 * var(--orena-space-3) - 2px); }
    .o-hub__contexto::before, .o-hub__contexto::after { position: absolute; left: calc(50% - 1px); width: 2px; height: var(--orena-space-3); background: var(--site-primary-line); }
    .o-hub__contexto::before { bottom: 100%; }
    .o-hub__contexto::after { top: 100%; }
    .o-hub__contexto:nth-child(-n+2)::before, .o-hub__contexto:nth-child(n+3)::after { content: ""; }
}
@media (min-width: 1024px) {
    .o-hub__contextos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .o-hub__contextos::before, .o-hub__contextos::after { left: calc((100% - 3 * var(--orena-space-4)) / 8); right: calc((100% - 3 * var(--orena-space-4)) / 8); }
    .o-hub__contexto::before, .o-hub__contexto::after { content: ""; }
}
.o-hub__contexto { display: flex; flex-direction: column; gap: var(--orena-space-2); padding: var(--orena-space-6); border: 1px solid var(--orena-border); border-radius: var(--orena-radius-md); background: var(--orena-surface); }
.o-hub__contexto:first-child { border-color: var(--site-primary-line); background: var(--site-primary-soft); }
.o-hub__contexto:first-child .o-site-card__title { font-size: var(--orena-font-size-xl); }
.o-hub__base { margin: var(--orena-space-6) 0 0; width: 100%; text-align: center; }
.o-hub__base a { display: block; padding: var(--orena-space-3) var(--orena-space-4); border: 1px dashed var(--site-primary-line); border-radius: var(--orena-radius-md); color: var(--orena-text-secondary); text-decoration: none; }
.o-hub__base a:hover { color: var(--orena-text-primary); border-color: var(--orena-primary); }
.o-hub__base a:focus-visible { outline: var(--orena-focus-ring-width) solid var(--orena-focus-ring); outline-offset: 2px; }

/* HOME-CONTRACT-01B — blocos de #recursos: Pontos de atenção (antes Gestão,
   hoje nome de plano) e Operação local. Texto | detalhe a partir de 1024px. */
.o-recursos__bloco { display: grid; gap: var(--orena-space-6); align-items: start; margin-top: var(--orena-space-16); padding-top: var(--orena-space-10); border-top: 1px solid var(--orena-border); }
.o-recursos__bloco > * { min-width: 0; }
@media (min-width: 1024px) { .o-recursos__bloco { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--orena-space-16); } }
.o-recursos__titulo { font-size: var(--orena-font-size-2xl); }
.o-recursos__bloco .o-site-lista { margin-top: 0; }
.o-gestao__definicao { margin: calc(-1 * var(--orena-space-2)) 0 var(--orena-space-4); font-size: var(--orena-font-size-md); font-weight: var(--orena-font-weight-semibold); color: var(--orena-text-secondary); }
.o-gestao__sinais { margin: 0 0 var(--orena-space-6); padding: 0; list-style: none; display: grid; gap: var(--orena-space-3); }
.o-gestao__sinal { display: grid; gap: var(--orena-space-1); padding: var(--orena-space-4); border: 1px solid var(--orena-border); border-left: 2px solid var(--orena-primary); border-radius: var(--orena-radius-md); background: var(--orena-surface); }
.o-gestao__rotulo { font-size: var(--orena-font-size-xs); font-weight: var(--orena-font-weight-semibold); letter-spacing: 0.08em; text-transform: uppercase; color: var(--orena-primary); }
.o-gestao__texto { font-size: var(--orena-font-size-md); color: var(--orena-text-primary); }

/* PREDEPLOY-01C — Política de Privacidade e links de privacidade.
   Só tokens do DS; sem cor literal, sem imagem, sem JS. */
.o-site-prose { color: var(--orena-text-secondary); font-size: var(--orena-font-size-lg); line-height: var(--orena-line-height-relaxed); }
.o-site-prose .o-site-hero-title { font-size: var(--orena-font-size-3xl); }
.o-site-prose__meta { margin: var(--orena-space-3) 0 0; font-size: var(--orena-font-size-sm); color: var(--orena-text-muted); }
.o-site-prose h2 { margin: var(--orena-space-10) 0 var(--orena-space-3); font-size: var(--orena-font-size-xl); font-weight: var(--orena-font-weight-bold); line-height: 1.3; color: var(--orena-text-primary); }
.o-site-prose p, .o-site-prose ul { margin: 0 0 var(--orena-space-4); }
.o-site-prose ul { padding-left: var(--orena-space-6); }
.o-site-prose li { margin-bottom: var(--orena-space-2); }
.o-site-prose strong { color: var(--orena-text-primary); }
.o-site-prose a, .o-site-form__privacy a { color: var(--orena-primary); text-underline-offset: 2px; }
.o-site-footer__legal a { color: var(--orena-text-secondary); text-underline-offset: 2px; }
.o-site-footer__legal a:hover { color: var(--orena-text-primary); }
.o-site-prose a:focus-visible, .o-site-form__privacy a:focus-visible, .o-site-footer__legal a:focus-visible { outline: var(--orena-focus-ring-width) solid var(--orena-focus-ring); outline-offset: 2px; }

/* VISUAL-REFINEMENT-01B — Comércio (antes Varejo) com peso visual (hoje em #recursos).
   Só tokens; mesmos breakpoints. HOME-CONTRACT-01B: Confiança saiu da Home. */
.o-comercio__card { padding: var(--orena-space-8); border-color: var(--site-primary-line); box-shadow: var(--orena-shadow-sm); }
.o-comercio__card .o-site-card__title { font-size: var(--orena-font-size-xl); }
.o-comercio__secundarios { margin-top: var(--orena-space-8); padding-top: var(--orena-space-6); border-top: 1px solid var(--orena-border); }
.o-comercio__secundarios .o-site-card__title { font-size: var(--orena-font-size-md); }
.o-comercio__secundarios .o-site-card__text { font-size: var(--orena-font-size-sm); }

/* COMMERCIAL-SCOPE-RECONCILIATION-01A — planos, Orena Assist e findings MEDIUM (M1–M6). */

/* M2: a nav sticky ficava presa no <header> da altura dela; o header é que fixa.
   No mobile o CTA persistente é o do menu, em destaque. */
.o-site > header { position: sticky; top: var(--orena-space-3); z-index: var(--orena-z-sticky); }
html { scroll-padding-top: calc(var(--orena-space-16) + var(--orena-space-6)); }
.o-site-menu__panel .o-site-btn { display: flex; width: 100%; margin-top: var(--orena-space-2); }

/* M1: nav numa linha de 1024px até o wide (1280px). */
@media (min-width: 1024px) { .o-site-nav { gap: var(--orena-space-2); } .o-site-nav__link { padding: 0 var(--orena-space-2); } }
@media (min-width: 1280px) { .o-site-nav { gap: var(--orena-space-4); } .o-site-nav__link { padding: 0 var(--orena-space-3); } }

/* M5/M6: botão ocupado sem perder o foco, campo inválido, "(opcional)" em 12px. */
.o-site-label small { font-size: var(--orena-font-size-xs); }
.o-site-input[aria-invalid="true"] { border-color: var(--orena-danger); }
.o-site-btn[aria-disabled="true"] { opacity: 0.6; cursor: progress; }

.o-site-finder__acoes { display: flex; flex-flow: column; gap: var(--orena-space-3); }

/* /planos: só a sugestão do Assist destaca um plano. */
.o-site-plan[data-sugerido] { border-color: var(--orena-primary); box-shadow: var(--orena-shadow-md); }

/* /planos: preço de lançamento (COMMERCIAL-PRICING-02H). Mesmo estilo nos três cards. */
.o-site-plan__preco { display: grid; gap: var(--orena-space-1); margin: var(--orena-space-4) 0 0; }
.o-site-plan__preco-rotulo { font-size: var(--orena-font-size-sm); font-weight: var(--orena-font-weight-semibold); color: var(--orena-text-secondary); }
.o-site-plan__preco-valor { margin: 0; font-size: var(--orena-font-size-2xl); font-weight: var(--orena-font-weight-extrabold); color: var(--orena-text-primary); }

/* Orena Assist: passos com JS; sem JS, tudo visível. */
.o-assist { display: grid; gap: var(--orena-space-10); align-items: start; }
.o-assist > * { min-width: 0; }
@media (min-width: 1024px) { .o-assist { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: var(--orena-space-16); } }
.o-assist__marca { display: flex; align-items: center; gap: var(--orena-space-2); }
.o-assist__marca .material-symbols-outlined { font-size: 20px; }
.o-assist [hidden] { display: none; }
.o-assist__painel, .o-assist__form { display: grid; gap: var(--orena-space-6); }
.o-assist__painel { padding: var(--orena-space-6); border: 1px solid var(--orena-border-strong); border-radius: var(--orena-radius-md); background: var(--orena-surface); }
.o-assist__progresso, .o-assist__ajuda { margin: 0; font-size: var(--orena-font-size-sm); color: var(--orena-text-muted); }
.o-assist__passo { display: grid; gap: var(--orena-space-3); margin: 0; padding: 0; border: 0; min-width: 0; }
.o-assist__passo:focus, .o-assist__plano:focus, .o-site-form__status:focus { outline: none; }
.o-assist__pergunta { padding: 0; font-size: var(--orena-font-size-xl); font-weight: var(--orena-font-weight-bold); color: var(--orena-text-primary); }
.o-assist__opcoes { display: grid; gap: var(--orena-space-2); }
.o-assist__opcao { display: flex; align-items: center; gap: var(--orena-space-3); min-height: var(--orena-hit-target-touch); padding: var(--orena-space-2) var(--orena-space-4); border: 1px solid var(--orena-border-control); border-radius: var(--orena-radius-sm); color: var(--orena-text-secondary); cursor: pointer; }
.o-assist__opcao:hover, .o-assist__opcao:has(input:checked) { border-color: var(--orena-primary); color: var(--orena-text-primary); }
.o-assist__opcao:has(input:checked) { background: var(--site-primary-soft); }
.o-assist__opcao input { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--orena-primary); }
.o-assist__opcao input:focus-visible { outline: var(--orena-focus-ring-width) solid var(--orena-focus-ring); outline-offset: 2px; }
.o-assist__erro { margin: 0; font-size: var(--orena-font-size-md); color: var(--orena-danger); }
.o-assist__acoes { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--orena-space-3); }
.o-assist__acoes [data-assist-avancar] { margin-left: auto; }
.o-assist__resultado { display: grid; gap: var(--orena-space-3); }
.o-assist__resultado .o-site-eyebrow, .o-assist__resultado p { margin: 0; }
.o-assist__plano { margin: 0; font-size: var(--orena-font-size-2xl); font-weight: var(--orena-font-weight-extrabold); color: var(--orena-primary); }
.o-assist__solucao { color: var(--orena-text-secondary); }
.o-assist__solucao strong { color: var(--orena-text-primary); }
.o-assist__aviso { margin: 0; color: var(--orena-text-secondary); }
.o-assist__acoes .o-site-btn, .o-assist__resultado .o-site-btn { width: 100%; }
@media (min-width: 768px) {
    .o-site-finder__acoes { flex-flow: row wrap; }
    .o-assist__acoes .o-site-btn, .o-assist__resultado .o-site-btn { width: auto; }
}

/* PUBLIC_ENTRY_01A — entrada pública (site → Entrar → app). Header: links
   junto da marca, ações à direita; "Entrar" em texto primário, abaixo do CTA.
   Estados hover/active/foco coerentes. Hero só da Home (#hero-titulo): mais
   compacto no mobile (360/390) e com corte limpo para #recursos. */
.o-site-brand { border-radius: var(--orena-radius-sm); }
.o-site-brand:focus-visible { outline: var(--orena-focus-ring-width) solid var(--orena-focus-ring); outline-offset: 2px; }
.o-site-nav__actions .o-site-btn--ghost { color: var(--orena-text-primary); }
.o-site-btn--ghost:hover { background: var(--site-primary-soft); }
.o-site-nav__link:active, .o-site-btn--ghost:active { color: var(--orena-primary); }
.o-site-btn:active { box-shadow: inset var(--orena-shadow-sm); }
.o-site-btn--primary:active { background: var(--orena-primary); }
.o-site-btn--secondary:active, .o-site-btn--ghost:active { background: var(--site-primary-soft); }
.o-site-menu > summary:hover { border-color: var(--orena-border-control); }
.o-site-menu[open] > summary { border-color: var(--orena-primary); color: var(--orena-primary); }
.o-site-menu__panel > .o-site-btn--primary { margin-top: var(--orena-space-3); }
.o-site-hero[aria-labelledby="hero-titulo"] { padding: var(--orena-space-10) 0 var(--orena-space-12); border-bottom: 1px solid var(--orena-border); }
.o-site-hero__grid .o-site-hero-lead { max-width: 56ch; margin-top: var(--orena-space-5); }
.o-site-hero__grid .o-site-hero__actions { margin-top: var(--orena-space-6); }
@media (min-width: 768px) { .o-site-hero[aria-labelledby="hero-titulo"] { padding-top: var(--orena-space-16); } }
@media (min-width: 1024px) {
    .o-site-nav .o-site-nav__links { margin: 0 auto 0 var(--orena-space-4); }
    .o-site-hero[aria-labelledby="hero-titulo"] { padding: var(--orena-space-24) 0 var(--orena-space-16); }
    .o-site-hero__grid .o-site-hero__actions { margin-top: var(--orena-space-8); }
}
