/* =========================================================================
   Colchominas — desenho "É de Minas" (DESIGN.md em sites/colchominas)
   Tokens do theme.json → --cm-*. Nenhuma cor solta fora deste bloco.
   ========================================================================= */
:root {
	--cm-azul: var(--wp--preset--color--primaria, #1D4E9E);
	--cm-azul-escuro: var(--wp--preset--color--primaria-escura, #143B7C);
	--cm-noite: var(--wp--preset--color--secundaria, #0B1A30);
	--cm-ceu: var(--wp--preset--color--acento, #2AA8E8);
	--cm-serra: var(--wp--preset--color--serra, #0B6FA6);
	--cm-petroleo: var(--wp--preset--color--petroleo, #1B4F5C);
	--cm-telha: var(--wp--preset--color--telha, #B4552F);
	--cm-telha-escura: #9C4526;
	--cm-tinta: var(--wp--preset--color--escuro, #0F1B2D);
	--cm-cinza: var(--wp--preset--color--cinza, #55657A);
	--cm-cinza-claro: #8C9AAD;
	--cm-nevoa: var(--wp--preset--color--nevoa, #E6ECF0);
	--cm-cal: var(--wp--preset--color--claro, #F5F7F8);
	--cm-branco: #FFFFFF;
	--cm-titulos: var(--wp--preset--font-family--titulos);
	--cm-texto: var(--wp--preset--font-family--texto);
	--cm-fio: color-mix(in srgb, var(--cm-tinta) 12%, transparent);
	--cm-fio-claro: color-mix(in srgb, var(--cm-branco) 16%, transparent);
	--cm-margem: clamp(20px, 5vw, 64px);
	--cm-largo: 1240px;
	--cm-secao: clamp(64px, 9vw, 120px);
	--cm-saida: cubic-bezier(.22, 1, .36, 1);
	--cm-suave: cubic-bezier(.4, 0, .2, 1);
	--cm-topo-h: 76px;
	--cm-raio: 14px;
}

/* ---------- Base ---------- */
html:has(body.colchominas) { overflow-x: clip; }
body.colchominas { background: var(--cm-cal); color: var(--cm-tinta); font-family: var(--cm-texto); font-size: 1.0625rem; line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
.colchominas :where(h1, h2, h3, h4) { font-family: var(--cm-titulos); font-weight: 700; color: inherit; letter-spacing: -.02em; line-height: 1; text-wrap: balance; }
.colchominas :where(h2) { font-size: clamp(2rem, 4.4vw, 3.75rem); margin: 0 0 .45em; }
.colchominas :where(h3) { font-size: 1.5rem; line-height: 1.1; }
.colchominas :where(h1, h2) em { font-style: normal; color: var(--cm-azul); }
.colchominas p { text-wrap: pretty; }
.colchominas a { color: var(--cm-serra); }
.colchominas ::selection { background: var(--cm-ceu); color: var(--cm-noite); }
.colchominas :focus-visible { outline: 3px solid var(--cm-ceu); outline-offset: 3px; border-radius: 4px; }
.cm-main { padding: 0; }
.vl-conteudo-largo { padding: 0; }
.vl-conteudo-largo > .alignfull { margin-top: 0; margin-bottom: 0; }

.cm-largura { width: min(100% - 2 * var(--cm-margem), var(--cm-largo)); margin-inline: auto; }
.cm-secao { padding-block: var(--cm-secao); position: relative; }
.cm-secao--sem-topo { padding-top: 0; }
.cm-kicker, .cm-rotulo { font-family: var(--cm-texto); font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cm-telha-escura); margin: 0 0 1.1em; display: flex; align-items: center; gap: .6em; }
.cm-kicker::before { content: ""; width: 22px; height: 1.5px; background: currentColor; flex: none; }
.cm-kicker a { color: inherit; text-decoration: none; }
.cm-intro, .cm-lead { font-size: clamp(1.0625rem, 1.4vw, 1.25rem); color: var(--cm-cinza); max-width: 34em; }
.cm-num { font-family: var(--cm-titulos); font-variant-numeric: tabular-nums; }

/* ---------- Botões ---------- */
.colchominas .wp-block-button__link, .cm-btn { --b: var(--cm-azul); position: relative; isolation: isolate; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: .55em; min-height: 52px; padding: 14px 26px; border-radius: 999px; border: 1.5px solid var(--b); background: var(--b); color: var(--cm-branco) !important; font-family: var(--cm-texto); font-weight: 600; font-size: 1rem; line-height: 1.1; letter-spacing: .005em; text-decoration: none !important; cursor: pointer; transition: background .25s var(--cm-suave), border-color .25s, color .25s, transform .35s var(--cm-saida); box-shadow: 0 1px 0 color-mix(in srgb, var(--cm-branco) 26%, transparent) inset; }
.colchominas .wp-block-button__link:hover, .cm-btn:hover { --b: var(--cm-azul-escuro); }
.colchominas .is-style-outline .wp-block-button__link, .cm-btn-linha { background: transparent; color: var(--cm-azul) !important; border-color: color-mix(in srgb, var(--cm-azul) 45%, transparent); box-shadow: none; }
.colchominas .is-style-outline .wp-block-button__link:hover, .cm-btn-linha:hover { background: var(--cm-azul); color: var(--cm-branco) !important; border-color: var(--cm-azul); }
.cm-btn-claro { --b: var(--cm-branco); color: var(--cm-noite) !important; }
.cm-btn-claro:hover { --b: var(--cm-ceu); }
.cm-botao-claro .wp-block-button__link, .colchominas .cm-botao-claro .wp-block-button__link { color: var(--cm-branco) !important; border-color: var(--cm-fio-claro); }
.colchominas .cm-botao-claro .wp-block-button__link:hover { background: var(--cm-branco); color: var(--cm-noite) !important; }
/* Brilho que atravessa o botão principal (21st.dev "shine button", reescrito em CSS). */
.cm-botao-brilho .wp-block-button__link::after, .cm-btn-brilho::after, .cm-btn::after { content: ""; position: absolute; inset: -2px auto -2px -60%; width: 45%; z-index: -1; background: linear-gradient(100deg, transparent, color-mix(in srgb, var(--cm-branco) 38%, transparent), transparent); transform: skewX(-18deg); transition: left .8s var(--cm-saida); pointer-events: none; }
.cm-botao-brilho .wp-block-button__link:hover::after, .cm-btn-brilho:hover::after, .cm-btn:hover::after { left: 120%; }
.cm-btn-linha::after, .is-style-outline .wp-block-button__link::after { display: none; }
.cm-btn .cm-ico, .wp-block-button__link .cm-ico { transition: transform .35s var(--cm-saida); }
.cm-btn:hover .cm-ico { transform: translateX(3px); }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.6em; }
.cm-link-seta { display: inline-flex; align-items: center; gap: .5em; font-weight: 600; color: var(--cm-azul); text-decoration: none; border-bottom: 1.5px solid color-mix(in srgb, currentColor 30%, transparent); padding-bottom: 3px; transition: border-color .25s, gap .35s var(--cm-saida); }
.cm-link-seta:hover { border-color: currentColor; gap: .8em; text-decoration: none; }
.cm-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: 1.6em 0 0; }

/* ---------- Topo ---------- */
.cm-topo { position: sticky; top: 0; z-index: 60; height: var(--cm-topo-h); transition: transform .45s var(--cm-saida), background .3s, box-shadow .3s; }
.cm-tem-capa .cm-topo { position: fixed; inset: 0 0 auto; }
.cm-topo.is-fundo, body:not(.cm-tem-capa) .cm-topo { background: color-mix(in srgb, var(--cm-cal) 86%, transparent); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); box-shadow: 0 1px 0 var(--cm-fio); }
.cm-topo.is-escondido { transform: translateY(-100%); }
.cm-topo-in { height: 100%; width: min(100% - 2 * var(--cm-margem), 1440px); margin-inline: auto; display: flex; align-items: center; gap: 28px; }
.cm-logo { display: block; flex: none; }
.cm-logo-img { width: 132px; height: auto; }
.cm-nav { display: flex; align-items: center; flex: 1; justify-content: flex-end; }
.cm-menu { display: flex; gap: clamp(14px, 2.4vw, 34px); list-style: none; margin: 0; padding: 0; }
.cm-menu a { position: relative; color: var(--cm-tinta); font-size: .8125rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; padding: 8px 0; }
.cm-menu a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 1.5px; background: var(--cm-telha); transform: scaleX(0); transform-origin: right; transition: transform .45s var(--cm-saida); }
.cm-menu a:hover::after, .cm-menu .current-menu-item > a::after, .cm-menu .current-menu-ancestor > a::after { transform: scaleX(1); transform-origin: left; }
.cm-nav-extra { display: none; }
.cm-topo-acoes { display: flex; align-items: center; gap: 6px; }
.cm-topo-acoes { margin-left: auto; }
.colchominas .cm-topo-cta { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border-radius: 999px; background: var(--cm-azul); color: var(--cm-branco); font-size: .8125rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; white-space: nowrap; transition: background .25s; }
.colchominas .cm-topo-cta:hover { background: var(--cm-azul-escuro); text-decoration: none; }
.cm-so-estreito { display: none; }
.cm-burger { display: none; width: 44px; height: 44px; padding: 9px; }

/* ---------- Capa: o mascote acompanha o ponteiro ---------- */
.cm-capa { position: relative; min-height: 100svh; background: var(--cm-nevoa); overflow: hidden; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; padding: calc(var(--cm-topo-h) + 24px) var(--cm-margem) clamp(32px, 5vw, 64px); }
.cm-mascote { position: absolute; inset: calc(var(--cm-topo-h) * .55) -3% 0 17%; z-index: -1; transform: translate3d(0, calc(var(--s, 0) * 60px), 0) scale(calc(1 - var(--s, 0) * .05)); transform-origin: 50% 100%; }
.cm-mascote-poster img, .cm-mascote-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: 50% 100%; max-width: none; -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent); mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent); }
.cm-mascote-video { opacity: 0; transition: opacity .6s var(--cm-suave); }
.cm-mascote.is-pronto .cm-mascote-video { opacity: 1; }
.cm-capa-texto { position: relative; max-width: min(560px, 36vw); align-self: end; transform: translate3d(0, calc(var(--s, 0) * -90px), 0); }
.cm-capa-titulo { font-size: clamp(2.6rem, min(6vw, 10.5vh), 6.25rem); font-weight: 800; letter-spacing: -.035em; line-height: .92; margin: 0 0 .32em; color: var(--cm-tinta); }
.cm-capa-titulo em { display: block; color: var(--cm-azul); }
.cm-capa-lead { font-size: clamp(1rem, 1.25vw, 1.1875rem); color: var(--cm-cinza); max-width: 25em; margin: 0; }
.cm-capa-botoes { margin-top: 1.5em; }
.cm-capa-lado { justify-self: end; align-self: end; text-align: right; transform: translate3d(0, calc(var(--s, 0) * -40px), 0); }
.cm-capa-lado .cm-rotulo { justify-content: flex-end; }
.cm-capa-num { font-size: .9375rem; color: var(--cm-cinza); margin: 0; max-width: 13em; margin-left: auto; line-height: 1.35; }
.cm-capa-num strong { display: block; font-family: var(--cm-titulos); font-size: clamp(4rem, 9vw, 8.5rem); font-weight: 800; line-height: .85; letter-spacing: -.05em; color: var(--cm-tinta); }
.cm-capa-coord { margin: .9em 0 0; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cm-cinza); font-variant-numeric: tabular-nums; }
.cm-capa-dica { position: absolute; right: var(--cm-margem); top: calc(var(--cm-topo-h) + 22px); margin: 0; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cm-cinza); display: flex; align-items: center; gap: 10px; transition: opacity .6s; }
.cm-capa-dica::before, .cm-capa-dica::after { content: ""; width: 18px; height: 1px; background: currentColor; }
.cm-capa.is-mexeu .cm-capa-dica { opacity: 0; }
@media (pointer: coarse) { .cm-capa-dica { display: none; } }

/* ---------- Serra: momento 1 de rolagem ---------- */
.cm-serra-sec { position: relative; height: 170vh; background: var(--cm-nevoa); }
.cm-serra-palco { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; isolation: isolate; display: grid; place-items: start center; }
.cm-serra-palco::before { content: ""; position: absolute; inset: 0; z-index: -3; background: radial-gradient(120% 80% at 50% 110%, color-mix(in srgb, var(--cm-azul) 70%, var(--cm-noite)) 0%, var(--cm-noite) 60%); opacity: clamp(0, calc((var(--p, 0) - .04) * 3.4), 1); }
.cm-ceu { position: absolute; inset: 0; z-index: -2; opacity: clamp(0, calc((var(--p, 0) - .22) * 3), 1); }
.cm-estrela { position: absolute; left: var(--x); top: var(--y); width: calc(2px + var(--e) * 3px); height: calc(2px + var(--e) * 3px); border-radius: 50%; background: var(--cm-branco); box-shadow: 0 0 calc(var(--e) * 10px) var(--cm-ceu); opacity: var(--e); animation: cm-cintila 3.6s ease-in-out var(--d) infinite; }
@keyframes cm-cintila { 50% { opacity: calc(var(--e) * .35); transform: scale(.8); } }
.cm-serra { position: absolute; inset: auto 0 0; height: 44%; pointer-events: none; }
.cm-serra-c { position: absolute; left: -2%; width: 104%; max-width: none; bottom: 0; height: 100%; }
.cm-serra-sec .cm-serra-c { transform: translate3d(0, calc((1 - var(--p, 0)) * var(--dy)), 0); }
.cm-serra-1 { --dy: 55%; fill: color-mix(in srgb, var(--cm-serra) 42%, var(--cm-noite)); }
.cm-serra-2 { --dy: 75%; fill: color-mix(in srgb, var(--cm-azul) 78%, var(--cm-noite)); height: 82%; }
.cm-serra-3 { --dy: 95%; fill: color-mix(in srgb, var(--cm-azul-escuro) 70%, var(--cm-noite)); height: 64%; }
.cm-serra-4 { --dy: 120%; fill: var(--cm-noite); height: 46%; }
.cm-serra-igreja { fill: color-mix(in srgb, var(--cm-azul-escuro) 70%, var(--cm-noite)); }
.cm-serra--claro .cm-serra-c { transform: none; }
.cm-serra--claro .cm-serra-1 { fill: color-mix(in srgb, var(--cm-serra) 14%, var(--cm-nevoa)); }
.cm-serra--claro .cm-serra-2 { fill: color-mix(in srgb, var(--cm-serra) 22%, var(--cm-nevoa)); }
.cm-serra--claro .cm-serra-3 { fill: color-mix(in srgb, var(--cm-serra) 32%, var(--cm-nevoa)); }
.cm-serra--claro .cm-serra-4 { fill: var(--cm-cal); }
.cm-serra--claro .cm-serra-igreja { fill: color-mix(in srgb, var(--cm-serra) 32%, var(--cm-nevoa)); }
.cm-serra-texto { position: relative; width: min(100% - 2 * var(--cm-margem), 980px); text-align: center; transform: translate3d(0, calc((.5 - var(--p, 0)) * 80px), 0); margin-top: clamp(110px, 19vh, 220px); }
.cm-serra-texto .cm-kicker { justify-content: center; color: color-mix(in srgb, var(--cm-telha-escura) clamp(0%, calc((1 - var(--p, 0) * 2.2) * 100%), 100%), var(--cm-ceu)); }
.cm-serra-texto .cm-kicker::before { display: none; }
.cm-serra-titulo { font-size: clamp(3.4rem, 11vw, 10.5rem) !important; font-weight: 800; letter-spacing: -.045em; line-height: .88; margin: 0 0 .28em; color: color-mix(in srgb, var(--cm-tinta) clamp(0%, calc((1 - var(--p, 0) * 3.4) * 100%), 100%), var(--cm-branco)); }
.cm-serra-frase { font-family: var(--cm-titulos); font-size: clamp(1.25rem, 2.4vw, 2.1rem); font-weight: 500; line-height: 1.22; letter-spacing: -.01em; margin: 0 auto; max-width: 30em; color: var(--cm-branco); }
.cm-serra-frase .cm-p { opacity: .16; transition: opacity .5s var(--cm-suave); }
.cm-serra-frase .cm-p.is-acesa { opacity: 1; }
html:not(.cm-anima) .cm-serra-frase .cm-p { opacity: 1; }

/* ---------- Linha Minas: momento 2 de rolagem ---------- */
.cm-linha-sec { overflow-x: clip; position: relative; background: var(--cm-noite); color: var(--cm-branco); padding-top: clamp(40px, 6vw, 80px); }
.cm-linha-sec .cm-kicker { color: var(--cm-ceu); }
.cm-linha-sec h2 em { color: var(--cm-ceu); }
.cm-linha-intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 12px 64px; align-items: end; }
.cm-linha-intro .cm-kicker { grid-column: 1 / -1; }
.cm-linha-intro h2 { margin: 0; }
.cm-linha-lead { color: var(--cm-cinza-claro); margin: 0; font-size: 1.0625rem; }
.cm-linha { position: relative; height: calc(var(--n, 6) * 62vh + 100vh); margin-top: clamp(24px, 4vw, 48px); }
.cm-linha-palco { position: sticky; top: 0; height: 100vh; height: 100svh; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: 0 clamp(24px, 4vw, 64px); width: min(100% - 2 * var(--cm-margem), 1360px); margin-inline: auto; padding-top: var(--cm-topo-h); }
.cm-linha-mapa { position: relative; }
.cm-mg { width: 100%; height: auto; overflow: visible; }
.cm-mg-contorno { fill: color-mix(in srgb, var(--cm-azul) 26%, transparent); stroke: color-mix(in srgb, var(--cm-ceu) 85%, transparent); stroke-width: 2; stroke-linejoin: round; transition: fill .6s var(--cm-suave); }
.cm-linha[data-estado="1"] .cm-mg-contorno { fill: color-mix(in srgb, var(--cm-ceu) 26%, transparent); }
.cm-mg-rota { fill: none; stroke: var(--cm-telha); stroke-width: 2.5; stroke-dasharray: 1; stroke-dashoffset: 1; stroke-linecap: round; transition: stroke-dashoffset 1s var(--cm-saida); }
.cm-mg-rota.is-desenhada { stroke-dashoffset: 0; }
.cm-mg-rota.is-fixa { stroke-dasharray: 6 8; stroke-dashoffset: 0; }
.cm-mg-pino .cm-mg-ponto { fill: color-mix(in srgb, var(--cm-ceu) 40%, var(--cm-noite)); transition: fill .4s, r .4s; }
.cm-mg-pino .cm-mg-onda { fill: none; stroke: var(--cm-ceu); stroke-width: 2; opacity: 0; transform-box: fill-box; transform-origin: center; }
.cm-mg-pino .cm-mg-nome { fill: var(--cm-cinza-claro); font-family: var(--cm-texto); font-size: 32px; font-weight: 600; opacity: 0; transition: opacity .4s; }
.cm-mg-pino.is-ativo .cm-mg-ponto { fill: var(--cm-ceu); }
.cm-mg-pino.is-ativo .cm-mg-nome { opacity: 1; fill: var(--cm-branco); }
.cm-mg-pino.is-ativo .cm-mg-onda { animation: cm-onda 1.8s var(--cm-suave) infinite; }
@keyframes cm-onda { from { opacity: .9; transform: scale(.6); } to { opacity: 0; transform: scale(2.6); } }
.cm-mg-fabrica rect { fill: var(--cm-telha); }
.cm-mg-fabrica text { fill: var(--cm-branco); font-family: var(--cm-texto); font-size: 30px; font-weight: 600; }
.cm-linha-itens { position: relative; height: min(78vh, 720px); }
.cm-linha-item { position: absolute; inset: 0; container-type: inline-size; display: grid; grid-template-rows: minmax(0, 1fr) auto; opacity: 0; visibility: hidden; transition: opacity .55s var(--cm-suave), visibility 0s .55s; }
.cm-linha-item.is-ativo { opacity: 1; visibility: visible; transition: opacity .55s var(--cm-suave), visibility 0s 0s; }
.cm-linha-fundo { position: absolute; top: 2%; left: 0; right: 0; margin: 0; font-family: var(--cm-titulos); font-weight: 800; font-size: min(10rem, calc(100cqi / var(--letras, 10) * 1.72)); line-height: .85; letter-spacing: -.05em; color: color-mix(in srgb, var(--cm-ceu) 16%, transparent); white-space: nowrap; transform: translate3d(calc(var(--dir, 1) * 8%), 0, 0); transition: transform 1.1s var(--cm-saida); pointer-events: none; }
.cm-linha-item.is-ativo .cm-linha-fundo { transform: none; }
.cm-linha-foto { position: relative; margin: 0; display: grid; place-items: end center; transform: translate3d(calc(var(--dir, 1) * 14%), 4%, 0) scale(.94); transition: transform 1s var(--cm-saida); }
.cm-linha-item.is-ativo .cm-linha-foto { transform: none; }
.cm-linha-foto::after { content: ""; position: absolute; left: 12%; right: 12%; bottom: -2%; height: 12%; z-index: -1; background: radial-gradient(50% 50% at 50% 50%, color-mix(in srgb, #000 55%, transparent), transparent 70%); }
.cm-linha-foto img { width: auto; max-width: 100%; max-height: 46vh; object-fit: contain; filter: drop-shadow(0 30px 40px color-mix(in srgb, #000 35%, transparent)); }
.cm-linha-texto { position: relative; padding-top: 18px; transform: translate3d(0, 18px, 0); opacity: 0; transition: transform .8s var(--cm-saida) .12s, opacity .6s .12s; }
.cm-linha-item.is-ativo .cm-linha-texto { transform: none; opacity: 1; }
.cm-linha-lugar { display: flex; align-items: center; gap: .5em; margin: 0 0 .4em; font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cm-ceu); }
.cm-linha-lugar span { color: var(--cm-cinza-claro); letter-spacing: .08em; }
.cm-linha-nome { font-size: clamp(2.2rem, 4.2vw, 3.8rem) !important; font-weight: 800; letter-spacing: -.035em; margin: 0 0 .2em; color: var(--cm-branco); }
.cm-linha-chamada { color: var(--cm-nevoa); margin: 0 0 .9em; max-width: 30em; }
.cm-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 1.2em; padding: 0; }
.cm-chips li { font-size: .8125rem; font-weight: 600; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--cm-fio-claro); color: var(--cm-nevoa); }
.cm-linha-sec .cm-link-seta { color: var(--cm-branco); }
.cm-linha-contador { position: absolute; right: 0; top: calc(var(--cm-topo-h) + 12px); margin: 0; font-family: var(--cm-titulos); font-weight: 700; font-size: 1.125rem; color: var(--cm-branco); font-variant-numeric: tabular-nums; display: flex; align-items: center; gap: .1em; }
.cm-linha-contador [data-cm-atual] { display: inline-grid; place-items: center; min-width: 2.6em; height: 2.6em; border: 1.5px solid var(--cm-ceu); border-radius: 50%; margin-right: .3em; color: var(--cm-ceu); }
.cm-linha-total { color: var(--cm-cinza-claro); }
.cm-linha-trilho { position: absolute; left: 0; right: 0; bottom: 28px; height: 2px; background: var(--cm-fio-claro); }
.cm-linha-trilho span { display: block; height: 100%; width: calc(var(--prog, 0) * 100%); background: var(--cm-ceu); }
.cm-linha-mais { width: min(100% - 2 * var(--cm-margem), var(--cm-largo)); margin: 0 auto; color: var(--cm-cinza-claro); }
.cm-linha-mais a { color: var(--cm-branco); }
.cm-linha-fim { padding: 8px 0 var(--cm-secao); }

/* ---------- Motivos (lista editorial com foto no ponteiro) ---------- */
.cm-motivos { background: var(--cm-cal); }
.cm-motivos-intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 8px 64px; align-items: end; margin-bottom: clamp(32px, 5vw, 64px); }
.cm-motivos-intro .cm-kicker { grid-column: 1 / -1; }
.cm-motivos-intro h2, .cm-motivos-intro .cm-intro { margin: 0; }
.cm-args { border-top: 1px solid var(--cm-fio); }
.cm-arg { position: relative; display: grid; grid-template-columns: 90px minmax(0, .9fr) minmax(0, 1.1fr); gap: 16px 40px; align-items: baseline; padding: clamp(24px, 3vw, 40px) 0; border-bottom: 1px solid var(--cm-fio); transition: padding .5s var(--cm-saida); }
.cm-arg-num { margin: 0; font-family: var(--cm-titulos); font-weight: 700; font-size: 1rem; color: var(--cm-telha-escura); font-variant-numeric: tabular-nums; }
.cm-arg-tit { margin: 0; font-size: clamp(1.6rem, 3vw, 2.6rem) !important; font-weight: 700; letter-spacing: -.03em; transition: color .3s, transform .5s var(--cm-saida); }
.cm-arg-txt { margin: 0; color: var(--cm-cinza); max-width: 30em; }
.cm-arg-foto { position: fixed; left: 0; top: 0; z-index: 30; width: 300px; margin: 0; pointer-events: none; opacity: 0; transform: translate3d(var(--mx, 0), var(--my, 0), 0) scale(.85) rotate(-3deg); transition: opacity .35s var(--cm-suave), transform .5s var(--cm-saida); }
.cm-arg-foto img { width: 100%; height: auto; filter: drop-shadow(0 24px 30px color-mix(in srgb, var(--cm-noite) 30%, transparent)); }
@media (hover: none), (pointer: coarse) {
	.cm-arg-foto { position: static; width: 64%; max-width: 280px; opacity: 1; transform: none; margin: 10px 0 0; grid-column: 2; }
}
@media (hover: hover) and (pointer: fine) {
	.cm-arg:hover .cm-arg-tit { color: var(--cm-azul); transform: translateX(10px); }
	.cm-arg.is-foto .cm-arg-foto { opacity: 1; transform: translate3d(var(--mx, 0), var(--my, 0), 0) scale(1) rotate(0); }
}

/* ---------- Como funciona ---------- */
.cm-funciona { background: var(--cm-nevoa); overflow: hidden; }
.cm-funciona-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 32px clamp(32px, 6vw, 96px); align-items: start; }
.cm-funciona-intro { position: sticky; top: calc(var(--cm-topo-h) + 32px); }
.cm-funciona-mascote { margin: 24px 0 0; max-width: 300px; }
.cm-funciona-mascote img { width: 100%; height: auto; }
.cm-passos { display: grid; gap: 14px; counter-reset: passo; }
.cm-passo { position: relative; display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 4px 20px; padding: 26px 28px; background: var(--cm-branco); border-radius: var(--cm-raio); box-shadow: 0 1px 0 var(--cm-fio); transition: transform .5s var(--cm-saida), box-shadow .5s; }
.cm-passo:hover { transform: translateY(-3px); }
.cm-passo-num { grid-row: span 2; margin: 0; font-family: var(--cm-titulos); font-weight: 700; font-size: 1rem; line-height: 1; letter-spacing: 0; color: var(--cm-telha-escura); font-variant-numeric: tabular-nums; }
.cm-passo-tit { margin: 0; font-size: 1.375rem !important; }
.cm-passo-txt { margin: 0; color: var(--cm-cinza); }

/* ---------- Faixa que corre ---------- */
.cm-fita { overflow: hidden; white-space: nowrap; display: flex; }
.cm-fita-texto { flex: none; margin: 0; padding-right: .3em; animation: cm-corre var(--t, 60s) linear infinite; }
.cm-fita:hover .cm-fita-texto { animation-play-state: paused; }
@keyframes cm-corre { to { transform: translateX(-100%); } }
.cm-fita-grande { background: var(--cm-cal); border-block: 1px solid var(--cm-fio); padding: clamp(18px, 2.4vw, 30px) 0; }
.cm-fita-grande .cm-fita-texto { font-family: var(--cm-titulos); font-weight: 800; font-size: clamp(2.4rem, 6vw, 5.5rem); letter-spacing: -.04em; line-height: 1; color: color-mix(in srgb, var(--cm-azul) 22%, var(--cm-cal)); }

/* ---------- Prova: avaliação e feiras ---------- */
.cm-prova-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 40px clamp(32px, 7vw, 120px); align-items: center; }
.cm-citacao { position: relative; padding-left: clamp(0px, 3vw, 40px); }
.cm-citacao-nota { margin: 0 0 1em; font-size: 1.1rem; letter-spacing: .2em; color: var(--cm-telha); }
.cm-citacao-nota span { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--cm-cinza); margin-left: .6em; }
.cm-citacao-texto { font-family: var(--cm-titulos); font-weight: 600; font-size: clamp(1.9rem, 3.8vw, 3.4rem); line-height: 1.04; letter-spacing: -.03em; margin: 0 0 .5em; }
.cm-citacao-autor { margin: 0; font-weight: 600; color: var(--cm-cinza); }
.cm-feiras h2 { font-size: clamp(1.75rem, 3vw, 2.5rem) !important; }
.cm-feiras-lista { list-style: none; margin: 0 0 1em; padding: 0; border-top: 1px solid var(--cm-fio); }
.cm-feiras-lista li { padding: 16px 0; border-bottom: 1px solid var(--cm-fio); color: var(--cm-cinza); }
.cm-feiras-lista strong { display: block; font-family: var(--cm-titulos); font-size: 1.25rem; color: var(--cm-tinta); letter-spacing: -.01em; }
.cm-feiras-nota { font-size: .9375rem; color: var(--cm-cinza); }

