/* =========================================================
   Ki — Nova identidade (out/2026) — tokens de design
   Fonte única de cor, tipo, raio, sombra e espaçamento.
   Prefixo --ki- para não colidir com o CSS legado.
   ========================================================= */

:root {
  /* ---- Cores base (modo claro) ---- */
  --ki-bg: #FFFFFF;            /* fundo de páginas de leitura (inicial, venda) */
  --ki-bg-app: #F5F5F7;        /* fundo de páginas de app (perfil, painel, carteira) */
  --ki-bg-grouped: #F2F2F7;    /* fundo iOS de listas agrupadas / folhas */
  --ki-surface: #FFFFFF;       /* cartões sobre --ki-bg-app */
  --ki-fill: #F5F5F7;          /* botões secundários, chips, campos sobre branco */
  --ki-fill-strong: #E5E5EA;   /* estado ativo/pressionado de botões de ícone */
  --ki-line: #E5E5EA;          /* bordas e divisores */
  --ki-line-soft: #F0F0F2;     /* divisores internos de lista */

  --ki-ink: #1D1D1F;           /* texto principal, botão escuro */
  --ki-ink-2: #6E6E73;         /* texto secundário (contraste 4.6:1 no branco) */
  --ki-ink-3: #AEAEB2;         /* só decorativo / texto grande; nunca texto pequeno */
  --ki-chevron: #C7C7CC;

  /* ---- Acento (uma única cor de marca) ---- */
  --ki-accent: #3A5BFF;
  --ki-accent-soft: #F5F5F7;   /* fundo de destaque (dia de hoje, item ativo) */
  --ki-on-accent: #FFFFFF;

  /* ---- Semânticas ---- */
  --ki-open: #30A46C;          /* ponto "aberto agora / ativa" */
  --ki-open-text: #1E7B45;     /* texto "Aberto agora" */
  --ki-whatsapp: #1E8E4E;      /* botão WhatsApp (branco em cima passa 4.5:1) */
  --ki-danger: #D70015;        /* Sair, Desativar */
  --ki-fav: #E5484D;           /* coração ativo */
  --ki-fav-soft: #FFE4E6;

  /* ---- Cartão Ki: cor por CATEGORIA (paleta fixa — cliente não escolhe) ---- */
  --ki-cat-imobiliario: #1F3A8A;
  --ki-cat-marketing: #2C2C2E;  /* marketing, GEO, tecnologia */
  --ki-cat-educacao: #4C2A85;
  --ki-cat-apps: #0B5F4A;
  --ki-cat-saude: #0B5F4A;
  --ki-cat-comida: #7A2E12;
  --ki-cat-cafe: #3D2B1F;
  /* texto sobre cartão: #FFFFFF; secundário: rgba(255,255,255,.85) */

  /* ---- Tipografia ---- */
  --ki-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, sans-serif;
  --ki-font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Helvetica, sans-serif;

  --ki-fs-hero: 76px;    /* "Boa tarde." — tracking -0.05em, peso 700 */
  --ki-fs-display: 56px; /* tracking -0.035/-0.04em */
  --ki-fs-h1: 40px;      /* título de página de app — tracking -0.04em, 700 */
  --ki-fs-h2: 24px;      /* título de seção — tracking -0.02em, 700 */
  --ki-fs-h3: 20px;
  --ki-fs-body-l: 17px;  /* corpo em mobile e conversa */
  --ki-fs-body: 15px;
  --ki-fs-small: 13px;
  --ki-fs-micro: 11px;   /* rótulos de cartão em CAIXA ALTA, tracking .08em, 600 */

  /* ---- Raios ---- */
  --ki-r-pill: 10px;
  --ki-r-xl: 28px;   /* cartões grandes / painéis */
  --ki-r-l: 24px;    /* cartões de página, Cartão Ki */
  --ki-r-m: 18px;    /* imagens, cartões pequenos */
  --ki-r-s: 14px;    /* logos/avatares quadrados */
  --ki-r-xs: 10px;   /* itens de menu */

  /* ---- Sombras ---- */
  --ki-shadow-field: 0 12px 44px rgba(0,0,0,.08);
  --ki-shadow-pop: 0 24px 60px rgba(0,0,0,.18), 0 0 0 1px rgba(0,0,0,.04);
  --ki-shadow-pass: 0 -8px 28px rgba(0,0,0,.14);   /* cartões empilhados */
  --ki-shadow-card: 0 14px 34px rgba(0,0,0,.14);

  /* ---- Vidro (barra do topo, dock, popovers) ---- */
  --ki-glass: rgba(255,255,255,.86);
  --ki-glass-filter: saturate(180%) blur(20px);

  /* ---- Espaço e medidas ---- */
  --ki-gap: 20px;
  --ki-pad-page: 28px;          /* lateral desktop */
  --ki-pad-page-m: 16px;        /* lateral mobile */
  --ki-container: 1360px;       /* páginas de app */
  --ki-container-read: 1120px;  /* inicial */
  --ki-touch: 44px;             /* alvo mínimo de toque */
  --ki-header-h: 61px;
}

