/* ==========================================================================
   Página: Atendimento WhatsApp (ChatXP)
   Só o que é exclusivo desta página. Header, rodapé, nav, botões, largura de
   coluna e espaçamentos vêm de assets/css/main.css.

   Direção: a conversa é a espinha da página. Todo bloco de produto é provado
   por uma tela de WhatsApp montada em HTML/CSS — nenhuma imagem, nenhuma
   captura de tela. O verde da marca do WhatsApp aparece SÓ dentro das bolhas,
   para ler como produto e não como cor da Mais Domínio.

   Prefixos: .zap- (conversa), .ia- (blocos de IA), .xp- (resto da página).
   ========================================================================== */

:root{
  --zap-verde:#25D366;
  --zap-bolha-cliente:#D9FDD3;   /* bolha do morador (saída, no celular dele) */
  --zap-bolha-bot:#FFFFFF;       /* bolha do robô (entrada) */
  --zap-fundo:#0B1D33;           /* fundo do "aparelho", mais escuro que o navy */
  --xp-vermelho:#C2410C;         /* reprovação da auditora — âmbar queimado */
}

/* ===== Hero =====
   O hero herda .hero-int do main.css; aqui só o par texto + conversa. */
.xp-hero-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;}
.xp-hero-marcas{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.xp-hero-marcas span{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);
  border-radius:999px;padding:7px 15px;font-size:.82rem;color:#DCEAF8;font-weight:600;
}
.xp-hero-marcas span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--zap-verde);flex:none;}

