/*
Theme Name: Gonzaga
Description: Tema do site do mandato do Subtenente Gonzaga (Deputado Federal eleito).
Version: 0.5.1
Requires at least: 7.0
Requires PHP: 8.2
Text Domain: gonzaga
*/

/* Cores, fontes e tamanhos ficam no theme.json; aqui so o que ele nao cobre.
   Classes proprias usam o prefixo gz-. Sem vermelho em lugar nenhum.
   Visual de vidro (aprovado em 22/10/2026): fundo azul-marinho com brilhos nas cores da marca
   e cartoes de vidro fosco por cima. */

:root {
	--gz-raio: 24px;
	--gz-raio-p: 16px;
	--gz-raio-g: 32px;
	--gz-ease: cubic-bezier(.2, .7, .2, 1);
	--gz-degrade: linear-gradient(120deg, #FFD500 0%, #00A651 100%);
	--gz-vidro: rgba(255, 255, 255, .07);
	--gz-vidro-forte: rgba(255, 255, 255, .11);
	--gz-vidro-borda: rgba(255, 255, 255, .14);
	--gz-blur: blur(20px) saturate(140%);
	--gz-sombra: 0 24px 60px -30px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 255, 255, .12);
}

/* Cabecalho, conteudo e rodape colados (sem o respiro padrao entre blocos de topo) */
.wp-site-blocks > * + * { margin-block-start: 0; }
html { scroll-padding-top: 104px; }

/* ---------- Fundo: brilhos nas cores da marca ----------
   Camada fixa atras de tudo; gradientes radiais ja sao suaves, entao nao precisa de filter: blur. */
body { position: relative; }
body::before {
	content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
	background:
		radial-gradient(42vmax 42vmax at 4% 2%, rgba(0, 166, 81, .30), transparent 70%),
		radial-gradient(40vmax 40vmax at 100% 22%, rgba(0, 90, 170, .45), transparent 70%),
		radial-gradient(26vmax 26vmax at 46% 48%, rgba(255, 213, 0, .09), transparent 70%),
		radial-gradient(44vmax 44vmax at 0% 100%, rgba(0, 90, 170, .32), transparent 70%),
		radial-gradient(34vmax 34vmax at 96% 96%, rgba(0, 166, 81, .20), transparent 70%),
		var(--wp--preset--color--navy);
}
.wp-site-blocks { position: relative; z-index: 0; }

/* ---------- Vidro ---------- */
.gz-vidro, .gz-card, .gz-ferramenta, .gz-proposta, .gz-noticia, .gz-numeros-lista li,
.gz-lista-leis li, .gz-compartilhar button {
	background: var(--gz-vidro);
	border: 1px solid var(--gz-vidro-borda);
	-webkit-backdrop-filter: var(--gz-blur);
	backdrop-filter: var(--gz-blur);
	box-shadow: var(--gz-sombra);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.gz-vidro, .gz-card, .gz-ferramenta, .gz-proposta, .gz-noticia, .gz-numeros-lista li, .gz-lista-leis li { background: rgba(18, 48, 73, .92); }
}

/* Trecho do titulo em degrade: marcador "realce" do editor dentro de titulos */
:is(h1, h2, h3, .gz-numero) mark,
.gz-numero {
	background-image: var(--gz-degrade) !important;
	-webkit-background-clip: text; background-clip: text;
	color: transparent !important; -webkit-text-fill-color: transparent;
	padding: 0;
}

/* ---------- Cabecalho: pilula de vidro flutuante ---------- */
.wp-site-blocks > header:first-child,
.wp-site-blocks > .wp-block-template-part:first-child { position: sticky; top: 0; z-index: 50; }
.gz-cabecalho { padding-top: 18px; }
/* O vidro fica numa camada de fundo: backdrop-filter na propria barra prenderia o menu
   de celular (position: fixed) dentro dela. */
