/* Páginas-guia (regulamentos, soluções, casos de uso) no padrão visual Google: superfícies tonais, sem faixas coloridas. */
.cm2 { --i: #1f1f1f; --i2: #444746; --az: #0b57d0; --azc: #d3e3fd; --s1: #f0f4f9; --s2: #e9eef6; --ln: #e1e3e1; }
.cm2 h1, .cm2 h2, .cm2 h3 { color: var(--i); }
.cm2-hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; padding: 64px 0 32px; }
.cm2-chip { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 20px; padding: 6px 14px; border-radius: 999px; background: var(--s1); color: var(--i2); font: 500 13px/1.3 Roboto, sans-serif; }
.cm2-dot { width: 8px; height: 8px; border-radius: 50%; background: #1e8e3e; box-shadow: 0 0 0 4px #c4eed0; }
.cm2-hero h1 { font: 500 clamp(36px, 4.8vw, 56px)/1.08 Roboto, Arial, sans-serif; letter-spacing: -.025em; margin: 0 0 20px; }
.cm2-lead { font-size: 19px; line-height: 1.6; color: var(--i2); margin: 0 0 28px; max-width: 580px; }
.cm2-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 24px; }
.cm2-trust { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; color: var(--i2); font-size: 14px; }
.cm2-trust li { display: flex; align-items: center; gap: 8px; }
.cm2-ic { width: 22px; height: 22px; border-radius: 50%; display: inline-grid; place-items: center; font: 700 12px Roboto, sans-serif; }
.cm2-ic.is-green { background: #c4eed0; color: #0d652d; } .cm2-ic.is-blue { background: var(--azc); color: var(--az); } .cm2-ic.is-yellow { background: #ffdf99; color: #6d4c00; }
.cm2-hero-art { margin: 0; } .cm2-hero-art svg { width: 100%; height: auto; display: block; }
.cm2-hero-art img { width: 100%; height: auto; display: block; border-radius: 28px; background: var(--s1); }

.cm2-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 24px 0 8px; }
.cm2-stats div { background: var(--s1); border-radius: 24px; padding: 22px 24px; }
.cm2-stats b { display: block; font: 500 34px/1.1 Roboto, sans-serif; color: var(--i); }
.cm2-stats span { color: var(--i2); font-size: 14px; line-height: 1.45; display: block; margin-top: 4px; }

.cm2-sec { padding: 72px 0; }
.cm2-split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.cm2-split.is-top { align-items: start; }
.cm2-split h2, .cm2-sec > h2 { font: 500 clamp(28px, 3.2vw, 38px)/1.18 Roboto, sans-serif; letter-spacing: -.015em; margin: 0 0 18px; }
.cm2-p { font-size: 17px; line-height: 1.7; color: var(--i); margin: 0 0 14px; }
.cm2-flow { margin: 0; } .cm2-flow svg { width: 100%; height: auto; display: block; }

