/* ==========================================================================
   Industrial Widgets — família "Precisão" (widgets iw-pr-*)

   Seções no estilo "industrial de precisão": azul-marinho profundo, laranja de
   destaque, títulos em fonte geométrica, cantos pouco arredondados (4-12px).

   Cores e fontes vêm das variáveis do plugin (IW_Theme_Bridge):
     --iw-color-1        cor principal (marinho)        → superfícies e títulos
     --iw-color-2        acento (laranja)               → chamadas e conversão
     --iw-color-heading  marinho mais escuro            → fundos escuros
     --iw-color-text     texto corrido
     --iw-font-heading / --iw-font-body
   Tudo o mais é derivado delas com color-mix(), sempre com valor de reserva.
   As três cores "de função" abaixo (sucesso, estrela, ardósia) têm variável
   própria para quem quiser trocar no tema.
   ========================================================================== */

.iw-pr {
	--pr-marinho: var(--iw-color-1, #0f2a4a);
	--pr-profundo: var(--iw-color-heading, #00152f);
	--pr-acento: var(--iw-color-2, #ea580c);
	--pr-acento-forte: color-mix(in srgb, var(--pr-acento) 82%, #000000);
	--pr-acento-claro: color-mix(in srgb, var(--pr-acento) 55%, #ffffff);
	--pr-texto: var(--iw-color-text, #43474e);
	--pr-ok: var(--iw-color-ok, #059669);
	--pr-ok-claro: color-mix(in srgb, var(--pr-ok) 60%, #ffffff);
	--pr-estrela: var(--iw-color-estrela, #f59e0b);
	--pr-ardosia: var(--iw-color-escuro, #0f172a);
	--pr-cinza: color-mix(in srgb, var(--pr-ardosia) 55%, #ffffff);
	--pr-superficie: color-mix(in srgb, var(--pr-marinho) 2%, #ffffff);
	--pr-superficie-1: color-mix(in srgb, var(--pr-marinho) 5%, #ffffff);
	--pr-superficie-2: color-mix(in srgb, var(--pr-marinho) 9%, #ffffff);
	--pr-borda: color-mix(in srgb, var(--pr-ardosia) 11%, #ffffff);
	--pr-borda-forte: color-mix(in srgb, var(--pr-ardosia) 20%, #ffffff);
	--pr-claro-1: color-mix(in srgb, #ffffff 82%, transparent);
	--pr-claro-2: color-mix(in srgb, #ffffff 62%, transparent);
	--pr-fonte-titulo: var(--iw-font-heading, "Space Grotesk", system-ui, sans-serif);
	--pr-fonte-texto: var(--iw-font-body, "Inter", system-ui, sans-serif);
	--pr-raio: 4px;
	--pr-sombra-1: 0 1px 3px 0 color-mix(in srgb, var(--pr-ardosia) 5%, transparent), 0 1px 2px -1px color-mix(in srgb, var(--pr-ardosia) 5%, transparent);
	--pr-sombra-2: 0 10px 24px -6px color-mix(in srgb, var(--pr-marinho) 18%, transparent);

	font-family: var(--pr-fonte-texto);
	color: var(--pr-texto);
	-webkit-font-smoothing: antialiased;
}

.iw-pr *,
.iw-pr *::before,
.iw-pr *::after { box-sizing: border-box; }

.iw-pr img { max-width: 100%; display: block; }

.iw-pr-box {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 32px;
}

.iw-pr h1, .iw-pr h2, .iw-pr h3, .iw-pr h4 {
	margin: 0;
	font-family: var(--pr-fonte-titulo);
	color: var(--pr-profundo);
}

.iw-pr p { margin: 0; }

.iw-pr a { text-decoration: none; }

/* ícones (Font Awesome ou SVG do Elementor) */
.iw-pr-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 1;
}
.iw-pr-ico svg { width: 1em; height: 1em; fill: currentColor; }
.iw-pr-ico i { font-size: 1em; }

/* fonte "técnica": rótulos de ficha, números, códigos */
.iw-pr-mono {
	font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
	letter-spacing: .04em;
}

.iw-pr-sobrelinha {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	line-height: 16px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--pr-acento);
}

/* ---------- botões ---------- */
.iw-pr-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 28px;
	border: 1px solid transparent;
	border-radius: var(--pr-raio);
	font-family: var(--pr-fonte-texto);
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.iw-pr-btn .iw-pr-ico { font-size: 18px; }
.iw-pr-btn:hover { transform: translateY(-2px); }

.iw-pr-btn--acento {
	color: #ffffff !important;
	background-color: var(--pr-acento);
	box-shadow: 0 8px 20px -6px color-mix(in srgb, var(--pr-acento) 55%, transparent);
}
.iw-pr-btn--acento:hover { background-color: var(--pr-acento-forte); }

.iw-pr-btn--contorno {
	color: #ffffff !important;
	border-color: color-mix(in srgb, #ffffff 35%, transparent);
	background-color: transparent;
	font-weight: 500;
}
.iw-pr-btn--contorno:hover {
	border-color: color-mix(in srgb, #ffffff 70%, transparent);
	background-color: color-mix(in srgb, #ffffff 6%, transparent);
}

.iw-pr-btn--marinho {
	padding: 12px 24px;
	font-size: 14px;
	color: #ffffff !important;
	background-color: var(--pr-marinho);
}
.iw-pr-btn--marinho:hover { background-color: var(--pr-profundo); }

.iw-pr-btn--ok {
	color: #ffffff !important;
	background-color: var(--pr-ok);
	box-shadow: 0 8px 20px -6px color-mix(in srgb, var(--pr-ok) 55%, transparent);
}
.iw-pr-btn--ok:hover { background-color: color-mix(in srgb, var(--pr-ok) 82%, #000000); }

/* ==========================================================================
   CABEÇALHO (iw-pr-cabecalho)
   ========================================================================== */
.iw-pr-cab { position: relative; z-index: 50; }

.iw-pr-cab-topo {
	background-color: var(--pr-profundo);
	color: var(--pr-claro-1);
	font-size: 13px;
	line-height: 20px;
	border-bottom: 1px solid var(--pr-marinho);
}
.iw-pr-cab-topo .iw-pr-box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 24px;
	padding-top: 8px;
	padding-bottom: 8px;
}
.iw-pr-cab-contatos,
.iw-pr-cab-local {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 24px;
}
.iw-pr-cab-topo a,
.iw-pr-cab-topo span { color: inherit; }
.iw-pr-cab-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: color .15s ease;
}
a.iw-pr-cab-item:hover { color: #ffffff; }
.iw-pr-cab-item .iw-pr-ico { font-size: 14px; color: var(--pr-acento-claro); }
.iw-pr-cab-item--wpp .iw-pr-ico { color: var(--pr-ok-claro); }
.iw-pr-cab-chip {
	display: inline-block;
	padding: 2px 8px;
	border-radius: var(--pr-raio);
	background-color: var(--pr-marinho);
	font-size: 10px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--pr-claro-1);
}

.iw-pr-cab-barra {
	position: relative; /* referência da gaveta do celular */
	background-color: #ffffff;
	border-bottom: 1px solid var(--pr-borda);
	box-shadow: var(--pr-sombra-1);
}
/* O "top" vem do JS: altura da barra de administração do WordPress só quando
   ela está fixa (no celular ≤600px ela rola com a página e o top fica 0). */
.iw-pr-cab-barra.is-fixa {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	box-shadow: var(--pr-sombra-2);
}

.iw-pr-cab-barra > .iw-pr-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 80px;
}

.iw-pr-cab-marca {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: inherit;
}
.iw-pr-cab-marca img { height: 44px; width: auto; object-fit: contain; transition: transform .2s ease; }
.iw-pr-cab-marca:hover img { transform: scale(1.02); }
.iw-pr-cab-nome {
	display: flex;
	flex-direction: column;
	padding-left: 12px;
	border-left: 1px solid var(--pr-borda-forte);
}
.iw-pr-cab-nome strong {
	font-family: var(--pr-fonte-titulo);
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: var(--pr-profundo);
}
.iw-pr-cab-nome small {
	margin-top: 4px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--pr-cinza);
}

.iw-pr-cab-nav ul {
	display: flex;
	align-items: center;
	gap: 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.iw-pr-cab-nav li { position: relative; margin: 0; }
.iw-pr-cab-nav a {
	display: inline-block;
	padding: 4px 0;
	border-bottom: 2px solid transparent;
	font-size: 15px;
	font-weight: 500;
	color: var(--pr-ardosia);
	transition: color .15s ease, border-color .15s ease;
}
.iw-pr-cab-nav a:hover { color: var(--pr-acento); }
.iw-pr-cab-nav .current-menu-item > a,
.iw-pr-cab-nav .current-menu-ancestor > a,
.iw-pr-cab-nav .current_page_item > a {
	color: var(--pr-acento);
	border-bottom-color: var(--pr-acento);
	font-weight: 600;
}
/* Link para âncora (/#orcamento): o WordPress ignora o # e o marca como
   "atual" junto com a Home. Só a página de verdade fica destacada. */
.iw-pr-cab-nav .current-menu-item > a[href*="#"] {
	color: var(--pr-ardosia);
	border-bottom-color: transparent;
	font-weight: 500;
}
.iw-pr-cab-nav .current-menu-item > a[href*="#"]:hover { color: var(--pr-acento); }

/* submenu */
.iw-pr-cab-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: -16px;
	display: block;
	min-width: 220px;
	padding: 8px 0;
	background: #ffffff;
	border: 1px solid var(--pr-borda);
	border-radius: 8px;
	box-shadow: var(--pr-sombra-2);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.iw-pr-cab-nav li:hover > .sub-menu,
.iw-pr-cab-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.iw-pr-cab-nav .sub-menu {
	width: max-content;
	max-width: 340px;
	margin-top: 4px;
}
/* ponte invisível entre o link e o dropdown: o hover não cai no vão de 4px */
.iw-pr-cab-nav .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -8px; height: 8px; }
.iw-pr-cab-nav .sub-menu li { display: block; }
.iw-pr-cab-nav .sub-menu a {
	display: block;
	padding: 8px 16px;
	border: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
}
.iw-pr-cab-nav .sub-menu a:hover { background-color: var(--pr-superficie-1); }
/* seta de "tem submenu" no item pai */
.iw-pr-cab-nav .menu-item-has-children > a { display: inline-flex; align-items: center; gap: 6px; }
.iw-pr-cab-nav .menu-item-has-children > a::after {
	content: "";
	width: 6px;
	height: 6px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform .15s ease;
}
.iw-pr-cab-nav .menu-item-has-children:hover > a::after,
.iw-pr-cab-nav .menu-item-has-children:focus-within > a::after { transform: translateY(1px) rotate(-135deg); }

.iw-pr-cab-acoes { display: flex; align-items: center; gap: 10px; }
.iw-pr-cab-acoes .iw-pr-btn { padding: 10px 20px; font-size: 14px; line-height: 20px; }

.iw-pr-cab-atalho,
.iw-pr-cab-menu-btn {
	display: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--pr-borda);
	border-radius: var(--pr-raio);
	background: var(--pr-superficie-1);
	color: var(--pr-marinho);
	font-size: 18px;
	cursor: pointer;
}
.iw-pr-cab-atalho--wpp { color: var(--pr-ok); }
.iw-pr-cab-menu-btn span,
.iw-pr-cab-menu-btn span::before,
.iw-pr-cab-menu-btn span::after {
	display: block;
	width: 18px;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
	transition: transform .2s ease, opacity .2s ease;
}
.iw-pr-cab-menu-btn span { position: relative; }
.iw-pr-cab-menu-btn span::before,
.iw-pr-cab-menu-btn span::after { content: ""; position: absolute; left: 0; }
.iw-pr-cab-menu-btn span::before { top: -6px; }
.iw-pr-cab-menu-btn span::after { top: 6px; }
.iw-pr-cab.is-aberto .iw-pr-cab-menu-btn span { background: transparent; }
.iw-pr-cab.is-aberto .iw-pr-cab-menu-btn span::before { transform: translateY(6px) rotate(45deg); }
.iw-pr-cab.is-aberto .iw-pr-cab-menu-btn span::after { transform: translateY(-6px) rotate(-45deg); }

/* Gaveta por cima do conteúdo, logo abaixo da barra: abrir não empurra a
   página (nem com a barra fixa nem no topo). Rola por dentro se não couber. */
.iw-pr-cab-gaveta {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	max-height: calc(100vh - 120px);
	overflow-y: auto;
	overscroll-behavior: contain;
	border-top: 1px solid var(--pr-borda);
	border-bottom: 1px solid var(--pr-borda);
	background: #ffffff;
	box-shadow: var(--pr-sombra-2);
}
.iw-pr-cab.is-aberto .iw-pr-cab-gaveta { display: block; }
.iw-pr-cab-gaveta .iw-pr-box { padding-top: 12px; padding-bottom: 20px; }
.iw-pr-cab-gaveta ul { margin: 0 0 16px; padding: 0; list-style: none; }
.iw-pr-cab-gaveta li a {
	display: block;
	padding: 12px 4px;
	border-bottom: 1px solid var(--pr-borda);
	font-size: 16px;
	font-weight: 500;
	color: var(--pr-ardosia);
}
.iw-pr-cab-gaveta .current-menu-item > a { color: var(--pr-acento); }
.iw-pr-cab-gaveta .current-menu-item > a[href*="#"] { color: var(--pr-ardosia); }
.iw-pr-cab-gaveta .sub-menu { padding-left: 16px; margin: 0; }
.iw-pr-cab-gaveta .sub-menu li a { padding: 10px 4px; font-size: 14px; font-weight: 400; color: var(--pr-texto); }
.iw-pr-cab-gaveta .sub-menu li.current-menu-item > a { font-weight: 600; color: var(--pr-acento); }
.iw-pr-cab-gaveta .iw-pr-btn { width: 100%; }

/* ==========================================================================
   HERO (iw-pr-hero)
   ========================================================================== */
.iw-pr-hero {
	position: relative;
	overflow: hidden;
	background-color: var(--pr-profundo);
	color: #ffffff;
}
.iw-pr-hero-fundo { position: absolute; inset: 0; z-index: 0; }
.iw-pr-hero-fundo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .3;
	mix-blend-mode: luminosity;
	transform: scale(1.05);
}
.iw-pr-hero-fundo::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg,
		var(--pr-profundo),
		color-mix(in srgb, var(--pr-profundo) 95%, transparent),
		color-mix(in srgb, var(--pr-marinho) 85%, transparent));
}
/* trama de pontos "de prancheta" */
.iw-pr-hero-fundo::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	opacity: .15;
	background-image: radial-gradient(color-mix(in srgb, #ffffff 55%, transparent) 1px, transparent 1px);
	background-size: 24px 24px;
}

.iw-pr-hero-corpo { position: relative; z-index: 3; padding: 96px 0; }
.iw-pr-hero-grade {
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
	gap: 48px;
	align-items: center;
}
.iw-pr-hero-texto { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }

.iw-pr-selo-escuro {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 12px;
	border: 1px solid color-mix(in srgb, #ffffff 22%, transparent);
	border-radius: var(--pr-raio);
	background-color: color-mix(in srgb, var(--pr-marinho) 80%, transparent);
	font-size: 12px;
	font-weight: 600;
	line-height: 16px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--pr-acento) 25%, #ffffff);
	backdrop-filter: blur(4px);
}
.iw-pr-selo-escuro .iw-pr-ico { font-size: 14px; color: var(--pr-acento); }

.iw-pr-hero h1 {
	max-width: 768px;
	font-size: 56px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.03em;
	color: #ffffff;
}
.iw-pr-realce {
	background: linear-gradient(90deg, var(--pr-acento-claro), color-mix(in srgb, var(--pr-acento) 25%, #fcd34d));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.iw-pr-hero-sub {
	max-width: 672px;
	font-size: 18px;
	line-height: 1.6;
	color: var(--pr-claro-1);
}
.iw-pr-hero-botoes { display: flex; flex-wrap: wrap; gap: 16px; padding-top: 8px; }

.iw-pr-hero-checks {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	width: 100%;
	margin: 0;
	padding: 24px 0 0;
	border-top: 1px solid color-mix(in srgb, #ffffff 10%, transparent);
	list-style: none;
	font-size: 13px;
	color: var(--pr-claro-2);
}
.iw-pr-hero-checks li { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.iw-pr-hero-checks .iw-pr-ico { font-size: 16px; color: var(--pr-ok-claro); }

/* painel técnico lateral */
.iw-pr-painel {
	position: relative;
	overflow: hidden;
	padding: 24px;
	border: 1px solid color-mix(in srgb, #ffffff 14%, transparent);
	border-radius: 12px;
	background-color: color-mix(in srgb, var(--pr-marinho) 90%, transparent);
	box-shadow: 0 25px 50px -12px color-mix(in srgb, #000000 55%, transparent);
	backdrop-filter: blur(8px);
}
.iw-pr-painel-topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 16px;
	border-bottom: 1px solid color-mix(in srgb, #ffffff 14%, transparent);
}
.iw-pr-painel-status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--pr-fonte-titulo);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .05em;
	color: var(--pr-claro-1);
}
.iw-pr-pulso {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: var(--pr-ok);
	animation: iw-pr-pulso 2s cubic-bezier(.4, 0, .6, 1) infinite;
}
@keyframes iw-pr-pulso { 50% { opacity: .5; } }
.iw-pr-painel-tag { font-size: 12px; font-weight: 600; color: var(--pr-acento-claro); }
.iw-pr-painel-foto {
	position: relative;
	overflow: hidden;
	margin: 20px 0;
	aspect-ratio: 1 / 1;
	border: 1px solid color-mix(in srgb, #ffffff 14%, transparent);
	border-radius: 8px;
	background: #ffffff;
}
.iw-pr-painel-foto img { width: 100%; height: 100%; object-fit: cover; }
.iw-pr-painel-legenda {
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: 8px;
	display: flex;
	justify-content: space-between;
	gap: 8px;
	padding: 8px;
	border-radius: var(--pr-raio);
	background-color: color-mix(in srgb, var(--pr-ardosia) 88%, transparent);
	font-size: 11px;
	color: var(--pr-claro-1);
	backdrop-filter: blur(4px);
}
.iw-pr-painel-legenda span + span { color: var(--pr-acento-claro); text-align: right; }
.iw-pr-painel-linhas { margin: 0; font-size: 12px; }
.iw-pr-painel-linhas div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 6px 0;
	border-bottom: 1px solid color-mix(in srgb, #ffffff 8%, transparent);
}
.iw-pr-painel-linhas div:last-child { border-bottom: 0; }
.iw-pr-painel-linhas dt { color: var(--pr-claro-2); }
.iw-pr-painel-linhas dd { margin: 0; font-weight: 700; color: #ffffff; text-align: right; }
.iw-pr-painel-linhas dd.is-ok { color: var(--pr-ok-claro); }

/* faixa de métricas */
.iw-pr-metricas {
	position: relative;
	z-index: 3;
	border-top: 1px solid color-mix(in srgb, #ffffff 10%, transparent);
	background-color: color-mix(in srgb, var(--pr-ardosia) 95%, transparent);
}
.iw-pr-metricas .iw-pr-box {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	padding-top: 32px;
	padding-bottom: 32px;
}
.iw-pr-metrica {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 16px;
	border: none !important;
	border-radius: var(--pr-raio);
	background-color: transparent !important;
}
.iw-pr-metrica > .iw-pr-ico {
	padding: 12px;
	border-radius: 8px;
	background-color: var(--pr-marinho);
	color: var(--pr-acento-claro);
	font-size: 24px;
}
.iw-pr-metrica strong {
	display: block;
	font-family: var(--pr-fonte-titulo);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.015em;
	color: #ffffff;
}
.iw-pr-metrica span.iw-pr-metrica-rotulo { display: block; margin-top: 2px; font-size: 14px; font-weight: 600; color: var(--pr-claro-1); }
.iw-pr-metrica small { display: block; margin-top: 4px; font-size: 12px; color: var(--pr-claro-2); }

/* ==========================================================================
   CABEÇALHO DE SEÇÃO compartilhado (Sobre, Depoimentos, Aplicações)
   ========================================================================== */
.iw-pr-secao { background-color: var(--pr-superficie); padding: 64px 0; }

.iw-pr-cab-secao {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 48px;
	margin-bottom: 48px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--pr-borda);
}
.iw-pr-cab-secao p { max-width: 448px; font-size: 15px; line-height: 24px; }
.iw-pr-cab-secao--centro {
	flex-direction: column;
	align-items: center;
	max-width: 672px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 0;
	border-bottom: 0;
	text-align: center;
	gap: 0;
}
.iw-pr-cab-secao--centro p { max-width: none; margin-top: 12px; }

.iw-pr-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
	padding: 4px 12px;
	border-radius: 2px;
	background-color: var(--pr-superficie-2);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--pr-profundo);
}
.iw-pr-chip::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--pr-acento);
}

.iw-pr-h2 {
	font-size: 40px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.02em;
}
.iw-pr-h3 {
	font-size: 28px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -.015em;
}

/* ==========================================================================
   SOBRE (iw-pr-sobre)
   ========================================================================== */
.iw-pr-sobre-grade {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 48px;
	align-items: start;
}
.iw-pr-foto-card {
	overflow: hidden;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 0 0 1px var(--pr-borda), 0 2px 4px color-mix(in srgb, var(--pr-ardosia) 4%, transparent);
}
.iw-pr-foto-card img { width: 100%; height: 384px; object-fit: cover; }
.iw-pr-foto-card-legenda {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px;
	background-color: var(--pr-profundo);
	color: #ffffff;
}
.iw-pr-foto-card-legenda strong { display: block; font-size: 16px; font-weight: 600; line-height: 24px; }
.iw-pr-foto-card-legenda small { display: block; font-size: 12px; color: var(--pr-claro-1); }
.iw-pr-foto-card-legenda .iw-pr-ico { font-size: 28px; color: var(--pr-acento-claro); }

.iw-pr-selo-card {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 16px;
	padding: 20px;
	border: 1px solid var(--pr-borda);
	border-radius: 8px;
	background-color: var(--pr-superficie-1);
}
.iw-pr-selo-card > .iw-pr-ico {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background-color: var(--pr-profundo);
	color: #ffffff;
	font-size: 20px;
}
.iw-pr-selo-card strong { display: block; font-size: 16px; font-weight: 600; line-height: 24px; color: var(--pr-profundo); }
.iw-pr-selo-card p { font-size: 13px; line-height: 20px; }

.iw-pr-sobre-texto { display: flex; flex-direction: column; gap: 24px; }
.iw-pr-sobre-texto > p { font-size: 15px; line-height: 1.7; }
.iw-pr-sobre-texto > p.iw-pr-sobre-lead { font-size: 18px; line-height: 1.6; color: var(--pr-ardosia); }
.iw-pr-sobre-lead strong { color: var(--pr-profundo); }

.iw-pr-citacao {
	position: relative;
	margin: 0;
	padding: 24px 56px 24px 24px;
	border-left: 4px solid var(--pr-acento);
	border-radius: 8px;
	background-color: var(--pr-superficie-2);
}
.iw-pr-citacao .iw-pr-ico {
	position: absolute;
	top: 14px;
	right: 18px;
	font-size: 32px;
	color: var(--pr-borda-forte);
}
.iw-pr-citacao p {
	font-family: var(--pr-fonte-titulo);
	font-size: 22px;
	font-weight: 500;
	font-style: italic;
	line-height: 1.3;
	color: var(--pr-profundo);
}
.iw-pr-citacao cite {
	display: block;
	margin-top: 8px;
	font-size: 12px;
	font-style: normal;
	text-transform: uppercase;
	color: var(--pr-cinza);
}

/* ==========================================================================
   DIFERENCIAIS (iw-pr-diferenciais)
   ========================================================================== */
.iw-pr-cartoes {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}
.iw-pr-cartao {
	display: flex;
	flex-direction: column;
	padding: 24px;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 0 0 1px var(--pr-borda), 0 2px 4px color-mix(in srgb, var(--pr-ardosia) 3%, transparent);
	transition: box-shadow .2s ease, transform .2s ease;
}
.iw-pr-cartao:hover {
	transform: translateY(-2px);
	box-shadow: 0 0 0 1px var(--pr-borda-forte), var(--pr-sombra-2);
}
.iw-pr-cartao-ico {
	width: 48px;
	height: 48px;
	margin-bottom: 16px;
	border-radius: var(--pr-raio);
	background-color: var(--pr-superficie-2);
	color: var(--pr-profundo);
	font-size: 20px;
	transition: background-color .2s ease, color .2s ease;
}
.iw-pr-cartao:hover .iw-pr-cartao-ico { background-color: var(--pr-profundo); color: #ffffff; }
.iw-pr-cartao h4 {
	margin-bottom: 8px;
	font-family: var(--pr-fonte-texto);
	font-size: 18px;
	font-weight: 700;
	line-height: 26px;
}
.iw-pr-cartao p { flex: 1; font-size: 13px; line-height: 1.65; }
.iw-pr-cartao-rodape {
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid var(--pr-superficie-2);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--pr-acento);
}

/* ==========================================================================
   APLICAÇÕES (iw-pr-aplicacoes)
   ========================================================================== */
.iw-pr-painel-claro {
	padding: 40px;
	border: 1px solid var(--pr-borda);
	border-radius: 12px;
	background-color: var(--pr-superficie-1);
}
.iw-pr-painel-claro .iw-pr-cab-secao {
	margin-bottom: 32px;
	padding-bottom: 16px;
	border-bottom-color: var(--pr-borda-forte);
	align-items: center;
}
.iw-pr-painel-claro .iw-pr-cab-secao p { max-width: 384px; font-size: 13px; line-height: 20px; }
.iw-pr-painel-claro .iw-pr-h3 { margin-top: 4px; }

.iw-pr-aplic {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	padding: 20px;
	border: 1px solid var(--pr-borda);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: var(--pr-sombra-1);
}
.iw-pr-aplic-topo { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.iw-pr-aplic-topo .iw-pr-ico {
	padding: 8px;
	border-radius: var(--pr-raio);
	background-color: var(--pr-superficie-2);
	color: var(--pr-profundo);
	font-size: 20px;
}
.iw-pr-aplic h4 { font-family: var(--pr-fonte-texto); font-size: 16px; font-weight: 600; line-height: 1.35; }
.iw-pr-aplic p { flex: 1; font-size: 13px; line-height: 1.65; }
.iw-pr-aplic p strong { color: var(--pr-ardosia); }
.iw-pr-aplic-rodape {
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid var(--pr-superficie-2);
	font-size: 11px;
	text-transform: uppercase;
	color: var(--pr-cinza);
}
.iw-pr-aplic.is-destaque { border-color: var(--pr-acento-claro); }
.iw-pr-aplic.is-destaque .iw-pr-aplic-topo .iw-pr-ico {
	background-color: color-mix(in srgb, var(--pr-acento) 14%, #ffffff);
	color: var(--pr-acento);
}
.iw-pr-aplic.is-destaque .iw-pr-aplic-rodape { font-weight: 600; color: var(--pr-acento); }
.iw-pr-fita {
	position: absolute;
	top: -12px;
	right: -12px;
	padding: 18px 16px 4px;
	background-color: var(--pr-acento);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #ffffff;
	transform: rotate(12deg);
}

/* ==========================================================================
   DEPOIMENTOS (iw-pr-depoimentos)
   ========================================================================== */
.iw-pr-dep { background-color: var(--pr-superficie-1); border-top: 1px solid var(--pr-borda); }
.iw-pr-dep .iw-pr-cab-secao--centro { margin-bottom: 48px; }
.iw-pr-dep .iw-pr-h2 { margin-top: 4px; }
.iw-pr-dep-grade {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
	margin-bottom: 32px;
}
.iw-pr-dep-card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin: 0;
	padding: 32px;
	border: 1px solid var(--pr-borda);
	border-radius: 12px;
	background: #ffffff;
	box-shadow: var(--pr-sombra-1);
	transition: box-shadow .2s ease;
}
.iw-pr-dep-card:hover { box-shadow: var(--pr-sombra-2); }
.iw-pr-dep-aspas {
	position: absolute;
	top: 24px;
	right: 24px;
	font-size: 40px;
	opacity: .6;
	color: var(--pr-borda-forte);
}
.iw-pr-estrelas { display: flex; gap: 4px; margin-bottom: 16px; color: var(--pr-estrela); font-size: 18px; }
.iw-pr-estrelas .is-vazia { color: var(--pr-borda-forte); }
.iw-pr-dep-card blockquote {
	margin: 0 0 24px;
	padding: 0;
	border: 0;
	font-size: 15px;
	font-style: italic;
	line-height: 1.65;
	color: var(--pr-ardosia);
}
.iw-pr-dep-autor {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--pr-superficie-2);
}
.iw-pr-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	overflow: hidden;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: var(--pr-marinho);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .06em;
	color: #ffffff;
}
.iw-pr-avatar img { width: 100%; height: 100%; object-fit: cover; }
.iw-pr-avatar--acento { background-color: var(--pr-acento); }
.iw-pr-avatar--ardosia { background-color: color-mix(in srgb, var(--pr-ardosia) 75%, #ffffff); }
.iw-pr-dep-autor strong { display: block; font-size: 16px; font-weight: 700; line-height: 24px; color: var(--pr-profundo); }
.iw-pr-dep-autor small { display: block; font-size: 12px; color: var(--pr-cinza); }
.iw-pr-dep-autor .iw-pr-mono { font-size: 11px; color: color-mix(in srgb, var(--pr-cinza) 75%, #ffffff); }
.iw-pr-pontos { display: flex; justify-content: center; gap: 8px; }
.iw-pr-pontos span { width: 10px; height: 8px; border-radius: 999px; background-color: var(--pr-borda-forte); }
.iw-pr-pontos span:first-child { width: 32px; background-color: var(--pr-profundo); }

/* ==========================================================================
   ESPECIFICAÇÕES (iw-pr-especificacoes)
   ========================================================================== */
.iw-pr-esp { padding: 40px 0; border-top: 1px solid var(--pr-borda); }
.iw-pr-esp-caixa {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
	gap: 32px;
	align-items: center;
	padding: 48px;
	border-radius: 12px;
	background-color: var(--pr-profundo);
	box-shadow: 0 20px 25px -5px color-mix(in srgb, var(--pr-ardosia) 30%, transparent);
	color: #ffffff;
}
.iw-pr-esp-caixa .iw-pr-sobrelinha { color: var(--pr-acento-claro); }
.iw-pr-esp-caixa .iw-pr-h2 { margin-top: 4px; color: #ffffff; }
.iw-pr-esp-caixa > div:first-child > p { margin-top: 12px; font-size: 15px; line-height: 1.7; color: var(--pr-claro-1); }
.iw-pr-esp-valores {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 24px;
}
.iw-pr-esp-valor {
	padding: 12px;
	border: 1px solid color-mix(in srgb, #ffffff 14%, transparent);
	border-radius: var(--pr-raio);
	background-color: color-mix(in srgb, var(--pr-ardosia) 60%, transparent);
}
.iw-pr-esp-valor small { display: block; font-size: 12px; color: var(--pr-claro-2); }
.iw-pr-esp-valor strong { display: block; font-size: 18px; font-weight: 700; color: #ffffff; }
.iw-pr-esp-lado {
	padding: 16px;
	border: 1px solid color-mix(in srgb, #ffffff 14%, transparent);
	border-radius: 8px;
	background-color: color-mix(in srgb, #ffffff 7%, transparent);
}
.iw-pr-esp-lado .iw-pr-sobrelinha { font-size: 12px; }
.iw-pr-esp-lado p { margin-top: 4px; font-size: 14px; line-height: 1.55; color: var(--pr-claro-1); }
.iw-pr-esp-lado .iw-pr-btn {
	width: 100%;
	margin-top: 16px;
	padding: 8px 12px;
	font-size: 12px;
	font-weight: 700;
	color: #ffffff !important;
	background-color: color-mix(in srgb, #ffffff 14%, transparent);
}
.iw-pr-esp-lado .iw-pr-btn:hover { background-color: color-mix(in srgb, #ffffff 22%, transparent); }

/* ==========================================================================
   CONVERSÃO COM FORMULÁRIO (iw-pr-conversao)
   ========================================================================== */
.iw-pr-conv {
	position: relative;
	overflow: hidden;
	padding: 64px 0;
	background-color: var(--pr-profundo);
	color: #ffffff;
	border-top: 1px solid color-mix(in srgb, #ffffff 8%, transparent);
}
/* grafismos magnéticos: anéis nos cantos */
.iw-pr-conv-aneis { position: absolute; inset: 0; opacity: .1; pointer-events: none; }
.iw-pr-conv-aneis i { position: absolute; border-radius: 50%; }
.iw-pr-conv-aneis i:nth-child(1) { top: -160px; right: -160px; width: 384px; height: 384px; border: 8px solid var(--pr-acento); }
.iw-pr-conv-aneis i:nth-child(2) { top: -80px; right: -80px; width: 320px; height: 320px; border: 1px solid #ffffff; }
.iw-pr-conv-aneis i:nth-child(3) { bottom: -160px; left: -160px; width: 384px; height: 384px; border: 8px solid color-mix(in srgb, var(--pr-marinho) 30%, #60a5fa); }

.iw-pr-conv-grade {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
	gap: 56px;
	align-items: center;
}
.iw-pr-conv-texto { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.iw-pr-conv .iw-pr-selo-escuro { color: var(--pr-acento-claro); background-color: color-mix(in srgb, #ffffff 6%, transparent); }
.iw-pr-conv h2 {
	font-size: 44px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.02em;
	color: #ffffff;
}
.iw-pr-conv-sub { font-size: 18px; line-height: 1.6; color: var(--pr-claro-1); }
.iw-pr-conv-info {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	color: var(--pr-claro-2);
}
.iw-pr-conv-info li { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.iw-pr-conv-info .iw-pr-ico { font-size: 14px; color: var(--pr-claro-1); }
.iw-pr-conv-info a { color: inherit; }
.iw-pr-conv-alt { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 8px; font-size: 14px; color: var(--pr-claro-2); }
.iw-pr-conv-alt .iw-pr-btn { padding: 12px 22px; font-size: 15px; }

.iw-pr-form-card {
	padding: 32px;
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 25px 50px -12px color-mix(in srgb, #000000 50%, transparent);
	color: var(--pr-texto);
}
.iw-pr-form-card h3 { font-size: 22px; font-weight: 600; line-height: 28px; letter-spacing: -.01em; }
.iw-pr-form-card > p { margin-top: 6px; font-size: 14px; line-height: 1.55; }
.iw-pr-form { margin-top: 20px; }
.iw-pr-form-aviso {
	padding: 16px;
	border: 1px dashed var(--pr-borda-forte);
	border-radius: var(--pr-raio);
	font-size: 13px;
	color: var(--pr-cinza);
}

/* campos de qualquer formulário colocado no card (shortcode ou API) */
.iw-pr-form label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; color: var(--pr-ardosia); }
.iw-pr-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.iw-pr-form select,
.iw-pr-form textarea {
	width: 100%;
	min-height: 42px;
	padding: 8px 12px;
	border: 1px solid var(--pr-borda-forte);
	border-radius: var(--pr-raio);
	background: #ffffff;
	font-family: var(--pr-fonte-texto);
	font-size: 15px;
	color: var(--pr-ardosia);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.iw-pr-form textarea { min-height: 110px; }
.iw-pr-form input:focus,
.iw-pr-form select:focus,
.iw-pr-form textarea:focus {
	outline: none;
	border-color: var(--pr-marinho);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pr-marinho) 15%, transparent);
}
.iw-pr-form input[type="submit"],
.iw-pr-form button[type="submit"],
.iw-pr-form .btn,
.iw-pr-form button:not([type]) {
	width: 100%;
	min-height: 48px;
	padding: 12px 24px;
	border: 0;
	border-radius: var(--pr-raio);
	background-color: var(--pr-acento);
	box-shadow: 0 2px 4px color-mix(in srgb, var(--pr-acento) 25%, transparent);
	font-family: var(--pr-fonte-texto);
	font-size: 16px;
	font-weight: 600;
	color: #ffffff;
	cursor: pointer;
	transition: background-color .15s ease;
}
.iw-pr-form input[type="submit"]:hover,
.iw-pr-form button[type="submit"]:hover,
.iw-pr-form .btn:hover { background-color: var(--pr-acento-forte); }

/* formulário da API do painel (plugin form-api-solucoes): o CSS dele usa
   !important em cor, borda, raio e fonte; aqui o card volta ao padrão Precisão */
.iw-pr-form .iw-form-api { font-family: var(--pr-fonte-texto); color: var(--pr-texto); }
.iw-pr-form .iw-form-api .form-group { margin-bottom: 14px; }
.iw-pr-form .iw-form-api label {
	font-family: var(--pr-fonte-texto) !important;
	font-size: 13px;
	color: var(--pr-ardosia) !important;
}
.iw-pr-form .iw-form-api input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.iw-pr-form .iw-form-api select,
.iw-pr-form .iw-form-api textarea {
	min-height: 42px;
	padding: 8px 12px;
	font-family: var(--pr-fonte-texto) !important;
	font-size: 15px;
	color: var(--pr-ardosia) !important;
	border: 1px solid var(--pr-borda-forte) !important;
	border-radius: var(--pr-raio) !important;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.iw-pr-form .iw-form-api select { padding-right: 36px; background-position: right 12px center !important; }
.iw-pr-form .iw-form-api textarea { height: 110px; min-height: 110px; }
.iw-pr-form .iw-form-api ::placeholder { color: var(--pr-cinza); opacity: 1; }
.iw-pr-form .iw-form-api input:focus,
.iw-pr-form .iw-form-api select:focus,
.iw-pr-form .iw-form-api textarea:focus {
	border-color: var(--pr-marinho) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pr-marinho) 15%, transparent) !important;
}
.iw-pr-form .iw-form-api button,
.iw-pr-form .iw-form-api .btn {
	min-height: 48px;
	margin-top: 4px;
	padding: 12px 24px;
	font-family: var(--pr-fonte-texto) !important;
	font-size: 16px;
	font-weight: 600;
	background-color: var(--pr-acento) !important;
	border-radius: var(--pr-raio) !important;
	box-shadow: 0 2px 4px color-mix(in srgb, var(--pr-acento) 25%, transparent);
	transition: background-color .15s ease, transform .15s ease;
}
.iw-pr-form .iw-form-api button:hover:not(:disabled),
.iw-pr-form .iw-form-api .btn:hover:not(:disabled) {
	opacity: 1;
	background-color: var(--pr-acento-forte) !important;
	transform: translateY(-2px);
}
.iw-pr-form .iw-form-api .toast { border-radius: var(--pr-raio) !important; }
.iw-pr-form .iw-form-api-final-titulo { font-family: var(--pr-fonte-titulo); font-weight: 600; color: var(--pr-profundo); }
.iw-pr-form .iw-form-api-final-texto { color: var(--pr-texto); }
.iw-pr-form .iw-form-api-final-circulo,
.iw-pr-form .iw-form-api-final-risco { stroke: var(--pr-ok); }

/* ==========================================================================
   RODAPÉ (iw-pr-rodape)
   ========================================================================== */
.iw-pr-rod {
	background-color: var(--pr-ardosia);
	border-top: 1px solid color-mix(in srgb, #ffffff 8%, transparent);
	font-size: 13px;
	color: var(--pr-claro-2);
}
.iw-pr-rod-grade {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px;
	padding-top: 64px;
	padding-bottom: 64px;
}
.iw-pr-rod-marca { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.iw-pr-rod-marca img { height: 40px; width: auto; padding: 4px; border-radius: var(--pr-raio); background: #ffffff; object-fit: contain; }
.iw-pr-rod-marca strong {
	font-family: var(--pr-fonte-titulo);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #ffffff;
}
.iw-pr-rod p { font-size: 12px; line-height: 1.65; }
.iw-pr-rod-status { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-size: 12px; color: var(--pr-ok-claro); }
.iw-pr-rod-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background-color: var(--pr-ok); }
.iw-pr-rod h4 {
	margin-bottom: 12px;
	font-family: var(--pr-fonte-texto);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #ffffff;
}
.iw-pr-rod ul { margin: 0; padding: 0; list-style: none; }
.iw-pr-rod li { margin: 0 0 8px; }
.iw-pr-rod a { color: inherit; transition: color .15s ease; }
.iw-pr-rod a:hover { color: #ffffff; }
.iw-pr-rod-endereco { color: var(--pr-claro-1); }
.iw-pr-rod-endereco + p { margin-top: 4px; }
.iw-pr-rod-contatos li { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--pr-claro-1); }
.iw-pr-rod-contatos .iw-pr-ico { font-size: 14px; color: var(--pr-acento-claro); }
.iw-pr-rod-contatos .is-wpp .iw-pr-ico { color: var(--pr-ok-claro); }
.iw-pr-rod-redes-titulo { margin: 16px 0 8px; font-size: 12px; }
.iw-pr-rod-redes { display: flex; gap: 12px; }
.iw-pr-rod-redes a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: var(--pr-raio);
	background-color: color-mix(in srgb, #ffffff 8%, transparent);
	font-size: 15px;
	color: #ffffff;
}
.iw-pr-rod-redes a:hover { background-color: var(--pr-marinho); color: #ffffff; }
.iw-pr-rod-base {
	padding: 16px 0;
	border-top: 1px solid color-mix(in srgb, #ffffff 8%, transparent);
	background-color: color-mix(in srgb, var(--pr-ardosia) 70%, #000000);
	font-size: 12px;
}
.iw-pr-rod-base .iw-pr-box { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.iw-pr-rod-base .iw-pr-mono { font-size: 11px; }

/* ==========================================================================
   WHATSAPP FLUTUANTE (iw-pr-whatsapp)
   ========================================================================== */
.iw-pr-wpp {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 998;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background-color: var(--pr-ok);
	box-shadow: 0 20px 40px -10px color-mix(in srgb, #000000 50%, transparent);
	color: #ffffff !important;
	font-size: 28px;
	transition: transform .2s ease, background-color .2s ease;
}
.iw-pr-wpp:hover { transform: scale(1.05); background-color: color-mix(in srgb, var(--pr-ok) 82%, #000000); }
.iw-pr-wpp:focus-visible { outline: 4px solid var(--pr-ok-claro); outline-offset: 2px; }
.iw-pr-wpp--esquerda { right: auto; left: 24px; }
.iw-pr-wpp-online { position: absolute; top: 0; right: 0; width: 14px; height: 14px; }
.iw-pr-wpp-online::before,
.iw-pr-wpp-online::after { content: ""; position: absolute; inset: 0; border-radius: 50%; }
.iw-pr-wpp-online::before { background-color: var(--pr-ok-claro); animation: iw-pr-ping 1s cubic-bezier(0, 0, .2, 1) infinite; }
.iw-pr-wpp-online::after { border: 2px solid #ffffff; background-color: var(--pr-ok-claro); }
@keyframes iw-pr-ping { 75%, 100% { transform: scale(2); opacity: 0; } }
.iw-pr-wpp-dica {
	position: absolute;
	right: 64px;
	padding: 6px 12px;
	border-radius: var(--pr-raio);
	background-color: var(--pr-ardosia);
	box-shadow: var(--pr-sombra-2);
	font-size: 12px;
	font-weight: 500;
	white-space: nowrap;
	color: #ffffff;
	opacity: 0;
	pointer-events: none;
	transition: opacity .15s ease;
}
.iw-pr-wpp--esquerda .iw-pr-wpp-dica { right: auto; left: 64px; }
.iw-pr-wpp:hover .iw-pr-wpp-dica,
.iw-pr-wpp:focus-visible .iw-pr-wpp-dica { opacity: 1; }

/* ==========================================================================
   TOPO DE PÁGINA INTERNA (iw-pr-topo-pagina)
   Reaproveita a marcação do Cabeçalho de Página (.iw-pgh-*) e a veste no
   idioma do hero: marinho profundo, trama de pontos, selo escuro, H1 branco.
   ========================================================================== */
.iw-pr-topo .iw-pgh {
	position: relative;
	overflow: hidden;
	padding: 72px 0 64px;
	border-bottom: 1px solid color-mix(in srgb, #ffffff 8%, transparent);
	background-color: var(--pr-profundo);
	background-image: linear-gradient(90deg,
		var(--pr-profundo),
		color-mix(in srgb, var(--pr-profundo) 95%, transparent) 55%,
		color-mix(in srgb, var(--pr-marinho) 85%, transparent));
	color: #ffffff;
}
/* trama de pontos "de prancheta", igual à do hero */
.iw-pr-topo .iw-pgh::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: .15;
	pointer-events: none;
	background-image: radial-gradient(color-mix(in srgb, #ffffff 55%, transparent) 1px, transparent 1px);
	background-size: 24px 24px;
}
.iw-pr-topo .iw-pgh-fundo { opacity: .3; mix-blend-mode: luminosity; }
.iw-pr-topo .iw-pgh-dentro {
	position: relative;
	z-index: 2;
	max-width: 1280px;
	padding-left: 32px;
	padding-right: 32px;
}

.iw-pr-topo .iw-pgh-trilha ol { margin-bottom: 24px; font-size: 13px; color: var(--pr-claro-2); }
.iw-pr-topo .iw-pgh-trilha a { color: inherit; }
.iw-pr-topo .iw-pgh-trilha a:hover { color: #ffffff; }
.iw-pr-topo .iw-pgh-trilha [aria-current] { font-weight: 600; color: #ffffff; }

/* selo escuro (o mesmo do hero): raio 4, nunca pílula */
.iw-pr-topo .iw-pgh-selo {
	display: inline-flex;
	align-items: center;
	margin-bottom: 16px;
	padding: 4px 12px;
	border: 1px solid color-mix(in srgb, #ffffff 22%, transparent);
	border-radius: var(--pr-raio);
	background-color: color-mix(in srgb, var(--pr-marinho) 80%, transparent);
	font-size: 12px;
	font-weight: 600;
	line-height: 16px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--pr-acento) 25%, #ffffff);
}

.iw-pr-topo .iw-pgh-titulo {
	max-width: 820px;
	font-family: var(--pr-fonte-titulo);
	font-size: 48px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.03em;
	color: #ffffff;
}
.iw-pr-topo .iw-pgh-texto {
	max-width: 672px;
	margin-top: 16px;
	font-size: 18px;
	line-height: 1.6;
	color: var(--pr-claro-1);
}

/* ==========================================================================
   CATÁLOGO (iw-pr-catalogo)
   Reaproveita a marcação do Catálogo (.iw-cat-*) com os cards técnicos da
   família: raio 8, borda fina, sobe 2px, rodapé monoespaçado laranja.
   ========================================================================== */
.iw-pr-cat .iw-cat { padding: 64px 0; background-color: var(--pr-superficie); }
.iw-pr-cat .iw-container { max-width: 1280px; padding-left: 32px; padding-right: 32px; }

/* cabeçalho próprio do widget (quando preenchido) = cabeçalho de seção dividido */
.iw-pr-cat .iw-cat-cab {
	margin-bottom: 48px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--pr-borda);
}
.iw-pr-cat .iw-cat-selo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
	padding: 4px 12px;
	border-radius: 2px;
	background-color: var(--pr-superficie-2);
	font-size: 12px;
	letter-spacing: .06em;
	color: var(--pr-profundo);
}
.iw-pr-cat .iw-cat-selo::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background-color: var(--pr-acento); }
.iw-pr-cat .iw-cat-titulo { font-family: var(--pr-fonte-titulo); font-size: 40px; line-height: 1.2; letter-spacing: -.02em; color: var(--pr-profundo); }
.iw-pr-cat .iw-cat-texto { font-size: 15px; line-height: 24px; color: var(--pr-texto); }

.iw-pr-cat .iw-cat-grade { gap: 24px; }

.iw-pr-cat .iw-cat-item {
	border: 1px solid var(--pr-borda);
	border-radius: 8px;
	background-color: #ffffff;
	box-shadow: var(--pr-sombra-1);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.iw-pr-cat .iw-cat-item:hover,
.iw-pr-cat .iw-cat-item:focus-visible {
	transform: translateY(-2px);
	border-color: var(--pr-borda-forte);
	box-shadow: var(--pr-sombra-2);
}
.iw-pr-cat .iw-cat-item:focus-visible { outline: 2px solid var(--pr-marinho); outline-offset: 3px; }
.iw-pr-cat .iw-cat-foto { background-color: var(--pr-superficie-1); }
.iw-pr-cat .iw-cat-item:hover .iw-cat-foto img { transform: scale(1.03); }

.iw-pr-cat .iw-cat-corpo { gap: 8px; padding: 20px 24px; }
.iw-pr-cat .iw-cat-categoria {
	font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--pr-acento);
}
.iw-pr-cat .iw-cat-nome {
	font-family: var(--pr-fonte-texto);
	font-size: 18px;
	font-weight: 700;
	line-height: 26px;
	color: var(--pr-profundo);
}
.iw-pr-cat .iw-cat-desc { font-size: 13px; line-height: 1.65; color: var(--pr-texto); }
.iw-pr-cat .iw-cat-preco { font-family: var(--pr-fonte-titulo); font-size: 18px; font-weight: 700; color: var(--pr-profundo); }

/* "Ver produtos →" = rodapé técnico do card */
.iw-pr-cat .iw-cat-link {
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid var(--pr-superficie-2);
	font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--pr-acento);
}
.iw-pr-cat .iw-cat-vazio { font-size: 15px; color: var(--pr-texto); }

/* "veja também" de uma página final: segue o detalhe do item, que já é claro */
.iw-pr-cat .iw-cat--relacionados { background-color: var(--pr-superficie-1); border-top: 1px solid var(--pr-borda); }

/* ==========================================================================
   DETALHE DE PRODUTO OU SERVIÇO (iw-pr-item)
   Mesma grade 5/7 do Sobre: foto com faixa de legenda e ficha à esquerda;
   chip, H2, texto, lista e botões à direita.
   ========================================================================== */
.iw-pr-item-grade {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 48px;
	align-items: start;
}
/* fotos de produto em fundo branco: inteiras, sem corte */
.iw-pr-item-foto { margin: 0; }
.iw-pr-item-foto img {
	height: auto;
	aspect-ratio: 4 / 3;
	padding: 16px;
	object-fit: contain;
	background: #ffffff;
}

.iw-pr-item-ficha {
	margin: 16px 0 0;
	border: 1px solid var(--pr-borda);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: var(--pr-sombra-1);
}
.iw-pr-item-ficha > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--pr-superficie-2);
}
.iw-pr-item-ficha > div:last-child { border-bottom: 0; }
.iw-pr-item-ficha dt { font-size: 11px; font-weight: 600; text-transform: uppercase; color: var(--pr-cinza); }
.iw-pr-item-ficha dd { margin: 0; font-size: 14px; font-weight: 600; text-align: right; color: var(--pr-ardosia); }
.iw-pr-item-ficha a { color: var(--pr-marinho); }
.iw-pr-item-ficha a:hover { text-decoration: underline; }

.iw-pr-item-corpo { display: flex; flex-direction: column; gap: 24px; }
.iw-pr-item-texto > p { margin: 0 0 16px; font-size: 15px; line-height: 1.7; }
.iw-pr-item-texto > p:last-child { margin-bottom: 0; }
.iw-pr-item-texto > p:first-child { font-size: 18px; line-height: 1.6; color: var(--pr-ardosia); }
.iw-pr-item-texto strong { color: var(--pr-profundo); }

/* texto longo do item (HTML da planilha): títulos, listas, tabelas e links */
.iw-pr-item-texto h2 {
	margin: 40px 0 16px;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -.015em;
}
.iw-pr-item-texto h3 {
	margin: 24px 0 8px;
	font-size: 18px;
	font-weight: 600;
	line-height: 26px;
}
.iw-pr-item-texto ul,
.iw-pr-item-texto ol { margin: 0 0 16px; padding-left: 24px; }
.iw-pr-item-texto li { margin: 0 0 8px; font-size: 15px; line-height: 1.7; }
.iw-pr-item-texto li::marker { color: var(--pr-marinho); font-weight: 600; }
.iw-pr-item-texto a {
	color: var(--pr-marinho);
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.iw-pr-item-texto a:hover { color: var(--pr-profundo); }
.iw-pr-item-texto table {
	width: 100%;
	margin: 8px 0 16px;
	border: 1px solid var(--pr-borda);
	border-radius: 8px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #ffffff;
	box-shadow: var(--pr-sombra-1);
}
.iw-pr-item-texto th,
.iw-pr-item-texto td {
	padding: 10px 16px;
	border-bottom: 1px solid var(--pr-superficie-2);
	text-align: left;
	vertical-align: top;
}
.iw-pr-item-texto th {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--pr-cinza);
	background: var(--pr-superficie-1);
}
.iw-pr-item-texto td { font-size: 14px; line-height: 22px; color: var(--pr-ardosia); }
.iw-pr-item-texto tbody tr:last-child td { border-bottom: 0; }
.iw-pr-item-texto tbody tr:nth-child(even) td { background: var(--pr-superficie); }
.iw-pr-item-texto small {
	display: block;
	font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
	font-size: 12px;
	color: var(--pr-cinza);
}

.iw-pr-item-lista {
	padding: 24px;
	border: 1px solid var(--pr-borda);
	border-radius: 8px;
	background-color: var(--pr-superficie-1);
}
.iw-pr-item-lista h3 {
	margin-bottom: 16px;
	font-family: var(--pr-fonte-texto);
	font-size: 18px;
	font-weight: 700;
	line-height: 26px;
}
.iw-pr-item-lista ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.iw-pr-item-lista li { display: flex; align-items: flex-start; gap: 12px; margin: 0; font-size: 14px; line-height: 22px; color: var(--pr-ardosia); }
.iw-pr-item-lista li > .iw-pr-ico {
	width: 24px;
	height: 24px;
	border-radius: var(--pr-raio);
	background-color: var(--pr-superficie-2);
	color: var(--pr-profundo);
	font-size: 11px;
}

.iw-pr-item-botoes { display: flex; flex-wrap: wrap; gap: 16px; }

/* ==========================================================================
   LOCALIZAÇÃO COM MAPA (iw-pr-mapa)
   Seção clara com borda (como Depoimentos). Coluna estreita = card de
   contatos; larga = mapa com a faixa de legenda da foto do Sobre.
   ========================================================================== */
.iw-pr-mapa { background-color: var(--pr-superficie-1); border-top: 1px solid var(--pr-borda); }
.iw-pr-mapa-grade {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 48px;
	align-items: start;
}
.iw-pr-mapa-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	padding: 24px;
	border: 1px solid var(--pr-borda);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: var(--pr-sombra-1);
}
.iw-pr-mapa-lista { width: 100%; margin: 0; font-style: normal; }
.iw-pr-mapa-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px solid var(--pr-superficie-2);
}
.iw-pr-mapa-item:first-child { padding-top: 0; }
.iw-pr-mapa-item:last-child { padding-bottom: 0; border-bottom: 0; }
.iw-pr-mapa-item > .iw-pr-ico {
	width: 40px;
	height: 40px;
	border-radius: var(--pr-raio);
	background-color: var(--pr-superficie-2);
	color: var(--pr-profundo);
	font-size: 16px;
}
.iw-pr-mapa-item.is-wpp > .iw-pr-ico { color: var(--pr-ok); }
.iw-pr-mapa-item small {
	display: block;
	margin-bottom: 2px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--pr-cinza);
}
.iw-pr-mapa-item p { font-size: 15px; font-weight: 500; line-height: 24px; color: var(--pr-ardosia); }
.iw-pr-mapa-item a { color: inherit; transition: color .15s ease; }
.iw-pr-mapa-item a:hover { color: var(--pr-marinho); text-decoration: underline; }
.iw-pr-mapa-item a:focus-visible { outline: 2px solid var(--pr-marinho); outline-offset: 2px; }

.iw-pr-mapa-frame {
	overflow: hidden;
	margin: 0;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 0 0 1px var(--pr-borda), 0 2px 4px color-mix(in srgb, var(--pr-ardosia) 4%, transparent);
}
.iw-pr-mapa-frame iframe { display: block; width: 100%; height: 440px; border: 0; }
.iw-pr-mapa-frame .iw-pr-form-aviso { margin: 16px; }

/* ==========================================================================
   Movimento reduzido
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	.iw-pr *,
	.iw-pr-wpp,
	.iw-pr-wpp * { animation: none !important; transition: none !important; }
}

/* ==========================================================================
   TABLET (até 1023px)
   ========================================================================== */
@media (max-width: 1023px) {
	.iw-pr-hero-grade,
	.iw-pr-sobre-grade,
	.iw-pr-mapa-grade,
	.iw-pr-item-grade,
	.iw-pr-esp-caixa,
	.iw-pr-conv-grade { grid-template-columns: minmax(0, 1fr); }
	.iw-pr-hero-painel { display: none; }
	.iw-pr-hero-corpo { padding: 80px 0 64px; }
	.iw-pr-metricas .iw-pr-box,
	.iw-pr-cartoes,
	.iw-pr-rod-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.iw-pr-dep-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.iw-pr-esp-caixa { padding: 32px; }
}

/* ==========================================================================
   CELULAR (até 767px)
   ========================================================================== */
@media (max-width: 767px) {
	.iw-pr-box { padding: 0 16px; }

	.iw-pr-topo .iw-pgh { padding: 48px 0 40px; }
	.iw-pr-topo .iw-pgh-dentro,
	.iw-pr-cat .iw-container { padding-left: 16px; padding-right: 16px; }
	.iw-pr-topo .iw-pgh-titulo { font-size: 32px; line-height: 1.2; letter-spacing: -.02em; }
	.iw-pr-topo .iw-pgh-texto { font-size: 16px; }
	.iw-pr-cat .iw-cat { padding: 48px 0; }
	.iw-pr-cat .iw-cat-titulo { font-size: 28px; line-height: 36px; }
	.iw-pr-cat .iw-cat-corpo { padding: 16px 18px; }

	.iw-pr-cab-contatos .iw-pr-cab-item--email,
	.iw-pr-cab-contatos .iw-pr-cab-item--wpp,
	.iw-pr-cab-local .iw-pr-cab-chip { display: none; }
	.iw-pr-cab-barra > .iw-pr-box { min-height: 68px; gap: 12px; }
	.iw-pr-cab-nav,
	.iw-pr-cab-acoes > .iw-pr-btn { display: none; }
	.iw-pr-cab-atalho,
	.iw-pr-cab-menu-btn { display: inline-flex; }
	.iw-pr-cab-marca img { height: 36px; }
	.iw-pr-cab-nome strong { font-size: 18px; }

	.iw-pr-hero h1 { font-size: 36px; line-height: 1.2; letter-spacing: -.02em; }
	.iw-pr-hero-sub { font-size: 16px; }
	.iw-pr-hero-botoes { width: 100%; }
	.iw-pr-hero-botoes .iw-pr-btn { width: 100%; }
	.iw-pr-hero-corpo { padding: 56px 0 40px; }
	.iw-pr-metricas .iw-pr-box { gap: 12px; padding-top: 20px; padding-bottom: 20px; }
	.iw-pr-metrica { flex-direction: column; gap: 8px; padding: 12px; }
	.iw-pr-metrica > .iw-pr-ico { padding: 8px; font-size: 18px; }
	.iw-pr-metrica strong { font-size: 22px; }

	.iw-pr-cab-secao { flex-direction: column; align-items: flex-start; margin-bottom: 32px; }
	.iw-pr-h2 { font-size: 28px; line-height: 36px; letter-spacing: -.01em; }
	.iw-pr-h3 { font-size: 22px; }
	.iw-pr-foto-card img { height: 260px; }
	.iw-pr-citacao p { font-size: 18px; }
	.iw-pr-mapa-grade { gap: 24px; }
	.iw-pr-mapa-info { padding: 20px; }
	.iw-pr-mapa-info .iw-pr-btn { width: 100%; }
	.iw-pr-item-grade { gap: 24px; }
	.iw-pr-item-lista { padding: 20px; }
	.iw-pr-item-lista ul { grid-template-columns: minmax(0, 1fr); }
	.iw-pr-item-texto > p:first-child { font-size: 16px; }
	.iw-pr-item-texto h2 { margin-top: 32px; font-size: 22px; }
	/* tabela larga rola dentro dela, não na página */
	.iw-pr-item-texto table { display: block; overflow-x: auto; }
	.iw-pr-item-texto th,
	.iw-pr-item-texto td { padding: 8px 12px; }
	.iw-pr-item-botoes .iw-pr-btn { width: 100%; }

	.iw-pr-cartoes,
	.iw-pr-rod-grade { grid-template-columns: minmax(0, 1fr); }
	.iw-pr-painel-claro { padding: 20px; }
	.iw-pr-painel-claro .iw-pr-cartoes { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.iw-pr-painel-claro .iw-pr-aplic { padding: 16px; }

	/* depoimentos: carrossel com o dedo */
	.iw-pr-dep-grade {
		display: flex;
		gap: 16px;
		margin-right: -16px;
		padding-right: 16px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.iw-pr-dep-grade::-webkit-scrollbar { display: none; }
	.iw-pr-dep-card { flex: 0 0 85%; padding: 24px; scroll-snap-align: start; }

	.iw-pr-esp-caixa { padding: 24px; }
	.iw-pr-esp-valores { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.iw-pr-conv h2 { font-size: 30px; }
	.iw-pr-conv-sub { font-size: 16px; }
	.iw-pr-form-card { padding: 24px 20px; }
	.iw-pr-conv-alt .iw-pr-btn { width: 100%; }

	.iw-pr-rod-grade { gap: 28px; padding-top: 48px; padding-bottom: 48px; }
	.iw-pr-rod-base .iw-pr-box { flex-direction: column; text-align: center; }

	.iw-pr-wpp { right: 16px; bottom: 16px; }
	.iw-pr-wpp--esquerda { left: 16px; }
	.iw-pr-wpp-dica { display: none; }
}
