/* ==========================================================================
   Telas de conta e de core que vieram do visual antigo (frente 1, 01/10/2026):
   recuperar senha, colaborador, perfil, perdas e prêmios de pontos, notificações,
   WhatsApp, assinatura, férias, empresas (Admin Master) e relatórios na tela.
   Carrega depois do brigada.css (a biblioteca do kit, que não se edita aqui).
   Tokens do kit, nenhum HEX. Faixas pela largura do .b-shell (celular < 768,
   tablet 768–1199, PC >= 1200). Celular compacto: o curto fica lado a lado.
   ========================================================================== */

/* ---------- Página ---------- */
.ct-page { display: grid; gap: var(--sp-5); width: 100%; max-width: 1200px; margin: 0 auto; padding: var(--sp-4) 0 var(--sp-8); color: var(--text); }
.ct-page--estreita { max-width: 760px; }
.ct-page--media { max-width: 960px; }
.ct-page [hidden], .ct-page .hidden { display: none !important; }
.ct-page :is(h1, h2, h3, h4, p) { margin: 0; }
.ct-page > * { min-width: 0; }

/* cabeçalho: caminho de volta (navegacao.html), título, frase e no máximo 1 ação + ⋯ */
.ct-head { display: flex; align-items: flex-end; flex-wrap: wrap; gap: var(--sp-3) var(--sp-4); }
.ct-head__txt { flex: 1 1 260px; min-width: 0; display: grid; gap: 4px; }
.ct-head__txt > p { color: var(--text-muted); font-size: var(--fs-sm); max-width: 70ch; }
.ct-head__acts { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); }
.ct-head__txt > .b-scope { justify-self: start; } /* selo "Vendo:" do modo Todas as lojas */
.ct-title { font-family: var(--font-display); font-size: var(--fs-h3); font-weight: var(--fw-semibold); letter-spacing: -0.015em; line-height: var(--lh-snug); overflow-wrap: anywhere; }
.ct-voltar { display: inline-flex; align-items: center; gap: 6px; justify-self: start; min-height: 32px; font-size: var(--fs-sm); color: var(--text-muted); text-decoration: none; }
.ct-voltar:hover { color: var(--text); }
.ct-voltar .b-icon { width: 16px; height: 16px; }
.ct-trilha { display: none; }
.ct-trilha + .ct-voltar { display: inline-flex; }

/* bloco com título e respiro */
.ct-sec { display: grid; gap: var(--sp-3); min-width: 0; }
.ct-sec__head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--sp-2) var(--sp-3); }
.ct-sec__head > :is(h2, h3) { font-family: var(--font-display); font-size: var(--fs-h4); font-weight: var(--fw-semibold); letter-spacing: -0.01em; }
.ct-sec__head > p { width: 100%; font-size: var(--fs-sm); color: var(--text-muted); }
.ct-card { display: grid; gap: var(--sp-4); min-width: 0; }
.ct-card > *, .ct-sec > *, .ct-form > * { min-width: 0; } /* tabela e texto comprido rolam dentro, não esticam a página */
.ct-page .b-alert__body { overflow-wrap: anywhere; min-width: 0; }
.ct-card > :is(h2, h3) { font-family: var(--font-display); font-size: var(--fs-h4); font-weight: var(--fw-semibold); letter-spacing: -0.01em; }
.ct-card__head { display: flex; align-items: flex-start; gap: var(--sp-3); }
.ct-card__head > div { flex: 1 1 auto; min-width: 0; display: grid; gap: 2px; }
.ct-card__head h2, .ct-card__head h3 { font-family: var(--font-display); font-size: var(--fs-md); font-weight: var(--fw-semibold); }
.ct-card__head p { font-size: var(--fs-sm); color: var(--text-muted); }
.ct-card__head .b-icon-tile { flex: none; width: 36px; height: 36px; }