/* ===== Conversa de WhatsApp (o componente central) ===== */
.zap-tela{
  background:var(--zap-fundo);
  border:1px solid rgba(255,255,255,.12);
  border-radius:26px;padding:14px;
  box-shadow:0 24px 60px rgba(4,14,26,.45);
  position:relative;overflow:hidden;
}
/* trama de bolhas ao fundo: dá textura sem pesar (dois gradientes radiais) */
.zap-tela::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(circle at 20% 15%,rgba(37,211,102,.14) 0,transparent 42%),
                   radial-gradient(circle at 85% 80%,rgba(42,117,187,.20) 0,transparent 45%);
}
/* variante clara, para usar sobre as seções brancas/cinzas */
.zap-tela.claro{background:#E8EDF3;border-color:var(--cinza-borda);box-shadow:0 14px 40px rgba(18,58,102,.14);}
.zap-tela.claro::before{opacity:.35;}

.zap-topo{
  position:relative;z-index:1;
  display:flex;align-items:center;gap:11px;
  padding:6px 8px 14px;
}
.zap-topo .zap-av{
  width:38px;height:38px;border-radius:50%;flex:none;
  background:linear-gradient(140deg,var(--azul-claro),var(--azul));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:.82rem;letter-spacing:-.3px;
}
.zap-topo .zap-quem{min-width:0;}
.zap-topo b{display:block;color:#fff;font-size:.9rem;font-weight:700;line-height:1.2;}
.zap-topo small{display:block;color:var(--zap-verde);font-size:.74rem;font-weight:600;}
.zap-tela.claro .zap-topo b{color:var(--azul);}
.zap-tela.claro .zap-topo small{color:#1A7F4B;}

.zap-fio{position:relative;z-index:1;display:flex;flex-direction:column;gap:9px;}

/* bolhas */
.zap-msg{
  max-width:84%;padding:9px 13px;border-radius:14px;
  font-size:.88rem;line-height:1.45;color:#0F2136;
  box-shadow:0 1px 2px rgba(4,14,26,.28);
  position:relative;
}
.zap-msg.bot{align-self:flex-start;background:var(--zap-bolha-bot);border-top-left-radius:5px;}
.zap-msg.cli{align-self:flex-end;background:var(--zap-bolha-cliente);border-top-right-radius:5px;}
.zap-msg .zap-hora{
  display:block;text-align:right;margin-top:3px;
  font-size:.66rem;color:#5A7184;font-weight:600;letter-spacing:.2px;
}
.zap-msg .zap-hora::after{content:" ✓✓";color:#2A75BB;}
.zap-msg.bot .zap-hora::after{content:"";}
.zap-msg strong{color:var(--azul);}
.zap-msg ol,.zap-msg ul{margin:6px 0 2px;padding-left:18px;}
.zap-msg li{font-size:.86rem;margin-bottom:2px;}

/* anexo de documento (boleto em PDF) */
.zap-anexo{
  display:flex;align-items:center;gap:11px;
  background:rgba(15,33,54,.06);border-radius:10px;padding:9px 11px;margin:4px 0 2px;
}
.zap-anexo .zap-ico{
  width:34px;height:40px;flex:none;border-radius:4px;background:#fff;
  border:1px solid #CBD5E1;position:relative;
}
/* "linhas de texto" do PDF, desenhadas com gradiente — sem imagem */
.zap-anexo .zap-ico::before{
  content:"";position:absolute;left:5px;right:5px;top:8px;height:16px;
  background:repeating-linear-gradient(180deg,#94A3B8 0 2px,transparent 2px 5px);
}
.zap-anexo .zap-ico::after{
  content:"PDF";position:absolute;left:0;right:0;bottom:3px;
  font-size:.44rem;font-weight:800;text-align:center;color:#C2410C;letter-spacing:.5px;
}
.zap-anexo b{display:block;font-size:.8rem;color:#0F2136;}
.zap-anexo small{display:block;font-size:.7rem;color:#5A7184;}

/* linha digitável do boleto */
.zap-codigo{
  display:block;margin:6px 0 2px;padding:7px 9px;
  background:rgba(15,33,54,.06);border-radius:8px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.7rem;letter-spacing:.4px;color:#0F2136;word-break:break-all;
}

/* foto do hidrômetro: mostrador abstrato, puro CSS.
   display:block é obrigatório — é um <span>, e inline ignora width/aspect-ratio
   (a caixa colapsa e os dígitos do mostrador quebram um por linha). */
.zap-foto{
  display:block;
  width:100%;max-width:210px;aspect-ratio:4/3;border-radius:9px;margin:6px 0;
  background:linear-gradient(160deg,#334155,#0F172A);
  position:relative;overflow:hidden;
}
.zap-foto::before{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:56%;aspect-ratio:1;border-radius:50%;
  background:#E2E8F0;border:5px solid #94A3B8;
  box-shadow:inset 0 3px 10px rgba(15,23,42,.35);
}
.zap-foto::after{
  content:"0 0 3 4 7";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.78rem;font-weight:700;letter-spacing:1.5px;color:#0F172A;
}

/* transcrição de áudio */
.zap-audio{display:flex;align-items:center;gap:9px;margin-bottom:5px;}
.zap-audio .zap-play{
  width:26px;height:26px;border-radius:50%;flex:none;background:var(--azul-claro);
  position:relative;
}
.zap-audio .zap-play::before{
  content:"";position:absolute;left:53%;top:50%;transform:translate(-50%,-50%);
  border:6px solid transparent;border-left-color:#fff;border-right:0;
}
/* onda de áudio: 24 barras com alturas próprias, para dar envelope de fala
   real em vez de um pente de barras iguais. As barras são <i> vazios e
   decorativos (o container é aria-hidden). */
.zap-audio .zap-onda{
  flex:1;height:24px;min-width:0;
  display:flex;align-items:center;gap:2px;
}
.zap-audio .zap-onda i{
  flex:1 1 2px;min-width:2px;max-width:3px;
  background:#94A3B8;border-radius:1px;
}
.zap-audio .zap-onda i:nth-child(1){height:26%}
.zap-audio .zap-onda i:nth-child(2){height:52%}
.zap-audio .zap-onda i:nth-child(3){height:78%}
.zap-audio .zap-onda i:nth-child(4){height:44%}
.zap-audio .zap-onda i:nth-child(5){height:64%}
.zap-audio .zap-onda i:nth-child(6){height:96%}
.zap-audio .zap-onda i:nth-child(7){height:70%}
.zap-audio .zap-onda i:nth-child(8){height:38%}
.zap-audio .zap-onda i:nth-child(9){height:22%}
.zap-audio .zap-onda i:nth-child(10){height:58%}
.zap-audio .zap-onda i:nth-child(11){height:84%}
.zap-audio .zap-onda i:nth-child(12){height:100%}
.zap-audio .zap-onda i:nth-child(13){height:74%}
.zap-audio .zap-onda i:nth-child(14){height:48%}
.zap-audio .zap-onda i:nth-child(15){height:32%}
.zap-audio .zap-onda i:nth-child(16){height:56%}
.zap-audio .zap-onda i:nth-child(17){height:88%}
.zap-audio .zap-onda i:nth-child(18){height:62%}
.zap-audio .zap-onda i:nth-child(19){height:42%}
.zap-audio .zap-onda i:nth-child(20){height:68%}
.zap-audio .zap-onda i:nth-child(21){height:54%}
.zap-audio .zap-onda i:nth-child(22){height:28%}
.zap-audio .zap-onda i:nth-child(23){height:44%}
.zap-audio .zap-onda i:nth-child(24){height:20%}
.zap-audio small{font-size:.7rem;color:#5A7184;font-weight:600;flex:none;}
.zap-transcricao{
  display:block;border-left:3px solid var(--azul-claro);
  padding:4px 0 4px 10px;font-size:.83rem;color:#334155;font-style:italic;
}

/* etiqueta flutuante que aponta o que está acontecendo na conversa */
.zap-nota{
  position:relative;z-index:1;align-self:flex-start;
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(245,184,65,.14);border:1px solid rgba(245,184,65,.45);
  color:var(--amarelo);border-radius:999px;padding:4px 12px;
  font-size:.7rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;
}
.zap-tela.claro .zap-nota{background:var(--amarelo-suave);border-color:var(--amarelo);color:var(--amarelo-texto);}

/* legenda abaixo da tela */
/* legenda da tela: ganha caixa própria para não se perder no fundo e para
   sustentar contraste tanto sobre o aparelho escuro quanto sobre o claro */
.zap-legenda{
  margin:16px 0 0;padding:10px 14px;border-radius:10px;
  font-size:.86rem;text-align:center;font-weight:600;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);color:#EAF2FA;
}
.zap-tela.claro .zap-legenda{
  background:#fff;border-color:var(--cinza-borda);color:var(--azul);
}

/* ===== Bloco de dor: um dia no telefone da administradora ===== */
.xp-dor{display:grid;grid-template-columns:1fr;gap:14px;max-width:900px;margin:0 auto;}
.xp-dor-item{
  display:flex;gap:15px;align-items:flex-start;
  background:#fff;border:1px solid var(--cinza-borda);border-radius:16px;padding:19px 21px;
  box-shadow:0 2px 20px rgba(0,0,0,.04);transition:transform .2s,box-shadow .2s;
}
.xp-dor-item:hover{transform:translateY(-4px);box-shadow:0 8px 26px rgba(0,0,0,.07);}
.xp-dor-item .hora{
  flex:none;min-width:58px;padding:5px 0;text-align:center;
  background:var(--amarelo-suave);color:var(--amarelo-texto);
  border-radius:9px;font-weight:800;font-size:.82rem;
  font-variant-numeric:tabular-nums;
}
.xp-dor-item h3{font-size:1rem;color:var(--azul);margin-bottom:3px;font-weight:700;}
.xp-dor-item p{color:var(--cinza);font-size:.93rem;}
.xp-dor-fecho{
  max-width:900px;margin:34px auto 0;text-align:center;
  background:var(--azul);border-radius:16px;padding:26px 28px;
  color:#fff;font-size:1.06rem;font-weight:600;
}
.xp-dor-fecho strong{color:var(--amarelo);}

/* ===== Par de blocos com conversa ao lado ===== */
.xp-par{display:grid;grid-template-columns:1fr;gap:36px;align-items:center;}
/* itens de grid nascem com min-width:auto e estouram a coluna quando o conteúdo
   é largo (trilho do Kanban, código de barras, tabela) */
.xp-par > *{min-width:0;}
.xp-par + .xp-par{margin-top:64px;}
.xp-par-texto h3{color:var(--azul);font-size:1.55rem;font-weight:800;line-height:1.25;letter-spacing:-.3px;margin-bottom:12px;}
.xp-par-texto > p{color:var(--cinza);font-size:1.02rem;margin-bottom:18px;}
.xp-selo{
  display:inline-block;background:var(--blue-soft);color:var(--azul-claro);
  font-weight:800;font-size:.72rem;letter-spacing:1.4px;text-transform:uppercase;
  border-radius:999px;padding:6px 15px;margin-bottom:13px;
}
.xp-lista{list-style:none;display:grid;gap:11px;}
.xp-lista li{
  background:#fff;border-radius:12px;padding:13px 15px 13px 44px;
  box-shadow:0 3px 14px rgba(18,58,102,.07);position:relative;
  font-size:.94rem;color:var(--texto);
}
.xp-lista li::before{
  content:"✓";position:absolute;left:15px;top:12px;
  width:19px;height:19px;border-radius:50%;background:var(--azul-claro);
  color:#fff;font-size:.66rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
.xp-lista li strong{color:var(--azul);}
.xp-fecho{
  margin-top:17px;background:var(--amarelo-suave);border-left:4px solid var(--amarelo);
  border-radius:0 12px 12px 0;padding:13px 17px;font-size:.94rem;color:var(--azul);
}

/* ===== IA Auditora — a seção-assinatura ===== */
.ia-auditora{background:var(--azul);color:#DCEBFA;position:relative;overflow:hidden;}
.ia-auditora::after{
  content:"";position:absolute;right:-160px;top:-160px;width:460px;height:460px;
  border-radius:50%;background:rgba(37,211,102,.07);pointer-events:none;
}
.ia-auditora .section-head h2{color:#fff;}
.ia-auditora .section-head .kicker{color:var(--amarelo);}
.ia-auditora .section-head p{color:#B9D3EC;}
/* o em do título vem azul-claro do main.css, que sobre navy dá 2,7:1 */
.ia-auditora .section-head h2 em{color:var(--amarelo);}
.ia-auditora .container{position:relative;z-index:1;}

.ia-par{display:grid;grid-template-columns:1fr;gap:20px;max-width:1000px;margin:0 auto;}
.ia-caso{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  border-radius:18px;padding:24px 22px;display:flex;flex-direction:column;gap:14px;
}
.ia-caso > header{display:flex;align-items:center;gap:10px;}
.ia-caso .ia-status{
  flex:none;width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;font-weight:800;color:#fff;
}
.ia-caso.reprovada .ia-status{background:var(--xp-vermelho);}
.ia-caso.reprovada .ia-status::before{content:"✕";}
.ia-caso.aprovada .ia-status{background:#15803D;}
.ia-caso.aprovada .ia-status::before{content:"✓";}
.ia-caso > header b{color:#fff;font-size:.98rem;font-weight:800;}
.ia-caso > header small{display:block;color:#B9D3EC;font-size:.78rem;font-weight:600;}

/* a bolha que a IA queria mandar */
.ia-bolha{
  background:#fff;color:#0F2136;border-radius:14px;border-top-left-radius:5px;
  padding:12px 14px;font-size:.9rem;line-height:1.45;
}
.ia-caso.reprovada .ia-bolha{opacity:.6;}
.ia-motivo{
  display:flex;gap:11px;align-items:flex-start;
  background:rgba(194,65,12,.16);border:1px solid rgba(194,65,12,.42);
  border-radius:12px;padding:12px 14px;
}
.ia-caso.aprovada .ia-motivo{background:rgba(21,128,61,.16);border-color:rgba(21,128,61,.45);}
.ia-motivo .ia-cat{
  flex:none;font-size:.64rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;
  background:rgba(0,0,0,.22);border-radius:6px;padding:4px 8px;color:#fff;
}
.ia-motivo p{font-size:.86rem;color:#EAF2FA;}

/* as 5 categorias que a auditora usa */
.ia-cats{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:900px;margin:44px auto 0;}
.ia-cats span{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);
  border-radius:999px;padding:9px 18px;font-size:.86rem;color:#EAF2FA;font-weight:600;
}
.ia-cats span b{color:var(--amarelo);font-weight:800;}
.ia-nota{max-width:760px;margin:30px auto 0;text-align:center;color:#B9D3EC;font-size:.92rem;}
.ia-nota strong{color:#fff;}

/* ===== Escala: quadro Kanban abstrato =====
   Em telas estreitas os 4 estágios não cabem. Em vez de espremer as colunas
   (ilegível) ou deixar a página rolar na horizontal, o quadro vira um trilho
   com rolagem própria, véu na borda e uma seta que empurra as colunas.
   O véu e a seta só aparecem quando há o que rolar — quem liga é o JS. */
/* min-width:0 é o que faz o trilho funcionar. Sem isso o item de grid herda
   min-width:auto, se recusa a encolher abaixo do conteúdo e estica a coluna —
   nunca há overflow, então nunca há rolagem nem seta. */
.xp-kanban-rolo{position:relative;min-width:0;max-width:100%;}
.xp-kanban-rolo::after{
  content:"";position:absolute;right:0;top:0;bottom:0;width:64px;
  pointer-events:none;opacity:0;transition:opacity .25s;
  border-radius:0 18px 18px 0;
  background:linear-gradient(90deg,rgba(244,247,251,0),var(--bg) 72%);
}
.xp-kanban-rolo.rolavel::after{opacity:1;}
.xp-kanban-rolo.rolavel.fim::after{opacity:0;}

.xp-rolar{
  position:absolute;right:10px;top:50%;
  width:40px;height:40px;border-radius:50%;
  background:#fff;border:1px solid var(--cinza-borda);
  box-shadow:0 6px 18px rgba(18,58,102,.22);
  color:var(--azul);font-size:1.5rem;line-height:1;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;padding:0;
  opacity:0;pointer-events:none;
  transform:translateY(-50%);
  transition:opacity .25s,transform .25s,background .2s;
}
.xp-kanban-rolo.rolavel .xp-rolar{opacity:1;pointer-events:auto;}
.xp-rolar:hover{background:var(--azul);color:#fff;transform:translateY(-50%) scale(1.06);}
/* no fim do trilho a seta vira "voltar ao começo" */
.xp-kanban-rolo.fim .xp-rolar{transform:translateY(-50%) rotate(180deg);}
.xp-kanban-rolo.fim .xp-rolar:hover{transform:translateY(-50%) rotate(180deg) scale(1.06);}

.xp-kanban{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
  background:var(--bg);border:1px solid var(--cinza-borda);border-radius:18px;padding:16px;
}
.xp-col{display:flex;flex-direction:column;gap:9px;min-width:0;}
.xp-col > b{
  font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.9px;
  color:var(--cinza);display:flex;align-items:center;gap:6px;
}
.xp-col > b::before{content:"";width:8px;height:8px;border-radius:50%;flex:none;}
.xp-col.c1 > b::before{background:var(--azul-claro);}
.xp-col.c2 > b::before{background:var(--amarelo);}
.xp-col.c3 > b::before{background:#7C3AED;}
.xp-col.c4 > b::before{background:#15803D;}
/* cards: retângulos com "linhas de texto" — sem conteúdo real de cliente */
.xp-card{
  background:#fff;border:1px solid var(--cinza-borda);border-radius:10px;
  padding:11px 10px;box-shadow:0 2px 8px rgba(18,58,102,.06);
  display:flex;flex-direction:column;gap:6px;
}
.xp-card i{display:block;height:6px;border-radius:3px;background:#CBD5E1;}
.xp-card i.w70{width:70%;}
.xp-card i.w45{width:45%;}
.xp-card i.w90{width:90%;}
.xp-card i.forte{background:var(--azul-claro);opacity:.55;}
.xp-card em{
  align-self:flex-start;font-style:normal;font-size:.6rem;font-weight:800;
  letter-spacing:.6px;text-transform:uppercase;border-radius:5px;padding:2px 7px;
  background:var(--amarelo-suave);color:var(--amarelo-texto);
}

/* ===== Painel de filtros do disparo =====
   Dá textura própria à seção de disparo, que antes repetia os mesmos cards das
   seções vizinhas. Os chips "on" são os filtros marcados. */
.xp-filtros{
  background:#fff;border:1px solid var(--cinza-borda);border-radius:18px;
  padding:26px 24px;box-shadow:0 10px 34px rgba(18,58,102,.10);
}
.xp-filtros > b{
  display:block;font-size:.7rem;font-weight:800;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--cinza);margin-bottom:14px;
}
.xp-chips{display:flex;flex-wrap:wrap;gap:9px;}
.xp-chips span{
  border-radius:999px;padding:8px 15px;font-size:.85rem;font-weight:600;
  border:1px solid var(--cinza-borda);color:var(--cinza);background:var(--bg);
}
.xp-chips span.on{
  background:var(--azul);border-color:var(--azul);color:#fff;
  display:inline-flex;align-items:center;gap:7px;
}
.xp-chips span.on::before{content:"✓";font-weight:800;font-size:.72rem;color:var(--amarelo);}
.xp-filtros-total{
  margin-top:22px;padding-top:20px;border-top:1px dashed var(--cinza-borda);
}
.xp-filtros-total b{
  display:block;font-size:2.2rem;font-weight:800;line-height:1;
  color:var(--azul-claro);letter-spacing:-1px;font-variant-numeric:tabular-nums;
}
.xp-filtros-total i{display:block;font-style:normal;font-size:.9rem;color:var(--azul);font-weight:700;margin-top:4px;}
.xp-filtros-total small{display:block;margin-top:8px;font-size:.83rem;color:var(--cinza);}

/* ===== Perguntas de governança =====
   Sem caixa: só tipografia e um filete, para não virar mais uma grade de cards. */
.xp-perguntas{
  display:grid;grid-template-columns:1fr;gap:0 44px;
  max-width:1000px;margin:0 auto;
}
.xp-perguntas > div{padding:22px 0;border-top:1px solid var(--cinza-borda);}
.xp-perguntas dt{
  color:var(--azul);font-size:1.06rem;font-weight:800;line-height:1.35;
  display:flex;gap:10px;align-items:flex-start;
}
.xp-perguntas dt::before{
  content:"?";flex:none;width:22px;height:22px;border-radius:50%;
  background:var(--amarelo);color:var(--azul);
  font-size:.76rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;margin-top:2px;
}
.xp-perguntas dd{margin:7px 0 0 32px;color:var(--cinza);font-size:.95rem;}
.xp-perguntas dd strong{color:var(--azul);}

/* ===== Planos ===== */
.xp-cobranca{display:grid;grid-template-columns:1fr;gap:18px;max-width:1000px;margin:0 auto 44px;}
.xp-cobranca div{
  background:#fff;border:1px solid var(--cinza-borda);border-radius:16px;padding:24px 22px;
  box-shadow:0 2px 20px rgba(0,0,0,.04);
}
.xp-cobranca b{display:block;color:var(--azul);font-size:1.05rem;font-weight:800;margin-bottom:6px;}
.xp-cobranca p{color:var(--cinza);font-size:.93rem;}
.xp-cobranca .destaque{background:var(--azul);border-color:var(--azul);}
.xp-cobranca .destaque b{color:var(--amarelo);}
.xp-cobranca .destaque p{color:#DCEBFA;}

/* a tabela rola sozinha; a página nunca rola na horizontal */
.xp-tabela-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px;border:1px solid var(--cinza-borda);background:#fff;}
.xp-tabela{width:100%;border-collapse:collapse;min-width:560px;font-size:.92rem;}
.xp-tabela caption{
  caption-side:top;text-align:left;padding:18px 20px 0;
  color:var(--cinza);font-size:.86rem;
}
.xp-tabela th,.xp-tabela td{padding:13px 16px;text-align:right;white-space:nowrap;}
.xp-tabela th:first-child,.xp-tabela td:first-child{text-align:left;}
.xp-tabela thead th{
  font-size:.7rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;
  color:var(--cinza);border-bottom:1px solid var(--cinza-borda);
}
.xp-tabela tbody tr + tr td{border-top:1px solid #EEF2F7;}
.xp-tabela tbody tr:hover td{background:var(--bg);}
.xp-tabela td:first-child{font-weight:700;color:var(--azul);}
.xp-tabela .valor{font-weight:800;color:var(--azul);font-variant-numeric:tabular-nums;}
.xp-tabela td:not(:first-child){color:var(--texto);font-variant-numeric:tabular-nums;}
.xp-planos-nota{margin-top:16px;text-align:center;font-size:.84rem;color:var(--cinza);}

/* ===== Itens curtos em grade =====
   Flex em vez de grid porque as seções têm de 3 a 6 cards: com número ímpar de
   colunas preenchidas, a última fileira precisa ficar centralizada. Base fixa
   (não cresce) para que 2 cards sozinhos na fileira mantenham a largura de 1/3. */
.xp-grade{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;}
.xp-grade > *{flex:0 1 100%;min-width:0;}
.xp-item{
  background:#fff;border:1px solid var(--cinza-borda);border-radius:16px;padding:24px 22px;
  box-shadow:0 2px 20px rgba(0,0,0,.04);transition:transform .2s,box-shadow .2s;
}
.xp-item:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(0,0,0,.08);}
.xp-item h3{color:var(--azul);font-size:1.05rem;font-weight:800;margin-bottom:6px;}
.xp-item p{color:var(--cinza);font-size:.93rem;}
.xp-item p strong{color:var(--azul);}

/* ===== FAQ ===== */
.xp-faq{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.xp-faq details{
  background:#fff;border:1px solid var(--cinza-borda);border-radius:14px;
  padding:16px 20px;box-shadow:0 2px 20px rgba(0,0,0,.04);
}
.xp-faq summary{
  cursor:pointer;font-weight:700;color:var(--azul);font-size:1rem;
  display:flex;justify-content:space-between;align-items:center;gap:14px;list-style:none;
}
.xp-faq summary::-webkit-details-marker{display:none;}
.xp-faq summary .mais{
  flex:none;width:24px;height:24px;border-radius:50%;background:var(--bg);
  color:var(--azul-claro);font-weight:800;display:flex;align-items:center;justify-content:center;
  transition:transform .2s;
}
.xp-faq details[open] summary .mais{transform:rotate(45deg);}
.xp-faq details p{margin-top:11px;color:var(--cinza);font-size:.94rem;}
.xp-faq details p strong{color:var(--azul);}

/* ===== Responsivo ===== */
@media (min-width:600px){
  .xp-dor{grid-template-columns:1fr 1fr;}
  .xp-cobranca{grid-template-columns:repeat(3,1fr);}
  .xp-grade > *{flex:0 1 calc((100% - 18px) / 2);}
}
@media (min-width:900px){
  .xp-hero-grid{grid-template-columns:1.08fr .92fr;gap:52px;}
  .xp-par{grid-template-columns:1fr 1fr;gap:52px;}
  .xp-par.invertido .zap-tela{order:2;}
  .xp-par.invertido .xp-par-texto{order:1;}
  .ia-par{grid-template-columns:1fr 1fr;}
  .xp-grade > *{flex:0 1 calc((100% - 36px) / 3);}
  .xp-perguntas{grid-template-columns:1fr 1fr;}
}
@media (max-width:719px){
  /* trilho: colunas com largura fixa e rolagem só dentro do quadro.
     O padding à direita evita que a última coluna morra embaixo do véu. */
  .xp-kanban{
    grid-template-columns:repeat(4,158px);
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    scroll-behavior:smooth;scroll-snap-type:x proximity;
    padding-right:52px;
  }
  .xp-col{scroll-snap-align:start;}
}
@media (prefers-reduced-motion:reduce){
  .xp-kanban{scroll-behavior:auto;}
  .xp-rolar:hover{transform:translateY(-50%);}
}
@media (max-width:599px){
  .xp-par-texto h3{font-size:1.3rem;}
  .zap-msg{max-width:92%;}
  .xp-dor-item{flex-direction:column;gap:10px;}
  .xp-dor-item .hora{min-width:0;align-self:flex-start;padding:4px 12px;}
}
@media (prefers-reduced-motion:reduce){
  .xp-dor-item,.xp-item,.xp-lista li{transition:none;}
}
