/* =====================================================================
   R15 · CHAMADO NA MÃO (por Galvão Sistemas) — carregado só na versão nova
   (chamado_na_mao.publicado=true ou /previa/). Fusão de cores do briefing §3:
   - fica Galvão: fundo #04060C, header/menu/rodapé, Geist/Geist Mono, rótulos "> ".
   - fica Chamado na Mão (só nas áreas do produto): --cm-grad em destaques de título,
     botões #C084FC com texto #04060C, painéis --cm-panel com borda --cm-line.
   - --cm-ponte (ciano → violeta) em NO MÁXIMO 3 lugares:
       1) .cm-ponte-linha  (linha fina abaixo do hero da página do produto)
       2) .cm-card         (borda do card do Chamado na Mão na home)
       3) .cm-ponte-selo   (selo "por Galvão Sistemas" com o G ciano, na página do produto)
   - #8B5CF6 e #5B21B6 nunca em texto pequeno: só dentro do gradiente de títulos grandes e no G.
   Também aqui: a 3ª aba da #demo e a 3ª linha da faixa.
   ===================================================================== */
:root{
  --cm-violeta-claro:#C084FC; --cm-violeta:#8B5CF6; --cm-violeta-escuro:#5B21B6;
  --cm-escuro:#140A2B; --cm-escuro2:#1D1238; --cm-creme:#F7F3FF;
  --cm-grad:linear-gradient(135deg,#C084FC 0%,#8B5CF6 55%,#5B21B6 100%);
  --cm-ponte:linear-gradient(90deg,#00D9FF 0%,#C084FC 100%);
  --cm-panel:#0F0A1F;
  --cm-line:rgba(192,132,252,.16);
  --cm-ok:#1FA45B;
  --cm-mut:rgba(247,243,255,.76);
}

/* ---------- peças comuns ---------- */
.cm-grad-t{background:var(--cm-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.cm-btn{background-color:var(--cm-violeta-claro);border-color:var(--cm-violeta-claro);color:#04060C;background-image:linear-gradient(var(--cm-creme),var(--cm-creme))}
.cm-btn svg{font-size:16px}
.cm-btn-s{border-color:rgba(192,132,252,.6);color:var(--cm-creme)}
@media (hover:hover){
  .cm-btn:hover{color:#04060C;border-color:var(--cm-creme)}
  .cm-btn-s:hover{border-color:var(--cm-violeta-claro);color:#04060C;background-image:linear-gradient(var(--cm-violeta-claro),var(--cm-violeta-claro))}
}
.cm-btn:focus-visible,.cm-btn-s:focus-visible{outline:2px solid var(--cm-violeta-claro);outline-offset:3px}
.cm-btn:disabled{opacity:.6;cursor:default}
.cm-painel{background:var(--cm-panel);border:1px solid var(--cm-line)}
.cm-selo-disp{display:inline-flex;align-items:center;gap:8px;width:max-content;font:400 11px/1 var(--mono);letter-spacing:.12em;
  text-transform:uppercase;padding:7px 10px;border:1px solid rgba(192,132,252,.6);color:#DDBDFE}
.cm-selo-disp i{width:7px;height:7px;background:var(--cm-violeta-claro);box-shadow:0 0 0 3px rgba(192,132,252,.22)}
.cm-check{list-style:none;display:grid;gap:10px}
.cm-check li{display:flex;gap:10px;align-items:flex-start;font-family:var(--sans);font-size:15px;line-height:1.45;color:var(--cm-mut)}
.cm-check svg{flex:none;color:var(--cm-violeta-claro);font-size:17px;margin-top:2px}
.cm-nota{margin:14px auto 0;max-width:1120px;font-size:13px;color:var(--mut)}

/* molduras: celular (CSS), janela de computador, folha de papel (PDF), etiqueta */
.cm-fone{position:relative;background:#0c0a12;border:1px solid rgba(247,243,255,.18);padding:9px;border-radius:30px;box-shadow:0 30px 60px -30px rgba(192,132,252,.4)}
.cm-fone__tela{overflow:hidden;border-radius:22px;background:#fff}
.cm-fone__tela img{display:block;width:100%;height:auto}
.cm-fone::before{content:"";position:absolute;top:15px;left:50%;width:22%;height:6px;transform:translateX(-50%);background:#0c0a12;border-radius:6px;z-index:1}
.cm-janela{background:#0c0a12;border:1px solid rgba(247,243,255,.16);overflow:hidden}
.cm-janela__bar,.cm-painel__bar{display:flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-bottom:1px solid rgba(247,243,255,.1);font:400 11px/1 var(--mono);color:var(--dim)}
.cm-janela__bar i,.cm-painel__bar i{flex:none;width:8px;height:8px;border-radius:50%;background:rgba(247,243,255,.22)}
.cm-janela__bar span,.cm-painel__bar span{margin-left:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-janela img,.cm-janela video{display:block;width:100%;height:auto}
.cm-folha{background:#fff;padding:6px;box-shadow:0 1px 0 rgba(0,0,0,.2),0 24px 50px -18px rgba(0,0,0,.7),6px 6px 0 -1px #ece8f5,6px 6px 0 0 rgba(0,0,0,.25);transform:rotate(-1.2deg)}
.cm-folha img,.cm-etiqueta img{display:block;width:100%;height:auto}
.cm-etiqueta{background:#fff;padding:4px;border-radius:6px;box-shadow:0 18px 40px -16px rgba(0,0,0,.7)}

/* ---------- HOME: faixa (3ª linha, só a cor da etiqueta muda) ---------- */
.cm-faixa .ce-faixa__novo{background:var(--cm-violeta-claro)}
.cm-faixa svg{color:var(--cm-violeta-claro)}
.cm-faixa:hover .ce-faixa__txt{text-decoration-color:var(--cm-violeta-claro)}

/* ---------- HOME: card do Chamado na Mão no hub (ponte 2/3: borda) ---------- */
.cm-card{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center;margin-top:16px;
  padding:40px;background:var(--cm-panel);border:0;isolation:isolate;transition:box-shadow .5s var(--saida)}
.cm-card::before{content:"";position:absolute;inset:0;padding:1.5px;background:var(--cm-ponte);z-index:-1;pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
@media (hover:hover){.cm-card:hover{box-shadow:0 0 0 1px rgba(192,132,252,.25),0 24px 80px -24px rgba(192,132,252,.45)}}
.cm-card__marca{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
.cm-card__logo{width:236px;height:auto}
.cm-card__por{margin-top:10px;font-size:12px;letter-spacing:.06em;color:var(--mut)}
.cm-card__t{margin:22px 0 22px;font-family:var(--sans);font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.18;color:var(--cm-creme);max-width:30ch}
.cm-card .cm-check{margin-bottom:28px}
.cm-card__wa{margin-top:20px;font-size:14px;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.cm-card__wa>span{color:var(--dim)}
.cm-card__vis .cm-janela{border-color:var(--cm-line);box-shadow:0 30px 70px -30px rgba(192,132,252,.35)}
@media (max-width:900px){.cm-card{grid-template-columns:minmax(0,1fr);padding:28px 22px;gap:28px}.cm-card__vis{order:-1}}
@media (max-width:420px){.cm-card{padding:24px 16px}.cm-card__logo{width:200px}}

/* ---------- HOME: 3ª aba da #demo ---------- */
.dm-tab--cm[aria-selected=true]{background:var(--cm-violeta-claro)}
@media (max-width:520px){   /* 3 abas no celular: quebram em 2 linhas em vez de sair da tela */
  .dm-tabs:has(.dm-tab--cm){display:flex;width:100%}
  .dm-tabs:has(.dm-tab--cm) .dm-tab{flex:1 1 0;min-width:0;padding:8px 6px;font-size:12px;line-height:1.25;white-space:normal;text-align:center}
}

/* ---------- HOME: demo do Chamado na Mão (celular da cliente + painel da equipe) ---------- */
.demo.cm-demo{display:block;padding:32px;background:var(--cm-panel);border:1px solid var(--cm-line)}
.cm-demo__anim{position:relative;display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;align-items:start}
.cm-demo__leg{margin-top:12px;text-align:center;font-size:12px;color:var(--mut)}
.cm-fone--demo{width:240px}
.cm-toque{position:absolute;left:50%;top:calc(9px + (100% - 18px) * .789);width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;
  background:rgba(255,255,255,.55);box-shadow:0 0 0 3px rgba(124,74,245,.8);opacity:0;transform:scale(.4);pointer-events:none;z-index:2}
.cm-toque.is-on{animation:cm-toque .55s var(--saida) both}
@keyframes cm-toque{0%{opacity:0;transform:scale(.4)}35%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.5)}}
.cm-painel__body{background:#F6F4FB;color:#1C1530;font-family:var(--sans)}
.cm-painel{position:relative}
.cm-painel .cm-painel__body{padding:14px}
.cm-painel__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.cm-painel__top>b{font-size:17px;font-weight:500}
.cm-painel__cont{font-size:13px;color:#4A4361}
.cm-painel__cont b{font-weight:600;color:#1C1530;transition:color .4s}
.cm-painel__cont b.is-sobe{color:#0E6B3A}
.cm-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cm-col{background:#ECE8F5;border-radius:8px;padding:8px;min-height:300px}
.cm-col h4{display:flex;justify-content:space-between;align-items:center;margin:2px 4px 8px;font:500 13px/1.2 var(--sans);color:#1C1530}
.cm-col h4 span{font-size:12px;color:#4A4361}
.cm-col__lista{list-style:none;display:grid;gap:8px}
.cm-tk{display:grid;gap:3px;padding:9px 10px;background:#fff;border:1px solid #DDD6EC;border-radius:8px;font-size:12px;line-height:1.35;color:#4A4361}
.cm-tk__n{display:flex;justify-content:space-between;font-weight:600;color:#1C1530}
.cm-tk__n i{font-style:normal;font-weight:400;color:#5F5876}
.cm-tk b{font-weight:500;color:#1C1530;font-size:12.5px}
.cm-tk small{font-size:11.5px;color:#4A4361}
.cm-tk .cm-quem{display:block;font-size:11.5px;font-weight:600;color:#4C1D95}
.cm-pri{justify-self:start;margin-top:2px;padding:2px 8px;border-radius:10px;font:600 11px/1.4 var(--sans);font-style:normal}
.cm-pri--alta{background:#FDE7C7;color:#7A3E00}
.cm-pri--baixa{background:#E3E6EA;color:#3A4250}
.cm-pri--urgente{background:#FBD5D8;color:#8E1020}
.cm-pri--ok{background:var(--cm-ok);color:#04060C}
.cm-tk.is-novo{border-color:#A78BFA;box-shadow:0 0 0 2px rgba(167,139,250,.35)}
.cm-voando{position:fixed;z-index:30;pointer-events:none;margin:0;font-family:var(--sans);will-change:transform,opacity}
.cm-toast{display:block;width:max-content;max-width:100%;min-height:38px;margin:18px auto 0;padding:10px 16px;background:var(--fg);color:#04060C;
  font:400 13px/18px var(--mono);text-align:center;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s;pointer-events:none}
.cm-toast.show{opacity:1;transform:none}
.cm-toast:empty{visibility:hidden}
.cm-demo__loop{display:flex;justify-content:center}
.cm-demo__loop video{width:min(100%,300px);height:auto;border:1px solid var(--cm-line);background:#0c0a12}
.cm-demo.is-loop .cm-demo__anim,.cm-demo.is-loop .cm-toast{display:none}
.cm-demo.is-loop .cm-demo__loop{display:flex!important}
.cm-demo.is-loop ~ .demo__cta [data-cm-abrir],.cm-demo.is-loop ~ .demo__cta [data-cm-repetir]{display:none}
@media (max-width:1000px){.cm-demo__anim{grid-template-columns:200px minmax(0,1fr);gap:20px}.cm-fone--demo{width:200px}}
@media (max-width:760px){
  .demo.cm-demo{padding:16px}
  .cm-demo__anim{grid-template-columns:minmax(0,1fr);gap:20px}
  .cm-demo__fone{width:200px;margin-inline:auto}
  .cm-board{grid-template-columns:minmax(0,1fr)}
  .cm-col{min-height:0}
  .cm-col__lista{min-height:20px}
}
@media (max-width:520px){#demo-chamado-na-mao .demo__cta .btn{width:100%;white-space:normal;text-align:center}}

/* ---------- PÁGINA DO PRODUTO ---------- */
.cm-hero{position:relative;padding:calc(var(--top) + var(--hdr) + 56px) 0 72px;
  background:radial-gradient(60% 60% at 85% 35%,rgba(192,132,252,.13),transparent 70%),radial-gradient(50% 50% at 0% 0%,rgba(0,217,255,.06),transparent 70%)}
.cm-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.cm-hero__marca{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:22px}
.cm-hero__t{margin:22px 0 22px;font-size:clamp(2.2rem,4.4vw,3.9rem)}
.cm-hero__sub{margin-bottom:32px;color:var(--cm-mut)}
.cm-hero__vis .cm-janela--hero{box-shadow:0 40px 90px -40px rgba(192,132,252,.45)}
.cm-hero__vis video{aspect-ratio:16/9;background:#0c0a12 center/cover no-repeat}
@media (max-width:980px){.cm-hero__grid{grid-template-columns:minmax(0,1fr);gap:40px}.cm-hero{padding-bottom:56px}}
@media (max-width:700px){   /* celular: loop vertical numa janela estreita */
  .cm-hero__vis{display:flex;justify-content:center}
  .cm-janela--hero{width:min(100%,300px)}
  .cm-hero__vis video{aspect-ratio:9/16}
}
/* G ciano (Galvão) → G violeta (só opacity/transform; reduzir movimento = G violeta parado) */
.cm-g{width:46px;height:46px;flex:none}
.cm-g__galvao,.cm-g__produto{transform-box:fill-box;transform-origin:center}
.cm-g__galvao{opacity:0}
.cm-g__produto{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .cm-g.is-anim .cm-g__galvao{animation:cm-g-sai 1.6s var(--saida) .5s both}
  .cm-g.is-anim .cm-g__produto{animation:cm-g-entra 1.6s var(--saida) .5s both}
}
@keyframes cm-g-sai{0%{opacity:1;transform:rotate(0) scale(1)}55%{opacity:0;transform:rotate(-40deg) scale(.9)}100%{opacity:0;transform:rotate(-40deg) scale(.9)}}
@keyframes cm-g-entra{0%{opacity:0;transform:rotate(40deg) scale(.9)}35%{opacity:0;transform:rotate(40deg) scale(.9)}100%{opacity:1;transform:rotate(0) scale(1)}}
/* ponte 1/3: linha fina abaixo do hero */
.cm-ponte-linha{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--cm-ponte)}
/* ponte 3/3: selo "por Galvão Sistemas" com o G ciano */
.cm-ponte-selo{position:relative;display:inline-flex;align-items:center;gap:10px;width:max-content;margin-top:26px;padding:8px 14px 8px 10px;font-size:12px;letter-spacing:.06em;color:var(--fg);isolation:isolate}
.cm-ponte-selo::before{content:"";position:absolute;inset:0;padding:1px;background:var(--cm-ponte);z-index:-1;pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.cm-ponte-selo svg{width:18px;height:18px}

.cm-sec .sec-h{margin-bottom:40px}
.cm-sec--curta{padding-block:calc(var(--sec) * .6)}
.cm-player{display:flex;justify-content:center;max-width:1120px;margin-inline:auto;background:#000;border:1px solid var(--cm-line)}
.cm-player video{display:block;width:100%;aspect-ratio:16/9;height:auto;background:#000}
@media (max-width:700px){
  .cm-player{border:0;background:transparent}
  .cm-player video{aspect-ratio:9/16;width:auto;max-width:100%;height:min(80svh,calc((100vw - 40px) * 16 / 9));background:#000}
}
.cm-dores{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cm-dores li{padding:28px;display:grid;gap:12px;align-content:start}
.cm-dores__n{font-size:12px;color:var(--cm-violeta-claro)}
.cm-dores h3{font-family:var(--sans);font-size:clamp(1.3rem,2vw,1.6rem);color:var(--cm-creme)}
.cm-dores p{font-family:var(--sans);color:var(--cm-mut)}
@media (max-width:900px){.cm-dores{grid-template-columns:minmax(0,1fr)}}

.cm-passos{list-style:none;display:grid;gap:20px}
.cm-passo{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:center;padding:32px;background:var(--cm-panel);border:1px solid var(--cm-line)}
.cm-passo__n{font-size:12px;color:var(--cm-violeta-claro)}
.cm-passo h3{margin:10px 0 12px;font-family:var(--sans);font-size:clamp(1.4rem,2.4vw,2rem);color:var(--cm-creme)}
.cm-passo p{font-family:var(--sans);font-size:17px;line-height:1.55;color:var(--cm-mut);max-width:44ch}
.cm-passo__img{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:center}
.cm-pilha{display:grid;grid-template-columns:minmax(0,1fr)}
.cm-pilha>.cm-janela+.cm-janela{width:82%;margin-top:-18%;margin-left:18%;box-shadow:0 -10px 40px -10px rgba(0,0,0,.8)}
.cm-pilha>.cm-janela+.cm-janela+.cm-janela{width:70%;margin-left:30%}
.cm-fones{display:flex;justify-content:center;gap:16px}
.cm-fones .cm-fone{width:min(220px,46%)}
.cm-passo--misto .cm-passo__img{grid-template-columns:minmax(0,1fr) 38%}
.cm-passo--misto .cm-fones{flex-direction:column;align-items:center;gap:12px}
.cm-passo--misto .cm-fones .cm-fone{width:min(170px,100%)}
@media (max-width:900px){
  .cm-passo{grid-template-columns:minmax(0,1fr);padding:22px 18px;gap:24px}
  .cm-passo--misto .cm-passo__img{grid-template-columns:minmax(0,1fr)}
  .cm-passo--misto .cm-fones{flex-direction:row}
  .cm-passo--misto .cm-fones .cm-fone{width:min(170px,46%)}
}

.cm-tambem{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cm-tambem>li{padding:26px;display:grid;gap:12px;align-content:start}
.cm-tambem h3{font-family:var(--sans);font-size:clamp(1.2rem,2vw,1.45rem);color:var(--cm-creme)}
.cm-tambem p{font-family:var(--sans);color:var(--cm-mut)}
.cm-tambem__img{position:relative;display:flex;justify-content:center;align-items:flex-start;margin-top:10px}
.cm-tambem__img .cm-pilha{width:100%}
.cm-tambem__img.tem-fone .cm-pilha{width:84%;margin-right:auto}
.cm-tambem__img.tem-fone>.cm-fone{position:absolute;right:0;bottom:-6px;width:min(150px,30%)}
.cm-tambem__img>.cm-folha{width:min(300px,76%)}
.cm-tambem__img>.cm-etiqueta{width:min(340px,90%);margin-top:20px}
@media (max-width:900px){.cm-tambem{grid-template-columns:minmax(0,1fr)}.cm-tambem>li{padding:22px 18px}}

.cm-recursos{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cm-recursos>li{padding:26px}
.cm-recursos h3{font-family:var(--sans);font-size:1.25rem;color:var(--cm-creme);margin-bottom:16px}
@media (max-width:1000px){.cm-recursos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cm-recursos{grid-template-columns:minmax(0,1fr)}.cm-recursos>li{padding:22px 18px}}

.cm-pq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:center}
.cm-pq .h2{margin-top:12px}
.cm-pq__d{margin-top:14px;font-family:var(--sans);color:var(--cm-mut);max-width:40ch}
.cm-chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.cm-chips li{padding:10px 16px;border:1px solid rgba(192,132,252,.45);color:var(--cm-creme);font-size:15px}
@media (max-width:900px){.cm-pq{grid-template-columns:minmax(0,1fr)}}

.cm-cta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:48px;align-items:center;padding:48px}
.cm-cta__logo{width:200px;height:auto}
.cm-cta__t{margin:14px 0 26px;color:var(--cm-creme);max-width:26ch}
.cm-contatos{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:14px 40px;margin-top:28px}
.cm-contatos li{display:grid;gap:4px;font-size:14px}
.cm-contatos span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.cm-contatos b{font-weight:400}
@media (max-width:900px){.cm-cta{grid-template-columns:minmax(0,1fr);gap:28px;padding:28px 20px;justify-items:start}.cm-cta__logo{width:150px}}
@media (max-width:420px){.cm-contatos{grid-template-columns:minmax(0,1fr)}}

.cm-modal .ce-modal__caixa{background:var(--cm-panel);border-color:var(--cm-line)}
.cm-modal .ce-modal__top{border-color:var(--cm-line)}
.cm-modal .ce-modal__t,.cm-modal .ce-modal__x{color:var(--cm-creme)}
.cm-modal .ce-modal__x:hover{border-color:var(--cm-violeta-claro)}

@media (prefers-reduced-motion:reduce){
  .cm-toque.is-on{animation:none}
  .cm-card,.cm-toast{transition:none}
}
