/* ==========================================================================
   AEXPARTS — folha do plugin
   Tudo o que o Elementor pode mexer passa por variável: os controlos de estilo
   dos widgets escrevem --aex-* no wrapper, e é só isto que a folha lê.
   ========================================================================== */

.aex-finder,
.aex-aplicacao,
.aex-grade-marcas,
.aex-grade-tipos,
.aex-wa-caixa {
	--aex-tinta: #111111;
	--aex-tinta-suave: #5b6472;
	--aex-marinho: #082b63;
	--aex-marinho-fundo: #071a35;
	--aex-destaque: #f58220;
	--aex-destaque-escuro: #d96c0e;
	--aex-superficie: #ffffff;
	--aex-linha: #e2e6ec;
	--aex-verde: #12805c;
	--aex-raio: 4px;
	--aex-respiro: 26px;
	--aex-fonte-titulo: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* ------------------------------------------------------------------ botões
   Classe dobrada de propósito. O reset do Hello Elementor usa
   [type="submit"], que é selector de atributo — pesa o mesmo que uma classe e
   carrega depois na fila, então .aex-btn--primario sozinho perde o empate e o
   botão volta a nascer transparente. */

.aex-btn.aex-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 26px;
	border: 2px solid transparent;
	border-radius: var(--aex-raio);
	font-family: var(--aex-fonte-titulo);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1.1;
	cursor: pointer;
	transition: background-color .16s, color .16s, border-color .16s;
}

.aex-btn.aex-btn--primario {
	background: var(--aex-destaque);
	color: #ffffff;
	border-color: var(--aex-destaque);
}

.aex-btn.aex-btn--primario:hover,
.aex-btn.aex-btn--primario:focus-visible {
	background: var(--aex-destaque-escuro);
	color: #ffffff;
}

.aex-btn.aex-btn--wa {
	background: #12805c;
	color: #ffffff;
	border-color: #12805c;
}

.aex-btn.aex-btn--wa:hover,
.aex-btn.aex-btn--wa:focus-visible {
	background: #0d6547;
	color: #ffffff;
}

.aex-btn.aex-btn--bloco {
	width: 100%;
}

.aex-btn--linha {
	margin-top: 12px;
}

/* ------------------------------------------------- painel de busca */

.aex-finder {
	background: var(--aex-superficie);
	border: 1px solid var(--aex-linha);
	border-top: 4px solid var(--aex-destaque);
	border-radius: var(--aex-raio);
	padding: var(--aex-respiro);
	box-shadow: 0 18px 50px rgba(7, 26, 53, .14);
	color: var(--aex-tinta);
}

.aex-finder__titulo {
	font-family: var(--aex-fonte-titulo);
	font-size: 22px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: -.01em;
	margin: 0 0 6px;
	color: var(--aex-marinho-fundo);
}

.aex-finder__sub {
	margin: 0 0 18px;
	font-size: 14px;
	color: var(--aex-tinta-suave);
}

.aex-abas {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 18px;
}

/* mesma razão do botão: o reset do tema empata com a classe. */
.aex-aba.aex-aba {
	padding: 14px 10px;
	background: #fafbfc;
	border: 1px solid var(--aex-linha);
	border-radius: var(--aex-raio);
	font-family: var(--aex-fonte-titulo);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--aex-tinta-suave);
	cursor: pointer;
}

.aex-aba.aex-aba.esta-activa {
	background: var(--aex-marinho);
	border-color: var(--aex-marinho);
	color: #ffffff;
}

.aex-grade2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.aex-campo {
	display: block;
	margin-bottom: 14px;
}

.aex-campo > span {
	display: block;
	margin-bottom: 6px;
	font-family: var(--aex-fonte-titulo);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--aex-tinta-suave);
}

.aex-campo select,
.aex-campo input {
	width: 100%;
	height: 46px;
	padding: 0 12px;
	border: 1px solid var(--aex-linha);
	border-radius: var(--aex-raio);
	background: #ffffff;
	font-size: 14.5px;
	color: var(--aex-tinta);
}

.aex-campo select:disabled {
	background: #f5f5f5;
	color: #808a99;
}

.aex-finder__nota {
	margin: 12px 0 0;
	font-size: 13px;
	color: var(--aex-tinta-suave);
}

.aex-finder__nota strong {
	color: var(--aex-tinta);
}

/* ------------------------------------------- tabela de aplicação */

.aex-aplicacao {
	overflow-x: auto;
}

.aex-tabela {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	color: var(--aex-tinta);
}

.aex-tabela th {
	background: #f5f5f5;
	font-family: var(--aex-fonte-titulo);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--aex-tinta-suave);
	text-align: left;
	padding: 11px 14px;
}

.aex-tabela td {
	padding: 12px 14px;
	border-bottom: 1px solid var(--aex-linha);
}

.aex-tabela tr.esta-activa td {
	background: #e8f5f0;
	font-weight: 600;
}

.aex-oem,
.aex-universal {
	margin-top: 14px;
	font-size: 13.5px;
	color: var(--aex-tinta-suave);
}

