/* =========================================================================
   SmartWeb — Design System
   Tokens + componentes. Reutilizável no site institucional, no SmartHub,
   em landing pages, propostas e materiais digitais.

   Contraste verificado (WCAG 2.1 AA):
     --sw-azul        #0866FF  sobre branco = 4.82:1  → texto normal OK, botões OK
     --sw-azul-escuro #0A57D0  sobre branco = 6.39:1  → preferido para links
     --sw-verde-texto #15803D  sobre branco = 5.02:1  → texto de status OK
     --sw-ciano       #00C2FF  ~2:1  → APENAS decoração/acento. Nunca texto sobre branco.
     --sw-verde       #22C55E  ~2.3:1 → APENAS fundo de badge com texto escuro.
     --sw-laranja     #E8820A  ~2.75:1 → falha AA como texto/botão. Uso exclusivo: logotipo
                                          e acentos gráficos pontuais, nunca texto corrido
                                          nem fundo de botão.
   ========================================================================= */

:root {
  /* ── Cor ───────────────────────────────────────────────────────────── */
  --sw-azul-profundo: #071A2E;
  --sw-azul:          #0866FF;
  --sw-azul-escuro:   #0A57D0;
  --sw-azul-claro:    #E8F1FF;
  --sw-ciano:         #00C2FF;
  --sw-verde:         #22C55E;
  --sw-verde-texto:   #15803D;
  --sw-verde-claro:   #E9F9EF;
  --sw-ambar:         #B45309;
  --sw-ambar-claro:   #FEF3C7;
  --sw-laranja:       #E8820A; /* acento da logo — nunca usar como texto ou fundo de botão */
  --sw-laranja-escuro:#B85F00;
  --sw-grafite:       #111827;
  --sw-cinza-900:     #1F2937;
  --sw-cinza-700:     #374151;
  --sw-cinza-500:     #6B7280;
  --sw-cinza-300:     #D1D5DB;
  --sw-cinza-200:     #E5E7EB;
  --sw-cinza-100:     #F3F6FA;
  --sw-branco:        #FFFFFF;

  --sw-texto:          var(--sw-grafite);
  --sw-texto-suave:    var(--sw-cinza-500);
  --sw-borda:          var(--sw-cinza-200);
  --sw-fundo:          var(--sw-branco);
  --sw-fundo-alt:      var(--sw-cinza-100);

  /* ── Tipografia ────────────────────────────────────────────────────── */
  /* Stack de sistema: zero requisição externa, zero CLS, ótima legibilidade.
     Para adotar Inter self-hosted, ver README do tema. */
  --sw-fonte: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
              "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  --sw-fonte-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

  --sw-t-xs:   0.78rem;
  --sw-t-sm:   0.875rem;
  --sw-t-base: 1rem;
  --sw-t-lg:   1.125rem;
  --sw-t-xl:   1.375rem;
  --sw-t-2xl:  1.75rem;
  --sw-t-3xl:  2.25rem;
  --sw-t-4xl:  3rem;

  --sw-peso-normal: 400;
  --sw-peso-medio:  500;
  --sw-peso-semi:   600;
  --sw-peso-bold:   700;
  --sw-peso-black:  800;

  --sw-lh-apertado: 1.15;
  --sw-lh-titulo:   1.25;
  --sw-lh-texto:    1.65;

  /* ── Espaçamento (escala de 4) ─────────────────────────────────────── */
  --sw-e-1:  4px;   --sw-e-2:  8px;   --sw-e-3: 12px;  --sw-e-4: 16px;
  --sw-e-5: 20px;   --sw-e-6: 24px;   --sw-e-8: 32px;  --sw-e-10: 40px;
  --sw-e-12: 48px;  --sw-e-16: 64px;  --sw-e-20: 80px; --sw-e-24: 96px;

  /* ── Raio ──────────────────────────────────────────────────────────── */
  --sw-r-sm: 6px;  --sw-r-md: 10px;  --sw-r-lg: 14px;
  --sw-r-xl: 20px; --sw-r-pill: 999px;

  /* ── Sombra ────────────────────────────────────────────────────────── */
  --sw-s-sm: 0 1px 2px rgba(7, 26, 46, .06);
  --sw-s-md: 0 4px 16px rgba(7, 26, 46, .08);
  --sw-s-lg: 0 12px 36px rgba(7, 26, 46, .12);
  --sw-s-foco: 0 0 0 3px rgba(8, 102, 255, .35);

  /* ── Layout ────────────────────────────────────────────────────────── */
  --sw-largura: 1160px;
  --sw-gutter: 5vw;
  --sw-header-h: 68px;

  --sw-transicao: 160ms ease;
}

