/* GuiaMart: landing pages. Tudo é guiado pelas variáveis --gm-* definidas
   em "Aparência da landing page" de cada produto. Também é carregado dentro
   do editor de blocos, para a edição ser fiel ao resultado. */

body.gm-pagina--landing {
	margin: 0;
	background: var(--gm-fundo);
	color: var(--gm-texto);
}

.gm-landing,
.editor-styles-wrapper {
	background: var(--gm-fundo);
	color: var(--gm-texto);
	font-family: var(--gm-fonte-texto);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

.gm-landing { overflow-x: clip; }
.gm-landing ::selection { background: var(--gm-primaria); color: #fff; }

.gm-landing img { max-width: 100%; height: auto; }
.gm-landing a:where(:not(.gm-btn)) { color: var(--gm-primaria); }

:is(.gm-landing, .editor-styles-wrapper) :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--gm-fonte-titulo);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: inherit;
	text-wrap: balance;
}
:is(.gm-landing, .editor-styles-wrapper) p { text-wrap: pretty; }
:is(.gm-landing, .editor-styles-wrapper) h3 { font-size: 1.3rem; }

/* Ritmo vertical consistente, independente do tema. */
.gm-landing > * { margin-block: 0; }
:is(.gm-landing, .editor-styles-wrapper) :where(.wp-block-group, .wp-block-column, .wp-block-cover__inner-container, .wp-block-details) > * { margin-block: 0; }
:is(.gm-landing, .editor-styles-wrapper) :where(.wp-block-group, .wp-block-column, .wp-block-cover__inner-container, .wp-block-details) > * + * { margin-block-start: 1.1rem; }
:is(.gm-landing, .editor-styles-wrapper) :where(.wp-block-group, .wp-block-column, .wp-block-cover__inner-container) > :is(h1, h2) + * { margin-block-start: 1.2rem; }

/* Seções ------------------------------------------------------------ */
:is(.gm-landing, .editor-styles-wrapper) .gm-secao {
	padding-block: var(--gm-secao);
	padding-inline: clamp(16px, 4vw, 32px);
	box-sizing: border-box;
}
:is(.gm-landing, .editor-styles-wrapper) .alignfull { width: 100%; max-width: none; margin-inline: 0; }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-cover.gm-secao { padding-inline: clamp(16px, 4vw, 32px); }
/* A seção já tem o próprio respiro lateral: o recuo global do tema não soma. */
:is(.gm-landing, .editor-styles-wrapper) .gm-secao .has-global-padding { padding-inline: 0; }