/* formulário */
.ct-form { display: grid; gap: var(--sp-4); }
.ct-form .b-input, .ct-form .b-select, .ct-form .b-textarea { font-size: 16px; } /* iPhone não dá zoom no foco */
.ct-form textarea.b-textarea { min-height: 96px; }
.ct-acoes { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--sp-2); padding-top: var(--sp-4); border-top: 1px solid var(--border); }
.ct-acoes--sem-linha { padding-top: 0; border-top: 0; }
.ct-dica-colada { margin-top: calc(-1 * var(--sp-2)) !important; }

/* blocos de um formulário longo: linha em cima, sem cartão dentro de cartão */
.ct-bloco { padding-top: var(--sp-4); border-top: 1px solid var(--border); }
.ct-bloco > legend { float: left; width: 100%; margin-bottom: var(--sp-3); }
.ct-bloco > legend + * { clear: both; }
.ct-opcoes { display: grid; gap: var(--sp-2); }
.ct-opcao { display: flex; padding: var(--sp-3); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface); }
.ct-opcao .b-check__text b { display: block; font-size: var(--fs-sm); font-weight: var(--fw-semibold); }
.ct-opcao .b-check__text small { font-size: var(--fs-xs); line-height: 1.45; }
.ct-opcao:has(input:checked) { border-color: color-mix(in srgb, var(--action) 45%, var(--border)); background: var(--action-soft); }

/* dados em pares (rótulo pequeno em cima, valor embaixo), lado a lado */
.ct-dados { display: grid; gap: var(--sp-3) var(--sp-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr)); margin: 0; }
.ct-dados > div { min-width: 0; display: grid; gap: 2px; }
.ct-dados dt { font-size: var(--fs-xs); color: var(--text-muted); }
.ct-dados dd { margin: 0; font-size: var(--fs-sm); font-weight: var(--fw-medium); overflow-wrap: anywhere; }

/* lista de linhas (pessoa, item, histórico) */
.ct-lista { list-style: none; margin: 0; padding: 0; display: grid; }
.ct-lista > li { position: relative; display: flex; align-items: center; gap: var(--sp-3); min-height: 52px; padding: var(--sp-2) 0; border-top: 1px solid var(--border); }
.ct-lista > li:first-child { border-top: 0; }
.ct-lista__txt { flex: 1 1 auto; min-width: 0; display: grid; gap: 1px; }
.ct-lista__txt > b { font-size: var(--fs-sm); font-weight: var(--fw-semibold); overflow-wrap: anywhere; }
.ct-lista__txt > small, .ct-lista__txt > span { font-size: var(--fs-xs); color: var(--text-muted); overflow-wrap: anywhere; }
.ct-lista__fim { flex: none; display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-sm); font-variant-numeric: tabular-nums; }

/* KPIs compactos (2 por linha no celular, 4 no tablet/PC) */
.ct-kpis { display: grid; gap: var(--sp-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); }
.ct-kpis > .b-card { padding: var(--sp-3) var(--sp-4); display: grid; gap: 2px; color: inherit; text-decoration: none; }
.ct-kpis .b-kpi__value { font-size: 1.6rem; }

/* situação em texto (sem pílula): verde feito, ocre atenção, rubi atraso */
.ct-ok { color: var(--success); }
.ct-warn { color: var(--warning); }
.ct-late { color: var(--danger); }
.ct-muted { color: var(--text-muted); }

/* texto longo (termos e política): leitura confortável */
.ct-texto { font-size: var(--fs-md); line-height: var(--lh-relaxed); color: var(--text); max-width: 72ch; }
.ct-texto :is(h1, h2, h3, h4) { font-family: var(--font-display); font-weight: var(--fw-semibold); letter-spacing: -0.01em; margin: var(--sp-6) 0 var(--sp-2); line-height: 1.3; }
.ct-texto h2 { font-size: var(--fs-h4); }
.ct-texto h3 { font-size: var(--fs-md); }
.ct-texto p, .ct-texto ul, .ct-texto ol { margin: 0 0 var(--sp-3); }
.ct-texto ul, .ct-texto ol { padding-left: 1.25em; }
.ct-texto li + li { margin-top: 4px; }
.ct-texto a { color: var(--link); }
.ct-texto strong, .ct-texto b { font-weight: var(--fw-semibold); }