/* ---------- Perguntas (acordeão) ---------- */
.cm-perguntas { background: var(--cm-nevoa); }
.cm-perguntas-grid, .cm-faq-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 32px clamp(32px, 6vw, 96px); align-items: start; }
.cm-perguntas-intro { position: sticky; top: calc(var(--cm-topo-h) + 32px); }
.cm-acordeao .wp-block-details { border: 0; border-bottom: 1px solid var(--cm-fio); border-radius: 0; padding: 0; margin: 0; }
.cm-acordeao .wp-block-details:first-child { border-top: 1px solid var(--cm-fio); }
.cm-acordeao summary { list-style: none; position: relative; padding: 22px 52px 22px 0; font-family: var(--cm-titulos); font-weight: 600; font-size: clamp(1.125rem, 1.6vw, 1.375rem); letter-spacing: -.01em; line-height: 1.25; cursor: pointer; transition: color .25s; }
.cm-acordeao summary::-webkit-details-marker { display: none; }
.cm-acordeao summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 22px; height: 22px; margin-top: -11px; background: linear-gradient(currentColor, currentColor) center / 14px 1.5px no-repeat, linear-gradient(currentColor, currentColor) center / 1.5px 14px no-repeat; border: 1.5px solid var(--cm-fio); border-radius: 50%; transition: transform .45s var(--cm-saida), background-size .3s; }
.cm-acordeao details[open] summary::after { transform: rotate(180deg); background-size: 14px 1.5px, 1.5px 0; }
.cm-acordeao summary:hover { color: var(--cm-azul); }
.cm-acordeao details > :not(summary) { margin: 0 0 22px; color: var(--cm-cinza); max-width: 40em; }