/* ------------------------------------------------- selo de compatibilidade */

.aex-selo {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 14px;
	border-radius: var(--aex-raio);
	font-size: 13.5px;
	margin-bottom: 14px;
}

.aex-selo--serve {
	background: #e8f5f0;
	color: #0d5c43;
}

.aex-selo--nao {
	background: #fdeceb;
	color: #96291d;
}

/* ------------------------------------------------------------ marcas */

.aex-grade-marcas {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}

.aex-marca {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 104px;
	padding: 18px 12px;
	background: var(--aex-superficie);
	border: 1px solid var(--aex-linha);
	border-radius: var(--aex-raio);
	text-align: center;
	text-decoration: none;
	transition: border-color .16s, box-shadow .16s;
}

.aex-marca:hover {
	border-color: var(--aex-marinho);
	box-shadow: 0 6px 24px rgba(7, 26, 53, .09);
}

.aex-marca strong {
	font-family: var(--aex-fonte-titulo);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--aex-marinho-fundo);
}

.aex-marca span {
	font-size: 11.5px;
	color: var(--aex-tinta-suave);
}

/* O wordmark faz as vezes da logomarca enquanto o arquivo oficial não chega.
   Precisa de ser mais específico do que .aex-marca span, senão volta a 11,5px. */
.aex-marca--logo {
	min-height: 96px;
	padding: 20px 14px;
}

.aex-marca .aex-logo {
	max-width: 100%;
	max-height: 40px;
	object-fit: contain;
}

.aex-marca .aex-logo--texto {
	font-family: var(--aex-fonte-titulo);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -.01em;
	text-transform: uppercase;
	text-align: center;
	word-break: break-word;
}

/* ---------------------------------------------------- tipos de peça */

.aex-grade-tipos {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.aex-tipo {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 22px 20px;
	background: var(--aex-superficie);
	border: 1px solid var(--aex-linha);
	border-radius: var(--aex-raio);
	text-decoration: none;
	color: var(--aex-tinta);
	transition: border-color .16s, box-shadow .16s;
}

.aex-tipo:hover {
	border-color: var(--aex-marinho);
	box-shadow: 0 6px 24px rgba(7, 26, 53, .09);
}

.aex-tipo__selo {
	align-self: flex-start;
	padding: 5px 11px;
	border-radius: 999px;
	background: var(--aex-marinho);
	color: #ffffff;
	font-family: var(--aex-fonte-titulo);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.aex-tipo h3 {
	margin: 0;
	font-family: var(--aex-fonte-titulo);
	font-size: 17px;
	font-weight: 800;
	color: var(--aex-marinho-fundo);
}

.aex-tipo p {
	margin: 0;
	font-size: 14px;
	color: var(--aex-tinta-suave);
}

.aex-tipo__mais {
	margin-top: auto;
	font-size: 12px;
	font-weight: 600;
	color: var(--aex-destaque-escuro);
}

/* ------------------------------------------------- caixa do WhatsApp */

.aex-wa-caixa {
	margin: 22px 0;
	padding: var(--aex-respiro);
	background: #e8f5f0;
	border-radius: var(--aex-raio);
}

.aex-wa-caixa p {
	margin: 0 0 14px;
}

/* ------------------------------------------------------------ telemóvel */

@media (max-width: 782px) {
	.aex-grade-marcas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.aex-grade-tipos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
	.aex-grade2 { grid-template-columns: 1fr; }
	.aex-grade-marcas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.aex-grade-tipos { grid-template-columns: 1fr; }
	.aex-marca .aex-logo--texto { font-size: 14px; }
}

/* ==========================================================================
   WooCommerce na pele da AEXPARTS
   Os botões do Woo nascem roxos (a cor do próprio Woo) e o Hello não os toca.
   Aqui só a cor e a forma mudam — o resto continua sendo o Woo.
   ========================================================================== */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
	background-color: #f58220;
	color: #ffffff;
	border-radius: 4px;
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 700;
	font-size: 13.5px;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 12px 22px;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background-color: #d96c0e;
	color: #ffffff;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: #071a35;
	font-weight: 700;
}

.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del {
	color: #808a99;
	font-weight: 400;
}

.woocommerce ul.products li.product .price ins,
.woocommerce div.product p.price ins {
	color: #c0392b;
	text-decoration: none;
}

.woocommerce span.onsale {
	background: #c0392b;
	color: #ffffff;
	border-radius: 4px;
	padding: 6px 12px;
	min-height: 0;
	min-width: 0;
	line-height: 1.2;
	font-family: "Montserrat", system-ui, sans-serif;
	font-weight: 700;
	font-size: 11.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.woocommerce ul.products li.product a img {
	background: #fafbfc;
	border-radius: 4px;
	padding: 14px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: "Montserrat", system-ui, sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: #071a35;
}

/* A ficha do produto: a ilustração num painel, não solta no branco. */
.woocommerce div.product div.images img {
	background: #fafbfc;
	border-radius: 6px;
	padding: 26px;
}