@container b-shell (min-width: 768px) {
  .ct-page { padding: var(--sp-6); }
  .ct-trilha { display: block; }
  .ct-trilha + .ct-voltar { display: none; }
  .ct-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@container b-shell (max-width: 767px) {
  .ct-page { gap: var(--sp-4); padding: var(--sp-3) 0 var(--sp-6); }
  .ct-title { font-size: var(--fs-h4); }
  .ct-head__acts { width: 100%; }
  .ct-head__acts > .b-btn { flex: 1 1 0; min-width: 0; }
  .ct-acoes > .b-btn { flex: 1 1 calc(50% - var(--sp-2)); }
  .ct-kpis { grid-template-columns: 1fr 1fr; gap: var(--sp-2); }
  .ct-kpis > .b-card { padding: var(--sp-3); }
  .ct-kpis .b-kpi__value { font-size: 1.35rem; }
  .ct-kpis .b-kpi__label { font-size: var(--fs-xs); }
  .ct-dados { grid-template-columns: 1fr 1fr; gap: var(--sp-2) var(--sp-3); }
  .ct-form-2 { grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
  .ct-texto { font-size: var(--fs-sm); }
}

/* botão que é o link da linha (abre detalhe em modal): sem cara de botão */
.ct-lista__abrir { appearance: none; background: none; border: 0; padding: 0; margin: 0; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.ct-lista--rolar { max-height: 420px; overflow-y: auto; }
.ct-motivo-rotulo { margin-top: var(--sp-4) !important; }
.ct-motivo { white-space: pre-wrap; font-size: var(--fs-sm); overflow-wrap: anywhere; }

/* perfil: formulário + coluna de lojas, números e perdas (lado a lado a partir de 1200) */
.ct-perfil { display: grid; gap: var(--sp-4); align-items: start; }
.ct-perfil__lado { display: grid; gap: var(--sp-4); min-width: 0; }
.ct-foto { display: flex; align-items: center; gap: var(--sp-4); }
.ct-foto > .b-field { flex: 1 1 auto; }
.ct-foto img.b-avatar { object-fit: cover; }
@container b-shell (min-width: 1200px) { .ct-perfil { grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); } }
@container b-shell (max-width: 767px) { .ct-foto { gap: var(--sp-3); } .ct-foto .b-avatar--xl { width: 56px; height: 56px; font-size: var(--fs-md); } }

/* ---------- Notificações: quem recebe os alertas ---------- */
[x-cloak] { display: none !important; }
.nt-zap { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); font-weight: var(--fw-medium); text-decoration: none; }
a.nt-zap:hover { text-decoration: underline; }
.nt-zap .b-icon { width: 18px; height: 18px; }
.nt-salvar { display: flex; align-items: center; gap: var(--sp-2); flex: none; }
.nt-tipos { display: grid; gap: var(--sp-4); }
.nt-tipo { display: grid; gap: var(--sp-2); padding-top: var(--sp-4); border-top: 1px solid var(--border); }
.nt-tipo__head { display: flex; align-items: center; gap: var(--sp-2); }
.nt-tipo__head b { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); font-weight: var(--fw-semibold); }
.nt-tipo__head .b-icon { width: 16px; height: 16px; color: var(--text-muted); }
.nt-chip { gap: 6px; }
.nt-chip .nt-chip__ok { display: none; width: 14px; height: 14px; }
.nt-chip[aria-checked="true"] { background: var(--surface-inverse); color: var(--text-inverse); border-color: var(--surface-inverse); }
.nt-chip[aria-checked="true"] .nt-chip__ok { display: inline-block; }
.nt-chip small { font-size: var(--fs-xs); color: var(--danger); }
.nt-chip--sem { border-style: dashed; color: var(--text-muted); }
.nt-msgs { display: grid; gap: var(--sp-3); }
@container b-shell (max-width: 767px) {
  .ct-card__head:has(.nt-salvar) { flex-wrap: wrap; }
  .nt-salvar { width: 100%; justify-content: flex-end; }
  .ct-lista__fim .b-btn--sm { padding-inline: var(--sp-2); }
}