/* ---------- Cadastro + formulários ---------- */
.cm-cadastro { background: var(--cm-noite); color: var(--cm-branco); overflow: hidden; }
.cm-cadastro::before { content: ""; position: absolute; inset: 0; opacity: .07; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cpath d='M22 0 44 22 22 44 0 22z' fill='none' stroke='%23ffffff' stroke-width='1'/%3E%3Ccircle cx='22' cy='22' r='1.6' fill='%23ffffff'/%3E%3C/svg%3E"); pointer-events: none; }
.cm-cadastro .cm-kicker { color: var(--cm-ceu); }
.cm-cadastro .cm-intro { color: var(--cm-cinza-claro); }
.cm-cadastro-grid { position: relative; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 40px clamp(32px, 6vw, 96px); align-items: start; }
.cm-cadastro-texto { position: relative; padding-bottom: 300px; }
.cm-checks { list-style: none; margin: 1.4em 0 0; padding: 0; display: grid; gap: 12px; }
.cm-checks li { position: relative; padding-left: 32px; color: var(--cm-cinza-claro); }
.cm-checks li strong { color: var(--cm-branco); }
.cm-checks li::before { content: ""; position: absolute; left: 0; top: .32em; width: 20px; height: 20px; border-radius: 50%; background: color-mix(in srgb, var(--cm-ceu) 18%, transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232AA8E8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-9'/%3E%3C/svg%3E") center / 13px no-repeat; }
.cm-cadastro .is-style-outline .wp-block-button__link { color: var(--cm-branco) !important; border-color: var(--cm-fio-claro); }
.cm-cadastro .is-style-outline .wp-block-button__link:hover { background: var(--cm-branco); color: var(--cm-noite) !important; }
.cm-cadastro-mascote { position: absolute; left: 0; bottom: -10px; width: 210px; margin: 0; }
.cm-cadastro-mascote img { width: 100%; height: auto; }
.cm-cadastro:not(.cm-secao) .cm-cadastro-texto { padding-bottom: 0; }
.colchominas .vl-form { background: var(--cm-branco); color: var(--cm-tinta); border-radius: 22px; padding: clamp(22px, 3.4vw, 40px); max-width: none; margin: 0; box-shadow: 0 0 0 1px color-mix(in srgb, var(--cm-branco) 10%, transparent); }
.colchominas .vl-form-titulo { font-size: 1.5rem !important; margin: 0 0 .9em; letter-spacing: -.02em; }
.colchominas .vl-form-grid { gap: 14px 16px; }
.colchominas .vl-form-campo label { font-size: .8125rem; font-weight: 600; color: var(--cm-tinta); letter-spacing: .01em; }
.colchominas .vl-form input[type="text"], .colchominas .vl-form input[type="email"], .colchominas .vl-form input[type="tel"], .colchominas .vl-form textarea, .colchominas .vl-form select { min-height: 50px; border: 1.5px solid color-mix(in srgb, var(--cm-tinta) 16%, transparent); border-radius: 10px; padding: 12px 14px; font-size: 1rem; background: var(--cm-cal); color: var(--cm-tinta); transition: border-color .2s, background .2s, box-shadow .2s; }
.colchominas .vl-form textarea { min-height: 110px; }
.colchominas .vl-form input:focus, .colchominas .vl-form textarea:focus, .colchominas .vl-form select:focus { border-color: var(--cm-azul); background: var(--cm-branco); box-shadow: 0 0 0 4px color-mix(in srgb, var(--cm-azul) 14%, transparent); }
.colchominas .vl-form-lgpd { color: var(--cm-cinza); }
.colchominas .vl-form-lgpd a { color: var(--cm-serra); }
.colchominas .vl-form button[type="submit"], .colchominas .vl-form .vl-btn { width: 100%; min-height: 54px; border-radius: 999px; background: var(--cm-azul); border-color: var(--cm-azul); color: var(--cm-branco) !important; font-family: var(--cm-texto); font-size: 1.0625rem; font-weight: 600; }
.colchominas .vl-form button[type="submit"]:hover { background: var(--cm-azul-escuro); border-color: var(--cm-azul-escuro); }

/* ---------- Topo das páginas internas ---------- */
.cm-topo-pag { position: relative; overflow: hidden; isolation: isolate; background: var(--cm-nevoa); padding: calc(var(--cm-secao) * .8) 0 calc(var(--cm-secao) * .8); }
.cm-topo-pag > .cm-serra, .cm-arquivo-topo > .cm-serra, .cm-produto-topo > .cm-serra, .cm-404 > .cm-serra { z-index: -1; height: clamp(70px, 10vw, 150px); }
.cm-topo-pag--curto { padding-bottom: calc(var(--cm-secao) * .6); }
.cm-topo-pag-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .5fr); gap: 24px 48px; align-items: end; }
.cm-topo-pag-titulo { font-size: clamp(2.5rem, 5.6vw, 5rem) !important; font-weight: 800; letter-spacing: -.04em !important; line-height: .95 !important; margin: 0 0 .35em; }
.cm-topo-pag-texto { max-width: 820px; }
.cm-topo-pag-texto .wp-block-buttons { margin-top: 1.2em; }
.cm-topo-pag-mascote { margin: 0; justify-self: end; width: min(100%, 300px); }
.cm-topo-pag-mascote img { width: 100%; height: auto; animation: cm-flutua 6s ease-in-out infinite; }
@keyframes cm-flutua { 50% { transform: translateY(-10px) rotate(-1deg); } }

/* ---------- Sobre ---------- */
.cm-historia-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 40px clamp(32px, 7vw, 120px); align-items: start; }
.cm-historia-texto p:not(.cm-kicker) { color: var(--cm-cinza); max-width: 36em; }
.cm-numeros { display: grid; gap: 0; border-top: 1px solid var(--cm-fio); }
.cm-numero { padding: 22px 0; border-bottom: 1px solid var(--cm-fio); display: grid; grid-template-columns: 5.6ch 1fr; gap: 24px; align-items: baseline; }
.cm-numero-valor { margin: 0; font-family: var(--cm-titulos); font-weight: 800; font-size: clamp(3rem, 6vw, 5rem); line-height: .9; letter-spacing: -.05em; color: var(--cm-azul); font-variant-numeric: tabular-nums; min-width: 3.2ch; }
.cm-numero-rotulo { margin: 0; color: var(--cm-cinza); }
.cm-qualidade { background: var(--cm-noite); color: var(--cm-branco); }
.cm-qualidade .cm-kicker { color: var(--cm-ceu); }
.cm-qualidade-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(32px, 6vw, 96px); margin-top: clamp(28px, 4vw, 56px); }
.cm-qualidade-item { padding: 26px 0 6px; border-top: 1px solid var(--cm-fio-claro); }
.cm-ico-selo { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='M8.5 13.8L7 21l5-2.5 5 2.5-1.5-7.2'/%3E%3C/svg%3E"); }
.cm-ico-chama { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c1 3.5 5 5.5 5 10a5 5 0 0 1-10 0c0-2.4 1.3-3.8 2.5-5 .3 1.6 1 2.6 2 3 0-3 .1-5.6.5-8z'/%3E%3Cpath d='M4 21h16'/%3E%3C/svg%3E"); }
.cm-ico-molas { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M6 4c3 0 3 2 6 2s3-2 6-2M6 9c3 0 3 2 6 2s3-2 6-2M6 14c3 0 3 2 6 2s3-2 6-2M6 19c3 0 3 2 6 2s3-2 6-2'/%3E%3C/svg%3E"); }
.cm-ico-camadas { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l9 5-9 5-9-5z'/%3E%3Cpath d='M3 13l9 5 9-5'/%3E%3C/svg%3E"); }
.cm-qualidade-item h3 { font-size: 1.375rem !important; margin: 0 0 .5em; }
.cm-qualidade-item p { color: var(--cm-cinza-claro); margin: 0 0 20px; }
.cm-mascote-sec { background: var(--cm-nevoa); overflow: hidden; }
.cm-mascote-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px clamp(32px, 6vw, 96px); align-items: center; }
.cm-mascote-dormindo { margin: 0; }
.cm-mascote-dormindo img { width: 100%; height: auto; animation: cm-respira 4.6s ease-in-out infinite; transform-origin: 50% 80%; }
@keyframes cm-respira { 50% { transform: scale(1.015, .985); } }
.cm-mascote-texto p:not(.cm-kicker) { color: var(--cm-cinza); max-width: 30em; }

/* ---------- Lojista: condições e convite ---------- */
.cm-condicoes-sec { background: var(--cm-cal); }
.cm-condicoes-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 32px clamp(32px, 6vw, 96px); align-items: start; }
.cm-condicoes { margin: 0; border-top: 1px solid var(--cm-fio); }
.cm-condicao { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 8px 32px; padding: 22px 0; border-bottom: 1px solid var(--cm-fio); }
.cm-condicao dt { font-family: var(--cm-titulos); font-weight: 700; font-size: 1.25rem; letter-spacing: -.01em; display: flex; gap: 14px; align-items: baseline; }
.cm-condicao dt .cm-num { font-size: .875rem; color: var(--cm-telha-escura); }
.cm-condicao dd { margin: 0; color: var(--cm-cinza); }
.cm-convite { background: var(--cm-nevoa); text-align: center; }
.cm-convite-in { max-width: 820px; }
.cm-convite .cm-kicker { justify-content: center; }
.cm-convite .cm-kicker::before { display: none; }
.cm-convite h2 { font-size: clamp(1.75rem, 3.4vw, 2.75rem) !important; }
.cm-convite .cm-intro { margin-inline: auto; }
.cm-convite .wp-block-buttons { justify-content: center; }

/* ---------- FAQ, garantia, contato, trabalhe ---------- */
.cm-faq-tit { font-size: clamp(1.5rem, 2.4vw, 2rem) !important; margin-bottom: 1em !important; }
.cm-faq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cm-garantia .cm-passos { align-self: start; }
.cm-contato-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 40px clamp(32px, 6vw, 96px); align-items: start; }
.cm-contato .vl-form, .cm-garantia .vl-form, .cm-trabalhe .vl-form { box-shadow: none; border: 1px solid var(--cm-fio); }
.cm-trabalhe-in { max-width: 820px; }
.cm-contatos { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--cm-fio); }
.cm-contatos li > a, .cm-contatos li > div { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--cm-fio); color: var(--cm-tinta); text-decoration: none; }
.cm-contatos li > a:hover { color: var(--cm-azul); text-decoration: none; }
.cm-contatos li > a > .cm-ico { transition: transform .35s var(--cm-saida); }
.cm-contatos li > a:hover > .cm-ico { transform: translateX(4px); }
.cm-contato-ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--cm-nevoa); color: var(--cm-azul); }
.cm-contato-txt { display: grid; }
.cm-contato-rot { font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--cm-cinza); }
.cm-contato-val { font-weight: 600; font-size: 1.0625rem; overflow-wrap: anywhere; }
.cm-mapa { position: relative; overflow: hidden; border-radius: 22px; background: var(--cm-nevoa); min-height: 360px; display: grid; place-items: center; isolation: isolate; }
.cm-mapa-fundo { position: absolute; inset: 0; z-index: -1; }
.cm-mapa-fundo .cm-serra { height: 70%; }
.cm-mapa-cartao { background: var(--cm-branco); border-radius: 18px; padding: 28px; max-width: 440px; margin: 24px; text-align: center; box-shadow: 0 30px 60px -36px color-mix(in srgb, var(--cm-noite) 50%, transparent); }
.cm-mapa-pino { color: var(--cm-telha); display: inline-flex; }
.cm-mapa-end { font-weight: 600; margin: .4em 0 0; }
.cm-mapa-cartao .cm-acoes { justify-content: center; margin-top: 1em; }
.cm-mapa-nota { font-size: .8125rem; color: var(--cm-cinza); margin: 1em 0 0; }
.cm-mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- Catálogo ---------- */
.cm-arquivo-topo { position: relative; overflow: hidden; isolation: isolate; background: var(--cm-nevoa); padding: calc(var(--cm-secao) * .5) 0 calc(var(--cm-secao) * .5); }
.colchominas .vl-breadcrumb ol { margin: 0 0 clamp(20px, 3vw, 36px); font-size: .8125rem; color: var(--cm-cinza); }
.colchominas .vl-breadcrumb a { color: var(--cm-cinza); display: inline-block; padding: 12px 0; margin: -12px 0; }
.cm-arquivo-cabeca { display: grid; grid-template-columns: minmax(0, 1.4fr) auto; gap: 24px 48px; align-items: end; }
.cm-arquivo-titulo { font-size: clamp(2.6rem, 6vw, 5.5rem) !important; font-weight: 800; letter-spacing: -.04em !important; line-height: .92 !important; margin: 0 0 .3em; }
.cm-arquivo-acoes { margin: 0; }
.cm-filtros { display: flex; flex-wrap: wrap; gap: 8px; margin: clamp(24px, 3vw, 40px) 0 0; }
.cm-filtro { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1.5px solid var(--cm-fio); background: var(--cm-branco); color: var(--cm-tinta); font: 600 .9375rem/1 var(--cm-texto); cursor: pointer; text-decoration: none; transition: background .25s, border-color .25s, color .25s; }
.cm-filtro span { font-size: .75rem; color: var(--cm-cinza); }
.cm-filtro:hover { border-color: var(--cm-azul); text-decoration: none; }
.cm-filtro[aria-pressed="true"], .cm-filtro[aria-current="page"] { background: var(--cm-tinta); border-color: var(--cm-tinta); color: var(--cm-branco); }
.cm-filtro[aria-pressed="true"] span, .cm-filtro[aria-current="page"] span { color: var(--cm-cinza-claro); }
.cm-filtro-aviso { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.cm-vitrine .cm-filtros { margin: 0 0 28px; }
.cm-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); }
.colchominas .cm-card { --rx: 0deg; --ry: 0deg; position: relative; display: grid; grid-template-rows: auto 1fr; background: var(--cm-branco); border-radius: 22px; color: var(--cm-tinta); text-decoration: none; overflow: hidden; isolation: isolate; transform: perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .6s var(--cm-saida), box-shadow .6s var(--cm-saida); box-shadow: 0 1px 0 var(--cm-fio); }
.cm-card:hover { text-decoration: none; box-shadow: 0 34px 60px -38px color-mix(in srgb, var(--cm-noite) 55%, transparent); }
.cm-card[hidden] { display: none; }
.cm-card-foto { position: relative; display: grid; place-items: center; aspect-ratio: 760 / 520; padding: 22px 18px 6px; background: linear-gradient(180deg, var(--cm-nevoa), var(--cm-cal)); overflow: hidden; }
.cm-card-foto::before { content: ""; position: absolute; inset: 0; z-index: 0; opacity: 0; transition: opacity .6s; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Cpath d='M18 0 36 18 18 36 0 18z' fill='none' stroke='%231D4E9E' stroke-opacity='.16' stroke-width='1'/%3E%3C/svg%3E"); }
.cm-card:hover .cm-card-foto::before { opacity: 1; }
.cm-card-foto::after { content: ""; position: absolute; left: 16%; right: 16%; bottom: 7%; height: 10%; z-index: 0; background: radial-gradient(50% 50% at 50% 50%, color-mix(in srgb, var(--cm-noite) 26%, transparent), transparent 70%); transition: transform .6s var(--cm-saida), opacity .6s; }
.cm-card-foto img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; transition: transform .7s var(--cm-saida); }
.cm-card:hover .cm-card-foto img { transform: translateY(-8px) scale(1.035); }
.cm-card:hover .cm-card-foto::after { transform: scale(.9); opacity: .7; }
.cm-card-texto { display: grid; align-content: start; gap: 6px; padding: 18px 22px 22px; }
.cm-card-lugar { display: flex; align-items: center; gap: 6px; font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--cm-telha-escura); }
.cm-card-nome { font-family: var(--cm-titulos); font-weight: 700; font-size: clamp(1.5rem, 2.2vw, 1.9rem); letter-spacing: -.03em; line-height: 1; }
.cm-card-dados { display: flex; flex-wrap: wrap; gap: 4px 0; color: var(--cm-cinza); font-size: .9375rem; }
.cm-card-dados span + span::before { content: "·"; margin: 0 .5em; }
.cm-card-ver { display: inline-flex; align-items: center; gap: .45em; margin-top: 8px; font-weight: 600; font-size: .9375rem; color: var(--cm-azul); }
.cm-card-ver .cm-ico { transition: transform .35s var(--cm-saida); }
.cm-card:hover .cm-card-ver .cm-ico { transform: translateX(4px); }
.cm-sem-foto { display: grid; place-items: center; width: 100%; height: 100%; color: var(--cm-serra); position: relative; }
.cm-sem-foto svg { position: absolute; inset: auto 0 0; width: 100%; height: 70%; }
.cm-sem-foto span { position: relative; font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cm-cinza); }
.cm-cabeca-linha { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 16px 32px; margin-bottom: clamp(24px, 3vw, 40px); }
.cm-cabeca-linha h2 { margin: 0; }

