/* Ultrafibra — base do tema. Tokens de cor e fontes vêm do painel (<style id="uf-tokens">). */

:root {
	--uf-faixa: var(--uf-primaria, #1d4ed8);
	--uf-faixa-texto: var(--uf-primaria-texto, #fff);
	--uf-faixa-suave: color-mix(in srgb, var(--uf-faixa-texto) 78%, transparent);
	/* Destaque legível em texto pequeno (contraste AA sobre o fundo). */
	--uf-destaque-texto: color-mix(in srgb, var(--uf-destaque) 55%, var(--uf-texto));
	--uf-largura: 1200px;
	--uf-espaco: clamp(3.5rem, 7vw, 6rem);
	--uf-sombra: 0 1px 2px rgb(16 24 40 / .05), 0 8px 24px -12px rgb(16 24 40 / .18);
	--uf-sombra-forte: 0 24px 48px -20px color-mix(in srgb, var(--uf-primaria) 45%, transparent);
	--uf-whatsapp: #25d366;
	--uf-whatsapp-texto: #05361a;
	--uf-transicao: 180ms cubic-bezier(.2, .7, .3, 1);
}

[data-tema="escuro"] {
	--uf-faixa: var(--uf-fundo-alt);
	--uf-faixa-texto: var(--uf-texto);
	--uf-sombra: 0 1px 2px rgb(0 0 0 / .4), 0 12px 32px -16px rgb(0 0 0 / .7);
	--uf-sombra-forte: 0 24px 60px -24px color-mix(in srgb, var(--uf-destaque) 40%, transparent);
}

/* ---------- Reset enxuto ---------- */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 88px; }
body {
	margin: 0;
	background: var(--uf-fundo);
	color: var(--uf-texto);
	font: 400 1rem/1.65 var(--uf-fonte-texto, system-ui, sans-serif);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
.uf-conteudo { flex: 1 0 auto; }
img, svg, video { display: block; max-width: 100%; height: auto; }
a { color: var(--uf-primaria); text-underline-offset: 3px; }
h1, h2, h3, h4 { font-family: var(--uf-fonte-titulo, inherit); line-height: 1.15; letter-spacing: -.02em; margin: 0; color: var(--uf-texto); }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--uf-destaque); outline-offset: 3px; border-radius: 4px; }
::selection { background: var(--uf-destaque); color: #fff; }

.uf-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.uf-pular { position: absolute; left: -9999px; z-index: 100; }
.uf-pular:focus { left: 1rem; top: 1rem; padding: .75rem 1rem; background: var(--uf-superficie); border-radius: var(--uf-raio); }
.uf-envoltorio { width: min(var(--uf-largura), 100% - 2.5rem); margin-inline: auto; }
.uf-largura-texto { max-width: 760px; }
.uf-conteudo:focus { outline: none; }
.uf-texto-suave { color: var(--uf-texto-suave); }
[data-tema="escuro"] .uf-so-claro, :root:not([data-tema="escuro"]) .uf-so-escuro { display: none; }

/* ---------- Botões ---------- */

.uf-botao {
	--b-fundo: var(--uf-superficie); --b-texto: var(--uf-texto); --b-borda: var(--uf-borda);
	display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
	min-height: 46px; padding: .6rem 1.25rem;
	border: 1.5px solid var(--b-borda); border-radius: calc(var(--uf-raio) * .8);
	background: var(--b-fundo); color: var(--b-texto);
	font: 700 .95rem/1.1 var(--uf-fonte-titulo); letter-spacing: .01em; text-decoration: none; cursor: pointer;
	transition: transform var(--uf-transicao), box-shadow var(--uf-transicao), background var(--uf-transicao), border-color var(--uf-transicao);
}
.uf-botao:hover { transform: translateY(-1px); box-shadow: var(--uf-sombra); }
.uf-botao:active { transform: translateY(0); }
.uf-botao .uf-i { flex: none; transition: transform var(--uf-transicao); }
.uf-botao:hover .uf-i:last-child:not(:first-child) { transform: translateX(3px); }
.uf-botao--primario { --b-fundo: var(--uf-primaria); --b-texto: var(--uf-primaria-texto); --b-borda: var(--uf-primaria); }
.uf-botao--primario:hover { box-shadow: var(--uf-sombra-forte); }
.uf-botao--contorno { --b-fundo: transparent; --b-borda: color-mix(in srgb, var(--uf-primaria) 40%, var(--uf-borda)); --b-texto: var(--uf-primaria); }
.uf-botao--suave { --b-fundo: color-mix(in srgb, var(--uf-primaria) 9%, var(--uf-superficie)); --b-borda: transparent; --b-texto: var(--uf-primaria); }
.uf-botao--claro { --b-fundo: var(--uf-faixa-texto); --b-texto: var(--uf-faixa); --b-borda: var(--uf-faixa-texto); }
[data-tema="escuro"] .uf-botao--claro { --b-fundo: var(--uf-primaria); --b-texto: var(--uf-primaria-texto); --b-borda: var(--uf-primaria); }
.uf-botao--whatsapp { --b-fundo: var(--uf-whatsapp); --b-texto: var(--uf-whatsapp-texto); --b-borda: var(--uf-whatsapp); }
.uf-botao--grande { min-height: 56px; padding: .8rem 1.6rem; font-size: 1.02rem; }
.uf-botao--grande small { display: block; font-weight: 600; font-size: .8rem; opacity: .8; margin-top: .15rem; }
.uf-botao--cheio { width: 100%; }
.uf-botao-icone {
	display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0;
	border: 0; border-radius: 50%; background: transparent; color: var(--uf-texto-suave); cursor: pointer;
	transition: background var(--uf-transicao), color var(--uf-transicao);
}
.uf-botao-icone:hover { background: var(--uf-fundo-alt); color: var(--uf-texto); }
.uf-link-seta { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; text-decoration: none; }
.uf-link-seta:hover .uf-i { transform: translateX(3px); }
.uf-link-seta .uf-i { transition: transform var(--uf-transicao); }

/* ---------- Cabeçalho ---------- */

.uf-topo {
	position: sticky; top: 0; z-index: 50;
	background: color-mix(in srgb, var(--uf-fundo) 86%, transparent);
	backdrop-filter: saturate(1.4) blur(14px);
	-webkit-backdrop-filter: saturate(1.4) blur(14px);
	border-bottom: 1px solid transparent;
	transition: border-color var(--uf-transicao), box-shadow var(--uf-transicao);
}
.uf-topo.is-rolado { border-bottom-color: var(--uf-borda); box-shadow: 0 6px 24px -18px rgb(0 0 0 / .4); }
.uf-topo__barra { display: flex; align-items: center; gap: 1.25rem; min-height: 76px; }
.uf-logo { display: inline-flex; align-items: center; flex: none; text-decoration: none; }
.uf-logo__img { width: auto; max-height: 46px; }
.uf-logo__img--escuro { display: none; }
[data-tema="escuro"] .uf-logo__img--claro:not(:only-child) { display: none; }
[data-tema="escuro"] .uf-logo__img--escuro { display: block; }
.uf-logo__texto { font: 800 1.35rem/1 var(--uf-fonte-titulo); color: var(--uf-primaria); letter-spacing: -.03em; }

.uf-nav { margin-left: auto; }
.uf-nav__lista { display: flex; align-items: center; gap: .15rem; }
.uf-nav__item { position: relative; display: flex; align-items: center; }
.uf-nav__link {
	padding: .55rem .8rem; border-radius: 999px;
	color: var(--uf-texto); font: 600 .95rem/1 var(--uf-fonte-titulo); text-decoration: none;
	transition: background var(--uf-transicao), color var(--uf-transicao);
}
.uf-nav__link:hover { background: var(--uf-fundo-alt); }
.uf-nav__link.is-ativo { color: var(--uf-primaria); }
.uf-nav__abrir { display: grid; place-items: center; width: 28px; height: 28px; margin-left: -.5rem; border: 0; border-radius: 50%; background: none; cursor: pointer; color: var(--uf-texto-suave); }
.uf-nav__abrir[aria-expanded="true"] .uf-i { transform: rotate(180deg); }
.uf-nav__sub {
	position: absolute; top: calc(100% + .5rem); left: 0; min-width: 240px; padding: .5rem;
	background: var(--uf-superficie); border: 1px solid var(--uf-borda); border-radius: var(--uf-raio);
	box-shadow: var(--uf-sombra); opacity: 0; visibility: hidden; transform: translateY(-6px);
	transition: opacity var(--uf-transicao), transform var(--uf-transicao), visibility var(--uf-transicao);
}
.uf-nav__item:hover > .uf-nav__sub, .uf-nav__item:focus-within > .uf-nav__sub, .uf-nav__abrir[aria-expanded="true"] + .uf-nav__sub { opacity: 1; visibility: visible; transform: none; }
.uf-nav__sub a { display: flex; align-items: center; gap: .6rem; padding: .6rem .75rem; border-radius: calc(var(--uf-raio) * .6); color: var(--uf-texto); text-decoration: none; font-weight: 600; font-size: .94rem; }
.uf-nav__sub a .uf-i { color: var(--uf-destaque); }
.uf-nav__sub a:hover, .uf-nav__sub a[aria-current] { background: var(--uf-fundo-alt); color: var(--uf-primaria); }
.uf-nav__acoes-movel { display: none; }

.uf-topo__acoes { display: flex; align-items: center; gap: .5rem; }
.uf-topo__menu { display: none; }
.uf-topo__menu[aria-expanded="true"] .uf-so-fechado, .uf-topo__menu[aria-expanded="false"] .uf-so-aberto { display: none; }
.uf-cidade-chip {
	display: inline-flex; align-items: center; gap: .4rem; height: 40px; padding: 0 .85rem;
	border: 1px solid var(--uf-borda); border-radius: 999px; background: var(--uf-superficie);
	font: 600 .85rem/1 var(--uf-fonte-titulo); cursor: pointer; color: var(--uf-texto);
}
.uf-cidade-chip .uf-i { color: var(--uf-destaque); }
.uf-cidade-chip:hover { border-color: var(--uf-destaque); }

@media (max-width: 1080px) {
	.uf-so-desktop { display: none; }
	.uf-topo__menu { display: inline-grid; }
	.uf-nav {
		position: fixed; inset: 76px 0 auto 0; max-height: calc(100dvh - 76px); overflow-y: auto;
		padding: 1rem 1.25rem 1.5rem; background: var(--uf-fundo); border-bottom: 1px solid var(--uf-borda);
		box-shadow: 0 24px 40px -24px rgb(0 0 0 / .35);
		opacity: 0; visibility: hidden; transform: translateY(-8px);
		transition: opacity var(--uf-transicao), transform var(--uf-transicao), visibility var(--uf-transicao);
	}
	.uf-nav.is-aberto { opacity: 1; visibility: visible; transform: none; }
	.uf-nav__lista { flex-direction: column; align-items: stretch; gap: .25rem; }
	.uf-nav__item { flex-wrap: wrap; }
	.uf-nav__link { flex: 1; padding: .9rem .75rem; border-radius: var(--uf-raio); font-size: 1.05rem; }
	.uf-nav__abrir { width: 44px; height: 44px; margin: 0; }
	.uf-nav__sub { position: static; width: 100%; display: none; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; background: var(--uf-fundo-alt); }
	.uf-nav__abrir[aria-expanded="true"] + .uf-nav__sub { display: block; }
	.uf-nav__acoes-movel { display: grid; gap: .5rem; margin-top: 1rem; }
	body.uf-menu-aberto { overflow: hidden; }
}
/* Celular: logo + cidade + Contratar + menu. O resto (tema, Área do Cliente) fica no menu. */
.uf-logo { min-width: 0; flex-shrink: 1; }
.uf-topo__acoes { flex-shrink: 0; margin-left: auto; }
@media (max-width: 1080px) {
	.uf-nav { margin-left: 0; }
	.uf-nav__acoes-movel .uf-botao { width: 100%; }
}
@media (max-width: 560px) {
	.uf-topo__barra { gap: .5rem; min-height: 64px; }
	.uf-nav { inset-block-start: 64px; max-height: calc(100dvh - 64px); }
	.uf-logo__img { max-height: 34px; max-width: 100%; }
	.uf-topo__tema { display: none; }
	.uf-topo__acoes { gap: .35rem; }
	.uf-topo__acoes .uf-botao--primario { min-height: 40px; padding: .5rem .8rem; font-size: .86rem; }
	.uf-cidade-chip span { display: none; }
	.uf-cidade-chip { width: 40px; height: 40px; padding: 0; justify-content: center; }
	/* Com cidade conhecida: o nome volta, compacto, e corta com reticências se faltar espaço. */
	.uf-cidade-chip--definida { width: auto; max-width: 9rem; padding: 0 .75rem 0 .6rem; gap: .3rem; animation: uf-chip-entra .32s cubic-bezier(.2, .7, .3, 1); }
	.uf-cidade-chip--definida .uf-i { flex: none; }
	.uf-cidade-chip--definida [data-uf-cidade-nome] { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .8rem; letter-spacing: -.005em; }
	.uf-topo__menu { width: 40px; height: 40px; }
}
@media (max-width: 374px) {
	.uf-cidade-chip--definida { max-width: 7.6rem; padding-inline: .5rem .6rem; gap: .25rem; }
	.uf-cidade-chip--definida [data-uf-cidade-nome] { font-size: .76rem; }
}
/* Tela estreitíssima: só o ícone, para não espremer a marca. */
@media (max-width: 354px) {
	.uf-cidade-chip--definida { width: 40px; max-width: none; padding: 0; justify-content: center; }
	.uf-cidade-chip--definida [data-uf-cidade-nome] { display: none; }
}
@media (max-width: 340px) {
	.uf-topo__acoes .uf-botao--primario { padding: .5rem .6rem; font-size: .8rem; }
}
@keyframes uf-chip-entra { from { opacity: 0; transform: scale(.94); } }
@media (prefers-reduced-motion: reduce) { .uf-cidade-chip--definida { animation: none; } }

/* Botões de ação ocupam a largura toda no celular. */
@media (max-width: 560px) {
	.uf-abertura__acoes { flex-direction: column; align-items: stretch; }
	.uf-abertura__acoes .uf-botao, .uf-faixa .uf-botao, .uf-empresas .uf-botao, .uf-atendimento__cartao .uf-botao { width: 100%; }
	.uf-faixa { padding: 1.5rem 1.25rem; }
	.uf-envoltorio { width: min(var(--uf-largura), 100% - 2rem); }
}

/* ---------- Seções e títulos ---------- */

.uf-secao { position: relative; padding-block: var(--uf-espaco); }
.uf-secao--compacta { padding-block: calc(var(--uf-espaco) * .6); }
.uf-secao--alt { background: var(--uf-fundo-alt); }
.uf-secao--marca { background: var(--uf-faixa); color: var(--uf-faixa-texto); overflow: hidden; isolation: isolate; }
.uf-secao--marca h2, .uf-secao--marca h3 { color: var(--uf-faixa-texto); }
.uf-sobretitulo {
	display: inline-flex; align-items: center; gap: .55rem; margin-bottom: .85rem;
	font: 700 .78rem/1 var(--uf-fonte-titulo); letter-spacing: .14em; text-transform: uppercase; color: var(--uf-destaque-texto);
}
.uf-secao--marca .uf-sobretitulo, .uf-abertura .uf-sobretitulo, .uf-secao--empresas .uf-sobretitulo, .uf-rodape .uf-sobretitulo { color: color-mix(in srgb, var(--uf-destaque) 60%, var(--uf-faixa-texto)); }
.uf-sobretitulo::before { content: ""; width: 26px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, transparent, var(--uf-destaque)); }
.uf-titulo-secao { max-width: 720px; margin-bottom: clamp(2rem, 4vw, 3rem); }
.uf-titulo-secao--centro { margin-inline: auto; text-align: center; }
.uf-titulo-secao__titulo { font-size: clamp(1.75rem, 3.4vw, 2.6rem); font-weight: 800; text-wrap: balance; }
.uf-titulo-secao__texto { margin-top: .9rem; font-size: 1.08rem; color: var(--uf-texto-suave); text-wrap: pretty; }
.uf-secao--marca .uf-titulo-secao__texto { color: var(--uf-faixa-suave); }

