/* ============================================================
   ProtectPro Brasil — main.css
   Identidade: verde neon + preto, tech/futurista.
   ============================================================ */

:root {
	/* Marca — verde: neon p/ acento (CTA/destaque), deep p/ texto/links */
	--neon: #84e03c;          /* verde neon principal (acento) */
	--neon-bright: #b6f03a;   /* lima p/ degradê */
	--neon-deep: #2f7d20;     /* verde profundo p/ texto/links (AA em branco) */
	--neon-tint: rgba(132, 224, 60, .16); /* fundo suave do verde */
	--neon-glow: rgba(132, 224, 60, .30);

	/* Tons escuros */
	--ink: #0a0e0a;           /* quase preto (fundo dark) */
	--ink-deep: #06090a;      /* fim de degradê escuro */
	--ink-2: #10161a;         /* painel escuro */
	--ink-3: #1a2127;         /* borda em fundo escuro */
	--ink-soft: #b9c2bb;      /* texto suave sobre fundo escuro */

	/* Tons claros */
	--bg: #ffffff;
	--bg-soft: #f5f7f4;
	--bg-line: #e7ebe5;
	--text: #1c2226;          /* texto principal (levemente mais macio) */
	--text-soft: #586066;     /* texto secundário */
	--muted: #8a9299;

	/* Estados / marcas terceiras */
	--danger: #c0392b;
	--wa: #25d366;            /* WhatsApp */
	--wa-hover: #1fb855;
	--wa-ink: #06351c;
	--ig: #c13584;            /* Instagram */

	--radius: 16px;
	--radius-sm: 10px;
	--shadow: 0 1px 2px rgba(10,14,10,.04), 0 10px 28px rgba(10,14,10,.06);
	--shadow-lg: 0 22px 54px rgba(10,14,10,.14);
	--shadow-neon: 0 10px 30px var(--neon-glow);
	--maxw: 1200px;

	--ff-head: 'Sora', system-ui, sans-serif;
	--ff-body: 'Inter', system-ui, sans-serif;
}

/* ---------- Reset ---------- */
* { box-sizing: border-box; margin: 0; padding: 0; }
/* Escala tipográfica global: 85% = -15% (ajuste este número p/ calibrar o site todo) */
html { scroll-behavior: smooth; font-size: 85%; }
/* iOS dá zoom ao focar input < 16px — protege no mobile */
@media (max-width: 768px) {
	input:not([type="checkbox"]):not([type="radio"]), select, textarea { font-size: 16px; }
}
body {
	font-family: var(--ff-body);
	font-weight: 400;
	color: var(--text);
	background: var(--bg);
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { font-family: var(--ff-head); line-height: 1.18; letter-spacing: -.012em; color: var(--text); font-weight: 700; }
h3, h4 { font-weight: 600; }
.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }

/* ---------- Utilitários ---------- */
.eyebrow {
	font-family: var(--ff-head);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: 0.7812rem;
	color: var(--neon-deep);
}
.eyebrow-neon { color: var(--neon); }
.hl { color: var(--neon-deep); }

/* ---------- Botões ---------- */
.btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	border: none;
	font-family: var(--ff-head);
	font-weight: 700;
	font-size: 0.9375rem;
	padding: 14px 26px;
	border-radius: 999px;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn:focus-visible { outline: 3px solid var(--neon); outline-offset: 2px; }
.btn-cta {
	background: linear-gradient(100deg, var(--neon-bright), var(--neon));
	color: var(--ink);
	box-shadow: var(--shadow-neon);
}
.btn-cta:hover { box-shadow: 0 14px 38px var(--neon-glow); }
.btn-primary { background: var(--ink); color: #fff; }
.btn-primary:hover { background: var(--ink-2); }
.btn-ghost { background: transparent; color: var(--text); border: 1.5px solid var(--bg-line); }
.btn-ghost:hover { border-color: var(--neon-deep); color: var(--neon-deep); }

/* ============================================================
   TOPBAR
   ============================================================ */
.topbar {
	background: var(--ink);
	color: var(--ink-soft);
	font-size: 0.8125rem;
}
.topbar .wrap {
	display: flex;
	gap: 28px;
	justify-content: center;
	flex-wrap: wrap;
	padding: 9px 24px;
	font-weight: 500;
}

/* ============================================================
   HEADER
   ============================================================ */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255,255,255,.92);
	backdrop-filter: saturate(160%) blur(10px);
	border-bottom: 1px solid var(--bg-line);
	transition: box-shadow .2s ease;
}
.site-header.scrolled { box-shadow: 0 4px 20px rgba(10,14,10,.08); }
.nav { display: flex; align-items: center; gap: 32px; height: 76px; }
.brand { display: flex; align-items: center; flex: none; }
.brand-logo, .brand img, .custom-logo { height: 42px; width: auto; }
.primary-nav { flex: 1; }
.menu {
	display: flex;
	gap: 26px;
	list-style: none;
	font-family: var(--ff-head);
	font-weight: 500;
	font-size: 0.9375rem;
}
.menu a {
	position: relative;
	padding: 6px 0;
	color: var(--text);
	transition: color .18s ease;
}
.menu a::after {
	content: "";
	position: absolute;
	left: 0; bottom: -2px;
	height: 2px; width: 0;
	background: var(--neon-deep);
	transition: width .2s ease;
}
.menu a:hover { color: var(--neon-deep); }
.menu a:hover::after { width: 100%; }

.nav-actions { display: flex; align-items: center; gap: 14px; flex: none; }
.cart-link { position: relative; color: var(--text); display: inline-flex; padding: 6px; }
.cart-link:hover { color: var(--neon-deep); }
.cart-count {
	position: absolute;
	top: -4px; right: -6px;
	min-width: 18px; height: 18px;
	padding: 0 5px;
	background: var(--neon-deep);
	color: #fff;
	font-family: var(--ff-head);
	font-size: 0.6875rem;
	font-weight: 700;
	border-radius: 999px;
	display: grid;
	place-items: center;
}
.cart-count[data-count="0"] { display: none; }

.menu-toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
}
.menu-toggle span {
	width: 24px; height: 2px;
	background: var(--text);
	border-radius: 2px;
	transition: transform .2s ease, opacity .2s ease;
}

/* ============================================================
   HERO
   ============================================================ */
.hero {
	position: relative;
	background: radial-gradient(900px 500px at 80% -10%, rgba(132,224,60,.10), transparent),
	            linear-gradient(180deg, var(--ink), var(--ink-deep));
	color: var(--bg-soft);
	overflow: hidden;
}
.hero-glow {
	position: absolute;
	top: -120px; right: -80px;
	width: 520px; height: 520px;
	background: radial-gradient(circle, var(--neon-glow), transparent 60%);
	filter: blur(20px);
	pointer-events: none;
}
.hero-grid {
	position: relative;
	display: grid;
	grid-template-columns: .95fr 1.05fr;
	gap: 44px;
	align-items: center;
	padding: 50px 24px;
}
.hero-copy .eyebrow { color: var(--neon); }
.hero h1 {
	color: #fff;
	font-size: clamp(1.875rem, 3.57vw, 2.875rem);
	margin: 14px 0 16px;
}
.hero h1 .hl { color: var(--neon); }
.hero .lead {
	font-size: 1.062rem;
	color: var(--ink-soft);
	max-width: 46ch;
	margin-bottom: 24px;
}
.hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
.hero .btn-ghost { color: var(--neon); border-color: var(--neon); }
.hero .btn-ghost:hover { background: var(--neon); color: var(--ink); border-color: var(--neon); }
.hero-trust {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 18px 26px;
	margin-top: 34px;
	font-size: 0.875rem;
	color: var(--ink-soft);
	font-weight: 500;
}
.hero-trust li { white-space: nowrap; }
.hero-art { position: relative; display: grid; place-items: center; order: -1; }
.hero-art picture { display: block; width: 100%; max-width: 480px; }
.hero-art img {
	width: 100%;
	max-width: 480px;
	border-radius: var(--radius);
	filter: drop-shadow(0 26px 54px rgba(0,0,0,.5));
}
.hero-badge {
	position: absolute;
	top: 10%; left: 0;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,0) 55%),
		linear-gradient(135deg, #43464d, #15161a 50%, #2b2d33);
	color: #fff;
	font-family: var(--ff-head);
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: .03em;
	padding: 9px 16px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.16);
	box-shadow: 0 10px 26px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.3);
}
.hero-badge svg { width: 15px; height: 15px; color: var(--neon); }

/* ============================================================
   SEÇÕES
   ============================================================ */
.section { padding: 72px 0; }
.sec-head { text-align: center; max-width: 640px; margin: 0 auto 42px; }
.sec-head h2 { font-size: clamp(1.75rem, 3.06vw, 2.625rem); margin: 12px 0; }
.sec-head p { font-size: 1.062rem; color: var(--text-soft); }
.center-cta { text-align: center; margin-top: 44px; }

/* ---------- Categorias ---------- */
.cat-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.cat-card {
	background: var(--bg);
	border: 1px solid var(--bg-line);
	border-radius: var(--radius);
	padding: 18px;
	text-align: center;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.cat-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--shadow-lg);
	border-color: transparent;
}
.cat-thumb {
	aspect-ratio: 1 / 1;
	border-radius: var(--radius-sm);
	background: var(--bg-soft);
	border: 1px solid var(--bg-line);
	margin-bottom: 16px;
	overflow: hidden;
	display: grid;
	place-items: center;
	padding: 18px;
}
.cat-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.cat-card h3 { font-size: 1.125rem; margin-bottom: 6px; }
.cat-link { font-family: var(--ff-head); font-weight: 600; font-size: 0.875rem; color: var(--neon-deep); }