/* ---------- Ficha do colchão ---------- */
.cm-produto-topo { position: relative; overflow: hidden; isolation: isolate; background: var(--cm-nevoa); padding: calc(var(--cm-secao) * .4) 0 calc(var(--cm-secao) * .6); }
.cm-produto-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 32px clamp(32px, 5vw, 80px); align-items: center; }
.cm-produto-palco { position: relative; display: grid; place-items: center; min-height: clamp(320px, 42vw, 560px); container-type: inline-size; }
.cm-produto-palavra { position: absolute; inset: 6% 0 auto; text-align: center; font-family: var(--cm-titulos); font-weight: 800; font-size: min(9.5rem, calc(100cqi / var(--letras, 10) * 1.72)); line-height: .85; letter-spacing: -.05em; color: color-mix(in srgb, var(--cm-azul) 9%, transparent); white-space: nowrap; pointer-events: none; }
.cm-produto-foto { position: relative; z-index: 1; margin: 0; width: 100%; display: grid; place-items: center; }
.cm-produto-foto img { width: 100%; max-height: 520px; object-fit: contain; filter: drop-shadow(0 36px 40px color-mix(in srgb, var(--cm-noite) 22%, transparent)); }
.cm-sombra { position: absolute; left: 14%; right: 14%; bottom: 4%; height: 8%; background: radial-gradient(50% 50% at 50% 50%, color-mix(in srgb, var(--cm-noite) 30%, transparent), transparent 70%); }
.cm-miniaturas { position: relative; z-index: 2; display: flex; gap: 8px; list-style: none; padding: 0; margin: 16px 0 0; }
.cm-miniaturas button { width: 64px; height: 64px; border-radius: 12px; border: 1.5px solid var(--cm-fio); background: var(--cm-branco); padding: 4px; cursor: pointer; }
.cm-miniaturas button.is-ativo { border-color: var(--cm-azul); }
.cm-produto-titulo { font-size: clamp(2.6rem, 5vw, 4.6rem) !important; font-weight: 800; letter-spacing: -.04em !important; line-height: .92 !important; margin: 0 0 .25em; }
.cm-produto-chamada { font-family: var(--cm-titulos); font-size: clamp(1.25rem, 1.8vw, 1.5rem); font-weight: 500; line-height: 1.25; letter-spacing: -.01em; color: var(--cm-azul); margin: 0 0 .8em; }
.cm-produto-texto { color: var(--cm-cinza); }
.cm-produto-texto p { margin: 0 0 .8em; }
.cm-fatos { list-style: none; padding: 0; margin: 22px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--cm-fio); }
.cm-fatos li { display: flex; gap: 12px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--cm-fio); color: var(--cm-azul); }
.cm-fatos li:nth-child(odd) { padding-right: 12px; }
.cm-fatos span { display: grid; color: var(--cm-tinta); font-weight: 600; line-height: 1.25; }
.cm-fatos small { font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--cm-cinza); }
.cm-produto-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.cm-ficha-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px clamp(32px, 6vw, 96px); align-items: start; }
.cm-ficha-aviso { display: inline-flex; gap: 8px; align-items: center; padding: 10px 14px; border-radius: 10px; background: color-mix(in srgb, var(--cm-telha) 10%, var(--cm-branco)); color: var(--cm-telha-escura); font-size: .875rem; font-weight: 600; margin: 0 0 1.4em; }
.cm-ficha-lista { margin: 0; border-top: 1px solid var(--cm-fio); }
.cm-ficha-lista > div { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--cm-fio); }
.cm-ficha-lista dt { color: var(--cm-cinza); font-size: .9375rem; }
.cm-ficha-lista dd { margin: 0; font-weight: 600; }
.cm-ficha-sub { font-family: var(--cm-titulos); font-weight: 700; font-size: 1.25rem; margin: 0 0 .9em; letter-spacing: -.01em; }
.cm-ficha-sub span { font-family: var(--cm-texto); font-weight: 400; font-size: .875rem; color: var(--cm-cinza); margin-left: .4em; letter-spacing: 0; }
.cm-camadas ol { list-style: none; margin: 0 0 40px; padding: 0; display: grid; gap: 6px; }
.cm-camadas li { position: relative; padding: 14px 18px; border-radius: 10px; font-weight: 600; font-size: .9375rem; color: var(--cm-branco); background: color-mix(in srgb, var(--cm-azul) calc(100% - var(--k) * 16%), var(--cm-ceu)); transform-origin: left; }
.cm-camadas li:first-child { border-radius: 22px 22px 10px 10px; background: var(--cm-nevoa); color: var(--cm-tinta); box-shadow: inset 0 0 0 1.5px var(--cm-fio); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Cpath d='M11 0 22 11 11 22 0 11z' fill='none' stroke='%231D4E9E' stroke-opacity='.18' stroke-width='1'/%3E%3C/svg%3E"); }
.cm-anima .cm-camadas li { transform: scaleX(.6); opacity: 0; transition: transform .8s var(--cm-saida) calc(var(--k) * 90ms), opacity .5s calc(var(--k) * 90ms); }
.cm-anima .cm-camadas.is-visivel li, .cm-anima-fim .cm-camadas li { transform: none; opacity: 1; }
.cm-medidas table { width: 100%; border-collapse: collapse; }
.cm-medidas th, .cm-medidas td { text-align: left; padding: 13px 0; border-bottom: 1px solid var(--cm-fio); font-size: .9375rem; }
.cm-medidas thead th { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cm-cinza); font-weight: 600; border-bottom-color: var(--cm-tinta); }
.cm-medidas tbody th { font-weight: 600; }
.cm-medidas td, .cm-medidas .cm-num-col { font-variant-numeric: tabular-nums; text-align: right; }
.cm-inspiracao { background: var(--cm-noite); color: var(--cm-branco); }
.cm-inspiracao .cm-kicker { color: var(--cm-ceu); }
.cm-inspiracao-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 40px clamp(32px, 6vw, 96px); align-items: center; }
.cm-inspiracao h2 { font-size: clamp(2.4rem, 5vw, 4.4rem) !important; font-weight: 800; margin: 0 0 .1em; }
.cm-coord { font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cm-cinza-claro); font-variant-numeric: tabular-nums; }
.cm-inspiracao p:not(.cm-kicker):not(.cm-coord) { color: var(--cm-nevoa); max-width: 32em; }
.cm-mg--mini .cm-mg-pino .cm-mg-nome { opacity: 1; fill: var(--cm-branco); }
.cm-mg--mini .cm-mg-pino .cm-mg-ponto { fill: var(--cm-ceu); }
.cm-mg--mini .cm-mg-onda { animation: cm-onda 2.2s var(--cm-suave) infinite; }
.cm-relacionados { background: var(--cm-cal); }
.cm-relacionados .cm-grade { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ---------- 404 e obrigado ---------- */
.cm-404 { position: relative; overflow: hidden; isolation: isolate; background: var(--cm-nevoa); padding: var(--cm-secao) 0; min-height: 80vh; display: grid; align-items: center; }
.cm-404-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 32px 48px; align-items: center; }
.cm-404-foto { margin: 0; }
.cm-404-foto img { width: 100%; height: auto; animation: cm-respira 4.6s ease-in-out infinite; transform-origin: 50% 80%; }
.cm-obrigado { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 24px 48px; align-items: center; width: min(100% - 2 * var(--cm-margem), 980px); margin: 0 auto; padding: var(--cm-secao) 0; }
.cm-obrigado-mascote { width: 100%; height: auto; }
.cm-obrigado .vl-obrigado { text-align: left; padding: 0; background: none; }
.cm-obrigado .vl-obrigado-titulo { font-size: clamp(2.4rem, 5vw, 4rem); font-weight: 800; margin: 0 0 .3em; }
.cm-obrigado .vl-obrigado-texto { color: var(--cm-cinza); font-size: 1.125rem; max-width: 32em; }
.cm-obrigado .vl-obrigado-acoes { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- Rodapé ---------- */
.cm-rodape { position: relative; background: var(--cm-noite); color: var(--cm-nevoa); padding-top: 0; overflow: hidden; isolation: isolate; }
.cm-rodape-serra { position: absolute; inset: 0 0 auto; height: 150px; z-index: -1; transform: scaleY(-1); }
.cm-rodape-serra .cm-serra { height: 100%; }
.cm-rodape-serra .cm-serra-1 { fill: color-mix(in srgb, var(--cm-petroleo) 45%, var(--cm-noite)); }
.cm-rodape-serra .cm-serra-2 { fill: color-mix(in srgb, var(--cm-azul) 30%, var(--cm-noite)); }
.cm-rodape-serra .cm-serra-3 { fill: color-mix(in srgb, var(--cm-serra) 18%, var(--cm-noite)); }
.cm-rodape-serra .cm-serra-4, .cm-rodape-serra .cm-serra-igreja { fill: var(--cm-noite); }
.cm-rodape-frase { width: min(100% - 2 * var(--cm-margem), var(--cm-largo)); margin: 0 auto 56px; padding: 72px 0 28px; border-bottom: 1px solid var(--cm-fio-claro); font-family: var(--cm-titulos); font-weight: 700; font-size: clamp(2rem, 4.4vw, 3.75rem); letter-spacing: -.035em; line-height: 1; color: var(--cm-branco); }
.cm-rodape-in { width: min(100% - 2 * var(--cm-margem), var(--cm-largo)); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr)); gap: 40px 48px; padding-bottom: 56px; }
.cm-rodape-logo { width: 190px; height: auto; margin-bottom: 18px; }
.cm-rodape-bio { color: var(--cm-cinza-claro); max-width: 22em; font-size: .9375rem; }
.cm-rodape-tit { font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cm-ceu); margin: 0 0 1.2em; }
.cm-rodape-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.cm-rodape-col a { color: var(--cm-nevoa); text-decoration: none; display: inline-flex; min-height: 32px; align-items: center; }
.cm-rodape-col a:hover { color: var(--cm-branco); text-decoration: underline; text-underline-offset: 4px; }
.cm-rodape .cm-contatos { border: 0; }
.cm-rodape .cm-contatos li > a, .cm-rodape .cm-contatos li > div { grid-template-columns: 26px minmax(0, 1fr) auto; padding: 8px 0; border: 0; color: var(--cm-nevoa); }
.cm-rodape .cm-contato-ico { width: 26px; height: 26px; background: none; color: var(--cm-ceu); }
.cm-rodape .cm-contato-rot { color: var(--cm-cinza-claro); font-size: .6875rem; }
.cm-rodape .cm-contato-val { font-size: .9375rem; }
.cm-rodape .cm-contatos li > a > .cm-ico { display: none; }
.cm-redes { display: flex; gap: 4px; list-style: none; margin: 14px 0 0; padding: 0; }
.cm-redes a { display: grid !important; place-items: center; width: 44px; height: 44px; margin-left: -10px; }
.cm-redes a:hover { color: var(--cm-ceu); text-decoration: none; }
.cm-rodape-base { width: min(100% - 2 * var(--cm-margem), var(--cm-largo)); margin-inline: auto; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding: 22px 0 28px; border-top: 1px solid var(--cm-fio-claro); font-size: .8125rem; color: var(--cm-cinza-claro); }
.cm-rodape-base p { margin: 0; }
.cm-rodape-base a, .cm-rodape-base .vl-link-botao { color: var(--cm-cinza-claro); background: none; border: 0; padding: 0; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.cm-rodape-legal-item { white-space: nowrap; }
.cm-rodape .vl-credito a { color: var(--cm-cinza-claro); }
.cm-wa-flutuante { position: fixed; right: 18px; bottom: 18px; z-index: 50; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: var(--cm-noite); color: #fff !important; border: 1px solid var(--cm-fio-claro); box-shadow: 0 8px 20px -10px color-mix(in srgb, #000 60%, transparent); transition: transform .35s var(--cm-saida), opacity .3s, translate .4s var(--cm-saida); }
.cm-wa-oculto .cm-wa-flutuante { opacity: 0; translate: 0 20px; pointer-events: none; }
.cm-wa-flutuante:hover { transform: scale(1.06); }

/* ---------- Entradas (só com JS e sem pedido de menos movimento) ---------- */
.cm-anima .cm-revela .cm-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.cm-anima .cm-revela .cm-w > span { display: inline-block; transform: translate3d(0, 105%, 0); transition: transform 1s var(--cm-saida); transition-delay: calc(var(--i, 0) * 45ms); }
.cm-anima .cm-revela.is-visivel .cm-w > span, .cm-anima-fim .cm-revela .cm-w > span { transform: none; }
/* "translate" separado do "transform": não briga com a inclinação dos cartões. */
.cm-anima [data-cm-entra] { opacity: 0; translate: 0 28px; transition: opacity .9s var(--cm-suave) calc(var(--i, 0) * 80ms), translate 1.1s var(--cm-saida) calc(var(--i, 0) * 80ms), transform .6s var(--cm-saida), box-shadow .6s var(--cm-saida); }
.cm-anima [data-cm-entra].is-visivel, .cm-anima-fim [data-cm-entra] { opacity: 1; translate: none; }

/* ---------- Telas médias ---------- */
@media (max-width: 1180px) {
	.cm-rodape-in { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cm-rodape-marca { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; }
	.cm-rodape-logo { margin: 0; }
	.cm-rodape-bio { margin: 0; flex: 1; min-width: 220px; }
	.cm-relacionados .cm-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
	:root { --cm-topo-h: 68px; }
	.cm-burger { display: block; }
	.cm-burger span { width: 26px; height: 2px; background: var(--cm-tinta); }
	.cm-nav { display: none; position: fixed; inset: var(--cm-topo-h) 0 auto; height: calc(100dvh - var(--cm-topo-h)); background: var(--cm-cal); flex-direction: column; align-items: stretch; justify-content: flex-start; padding: 24px var(--cm-margem) 32px; overflow-y: auto; }
	.cm-nav.is-aberto { display: flex; }
	.cm-menu { flex-direction: column; gap: 0; }
	.cm-menu a { display: block; font-family: var(--cm-titulos); font-size: 2rem; font-weight: 700; letter-spacing: -.02em; text-transform: none; padding: 12px 0; border-bottom: 1px solid var(--cm-fio); }
	.cm-menu a::after { display: none; }
	.cm-nav-extra { display: grid; gap: 14px; margin-top: 28px; }
	.cm-nav-wa { display: inline-flex; align-items: center; gap: 8px; color: var(--cm-tinta); font-weight: 600; min-height: 44px; }
	.cm-capa { display: flex; flex-direction: column; justify-content: flex-start; padding-bottom: 0; }
	.cm-capa-lado, .cm-capa-dica { display: none; }
	.cm-capa-texto { order: 1; transform: none; max-width: 640px; align-self: flex-start; margin-left: 0 !important; margin-right: 0 !important; }
	.cm-mascote { position: relative; inset: auto; order: 2; flex: 1 1 auto; min-height: min(56svh, 640px); width: calc(100% + 2 * var(--cm-margem)); max-width: none; margin: 12px 0 0 calc(-1 * var(--cm-margem)) !important; align-self: flex-start; transform: none; z-index: 0; }
	.cm-mascote-poster img, .cm-mascote-video { object-fit: contain; object-position: 50% 100%; -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent); mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent); }
	.cm-serra-c { width: 240%; left: -70%; }
	.cm-linha-intro, .cm-motivos-intro { grid-template-columns: 1fr; }
	.cm-funciona-grid, .cm-perguntas-grid, .cm-cadastro-grid, .cm-condicoes-grid, .cm-contato-grid, .cm-historia-grid, .cm-ficha-grid, .cm-prova-grid { grid-template-columns: 1fr; }
	.cm-funciona-intro, .cm-perguntas-intro { position: static; }
	.cm-funciona-intro { display: grid; grid-template-columns: minmax(0, 1fr) 160px; gap: 0 24px; align-items: end; }
	.cm-funciona-intro .cm-kicker, .cm-funciona-intro h2 { grid-column: 1; }
	.cm-funciona-mascote { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
	.cm-cadastro-texto { padding-bottom: 0; }
	.cm-cadastro-mascote { position: relative; width: 150px; margin: 24px 0 0; }
	.cm-arg { grid-template-columns: 56px minmax(0, 1fr); }
	.cm-arg-txt { grid-column: 2; }
	.cm-faq-grid { grid-template-columns: 1fr; }
	.cm-produto-grid, .cm-inspiracao-grid, .cm-404-grid, .cm-mascote-grid { grid-template-columns: 1fr; }
	.cm-arquivo-cabeca { grid-template-columns: 1fr; }
	.cm-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Linha Minas sem palco preso: mapa em cima e modelos num carrossel de dedo. */
@media (max-width: 899px) {
	.cm-linha { height: auto; }
	.cm-linha-palco { position: relative; height: auto; display: block; padding: 0; width: auto; }
	.cm-linha-mapa { width: min(100% - 2 * var(--cm-margem), 440px); margin: 0 auto 8px; }
	.cm-mg-pino .cm-mg-nome, .cm-mg-fabrica text { font-size: 42px; }
	.cm-linha-itens { height: auto; display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 8px var(--cm-margem) 20px; scrollbar-width: none; }
	.cm-linha-itens::-webkit-scrollbar { display: none; }
	.cm-linha-item { position: relative; inset: auto; flex: 0 0 86%; scroll-snap-align: center; opacity: 1; visibility: visible; border: 1px solid var(--cm-fio-claro); border-radius: 22px; padding: 18px 18px 22px; overflow: hidden; background: color-mix(in srgb, var(--cm-azul) 10%, var(--cm-noite)); }
	.cm-linha-fundo { top: 10px; transform: none; }
	.cm-linha-foto, .cm-linha-texto { transform: none; opacity: 1; }
	.cm-linha-foto img { max-height: 200px; }
	.cm-linha-nome { font-size: 2rem !important; }
	.cm-linha-contador { position: static; justify-content: center; margin: 4px 0 0; font-size: 1rem; }
	.cm-linha-trilho { display: none; }
	.cm-linha-mais { margin-top: 16px; }
}
/* ---------- Celular ---------- */
@media (max-width: 767px) {
	:root { --cm-topo-h: 64px; }
	.cm-logo-img { width: 104px; }
	.cm-so-largo { display: none; }
	.cm-so-estreito { display: inline; }
	.cm-capa { padding-top: calc(var(--cm-topo-h) + 14px); }
	.cm-mascote { min-height: 46svh; }
	.cm-serra-c { width: 320%; left: -110%; }
	.cm-capa-titulo { font-size: clamp(2.35rem, 11vw, 3.2rem); }
	.cm-capa-lead { font-size: 1rem; max-width: 22em; }
	.cm-capa-botoes { margin-top: 1.1em; }
	.cm-capa-botoes .wp-block-button { flex: 1 1 auto; }
	.cm-capa-botoes .wp-block-button__link { width: 100%; min-height: 50px; padding-inline: 18px; }
	.cm-serra-sec { height: 170vh; }
	.cm-serra { height: 52%; }
	.cm-serra-texto { margin-top: 15vh; }
	.cm-arg { grid-template-columns: 1fr; gap: 8px; }
	.cm-arg-txt { grid-column: auto; }
	.cm-arg-foto { position: static; width: 64%; max-width: 260px; opacity: 1; transform: none; margin: 10px 0 0; }
	.cm-funciona-intro { grid-template-columns: minmax(0, 1fr) 112px; }
	.cm-passo { grid-template-columns: 52px minmax(0, 1fr); padding: 20px; }
	.cm-passo-num { font-size: 2.2rem; }
	.cm-grade, .cm-relacionados .cm-grade { grid-template-columns: 1fr; }
	.cm-topo-pag-grid { grid-template-columns: 1fr; }
	.cm-topo-pag-mascote { display: none; }
	.cm-topo-pag--curto .cm-topo-pag-grid { grid-template-columns: 1fr; }
	.cm-qualidade-grade { grid-template-columns: 1fr; }
	.cm-condicao { grid-template-columns: 1fr; }
	.cm-fatos { grid-template-columns: 1fr; }
	.cm-produto-ctas .cm-btn { width: 100%; }
	.cm-numero { grid-template-columns: 1fr; gap: 4px; }
	.cm-rodape-in { grid-template-columns: 1fr 1fr; }
	.cm-rodape-contato { grid-column: 1 / -1; }
	.cm-obrigado { grid-template-columns: 1fr; text-align: left; }
	.cm-obrigado-mascote { width: 140px; }
	.colchominas .vl-form-grid { grid-template-columns: 1fr; }
	.cm-wa-flutuante { width: 48px; height: 48px; right: 12px; bottom: 12px; }
}

/* ---------- Menos movimento ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
	.cm-serra-sec { height: auto; }
	.cm-serra-palco { position: relative; height: 90vh; }
	.cm-serra-sec { --p: 1; }
	.cm-mascote, .cm-capa-texto, .cm-capa-lado { transform: none; }
}


/* =========================================================================
   Rodada 2 do polimento (crítica externa de 23/10/2026 — polimento.md)
   ========================================================================= */

/* Capa: o mascote sem caixa (vídeo com fundo transparente), de pé na frente da serra clara. */
.cm-capa > .cm-serra { z-index: -2; height: 34%; opacity: .9; }
.cm-capa::before { content: ""; position: absolute; z-index: -3; left: 30%; right: -10%; top: 6%; bottom: -10%; background: radial-gradient(50% 50% at 50% 55%, color-mix(in srgb, var(--cm-branco) 70%, transparent), transparent 70%); pointer-events: none; }
.cm-mascote.is-alfa .cm-mascote-video, .cm-mascote .cm-mascote-poster img { -webkit-mask-image: none; mask-image: none; }
.cm-mascote.is-alfa::after { content: ""; position: absolute; left: 50%; bottom: 1.2%; width: 30%; max-width: 420px; height: 4.5%; translate: -50% 0; z-index: -1; border-radius: 50%; background: radial-gradient(50% 50% at 50% 50%, color-mix(in srgb, var(--cm-noite) 30%, transparent), transparent 72%); }
@media (max-width: 1023px) { .cm-capa > .cm-serra { height: 24%; } .cm-capa::before { left: -20%; right: -20%; top: 40%; } }

/* Botão claro sobre a noite */
.colchominas .cm-botao-ceu .wp-block-button__link { --b: var(--cm-ceu); color: var(--cm-noite) !important; }
.colchominas .cm-botao-ceu .wp-block-button__link:hover { --b: var(--cm-branco); }
.cm-linha-fim .wp-block-buttons { margin-top: 0; }

/* Desenho de traço do modelo sem foto */
.cm-sem-foto { color: var(--cm-serra); display: grid; place-items: center; gap: 8px; padding: 6% 8%; }
.cm-sem-foto svg { position: static; width: 100%; height: auto; max-height: 100%; }
.cm-sem-foto .cm-traco-tampo { fill: color-mix(in srgb, var(--cm-serra) 7%, transparent); }
.cm-linha-sec .cm-sem-foto { color: var(--cm-ceu); }
.cm-sem-foto > span { font-size: .6875rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cm-cinza); }
.cm-linha-sec .cm-sem-foto > span { color: var(--cm-cinza-claro); }

/* Como funciona: linha do tempo horizontal */
.cm-funciona-grid { grid-template-columns: 1fr; gap: 28px; }
.cm-funciona-intro { position: static; display: grid; grid-template-columns: minmax(0, 1fr) 180px; align-items: end; gap: 0 32px; }
.cm-funciona-intro h2 { margin: 0; max-width: 16em; }
.cm-funciona-mascote { grid-column: 2; grid-row: 1 / span 2; margin: 0; max-width: 180px; }
.cm-passos { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; position: relative; border-top: 1.5px solid color-mix(in srgb, var(--cm-azul) 30%, transparent); }
.cm-passo { grid-template-columns: 1fr; padding: 26px 24px 0 0; background: none; border-radius: 0; box-shadow: none; }
.cm-passo::before { content: ""; position: absolute; top: -7px; left: 0; width: 12px; height: 12px; border-radius: 50%; background: var(--cm-nevoa); border: 2px solid var(--cm-azul); }
.cm-passo:hover { transform: none; }
.cm-passo:hover::before { background: var(--cm-azul); }
.cm-passo-num { grid-row: auto; margin: 0 0 10px; }
.cm-funciona-cta { margin-top: 8px; }
@media (max-width: 899px) {
	.cm-passos { grid-template-columns: 1fr; border-top: 0; border-left: 1.5px solid color-mix(in srgb, var(--cm-azul) 30%, transparent); margin-left: 6px; }
	.cm-passo { padding: 0 0 26px 26px; }
	.cm-passo::before { top: 4px; left: -7px; }
	.cm-funciona-intro { grid-template-columns: minmax(0, 1fr) 110px; }
	.cm-funciona-mascote { max-width: 110px; }
}

/* Feiras sem travessão: nome em cima, texto embaixo */
.cm-feiras-lista strong { margin-bottom: 2px; }
.cm-citacao { padding-left: 0; }

/* FAQ e títulos de formulário em Instrument Sans (o "Q" da Bricolage tem cauda longa) */
.cm-acordeao summary, .colchominas .vl-form-titulo { font-family: var(--cm-texto); font-weight: 600; letter-spacing: -.01em; }
.cm-faq-bloco > :first-child { margin-top: 0; }

/* Formulário: controles da marca, grade sem buraco */
.colchominas .vl-form select { -webkit-appearance: none; appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D4E9E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 18px; }
.colchominas .vl-form input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--cm-azul); vertical-align: -4px; margin: 0 6px 0 0; }
.colchominas .vl-form-lgpd label { display: inline-flex; align-items: flex-start; gap: 4px; min-height: 44px; }
.colchominas .vl-form input[type="file"] { width: 100%; padding: 10px; border: 1.5px dashed color-mix(in srgb, var(--cm-tinta) 24%, transparent); border-radius: 10px; background: var(--cm-cal); font: inherit; font-size: .9375rem; color: var(--cm-cinza); }
.colchominas .vl-form input[type="file"]::file-selector-button { margin-right: 14px; padding: 10px 18px; border: 0; border-radius: 999px; background: var(--cm-azul); color: var(--cm-branco); font: 600 .875rem/1 var(--cm-texto); cursor: pointer; }
.vl-form-campo:has([name="vl_nome"]):has(+ .vl-form-campo [name="vl_empresa"]), .vl-form-campo:has([name="vl_marcas"]), .vl-form-campo:has([name="vl_area"]) { grid-column: 1 / -1; }