/* ---- Modo noite (inicial "Ki Agora" vira escura após 18h ou por escolha) ---- */
[data-ki-theme="noite"] {
  --ki-bg: #000000;
  --ki-bg-app: #000000;
  --ki-surface: #1C1C1E;
  --ki-fill: #1C1C1E;
  --ki-line: #2C2C2E;
  --ki-line-soft: #2C2C2E;
  --ki-ink: #F5F5F7;
  --ki-ink-2: #A1A1A6;
  --ki-ink-3: #6E6E73;
  --ki-glass: rgba(0,0,0,.72);
  --ki-shadow-field: 0 10px 40px rgba(0,0,0,.6);
}

/* ---- Utilitários essenciais ---- */
.ki-rail {               /* faixa horizontal estilo Apple Store */
  display: flex; gap: 14px;
  overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; scroll-padding: 0 24px; padding: 0 24px;
  scrollbar-width: none;
}
.ki-rail::-webkit-scrollbar { display: none; }
.ki-rail > * { scroll-snap-align: start; flex: 0 0 auto; }

.ki-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ki-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

.ki-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@keyframes ki-pop { from { opacity: 0; transform: translateY(-6px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes ki-up  { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes ki-pulse { 0%,100% { opacity: .25; } 50% { opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

/* ===== REGRAS DE BOTÃO E COR (18/10) =====
   Botões: sem negrito; só 3 combinações — fundo preto/texto branco, fundo branco/texto preto, fundo azul/texto branco.
   Nunca texto ou link azul. Nada de botão redondo (só o fechar X). Avatares e pontinhos não são botão e ficam como estão. */
html body :is(button,input[type=button],input[type=submit],[role=button],a[class*=btn],a[class*=cta],label[class*=btn],.pf-act,.pf-link,.pf-dark,.pf-pri,.pf-sec2,.ct-btn,.ct-acts a,.ct-acts button,.pc-cta,.ks-auth,.ks-ib,.ks-bi),
html body :is(button,[role=button],a[class*=btn],a[class*=cta],.pf-act,.pf-dark,.pf-pri,.pf-sec2,.ct-btn,.ct-acts a,.ct-acts button,.pc-cta) *{font-weight:400!important}
html body :is(.ct-round,.ct-ask button,.pf-round,.pf-arrow,.pf-lb__n,.ks-dock>a,.ks-dock .ks-rel>button,.ks-auth,.ks-ib,.ks-bi,.pf-act,.pf-dark,.pf-pri,.pf-sec2,.ct-btn,.pc-cta,.pf-seg,.pf-seg button,.cart-bar,.cart-bar-btn,.cart-enviar,.cat-add){border-radius:10px!important}
html body :is(.pf-lb__x,.ks-x,.kis-x,.close,[class*=close],[aria-label*=echar]){border-radius:50%!important}
html body :is(.pf-link,.pf-waze,.pf-site,.ct-acts a,.ct-acts button,.pf-act){color:var(--ki-ink)!important}
html body .pf-link,html body .pf-waze,html body .pf-site{text-decoration:underline!important;text-underline-offset:3px}
html body .pf-act,html body .ct-acts a,html body .ct-acts button{background:#fff!important;border:1px solid var(--ki-line)!important}
html body a.pf-act.pf-act--wa,html body .ct-btn.ct-btn--wa{background:#1E8E4E!important;color:#fff!important;border:1px solid #1E8E4E!important}
html body a.pf-act.pf-act--wa *,html body .ct-btn.ct-btn--wa *{color:#fff!important;stroke:#fff}
