.engajae-variations {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}



/*
 * Nossas bolinhas substituem visualmente os <select> nativos do WooCommerce,
 * mas o formulário nativo continua ativo por baixo (preço, estoque, peso,
 * dimensão e o campo variation_id que o cálculo de frete depende) — só a
 * tabela de dropdowns e o bloco de preço padrão ficam escondidos.
 */
.variations_form .variations,
.variations_form .single_variation {
	display: none !important;
}

.engajae-variations-group-label {
	font-size: 13px;
	font-weight: 500;
	color: #333;
	margin-bottom: 8px;
}

.engajae-variations-options {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.engajae-variation-pill {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid #ccc;
	color: #333;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s, color 0.15s;
	padding: 0;
}

.engajae-variation-circle {
	width: 40px;
	height: 40px;
	border-radius: 50%;
}

.engajae-variation-rect {
	height: 40px;
	min-width: 56px;
	padding: 0 16px;
	border-radius: 8px;
}

.engajae-variation-pill:hover {
	border-color: #ea6410;
}

.engajae-variation-pill.engajae-variation-selected {
	background: #ea6410;
	border-color: #ea6410;
	color: hsl(0, 0%, 100%);
}

.engajae-variation-pill.engajae-variation-disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.engajae-variations-price {
	font-size: 20px;
	font-weight: 600;
	color: #222;
	min-height: 1.2em;
}

.engajae-variations-price .amount {
	color: #ea6410;
}

.engajae-variations-price.engajae-variations-price-hint {
	font-size: 13px;
	font-weight: 400;
	color: #cc0000;
}

.engajae-variations-hint {
	display: none;
	font-size: 13px;
	color: #cc0000;
}

.engajae-variations-hint.engajae-variations-hint-visible {
	display: block;
}

.engajae-variations-hint.engajae-variations-hint-success {
	color: #2e7d32;
}

.engajae-variations-hint.engajae-variations-hint-error {
	color: #cc0000;
}

.single_add_to_cart_button.engajae-atc-loading {
	opacity: 0.7;
	pointer-events: none;
}

/* Altura única usada pelo botão e pela pílula de quantidade — sempre alinhados */
:root {
	--engajae-atc-height: 48px;
}

/*
 * Linha "quantidade + botão adicionar ao carrinho" — mesmo padrão visual
 * pro produto variável (dentro de .woocommerce-variation-add-to-cart) e pro
 * produto simples (form.cart, sem essa wrapper, estrutura mais enxuta).
 */
.variations_form .woocommerce-variation-add-to-cart,
.engajae-variations-simple form.cart {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
}

.variations_form .woocommerce-variation-add-to-cart .quantity,
.engajae-variations-simple form.cart .quantity {
	flex: 0 0 100px;
	width: 100px;
	height: var(--engajae-atc-height);
	margin: 0;
	/* Esconde a caixa até o JS montar a pílula, pra não piscar o visual nativo */
	opacity: 0;
}

.variations_form .woocommerce-variation-add-to-cart .quantity.engajae-qty-pill,
.engajae-variations-simple form.cart .quantity.engajae-qty-pill {
	opacity: 1;
}

.engajae-qty-pill {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	border: 1px solid #ddd;
	border-radius: 999px;
	background: #fff;
	overflow: hidden;
}

.engajae-qty-btn {
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	margin: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	color: #333;
	font-size: 16px;
	line-height: 1;
	padding: 0;
	transition: background 0.15s, color 0.15s;
}

.engajae-qty-minus {
	order: 0;
}

.engajae-qty-plus {
	order: 2;
}

.engajae-qty-btn:hover {
	background: rgba(234, 100, 16, 0.1);
	color: #ea6410;
}

.variations_form .woocommerce-variation-add-to-cart .quantity .qty,
.engajae-variations-simple form.cart .quantity .qty {
	order: 1;
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	height: 100%;
	box-sizing: border-box;
	border: none;
	background: transparent;
	padding: 0;
	font-size: 14px;
	text-align: center;
	-moz-appearance: textfield;
}

.variations_form .woocommerce-variation-add-to-cart .quantity .qty::-webkit-outer-spin-button,
.variations_form .woocommerce-variation-add-to-cart .quantity .qty::-webkit-inner-spin-button,
.engajae-variations-simple form.cart .quantity .qty::-webkit-outer-spin-button,
.engajae-variations-simple form.cart .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.engajae-variations-simple form.cart .single_add_to_cart_button {
	flex: 1 1 0%;
	width: 100%;
	height: var(--engajae-atc-height);
	box-sizing: border-box;
	padding-top: 0;
	padding-right: 20px;
	padding-bottom: 0;
	padding-left: 20px;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 500;
	color: hsl(0, 0%, 100%) !important;
	background: #ea6410 !important;
	border: none;
	cursor: pointer;
	line-height: 1;
	white-space: nowrap;
	text-align: center;
}

.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover,
.engajae-variations-simple form.cart .single_add_to_cart_button:hover {
	filter: brightness(0.95);
}

.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button.engajae-atc-disabled,
.engajae-variations-simple form.cart .single_add_to_cart_button.engajae-atc-disabled {
	background: #b8b8b8 !important;
	border-color: #b8b8b8 !important;
	color: #fff !important;
	cursor: not-allowed;
	filter: none;
	margin: 0px !important;
}

@media (max-width: 768px) {

	.variations_form .woocommerce-variation-add-to-cart,
	.engajae-variations-simple form.cart {
		flex-direction: column;
	}

	.variations_form .woocommerce-variation-add-to-cart .quantity,
	.engajae-variations-simple form.cart .quantity {
		flex-basis: auto;
		width: 100%;
	}
}