.gz-cabecalho-linha {
	position: relative; isolation: isolate;
	min-height: 64px; padding: 0 .6rem 0 1.4rem;
	border-radius: 999px;
}
.gz-cabecalho-linha::before {
	content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
	background: rgba(10, 29, 46, .55);
	border: 1px solid var(--gz-vidro-borda);
	-webkit-backdrop-filter: var(--gz-blur);
	backdrop-filter: var(--gz-blur);
	box-shadow: var(--gz-sombra);
	transition: background-color .3s ease;
}
.gz-cabecalho.gz-rolou .gz-cabecalho-linha::before { background: rgba(10, 29, 46, .78); }
.gz-logo { display: flex; align-items: center; }
.gz-logo img { height: 40px; width: auto; display: block; }
.gz-nav .wp-block-navigation-item__content { padding: .55rem .8rem; border-radius: 999px; transition: background-color .2s ease, color .2s ease; }
.gz-nav a:hover, .gz-nav a:focus-visible { color: #fff !important; background: rgba(255, 255, 255, .1); }
.gz-nav .current-menu-item > a, .gz-nav [aria-current="page"] { color: var(--wp--preset--color--amarelo) !important; background: rgba(255, 213, 0, .14); }
.gz-nav .gz-nav-cta > a {
	background: var(--gz-degrade);
	color: var(--wp--preset--color--navy) !important;
	padding: .65rem 1.2rem;
	box-shadow: 0 14px 30px -14px rgba(0, 166, 81, .8);
}
.gz-nav .gz-nav-cta > a:hover { background: var(--gz-degrade); color: var(--wp--preset--color--navy) !important; filter: brightness(1.08); }
.gz-nav .wp-block-navigation__responsive-container-open,
.gz-nav .wp-block-navigation__responsive-container-close {
	width: 44px; height: 44px; justify-content: center; align-items: center;
	border: 1px solid rgba(255, 255, 255, .25); border-radius: 50%; background: rgba(255, 255, 255, .08);
}
.gz-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.5rem;
	background: var(--wp--preset--color--navy) !important;
}
.gz-nav .is-menu-open .wp-block-navigation__container { gap: 1rem; font-size: 1.5rem; }
.gz-nav .is-menu-open .gz-nav-cta > a { padding: .75rem 1.4rem !important; margin-top: .5rem; }
/* Menu numa linha so; abaixo de 1000px os seis itens + botao nao cabem, entao vira hamburguer
   (o WordPress so faz isso abaixo de 600px). */