/* Topo do site no tablet e no celular: ações encostadas à direita */
@media (max-width: 1023px) {
	.cm-topo-in { gap: 12px; }
	.cm-burger { margin-right: -8px; }
}

/* Catálogo: mesma caixa de foto para todos, "Ver a ficha" no pé do cartão */
.cm-card-foto img { position: absolute; inset: 12% 7% 9%; width: 86%; height: 79%; object-fit: contain; }
.cm-card-texto { grid-template-rows: auto auto auto 1fr; }
.cm-card-ver { align-self: end; }
.cm-card-dados { gap: 2px 0; }
@media (max-width: 767px) {
	.cm-grade, .cm-relacionados .cm-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.cm-card { border-radius: 16px; }
	.cm-card-texto { padding: 12px 12px 14px; gap: 4px; }
	.cm-card-nome { font-size: 1.25rem; }
	.cm-card-dados { font-size: .8125rem; }
	.cm-card-dados span:nth-child(3) { display: none; }
	.cm-card-lugar { font-size: .625rem; letter-spacing: .1em; }
	.cm-card-ver { font-size: .8125rem; }
	.cm-filtros { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(-1 * var(--cm-margem)); padding: 0 var(--cm-margem) 4px; scrollbar-width: none; }
	.cm-filtros::-webkit-scrollbar { display: none; }
	.cm-filtro { flex: none; }
	.cm-cadastro-mascote { display: none; }
}