:is(.gm-landing, .editor-styles-wrapper) .gm-titulo-hero {
	font-size: clamp(2.5rem, 6.2vw, 4.6rem);
	line-height: 1.02;
	letter-spacing: -0.025em;
}
:is(.gm-landing, .editor-styles-wrapper) .is-style-gm-titulo-secao {
	font-size: clamp(1.85rem, 3.8vw, 2.8rem);
	line-height: 1.1;
	letter-spacing: -0.018em;
}
:is(.gm-landing, .editor-styles-wrapper) .is-style-gm-sobretitulo {
	font-family: var(--gm-fonte-texto);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
:is(.gm-landing, .editor-styles-wrapper) .is-style-gm-destaque {
	font-family: var(--gm-fonte-titulo);
	font-size: clamp(1.3rem, 2.4vw, 1.7rem);
	line-height: 1.35;
}
:is(.gm-landing, .editor-styles-wrapper) .gm-lead { font-size: clamp(1.06rem, 1.5vw, 1.2rem); line-height: 1.6; opacity: 0.92; }
:is(.gm-landing, .editor-styles-wrapper) .gm-estreito { max-width: 720px; margin-inline: auto; }
:is(.gm-landing, .editor-styles-wrapper) .gm-nota { font-size: 0.95rem; opacity: 0.85; }
:is(.gm-landing, .editor-styles-wrapper) mark.has-inline-color { background: none; }

/* Paleta da landing (os blocos usam estas classes). */
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-primaria-color { color: var(--gm-primaria) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-secundaria-color { color: var(--gm-secundaria) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-destaque-color { color: var(--gm-destaque) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-fundo-color { color: var(--gm-fundo) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-superficie-color { color: var(--gm-superficie) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-texto-color { color: var(--gm-texto) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-escuro-color { color: var(--gm-escuro) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-claro-color { color: var(--gm-claro) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-branco-color { color: #fff !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-preto-color { color: #000 !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-primaria-background-color { background-color: var(--gm-primaria) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-secundaria-background-color { background-color: var(--gm-secundaria) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-destaque-background-color { background-color: var(--gm-destaque) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-fundo-background-color { background-color: var(--gm-fundo) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-superficie-background-color { background-color: var(--gm-superficie) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-texto-background-color { background-color: var(--gm-texto) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-escuro-background-color { background-color: var(--gm-escuro) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-claro-background-color { background-color: var(--gm-claro) !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-branco-background-color { background-color: #fff !important; }
:is(.gm-landing, .editor-styles-wrapper, body) .has-gm-preto-background-color { background-color: #000 !important; }

/* Colunas ----------------------------------------------------------- */
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns { gap: clamp(24px, 4vw, 56px); margin-block-end: 0; }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.is-style-gm-cartoes,
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.gm-colunas-3,
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.gm-galeria-paginas,
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.is-style-gm-faixa {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
	gap: clamp(16px, 2.2vw, 26px);
}
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.gm-colunas-3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.gm-galeria-paginas { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: clamp(20px, 3vw, 40px); }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.is-style-gm-cartoes > .wp-block-column,
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.gm-colunas-3.is-style-gm-cartoes > .wp-block-column {
	padding: clamp(20px, 2.6vw, 28px);
	border-radius: var(--gm-raio);
	background: var(--gm-superficie);
	box-shadow: var(--gm-sombra);
	border: 1px solid color-mix(in srgb, var(--gm-texto) 7%, transparent);
}
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.is-style-gm-cartoes .gm-item { margin: 0; }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.is-style-gm-faixa { gap: 0; }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.is-style-gm-faixa > .wp-block-column { padding: 6px clamp(14px, 2vw, 26px); }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.is-style-gm-faixa > .wp-block-column + .wp-block-column { border-left: 1px solid color-mix(in srgb, var(--gm-texto) 12%, transparent); }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.is-style-gm-faixa .gm-item { margin: 0; }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.is-style-gm-faixa .gm-item__titulo { font-size: 0.95rem; }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.is-style-gm-faixa .gm-item__desc { font-size: 0.85rem; }
@media (max-width: 781px) {
	:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.is-style-gm-faixa { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 18px; }
	:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.is-style-gm-faixa > .wp-block-column + .wp-block-column { border-left: 0; }
	:is(.gm-landing, .editor-styles-wrapper) .gm-colunas-invertidas { flex-direction: column-reverse; }
	.gm-landing .gm-ocultar-celular { display: none; }
	.gm-landing .wp-block-image.is-style-gm-livro { text-align: center; }
	.gm-landing .wp-block-image.is-style-gm-livro img { max-width: min(72vw, 300px); height: auto; }
}
@media (max-width: 480px) {
	.gm-landing .gm-btn.gm-btn--grande { width: 100%; padding: 0.95em 1.1em; font-size: 0.95rem; letter-spacing: 0.01em; }
	.gm-landing .gm-compra { align-items: stretch; }
	.gm-landing .gm-compra .gm-selos-compra { justify-content: center; }
}
@media (max-width: 420px) {
	:is(.gm-landing, .editor-styles-wrapper) .wp-block-columns.is-style-gm-faixa { grid-template-columns: minmax(0, 1fr); }
}
.gm-faixa-recursos { padding: 26px clamp(16px, 4vw, 32px); box-shadow: 0 1px 0 color-mix(in srgb, var(--gm-texto) 8%, transparent), 0 -1px 0 color-mix(in srgb, var(--gm-texto) 8%, transparent); }
.gm-faixa-recursos .gm-item__icone { color: var(--gm-primaria); }

/* Grupos ------------------------------------------------------------ */
:is(.gm-landing, .editor-styles-wrapper) .wp-block-group.is-style-gm-cartao {
	padding: clamp(22px, 3vw, 36px);
	border-radius: calc(var(--gm-raio) * 1.2);
	background: var(--gm-superficie);
	box-shadow: var(--gm-sombra-forte);
}
:is(.gm-landing, .editor-styles-wrapper) .wp-block-group.is-style-gm-vidro {
	padding: clamp(20px, 3vw, 32px);
	border-radius: calc(var(--gm-raio) * 1.2);
	background: rgb(255 255 255 / 11%);
	border: 1px solid rgb(255 255 255 / 22%);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: #fff;
}
:is(.gm-landing, .editor-styles-wrapper) .wp-block-group.is-style-gm-vidro .gm-item { margin: 0; }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-group.is-style-gm-vidro .gm-item + .gm-item { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgb(255 255 255 / 14%); }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-group.is-style-gm-borda {
	padding: clamp(22px, 3vw, 32px);
	border-radius: var(--gm-raio);
	border: 1px solid color-mix(in srgb, var(--gm-texto) 16%, transparent);
}

/* Imagens ----------------------------------------------------------- */
:is(.gm-landing, .editor-styles-wrapper) .wp-block-image { margin-block: 0; }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-image figcaption { margin-top: 12px; font-size: 0.92rem; font-weight: 700; text-align: center; opacity: 0.85; }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-image.is-style-gm-livro { perspective: 1600px; margin-block: 32px; }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-image.is-style-gm-livro img {
	border-radius: 3px 10px 10px 3px;
	transform: rotateY(-16deg) rotateX(3deg);
	transform-origin: center left;
	box-shadow:
		inset 6px 0 10px -6px rgb(0 0 0 / 35%),
		22px 26px 40px -14px rgb(0 0 0 / 45%),
		6px 8px 14px rgb(0 0 0 / 18%);
	transition: transform 0.6s cubic-bezier(.2, .7, .2, 1);
}
:is(.gm-landing, .editor-styles-wrapper) .wp-block-image.is-style-gm-livro img:hover { transform: rotateY(-6deg) rotateX(1deg); }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-image.is-style-gm-sombra img { border-radius: var(--gm-raio); box-shadow: var(--gm-sombra-forte); }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-image.is-style-gm-inclinada img {
	border: 10px solid var(--gm-superficie);
	border-radius: calc(var(--gm-raio) * 1.6);
	box-shadow: var(--gm-sombra-forte);
	transform: rotate(-2.2deg);
}

/* Listas ------------------------------------------------------------ */
:is(.gm-landing, .editor-styles-wrapper) .is-style-gm-checklist { margin-block: 1.4rem 0; padding: 0; list-style: none; }
:is(.gm-landing, .editor-styles-wrapper) .is-style-gm-checklist > li { position: relative; padding-left: 44px; }
:is(.gm-landing, .editor-styles-wrapper) .is-style-gm-checklist > li + li { margin-top: 18px; }
:is(.gm-landing, .editor-styles-wrapper) .is-style-gm-checklist > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.05em;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--gm-primaria) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 15px no-repeat;
}
:is(.gm-landing, .editor-styles-wrapper) .is-style-gm-checklist > li strong { font-size: 1.04em; }

:is(.gm-landing, .editor-styles-wrapper) .gm-lista-x { padding: 0; list-style: none; }
:is(.gm-landing, .editor-styles-wrapper) .gm-lista-x > li { position: relative; padding-left: 34px; }
:is(.gm-landing, .editor-styles-wrapper) .gm-lista-x > li + li { margin-top: 12px; }
:is(.gm-landing, .editor-styles-wrapper) .gm-lista-x > li::before { content: "✕"; position: absolute; left: 4px; top: 0; color: #c2410c; font-weight: 800; }

:is(.gm-landing, .editor-styles-wrapper) .is-style-gm-cartoes:is(ul, ol) {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
	gap: 16px;
	margin-block: 2rem 0;
	padding: 0;
	list-style: none;
	counter-reset: gm-item;
}
:is(.gm-landing, .editor-styles-wrapper) .is-style-gm-cartoes.gm-lista-1col { grid-template-columns: minmax(0, 1fr); }
:is(.gm-landing, .editor-styles-wrapper) .is-style-gm-cartoes:is(ul, ol) > li {
	position: relative;
	margin: 0;
	padding: 20px 20px 20px 22px;
	border-radius: var(--gm-raio);
	background: var(--gm-superficie);
	box-shadow: var(--gm-sombra);
	line-height: 1.45;
	font-size: 0.95rem;
}
:is(.gm-landing, .editor-styles-wrapper) .is-style-gm-cartoes:is(ol) > li { counter-increment: gm-item; padding-left: 70px; }
:is(.gm-landing, .editor-styles-wrapper) .is-style-gm-cartoes:is(ol) > li::before {
	content: counter(gm-item, decimal-leading-zero);
	position: absolute;
	left: 20px;
	top: 20px;
	font-family: var(--gm-fonte-titulo);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	color: var(--gm-primaria);
}
:is(.gm-landing, .editor-styles-wrapper) .is-style-gm-cartoes > li strong { display: inline-block; margin-bottom: 2px; font-size: 1.04rem; }

/* Citação ----------------------------------------------------------- */
:is(.gm-landing, .editor-styles-wrapper) .wp-block-quote.is-style-gm-citacao {
	max-width: 760px;
	margin: clamp(40px, 6vw, 64px) auto 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	text-align: center;
}
:is(.gm-landing, .editor-styles-wrapper) .wp-block-quote.is-style-gm-citacao p {
	font-family: var(--gm-fonte-titulo);
	font-size: clamp(1.5rem, 3.2vw, 2.25rem);
	font-style: italic;
	line-height: 1.25;
	color: var(--gm-secundaria);
}
:is(.gm-landing, .editor-styles-wrapper) .wp-block-quote.is-style-gm-citacao cite { display: block; margin-top: 14px; font-size: 0.98rem; font-style: normal; opacity: 0.8; }

/* FAQ (blocos Detalhes) -------------------------------------------- */
:is(.gm-landing, .editor-styles-wrapper) .wp-block-details.is-style-gm-faq {
	margin-block: 0;
	padding: 0;
	border-bottom: 1px solid color-mix(in srgb, var(--gm-texto) 14%, transparent);
}
:is(.gm-landing, .editor-styles-wrapper) .wp-block-details.is-style-gm-faq + .wp-block-details.is-style-gm-faq { margin-top: 0; }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-details.is-style-gm-faq > summary {
	position: relative;
	padding: 20px 44px 20px 0;
	font-family: var(--gm-fonte-titulo);
	font-size: 1.12rem;
	font-weight: 700;
	line-height: 1.35;
	list-style: none;
	cursor: pointer;
}
:is(.gm-landing, .editor-styles-wrapper) .wp-block-details.is-style-gm-faq > summary::-webkit-details-marker { display: none; }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-details.is-style-gm-faq > summary::after {
	content: "+";
	position: absolute;
	right: 4px;
	top: 50%;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	margin-top: -15px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--gm-primaria) 12%, transparent);
	color: var(--gm-primaria);
	font-family: var(--gm-fonte-texto);
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1;
	transition: transform 0.2s ease;
}
:is(.gm-landing, .editor-styles-wrapper) .wp-block-details.is-style-gm-faq[open] > summary::after { content: "–"; }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-details.is-style-gm-faq > summary:focus-visible { outline: 3px solid var(--gm-destaque); outline-offset: 2px; }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-details.is-style-gm-faq > :not(summary) { margin: 0 0 20px; padding-right: 44px; opacity: 0.88; }
:is(.gm-landing, .editor-styles-wrapper) .gm-modulo { border-radius: var(--gm-raio); background: var(--gm-superficie); border-bottom: 0 !important; padding: 0 22px !important; margin-top: 12px !important; }
:is(.gm-landing, .editor-styles-wrapper) .gm-modulo ul { margin: 0 0 18px; padding-left: 20px; }

/* Capas (cover) ----------------------------------------------------- */
:is(.gm-landing, .editor-styles-wrapper) .wp-block-cover { padding-block: var(--gm-secao); }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-cover .wp-block-cover__inner-container { width: 100%; color: inherit; }
:is(.gm-landing, .editor-styles-wrapper) .wp-block-cover.is-light .wp-block-cover__inner-container { color: var(--gm-texto); }
@media (max-width: 781px) {
	:is(.gm-landing, .editor-styles-wrapper) .gm-hero-landing.wp-block-cover { min-height: 0 !important; }
	:is(.gm-landing, .editor-styles-wrapper) .gm-hero-landing.wp-block-cover .wp-block-cover__background { background: var(--gm-fundo) !important; opacity: 0.93 !important; }
	:is(.gm-landing, .editor-styles-wrapper) .gm-cta-final.wp-block-cover .wp-block-cover__background { background: var(--gm-escuro) !important; opacity: 0.86 !important; }
}

/* Abertura ---------------------------------------------------------- */
:is(.gm-landing, .editor-styles-wrapper) .gm-hero-landing { padding-block: clamp(40px, 7vw, 96px); }
:is(.gm-landing, .editor-styles-wrapper) .gm-hero-landing .gm-item { margin-block: 16px 0; }
:is(.gm-landing, .editor-styles-wrapper) .gm-hero-tech {
	background-image:
		radial-gradient(60% 55% at 50% 0%, color-mix(in srgb, var(--gm-primaria) 32%, transparent), transparent 70%),
		radial-gradient(40% 40% at 90% 30%, color-mix(in srgb, var(--gm-secundaria) 18%, transparent), transparent 70%);
}
:is(.gm-landing, .editor-styles-wrapper) .gm-terminal {
	position: relative;
	margin-top: 44px !important;
	padding: 52px 26px 26px;
	border-radius: var(--gm-raio);
	background: var(--gm-escuro);
	border: 1px solid color-mix(in srgb, var(--gm-texto) 14%, transparent);
	box-shadow: 0 30px 80px -30px color-mix(in srgb, var(--gm-primaria) 60%, transparent);
	color: var(--gm-secundaria);
	font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.95rem;
	line-height: 1.8;
	text-align: left;
	white-space: pre-wrap;
	overflow-x: auto;
}
:is(.gm-landing, .editor-styles-wrapper) .gm-terminal::before {
	content: "";
	position: absolute;
	left: 20px;
	top: 20px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #ff5f57;
	box-shadow: 20px 0 #febc2e, 40px 0 #28c840;
}

/* Comparativo antes/depois ------------------------------------------ */
:is(.gm-landing, .editor-styles-wrapper) .gm-comparativo { margin-top: 2.2rem !important; }
:is(.gm-landing, .editor-styles-wrapper) .gm-comparativo__antes { opacity: 0.88; height: 100%; }
:is(.gm-landing, .editor-styles-wrapper) .gm-comparativo__depois { height: 100%; outline: 2px solid var(--gm-primaria); outline-offset: -2px; }

/* Depoimentos e preço dentro da landing ----------------------------- */
:is(.gm-landing, .editor-styles-wrapper) .gm-depoimentos { gap: 22px; }
:is(.gm-landing, .editor-styles-wrapper) .gm-depoimentos > * + * { margin-block-start: 0; }

/* Chamada final ----------------------------------------------------- */
:is(.gm-landing, .editor-styles-wrapper) .gm-cta-final .gm-compra { margin-bottom: 0; }

/* Barra de compra fixa no celular ----------------------------------- */
.gm-barra-compra {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	display: none;
	align-items: center;
	gap: 12px;
	padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
	background: color-mix(in srgb, var(--gm-superficie) 94%, transparent);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-top: 1px solid color-mix(in srgb, var(--gm-texto) 12%, transparent);
	box-shadow: 0 -10px 30px -12px rgb(0 0 0 / 25%);
	color: var(--gm-texto);
	font-family: var(--gm-fonte-texto);
	transform: translateY(110%);
	transition: transform 0.3s ease;
}
.gm-barra-compra.is-visivel { transform: translateY(0); }
.gm-barra-compra__info { display: flex; flex-direction: column; min-width: 0; flex: 1; line-height: 1.25; }
.gm-barra-compra__titulo { overflow: hidden; font-size: 0.82rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; opacity: 0.8; }
.gm-preco--barra { font-size: 1.05rem; color: var(--gm-primaria); }
.gm-barra-compra .gm-btn { min-height: 46px; padding: 0.7em 1.2em; font-size: 0.95rem; white-space: nowrap; }
@media (max-width: 860px) {
	.gm-barra-compra { display: flex; }
	body.gm-pagina--landing { padding-bottom: 0; }
}

/* Rodapé da landing ------------------------------------------------- */
.gm-landing-rodape {
	padding: 28px clamp(16px, 4vw, 32px) calc(28px + env(safe-area-inset-bottom));
	background: var(--gm-escuro);
	color: rgb(255 255 255 / 78%);
	font-family: var(--gm-fonte-texto);
	font-size: 0.88rem;
}
.gm-landing-rodape__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; max-width: var(--gm-largura); margin: 0 auto; }
.gm-landing-rodape p { margin: 0; }
.gm-landing-rodape ul { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; padding: 0; list-style: none; }
.gm-landing-rodape a { color: #fff; text-decoration: none; }
.gm-landing-rodape a:hover { text-decoration: underline; }
@media (max-width: 860px) {
	.gm-landing-rodape { padding-bottom: 96px; }
}