.uf-cartao { background: var(--uf-superficie); border: 1px solid var(--uf-borda); border-radius: var(--uf-raio); padding: clamp(1.25rem, 3vw, 2rem); box-shadow: var(--uf-sombra); }

/* ---------- Fibras de luz ---------- */

.uf-fibras { position: absolute; inset: auto 0 0 0; height: 70%; pointer-events: none; z-index: -1; color: var(--uf-destaque); opacity: .55; }
.uf-fibras__svg { width: 100%; height: 100%; }
.uf-fibra { fill: none; stroke: url(#uf-fibra-grad); stroke-width: 1.2; opacity: .5; }
.uf-fibra--2 { opacity: .3; }
.uf-fibra--3 { opacity: .22; }
.uf-pulso { fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 90 2200; stroke-dashoffset: 2290; filter: drop-shadow(0 0 6px currentColor); animation: uf-pulso 7s linear infinite; }
.uf-pulso--2 { animation-duration: 9.5s; animation-delay: -4s; opacity: .7; }
@keyframes uf-pulso { to { stroke-dashoffset: 0; } }

/* ---------- Abertura das páginas internas ---------- */

.uf-abertura { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(3.5rem, 8vw, 6.5rem) clamp(3rem, 7vw, 5.5rem); background: radial-gradient(120% 140% at 85% 0%, color-mix(in srgb, var(--uf-destaque) 34%, var(--uf-faixa)) 0%, var(--uf-faixa) 58%); color: var(--uf-faixa-texto); }
.uf-abertura__conteudo { max-width: 860px; }
.uf-abertura__titulo { font-size: clamp(2.1rem, 5.2vw, 3.6rem); font-weight: 800; letter-spacing: -.035em; color: var(--uf-faixa-texto); text-wrap: balance; }
.uf-abertura__texto { margin-top: 1rem; max-width: 620px; font-size: clamp(1.02rem, 1.6vw, 1.2rem); color: var(--uf-faixa-suave); text-wrap: pretty; }
.uf-abertura__acoes { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.uf-404__codigo { font: 900 clamp(5rem, 16vw, 10rem)/.9 var(--uf-fonte-titulo); letter-spacing: -.06em; background: linear-gradient(120deg, var(--uf-faixa-texto), var(--uf-destaque)); -webkit-background-clip: text; background-clip: text; color: transparent; margin-bottom: 1rem; }

/* ---------- Contatos (listas com ícone) ---------- */

.uf-contatos { display: grid; gap: .85rem; }
.uf-contatos li { display: flex; gap: .7rem; align-items: flex-start; }
.uf-contatos li > :not(svg) { min-width: 0; overflow-wrap: anywhere; }
.uf-contatos .uf-i { flex: none; margin-top: .15rem; color: var(--uf-destaque); }
.uf-contatos a { color: inherit; text-decoration: none; font-weight: 600; }
.uf-contatos a:hover { color: var(--uf-destaque); }
.uf-contatos small { display: block; color: var(--uf-texto-suave); font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.uf-contatos--grande li { font-size: 1.05rem; }

/* ---------- Texto rico ---------- */

.uf-texto-rico > * + * { margin-top: 1.1em; }
.uf-texto-rico h2 { font-size: 1.6rem; margin-top: 1.8em; }
.uf-texto-rico h3 { font-size: 1.25rem; margin-top: 1.5em; }
.uf-texto-rico ul, .uf-texto-rico ol { padding-left: 1.3em; }
.uf-texto-rico ul { list-style: disc; }
.uf-texto-rico li + li { margin-top: .4em; }
.uf-texto-rico blockquote { margin-inline: 0; padding-left: 1rem; border-left: 3px solid var(--uf-destaque); color: var(--uf-texto-suave); }

/* ---------- Rodapé ---------- */

.uf-rodape { position: relative; isolation: isolate; overflow: hidden; margin-top: auto; padding-top: clamp(3.5rem, 7vw, 5rem); background: var(--uf-faixa); color: var(--uf-faixa-suave); }
[data-tema="escuro"] .uf-rodape { background: color-mix(in srgb, var(--uf-fundo) 70%, #000); }
.uf-fibras--rodape { opacity: .35; height: 100%; }
.uf-rodape a { color: var(--uf-faixa-texto); text-decoration: none; }
.uf-rodape a:hover { color: var(--uf-destaque); }
.uf-rodape__grade { display: grid; gap: 2.5rem; grid-template-columns: 1.4fr 1fr 1fr 1.4fr; }
.uf-rodape__marca p { margin-top: 1rem; max-width: 34ch; }
.uf-rodape .uf-logo__img--claro:not(:only-child) { display: none; }
.uf-rodape .uf-logo__img--escuro { display: block; }
.uf-rodape__titulo { margin-bottom: 1rem; font: 700 .8rem/1 var(--uf-fonte-titulo); letter-spacing: .14em; text-transform: uppercase; color: var(--uf-faixa-texto); }
.uf-rodape__col ul:not(.uf-contatos) { display: grid; gap: .55rem; }
.uf-rodape__chamada { font-weight: 600; color: var(--uf-faixa-texto); }
.uf-redes { display: flex; gap: .5rem; margin-top: .75rem; }
.uf-redes a { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--uf-faixa-texto) 25%, transparent); transition: background var(--uf-transicao), border-color var(--uf-transicao); }
.uf-redes a:hover { background: color-mix(in srgb, var(--uf-faixa-texto) 12%, transparent); border-color: var(--uf-destaque); }
.uf-rodape__base { margin-top: 3rem; padding-block: 1.5rem; border-top: 1px solid color-mix(in srgb, var(--uf-faixa-texto) 15%, transparent); font-size: .86rem; }
@media (max-width: 900px) { .uf-rodape__grade { grid-template-columns: 1fr 1fr; } .uf-rodape__marca { grid-column: 1 / -1; } }
@media (max-width: 560px) { .uf-rodape__grade { grid-template-columns: 1fr; } }

/* ---------- WhatsApp flutuante ---------- */

.uf-whatsapp-flutuante {
	position: fixed; right: clamp(1rem, 3vw, 1.75rem); bottom: clamp(1rem, 3vw, 1.75rem); z-index: 40;
	display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%;
	background: var(--uf-whatsapp); color: var(--uf-whatsapp-texto);
	box-shadow: 0 12px 28px -8px rgb(37 211 102 / .6); transition: transform var(--uf-transicao);
}
.uf-whatsapp-flutuante:hover { transform: scale(1.06); }
.uf-whatsapp-flutuante::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--uf-whatsapp); animation: uf-onda 2.8s ease-out infinite; }
@keyframes uf-onda { from { transform: scale(1); opacity: .7; } to { transform: scale(1.6); opacity: 0; } }

/* ---------- Seletor de cidade ---------- */

.uf-seletor {
	width: min(560px, calc(100vw - 2rem)); padding: clamp(1.5rem, 4vw, 2.25rem);
	border: 1px solid var(--uf-borda); border-radius: calc(var(--uf-raio) * 1.4);
	background: var(--uf-superficie); color: var(--uf-texto); box-shadow: 0 40px 80px -30px rgb(0 0 0 / .5);
}
.uf-seletor[open] { animation: uf-surgir 260ms cubic-bezier(.2, .7, .3, 1); }
.uf-seletor::backdrop { background: color-mix(in srgb, var(--uf-faixa) 55%, rgb(0 0 0 / .4)); backdrop-filter: blur(4px); }
@keyframes uf-surgir { from { opacity: 0; transform: translateY(12px) scale(.98); } }
.uf-seletor__fechar-form { position: absolute; top: .75rem; right: .75rem; }
.uf-seletor__titulo { font-size: clamp(1.5rem, 4vw, 2rem); font-weight: 800; }
.uf-seletor__texto { margin-top: .5rem; color: var(--uf-texto-suave); }
.uf-seletor__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .6rem; margin-top: 1.5rem; }
.uf-seletor__cidade {
	display: flex; align-items: center; gap: .6rem; padding: .9rem 1rem;
	border: 1.5px solid var(--uf-borda); border-radius: var(--uf-raio);
	color: var(--uf-texto); text-decoration: none; font-weight: 700;
	transition: border-color var(--uf-transicao), background var(--uf-transicao), transform var(--uf-transicao);
}
.uf-seletor__cidade .uf-i { color: var(--uf-destaque); }
.uf-seletor__cidade small { margin-left: auto; color: var(--uf-texto-suave); font-weight: 700; }
.uf-seletor__cidade:hover { border-color: var(--uf-destaque); background: var(--uf-fundo-alt); transform: translateY(-1px); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Aviso de cookies (marcação do plugin) ---------- */

.uf-cookies {
	position: fixed; left: clamp(.75rem, 3vw, 1.5rem); right: clamp(.75rem, 3vw, 1.5rem); bottom: clamp(.75rem, 3vw, 1.5rem); z-index: 60;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;
	max-width: 880px; margin-inline: auto; padding: 1rem 1.25rem;
	border: 1px solid var(--uf-borda); border-radius: var(--uf-raio); background: var(--uf-superficie); box-shadow: 0 24px 48px -20px rgb(0 0 0 / .45);
	font-size: .92rem;
}
.uf-cookies[hidden] { display: none; }
.uf-cookies p { flex: 1 1 320px; }
.uf-cookies__acoes { display: flex; gap: .5rem; }
.uf-rotulo-icone { display: inline-flex; align-items: center; gap: .5rem; }
