/* Tema Exata — main.css | 1) Tokens 2) Base 3) Componentes 4) Home 5) Páginas 6) Telão 7) WooCommerce 8) Responsivo */

/* ---------- 1. Tokens: claro é o padrão ---------- */
:root,
:root[data-tema="claro"] {
	--bg: #ffffff; --bg2: #f6f8f9; --surf: #ffffff; --surf2: #f6f8f9;
	--linha: #e3e8ec; --linha2: #c4cdd6;
	--tx: #0e2233; --mut: #3d4a55; --mut2: #5b6770;
	--acento: #8cc63f; --acento-tx: #477a12; --sobre-acento: #0e2233;
	--inv-bg: #0e2233; --inv-tx: #ffffff;
	--tag-bg: #eef7e2;
	--ph: #eef1f4; --topo: #0e2233; --rodape: #0a1925; --cab: #ffffff;
	color-scheme: light;
}
:root[data-tema="escuro"] {
	--bg: #0b1620; --bg2: #0f1d29; --surf: #12212e; --surf2: #182b3a;
	--linha: #24384a; --linha2: #2c4256;
	--tx: #eef3f6; --mut: #b4c1cb; --mut2: #9fb0bd;
	--acento: #8cc63f; --acento-tx: #a6d65f; --sobre-acento: #0e2233;
	--inv-bg: #eef3f6; --inv-tx: #0b1620;
	--tag-bg: rgba(140, 198, 63, .14);
	--ph: #142533; --topo: #060e15; --rodape: #060e15; --cab: #0b1620;
	color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
	:root[data-tema="auto"] {
		--bg: #0b1620; --bg2: #0f1d29; --surf: #12212e; --surf2: #182b3a;
		--linha: #24384a; --linha2: #2c4256;
		--tx: #eef3f6; --mut: #b4c1cb; --mut2: #9fb0bd;
		--acento-tx: #a6d65f; --inv-bg: #eef3f6; --inv-tx: #0b1620;
		--tag-bg: rgba(140, 198, 63, .14); --ph: #142533; --topo: #060e15; --rodape: #060e15; --cab: #0b1620;
		color-scheme: dark;
	}
}
:root { --raio: 16px; --raio-g: 24px; --largura: 1200px; }