.cm2-sinais { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.cm2-sinais article, .cm2-quem article { background: #fff; border-radius: 24px; padding: 24px; }
.cm2-sec:not(.cf-soft) .cm2-sinais article, .cm2-sec:not(.cf-soft) .cm2-quem article { background: var(--s1); }
.cm2-sinal-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.cm2-sinal-top code { font: 500 13px 'Roboto Mono', monospace; color: var(--i); background: var(--s2); padding: 4px 8px; border-radius: 8px; }
.cm2-bola { width: 12px; height: 12px; border-radius: 50%; }
.cm2-bola.is-blue { background: #1a73e8; } .cm2-bola.is-green { background: #1e8e3e; } .cm2-bola.is-yellow { background: #f9ab00; } .cm2-bola.is-red { background: #d93025; }
.cm2-novo { font: 700 11px Roboto, sans-serif; color: var(--az); background: var(--azc); padding: 3px 8px; border-radius: 999px; }
.cm2-sinais h3, .cm2-quem h3 { font: 500 19px/1.3 Roboto, sans-serif; margin: 0 0 8px; }
.cm2-sinais p, .cm2-quem p { margin: 0 0 10px; color: var(--i2); font-size: 15px; line-height: 1.6; }
.cm2-neg { font-size: 14px !important; color: #8c1d18 !important; background: #fce8e6; border-radius: 14px; padding: 10px 12px; margin: 12px 0 0 !important; }

.cm2-modos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cm2-modo { background: var(--s1); border-radius: 28px; padding: 24px; }
.cm2-modo.is-destaque { background: #e8f0fe; }
.cm2-modo svg { width: 100%; height: auto; display: block; margin-bottom: 16px; }
.cm2-modo h3 { font: 500 22px/1.3 Roboto, sans-serif; margin: 0 0 8px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cm2-rec { font: 500 12px Roboto, sans-serif; color: #0d652d; background: #c4eed0; border-radius: 999px; padding: 4px 10px; }
.cm2-modo > p { color: var(--i2); font-size: 16px; line-height: 1.6; margin: 0 0 14px; }
.cm2-lista { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.cm2-lista li { position: relative; padding-left: 28px; font-size: 15px; line-height: 1.5; color: var(--i); }
.cm2-lista li::before { position: absolute; left: 0; top: 0; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font: 700 11px Roboto, sans-serif; }
.cm2-lista li.is-ok::before { content: "✓"; background: #c4eed0; color: #0d652d; } .cm2-lista li.is-no::before { content: "–"; background: #ffdad6; color: #8c1d18; }
.cm2-nota { max-width: 860px; margin: 24px auto 0; text-align: center; font-size: 16px; line-height: 1.6; color: var(--i2); }

.cm2-tempo { list-style: none; margin: 0 auto; padding: 0; max-width: 860px; position: relative; }
.cm2-tempo::before { content: ""; position: absolute; left: 11px; top: 8px; bottom: 8px; width: 2px; background: #c4c7c5; }
.cm2-tempo li { position: relative; padding: 0 0 28px 48px; }
.cm2-tempo li::before { content: ""; position: absolute; left: 4px; top: 4px; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 3px solid var(--az); }
.cm2-data { display: inline-block; font: 500 13px Roboto, sans-serif; color: var(--az); background: var(--azc); border-radius: 999px; padding: 3px 10px; margin-bottom: 6px; }
.cm2-tempo h3 { font: 500 19px/1.35 Roboto, sans-serif; margin: 4px 0 6px; }
.cm2-tempo p { margin: 0; color: var(--i2); font-size: 15.5px; line-height: 1.6; }

.cm2-quem { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cm2-quem-ic { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; margin-bottom: 14px; }
.cm2-quem-ic svg { width: 24px; height: 24px; }
.cm2-quem-ic.is-blue { background: var(--azc); color: var(--az); } .cm2-quem-ic.is-green { background: #c4eed0; color: #146c2e; } .cm2-quem-ic.is-yellow { background: #ffdf99; color: #6d4c00; } .cm2-quem-ic.is-red { background: #ffdad6; color: #8c1d18; }

.cm2-passos { list-style: none; counter-reset: p; margin: 8px 0 0; padding: 0; display: grid; gap: 12px; }
.cm2-passos li { counter-increment: p; position: relative; background: #fff; border-radius: 20px; padding: 16px 18px 16px 64px; }
.cm2-passos li::before { content: counter(p); position: absolute; left: 16px; top: 16px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--azc); color: #041e49; font: 500 15px Roboto, sans-serif; }
.cm2-passos b { display: block; font-weight: 500; font-size: 16px; color: var(--i); margin-bottom: 4px; }
.cm2-passos span { display: block; color: var(--i2); font-size: 15px; line-height: 1.55; }
.cm2-code { margin: 0; background: #1f1f1f; border-radius: 24px; padding: 20px 22px; color: #e3e3e3; position: sticky; top: 92px; }
.cm2-code figcaption { font: 500 13px Roboto, sans-serif; color: #a8c7fa; margin-bottom: 12px; }
.cm2-code pre { margin: 0; overflow-x: auto; font: 13px/1.6 'Roboto Mono', monospace; }
.cm2-code .c { color: #8e918f; } .cm2-code .s { color: #a8dab5; } .cm2-code .n { color: #fdd663; }
.cm2-code-nota { margin: 14px 0 0; font-size: 13.5px; line-height: 1.55; color: #c4c7c5; }

.cm2-erros { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.cm2-erros article { display: flex; gap: 16px; background: var(--s1); border-radius: 24px; padding: 22px; }
.cm2-x { flex: none; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: #ffdad6; color: #8c1d18; font: 700 15px Roboto, sans-serif; }
.cm2-erros h3 { font: 500 18px/1.35 Roboto, sans-serif; margin: 4px 0 6px; }
.cm2-erros p { margin: 0; color: var(--i2); font-size: 15px; line-height: 1.6; }

.cm2-mock { margin: 0; background: #fff; border-radius: 28px; padding: 22px; box-shadow: 0 1px 3px rgba(0,0,0,.1), 0 8px 24px rgba(0,0,0,.06); }
.cm2-mock-top { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--ln); }
.cm2-mock-top div { flex: 1; display: flex; flex-direction: column; } .cm2-mock-top b { font-weight: 500; color: var(--i); } .cm2-mock-top small { color: var(--i2); }
.cm2-mock-id { font: 700 13px Roboto, sans-serif; background: #ffdf99; color: #6d4c00; border-radius: 10px; padding: 6px 9px; }
.cm2-mock-sev { font: 500 12px Roboto, sans-serif; background: #ffdf99; color: #6d4c00; border-radius: 999px; padding: 4px 10px; }
.cm2-mock-linhas { display: grid; gap: 8px; margin: 14px 0; }
.cm2-mock-linhas div { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 14px; background: var(--s1); font-size: 14px; }
.cm2-mock-linhas i { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font: 700 11px Roboto, sans-serif; font-style: normal; }
.cm2-mock-linhas span { flex: 1; font-family: 'Roboto Mono', monospace; font-size: 13px; color: var(--i); }
.cm2-mock-linhas em { font-style: normal; font-size: 12.5px; font-weight: 500; }
.cm2-mock-linhas .is-ok i { background: #c4eed0; color: #0d652d; } .cm2-mock-linhas .is-ok em { color: #0d652d; }
.cm2-mock-linhas .is-no i { background: #ffdad6; color: #8c1d18; } .cm2-mock-linhas .is-no em { color: #8c1d18; }
.cm2-mock-linhas .is-warn i { background: #ffdf99; color: #6d4c00; } .cm2-mock-linhas .is-warn em { color: #6d4c00; }
.cm2-mock-fix { margin: 0; font-size: 14px; line-height: 1.55; color: var(--i2); background: #e8f0fe; border-radius: 14px; padding: 12px 14px; }
.cm2-fontes { font-size: 13.5px; line-height: 1.7; color: var(--i2); margin: 0 0 56px; }
.cm2-fontes a { color: var(--az); }

/* animações do topo (só com movimento liberado) */
.cm2-sw rect { fill: #c4c7c5; } .cm2-sw circle { fill: #fff; }
@media (prefers-reduced-motion: no-preference) {
  .cm2-sw rect { animation: cm2-swr 6s infinite; } .cm2-sw circle { animation: cm2-swc 6s infinite; transform-box: fill-box; }
  .cm2-sw2 rect, .cm2-sw2 circle { animation-delay: .5s; } .cm2-sw3 rect, .cm2-sw3 circle { animation-delay: 1s; } .cm2-sw4 rect, .cm2-sw4 circle { animation-delay: 1.5s; }
  .cm2-ping { animation: cm2-ping 1.6s linear infinite; }
}
@media (prefers-reduced-motion: reduce) { .cm2-pulsos { display: none; } }
@keyframes cm2-swr { 0%, 20% { fill: #c4c7c5; } 30%, 90% { fill: #0b57d0; } 100% { fill: #c4c7c5; } }
@keyframes cm2-swc { 0%, 20% { transform: translateX(0); } 30%, 90% { transform: translateX(10px); } 100% { transform: translateX(0); } }
@keyframes cm2-ping { from { transform: translateX(-24px); opacity: 0; } 30% { opacity: 1; } to { transform: translateX(24px); opacity: 0; } }

@media (max-width: 980px) {
  .cm2-hero, .cm2-split { grid-template-columns: 1fr; gap: 32px; }
  .cm2-sinais { grid-template-columns: 1fr 1fr; } .cm2-quem { grid-template-columns: 1fr; } .cm2-stats { grid-template-columns: 1fr 1fr; }
  .cm2-code { position: static; }
}
@media (max-width: 640px) {
  .cm2-hero { padding-top: 36px; } .cm2-sec { padding: 52px 0; }
  .cm2-sinais, .cm2-modos, .cm2-erros { grid-template-columns: 1fr; }
}
.cm2-split > *, .cm2-hero > * { min-width: 0; }
.cm2-quem.is-2 { grid-template-columns: repeat(2, 1fr); }
.cm2-passos-wrap { max-width: 860px; margin: 0 auto; }
.cf-soft .cm2-passos li { background: #fff; } .cm2-sec:not(.cf-soft) .cm2-passos li { background: #f0f4f9; }
.cm2-pn { max-width: 1100px; margin: 0 auto; }
.cm2-tab { overflow-x: auto; border-radius: 24px; background: #fff; }
.cm2-sec:not(.cf-soft) .cm2-tab { background: #f0f4f9; }
.cm2-tab table { width: 100%; border-collapse: collapse; font-size: 15px; }
.cm2-tab th, .cm2-tab td { text-align: left; padding: 14px 18px; border-bottom: 1px solid #e1e3e1; vertical-align: top; line-height: 1.5; }
.cm2-tab thead th { font-weight: 500; color: #444746; font-size: 13.5px; }
.cm2-tab tbody th { font-weight: 500; color: #1f1f1f; }
.cm2-tab td { color: #1f1f1f; }
.cm2-tab tr:last-child th, .cm2-tab tr:last-child td { border-bottom: 0; }
.cm2-split.is-rev { grid-template-columns: 1fr 1fr; }
@media (prefers-reduced-motion: no-preference) {
  .cmg-flutua { animation: cmg-flutua 5s ease-in-out infinite; }
  .cmg-pino { animation: cmg-pino 2.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center bottom; }
  .cmg-sw rect { animation: cmg-swr 6s infinite; } .cmg-sw circle { animation: cmg-swc 6s infinite; animation-delay: inherit; }
  .cmg-barra { animation: cmg-barra 4s ease-in-out infinite; transform-box: fill-box; transform-origin: bottom; }
  .cmg-traco { stroke-dasharray: 600; animation: cmg-traco 4s ease-in-out infinite; }
  .cmg-item { animation: cmg-item 5s ease-in-out infinite; }
  .cmg-dia { animation: cmg-dia 3s ease-in-out infinite; }
  .cmg-sino { animation: cmg-sino 3s ease-in-out infinite; transform-box: fill-box; transform-origin: 50% 20%; }
  .cmg-pulso { animation: cmg-pulso 1.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
  .cmg-moeda { animation: cmg-flutua 3s ease-in-out infinite; }
  .cmg-seta { animation: cmg-dia 2.4s ease-in-out infinite; }
}
@keyframes cmg-flutua { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes cmg-pino { 0%, 100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-6px) scale(1.08); } }
@keyframes cmg-swr { 0%, 20% { fill: #c4c7c5; } 30%, 90% { fill: #0b57d0; } 100% { fill: #c4c7c5; } }
@keyframes cmg-swc { 0%, 20% { transform: translateX(0); } 30%, 90% { transform: translateX(14px); } 100% { transform: translateX(0); } }
@keyframes cmg-barra { 0% { transform: scaleY(.3); } 40%, 100% { transform: scaleY(1); } }
@keyframes cmg-traco { 0% { stroke-dashoffset: 600; } 50%, 100% { stroke-dashoffset: 0; } }
@keyframes cmg-item { 0%, 10% { opacity: .25; } 25%, 100% { opacity: 1; } }
@keyframes cmg-dia { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }
@keyframes cmg-sino { 0%, 70%, 100% { transform: rotate(0); } 75% { transform: rotate(12deg); } 85% { transform: rotate(-10deg); } }
@keyframes cmg-pulso { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }
@media (max-width: 980px) { .cm2-split.is-rev { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .cm2-quem.is-2 { grid-template-columns: 1fr; } }
/* índice de regulamentos */
.cmh { padding: 24px 0 64px; }
.cmh-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.cmh-chip { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px; border-radius: 8px; border: 1px solid #747775; background: #fff; color: #1f1f1f; font: 500 14px Roboto, sans-serif; cursor: pointer; }
.cmh-chip span { font-size: 12px; color: #444746; background: #f0f4f9; border-radius: 999px; padding: 1px 8px; }
.cmh-chip[aria-pressed="true"] { background: #d3e3fd; border-color: #d3e3fd; color: #041e49; }
.cmh-chip[aria-pressed="true"] span { background: #fff; }
.cmh-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.cmh-card { display: flex; flex-direction: column; gap: 6px; padding: 24px; border-radius: 24px; background: #f0f4f9; color: #1f1f1f; text-decoration: none; min-height: 220px; transition: background .15s; }
.cmh-card:hover { background: #e9eef6; }
.cmh-card[hidden] { display: none; }
.cmh-cod { align-self: flex-start; min-width: 48px; height: 48px; padding: 0 10px; border-radius: 16px; display: grid; place-items: center; font: 700 14px Roboto, sans-serif; margin-bottom: 14px; }
.cmh-cod.is-blue { background: #d3e3fd; color: #0b57d0; } .cmh-cod.is-green { background: #c4eed0; color: #146c2e; } .cmh-cod.is-yellow { background: #ffdf99; color: #6d4c00; } .cmh-cod.is-red { background: #ffdad6; color: #8c1d18; }
.cmh-card b { font: 500 20px/1.25 Roboto, sans-serif; }
.cmh-nome { font-size: 15px; line-height: 1.45; color: #444746; flex: 1; }
.cmh-reg { font-size: 12.5px; color: #5e5e5e; }
.cmh-mais { font: 500 14px Roboto, sans-serif; color: #0b57d0; margin-top: 6px; }
@media (max-width: 980px) { .cmh-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .cmh-grid { grid-template-columns: 1fr; } }
.cm2 .ba-mais { margin: 0 0 64px; }
.cm2-mais-fig { padding: 0 !important; background: #f0f4f9 !important; }
.cm2-mais-fig svg { width: 100%; height: auto !important; display: block; }
.cm2-body .ba-mais-card .cm2-mais-fig svg > rect:first-child { fill: #e9eef6; }

/* ---------- componentes das páginas geradas ---------- */
.cm2-trilha { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding-top: 24px; font-size: 14px; color: var(--i2); }
.cm2-trilha a { color: var(--az); text-decoration: none; } .cm2-trilha a:hover { text-decoration: underline; } .cm2-trilha b { font-weight: 500; color: var(--i); }
.cm2-hero.is-simples { padding-bottom: 8px; }
.cm2-split.is-rev { grid-template-columns: 1fr 1fr; }
.cm2-quem.is-4 { grid-template-columns: repeat(4, 1fr); } .cm2-quem.is-2 { grid-template-columns: repeat(2, 1fr); }
.cm2-passos-w { max-width: 860px; margin: 0 auto; }
.cm2-sec.cf-soft .cm2-passos li { background: #fff; } .cm2-sec:not(.cf-soft) .cm2-passos li { background: var(--s1); }
.cm2-pn { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cm2-pn .ba-did-ok, .cm2-pn .ba-did-no { border-radius: 24px; padding: 24px 26px; }
.cm2-pn .ba-did-ok { background: #e6f4ea; } .cm2-pn .ba-did-no { background: #fce8e6; }
.cm2-pn h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font: 500 20px/1.3 Roboto, Arial, sans-serif; }
.cm2-pn .ba-did-ok h3 { color: #0d652d; } .cm2-pn .ba-did-no h3 { color: #a50e0e; }
.cm2-pn .ba-did-ic { width: 32px; height: 32px; border-radius: 50%; display: inline-grid; place-items: center; font: 700 16px Roboto, sans-serif; flex: none; }
.cm2-pn .ba-did-ok .ba-did-ic { background: #c4eed0; color: #0d652d; } .cm2-pn .ba-did-no .ba-did-ic { background: #ffdad6; color: #a50e0e; }
.cm2-pn ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.cm2-pn li { position: relative; padding-left: 26px; font-size: 16px; line-height: 1.55; color: #1f1f1f; }
.cm2-pn li::before { position: absolute; left: 0; top: 0; font-weight: 700; }
.cm2-pn .ba-did-ok li::before { content: "✓"; color: #137333; } .cm2-pn .ba-did-no li::before { content: "✕"; color: #c5221f; }
.cm2-caso { max-width: 960px; margin: 0 auto; }
.cm2-caso-ab { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cm2-caso-ab > div { border-radius: 24px; padding: 22px 24px; }
.cm2-caso-ab .is-antes { background: #fce8e6; } .cm2-caso-ab .is-depois { background: #e6f4ea; }
.cm2-caso-ab span { display: inline-block; font: 500 13px Roboto, sans-serif; border-radius: 999px; padding: 3px 10px; margin-bottom: 10px; }
.cm2-caso-ab .is-antes span { background: #ffdad6; color: #8c1d18; } .cm2-caso-ab .is-depois span { background: #c4eed0; color: #0d652d; }
.cm2-caso-ab p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--i); }
.cm2-caso-txt { margin: 18px auto 0; max-width: 860px; text-align: center; font-size: 16px; line-height: 1.65; color: var(--i2); }
.cm2-gcards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 24px; }
.cm2-gcard { display: flex; flex-direction: column; gap: 8px; text-decoration: none; background: var(--s1); border-radius: 24px; padding: 16px 16px 20px; color: var(--i); transition: background .15s; }
.cm2-gcard:hover { background: var(--s2); }
.cm2-gcard-art svg { width: 100%; height: 150px; display: block; }
.cm2-gcard b { font: 500 18px/1.3 Roboto, sans-serif; padding: 4px 4px 0; } .cm2-gcard span:not(.cm2-gcard-art) { color: var(--i2); font-size: 14.5px; line-height: 1.55; padding: 0 4px; }
.cm2-gcard em { font-style: normal; color: var(--az); font-weight: 500; font-size: 14px; padding: 4px 4px 0; margin-top: auto; }
.cm2-split > *, .cm2-hero > * { min-width: 0; }

/* ilustrações: movimento suave */
@media (prefers-reduced-motion: no-preference) {
  .cm2-flutua { animation: cm2-flutua 5s ease-in-out infinite; }
  .cm2-pulsa { animation: cm2-pulsa 2.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
  .cm2-surge { animation: cm2-surge 6s ease-in-out infinite; }
  .cm2-cresce { animation: cm2-cresce 5s ease-in-out infinite; transform-box: fill-box; transform-origin: bottom; }
  .cm2-traco { stroke-dasharray: 500; animation: cm2-traco 5s ease-in-out infinite; }
  .cm2-sino { animation: cm2-sino 3s ease-in-out infinite; transform-box: fill-box; transform-origin: top center; }
  .cm2-balanca { animation: cm2-balanca 5s ease-in-out infinite; transform-box: fill-box; transform-origin: center top; }
  .cm2-flecha { animation: cm2-flecha 4s ease-in-out infinite; }
  .cm2-lupa { animation: cm2-lupa 6s ease-in-out infinite; }
  .cm2-d1 { animation-delay: .4s; } .cm2-d2 { animation-delay: .8s; } .cm2-d3 { animation-delay: 1.2s; }
}
@keyframes cm2-flutua { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes cm2-pulsa { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.06); opacity: .8; } }
@keyframes cm2-surge { 0% { opacity: 0; transform: translateY(8px); } 15%, 85% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes cm2-cresce { 0% { transform: scaleY(.2); } 30%, 80% { transform: scaleY(1); } 100% { transform: scaleY(.2); } }
@keyframes cm2-traco { 0% { stroke-dashoffset: 500; } 40%, 80% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -500; } }
@keyframes cm2-sino { 0%, 70%, 100% { transform: rotate(0); } 75% { transform: rotate(12deg); } 85% { transform: rotate(-10deg); } 92% { transform: rotate(5deg); } }
@keyframes cm2-balanca { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }
@keyframes cm2-flecha { 0%, 15% { transform: translate(60px, -50px); opacity: 0; } 30%, 85% { transform: none; opacity: 1; } 100% { opacity: 0; } }
@keyframes cm2-lupa { 0%, 100% { transform: translate(0, 0); } 33% { transform: translate(-60px, -40px); } 66% { transform: translate(-20px, 50px); } }

/* rodapé completo */
.cm-mega { background: #f8fafd; margin-top: 24px; }
.cm-mega-in { max-width: 1200px; margin: 0 auto; padding: 56px 24px 32px; display: grid; grid-template-columns: 280px 1fr; gap: 48px; }
.cm-mega-marca p { margin: 16px 0 20px; color: #444746; font-size: 14.5px; line-height: 1.6; }
.cm-mega-cols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; }
.cm-mega-col h2 { margin: 0 0 14px; font: 500 14px Roboto, sans-serif; color: #1f1f1f; }
.cm-mega-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cm-mega-col a { color: #444746; text-decoration: none; font-size: 14px; line-height: 1.4; }
.cm-mega-col a:hover { color: #0b57d0; text-decoration: underline; }
.cm-mega-base { max-width: 1200px; margin: 0 auto; padding: 20px 24px 32px; border-top: 1px solid #e1e3e1; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; color: #5e5e5e; font-size: 13px; }
@media (max-width: 1080px) { .cm-mega-in { grid-template-columns: 1fr; } .cm-mega-cols { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 980px) { .cm2-quem.is-4, .cm2-gcards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .cm-mega-cols { grid-template-columns: 1fr 1fr; } .cm2-pn, .cm2-caso-ab, .cm2-quem.is-4, .cm2-quem.is-2, .cm2-gcards { grid-template-columns: 1fr; } }

/* hub de regulamentos (filtro por região) */
.cm2-filtros { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
.cm2-filtro { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 8px; border: 1px solid #c4c7c5; background: #fff; color: #1f1f1f; font: 500 14px inherit; cursor: pointer; }
.cm2-filtro span { font-size: 12px; color: #444746; background: #f0f4f9; border-radius: 999px; padding: 2px 8px; }
.cm2-filtro:hover { background: #f3f6fc; }
.cm2-filtro[aria-pressed="true"] { background: #d3e3fd; border-color: #d3e3fd; color: #041e49; }
.cm2-filtro[aria-pressed="true"] span { background: #fff; }
.cm2-rcards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.cm2-rcard { display: flex; flex-direction: column; gap: 8px; min-height: 230px; padding: 24px; border-radius: 24px; background: #f0f4f9; color: #1f1f1f; text-decoration: none; transition: background .15s; }
.cm2-rcard:hover { background: #e9eef6; } .cm2-rcard[hidden] { display: none; }
.cm2-rcard-sig { align-self: flex-start; font-weight: 700; font-size: 13px; color: #0b57d0; background: #d3e3fd; border-radius: 8px; padding: 4px 10px; }
.cm2-rcard b { font-weight: 500; font-size: 19px; line-height: 1.3; }
.cm2-rcard-desc { color: #444746; font-size: 15px; line-height: 1.55; }
.cm2-rcard-reg { color: #5e5e5e; font-size: 13px; }
.cm2-rcard em { margin-top: auto; font-style: normal; font-weight: 500; font-size: 14px; color: #0b57d0; }
.cm2-vazio { text-align: center; color: #444746; padding: 40px 0; }
@media (max-width: 1100px) { .cm2-rcards { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 800px) { .cm2-rcards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .cm2-rcards { grid-template-columns: 1fr; } }

/* Acabamento e respiro (revisão geral) */
.cm2-modos { gap: 24px !important; }
.cm2-modo { padding: 32px !important; border-radius: 32px !important; }
.cm2-modo svg { max-width: 460px; margin: 0 auto 28px !important; display: block; }
.cm2-modo h3 { margin-bottom: 12px !important; }
.cm2-modo > p { margin-bottom: 20px !important; }
.cm2-lista { gap: 12px !important; }
.cm2-lista li { padding-left: 34px !important; }
.cm2-lista li::before { top: .2em !important; width: 22px !important; height: 22px !important; }
.cf-checks li { padding-left: 36px !important; }
.cf-checks li::before { top: .18em !important; }
.cm2-pn li, .ba-did-pn li { padding-left: 30px !important; }
.cm2-nota { margin-top: 40px !important; max-width: 820px !important; }
.cm2-sinais article, .cm2-quem article { padding: 32px !important; border-radius: 28px !important; }
.cm2-sinal-top { margin-bottom: 20px !important; }
.cm2-neg { margin-top: 18px !important; padding: 14px 16px !important; }
.cm2-erros { gap: 20px !important; } .cm2-erros article { padding: 28px !important; gap: 20px !important; border-radius: 28px !important; }
.cm2-tempo li { padding-bottom: 36px !important; }
.cm2-passos { gap: 16px !important; } .cm2-passos li { padding: 22px 24px 22px 72px !important; border-radius: 24px !important; }
.cm2-passos li::before { left: 22px !important; top: 22px !important; }
.cm2-code { padding: 28px !important; border-radius: 28px !important; }
.cm2-mock { padding: 28px !important; border-radius: 32px !important; }
.cm2-mock-linhas { gap: 10px !important; margin: 18px 0 !important; }
.cm2-caso-ab { gap: 24px !important; } .cm2-caso-ab > div { padding: 28px 32px !important; border-radius: 28px !important; }
.cf-head { margin-bottom: 48px !important; }
.cf-head p { margin-top: 12px !important; }
.cm2-split { gap: 72px !important; }
.cm2-split h2 { margin-bottom: 24px !important; }
.cm2-p { margin-bottom: 18px !important; }
.cf-faq { gap: 12px !important; } .cf-faq details { padding: 6px 28px !important; border-radius: 20px !important; }
.cf-faq summary { padding: 20px 32px 20px 0 !important; }
.cf-faq p { margin: 0 0 22px !important; }
.cf-final { padding: 56px 64px !important; border-radius: 32px !important; margin: 48px 0 96px !important; gap: 32px !important; }
.cm2-stats { gap: 16px !important; margin-top: 40px !important; } .cm2-stats div { padding: 28px 30px !important; border-radius: 28px !important; }
.cm2-hero-art svg, .cm2-flow svg { border-radius: 32px; }
.cm2-gcards, .cm2-rcards { gap: 20px !important; } .cm2-rcard { padding: 28px !important; border-radius: 28px !important; }
.cm-mega-in { padding-top: 72px !important; padding-bottom: 40px !important; gap: 64px !important; }
.cm-mega-cols { gap: 32px !important; } .cm-mega-col ul { gap: 12px !important; }
@media (max-width: 760px) {
  .cm2-modo, .cm2-sinais article, .cm2-quem article, .cm2-erros article { padding: 24px !important; }
  .cf-final { padding: 32px 24px !important; } .cm2-split { gap: 32px !important; }
}

/* ilustrações no estilo Google (traço preto, cores chapadas) */
.cm2-hero-art svg, .cm2-flow svg, .cm2-gcard-art svg { border-radius: 32px; }
.cm2-gcard-art { display: block; border-radius: 20px; overflow: hidden; }
.cm2-gcard-art svg { height: 190px !important; }
@media (prefers-reduced-motion: no-preference) {
  .cm2-carrinho { animation: cm2-carrinho 5s ease-in-out infinite; }
  .cm2-cursor { animation: cm2-cursor 1.1s steps(1, end) infinite; }
}
@keyframes cm2-carrinho { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(-10px); } }
@keyframes cm2-cursor { 0% { opacity: 1; } 50% { opacity: 0; } }
.cm2-hero h1, .cf-hero h1 { letter-spacing: -.012em !important; }

/* ---- Movimento calmo (03/11/2026): nada de loop. A ilustração entra uma vez quando aparece na tela
   (classe cm-vis posta pelo i18n-v1.js) e fica parada no estado final. ---- */
.cm2-flutua, .cm2-pulsa, .cm2-surge, .cm2-cresce, .cm2-traco, .cm2-sino, .cm2-balanca, .cm2-flecha, .cm2-lupa,
.cmg-flutua, .cmg-pino, .cmg-sw rect, .cmg-sw circle, .cmg-barra, .cmg-traco, .cmg-item, .cmg-dia, .cmg-sino, .cmg-pulso, .cmg-moeda, .cmg-seta { animation: none !important; }
@media (prefers-reduced-motion: no-preference) {
  svg.cm-anim { opacity: 0; transform: translateY(12px); transition: opacity .5s cubic-bezier(.05, .7, .1, 1), transform .6s cubic-bezier(.05, .7, .1, 1); }
  svg.cm-anim.cm-vis { opacity: 1; transform: none; }
  svg.cm-vis .cm2-cresce, svg.cm-vis .cmg-barra { animation: cm-cresce1 .7s .25s cubic-bezier(.05, .7, .1, 1) both !important; transform-box: fill-box; transform-origin: bottom; }
  svg.cm-vis .cm2-traco, svg.cm-vis .cmg-traco { stroke-dasharray: 600; animation: cm-traco1 1s .3s cubic-bezier(.2, 0, 0, 1) both !important; }
}
@keyframes cm-cresce1 { from { transform: scaleY(.2); } to { transform: none; } }
@keyframes cm-traco1 { from { stroke-dashoffset: 600; } to { stroke-dashoffset: 0; } }
/* código: quebra a linha em vez de cortar */
.cm2-code pre { white-space: pre-wrap; overflow-wrap: anywhere; }
/* vitrine de guias: 4 por linha (sem card sozinho na última linha), texto em até 3 linhas */
.cm2-gcards { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.cm2-gcard { background: transparent; padding: 0 0 8px; border-radius: 0; }
.cm2-gcard:hover { background: transparent; }
.cm2-gcard-art { display: block; border-radius: 24px; overflow: hidden; transition: transform .35s cubic-bezier(.05, .7, .1, 1); }
.cm2-gcard:hover .cm2-gcard-art { transform: translateY(-3px); }
.cm2-gcard:hover b { color: #0b57d0; }
.cm2-gcard span:not(.cm2-gcard-art) { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 1100px) { .cm2-gcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .cm2-gcards { grid-template-columns: 1fr; } }
.cm2-gcard-art svg { width: 100% !important; height: auto !important; display: block; }

/* ---- Regulamentos: checklist, certo e errado, links oficiais ---- */
.gx-check { list-style: none; margin: 0 auto; padding: 0; max-width: 880px; display: grid; gap: 28px; }
.gx-check li { display: grid; grid-template-columns: 40px 1fr; gap: 18px; align-items: start; }
.gx-n { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: #e8f0fe; color: #0b57d0; font: 500 16px "Google Sans Flex", Roboto, Arial, sans-serif; }
.gx-check h3 { margin: 6px 0 6px; font: 500 19px/1.35 "Google Sans Flex", Roboto, Arial, sans-serif; color: #1f1f1f; }
.cf .gx-check p { margin: 0; font-size: 16px; line-height: 1.6; color: #444746; }
.gx-ex { margin-top: 12px; padding: 12px 16px; border-radius: 16px; background: #f0f4f9; }
.cf-soft .gx-ex { background: #fff; }
.gx-ex span { display: block; font: 500 12.5px Roboto, Arial, sans-serif; color: #0b57d0; letter-spacing: .02em; margin-bottom: 2px; }
.cf .gx-ex p { color: #1f1f1f; font-size: 15px; }
.gx-cod { margin: 12px 0 0; padding: 14px 18px; border-radius: 16px; background: #1f1f1f; color: #e3e3e3; font: 13px/1.6 "Roboto Mono", ui-monospace, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.gx-ex-l { list-style: none; margin: 0 auto; padding: 0; max-width: 960px; display: grid; gap: 32px; }
.gx-ex-l li { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.gx-fig { margin: 0; display: flex; flex-direction: column; gap: 12px; }
.gx-art { display: grid; place-items: center; padding: 20px; border-radius: 24px; }
.gx-fig.is-no .gx-art { background: #fce8e6; } .gx-fig.is-ok .gx-art { background: #e6f4ea; }
.gx-art svg { width: auto; height: 260px; font-family: "Google Sans Flex", Roboto, Arial, sans-serif; }
.gx-fig figcaption { display: flex; flex-direction: column; gap: 4px; padding: 0 4px; }
.gx-fig b { display: inline-flex; align-items: center; gap: 8px; font: 500 15px Roboto, Arial, sans-serif; }
.gx-fig.is-no b { color: #b3261e; } .gx-fig.is-ok b { color: #146c2e; }
.gx-fig b i { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 12px; color: #fff; }
.gx-fig.is-no b i { background: #d93025; } .gx-fig.is-ok b i { background: #188038; }
.gx-fig figcaption span { font-size: 15px; line-height: 1.55; color: #1f1f1f; }
.gx-links { list-style: none; margin: 0 auto; padding: 0; max-width: 880px; display: grid; gap: 8px; }
.gx-links a { display: flex; align-items: center; gap: 16px; padding: 14px 18px; border-radius: 18px; background: #f8fafd; text-decoration: none; color: inherit; transition: background .2s cubic-bezier(.2, 0, 0, 1); }
.cf-soft .gx-links a { background: #fff; }
.gx-links a:hover { background: #e8f0fe; }
.gx-g { flex: none; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: #e8f0fe; color: #0b57d0; font-size: 17px; }
.gx-lt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.gx-lt b { font: 500 16px/1.35 "Google Sans Flex", Roboto, Arial, sans-serif; color: #0b57d0; }
.gx-lt em { font-style: normal; font-size: 14.5px; line-height: 1.5; color: #444746; }
.gx-lt small { font-size: 13px; color: #5e5e5e; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 720px) { .gx-ex-l li { grid-template-columns: 1fr 1fr; gap: 10px; } .gx-art { padding: 12px; } .gx-art svg { height: 180px; } .gx-check li { grid-template-columns: 32px 1fr; gap: 12px; } .gx-n { width: 32px; height: 32px; font-size: 14px; } }
.gx-links { grid-template-columns: minmax(0, 1fr); } .gx-links li, .gx-links a { min-width: 0; }
/* textos longos (alemão, russo…) quebram a linha em vez de vazar; botões também quebram no celular */
.cf h1, .cf h2, .cf h3, .cf p, .cf li, .cf dd, .cf figcaption { overflow-wrap: break-word; hyphens: auto; }
.cm2-stats { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); } .cm2-stats > div { min-width: 0; }
.cm2-split > *, .cm2-quem > *, .cm2-pn > *, .cm2-modos > * { min-width: 0; }
@media (max-width: 640px) {
  .cf .cm-btn, .cf .cm2-ctas .cm-btn { white-space: normal; max-width: 100%; height: auto; min-height: 44px; padding-top: 10px; padding-bottom: 10px; text-align: center; line-height: 1.3; }
  .cm2-stats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) { .cm2-stats { grid-template-columns: 1fr !important; } .cm2-stats b { overflow-wrap: anywhere; } }

/* Lista de CMPs (guias/lista-de-cmps.html) */
.cl-in { max-width: 1216px; margin: 0 auto; }
.cl-leg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 0 0 40px; }
.cl-leg div { min-width: 0; }
.cl-leg dt { font: 500 15px/1.4 Roboto, sans-serif; color: #1f1f1f; margin: 0 0 6px; }
.cl-leg dd { margin: 0; font-size: 14px; line-height: 1.55; color: #444746; }
.cl-filtros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.4fr) auto; gap: 12px; align-items: end; padding: 20px; border-radius: 24px; background: #f0f4f9; }
.cl-campo { display: grid; gap: 6px; min-width: 0; }
.cl-campo span { font: 500 13px/1.3 Roboto, sans-serif; color: #444746; }
.cl-campo select, .cl-campo input { width: 100%; min-width: 0; height: 44px; padding: 0 14px; border: 1px solid #c4c7c5; border-radius: 12px; background: #fff; color: #1f1f1f; font: 400 15px Roboto, sans-serif; box-sizing: border-box; }
.cl-campo select:focus, .cl-campo input:focus { outline: 2px solid #1a73e8; outline-offset: 0; border-color: #1a73e8; }
.cl-limpa { height: 44px; padding: 0 20px; border: 0; border-radius: 999px; background: #1a73e8; color: #fff; font: 500 14px Roboto, sans-serif; cursor: pointer; white-space: nowrap; transition: background .2s cubic-bezier(.2, 0, 0, 1); }
.cl-limpa:hover { background: #1765cc; }
.cl-conta { margin: 24px 0 12px; font: 500 14px Roboto, sans-serif; color: #444746; }
.cl-tab { border-radius: 24px; border: 1px solid #e3e3e3; overflow: hidden; background: #fff; }
.cl-tab table { width: 100%; border-collapse: collapse; font-size: 14px; }
.cl-tab thead th { position: sticky; top: 0; background: #f8fafd; text-align: left; font: 500 13px Roboto, sans-serif; color: #444746; padding: 14px 16px; border-bottom: 1px solid #e3e3e3; }
.cl-tab th button { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.cl-tab th button::after { content: '↕'; font-size: 11px; color: #9aa0a6; }
.cl-tab th button[aria-sort=ascending]::after { content: '↑'; color: #1a73e8; }
.cl-tab th button[aria-sort=descending]::after { content: '↓'; color: #1a73e8; }
.cl-tab tbody td { padding: 12px 16px; border-bottom: 1px solid #f1f3f4; vertical-align: middle; }
.cl-tab tbody tr:last-child td { border-bottom: 0; }
.cl-tab tbody tr:hover td { background: #f8fafd; }
.cl-tab td.cl-id { width: 56px; color: #5f6368; font-variant-numeric: tabular-nums; }
.cl-tab td.cl-nome { font-weight: 500; color: #1f1f1f; }
.cl-tab td.cl-site a { color: #0b57d0; text-decoration: none; overflow-wrap: anywhere; }
.cl-tab td.cl-site a:hover { text-decoration: underline; }
.cl-sim { color: #188038; font-weight: 500; }
.cl-nao { color: #5f6368; }
.cl-ambs { display: flex; flex-wrap: wrap; gap: 6px; }
td.cl-ambs { display: table-cell; }
.cl-amb { display: inline-block; margin: 2px 6px 2px 0; padding: 3px 10px; border-radius: 999px; background: #f0f4f9; color: #444746; font-size: 12px; white-space: nowrap; }
.cl-cert { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px 3px 6px; border-radius: 999px; background: #e6f4ea; color: #137333; font-size: 12px; font-weight: 500; white-space: nowrap; }
.cl-cert svg { width: 14px; height: 14px; fill: currentColor; }
.cl-vazio { margin: 0; padding: 40px 16px; text-align: center; color: #5f6368; }
.cl-nota { margin: 16px 0 0; font-size: 13px; color: #5f6368; }
@media (max-width: 960px) {
  .cl-filtros { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cl-campo.is-busca { grid-column: 1 / 3; }
  .cl-leg { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
@media (max-width: 760px) {
  .cl-filtros { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 16px; }
  .cl-campo.is-busca { grid-column: 1 / -1; }
  .cl-limpa { grid-column: 1 / -1; }
  .cl-tab { border-radius: 20px; }
  .cl-tab table, .cl-tab tbody, .cl-tab tr, .cl-tab td { display: block; }
  .cl-tab thead { display: none; }
  .cl-tab tbody tr { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; row-gap: 4px; padding: 14px 16px; border-bottom: 1px solid #f1f3f4; }
  .cl-tab tbody tr[hidden] { display: none; }
  .cl-tab tbody td { padding: 0; border: 0; min-width: 0; }
  .cl-tab tbody tr:hover td { background: none; }
  .cl-tab td.cl-id { width: auto; grid-row: 1; }
  .cl-tab td.cl-nome { grid-row: 1; grid-column: 2; }
  .cl-tab td.cl-site, .cl-tab td.cl-com, .cl-tab td.cl-ambs, .cl-tab td.cl-g { grid-column: 2; }
  .cl-tab td.cl-com { font-size: 13px; }
  .cl-tab td.cl-g:empty { display: none; }
}
@media (max-width: 420px) { .cl-filtros { grid-template-columns: minmax(0, 1fr); } }
.cl-rot { display: none; }
.cl-pag { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 24px 0 0; }
.cl-pag[hidden] { display: none; }
.cl-pb { display: inline-flex; align-items: center; gap: 4px; height: 40px; padding: 0 14px; border: 0; border-radius: 999px; background: none; color: #0b57d0; font: 500 14px Roboto, sans-serif; cursor: pointer; transition: background .2s cubic-bezier(.2, 0, 0, 1); }
.cl-pb svg { width: 20px; height: 20px; fill: currentColor; }
.cl-pb:hover:not(:disabled) { background: #f0f4f9; }
.cl-pb:disabled { color: #9aa0a6; cursor: default; }
.cl-nums { display: inline-flex; align-items: center; gap: 4px; }
.cl-num { min-width: 40px; height: 40px; padding: 0 6px; border: 0; border-radius: 999px; background: none; color: #1f1f1f; font: 500 14px Roboto, sans-serif; cursor: pointer; transition: background .2s cubic-bezier(.2, 0, 0, 1), color .2s; }
.cl-num:hover { background: #f0f4f9; }
.cl-num[aria-current="page"] { background: #0b57d0; color: #fff; }
.cl-reti { min-width: 24px; text-align: center; color: #5f6368; }
@media (max-width: 520px) { .cl-pb span { display: none; } .cl-pb { padding: 0 8px; } .cl-num { min-width: 36px; height: 36px; } }
@media (max-width: 760px) {
  .cl-tab tbody tr { grid-template-columns: 2.6em minmax(0, 1fr); }
  .cl-rot { display: inline; color: #5f6368; }
  .cl-rot::after { content: ':'; }
}

/* ===== Listas sem ícone repetido (03/11, pedido do dono): como o Google faz "Do / Don't" ===== */
/* Pode / Não pode: um selo por coluna, itens em texto simples separados por linhas finas */
.cm2-pn, .ba-did-pn { gap: 24px 56px !important; align-items: start; }
.cm2-pn .ba-did-ok, .cm2-pn .ba-did-no, .ba-did-pn .ba-did-ok, .ba-did-pn .ba-did-no { background: none !important; padding: 0 !important; border-radius: 0 !important; min-width: 0; }
.cm2-pn h3, .ba-did-pn h3 { display: inline-flex !important; align-items: center; gap: 6px !important; min-height: 36px; padding: 0 16px 0 8px; margin: 0 0 6px !important; border-radius: 999px; font: 500 16px/1.2 Roboto, Arial, sans-serif !important; }
.cm2-pn .ba-did-ok h3, .ba-did-pn .ba-did-ok h3 { background: #e6f4ea; color: #0d652d !important; }
.cm2-pn .ba-did-no h3, .ba-did-pn .ba-did-no h3 { background: #fce8e6; color: #a50e0e !important; }
.cm2-pn .ba-did-ic, .ba-did-pn h3 .ba-did-ic { width: 24px !important; height: 24px !important; background: none !important; font: 700 15px/1 Roboto, sans-serif !important; color: inherit !important; }
.cm2-pn ul, .ba-did-pn ul { gap: 0 !important; }
.cm2-pn li, .ba-did-pn li { padding: 16px 0 !important; border-top: 1px solid #e3e3e3; }
.cm2-pn li:first-child, .ba-did-pn li:first-child { border-top: 0; }
.cm2-pn li::before, .ba-did-ok li::before, .ba-did-no li::before { content: none !important; display: none !important; }
.ba-did-pn .ba-did-fig { border-radius: 24px !important; margin: 10px 0 8px !important; }
.ba-did-pn .ba-did-ok .ba-did-fig { background: #e6f4ea; } .ba-did-pn .ba-did-no .ba-did-fig { background: #fce8e6; }
.ba-did-pn .ba-did-fig figcaption { background: #fff !important; }
@media (max-width: 760px) { .cm2-pn, .ba-did-pn { gap: 32px !important; } }

/* "O que a auditoria confere" e a lista da densidade: texto com linhas finas, sem o ✓ em cada linha */
.cf-checks, .ba-check { gap: 0 !important; }
.cf-checks li, .ba-check li { padding: 14px 0 !important; border-top: 1px solid #e3e3e3; }
.cf-checks li:first-child, .ba-check li:first-child { border-top: 0; padding-top: 4px !important; }
.cf-checks li::before, .ba-check li::before { content: none !important; display: none !important; }

/* Dicas dos formatos: numeradas, sem a lâmpada repetida e sem caixa em volta */
ul.fm-dicas { counter-reset: dica; gap: 0 40px !important; }
ul.fm-dicas li { counter-increment: dica; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 16px; align-items: start; padding: 18px 0 !important; background: none !important; border: 0 !important; border-top: 1px solid #e3e3e3 !important; border-radius: 0 !important; }
ul.fm-dicas li::before { content: counter(dica) !important; position: static !important; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #e8f0fe; color: #0b57d0; font: 500 14px/1 Roboto, sans-serif !important; }

/* Erros comuns: o número de cada erro no lugar do mesmo ✕ repetido */
.cm2-erros { counter-reset: erro; }
.cm2-erros article { counter-increment: erro; }
.cm2-erros .cm2-x { position: relative; font-size: 0 !important; color: transparent !important; }
.cm2-erros .cm2-x::before { content: counter(erro); position: absolute; inset: 0; display: grid; place-items: center; color: #8c1d18; font: 500 15px/1 Roboto, sans-serif; }
/* Verificar selo, celular: busca no formato Google (ícone, campo e botão na mesma linha, com respiro) */
@media (max-width: 600px) {
  body .verify-search .input-action { display: flex !important; align-items: center; gap: 8px; padding: 4px 4px 4px 16px !important; border: 1px solid #c4c7c5 !important; border-radius: 28px !important; background: #fff !important; min-height: 52px; box-sizing: border-box; }
  body .verify-search .input-action > span { flex: none; width: 20px; height: 20px; font-size: 0 !important; position: static !important; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%235f6368' d='M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") center / 20px no-repeat; }
  body .verify-search .input-action input { flex: 1 1 auto; min-width: 0; height: 44px !important; border: 0 !important; outline: 0; background: transparent !important; padding: 0 !important; font-size: 16px !important; box-shadow: none !important; position: static !important; }
  body .verify-search .input-action button { flex: none; position: static !important; height: 44px !important; padding: 0 20px !important; border-radius: 22px !important; margin: 0 !important; }
  body .search-note { margin-top: 16px !important; }
}
body .verify-search .input-action > span { font-size: 0 !important; color: transparent; display: inline-block; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%235f6368' d='M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") center / 20px no-repeat; }
@media (min-width: 601px) { body .verify-search .input-action > span { left: 16px !important; margin-left: 4px; } }

/* Menu superior com "Parceiros MCM" (04/11): mais espaço lateral para o menu caber inteiro em todos os idiomas */
@media (min-width: 1000px) {
  header.cm-pub { padding-left: max(24px, calc((100vw - 1360px) / 2)) !important; padding-right: max(24px, calc((100vw - 1360px) / 2)) !important; gap: 24px !important; }
  header.cm-pub nav a { padding-left: 10px !important; padding-right: 10px !important; }
}
@media (min-width: 1000px) { html[lang="ru"] header.cm-pub nav a { padding-left: 8px !important; padding-right: 8px !important; } }
/* Passos (ex.: vídeo pre-roll): nunca mais largos que a tela no celular */
.cm2-passos > li { min-width: 0; }
.cm2-passos > li span, .cm2-passos > li b { overflow-wrap: anywhere; }
@media (max-width: 700px) { .cm2-passos { grid-template-columns: minmax(0, 1fr) !important; } }

/* ===== Celular (04/11): em todo o site, a imagem vem logo abaixo do título ===== */
@media (max-width: 900px) {
  .cf-hero, .cm2-hero, .cm2-split, .cmq-in, .cmct-hero, .cf-split {
    display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 0 !important;
  }
  .cf-hero > .cf-hero-txt, .cm2-hero > .cm2-hero-txt, .cm2-split > div, .cmq-in > .cmq-txt, .cmct-hero > .cmct-hero-txt, .cf-split > .cf-head {
    display: contents !important;
  }
  /* 1º: selo/linha de apoio e título · 2º: imagem · 3º: o resto do texto, botões e listas */
  :is(.cf-hero-txt, .cm2-hero-txt, .cm2-split > div, .cmq-txt, .cmct-hero-txt, .cf-split > .cf-head) > * { order: 3; }
  :is(.cf-hero-txt, .cm2-hero-txt, .cm2-split > div, .cmq-txt, .cmct-hero-txt, .cf-split > .cf-head) > :is(.cf-kicker, .cm2-chip, .cf-eyebrow, .cmct-eyebrow, .fm-oficial, h1, h2) { order: 1; }
  :is(.cf-hero-txt, .cm2-hero-txt, .cmct-hero-txt) > :is(.cf-kicker, .cm2-chip, .cmct-eyebrow) { align-self: flex-start; }
  .cf-hero > .cf-hero-art, .cm2-hero > figure, .cm2-split > figure, .cmq-in > .cmq-art, .cmct-hero > .cmct-art, .cf-split > :not(.cf-head) {
    order: 2 !important; margin: 4px 0 24px !important; width: 100% !important; max-width: 100% !important;
  }
  /* imagens do tamanho certo, sem sobra de espaço */
  .cm2-hero > figure svg, .cm2-split > figure.cm2-flow svg { display: block; width: 100%; height: auto; max-height: 300px; }
  .cmq-in > .cmq-art .cmq-svg { max-width: 340px; margin: 0 auto; display: block; }
  .cmct-hero > .cmct-art .cmct-svg { max-width: 300px; }
  .cmq-pilares { margin-top: 16px !important; }
  .cm2-hero-txt > .fm-meta { margin-bottom: 20px !important; }
  /* leitura no celular: sem hifenização no meio das palavras (como nas páginas do Google) */
  main :is(p, li, h1, h2, h3, summary, span, b) { -webkit-hyphens: manual !important; hyphens: manual !important; overflow-wrap: break-word; }
  /* ritmo: menos espaço vazio entre as seções */
  main > section.cm2-sec, main > section.cf-sec { padding-top: 48px !important; padding-bottom: 48px !important; }
  /* títulos de seção alinhados à esquerda, como o resto do texto */
  .cf-head { text-align: left !important; margin-left: 0 !important; margin-right: 0 !important; }
  .cf-head > p { margin-left: 0 !important; margin-right: 0 !important; }
  /* números em 2 colunas, compactos */
  .cm2-stats { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  .cm2-stats > div { padding: 16px !important; margin: 0 !important; }
  .cm2-stats b { font-size: 32px !important; }
  /* listas com ícone no estilo Google: ícone à esquerda, título e texto à direita, linhas finas */
  .cfq, .eqx, .cmq-pilares, .cm2-quem { display: block !important; margin-top: 8px !important; }
  :is(.cfq, .eqx, .cmq-pilares) > li, .cm2-quem > article {
    display: grid !important; grid-template-columns: 40px minmax(0, 1fr) !important; column-gap: 16px !important; row-gap: 2px !important;
    align-items: start !important; padding: 16px 0 !important; margin: 0 !important; border: 0 !important; border-top: 1px solid #e3e3e3 !important;
    background: none !important; box-shadow: none !important; border-radius: 0 !important; min-height: 0 !important; text-align: left !important;
  }
  :is(.cfq, .eqx, .cmq-pilares) > li:first-child, .cm2-quem > article:first-child { border-top: 0 !important; }
  :is(.cfq-ic, .eqx-ic, .cmq-ic, .cm2-quem-ic) { grid-row: 1 / span 2; width: 40px !important; height: 40px !important; margin: 0 !important; display: grid !important; place-items: center !important; }
  :is(.cfq-ic, .eqx-ic, .cmq-ic, .cm2-quem-ic) svg { width: 20px !important; height: 20px !important; }
  :is(.cfq, .eqx, .cmq-pilares) > li > b, .cm2-quem > article > h3 { grid-column: 2; margin: 0 !important; font-size: 16px !important; line-height: 1.4 !important; font-weight: 500 !important; }
  :is(.cfq, .eqx, .cmq-pilares) > li > p, .cm2-quem > article > p { grid-column: 2; margin: 0 !important; font-size: 14px !important; line-height: 1.55 !important; color: #444746 !important; }
}

/* Rodapé no celular: grupos que abrem e fecham, uma coluna, linhas finas (como no Google) */
@media (max-width: 700px) {
  .cm-mega-cols { display: block !important; margin-top: 24px !important; }
  .cm-mega-col { padding: 0 !important; margin: 0 !important; border-top: 1px solid #e3e3e3; }
  .cm-mega-col:last-child { border-bottom: 1px solid #e3e3e3; }
  .cm-mega-col h2 { display: flex !important; align-items: center; justify-content: space-between; min-height: 56px; margin: 0 !important; cursor: pointer; font-size: 16px !important; font-weight: 500 !important; color: #1f1f1f !important; -webkit-tap-highlight-color: transparent; }
  .cm-mega-col h2::after { content: ""; width: 8px; height: 8px; margin: 0 6px 4px 0; border-right: 2px solid #444746; border-bottom: 2px solid #444746; transform: rotate(45deg); transition: transform .2s; }
  .cm-mega-col.is-aberto h2::after { transform: rotate(-135deg); margin-bottom: -4px; }
  .cm-mega-col ul { display: none !important; margin: 0 !important; padding: 0 0 12px !important; columns: auto !important; }
  .cm-mega-col.is-aberto ul { display: block !important; }
  .cm-mega-col li { margin: 0 !important; }
  .cm-mega-col li a { display: block; padding: 10px 0; font-size: 15px; }
}