/* ---------- Destaques (WooCommerce) ---------- */
.destaques { background: var(--bg-soft); }
.aviso-wc {
	text-align: center;
	background: #fff;
	border: 1px dashed var(--bg-line);
	border-radius: var(--radius);
	padding: 40px;
	color: var(--text-soft);
}
.aviso-wc strong { display: block; color: var(--text); font-size: 1.125rem; margin-bottom: 6px; }

/* ---------- Diferenciais ---------- */
.dif-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.dif {
	background: var(--bg);
	border: 1px solid var(--bg-line);
	border-radius: var(--radius);
	padding: 28px 24px;
}
.dif-ico {
	width: 52px; height: 52px;
	display: grid; place-items: center;
	font-size: 1.5rem;
	background: rgba(132,224,60,.12);
	border-radius: 14px;
	margin-bottom: 16px;
}
.dif h3 { font-size: 1.062rem; margin-bottom: 8px; }
.dif p { font-size: 0.9062rem; color: var(--text-soft); }

/* ---------- Seja distribuidor ---------- */
.distribuidor {
	background:
		radial-gradient(700px 360px at 12% 20%, rgba(132,224,60,.14), transparent),
		linear-gradient(120deg, var(--ink), var(--ink-deep));
	color: var(--bg-soft);
}
.dist-grid {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 40px;
	align-items: center;
}
.dist-copy h2 { color: #fff; font-size: clamp(1.75rem, 3.06vw, 2.5rem); margin: 14px 0 16px; }
.dist-copy p { color: var(--ink-soft); font-size: 1.062rem; max-width: 46ch; margin-bottom: 28px; }
.dist-art {
	min-height: 240px;
	border-radius: var(--radius);
	background: url('../img/banner-distribuidor.jpg') center/cover no-repeat;
	box-shadow: var(--shadow-lg);
	border: 1px solid var(--ink-3);
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer { background: var(--ink); color: var(--ink-soft); font-size: 0.9062rem; }
.footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 40px;
	padding: 64px 24px 48px;
}
.footer-logo { height: 40px; margin-bottom: 16px; filter: brightness(1.1); }
.footer-brand p { max-width: 34ch; margin-bottom: 18px; }
.footer-pay { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.footer-pay img { background: #fff; border-radius: 6px; padding: 4px 6px; }
.footer-col h4 { color: #fff; font-size: 0.9375rem; margin-bottom: 16px; text-transform: uppercase; letter-spacing: .08em; }
.footer-col ul { list-style: none; display: grid; gap: 10px; }
.footer-col a { color: var(--ink-soft); transition: color .18s ease; }
.footer-col a:hover { color: var(--neon); }
.footer-bottom { border-top: 1px solid var(--ink-3); }
.footer-bottom .wrap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	/* padding-bottom extra reserva espaço para o botão flutuante de WhatsApp não cobrir o CNPJ */
	padding: 20px 24px 96px;
	font-size: 0.8125rem;
	color: var(--ink-soft);
}

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width: 1024px) {
	.cat-grid, .dif-grid { grid-template-columns: repeat(2, 1fr); }
	.footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
	.menu-toggle { display: flex; }
	.primary-nav {
		position: absolute;
		top: 76px; left: 0; right: 0;
		background: #fff;
		border-bottom: 1px solid var(--bg-line);
		box-shadow: var(--shadow);
		max-height: 0;
		overflow: hidden;
		transition: max-height .3s ease;
	}
	.nav-open .primary-nav { max-height: 70vh; }
	.menu { flex-direction: column; gap: 0; padding: 8px 24px 16px; }
	.menu li { border-bottom: 1px solid var(--bg-line); }
	.menu a { display: block; padding: 14px 0; }
	.hero-grid, .dist-grid { grid-template-columns: 1fr; }
	.hero-art { order: -1; }
	.hero-art img { max-width: 360px; }
}
@media (max-width: 560px) {
	.section { padding: 50px 0; }
	.cat-grid, .dif-grid, .footer-grid { grid-template-columns: 1fr; }
	.topbar .wrap { gap: 14px; font-size: 0.75rem; }
	.hero-cta .btn { flex: 1; justify-content: center; }
}

/* ============================================================
   AJUSTES WOOCOMMERCE (loja, catálogo, destaques)
   ============================================================ */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price { color: var(--text); font-family: var(--ff-head); }
.woocommerce ul.products li.product .price ins { color: var(--neon-deep); }
.woocommerce ul.products li.product .button,
.woocommerce a.button, .woocommerce button.button.alt {
	background: var(--ink);
	color: #fff;
	border-radius: 999px;
	font-family: var(--ff-head);
	font-weight: 600;
	transition: background .18s ease;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover, .woocommerce button.button.alt:hover {
	background: var(--neon-deep);
}
.woocommerce ul.products li.product {
	border: 1px solid var(--bg-line);
	border-radius: var(--radius);
	padding: 14px;
	transition: transform .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lg);
}
.woocommerce span.onsale {
	background: linear-gradient(100deg, var(--neon-bright), var(--neon));
	color: var(--ink);
	border-radius: 999px;
}

/* ============================================================
   ÍCONES SVG (substituem emojis)
   ============================================================ */
.ico { width: 20px; height: 20px; flex: none; }

.topbar span { display: inline-flex; align-items: center; gap: 7px; }
.topbar .ico { width: 16px; height: 16px; color: var(--neon); }

.hero-trust li { display: inline-flex; align-items: center; gap: 8px; }
.hero-trust .ico { width: 18px; height: 18px; color: var(--neon); }

.hero-badge { display: inline-flex; align-items: center; gap: 6px; }
.hero-badge .ico { width: 15px; height: 15px; }

.dif-ico { padding: 0; }
.dif-ico .ico { width: 26px; height: 26px; color: var(--neon-deep); }

.btn .ico { width: 18px; height: 18px; }

/* ============================================================
   WHATSAPP FLUTUANTE
   ============================================================ */
.wa-float {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 90;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 56px;
	padding: 0 20px 0 16px;
	background: linear-gradient(100deg, var(--neon-bright), var(--neon));
	color: var(--ink);
	font-family: var(--ff-head);
	font-weight: 700;
	font-size: 0.9375rem;
	border-radius: 999px;
	box-shadow: var(--shadow-neon);
	transition: transform .18s ease, box-shadow .18s ease;
}
.wa-float:hover { transform: translateY(-2px); box-shadow: 0 14px 38px var(--neon-glow); }
.wa-float .wa-ico { width: 28px; height: 28px; color: var(--ink); }
.wa-float .wa-label { white-space: nowrap; }

/* ============================================================
   MOBILE-FIRST / TOUCH / ACESSIBILIDADE
   ============================================================ */
/* Sem atraso de toque e sem scroll horizontal acidental.
   overflow-x: clip (não "hidden") evita virar contêiner de rolagem,
   o que quebrava position: sticky (ex.: barra de frete no carrinho). */
html, body { overflow-x: clip; }
a, button, .btn, .menu-toggle, .cart-link { touch-action: manipulation; }

/* Alvos de toque confortáveis */
.menu-toggle { min-width: 44px; min-height: 44px; }
.cart-link { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }

/* Foco visível para teclado */
a:focus-visible, button:focus-visible, .menu a:focus-visible {
	outline: 3px solid var(--neon);
	outline-offset: 3px;
	border-radius: 6px;
}

@media (max-width: 860px) {
	/* Botões do hero com altura de toque cheia */
	.hero-cta .btn { min-height: 52px; }
	/* WhatsApp: só ícone em telas pequenas, mais discreto */
	.wa-float { right: 16px; bottom: 16px; padding: 0; width: 56px; justify-content: center; }
	.wa-float .wa-label { display: none; }
}

@media (max-width: 560px) {
	.hero .lead, .sec-head p, .dif p { font-size: 1rem; } /* nunca abaixo de 16px no mobile */
	.hero-trust { gap: 12px; }
	.hero-trust li { font-size: 0.9062rem; }
}

/* Respeita quem prefere menos animação */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
	.btn:hover, .cat-card:hover, .wa-float:hover { transform: none; }
}

/* ============================================================
   PÁGINA DE PRODUTO (LANDING)
   ============================================================ */
.pdp-top { padding: 40px 0 20px; }
.pdp-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: start; }
.pdp-gallery { position: sticky; top: 96px; }
.pdp-gallery img { border-radius: var(--radius); }
.woocommerce div.product div.images .flex-control-thumbs li { margin-top: 10px; }

.pdp-breadcrumb { font-size: 0.8125rem; color: var(--muted); margin-bottom: 12px; }
.pdp-breadcrumb a { color: var(--text-soft); }
.pdp-title { font-size: clamp(1.625rem, 2.89vw, 2.375rem); margin-bottom: 14px; }
.pdp-short { color: var(--text-soft); font-size: 1rem; margin-bottom: 20px; }

.pdp-price { background: var(--bg-soft); border: 1px solid var(--bg-line); border-radius: var(--radius); padding: 22px 24px; margin-bottom: 22px; }
.pdp-price .price { font-family: var(--ff-head); font-size: 1.375rem; color: var(--text); }
.pdp-price del { color: var(--muted); font-size: 0.9375rem; }