/* ---------- WhatsApp (painéis do admin) ---------- */
.ct-dados--linhas { grid-template-columns: 1fr !important; gap: 0; }
.ct-dados--linhas > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-4); padding: var(--sp-2) 0; border-top: 1px solid var(--border); }
.ct-dados--linhas > div:first-child { border-top: 0; }
.ct-dados--linhas dd { text-align: right; min-width: 0; }
.wa-grade { display: grid; gap: var(--sp-4); align-items: start; }
.wa-lado { display: grid; gap: var(--sp-4); min-width: 0; }
.wa-linha { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.wa-linha > .b-input { flex: 1 1 220px; min-width: 0; }
.wa-res { font-size: var(--fs-sm); color: var(--text-muted); overflow-wrap: anywhere; }
.wa-res:empty { display: none; }
.wa-res--lista { display: grid; gap: 2px; }
.wa-acao { margin-top: var(--sp-3); }
.wa-qr { display: grid; justify-items: center; gap: var(--sp-2); padding: var(--sp-5); border: 1px dashed var(--border-strong); border-radius: var(--r-md); background: var(--bg-sunken); text-align: center; }
.wa-qr__caixa { display: grid; place-items: center; min-height: 200px; width: 100%; }
.wa-qr__img { width: min(100%, 300px); border-radius: var(--r-md); border: 8px solid #fff; background: #fff; } /* QR precisa de margem branca para ler */
.wa-qr__ok { width: 96px; height: 96px; }
.wa-qr__ok .b-icon { width: 48px; height: 48px; }
.ct-sec__head > .ct-head__acts { flex: none; }
@container b-shell (min-width: 1200px) { .wa-grade { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); } }
@container b-shell (max-width: 767px) { .ct-dados--linhas > div { flex-direction: column; gap: 2px; } .ct-dados--linhas dd { text-align: left; } }

/* ---------- Minha assinatura ---------- */
.ct-kpis--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
.ct-kpis .b-kpi__foot { overflow-wrap: anywhere; }
.ct-cap { text-transform: capitalize; }
.ct-centro { text-align: center; }
.ct-link { color: var(--link); font-weight: var(--fw-semibold); }
.ct-faixa .b-alert__body { display: grid; gap: var(--sp-2); justify-items: start; }
.ct-modulos { display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.ct-modulo { display: flex; flex-direction: column; gap: var(--sp-3); }
.ct-modulo__head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-3); }
.ct-modulo__titulo { font-family: var(--font-display); font-size: var(--fs-md); font-weight: var(--fw-semibold); }
.ct-modulo__preco { font-size: var(--fs-sm); font-weight: var(--fw-semibold); }
.ct-modulo__sit { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-sm); font-weight: var(--fw-semibold); white-space: nowrap; }
.ct-modulo__sit .b-icon { width: 16px; height: 16px; }
.ct-modulo__txt { font-size: var(--fs-sm); color: var(--text-muted); }
.ct-modulo__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; flex: 1; font-size: var(--fs-sm); }
.ct-modulo__lista li { display: flex; gap: var(--sp-2); }
.ct-modulo__lista .b-icon { flex: none; width: 16px; height: 16px; margin-top: 2px; color: var(--success); }
.ct-modulo__pe { display: grid; gap: var(--sp-2); margin-top: auto; }
/* modal do Alpine (o .b-modal do kit é <dialog>; aqui o x-show precisa ficar) */
.ct-sobre { position: fixed; inset: 0; z-index: 60; display: flex; align-items: center; justify-content: center; padding: var(--sp-4); background: var(--overlay); }
.ct-sobre__caixa { width: min(100%, 460px); display: grid; gap: var(--sp-3); box-shadow: var(--shadow-lg); }
.ct-sobre__caixa p { font-size: var(--fs-sm); }
.ct-conta { padding: var(--sp-2) var(--sp-3); border-radius: var(--r-md); background: var(--bg-sunken); }
.ct-sobre .ct-conta > div:last-child dt { color: var(--text); font-weight: var(--fw-semibold); }
.ct-abas { margin-top: calc(-1 * var(--sp-1)); }
.ct-abas .b-tab[aria-selected="true"] { box-shadow: inset 0 -3px 0 var(--brand); }
.ct-abas .b-tab .b-icon { width: 18px; height: 18px; }
.ct-maiuscula { text-transform: uppercase; }
.ct-form-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.ct-pagar .b-btn--lg { white-space: normal; height: auto; min-height: var(--ctl-lg, 48px); padding-block: var(--sp-2); text-align: center; }
.ct-card .b-table td.b-num { white-space: nowrap; }
.ct-pagar .b-btn--lg .b-spinner { border-color: rgb(255 255 255 / 0.4); border-top-color: #fff; }
.ct-pix { display: grid; }
.ct-pix__inicio, .ct-pix__gerado { display: grid; justify-items: center; gap: var(--sp-3); text-align: center; padding: var(--sp-4) 0; }
.ct-pix__inicio > p { max-width: 52ch; font-size: var(--fs-sm); }
.ct-pix__doc { width: min(100%, 320px); text-align: left; }
.ct-pix__qr { width: 224px; height: 224px; border-radius: var(--r-md); border: 8px solid #fff; background: #fff; } /* QR precisa de margem branca */
.ct-pix__sit { display: inline-flex; align-items: center; gap: var(--sp-2); font-weight: var(--fw-semibold); }
.ct-pix__sit .b-spinner { width: 16px; height: 16px; }
.ct-pix__cola { width: min(100%, 520px); text-align: left; }
.ct-suporte { display: grid; justify-items: center; gap: var(--sp-1); text-align: center; }
@container b-shell (max-width: 767px) {
  .ct-kpis--3 { grid-template-columns: 1fr 1fr; }
  .ct-kpis--3 > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .ct-abas .b-tab { flex: 1; justify-content: center; }
}

/* ---------- Telas de estado (acesso suspenso, férias, sem loja) ---------- */
.ct-estado { min-height: 70dvh; align-content: center; }
.ct-estado__caixa { justify-items: center; text-align: center; padding: var(--sp-8) var(--sp-6); }
.ct-estado__caixa > p { max-width: 46ch; color: var(--text-muted); }
.ct-estado__caixa > p.ct-estado__casa { color: var(--text); font-weight: var(--fw-semibold); }
.ct-estado__caixa .ct-conta { width: 100%; text-align: left; grid-template-columns: 1fr 1fr; }
.ct-estado__acoes { display: grid; gap: var(--sp-2); width: 100%; }
.ct-estado .b-icon-tile { width: 56px; height: 56px; }
.ct-estado .b-icon-tile .b-icon { width: 28px; height: 28px; }
.ct-checks { list-style: none; margin: 0; padding: var(--sp-3) var(--sp-4); display: grid; gap: var(--sp-2); width: 100%; text-align: left; font-size: var(--fs-sm); border-radius: var(--r-md); background: var(--bg-sunken); }
.ct-checks li { display: flex; gap: var(--sp-2); }
.ct-checks .b-icon { flex: none; width: 16px; height: 16px; margin-top: 2px; color: var(--success); }
@container b-shell (max-width: 767px) { .ct-estado__caixa { padding: var(--sp-6) var(--sp-4); } }

/* ---------- Cadastro da loja (1º acesso) ---------- */
.ct-endereco { display: grid; gap: var(--sp-3) var(--sp-4); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ct-c1 { grid-column: span 1; } .ct-c2 { grid-column: span 2; } .ct-c3 { grid-column: span 3; }
@container b-shell (max-width: 767px) {
  .ct-endereco { grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
  .ct-endereco > .b-field { grid-column: span 1; }
  .ct-endereco > .ct-cheio { grid-column: 1 / -1; }
}

/* ---------- Telas públicas de senha (mesmo desenho do Entrar) ---------- */
.ct-entrar { min-height: 100dvh; width: 100%; --divisa-x: -18%; --divisa-y: -130px; --divisa-w: min(70vw, 560px); }
.ct-entrar__caixa { width: 100%; max-width: 420px; margin: 0 auto; padding: var(--sp-12) 0 var(--sp-8); display: grid; gap: var(--sp-6); }
.ct-entrar__topo { display: grid; gap: var(--sp-2); }
.ct-entrar__topo .b-logo-box { height: 40px; color: var(--text); }
.ct-entrar__form { display: grid; gap: var(--sp-4); }
.ct-entrar__form .b-input { font-size: 16px; }
.ct-entrar__form > p { margin: 0; }
.ct-entrar__marca { display: grid; place-items: center; width: 56px; height: 56px; border-radius: var(--r-md); }
.ct-entrar__marca .b-icon { width: 28px; height: 28px; }
.ct-entrar__rodape { margin: 0; text-align: center; }
@media (min-width: 768px) { .ct-entrar__caixa { padding-top: 12vh; } }

/* ---------- Tabela que vira cartão no celular e no tablet (repasse do PEG; 2 por linha no tablet) ---------- */
.ct-tabela td > .b-caption { display: block; margin-top: 2px; }
.ct-tabela .ct-tabela__acao { text-align: right; white-space: nowrap; }
.ct-tabela .ct-tabela__acao form { margin: 0; }
.ct-peg-lojas { font-size: var(--fs-sm); line-height: var(--lh-relaxed, 1.6); overflow-wrap: anywhere; }
@container b-shell (max-width: 1199px) {
  .ct-tabela.b-table-wrap { border: 0; background: none; overflow: visible; }
  .ct-tabela .b-table thead { display: none; }
  .ct-tabela .b-table, .ct-tabela .b-table tbody { display: block; }
  .ct-tabela .b-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--sp-1) var(--sp-3); align-items: baseline; margin-bottom: var(--sp-2); padding: var(--sp-3); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface); }
  .ct-tabela .b-table tbody td { display: block; padding: 0; border: 0; text-align: left; }
  .ct-tabela .ct-tabela__titulo { grid-row: 1; grid-column: 1; }
  .ct-tabela .ct-tabela__valor { grid-row: 1; grid-column: 2; text-align: right; }
  .ct-tabela :is(.ct-tabela__cheia, .ct-tabela__acao, td[colspan]) { grid-column: 1 / -1; }
  .ct-tabela .ct-tabela__acao:empty { display: none; }
  .ct-tabela .ct-tabela__acao .b-btn { width: 100%; height: 44px; margin-top: var(--sp-2); }
}
@container b-shell (min-width: 768px) and (max-width: 1199px) {
  .ct-tabela .b-table tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); }
  .ct-tabela .b-table tbody tr { margin-bottom: 0; }
  .ct-tabela .b-table tbody tr:has(> td[colspan]) { grid-column: 1 / -1; }
}

/* ---------- Página pública de texto longo (política de privacidade): topo e rodapé do site do kit ---------- */
.ct-publica { min-height: 100dvh; display: flex; flex-direction: column; }
.ct-doc { flex: 1; display: grid; align-content: start; gap: var(--sp-2); max-width: 760px; padding-top: var(--sp-10); padding-bottom: var(--sp-12); color: var(--text); }
.ct-doc > :is(h1, p) { margin: 0; }
.ct-doc > .ct-texto { margin-top: var(--sp-2); }
.ct-doc .ct-texto > section:first-child > h2 { margin-top: var(--sp-4); }
@media (max-width: 767px) {
  .ct-doc { padding-top: var(--sp-6); padding-bottom: var(--sp-8); }
  .ct-doc .ct-texto h2 { font-size: var(--fs-md); }
  .ct-doc .ct-texto { font-size: var(--fs-sm); }
}