/* Garantia: lista numerada simples ao lado do formulário */
.cm-lista-num { display: grid; gap: 0; border-top: 1px solid var(--cm-fio); align-self: start; }
.cm-item-num { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 2px 12px; padding: 18px 0; border-bottom: 1px solid var(--cm-fio); }
.cm-item-num-n { grid-row: span 2; margin: 0; font-family: var(--cm-titulos); font-weight: 700; color: var(--cm-telha-escura); }
.cm-item-num-tit { margin: 0; font-size: 1.125rem !important; }
.cm-item-num-txt { margin: 0; color: var(--cm-cinza); }

/* Contato: o mapa é o contorno de Minas com o pino da fábrica (o do Google, só no clique) */
.cm-mapa-fundo { display: grid; place-items: center; }
.cm-mg--fabrica { width: min(70%, 560px); opacity: .9; }
.cm-mg--fabrica .cm-mg-contorno { fill: color-mix(in srgb, var(--cm-serra) 10%, transparent); stroke: color-mix(in srgb, var(--cm-serra) 45%, transparent); }
.cm-mg--fabrica .cm-mg-onda { fill: none; stroke: var(--cm-telha); stroke-width: 3; animation: cm-onda 2.2s var(--cm-suave) infinite; transform-box: fill-box; transform-origin: center; }
.cm-mapa-cartao { position: absolute; right: 24px; bottom: 24px; margin: 0; text-align: left; }
.cm-mapa-cartao .cm-acoes { justify-content: flex-start; }
@media (max-width: 767px) { .cm-mapa { display: block; min-height: 0; } .cm-mapa-fundo { position: relative; padding: 24px 0 0; } .cm-mapa-cartao { position: relative; right: auto; bottom: auto; margin: 0 12px 12px; } }

/* Política: títulos em tamanho de texto */
.colchominas .vl-politica h2 { font-size: clamp(1.4rem, 2.2vw, 1.875rem); margin-top: 1.6em; }

/* Rodapé: CEP sem quebrar; créditos sem ponto solto no início da linha */
.cm-contato-val { word-break: normal; }
.cm-link-claro { color: var(--cm-branco); }
.cm-link-claro:hover { color: var(--cm-ceu); }
@media (max-width: 767px) {
	.cm-rodape-base p { display: grid; gap: 4px; }
	.cm-rodape-legal-item .cm-sep { display: none; }
	.cm-rodape-frase { padding-top: 56px; margin-bottom: 40px; }
}