.gz-nav .wp-block-navigation__container { flex-wrap: nowrap; }
.gz-nav .wp-block-navigation-item__content { white-space: nowrap; }
@media (max-width: 1180px) {
	.gz-nav .wp-block-navigation__container { gap: .2rem; }
}
@media (max-width: 1000px) {
	.gz-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.gz-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* ---------- Pecas comuns ---------- */
.gz-rotulo {
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin: 0 0 .5rem;
}
.gz-secao-topo { gap: 1.25rem; margin-bottom: 2.25rem; }
.gz-secao-topo h2 { margin: 0; }
.gz-link-seta { margin: 0; }
.gz-link-seta a {
	padding: 0 1.3rem; border-radius: 999px; color: #fff !important;
	font-family: var(--wp--preset--font-family--barlow-condensed); font-size: 1rem; letter-spacing: .05em; text-transform: uppercase;
	background: var(--gz-vidro); border: 1px solid var(--gz-vidro-borda);
	-webkit-backdrop-filter: var(--gz-blur); backdrop-filter: var(--gz-blur);
	transition: background-color .2s ease;
}
.gz-link-seta a:hover { background: var(--gz-vidro-forte); }
.gz-link-seta a, .gz-seta .wp-block-button__link {
	display: inline-flex; align-items: center; gap: .5rem; min-height: 46px;
	font-weight: 700; text-decoration: none;
}
.gz-link-seta a::after, .gz-seta .wp-block-button__link::after {
	content: ""; width: 18px; height: 18px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .2s var(--gz-ease);
}
.gz-link-seta a:hover::after, .gz-seta .wp-block-button__link:hover::after { transform: translateX(4px); }

.wp-element-button {
	transition: transform .2s var(--gz-ease), box-shadow .2s ease, filter .2s ease, background-color .2s ease;
	min-height: 52px; display: inline-flex; align-items: center;
	box-shadow: 0 14px 30px -14px rgba(0, 166, 81, .8);
}
.wp-element-button:hover { transform: translateY(-2px); filter: brightness(1.08); }
.gz-btn-claro .wp-block-button__link {
	color: #fff !important; background: var(--gz-vidro) !important; border: 1px solid rgba(255, 255, 255, .3);
	-webkit-backdrop-filter: var(--gz-blur); backdrop-filter: var(--gz-blur); box-shadow: none;
}
.gz-btn-claro .wp-block-button__link:hover { background: var(--gz-vidro-forte) !important; filter: none; }

.gz-card {
	border-radius: var(--gz-raio);
	padding: 1.75rem;
	transition: transform .25s var(--gz-ease), background-color .25s ease;
}
.gz-card > :first-child { margin-top: 0; }
.gz-card > :last-child { margin-bottom: 0; }
.gz-card:hover, .gz-card-leve:hover { transform: translateY(-4px); }
.gz-card-leve { transition: transform .25s var(--gz-ease), background-color .25s ease; border-radius: var(--gz-raio); }
.gz-card-escuro { background: var(--gz-vidro-forte); color: #fff; }
.gz-card-escuro a:not(.wp-element-button) { color: #fff; }
.gz-card-destaque { background: rgba(255, 213, 0, .1); border-color: rgba(255, 213, 0, .3); }

.gz-escuro a:not(.wp-element-button) { color: var(--wp--preset--color--amarelo); }
.gz-duas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }

/* Selo com icone (escudo) em circulo degrade */
.gz-selo {
	display: inline-flex; align-items: center; gap: .6rem;
	padding: .45rem 1rem .45rem .5rem; border-radius: 999px; color: #fff;
	background: var(--gz-vidro); border: 1px solid var(--gz-vidro-borda);
	-webkit-backdrop-filter: var(--gz-blur); backdrop-filter: var(--gz-blur);
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 700; font-size: .95rem; letter-spacing: .08em; text-transform: uppercase;
}
.gz-selo::before, .gz-flutua-ico {
	content: ""; flex: none; width: 28px; height: 28px; border-radius: 50%;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A1D2E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8.3-7 10-4-1.7-7-5.5-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center / 16px no-repeat,
		var(--gz-degrade);
}

/* ---------- Abertura ---------- */
.gz-hero { position: relative; }
.gz-hero-colunas { margin: 0; }
.gz-hero-titulo { line-height: .92 !important; margin: 1.5rem 0 0; }
.gz-hero-lead { font-size: 1.3rem; max-width: 34rem; margin-top: 1.5rem; }
.gz-hero-foto-col { position: relative; }
/* Moldura de vidro atras da foto */
.gz-hero-foto-col::before {
	content: ""; position: absolute; left: 6%; right: 6%; top: 18%; bottom: 0;
	border-radius: 48px 48px 0 0; border: 1px solid var(--gz-vidro-borda); border-bottom: 0;
	background: var(--gz-vidro);
	-webkit-backdrop-filter: var(--gz-blur); backdrop-filter: var(--gz-blur);
}
.gz-hero-foto { margin: 0; position: relative; }
.gz-hero-foto img { display: block; width: 100%; max-width: 520px; height: auto; margin: 0 auto; }
.gz-flutua {
	position: absolute; z-index: 2; margin: 0;
	display: flex; align-items: center; gap: .6rem;
	padding: .75rem 1rem; border-radius: 20px;
	background: var(--gz-vidro-forte); border: 1px solid var(--gz-vidro-borda);
	-webkit-backdrop-filter: var(--gz-blur); backdrop-filter: var(--gz-blur);
	box-shadow: var(--gz-sombra);
	font-size: .875rem; font-weight: 600; line-height: 1.25; color: #fff;
}
.gz-flutua strong { font-family: var(--wp--preset--font-family--barlow-condensed); font-weight: 800; font-size: 2.5rem; line-height: 1; color: var(--wp--preset--color--amarelo); }
.gz-flutua-1 { left: 0; top: 34%; }
.gz-flutua-2 { right: 0; top: 64%; }
.gz-flutua-ico { width: 26px; height: 26px; }
.gz-js .gz-flutua { animation: gz-sobe .7s .5s var(--gz-ease) both; }
.gz-js .gz-flutua-2 { animation-delay: .7s; }

/* ---------- O mandato em numeros ---------- */
.gz-numeros-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.gz-numeros-lista li { padding: 1.6rem; border-radius: var(--gz-raio); display: flex; flex-direction: column; gap: .35rem; }
.gz-numero { font-family: var(--wp--preset--font-family--barlow-condensed); font-weight: 800; font-size: clamp(2.5rem, 4vw, 3.5rem); line-height: 1; font-variant-numeric: tabular-nums; }
.gz-numero span { color: inherit !important; }
.gz-numero-legenda { font-weight: 600; font-size: 1rem; line-height: 1.35; color: var(--wp--preset--color--nevoa); }

/* ---------- Citacao ---------- */
.gz-citacao-secao { text-align: center; }
.gz-citacao-vidro { border-radius: 36px; padding: clamp(2rem, 5vw, 3.5rem); }
.gz-aspas { display: block; margin: 0 auto 1.25rem; }
.gz-citacao { background: none !important; padding: 0 !important; margin: 0; border: 0 !important; }
.gz-citacao p { font-size: clamp(1.75rem, 3.6vw, 2.875rem); line-height: 1.12; margin: 0; color: #fff; }
.gz-citacao cite { display: block; margin-top: 1.25rem; font-family: var(--wp--preset--font-family--barlow); font-size: 1rem; font-style: normal; font-weight: 600; color: var(--wp--preset--color--nevoa); }

/* ---------- Trajetoria (grade de cards) ---------- */
.gz-bento { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.gz-bento .gz-card .gz-rotulo { color: var(--wp--preset--color--amarelo); font-size: .95rem; }
.gz-bento .gz-card h3 { font-size: 1.625rem; margin: .25rem 0 0; color: #fff; }
.gz-bento-grande {
	grid-column: span 2; grid-row: span 2; min-height: 420px;
	background: var(--gz-vidro-forte); color: #fff; border-radius: var(--gz-raio-g);
	display: flex; flex-direction: column; justify-content: space-between; padding: 2.5rem;
	position: relative; overflow: hidden;
}
.gz-bento-grande::before {
	content: ""; position: absolute; width: 360px; height: 360px; right: -90px; top: -90px; border-radius: 50%;
	background: radial-gradient(closest-side, rgba(255, 213, 0, .28), transparent); pointer-events: none;
}
.gz-bento-grande > * { position: relative; }
.gz-bento-grande .gz-rotulo { color: var(--wp--preset--color--amarelo) !important; }
.gz-bento-grande h3 { font-size: clamp(2.25rem, 4vw, 3.5rem) !important; font-weight: 800; text-transform: uppercase; line-height: 1 !important; margin-top: auto !important; }
.gz-bento-grande p:last-child { color: var(--wp--preset--color--nevoa); font-size: 1.125rem; max-width: 35rem; }
.gz-bento-azul { background: rgba(0, 90, 170, .35); border-color: rgba(120, 180, 255, .35); color: #fff; }
.gz-bento-azul .gz-rotulo { color: var(--wp--preset--color--amarelo) !important; }

/* ---------- Calculadora e emendas ---------- */
.gz-ferramenta { padding: 2.5rem; border-radius: var(--gz-raio-g); display: flex; flex-direction: column; gap: 1.25rem; background: var(--gz-vidro-forte); }
.gz-ferramenta h2 { font-size: 2.75rem; margin: 0; }
.gz-ferramenta > * { margin: 0 !important; }
.gz-exemplo { background: rgba(7, 21, 34, .45); border: 1px solid rgba(255, 255, 255, .08); border-radius: 20px; padding: 1.4rem; display: flex; flex-direction: column; gap: .9rem; }
.gz-exemplo-k { margin: 0; font-size: .875rem; color: var(--wp--preset--color--cinza-tom); }
.gz-exemplo-linha { display: flex; align-items: center; gap: .9rem; }
.gz-exemplo-linha > span:first-child { width: 6rem; font-weight: 600; font-size: .95rem; }
.gz-exemplo-linha strong { width: 6.5rem; text-align: right; }
.gz-trilho { flex: 1; height: 14px; border-radius: 7px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.gz-barra { display: block; height: 100%; width: var(--w); border-radius: 7px; transition: width 1s var(--gz-ease); }
.gz-barra-ade { background: #4F9BE0; }
.gz-barra-q { background: var(--gz-degrade); }
.gz-exemplo-total { margin: 0; font-family: var(--wp--preset--font-family--barlow-condensed); font-weight: 800; font-size: 2.125rem; color: var(--wp--preset--color--amarelo); }
.gz-busca { display: flex; flex-direction: column; gap: .5rem; margin-top: auto !important; }
.gz-busca label { font-weight: 600; }
.gz-busca-linha { display: flex; flex-wrap: wrap; gap: .5rem; }
.gz-busca input {
	flex: 1 1 220px; min-height: 52px; padding: 0 1.25rem; border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .28); font: inherit; color: #fff; background: rgba(255, 255, 255, .08);
}
.gz-busca input::placeholder { color: var(--wp--preset--color--cinza-tom); }
.gz-busca input:focus-visible { outline: 2px solid var(--wp--preset--color--amarelo); outline-offset: 2px; }
.gz-busca button {
	min-height: 52px; padding: 0 1.5rem; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--gz-degrade); color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--barlow-condensed); font-weight: 700; font-size: 1.125rem; letter-spacing: .04em; text-transform: uppercase;
	box-shadow: 0 14px 30px -14px rgba(0, 166, 81, .8);
	transition: filter .2s ease, transform .2s var(--gz-ease);
}
.gz-busca button:hover { filter: brightness(1.08); transform: translateY(-2px); }

/* ---------- Noticias ---------- */
.gz-grade-noticias { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; list-style: none; padding: 0; margin: 0; }
.gz-noticia { display: flex; flex-direction: column; gap: .6rem; height: 100%; padding: .85rem .85rem 1.4rem; border-radius: 26px; }
.gz-noticia > * { margin: 0 !important; }
.gz-noticia > :not(.gz-noticia-foto) { padding-inline: .5rem; }
.gz-noticia-foto { border-radius: 18px; overflow: hidden; background: linear-gradient(140deg, #123049, #005AAA 70%, #00A651); aspect-ratio: 16 / 10; }
.gz-noticia-foto img { transition: transform .5s var(--gz-ease); }
.gz-noticia:hover .gz-noticia-foto img { transform: scale(1.04); }
.gz-noticia .wp-block-post-title { line-height: 1.15; }
.gz-noticia .wp-block-post-title a { color: #fff; text-decoration: none; }
.gz-noticia .wp-block-post-title a:hover { color: var(--wp--preset--color--amarelo); }
.gz-paginacao { margin-top: 3rem; gap: 1rem; font-weight: 600; }
.wp-block-query-title + .gz-titulo-noticias { display: none; }

/* ---------- Propostas ---------- */
.gz-proposta { display: flex; gap: 1.25rem; align-items: flex-start; padding: 1.75rem; }
.gz-proposta > * { margin: 0 !important; }
.gz-proposta-num {
	flex: none; width: 54px; height: 54px; border-radius: var(--gz-raio-p);
	background: var(--gz-degrade); color: var(--wp--preset--color--navy);
	display: flex; align-items: center; justify-content: center;
	font-family: var(--wp--preset--font-family--barlow-condensed); font-weight: 800; font-size: 1.5rem;
}
.gz-proposta h3 { font-size: 1.625rem; margin: 0 0 .4rem; }
.gz-proposta p { margin: 0; }

/* ---------- Paginas internas ---------- */
.gz-faixa-titulo { padding-top: clamp(3rem, 7vw, 4.5rem) !important; }
.gz-faixa-titulo h1 { margin: 0; }
/* Folha de vidro com o texto da pagina (conteudo editado no painel) */
.gz-folha {
	max-width: 960px; margin: 0 auto;
	border-radius: var(--gz-raio-g); padding: clamp(1.5rem, 5vw, 3.5rem);
	font-size: 1.1875rem; line-height: 1.7;
}
.gz-folha .wp-block-post-content > :first-child { margin-top: 0; }
.gz-folha .wp-block-post-content > :last-child { margin-bottom: 0; }
.gz-folha h2, .gz-materia-texto h2 {
	display: flex; align-items: center; gap: .85rem;
	margin-top: 2.75rem; font-size: clamp(1.875rem, 3.4vw, 2.375rem);
}
.gz-folha h2::before, .gz-materia-texto h2::before {
	content: ""; flex: none; width: 10px; align-self: stretch; min-height: 1.6em; border-radius: 5px;
	background: linear-gradient(180deg, #FFD500, #00A651);
}
.gz-folha p { color: #DCE5ED; }

.gz-etiquetas { margin: 0 0 1rem; font-family: var(--wp--preset--font-family--barlow-condensed); font-weight: 700; font-size: .9rem; letter-spacing: .08em; text-transform: uppercase; }
.gz-etiquetas a { display: inline-block; padding: .35rem .75rem; border-radius: 999px; background: rgba(255, 213, 0, .14); color: var(--wp--preset--color--amarelo) !important; text-decoration: none; }
.gz-etiquetas .wp-block-post-terms__separator { display: none; }
.gz-faixa-titulo .wp-block-post-date { margin-top: 1rem; }

.gz-materia { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 4rem; align-items: start; }
.gz-materia-texto { font-size: 1.1875rem; line-height: 1.7; max-width: 720px; }
.gz-materia-texto .wp-block-post-content > p:first-child { font-size: 1.375rem; line-height: 1.55; font-weight: 500; color: #fff; }
.gz-materia-foto { border-radius: var(--gz-raio); overflow: hidden; margin-bottom: 2rem; }
.gz-lateral { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 1rem; }
.gz-lateral > * { margin: 0 !important; }
.gz-lateral-perfil figure { margin: -.5rem 0 .5rem; border-radius: 18px; overflow: hidden; background: linear-gradient(160deg, #123049, #005AAA); }
.gz-lateral-nome { font-family: var(--wp--preset--font-family--barlow-condensed); font-weight: 800; font-size: 1.75rem; line-height: 1.05; text-transform: uppercase; margin: 0; color: #fff; }

.gz-compartilhar { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .12); }
.gz-compartilhar > span { font-weight: 600; }
.gz-compartilhar a, .gz-compartilhar button {
	display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: 0 1.1rem; border-radius: 999px;
	font: inherit; font-size: 1rem; font-weight: 600; text-decoration: none; cursor: pointer;
}
.gz-compartilhar a { background: var(--gz-degrade); color: var(--wp--preset--color--navy) !important; }
.gz-compartilhar button { color: #fff; box-shadow: none; }

/* Listas de leis/propostas nas paginas internas */
.gz-lista-leis { list-style: none; padding: 0; display: grid; gap: .75rem; }
.gz-lista-leis li { border-radius: var(--gz-raio-p); padding: 1rem 1.25rem; box-shadow: none; }
.gz-foto-bio img { border-radius: var(--gz-raio); background: linear-gradient(160deg, #123049, #005AAA); }

/* ---------- Rodape: painel de vidro ---------- */
.gz-rodape { width: min(1248px, calc(100% - 2rem)); margin: 0 auto 1rem !important; border-radius: var(--gz-raio-g); }
.gz-rodape a { color: var(--wp--preset--color--nevoa); text-decoration: none; }
.gz-rodape a:hover { color: var(--wp--preset--color--amarelo); }
.gz-rodape-grade { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 2rem; }
.gz-rodape-grade .gz-logo img { height: 44px; margin-bottom: 1rem; }
.gz-rodape-links { line-height: 2; margin: 0; }
.gz-rodape-base { margin-top: 3rem !important; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .1); color: var(--wp--preset--color--cinza-tom); }

/* ---------- Movimento ---------- */
@keyframes gz-sobe { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.gz-entra { animation: gz-sobe .6s var(--gz-ease) both; }
.gz-entra-2 { animation: gz-sobe .7s .15s var(--gz-ease) both; }
/* So esconde o que vai "revelar" quando o JS esta ativo (sem JS, tudo aparece). */
.gz-js .gz-revela { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--gz-ease), transform .7s var(--gz-ease); }
.gz-js .gz-revela.gz-visivel { opacity: 1; transform: none; }
.gz-js .gz-revela:not(.gz-visivel) .gz-barra { width: 0; }
@view-transition { navigation: auto; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.gz-js .gz-revela { opacity: 1; transform: none; }
	.gz-js .gz-revela:not(.gz-visivel) .gz-barra { width: var(--w); }
	@view-transition { navigation: none; }
}

/* ---------- Celular e tablet ---------- */
@media (max-width: 900px) {
	.gz-numeros-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
	.gz-bento, .gz-duas, .gz-grade-noticias, .gz-materia { grid-template-columns: 1fr; }
	.gz-bento-grande { grid-column: auto; grid-row: auto; min-height: 0; }
	.gz-rodape-grade { grid-template-columns: 1fr 1fr; }
	.gz-rodape-grade > :first-child { grid-column: 1 / -1; }
	.gz-lateral { position: static; }
}
@media (max-width: 781px) {
	/* Vidro mais leve no celular: menos desfoque pesa menos em aparelho simples */
	:root { --gz-blur: blur(14px) saturate(140%); }
	.gz-cabecalho { padding: 12px 1rem 0 !important; }
	.gz-cabecalho-linha { min-height: 60px; padding-left: 1.1rem; }
	.gz-logo img { height: 32px; }
	.gz-hero { padding-top: 2.5rem !important; }
	.gz-hero-texto { padding-bottom: 1rem !important; }
	.gz-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.gz-hero .wp-block-button__link { width: 100%; justify-content: center; }
	.gz-hero-foto img { max-width: 330px; }
	.gz-flutua { padding: .55rem .75rem; font-size: .75rem; border-radius: 16px; }
	.gz-flutua strong { font-size: 1.875rem; }
	.gz-flutua-2 { display: none; }
	.gz-numeros-lista li { padding: 1rem; border-radius: 20px; }
	.gz-numero { font-size: 2.375rem; }
	.gz-numero-legenda { font-size: .875rem; }
	.gz-citacao-vidro { border-radius: 28px; }
	.gz-ferramenta { padding: 1.5rem; border-radius: 28px; }
	.gz-ferramenta h2 { font-size: 2.25rem; }
	.gz-exemplo-linha > span:first-child { width: 4.75rem; font-size: .875rem; }
	.gz-exemplo-linha strong { width: auto; font-size: .9rem; }
	.gz-exemplo-total { font-size: 1.75rem; }
	.gz-bento-grande { padding: 1.5rem; }
	.gz-proposta { padding: 1.25rem; gap: 1rem; }
	.gz-proposta-num { width: 46px; height: 46px; font-size: 1.25rem; }
	.gz-rodape { padding: 2.5rem 1.4rem 1.5rem !important; }
}