/* Bloco de preço (valor + parcelas / ou / PIX) */
.price-main { display: flex; flex-direction: column; gap: 3px; }
.price-value { font-family: var(--ff-head); font-weight: 700; font-size: 1.875rem; line-height: 1.1; color: var(--text); }
.price-parc { font-size: 0.9062rem; color: var(--text-soft); }
.price-parc strong { color: var(--text); font-weight: 700; }
.price-sep { display: flex; align-items: center; gap: 12px; margin: 16px 0; color: var(--muted); font-size: 0.75rem; font-family: var(--ff-head); text-transform: uppercase; letter-spacing: .14em; }
.price-sep::before, .price-sep::after { content: ""; flex: 1; height: 1px; background: var(--bg-line); }
.price-pix { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pix-badge { display: inline-flex; align-items: center; gap: 7px; background: var(--neon-tint); color: var(--neon-deep); font-family: var(--ff-head); font-weight: 700; font-size: 0.8125rem; padding: 7px 13px; border-radius: 999px; }
.pix-badge .ico { width: 16px; height: 16px; color: var(--neon-deep); }
.pix-value { font-family: var(--ff-head); font-weight: 700; font-size: 1.625rem; color: var(--neon-deep); }

/* Compra: quantidade ao lado do botão; botão preto com texto branco */
.pdp-buy form.cart { display: flex; align-items: stretch; gap: 12px; flex-wrap: wrap; }
.pdp-buy .quantity { flex: none; margin: 0; }
.pdp-buy .quantity input.qty {
	height: 54px; width: 84px; text-align: center;
	border: 1.5px solid var(--bg-line); border-radius: 12px;
	font-family: var(--ff-head); font-size: 1rem; color: var(--text);
}
.woocommerce div.product form.cart .button,
.pdp-buy button.single_add_to_cart_button {
	flex: 1; min-width: 220px;
	background: var(--ink) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-family: var(--ff-head); font-weight: 700;
	min-height: 54px; padding: 0 28px;
	box-shadow: none;
}
.pdp-buy button.single_add_to_cart_button:hover { background: var(--ink-2) !important; }
.pdp-wa {
	display: flex; justify-content: center; width: 100%;
	background: var(--wa); color: var(--wa-ink); margin-top: 12px; min-height: 52px;
}
.pdp-wa:hover { background: var(--wa-hover); }
.pdp-wa .wa-ico { width: 22px; height: 22px; color: var(--wa-ink); }

.pdp-trust { list-style: none; display: grid; gap: 10px; margin: 22px 0; }
.pdp-trust li { display: flex; align-items: center; gap: 10px; font-size: 0.9062rem; color: var(--text); }
.pdp-trust .ico { width: 20px; height: 20px; color: var(--neon-deep); }
.pdp-pay { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.pdp-pay img { background: #fff; border: 1px solid var(--bg-line); border-radius: 6px; padding: 3px 5px; }

/* Pilares */
.pilar-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pilar { background: var(--ink); color: var(--bg-soft); border-radius: var(--radius); padding: 30px 26px; }
.pilar-ico { width: 52px; height: 52px; display: grid; place-items: center; background: rgba(132,224,60,.14); border-radius: 14px; margin-bottom: 16px; }
.pilar-ico .ico { width: 26px; height: 26px; color: var(--neon); }
.pilar h3 { color: #fff; font-size: 1.188rem; margin-bottom: 8px; }
.pilar p { color: var(--ink-soft); font-size: 0.9375rem; }

/* Descrição / specs */
.sec-head.left { text-align: left; margin-left: 0; margin-right: auto; }
.pdp-desc { background: var(--bg-soft); }
.pdp-desc-body { font-size: 1.031rem; color: var(--text-soft); max-width: 75ch; }
.pdp-desc-body h2, .pdp-desc-body h3 { color: var(--text); margin: 24px 0 10px; }
.pdp-desc-body p { margin-bottom: 14px; }

.specs-table table { width: 100%; border-collapse: collapse; max-width: 760px; margin: 0 auto; }
.specs-table th, .specs-table td { text-align: left; padding: 14px 16px; border-bottom: 1px solid var(--bg-line); font-size: 0.9375rem; }
.specs-table th { font-family: var(--ff-head); color: var(--text); width: 38%; background: var(--bg-soft); }

/* Suporte */
.pdp-suporte { background: linear-gradient(120deg, var(--ink), var(--ink-deep)); color: var(--bg-soft); }
.suporte-grid h2 { color: #fff; font-size: clamp(1.5rem,2.55vw,2.125rem); margin: 14px 0 14px; max-width: 18ch; }
.suporte-grid p { color: var(--ink-soft); font-size: 1.062rem; max-width: 52ch; margin-bottom: 24px; }

/* FAQ */
.pdp-faq-wrap { max-width: 820px; margin: 0 auto; }
.faq-list { display: grid; gap: 12px; }
.faq-item { border: 1px solid var(--bg-line); border-radius: var(--radius-sm); background: #fff; overflow: hidden; }
.faq-item summary {
	cursor: pointer; list-style: none; padding: 18px 20px;
	font-family: var(--ff-head); font-weight: 600; font-size: 1rem; color: var(--text);
	display: flex; justify-content: space-between; align-items: center; gap: 12px;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary .ico { width: 20px; height: 20px; color: var(--neon-deep); transition: transform .25s ease; flex: none; }
.faq-item[open] summary .ico { transform: rotate(180deg); }
.faq-a { padding: 0 20px 18px; color: var(--text-soft); font-size: 0.9688rem; }
/* Página FAQ (agrupada) */
.faq-page { max-width: 840px; margin: 0 auto; }
.faq-page .faq-intro { color: var(--text-soft); font-size: 1.062rem; max-width: 70ch; margin: 0 auto 8px; text-align: center; }
.faq-group { margin-top: 40px; }
.faq-group > h2 { font-size: clamp(1.25rem, 2.21vw, 1.625rem); color: var(--text); margin: 0 0 16px; padding-left: 12px; border-left: 4px solid var(--neon-deep); }

/* CTA final */
.pdp-cta-final { text-align: center; background: var(--bg-soft); }
.pdp-cta-final h2 { font-size: clamp(1.5rem,2.55vw,2.125rem); margin-bottom: 10px; }
.pdp-cta-final p { color: var(--text-soft); font-size: 1.062rem; margin-bottom: 24px; }
.cta-row { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }
.pdp-cta-final .wa-ico { width: 22px; height: 22px; color: var(--ink); }

/* Barra de compra fixa (mobile) */
.pdp-stickybar { display: none; }

@media (max-width: 860px) {
	.pdp-grid { grid-template-columns: 1fr; gap: 28px; }
	.pdp-gallery { position: static; }
	.pilar-grid { grid-template-columns: 1fr; }
	.pdp-stickybar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 95;
		display: flex; align-items: center; gap: 10px;
		background: #fff; border-top: 1px solid var(--bg-line);
		padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
		box-shadow: 0 -6px 20px rgba(10,14,10,.1);
	}
	.sticky-price { display: flex; flex-direction: column; line-height: 1.1; }
	.sticky-label { font-size: 0.6875rem; color: var(--text-soft); }
	.sticky-price strong { font-family: var(--ff-head); font-size: 1.125rem; color: var(--neon-deep); }
	.sticky-buy { flex: 1; justify-content: center; min-height: 48px; background: var(--ink); color: #fff; }
	.sticky-wa { display: grid; place-items: center; width: 48px; height: 48px; background: var(--wa); border-radius: 12px; flex: none; }
	.sticky-wa .wa-ico { width: 26px; height: 26px; color: var(--wa-ink); }
	/* No produto, a barra fixa já tem WhatsApp — esconde o flutuante pra não duplicar */
	body.single-product .wa-float { display: none; }
}

/* ============================================================
   GALERIA DO PRODUTO (WooCommerce)
   ============================================================ */
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image img { border-radius: var(--radius); }
.woocommerce-product-gallery__trigger { z-index: 5; top: 12px; right: 12px; }

.woocommerce-product-gallery ol.flex-control-thumbs {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0;
	margin: 14px 0 0;
}
.woocommerce-product-gallery ol.flex-control-thumbs li {
	width: 76px;
	margin: 0;
	cursor: pointer;
	list-style: none;
}
.woocommerce-product-gallery ol.flex-control-thumbs img {
	border-radius: 8px;
	border: 1.5px solid var(--bg-line);
	opacity: .65;
	transition: opacity .18s ease, border-color .18s ease;
}
.woocommerce-product-gallery ol.flex-control-thumbs img.flex-active,
.woocommerce-product-gallery ol.flex-control-thumbs img:hover {
	opacity: 1;
	border-color: var(--neon-deep);
}

/* ============================================================
   VÍDEO DO PRODUTO + TEXTOS DA DESCRIÇÃO
   ============================================================ */
.pdp-video { padding-top: 32px; padding-bottom: 8px; }
.pdp-video-wrap { max-width: 920px; margin: 0 auto; }
.video-embed {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
}
.video-embed iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Texto rico da descrição (sem estilos inline — tudo pelo tema) */
.pdp-desc-body h2 { font-size: clamp(1.25rem, 2.04vw, 1.625rem); margin: 28px 0 12px; }
.pdp-desc-body h2:first-child { margin-top: 0; }
.pdp-desc-body .lead-desc { font-size: 1.094rem; color: var(--text); }
.pdp-desc-body ul { list-style: none; display: grid; gap: 10px; margin: 8px 0 16px; }
.pdp-desc-body ul li {
	position: relative;
	padding-left: 30px;
	font-size: 0.9688rem;
}
.pdp-desc-body ul li::before {
	content: "";
	position: absolute;
	left: 0; top: 7px;
	width: 16px; height: 16px;
	background: var(--neon-deep);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.pdp-desc-body ul li strong { color: var(--text); }

/* Tabela dentro da descrição (ex.: comparativo de materiais) */
.pp-table-wrap { overflow-x: auto; margin: 16px 0 18px; border: 1px solid var(--bg-line); border-radius: var(--radius-sm); }
.pp-table-wrap table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 0.9062rem; }
.pp-table-wrap thead th { background: var(--ink); color: #fff; font-family: var(--ff-head); font-weight: 700; text-align: left; padding: 13px 16px; }
.pp-table-wrap td { padding: 13px 16px; border-top: 1px solid var(--bg-line); vertical-align: top; color: var(--text-soft); }
.pp-table-wrap tbody tr:nth-child(even) { background: var(--bg-soft); }
.pp-table-wrap td:first-child { font-family: var(--ff-head); font-weight: 700; color: var(--text); white-space: nowrap; }

/* Bloco de ROI / "quanto pode gerar" (componente reutilizável) */
.roi-box {
	background: linear-gradient(135deg, var(--neon) 0%, var(--neon-bright) 100%);
	border-radius: 22px;
	padding: 28px;
	margin: 18px 0 8px;
	color: var(--text);
}
.roi-box .roi-intro { font-size: 1rem; font-weight: 600; color: var(--text); margin: 0 0 16px; }
.roi-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px; }
.roi-stat { background: #fff; border-radius: 14px; padding: 16px 18px; }
.roi-stat span { display: block; font-size: 0.8125rem; color: var(--text-soft); margin-bottom: 4px; }
.roi-stat strong { font-family: var(--ff-head); font-size: 1.375rem; color: var(--text); }
.roi-stat--profit { box-shadow: 0 0 0 2px var(--neon-deep) inset; }
.roi-stat--profit strong { color: var(--neon-deep); }
.roi-box .roi-note { font-size: 0.7812rem; color: var(--neon-deep); margin: 0 0 16px; }
.roi-highlight { background: var(--ink); color: var(--bg-soft); border-radius: 16px; padding: 22px; }
.roi-highlight .roi-h-title { display: block; color: var(--neon); font-family: var(--ff-head); margin-bottom: 12px; }
.roi-highlight ul.roi-gains { list-style: none; display: grid; gap: 8px; margin: 0 0 12px; }
.roi-highlight ul.roi-gains li {
	padding-left: 28px;
	font-family: var(--ff-head);
	font-weight: 700;
	font-size: 1.062rem;
	color: #fff;
}
.roi-highlight ul.roi-gains li::before {
	content: "";
	position: absolute;
	left: 0; top: 6px;
	width: 18px; height: 18px;
	background: var(--neon);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
}
.roi-highlight .roi-pay { color: var(--ink-soft); font-size: 0.9062rem; margin: 0; }

/* Calculadora interativa */
.pdp-roi-wrap { max-width: 860px; margin: 0 auto; }
.roi-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 18px; }
.roi-field { display: grid; gap: 6px; }
.roi-field > span { font-family: var(--ff-head); font-weight: 600; font-size: 0.8125rem; color: var(--text); }
.roi-input { display: flex; align-items: center; gap: 6px; background: #fff; border-radius: 12px; padding: 0 14px; height: 54px; box-shadow: 0 0 0 2px transparent; transition: box-shadow .15s ease; }
.roi-input:focus-within { box-shadow: 0 0 0 2px var(--ink); }
.roi-input i { font-style: normal; font-family: var(--ff-head); font-weight: 700; color: var(--text-soft); }
.roi-input input { border: none; outline: none; width: 100%; height: 100%; background: transparent; font-family: var(--ff-head); font-weight: 700; font-size: 1.125rem; color: var(--text); -moz-appearance: textfield; }
.roi-input input::-webkit-outer-spin-button, .roi-input input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.roi-input--static { background: rgba(255,255,255,.65); }
.roi-input--static span { font-family: var(--ff-head); font-weight: 700; font-size: 1.125rem; color: var(--text); }
.roi-payback { margin: 6px 0 12px; }
.roi-payback strong { display: block; font-family: var(--ff-head); font-weight: 700; font-size: clamp(1.625rem, 3.4vw, 2.125rem); color: var(--neon); line-height: 1.1; }
.roi-cta { display: flex; justify-content: center; width: 100%; margin-top: 18px; }
.roi-cta .wa-ico { width: 22px; height: 22px; color: var(--ink); }

@media (max-width: 680px) {
	.roi-stats { grid-template-columns: 1fr; }
	.roi-fields { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   ARQUIVO DE CATEGORIA (grade + filtro)
   ============================================================ */
.archive-hero .archive-desc { color: var(--ink-soft); max-width: 70ch; margin: 14px 0 0; font-size: 0.9688rem; }
.archive-body { padding-top: 36px; padding-bottom: 64px; }

.cat-filter { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.cat-filter-btn {
	border: 1.5px solid var(--bg-line); background: #fff; color: var(--text);
	font-family: var(--ff-head); font-weight: 600; font-size: 0.875rem;
	padding: 9px 18px; border-radius: 999px; cursor: pointer; transition: all .18s ease;
}
.cat-filter-btn:hover { border-color: var(--neon-deep); color: var(--neon-deep); }
.cat-filter-btn.is-active { background: var(--ink); border-color: var(--ink); color: #fff; }

.cat-subfilter { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: -10px 0 26px; padding: 12px 14px; background: var(--bg-soft); border: 1px solid var(--bg-line); border-radius: var(--radius-sm); }
.cat-subfilter[hidden] { display: none; }
.cat-subfilter-label { font-family: var(--ff-head); font-weight: 700; font-size: 0.8125rem; color: var(--text-soft); margin-right: 2px; }
.cat-subfilter .cat-filter-btn { padding: 7px 14px; font-size: 0.8125rem; }

.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 22px; }
.prod-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--bg-line); border-radius: var(--radius); overflow: hidden; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.prod-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: transparent; }
.prod-card.is-hidden { display: none; }
.prod-card-media { display: block; aspect-ratio: 1/1; background: var(--bg-soft); overflow: hidden; padding: 16px; }
.prod-card-media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.prod-card-body { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px 18px; flex: 1; }
.prod-card-title { font-size: 0.9688rem; line-height: 1.35; margin: 0; font-family: var(--ff-head); font-weight: 600; }
.prod-card-title a { color: var(--text); }
.prod-card-title a:hover { color: var(--neon-deep); }
.prod-card-price { margin-top: auto; }
.prod-card-price .pc-pix { display: block; font-family: var(--ff-head); font-weight: 700; font-size: 1.188rem; color: var(--neon-deep); white-space: nowrap; }
.prod-card-price .pc-pix small { font-family: var(--ff-body); font-weight: 600; font-size: 0.75rem; color: var(--text-soft); }
.prod-card-price .pc-from { display: block; font-size: 0.7812rem; color: var(--muted); white-space: nowrap; margin-top: 2px; }
.prod-card-btn { justify-content: center; text-align: center; white-space: nowrap; width: 100%; margin-top: 4px; padding-left: 16px; padding-right: 16px; }
.archive-empty, .cat-filter-empty { color: var(--text-soft); font-size: 1rem; padding: 20px 0; }
.archive-pagination { margin-top: 36px; }
.archive-pagination .nav-links { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.archive-pagination a, .archive-pagination .current { padding: 8px 14px; border-radius: 10px; border: 1px solid var(--bg-line); font-family: var(--ff-head); font-weight: 600; }
.archive-pagination .current { background: var(--ink); color: #fff; border-color: var(--ink); }

@media (max-width: 560px) {
	.product-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.prod-card-body { padding: 12px 12px 14px; }
}

/* ============================================================
   PÁGINAS INSTITUCIONAIS (page.php)
   ============================================================ */
.page-hero { background: linear-gradient(120deg, var(--ink), var(--ink-deep)); color: #fff; padding: 48px 0 40px; }
.page-hero .pdp-breadcrumb { color: var(--ink-soft); margin-bottom: 14px; }
.page-hero .pdp-breadcrumb a { color: var(--neon); }
.page-hero .page-title { color: #fff; font-size: clamp(1.75rem, 3.4vw, 2.625rem); margin: 0; }
.page-body { padding-top: 44px; padding-bottom: 64px; }
.page-prose { max-width: 800px; margin: 0 auto; color: var(--text-soft); font-size: 1.031rem; line-height: 1.8; }
.page-prose h2 { font-size: clamp(1.25rem, 2.04vw, 1.625rem); color: var(--text); margin: 34px 0 12px; }
.page-prose h3 { font-size: 1.125rem; color: var(--text); margin: 24px 0 10px; }
.page-prose p { margin: 0 0 14px; }
.page-prose ul, .page-prose ol { margin: 0 0 16px; padding-left: 4px; display: grid; gap: 8px; list-style: none; }
.page-prose ul li, .page-prose ol li { position: relative; padding-left: 28px; }
.page-prose ul li::before {
	content: ""; position: absolute; left: 0; top: 7px; width: 16px; height: 16px;
	background: var(--neon-deep);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;
}
.page-prose ol { counter-reset: pp-ol; }
.page-prose ol li { counter-increment: pp-ol; }
.page-prose ol li::before { content: counter(pp-ol); position: absolute; left: 0; top: 0; color: var(--neon-deep); font-family: var(--ff-head); font-weight: 700; }
.page-prose a { color: var(--neon-deep); font-weight: 600; text-decoration: underline; }
.page-prose strong { color: var(--text); }
.page-prose em { color: var(--muted); }
/* Blocos de destaque dentro da prosa (políticas) */
.page-prose .prose-callout { background: var(--bg-soft); border-left: 4px solid var(--neon-deep); padding: 22px 24px; border-radius: var(--radius-sm); margin: 20px 0; }
.page-prose .prose-callout h2 { margin-top: 0; }
.page-prose .prose-callout a { word-break: break-word; }
.page-prose .prose-card { background: var(--bg-soft); border: 1px solid var(--bg-line); border-radius: var(--radius-sm); padding: 22px 24px; margin: 16px 0; }
.page-prose .prose-card h3 { margin-top: 0; }
.page-prose .prose-dark { background: var(--ink); color: var(--bg-soft); border-radius: var(--radius); padding: 28px; margin: 28px 0 0; }
.page-prose .prose-dark h2 { color: #fff; margin-top: 0; }
.page-prose .prose-dark p { color: var(--ink-soft); }
.page-prose .prose-dark strong { color: #fff; }
/* Sobre — tagline + faixa de números */
.page-prose .about-tagline { font-size: 1.188rem; color: var(--text); margin: 0 0 8px; }
.about-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 28px 0; }
.about-stat { background: var(--bg-soft); border: 1px solid var(--bg-line); border-radius: var(--radius-sm); padding: 22px 16px; text-align: center; }
.about-stat strong { display: block; font-family: var(--ff-head); font-weight: 700; font-size: 2rem; color: var(--neon-deep); line-height: 1; }
.about-stat span { font-size: 0.8125rem; color: var(--text-soft); }
@media (max-width: 600px) { .about-stats { grid-template-columns: 1fr 1fr; } }

/* ---- Rede de Distribuidores ---- */
.dist-intro { text-align: center; max-width: 640px; margin: 0 auto 36px; font-size: 1.125rem; }
.dist-intro strong { color: var(--neon-deep); }
.dist-states { display: grid; gap: 34px; }
.page-prose .dist-state h3 { border-left: 4px solid var(--neon-deep); padding-left: 12px; margin: 6px 0 18px; }
.dist-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.dist-card { background: var(--bg-soft); border: 1px solid var(--bg-line); border-radius: var(--radius); padding: 22px 24px; }
.page-prose .dist-card h4 { font-family: var(--ff-head); font-weight: 700; font-size: 1.062rem; color: var(--text); margin: 0 0 8px; }
.dist-card .dist-addr { font-size: 0.8438rem; color: var(--text-soft); margin: 0 0 14px; line-height: 1.5; }
.dist-contact { display: grid; gap: 9px; margin: 0 0 16px; }
.page-prose .dist-contact a { display: inline-flex; align-items: center; gap: 8px; font-size: 0.875rem; font-weight: 600; text-decoration: none; width: fit-content; }
.dist-contact .dist-wa { color: var(--neon-deep); }
.dist-contact .dist-ig { color: var(--ig); }
.page-prose a.dist-map { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--ink); color: #fff; text-decoration: none; font-family: var(--ff-head); font-weight: 700; font-size: 0.8438rem; padding: 11px 18px; border-radius: 10px; }
.page-prose a.dist-map:hover { background: var(--ink-2); color: #fff; }
/* ícones (mask) */
.dist-wa::before, .dist-ig::before, .dist-map::before {
	content: ""; width: 16px; height: 16px; flex: none; background: currentColor;
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain;
}
.dist-wa::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/%3E%3C/svg%3E");
}
.dist-ig::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cline x1='17.5' y1='6.5' x2='17.51' y2='6.5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cline x1='17.5' y1='6.5' x2='17.51' y2='6.5'/%3E%3C/svg%3E");
}
.dist-map::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
.dist-cta { background: var(--ink); color: #fff; border-radius: var(--radius); padding: 44px 28px; text-align: center; margin-top: 44px; }
.page-prose .dist-cta h2 { color: #fff; margin: 0 0 12px; }
.dist-cta p { color: var(--ink-soft); max-width: 600px; margin: 0 auto 22px; }
.dist-cta strong { color: var(--neon); }
.dist-cta .btn-cta { color: var(--ink); }

/* ============================================================
   SEJA UM DISTRIBUIDOR (page-seja-um-distribuidor)
   ============================================================ */
.dist-hero-lead { color: var(--ink-soft); font-size: 1.062rem; max-width: 62ch; margin: 14px 0 24px; line-height: 1.7; }
.dist-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 22px; }
.dist-form-sec { background: var(--bg-soft); }
.dist-form-wrap { max-width: 600px; margin: 0 auto; }
.pp-dist-form { background: #fff; border: 1px solid var(--bg-line); border-radius: var(--radius); padding: 24px; margin-top: 0; box-shadow: var(--shadow); }
.dist-fieldset { border: none; padding: 0; margin: 0 0 14px; }
/* Página compacta e direta */
.dist-hero-centered { padding: 50px 0 38px; }
.dist-hero-centered .wrap { text-align: center; }
.dist-hero-centered .page-title { font-size: clamp(1.625rem, 2.89vw, 2.375rem); }
.dist-hero-centered .dist-hero-lead { max-width: 56ch; font-size: 1rem; margin: 12px auto 20px; }
.dist-form-sec, .dist-benefits-sec { padding: 44px 0; }
.dist-form-sec .sec-head { margin-bottom: 22px; }
.dist-form-sec .sec-head h2 { margin: 6px 0; font-size: 1.375rem; color: var(--neon-deep); }
.dist-benefits-sec .sec-head { margin-bottom: 30px; }
.dist-fieldset legend { font-family: var(--ff-head); font-weight: 700; font-size: 0.8125rem; color: var(--neon-deep); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; padding: 0; }
.dist-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pp-dist-form label { display: block; font-family: var(--ff-head); font-weight: 600; font-size: 0.8438rem; color: var(--text); }
.pp-dist-form label em { color: var(--neon-deep); font-style: normal; }
.pp-dist-form input, .pp-dist-form select, .pp-dist-form textarea {
	width: 100%; border: 1.5px solid var(--bg-line); border-radius: 12px; padding: 0 14px; height: 50px; margin-top: 6px;
	font-family: var(--ff-body); font-size: 1rem; color: var(--text); background: #fff;
}
.pp-dist-form textarea { height: auto; padding: 12px 14px; resize: vertical; }
.pp-dist-form input:focus, .pp-dist-form select:focus, .pp-dist-form textarea:focus { outline: none; border-color: var(--neon-deep); box-shadow: 0 0 0 3px var(--neon-glow); }
.dist-radios { display: grid; gap: 10px; }
.dist-radio { display: flex !important; flex-direction: row !important; align-items: center; gap: 10px; font-weight: 500; cursor: pointer; }
.dist-radio input { width: auto; height: auto; margin-top: 0; accent-color: var(--neon-deep); }
.pp-dist-error { color: var(--danger); font-size: 0.875rem; margin: 0 0 10px; }
.pp-dist-submit { width: 100%; justify-content: center; min-height: 54px; margin-top: 6px; }
.pp-dist-submit[disabled] { opacity: .6; cursor: progress; }
.pp-dist-success { text-align: center; padding: 24px 12px; }
.pp-dist-success h3 { color: var(--neon-deep); font-size: 1.375rem; margin-bottom: 8px; }
.pp-dist-success p { color: var(--text-soft); }
@media (max-width: 600px) { .dist-grid-2 { grid-template-columns: 1fr; } }

/* ---- Fale conosco ---- */
.pp-contato-form { background: #fff; border: 1px solid var(--bg-line); border-radius: var(--radius); padding: 30px; margin-top: 8px; box-shadow: var(--shadow); }
.pp-contato-form label { display: grid; gap: 6px; font-family: var(--ff-head); font-weight: 600; font-size: 0.8438rem; color: var(--text); margin-bottom: 16px; }
.pp-contato-form label em { color: var(--neon-deep); font-style: normal; }
.pp-contato-form input, .pp-contato-form select, .pp-contato-form textarea {
	width: 100%; border: 1.5px solid var(--bg-line); border-radius: 12px; padding: 0 14px; height: 50px;
	font-family: var(--ff-body); font-size: 1rem; color: var(--text); background: #fff;
}
.pp-contato-form textarea { height: auto; padding: 12px 14px; resize: vertical; }
.pp-contato-form input:focus, .pp-contato-form select:focus, .pp-contato-form textarea:focus { outline: none; border-color: var(--neon-deep); box-shadow: 0 0 0 3px var(--neon-glow); }
.pp-contato-form input[type="file"] { padding: 11px 12px; height: auto; background: var(--bg-soft); cursor: pointer; }
.pp-contato-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contato-file-hint { font-size: 0.7812rem; color: var(--muted); font-weight: 500; margin: -8px 0 18px; }
.pp-contato-error { color: var(--danger); font-size: 0.875rem; margin: 0 0 10px; }
.pp-contato-submit { width: 100%; justify-content: center; min-height: 54px; margin-top: 6px; }
.pp-contato-submit[disabled] { opacity: .6; cursor: progress; }
.pp-contato-success { text-align: center; padding: 24px 12px; }
.pp-contato-success h3 { color: var(--neon-deep); font-size: 1.375rem; margin-bottom: 8px; }
.pp-contato-success p { color: var(--text-soft); }
@media (max-width: 600px) { .pp-contato-grid { grid-template-columns: 1fr; } }

/* ============================================================
   MODAL DE CAPTURA DE LEAD (WhatsApp)
   ============================================================ */
.pp-lead-modal {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: grid;
	place-items: center;
	padding: 20px;
}
.pp-lead-modal[hidden] { display: none; }
.pp-lead-overlay {
	position: absolute;
	inset: 0;
	background: rgba(10, 14, 10, .6);
	backdrop-filter: blur(3px);
}
.pp-lead-card {
	position: relative;
	width: 100%;
	max-width: 420px;
	background: #fff;
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
	padding: 32px 28px;
	animation: ppLeadIn .22s ease;
}
@keyframes ppLeadIn {
	from { opacity: 0; transform: translateY(12px); }
	to   { opacity: 1; transform: translateY(0); }
}
.pp-lead-close {
	position: absolute;
	top: 12px; right: 14px;
	width: 36px; height: 36px;
	border: none; background: none; cursor: pointer;
	font-size: 1.625rem; line-height: 1; color: var(--muted);
	border-radius: 8px;
}
.pp-lead-close:hover { color: var(--text); background: var(--bg-soft); }
.pp-lead-card h3 { font-size: 1.375rem; margin: 8px 0 6px; }
.pp-lead-sub { color: var(--text-soft); font-size: 0.9062rem; margin-bottom: 20px; }
.pp-lead-form { display: grid; gap: 14px; }
.pp-lead-form label { display: grid; gap: 6px; }
.pp-lead-form label span {
	font-family: var(--ff-head);
	font-weight: 600;
	font-size: 0.8438rem;
	color: var(--text);
}
.pp-lead-form label em { color: var(--neon-deep); font-style: normal; }
.pp-lead-form input {
	width: 100%;
	height: 50px;
	padding: 0 16px;
	border: 1.5px solid var(--bg-line);
	border-radius: 12px;
	font-family: var(--ff-body);
	font-size: 1rem; /* >=16px evita zoom no iOS */
	color: var(--text);
	transition: border-color .18s ease, box-shadow .18s ease;
}
.pp-lead-form input:focus {
	outline: none;
	border-color: var(--neon-deep);
	box-shadow: 0 0 0 3px var(--neon-glow);
}
.pp-lead-error { color: var(--danger); font-size: 0.8438rem; margin: -2px 0 0; }
.pp-lead-submit { width: 100%; justify-content: center; min-height: 52px; margin-top: 4px; }
.pp-lead-submit .wa-ico { width: 22px; height: 22px; color: var(--ink); }
.pp-lead-submit[disabled] { opacity: .6; cursor: progress; }

/* ===== Banner de consentimento (LGPD / Consent Mode) ===== */
.pp-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;max-width:920px;margin:0 auto;background:var(--ink);color:var(--bg-line);border:1px solid var(--ink-3);border-radius:16px;padding:16px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:0 14px 40px rgba(0,0,0,.4)}
.pp-consent-text{margin:0;font-size: 0.875rem;line-height:1.5;flex:1 1 320px}
.pp-consent-text a{color:var(--neon);text-decoration:underline}
.pp-consent-actions{display:flex;gap:10px;flex:0 0 auto}
.pp-consent .btn{padding:10px 18px;border-radius:999px;font-size: 0.875rem;cursor:pointer}
.pp-consent-reject{background:transparent;border:1px solid var(--ink-3);color:var(--bg-line)}
.pp-consent-reject:hover{border-color:var(--muted)}
@media(max-width:600px){.pp-consent{flex-direction:column;align-items:stretch}.pp-consent-actions{justify-content:flex-end}}

/* ===== Blog ===== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}}
.blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bg-line);border-radius:18px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.blog-card-media{display:block;aspect-ratio:16/10;background:var(--ink);overflow:hidden}
.blog-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.blog-card-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--neon)}
.blog-card-ph svg{width:46px;height:46px}
.blog-card-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.blog-card-cat{align-self:flex-start;font-size: 0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--neon-deep);text-decoration:none}
.blog-card-title{font-size: 1.188rem;line-height:1.3;margin:0}
.blog-card-title a{color:var(--ink);text-decoration:none}
.blog-card-title a:hover{color:var(--neon-deep)}
.blog-card-excerpt{color:var(--text-soft);font-size: 0.875rem;line-height:1.6;margin:0;flex:1}
.blog-card-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size: 0.8125rem;margin-top:4px}

/* Single post */
.post-hero .post-hero-cat{display:inline-block;margin-bottom:10px;color:var(--neon);text-decoration:none}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--ink-soft);font-size: 0.875rem;margin-top:14px}
.post-meta strong{color:#fff}
.post-meta .pm-ico{width:15px;height:15px;vertical-align:-2px;color:var(--neon)}
.post-featured{margin:-40px auto 0;max-width:1000px}
.post-featured img{width:100%;height:auto;border-radius:20px;display:block;box-shadow:0 24px 60px rgba(0,0,0,.16)}
.post-layout{display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start;padding-top:40px;padding-bottom:20px}
@media(max-width:900px){.post-layout{grid-template-columns:1fr;gap:20px}}
.post-toc{position:sticky;top:96px;background:var(--bg-soft);border:1px solid var(--bg-line);border-radius:14px;padding:18px 20px}
@media(max-width:900px){.post-toc{position:static}}
.post-toc-title{font-weight:700;font-size: 0.8125rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 10px}
.post-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.post-toc a{color:var(--text);text-decoration:none;font-size: 0.875rem;line-height:1.4;border-left:2px solid var(--bg-line);padding-left:12px;display:block}
.post-toc a:hover{color:var(--neon-deep);border-left-color:var(--neon-deep)}
.post-prose{max-width:760px}
.post-tags{display:flex;flex-wrap:wrap;gap:10px;margin:34px 0 8px}
.post-tags a{font-size: 0.8125rem;color:var(--text-soft);background:var(--bg-soft);border-radius:999px;padding:6px 14px;text-decoration:none}
.post-tags a:hover{background:var(--neon-tint);color:var(--neon-deep)}
.post-cta{margin-top:36px;text-align:center}
.post-cta h2{margin-top:0}
.post-cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.related-posts{background:var(--bg-soft);margin-top:30px}

/* ===== Barra de estatísticas (home) ===== */
.home-stats { background: var(--ink); border-top: 1px solid var(--neon-tint); border-bottom: 1px solid var(--neon-tint); padding: 32px 0; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.stats-grid .stat { text-align: center; position: relative; }
.stats-grid .stat + .stat::before { content: ""; position: absolute; left: -10px; top: 50%; transform: translateY(-50%); height: 46px; width: 1px; background: var(--ink-3); }
.stats-grid .stat strong { display: block; font-family: var(--ff-head); font-weight: 700; font-size: clamp(1.75rem, 3.06vw, 2.625rem); color: var(--neon); line-height: 1; letter-spacing: -.02em; }
.stats-grid .stat span { display: block; margin-top: 8px; color: var(--ink-soft); font-size: 0.875rem; }
@media (max-width: 700px) {
	.stats-grid { grid-template-columns: repeat(2, 1fr); gap: 28px 16px; }
	.stats-grid .stat:nth-child(odd)::before { display: none; }
}

/* ===== Marcas parceiras (marquee leitoso) ===== */
.trust-logos { background: var(--bg); padding: 30px 0 34px; border-bottom: 1px solid var(--bg-line); }
.trust-logos-label { text-align: center; font-family: var(--ff-head); font-size: 0.75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 0 0 22px; }
.marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee-track { display: flex; align-items: center; gap: 64px; width: max-content; animation: pp-marquee 38s linear infinite; }
.marquee:hover .marquee-track { animation-play-state: paused; }
.trust-logo { height: 50px; width: auto; flex: none; opacity: .5; transition: opacity .25s ease; }
.trust-logo:hover { opacity: .85; }
@keyframes pp-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 600px) { .marquee-track { gap: 40px; } .trust-logo { height: 42px; } }
@media (prefers-reduced-motion: reduce) {
	.marquee { -webkit-mask-image: none; mask-image: none; overflow-x: auto; }
	.marquee-track { animation: none; gap: 48px; }
}

/* ===== Banner "Seja um distribuidor" (home) ===== */
.dist-banner { display: block; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); transition: transform .25s ease, box-shadow .25s ease; }
.dist-banner:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.dist-banner img { width: 100%; height: auto; display: block; }

/* Cabeçalho do formulário de distribuidor — intro em 2 linhas */
.dist-form-head { max-width: 700px; }
@media (max-width: 600px) { .dist-form-head br { display: none; } }

/* ===== Conta do cliente (WooCommerce: login, cadastro, pedidos) ===== */
/* Link de conta no header */
.account-link { display: inline-flex; align-items: center; gap: 7px; color: var(--text); font-family: var(--ff-head); font-weight: 600; font-size: 0.875rem; }
.account-link svg { width: 22px; height: 22px; }
.account-link:hover { color: var(--neon-deep); }
@media (max-width: 820px) { .account-label { display: none; } }

/* Páginas WC usam container largo (não o prose estreito) */
.woocommerce-account .page-prose,
.woocommerce-cart .page-prose,
.woocommerce-checkout .page-prose { max-width: var(--maxw); }

/* Mensagens */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
	list-style: none; margin: 0 0 20px; padding: 14px 16px; border: none; border-radius: 12px; font-size: 0.875rem;
	display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.woocommerce-message { background: var(--neon-tint); border-left: 3px solid var(--neon-deep) !important; }
.woocommerce-info { background: var(--bg-soft); border-left: 3px solid var(--muted) !important; }
.woocommerce-error { background: #fdecec; border-left: 3px solid var(--danger) !important; color: var(--danger); }
.woocommerce-error li, .woocommerce-message li, .woocommerce-info li { list-style: none; }

/* Formulários WC (login, cadastro, conta, endereço, recuperar senha) */
.woocommerce form .form-row { display: block; margin: 0 0 14px; padding: 0; }
.woocommerce form .form-row label { display: block; font-family: var(--ff-head); font-weight: 600; font-size: 0.8438rem; color: var(--text); margin-bottom: 6px; }
.woocommerce form .form-row .required { color: var(--neon-deep); text-decoration: none; }
.woocommerce form .form-row input.input-text,
.woocommerce-account input.input-text,
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row select {
	width: 100%; border: 1.5px solid var(--bg-line); border-radius: 12px; padding: 0 14px; height: 50px;
	font-family: var(--ff-body); font-size: 1rem; color: var(--text); background: #fff; }
.woocommerce form .form-row input:focus, .woocommerce form .form-row select:focus {
	outline: none; border-color: var(--neon-deep); box-shadow: 0 0 0 3px var(--neon-glow); }
.woocommerce-form-login__rememberme, .woocommerce form .form-row label.checkbox { font-weight: 500; }
.woocommerce-LostPassword a, .woocommerce-account-fields a, .woocommerce a.woocommerce-LostPassword { color: var(--neon-deep); }

/* Botões WC -> botão da marca */
.woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce button.button.alt, .woocommerce #respond input#submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	background: linear-gradient(100deg, var(--neon-bright), var(--neon)); color: var(--ink);
	font-family: var(--ff-head); font-weight: 700; font-size: 0.9375rem; border: none; border-radius: 999px;
	padding: 13px 26px; cursor: pointer; box-shadow: var(--shadow-neon); transition: transform .18s ease, box-shadow .18s ease; }
.woocommerce button.button:hover, .woocommerce a.button:hover, .woocommerce input.button:hover { transform: translateY(-2px); }
.woocommerce a.button.wc-forward { background: var(--ink); color: #fff; box-shadow: none; }

/* Login + Cadastro (deslogado): dois cards lado a lado */
#customer_login.u-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
/* mata o clearfix ::before/::after do .col2-set que vira item do grid e empurra os cards na diagonal */
#customer_login.u-columns::before, #customer_login.u-columns::after { content: none !important; display: none !important; }
#customer_login .u-column1, #customer_login .u-column2 {
	background: #fff; border: 1px solid var(--bg-line); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow); float: none !important; width: auto !important; }
#customer_login h2 { font-size: 1.375rem; margin: 0 0 18px; color: var(--neon-deep); }
@media (max-width: 720px) { #customer_login.u-columns { grid-template-columns: 1fr; } }

/* Minha conta (logado): navegação lateral + conteúdo */
.logged-in.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 30px; align-items: start; }
/* mata os float/width padrão do WooCommerce (30%/68%) que espremiam dentro do grid */
.logged-in.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation,
.logged-in.woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
	float: none !important; width: auto !important; max-width: none !important; margin: 0 !important; }
.logged-in.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.logged-in.woocommerce-account .woocommerce::before, .logged-in.woocommerce-account .woocommerce::after { content: none !important; }
@media (max-width: 760px) { .logged-in.woocommerce-account .woocommerce { grid-template-columns: 1fr; } }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 10px; display: flex; flex-direction: column; gap: 4px;
	background: #fff; border: 1px solid var(--bg-line); border-radius: var(--radius); box-shadow: var(--shadow); }
.woocommerce-MyAccount-navigation li a { display: block; padding: 11px 14px; border-radius: 10px; color: var(--text);
	font-family: var(--ff-head); font-weight: 600; font-size: 0.875rem; text-decoration: none; }
.woocommerce-MyAccount-navigation li a:hover { background: var(--bg-soft); color: var(--neon-deep); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--ink); color: #fff; }
.woocommerce-MyAccount-content { background: #fff; border: 1px solid var(--bg-line); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow); }
.woocommerce-MyAccount-content p { margin-bottom: 14px; }
.woocommerce-MyAccount-content a:not(.button) { color: var(--neon-deep); }

/* Tabelas (pedidos, endereços) */
.woocommerce table.shop_table, .woocommerce table.account-orders-table { width: 100%; border-collapse: collapse; border: 1px solid var(--bg-line); border-radius: var(--radius); overflow: hidden; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 12px 14px; border-bottom: 1px solid var(--bg-line); text-align: left; font-size: 0.875rem; }
.woocommerce table.shop_table thead th { background: var(--bg-soft); font-family: var(--ff-head); font-weight: 700; }
.woocommerce table.shop_table tbody tr:last-child td { border-bottom: none; }

/* ===== Carrinho & Checkout (WooCommerce Blocks) ===== */
/* cor de destaque para radios/checkbox nativos (termos, etc.) */
.wc-block-cart, .wc-block-checkout { accent-color: var(--neon-deep); }

/* Botões -> botão da marca (avançar, finalizar, aplicar cupom, add cross-sell) */
.wc-block-components-button:where(:not(.is-link)) {
	background: linear-gradient(100deg, var(--neon-bright), var(--neon)) !important;
	color: var(--ink) !important;
	border: none !important;
	border-radius: 999px !important;
	font-family: var(--ff-head) !important;
	font-weight: 700 !important;
	box-shadow: var(--shadow-neon);
	transition: transform .18s ease, box-shadow .18s ease;
}
.wc-block-components-button:where(:not(.is-link)):hover { transform: translateY(-2px); }
.wc-block-components-button.is-link { color: var(--neon-deep) !important; }

/* Campos de texto / select / quantidade */
.wc-block-components-text-input input,
.wc-block-components-text-input .input-text,
.wc-block-components-select .wc-block-components-select__container,
.wc-block-components-quantity-selector { border-radius: 12px !important; }
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus {
	outline: none !important; border-color: var(--neon-deep) !important;
	box-shadow: 0 0 0 2px var(--neon-glow) !important; }
.wc-block-components-text-input.is-active label { color: var(--neon-deep) !important; }

/* Tipografia dos títulos */
.wc-block-components-title, .wc-block-cart__totals-title { font-family: var(--ff-head) !important; }

/* Total em destaque verde */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--neon-deep) !important; font-weight: 800 !important; }

/* Resumo/total como card claro */
.wp-block-woocommerce-cart-totals-block,
.wc-block-checkout__sidebar > .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-panel {
	background: var(--bg-soft); border: 1px solid var(--bg-line); border-radius: var(--radius); }
.wp-block-woocommerce-cart-totals-block { padding: 10px 20px; }

/* Links dentro do fluxo */
.wc-block-components-checkout-step a, .wc-block-cart a:not(.wc-block-components-button),
.wc-block-components-order-summary a { color: var(--neon-deep); }

/* Passos do checkout: numeração/realce na cor da marca */
.wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title-text::before { color: var(--neon-deep); }
.wc-block-components-checkout-step__heading-content { color: var(--text-soft); }

/* Carrinho vazio: ícone/realce */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before { color: var(--neon-deep); }

/* ===== Fix: anula bullets/checks da prosa dentro das páginas WC ===== */
.page-prose .woocommerce ul, .page-prose .woocommerce ol { padding-left: 0; }
.page-prose .woocommerce li { padding-left: 0; }
.page-prose .woocommerce li::before, .page-prose .woocommerce ol li::before { content: none; }
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before { content: none !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { padding-left: 16px !important; }

/* ===== Checkout & Carrinho clássicos ===== */
.woocommerce .col2-set { display: block; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { width: auto; float: none; margin-bottom: 8px; }
.woocommerce-checkout h3 { font-family: var(--ff-head); font-size: 1.125rem; margin: 18px 0 14px; }
.woocommerce-checkout #customer_details { background: #fff; border: 1px solid var(--bg-line); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); }
.woocommerce-checkout #customer_details h3 { margin-top: 0; }
#order_review_heading { margin: 0 0 14px; }
#order_review { background: var(--bg-soft); border: 1px solid var(--bg-line); border-radius: var(--radius); padding: 8px 20px 20px; }
#order_review .shop_table { border: none; background: transparent; }
#payment { background: transparent !important; border-radius: var(--radius); }
#payment ul.payment_methods { border: none !important; padding: 0 !important; }
#payment div.payment_box { background: #fff !important; border: 1px solid var(--bg-line); border-radius: 12px; }
#payment div.payment_box::before { display: none; }
#place_order { width: 100%; margin-top: 10px; }
/* Checkout em COLUNA ÚNICA, focado e centralizado (robusto + alta conversão) */
.woocommerce-checkout .woocommerce { max-width: 720px; margin: 0 auto; }
form.woocommerce-checkout.checkout { display: block; }
.woocommerce-additional-fields { margin-top: 18px; }
/* Linhas de campo (Nome/Sobrenome, CEP/Endereço, Número/Compl., Bairro/Cidade) em flex — robusto */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper { display: flex; flex-wrap: wrap; gap: 0 16px; }
.woocommerce-billing-fields__field-wrapper > .form-row,
.woocommerce-shipping-fields__field-wrapper > .form-row,
.woocommerce-additional-fields__field-wrapper > .form-row { flex: 1 1 100%; float: none !important; width: auto !important; margin: 0 0 14px !important; }
.woocommerce-billing-fields__field-wrapper > .form-row-first,
.woocommerce-billing-fields__field-wrapper > .form-row-last,
.woocommerce-shipping-fields__field-wrapper > .form-row-first,
.woocommerce-shipping-fields__field-wrapper > .form-row-last { flex: 1 1 calc(50% - 8px); }
/* Carrinho */
.woocommerce-cart-form table.shop_table { background: #fff; }
.woocommerce .quantity .qty { width: 72px; height: 46px; border-radius: 12px; border: 1.5px solid var(--bg-line); text-align: center; font-family: var(--ff-head); }
.cart-collaterals .cart_totals { background: var(--bg-soft); border: 1px solid var(--bg-line); border-radius: var(--radius); padding: 6px 20px 20px; }
.cart-collaterals .cart_totals h2 { font-family: var(--ff-head); font-size: 1.125rem; }
.wc-proceed-to-checkout .checkout-button { width: 100%; }
.woocommerce .cart .actions .coupon .input-text { height: 46px; border-radius: 12px; }

/* Fieldsets em formulários WC (ex.: "Alteração de senha") */
.woocommerce fieldset { border: 1px solid var(--bg-line); border-radius: 12px; padding: 18px 18px 6px; margin: 18px 0 0; }
.woocommerce fieldset legend { font-family: var(--ff-head); font-weight: 700; font-size: 0.875rem; color: var(--neon-deep); padding: 0 8px; }
.woocommerce-EditAccountForm .woocommerce-form-row, .woocommerce-EditAccountForm fieldset .clear { clear: both; }

/* Linhas em 2 colunas nos forms WC (Nome/Sobrenome, etc.) */
.woocommerce form .form-row-first { float: left; width: calc(50% - 8px); }
.woocommerce form .form-row-last { float: right; width: calc(50% - 8px); }
.woocommerce form .form-row-wide { width: 100%; clear: both; }
/* Form "Dados da conta" em flex (robusto: Nome/Sobrenome lado a lado, resto 100%) */
.woocommerce-EditAccountForm { display: flex; flex-wrap: wrap; gap: 0 16px; }
.woocommerce-EditAccountForm::before, .woocommerce-EditAccountForm::after { display: none !important; }
.woocommerce-EditAccountForm > * { flex: 1 1 100%; float: none !important; width: auto !important; clear: none !important; }
.woocommerce-EditAccountForm > .form-row-first, .woocommerce-EditAccountForm > .form-row-last { flex: 1 1 calc(50% - 8px); }
.woocommerce form .clear { clear: both; }
.woocommerce-EditAccountForm > p.form-row-wide:first-of-type { clear: none; }
@media (max-width: 560px) {
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { float: none; width: 100%; }
}

/* ===== Auditoria checkout/carrinho: seletor de pagamento + layout do carrinho ===== */
/* Seletor de pagamento (Cartão / PIX) — cada método como cartão clicável */
#payment ul.payment_methods { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
#payment ul.payment_methods::before, #payment ul.payment_methods::after { content: none !important; display: none !important; }
#payment ul.payment_methods > li { background: #fff; border: 1px solid var(--bg-line); border-radius: 12px; padding: 14px 16px; margin: 0; list-style: none; padding-left: 16px !important; transition: border-color .15s ease, box-shadow .15s ease; }
#payment ul.payment_methods > li::before { content: none !important; }
#payment ul.payment_methods > li:has(input:checked) { border-color: var(--neon-deep); box-shadow: 0 0 0 2px var(--neon-glow); }
#payment ul.payment_methods > li > label { display: flex; align-items: center; gap: 10px; margin: 0; font-family: var(--ff-head); font-weight: 600; color: var(--text); cursor: pointer; }
#payment ul.payment_methods > li > label img { max-height: 26px; width: auto; margin-left: auto; }
#payment ul.payment_methods input.input-radio, #payment ul.payment_methods input[type="radio"] { width: 18px; height: 18px; accent-color: var(--neon-deep); margin: 0; flex: none; }
#payment div.payment_box { margin: 12px 0 0; font-size: 0.92rem; color: var(--text-soft); }
#payment div.payment_box p { margin: 0 0 8px; }

/* Carrinho em 2 colunas (itens | resumo) — corrige o flutuar torto do WooCommerce */
.woocommerce-cart .cart-collaterals { width: auto; float: none; }
.woocommerce-cart .cart-collaterals .cart_totals { width: auto !important; float: none !important; }
.woocommerce-cart .cart-collaterals .cross-sells { width: auto; float: none; }
@media (min-width: 850px) {
	.woocommerce-cart .woocommerce { display: grid; grid-template-columns: 1.55fr 0.85fr; gap: 30px; align-items: start; }
	.woocommerce-cart .woocommerce::before, .woocommerce-cart .woocommerce::after { content: none !important; }
	.woocommerce-cart .woocommerce-cart-form { grid-column: 1; }
	.woocommerce-cart .cart-collaterals { grid-column: 2; }
	.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
}
.woocommerce-cart .cart_totals > h2 { margin-top: 4px; }
.woocommerce-cart .wc-proceed-to-checkout { padding-top: 6px; }

/* Aviso de desconto PIX (carrinho/checkout) */
.pp-pix-note { display: flex; align-items: center; gap: 10px; background: var(--neon-tint); border: 1px solid rgba(132,224,60,.35); border-radius: 12px; padding: 12px 14px; margin: 0 0 16px; font-size: 0.92rem; color: var(--text); line-height: 1.4; }
.pp-pix-note strong { color: var(--neon-deep); }
.pp-pix-note .pp-pix-note-ico { width: 20px; height: 20px; color: var(--neon-deep); flex: none; }

/* ===== Página "Pedido recebido" (thank you) ===== */
.woocommerce-order { max-width: 720px; margin: 0 auto; }
.woocommerce-thankyou-order-received {
	display: flex; align-items: center; gap: 14px;
	background: var(--neon-tint); border: 1px solid rgba(132,224,60,.4); border-radius: var(--radius);
	padding: 20px 22px; margin: 0 0 22px; font-family: var(--ff-head); font-weight: 700; font-size: 1.1rem; color: var(--ink); }
.woocommerce-thankyou-order-received::before {
	content: "✓"; flex: none; width: 34px; height: 34px; border-radius: 50%;
	background: var(--neon); color: var(--ink); display: grid; place-items: center; font-size: 18px; font-weight: 800; }
.woocommerce-order-overview.order_details {
	list-style: none; margin: 0 0 26px; padding: 18px 22px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 24px;
	background: #fff; border: 1px solid var(--bg-line); border-radius: var(--radius); box-shadow: var(--shadow); }
.woocommerce-order-overview.order_details li {
	margin: 0; padding: 0; border: none !important; float: none; font-size: 0.78rem; text-transform: uppercase;
	letter-spacing: .04em; color: var(--muted); font-family: var(--ff-head); }
.woocommerce-order-overview.order_details li strong {
	display: block; margin-top: 4px; font-size: 1.05rem; text-transform: none; letter-spacing: 0; color: var(--text); }
@media (max-width: 560px) { .woocommerce-order-overview.order_details { grid-template-columns: 1fr; } }
.woocommerce-order-details, .woocommerce-customer-details { margin-top: 26px; }
.woocommerce-order-details__title, .woocommerce-customer-details h2 { font-family: var(--ff-head); font-size: 1.15rem; margin: 0 0 12px; }
.woocommerce-customer-details address { background: #fff; border: 1px solid var(--bg-line); border-radius: var(--radius); padding: 16px 20px; font-style: normal; line-height: 1.7; }
.pp-thankyou-cta { margin-top: 28px; background: var(--bg-soft); border: 1px solid var(--bg-line); border-radius: var(--radius); padding: 22px 24px; text-align: center; }
.pp-thankyou-cta p { margin: 0 0 14px; color: var(--text-soft); }
.pp-thankyou-cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Botão "Finalizar pelo WhatsApp" no carrinho — preto + ícone neon (harmônico c/ a marca) */
.pp-cart-wa-btn { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; margin-top: 10px;
	background: var(--ink); color: #fff; border: 1px solid var(--ink-3); border-radius: 999px; font-family: var(--ff-head); font-weight: 700;
	padding: 13px 24px; box-shadow: none; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.pp-cart-wa-btn:hover { background: var(--ink-2); color: #fff; transform: translateY(-2px); box-shadow: 0 10px 26px rgba(10,14,10,.18); }
.pp-cart-wa-btn .wa-ico { width: 20px; height: 20px; color: var(--neon); }
.pp-cart-wa-divider { text-align: center; color: var(--muted); font-size: 0.82rem; margin: 12px 0 4px; }

/* ===== Fix hierarquia/harmonia dos botões do carrinho ===== */
/* Primário "Continuar para Finalização" = neon (sobrepõe a regra antiga .wc-forward=ink) */
.woocommerce .wc-proceed-to-checkout a.checkout-button.wc-forward {
	background: linear-gradient(100deg, var(--neon-bright), var(--neon)) !important;
	color: var(--ink) !important; border: none; box-shadow: var(--shadow-neon); text-decoration: none !important; }
/* WhatsApp = preto + ícone neon, texto BRANCO sem sublinhado (vence .page-prose a) */
.page-prose a.pp-cart-wa-btn, .woocommerce a.pp-cart-wa-btn { color: #fff !important; text-decoration: none !important; }
.page-prose a.pp-cart-wa-btn:hover { color: #fff !important; }

/* Barra de progresso de frete grátis (carrinho) — flutuante/sticky, fora do grid */
.pp-freeship { position: sticky; top: 88px; z-index: 50;
	background: rgba(255,255,255,.96); backdrop-filter: saturate(160%) blur(8px);
	border: 1px solid var(--bg-line); border-radius: var(--radius); padding: 14px 18px; margin: 0 0 22px;
	box-shadow: 0 8px 28px rgba(10,14,10,.12); }
@media (max-width: 600px) { .pp-freeship { top: 68px; } }
/* Botão "Atualizar carrinho" oculto quando o JS atualiza sozinho */
.js-pp-autocart button[name="update_cart"] { display: none !important; }
/* Estado de carregamento durante o update AJAX do carrinho */
.woocommerce-cart-form.pp-cart-loading, .cart-collaterals.pp-cart-loading { opacity: .55; pointer-events: none; transition: opacity .15s ease; }
.pp-freeship-msg { margin: 0 0 10px; font-size: 0.95rem; color: var(--text); }
.pp-freeship-msg strong { color: var(--neon-deep); }
.pp-freeship-track { height: 8px; background: var(--bg-line); border-radius: 999px; overflow: hidden; }
.pp-freeship-track span { display: block; height: 100%; background: linear-gradient(90deg, var(--neon-deep), var(--neon)); border-radius: 999px; transition: width .4s ease; }