/* ---------- 2. Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--tx); font: 400 16px/1.55 Poppins, system-ui, -apple-system, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
a { color: var(--tx); text-decoration: none; }
a:hover { color: var(--acento-tx); }
h1, h2, h3 { line-height: 1.15; margin: 0 0 .5em; }
h1 { font-size: clamp(32px, 4.5vw, 46px); font-weight: 800; letter-spacing: -.01em; }
h2 { font-size: clamp(24px, 3vw, 30px); font-weight: 700; }
h3 { font-size: 18px; font-weight: 700; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--acento); outline-offset: 2px; }
.wrap { max-width: var(--largura); margin: 0 auto; padding: 0 32px; }
.secao { padding-top: 56px; padding-bottom: 8px; }
.mut { color: var(--mut); }
.acento { color: var(--acento); }
.acento-forte { color: var(--acento-tx); font-weight: 600; }
.lead { font-size: 18px; color: var(--mut); max-width: 600px; }
.pular { position: absolute; left: -999px; top: 8px; background: var(--acento); color: var(--sobre-acento); padding: 8px 12px; border-radius: 8px; z-index: 99; }
.pular:focus { left: 8px; }
.titulo-pagina { margin-bottom: 24px; }
.texto { max-width: 820px; }
.texto a { color: var(--acento-tx); text-decoration: underline; }
.texto h2 { margin-top: 1.4em; }
.texto ul, .texto ol { padding-left: 1.2em; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- 3. Componentes ---------- */
.btn, .button, button.button, input[type="submit"], .wp-element-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 12px; border: 0; font-family: inherit; font-weight: 600; font-size: 15px; line-height: 1; cursor: pointer; text-decoration: none; }
.btn--p { min-height: 44px; padding: 0 16px; }
.btn--g { min-height: 56px; padding: 0 28px; font-size: 16px; }
.btn--lime, .single_add_to_cart_button, .checkout-button, #place_order { background: var(--acento) !important; color: var(--sobre-acento) !important; }
.btn--lime:hover { background: #9bd14f !important; color: var(--sobre-acento) !important; }
.btn--inv { background: var(--inv-bg); color: var(--inv-tx); }
.btn--inv:hover { color: var(--inv-tx); opacity: .92; }
.btn--fantasma { background: transparent; color: var(--tx); border: 1.5px solid var(--linha2); }
.btn--fantasma:hover { border-color: var(--tx); color: var(--tx); }
.linha-btns { display: flex; gap: 12px; flex-wrap: wrap; margin: 0; }
.card { display: block; background: var(--surf); border: 1px solid var(--linha); border-radius: var(--raio-g); overflow: hidden; }
.tag { display: inline-block; background: var(--tag-bg); color: var(--acento-tx); font-weight: 600; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; padding: 6px 10px; border-radius: 8px; }
.grade { display: grid; gap: 20px; }
.grade--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grade--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grade--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.contador { background: var(--acento); color: var(--sobre-acento); border-radius: 99px; font-size: 12px; min-width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; padding: 0 6px; }
.icone-txt { display: flex; gap: 12px; align-items: flex-start; }
.icone-txt svg { flex: none; color: var(--acento-tx); margin-top: 2px; }
.lista-check { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.lista-check li { display: flex; gap: 10px; align-items: flex-start; }
.lista-check svg { flex: none; color: var(--acento-tx); margin-top: 3px; }

.barra-topo { background: var(--topo); color: #c4cdd6; font-size: 13px; }
.barra-topo__in { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; min-height: 36px; }
.barra-topo .acento { color: var(--acento); }
.cab { border-bottom: 1px solid var(--linha); background: var(--cab); position: sticky; top: 0; z-index: 20; }
.cab__in { display: flex; align-items: center; gap: 28px; min-height: 80px; flex-wrap: wrap; }
.cab__logo img { height: 48px; width: auto; }
.cab__marca { font-weight: 800; font-size: 28px; letter-spacing: -.02em; }
.cab__nav { flex-grow: 1; }
.cab__lista { list-style: none; margin: 0; padding: 0; display: flex; gap: 26px; flex-wrap: wrap; }
.cab__lista a { font-weight: 500; font-size: 15px; }
.cab__acoes { display: flex; gap: 10px; align-items: center; }
.cab__menu-btn { display: none; background: transparent; border: 1.5px solid var(--linha2); color: var(--tx); border-radius: 12px; width: 44px; height: 44px; align-items: center; justify-content: center; cursor: pointer; }

.rod { background: var(--rodape); color: #c4cdd6; font-size: 14px; margin-top: 64px; }
.rod a { color: #c4cdd6; }
.rod a:hover { color: #a6d65f; }
.rod strong { color: #ffffff; }
.rod .acento-forte { color: #a6d65f; }
.rod__grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; padding-top: 48px; padding-bottom: 40px; }
.rod__col { display: flex; flex-direction: column; gap: 8px; }
.rod__col .cab__marca { color: #ffffff; }
.rod__redes { display: flex; gap: 10px; margin-top: 4px; }
.rod__redes a { width: 40px; height: 40px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, .18); display: inline-flex; align-items: center; justify-content: center; }
.rod__base { border-top: 1px solid rgba(255, 255, 255, .1); padding: 16px 0; font-size: 12px; color: #9aa4ad; }

/* ---------- 4. Home ---------- */
.hero { background: var(--bg2); }
.hero__in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 48px; align-items: center; padding-top: 64px; padding-bottom: 64px; }
.hero__txt { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.hero__txt h1, .hero__txt p { margin: 0; }
.hero__selos { list-style: none; padding: 0; margin: 4px 0 0; display: flex; gap: 28px; flex-wrap: wrap; font-size: 14px; color: var(--mut); }
.hero__selos strong { color: var(--tx); }
.mosaico { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.mosaico a { display: block; border-radius: 20px; overflow: hidden; background: #fff; border: 1px solid var(--linha); aspect-ratio: 1 / 1; }
.mosaico img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; }
.mosaico a:hover img { transform: scale(1.04); }
.atalho { padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.atalho__foto { height: 170px; border-radius: 14px; overflow: hidden; background: var(--bg2); display: flex; align-items: center; justify-content: center; color: var(--acento-tx); }
.atalho__foto img { width: 100%; height: 100%; object-fit: cover; }
.atalho:hover { border-color: var(--acento); color: var(--tx); }
.secao__cab { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.secao__cab h2 { margin: 0; }
.passos { list-style: none; padding: 0; margin: 0; }
.passos li { display: flex; gap: 16px; align-items: flex-start; }
.passos p { margin: 4px 0 0; font-size: 14px; }
.passo { flex: none; width: 44px; height: 44px; border-radius: 12px; background: var(--acento); color: var(--sobre-acento); font-weight: 800; display: flex; align-items: center; justify-content: center; transform: skewX(-8deg); }
.faixa { background: var(--bg2); margin-top: 56px; }
.faixa__in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; align-items: center; padding-top: 56px; padding-bottom: 56px; }
.faixa__txt { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.faixa__txt h2, .faixa__txt p { margin: 0; }
.trio { display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: 1fr 1fr; gap: 12px; height: 340px; }
.trio > * { border-radius: 18px; overflow: hidden; }
.trio > *:first-child { grid-row: span 2; }
.trio img { width: 100%; height: 100%; object-fit: cover; display: block; }
.destaque-led { padding: 32px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 340px); gap: 32px; align-items: center; background: #05090d; border-color: #1d2b37; color: #eef3f6; }
.destaque-led__txt { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.destaque-led strong { font-size: clamp(20px, 2.6vw, 28px); line-height: 1.2; }
.destaque-led .mut { color: #b4c1cb; }
.destaque-led .tag { background: rgba(140, 198, 63, .14); color: #a6d65f; }
.destaque-led .acento-forte { color: #a6d65f; }
.destaque-led:hover { border-color: var(--acento); color: #eef3f6; }
.orc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.orc__lado { padding: 40px; background: var(--inv-bg); color: var(--inv-tx); }
.orc__lado p, .orc__lado ul { color: inherit; opacity: .85; }
.orc__lado ul { padding-left: 18px; }
.orc__lado strong { color: var(--acento); }
.orc__form { padding: 40px; }

/* ---------- 5. Páginas ---------- */
.pg-topo { background: var(--bg2); padding: 48px 0 40px; border-bottom: 1px solid var(--linha); }
.pg-topo h1 { margin: 10px 0 8px; }
.pg-topo p { margin: 0; }
.contato-grade { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 32px; align-items: start; }
.contato-info { padding: 28px; display: flex; flex-direction: column; gap: 18px; }
.contato-info a { color: var(--tx); }
.contato-info a:hover { color: var(--acento-tx); }
.contato-form { padding: 28px; }
.bloco { padding: 28px; }
.bloco h2 { font-size: 22px; }
.citacao { margin: 0; padding: 28px 32px; border-radius: var(--raio-g); background: var(--inv-bg); color: var(--inv-tx); font-size: clamp(18px, 2.2vw, 22px); font-weight: 600; line-height: 1.4; }
.numeros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--linha); border: 1px solid var(--linha); border-radius: 20px; overflow: hidden; }
.numeros > div { background: var(--surf); padding: 22px; }
.numeros strong { display: block; font-size: 30px; font-weight: 800; }
.numeros span { color: var(--mut); font-size: 14px; }

/* Link na bio (página sem cabeçalho, para o Instagram) */
.bio { min-height: 100vh; background: var(--bg2); display: flex; justify-content: center; padding: 40px 16px; }
.bio__in { width: 100%; max-width: 440px; display: flex; flex-direction: column; gap: 12px; align-items: stretch; }
.bio__logo { text-align: center; margin-bottom: 8px; }
.bio__logo img { height: 64px; width: auto; }
.bio__logo p { margin: 8px 0 0; color: var(--mut); font-size: 14px; }
.bio__link { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 0 20px; border-radius: 14px; background: var(--surf); border: 1px solid var(--linha); font-weight: 600; }
.bio__link:hover { border-color: var(--acento); color: var(--tx); }
.bio__link--destaque { background: var(--acento); border-color: var(--acento); color: var(--sobre-acento); }
.bio__link--destaque:hover { color: var(--sobre-acento); }
.bio__redes { display: flex; justify-content: center; gap: 12px; margin-top: 12px; }
.bio__redes a { width: 48px; height: 48px; border-radius: 12px; background: var(--surf); border: 1px solid var(--linha); display: inline-flex; align-items: center; justify-content: center; }

/* ---------- 6. Landing dos telões ---------- */
.led-hero { background: #0b1620; color: #eef3f6; }
.led-hero__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; padding-top: 64px; padding-bottom: 56px; }
.led-hero .tag { background: rgba(140, 198, 63, .14); color: #a6d65f; }
.led-hero h1 { margin: 16px 0; }
.led-hero .lead { color: #b4c1cb; }
.led-hero .btn--fantasma { color: #eef3f6; border-color: #2c4256; }
.led-hero .btn--fantasma:hover { border-color: #eef3f6; color: #eef3f6; }
.led-hero .acento-forte { color: #a6d65f; }
.telao { width: 100%; border: 10px solid #1d2b37; border-radius: 10px; box-shadow: 0 24px 60px rgba(0, 0, 0, .35); }
.telao__tela { position: relative; overflow: hidden; background: #05090d; aspect-ratio: 2 / 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 0 8%; gap: 6px; }
.telao__tela::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.5px); background-size: 6px 6px; pointer-events: none; }
.telao__onde { color: #8cc63f; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.telao__marca { color: #fff; font-size: clamp(24px, 3.4vw, 42px); line-height: 1; font-weight: 800; }
.telao__info { color: #c4cdd6; font-size: 14px; }
.telao__barra { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(255, 255, 255, .08); }
.telao__barra i { display: block; height: 100%; background: #8cc63f; animation: ciclo 10s linear infinite; }
@keyframes ciclo { from { width: 0; } to { width: 100%; } }
.telao__pes { display: flex; justify-content: center; gap: 120px; }
.telao__pes i { width: 14px; height: 80px; background: #1d2b37; }
.telao--mini { border-width: 6px; box-shadow: none; }
.telao--mini .telao__tela { padding: 0 6%; }
.telao--mini .telao__marca { font-size: 22px; }
.led-numeros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: #24384a; border: 1px solid #24384a; border-radius: 20px; overflow: hidden; }
.led-numeros > div { background: #12212e; padding: 22px; }
.led-numeros strong { font-size: 30px; font-weight: 800; display: block; }
.led-numeros span { color: #b4c1cb; font-size: 14px; }
.faixa-vagas { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; background: var(--tag-bg); border-radius: 16px; padding: 16px 22px; }
.ponto { display: flex; flex-direction: column; }
.ponto__corpo { padding: 22px; display: flex; flex-direction: column; gap: 12px; flex-grow: 1; }
.ponto__cab { display: flex; align-items: center; gap: 12px; }
.ponto__num { flex: none; width: 40px; height: 40px; border-radius: 10px; background: var(--acento); color: var(--sobre-acento); font-weight: 800; display: flex; align-items: center; justify-content: center; }
.ponto__cab small { display: block; color: var(--mut2); font-size: 13px; }
.ocupacao { display: flex; flex-direction: column; gap: 6px; margin-top: auto; }
.ocupacao__txt { display: flex; justify-content: space-between; font-size: 13px; }
.ocupacao__barra { height: 8px; background: var(--surf2); border-radius: 99px; overflow: hidden; }
.ocupacao__barra i { display: block; height: 100%; background: var(--acento); border-radius: 99px; }
.ponto .telao { border-radius: 0; border-width: 0 0 1px 0; border-color: var(--linha); box-shadow: none; }
.chip { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 12px; border: 1.5px solid var(--linha2); background: transparent; font-family: inherit; font-size: 14px; font-weight: 500; color: var(--tx); cursor: pointer; }
.chip[aria-pressed="true"] { border-color: var(--acento); background: var(--acento); color: var(--sobre-acento); }
.simulador { background: var(--bg2); margin-top: 72px; }
.simulador__in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 40px; padding-top: 64px; padding-bottom: 64px; align-items: start; }
.simulador__opcoes { display: flex; flex-direction: column; gap: 22px; }
.simulador__grupo { display: flex; gap: 10px; flex-wrap: wrap; }
.resumo { padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.resumo__num { background: var(--surf2); border-radius: 14px; padding: 14px; }
.resumo__num span { color: var(--mut); font-size: 13px; }
.resumo__num strong { display: block; font-size: 26px; font-weight: 800; font-variant-numeric: tabular-nums; }
.passos-led { counter-reset: p; }
.passos-led strong { color: var(--acento-tx); }
.faq details { border-bottom: 1px solid var(--linha); padding: 6px 0; }
.faq summary { cursor: pointer; font-weight: 600; min-height: 44px; display: flex; align-items: center; }
.faq p { margin: 0 0 12px; color: var(--mut); font-size: 15px; }
.cta-final { background: var(--acento); color: var(--sobre-acento); border-radius: 28px; padding: 48px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.cta-final h2 { margin: 0 0 6px; }
.cta-final .btn { background: #0e2233; color: #fff; }
.cta-final .btn:hover { color: #fff; opacity: .92; }

/* Formulários */
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="search"], select, textarea { width: 100%; min-height: 46px; padding: 10px 14px; border: 1.5px solid var(--linha2); border-radius: 12px; background: var(--bg); color: var(--tx); font: inherit; font-size: 15px; }
textarea { min-height: 110px; }
label { font-size: 13px; font-weight: 600; }

/* ---------- 7. WooCommerce ---------- */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; background: var(--surf); border: 1px solid var(--linha); border-radius: var(--raio-g); padding: 0 0 16px; overflow: hidden; display: flex; flex-direction: column; }
.woocommerce ul.products li.product a img { margin: 0 0 12px; aspect-ratio: 1 / 1; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; font-weight: 600; padding: 0 16px !important; margin-top: 4px; color: var(--tx); line-height: 1.3; }
.woocommerce ul.products li.product .price { color: var(--tx) !important; font-weight: 700; padding: 0 16px; }
.woocommerce ul.products li.product .price small, .woocommerce .price .woocommerce-price-suffix { display: block; font-size: 11px; font-weight: 400; color: var(--mut2); }
.woocommerce ul.products li.product .price del { color: var(--mut2); font-weight: 400; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { margin: auto 16px 0 !important; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { background: transparent; color: var(--tx); border: 1.5px solid var(--linha2); border-radius: 12px; min-height: 44px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; font-size: 14px; line-height: 1.2; text-align: center; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--surf2); color: var(--tx); border-color: var(--tx); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt { background: var(--acento); color: var(--sobre-acento); border-color: var(--acento); }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: #9bd14f; color: var(--sobre-acento); }
.woocommerce .price, .woocommerce-Price-amount { color: var(--tx); }
.woocommerce div.product .product_title { font-size: clamp(26px, 3vw, 32px); font-weight: 800; }
.woocommerce div.product p.price { font-size: 30px; font-weight: 800; color: var(--tx); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--surf2); border-color: var(--linha); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--bg); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--tx); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { background: var(--surf2) !important; color: var(--tx) !important; border-top-color: var(--acento) !important; }
.woocommerce table.shop_table { border-color: var(--linha); border-radius: var(--raio); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--linha); }
.woocommerce-breadcrumb { color: var(--mut2) !important; font-size: 14px; }
.woocommerce-breadcrumb a { color: var(--mut) !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { color: var(--tx); }
.woocommerce span.onsale { background: var(--acento); color: var(--sobre-acento); }
.select2-container--default .select2-selection--single { background: var(--bg); border-color: var(--linha2); min-height: 46px; border-radius: 12px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--tx); line-height: 44px; }
.fpf-fields .fpf-field input, .fpf-fields .fpf-field textarea, .fpf-fields .fpf-field select { background: var(--bg) !important; color: var(--tx) !important; border: 1.5px solid var(--linha2) !important; border-radius: 12px !important; min-height: 46px; }
.fpf-fields fieldset { border: 1px solid var(--linha); border-radius: 12px; padding: 10px 14px; }

/* ---------- 8. Responsivo ---------- */
@media (max-width: 960px) {
	.woocommerce ul.products, .grade--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rod__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.led-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
	.wrap { padding: 0 16px; }
	.cab__in { gap: 12px; min-height: 64px; }
	.cab__menu-btn { display: inline-flex; order: 3; }
	.cab__nav { order: 4; flex-basis: 100%; display: none; padding-bottom: 12px; }
	.cab__nav.aberto { display: block; }
	.cab__lista { flex-direction: column; gap: 4px; }
	.cab__lista a { display: block; padding: 10px 0; }
	.cab__acoes { margin-left: auto; }
	.cab__acoes .btn span:not(.contador) { display: none; }
	.hero__in, .faixa__in, .orc, .grade--2, .grade--3, .contato-grade, .led-hero__in, .simulador__in, .destaque-led { grid-template-columns: 1fr; }
	.woocommerce ul.products, .grade--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.rod__grade { grid-template-columns: 1fr; }
	.orc__lado, .orc__form, .cta-final { padding: 24px; }
	.barra-topo__in span:first-child { display: none; }
	.trio { height: 240px; }
	.numeros { grid-template-columns: 1fr; }
	.telao__pes { gap: 60px; }
	h1 { font-size: 32px; }
}

/* Loja: fotos alinhadas na grade, prazo e intro de categoria */
.woocommerce ul.products li.product img { aspect-ratio: 1 / 1; object-fit: contain; width: 100%; height: auto; background: #fff; }
.prazo-box { list-style: none; margin: 1rem 0; padding: .9rem 1rem; border-radius: 12px; background: var(--surf); display: grid; gap: .35rem; font-size: .95rem; }
.prazo-box li::before { content: "✓ "; color: var(--acento-tx); font-weight: 700; }
.cat-intro { margin: 0 0 1.5rem; }
.cat-intro p { max-width: 70ch; }
.cat-guia { list-style: none; padding: 0; margin: .75rem 0 0; display: grid; gap: .4rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.cat-guia li { padding: .6rem .8rem; border-radius: 10px; background: var(--surf); font-size: .92rem; }