/* ── Reset enxuto ────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
body, h1, h2, h3, h4, h5, p, figure, blockquote, dl, dd, ul, ol { margin: 0; padding: 0; }
ul, ol { list-style: none; }
img, svg, video { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; color: inherit; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--sw-fonte);
  font-size: var(--sw-t-base);
  line-height: var(--sw-lh-texto);
  color: var(--sw-texto);
  background: var(--sw-fundo);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: var(--sw-azul-escuro); text-decoration: none; }
a:hover { text-decoration: underline; }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--sw-azul);
  outline-offset: 2px;
  border-radius: var(--sw-r-sm);
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

/* Acessibilidade — pular para o conteúdo */
.sw-skip {
  position: absolute; left: -9999px; top: 0; z-index: 999;
  background: var(--sw-azul); color: #fff; padding: var(--sw-e-3) var(--sw-e-5);
  border-radius: 0 0 var(--sw-r-md) 0; font-weight: var(--sw-peso-semi);
}
.sw-skip:focus { left: 0; }

.sw-visualmente-oculto {
  position: absolute !important; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ── Layout ──────────────────────────────────────────────────────────── */
.sw-container {
  width: 100%; max-width: var(--sw-largura);
  margin-inline: auto; padding-inline: var(--sw-gutter);
}
.sw-secao { padding-block: var(--sw-e-20); }
.sw-secao--alt { background: var(--sw-fundo-alt); }
.sw-secao--escura {
  background: linear-gradient(160deg, var(--sw-azul-profundo) 0%, #0C2743 100%);
  color: rgba(255, 255, 255, .82);
}
.sw-secao--escura h2, .sw-secao--escura h3 { color: #fff; }

.sw-grid { display: grid; gap: var(--sw-e-6); }
.sw-grid--2 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.sw-grid--3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.sw-grid--4 { grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); }

/* ── Tipografia de seção ─────────────────────────────────────────────── */
h1, h2, h3, h4 {
  font-weight: var(--sw-peso-bold);
  line-height: var(--sw-lh-titulo);
  color: var(--sw-grafite);
  letter-spacing: -.015em;
}
h1 { font-size: clamp(2rem, 1.3rem + 3vw, var(--sw-t-4xl)); font-weight: var(--sw-peso-black); line-height: var(--sw-lh-apertado); }
h2 { font-size: clamp(1.5rem, 1.1rem + 1.8vw, var(--sw-t-3xl)); font-weight: var(--sw-peso-black); }
h3 { font-size: var(--sw-t-xl); }
h4 { font-size: var(--sw-t-lg); }

.sw-olho {
  font-size: var(--sw-t-xs); font-weight: var(--sw-peso-bold);
  text-transform: uppercase; letter-spacing: .09em;
  color: var(--sw-azul-escuro); margin-bottom: var(--sw-e-2);
}
.sw-secao--escura .sw-olho { color: var(--sw-ciano); }

.sw-lead {
  font-size: var(--sw-t-lg); color: var(--sw-texto-suave);
  max-width: 62ch; margin-top: var(--sw-e-4);
}
.sw-secao--escura .sw-lead { color: rgba(255, 255, 255, .72); }

.sw-cabecalho-secao { max-width: 68ch; margin-bottom: var(--sw-e-12); }

/* ── Botões ──────────────────────────────────────────────────────────── */
.sw-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: var(--sw-e-2);
  padding: 12px 22px;
  border: 1.5px solid transparent; border-radius: var(--sw-r-md);
  font-size: var(--sw-t-sm); font-weight: var(--sw-peso-semi);
  line-height: 1.2; cursor: pointer; text-decoration: none;
  transition: background var(--sw-transicao), border-color var(--sw-transicao),
              color var(--sw-transicao), transform var(--sw-transicao);
}
.sw-btn:hover { text-decoration: none; transform: translateY(-1px); }
.sw-btn:active { transform: translateY(0); }
.sw-btn .sw-icone { flex-shrink: 0; }

/* CTA comercial principal */
.sw-btn--primary { background: var(--sw-azul); color: #fff; }
.sw-btn--primary:hover { background: var(--sw-azul-escuro); color: #fff; }

/* CTA de produto */
.sw-btn--produto { background: var(--sw-azul-profundo); color: #fff; }
.sw-btn--produto:hover { background: #0C2743; color: #fff; }

.sw-btn--outline { border-color: var(--sw-azul); color: var(--sw-azul-escuro); background: transparent; }
.sw-btn--outline:hover { background: var(--sw-azul-claro); color: var(--sw-azul-escuro); }

.sw-btn--claro { background: #fff; color: var(--sw-azul-profundo); }
.sw-btn--claro:hover { background: var(--sw-cinza-100); color: var(--sw-azul-profundo); }

.sw-btn--fantasma { border-color: rgba(255, 255, 255, .4); color: #fff; background: transparent; }
.sw-btn--fantasma:hover { background: rgba(255, 255, 255, .12); color: #fff; }

/* Acesso interno — deliberadamente discreto, nunca compete com o CTA comercial */
.sw-btn--interno {
  background: transparent; border-color: var(--sw-cinza-300);
  color: var(--sw-cinza-700); font-weight: var(--sw-peso-medio);
  font-size: var(--sw-t-xs); padding: 9px 14px;
}
.sw-btn--interno:hover { background: var(--sw-cinza-100); border-color: var(--sw-cinza-500); color: var(--sw-grafite); }

.sw-btn--lg { padding: 15px 30px; font-size: var(--sw-t-base); border-radius: var(--sw-r-lg); }
.sw-btn--bloco { width: 100%; }

.sw-btns { display: flex; flex-wrap: wrap; gap: var(--sw-e-3); }

/* ── Card ────────────────────────────────────────────────────────────── */
.sw-card {
  background: var(--sw-branco);
  border: 1px solid var(--sw-borda);
  border-radius: var(--sw-r-lg);
  padding: var(--sw-e-6);
  transition: border-color var(--sw-transicao), box-shadow var(--sw-transicao), transform var(--sw-transicao);
}
.sw-card:hover { border-color: var(--sw-cinza-300); box-shadow: var(--sw-s-md); transform: translateY(-2px); }
.sw-card h3 { font-size: var(--sw-t-lg); margin-bottom: var(--sw-e-2); }
.sw-card p { color: var(--sw-texto-suave); font-size: var(--sw-t-sm); }

.sw-card--destaque { border-color: var(--sw-azul); box-shadow: var(--sw-s-md); }
.sw-card--plano { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .14); }
.sw-secao--escura .sw-card { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .14); }
.sw-secao--escura .sw-card p { color: rgba(255, 255, 255, .68); }
.sw-secao--escura .sw-card:hover { border-color: rgba(255, 255, 255, .3); }

.sw-card-icone {
  width: 44px; height: 44px; border-radius: var(--sw-r-md);
  display: grid; place-items: center;
  background: var(--sw-azul-claro); color: var(--sw-azul-escuro);
  margin-bottom: var(--sw-e-4);
}
.sw-secao--escura .sw-card-icone { background: rgba(0, 194, 255, .14); color: var(--sw-ciano); }

/* ── Badge de status de integração ───────────────────────────────────── */
.sw-badge {
  display: inline-flex; align-items: center; gap: var(--sw-e-1);
  padding: 3px 10px; border-radius: var(--sw-r-pill);
  font-size: var(--sw-t-xs); font-weight: var(--sw-peso-semi);
  line-height: 1.5; white-space: nowrap;
}
.sw-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.sw-badge--disponivel  { background: var(--sw-verde-claro); color: var(--sw-verde-texto); }
.sw-badge--assistida   { background: var(--sw-azul-claro);  color: var(--sw-azul-escuro); }
.sw-badge--homologacao { background: var(--sw-ambar-claro); color: var(--sw-ambar); }
.sw-badge--breve       { background: var(--sw-cinza-100);   color: var(--sw-cinza-700); }
.sw-badge--consulta    { background: var(--sw-cinza-100);   color: var(--sw-cinza-700); }

/* ── Lista com marcador de check ─────────────────────────────────────── */
.sw-lista { display: grid; gap: var(--sw-e-2); }
.sw-lista li { display: flex; gap: var(--sw-e-2); align-items: flex-start; font-size: var(--sw-t-sm); }
.sw-lista li .sw-icone { color: var(--sw-verde-texto); flex-shrink: 0; margin-top: 2px; }
.sw-secao--escura .sw-lista li .sw-icone { color: var(--sw-verde); }

/* ── Header ──────────────────────────────────────────────────────────── */
.sw-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--sw-borda);
}
.sw-header__inner {
  display: flex; align-items: center; gap: var(--sw-e-6);
  height: var(--sw-header-h);
}
.sw-logo {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 1.3rem; font-weight: var(--sw-peso-black);
  color: var(--sw-azul-profundo); letter-spacing: -.02em;
  text-decoration: none; flex-shrink: 0;
}
.sw-logo:hover { text-decoration: none; }
.sw-logo span { color: var(--sw-laranja); } /* acento da logo oficial */
.sw-logo__icone { flex-shrink: 0; border-radius: var(--sw-r-sm); }

.sw-nav { margin-left: auto; }
.sw-nav ul { display: flex; align-items: center; gap: var(--sw-e-5); }
.sw-nav a {
  font-size: var(--sw-t-sm); font-weight: var(--sw-peso-medio);
  color: var(--sw-cinza-700); text-decoration: none; white-space: nowrap;
}
.sw-nav a:hover { color: var(--sw-azul-escuro); text-decoration: none; }
.sw-nav .current-menu-item > a,
.sw-nav .current_page_item > a { color: var(--sw-azul-escuro); font-weight: var(--sw-peso-semi); }

.sw-header__acoes { display: flex; align-items: center; gap: var(--sw-e-3); flex-shrink: 0; }

.sw-menu-toggle {
  display: none; background: none; border: 1px solid var(--sw-borda);
  border-radius: var(--sw-r-sm); padding: 8px; cursor: pointer;
  color: var(--sw-grafite); margin-left: auto;
}

/* Menu mobile */
.sw-menu-mobile {
  display: none; position: fixed; inset: var(--sw-header-h) 0 0;
  background: #fff; z-index: 99; overflow-y: auto;
  padding: var(--sw-e-6) var(--sw-gutter) var(--sw-e-12);
}
.sw-menu-mobile.aberto { display: block; }
.sw-menu-mobile ul { display: grid; gap: var(--sw-e-1); margin-bottom: var(--sw-e-8); }
.sw-menu-mobile a {
  display: block; padding: var(--sw-e-3) 0;
  font-size: var(--sw-t-lg); font-weight: var(--sw-peso-semi);
  color: var(--sw-grafite); border-bottom: 1px solid var(--sw-borda);
  text-decoration: none;
}
.sw-menu-mobile .sw-btns { flex-direction: column; }
.sw-menu-mobile .sw-btn { width: 100%; }

@media (max-width: 1000px) {
  .sw-nav, .sw-header__acoes { display: none; }
  .sw-menu-toggle { display: grid; place-items: center; }
}
body.sw-travado { overflow: hidden; }

/* ── Hero ────────────────────────────────────────────────────────────── */
.sw-hero {
  background: linear-gradient(155deg, var(--sw-azul-profundo) 0%, #0A2B4C 55%, #0D3A66 100%);
  color: #fff; padding-block: var(--sw-e-24) var(--sw-e-20);
  position: relative; overflow: hidden;
}
.sw-hero::after {
  content: ""; position: absolute; right: -12%; top: -30%;
  width: 620px; height: 620px; border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 194, 255, .16) 0%, transparent 66%);
  pointer-events: none;
}
.sw-hero__inner { position: relative; z-index: 1; display: grid; gap: var(--sw-e-12); align-items: center; }
@media (min-width: 900px) { .sw-hero__inner { grid-template-columns: 1.05fr .95fr; } }
.sw-hero h1 { color: #fff; max-width: 16ch; }
.sw-hero h1 em { font-style: normal; color: var(--sw-ciano); }
.sw-hero p { font-size: var(--sw-t-lg); color: rgba(255, 255, 255, .78); max-width: 54ch; margin-block: var(--sw-e-5) var(--sw-e-8); }

.sw-selo {
  display: inline-flex; align-items: center; gap: var(--sw-e-2);
  background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18);
  color: rgba(255, 255, 255, .9); border-radius: var(--sw-r-pill);
  padding: 5px 14px; font-size: var(--sw-t-xs); font-weight: var(--sw-peso-semi);
  margin-bottom: var(--sw-e-5);
}

/* Painel de produto no hero */
.sw-painel {
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: var(--sw-r-xl); padding: var(--sw-e-5);
  box-shadow: var(--sw-s-lg);
}
.sw-painel__topo {
  display: flex; align-items: center; gap: var(--sw-e-2);
  padding-bottom: var(--sw-e-4); margin-bottom: var(--sw-e-4);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  font-size: var(--sw-t-xs); font-weight: var(--sw-peso-semi);
  color: rgba(255, 255, 255, .6); text-transform: uppercase; letter-spacing: .08em;
}
.sw-painel__linha {
  display: flex; align-items: center; gap: var(--sw-e-3);
  padding: var(--sw-e-3); border-radius: var(--sw-r-md);
  background: rgba(255, 255, 255, .05); margin-bottom: var(--sw-e-2);
}
.sw-painel__linha:last-child { margin-bottom: 0; }
.sw-painel__icone {
  width: 34px; height: 34px; border-radius: var(--sw-r-sm);
  display: grid; place-items: center; flex-shrink: 0;
  background: rgba(0, 194, 255, .16); color: var(--sw-ciano);
}
.sw-painel__rotulo { font-size: var(--sw-t-sm); color: rgba(255, 255, 255, .9); }
.sw-painel__rotulo small { display: block; font-size: var(--sw-t-xs); color: rgba(255, 255, 255, .5); }
.sw-painel__valor { margin-left: auto; font-weight: var(--sw-peso-bold); color: #fff; font-size: var(--sw-t-sm); }

/* Variante clara — para usar o mesmo painel fora do hero, sobre fundo
   branco ou --sw-fundo-alt. O .sw-painel padrão pressupõe fundo escuro
   (texto branco translúcido); sem este modificador ele fica ilegível
   em seções .sw-secao comuns. */
.sw-painel--claro {
  background: var(--sw-fundo-alt);
  border-color: var(--sw-borda);
  box-shadow: var(--sw-s-md);
}
.sw-painel--claro .sw-painel__topo { color: var(--sw-texto-suave); border-bottom-color: var(--sw-borda); }
.sw-painel--claro .sw-painel__linha { background: var(--sw-branco); border: 1px solid var(--sw-borda); }
.sw-painel--claro .sw-painel__icone { background: var(--sw-azul-claro); color: var(--sw-azul-escuro); }
.sw-painel--claro .sw-painel__rotulo { color: var(--sw-texto); }
.sw-painel--claro .sw-painel__rotulo small { color: var(--sw-texto-suave); }
.sw-painel--claro .sw-painel__valor { color: var(--sw-azul-escuro); }

/* ── Faixa de números ────────────────────────────────────────────────── */
.sw-numeros { display: grid; gap: var(--sw-e-8); grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.sw-numero strong {
  display: block; font-size: var(--sw-t-3xl); font-weight: var(--sw-peso-black);
  color: var(--sw-azul-escuro); line-height: 1;
}
.sw-numero span { font-size: var(--sw-t-sm); color: var(--sw-texto-suave); }
.sw-secao--escura .sw-numero strong { color: var(--sw-ciano); }
.sw-secao--escura .sw-numero span { color: rgba(255, 255, 255, .68); }

/* ── Abas de segmento ────────────────────────────────────────────────── */
.sw-abas { display: flex; flex-wrap: wrap; gap: var(--sw-e-1); background: var(--sw-cinza-100); border-radius: var(--sw-r-lg); padding: var(--sw-e-1); margin-bottom: var(--sw-e-8); width: fit-content; max-width: 100%; }
.sw-aba {
  padding: 10px 18px; border: none; background: none; cursor: pointer;
  border-radius: var(--sw-r-md); font-size: var(--sw-t-sm);
  font-weight: var(--sw-peso-semi); color: var(--sw-cinza-500);
  transition: background var(--sw-transicao), color var(--sw-transicao);
}
.sw-aba[aria-selected="true"] { background: #fff; color: var(--sw-grafite); box-shadow: var(--sw-s-sm); }
.sw-painel-aba[hidden] { display: none; }

/* ── Tabela ──────────────────────────────────────────────────────────── */
.sw-tabela-wrap { overflow-x: auto; border: 1px solid var(--sw-borda); border-radius: var(--sw-r-lg); }
.sw-tabela { width: 100%; border-collapse: collapse; font-size: var(--sw-t-sm); min-width: 520px; }
.sw-tabela th, .sw-tabela td { padding: var(--sw-e-3) var(--sw-e-4); text-align: left; border-bottom: 1px solid var(--sw-borda); }
.sw-tabela th { background: var(--sw-cinza-100); font-weight: var(--sw-peso-semi); color: var(--sw-cinza-700); }
.sw-tabela tr:last-child td { border-bottom: none; }

/* ── Formulário ──────────────────────────────────────────────────────── */
.sw-form { display: grid; gap: var(--sw-e-4); }
.sw-campo { display: grid; gap: var(--sw-e-2); }
.sw-campo label { font-size: var(--sw-t-sm); font-weight: var(--sw-peso-semi); color: var(--sw-cinza-700); }
.sw-campo label .sw-obrigatorio { color: #B91C1C; }
.sw-campo input, .sw-campo select, .sw-campo textarea {
  padding: 11px 14px; border: 1.5px solid var(--sw-cinza-300);
  border-radius: var(--sw-r-md); background: #fff;
  font-size: var(--sw-t-sm); transition: border-color var(--sw-transicao), box-shadow var(--sw-transicao);
}
.sw-campo input:focus, .sw-campo select:focus, .sw-campo textarea:focus {
  outline: none; border-color: var(--sw-azul); box-shadow: var(--sw-s-foco);
}
.sw-campo textarea { resize: vertical; min-height: 120px; }
.sw-campo--erro input, .sw-campo--erro select, .sw-campo--erro textarea { border-color: #B91C1C; }
.sw-erro { font-size: var(--sw-t-xs); color: #B91C1C; }
.sw-consentimento { display: flex; gap: var(--sw-e-3); align-items: flex-start; font-size: var(--sw-t-sm); color: var(--sw-cinza-700); }
.sw-consentimento input { margin-top: 4px; width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--sw-azul); }
.sw-honeypot { position: absolute; left: -9999px; opacity: 0; height: 0; }

.sw-alerta { padding: var(--sw-e-4) var(--sw-e-5); border-radius: var(--sw-r-md); font-size: var(--sw-t-sm); border: 1px solid; }
.sw-alerta--ok  { background: var(--sw-verde-claro); border-color: #A7E3BE; color: var(--sw-verde-texto); }
.sw-alerta--err { background: #FEF2F2; border-color: #FCA5A5; color: #B91C1C; }

/* ── Footer ──────────────────────────────────────────────────────────── */
.sw-footer { background: var(--sw-azul-profundo); color: rgba(255, 255, 255, .62); padding-block: var(--sw-e-16) var(--sw-e-8); font-size: var(--sw-t-sm); }
.sw-footer__topo { display: grid; gap: var(--sw-e-10); grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin-bottom: var(--sw-e-12); }
.sw-footer__marca { grid-column: 1 / -1; }
@media (min-width: 900px) { .sw-footer__marca { grid-column: auto; max-width: 280px; } }
.sw-footer .sw-logo { color: #fff; margin-bottom: var(--sw-e-3); }
.sw-footer__marca p { line-height: 1.7; }
.sw-footer h2 { font-size: var(--sw-t-xs); font-weight: var(--sw-peso-bold); color: #fff; text-transform: uppercase; letter-spacing: .09em; margin-bottom: var(--sw-e-4); }
.sw-footer ul { display: grid; gap: var(--sw-e-2); }
.sw-footer a { color: rgba(255, 255, 255, .62); text-decoration: none; display: inline-flex; align-items: center; gap: var(--sw-e-2); }
.sw-footer a:hover { color: #fff; text-decoration: underline; }
.sw-footer__base {
  border-top: 1px solid rgba(255, 255, 255, .12); padding-top: var(--sw-e-6);
  display: flex; flex-wrap: wrap; gap: var(--sw-e-4); justify-content: space-between;
  font-size: var(--sw-t-xs);
}
.sw-footer__assinatura { color: rgba(255, 255, 255, .5); }
.sw-footer__assinatura strong { color: rgba(255, 255, 255, .8); font-weight: var(--sw-peso-semi); }

/* ── Conteúdo editorial (posts e páginas do WP) ──────────────────────── */
.sw-conteudo { max-width: 72ch; }
.sw-conteudo > * + * { margin-top: var(--sw-e-5); }
.sw-conteudo h2 { margin-top: var(--sw-e-12); font-size: var(--sw-t-2xl); }
.sw-conteudo h3 { margin-top: var(--sw-e-8); }
.sw-conteudo ul, .sw-conteudo ol { padding-left: var(--sw-e-6); display: grid; gap: var(--sw-e-2); }
.sw-conteudo ul { list-style: disc; }
.sw-conteudo ol { list-style: decimal; }
.sw-conteudo img { border-radius: var(--sw-r-md); }
.sw-conteudo blockquote {
  border-left: 3px solid var(--sw-azul); padding-left: var(--sw-e-5);
  color: var(--sw-texto-suave); font-style: italic;
}
.sw-conteudo code { font-family: var(--sw-fonte-mono); font-size: .9em; background: var(--sw-cinza-100); padding: 2px 6px; border-radius: var(--sw-r-sm); }
.sw-conteudo pre { background: var(--sw-cinza-100); padding: var(--sw-e-4); border-radius: var(--sw-r-md); overflow-x: auto; }
.sw-conteudo table { display: block; overflow-x: auto; }

.sw-page-hero { background: var(--sw-fundo-alt); padding-block: var(--sw-e-16) var(--sw-e-12); border-bottom: 1px solid var(--sw-borda); }
.sw-breadcrumb { font-size: var(--sw-t-xs); color: var(--sw-texto-suave); margin-bottom: var(--sw-e-3); }
.sw-breadcrumb a { color: var(--sw-texto-suave); }

.sw-post-lista { display: grid; gap: var(--sw-e-6); grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.sw-post-card time { font-size: var(--sw-t-xs); color: var(--sw-texto-suave); }
.sw-post-card h3 { margin-block: var(--sw-e-2); }
.sw-post-card h3 a { color: var(--sw-grafite); }

.sw-paginacao { margin-top: var(--sw-e-12); display: flex; gap: var(--sw-e-2); flex-wrap: wrap; }
.sw-paginacao .page-numbers {
  padding: 8px 14px; border: 1px solid var(--sw-borda);
  border-radius: var(--sw-r-sm); text-decoration: none; font-size: var(--sw-t-sm);
}
.sw-paginacao .page-numbers.current { background: var(--sw-azul); color: #fff; border-color: var(--sw-azul); }

/* ── Utilitários ─────────────────────────────────────────────────────── */
.sw-centro { text-align: center; }
.sw-centro .sw-lead, .sw-centro .sw-cabecalho-secao { margin-inline: auto; }
.sw-centro .sw-btns { justify-content: center; }
.sw-mt-8 { margin-top: var(--sw-e-8); }
.sw-nota { font-size: var(--sw-t-xs); color: var(--sw-texto-suave); }
