/**
 * Buttons — DENSO Light Design System
 * Primary CTA: accent red / on-accent text. Secondary: surface / dark border.
 */

.button,
button.button,
input[type="submit"],
input[type="button"],
.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,
.single_add_to_cart_button,
.checkout-button,
#place_order,
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--button-min-height);
	padding: var(--button-padding-y) var(--button-padding-x);
	margin: 0;
	border: 1px solid var(--color-accent);
	border-radius: var(--radius-button);
	background-color: var(--color-accent);
	color: var(--color-on-accent);
	font-family: var(--font-main);
	font-size: var(--button-font-size);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.2;
	text-shadow: none;
	text-transform: none;
	box-shadow: none;
	transition:
		background-color var(--transition-fast) ease,
		color var(--transition-fast) ease,
		border-color var(--transition-fast) ease;
}

.button:hover,
.button:focus,
button.button:hover,
button.button:focus,
input[type="submit"]:hover,
input[type="button"]:hover,
.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,
.woocommerce #respond input#submit.alt:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
#place_order:hover,
.wp-element-button:hover {
	background-color: var(--color-accent-hover);
	border-color: var(--color-accent-hover);
	color: var(--color-on-accent);
	box-shadow: none;
	opacity: 1;
}

.button:active,
.woocommerce a.button:active,
.woocommerce button.button:active {
	transform: none;
}

/* Secondary — surface + dark border */
.button.secondary,
.button.is-outline,
.button.plain,
a.button.secondary,
a.button.is-outline,
.woocommerce a.button.secondary {
	background-color: var(--color-surface);
	border: 1px solid var(--color-text-primary);
	color: var(--color-text-primary);
}

.button.secondary:hover,
.button.is-outline:hover,
.button.plain:hover,
a.button.secondary:hover,
a.button.is-outline:hover,
.woocommerce a.button.secondary:hover {
	background-color: var(--color-text-primary);
	border-color: var(--color-text-primary);
	color: var(--color-on-accent);
}

.button.primary:not(.is-outline),
.woocommerce a.button.primary {
	background-color: var(--color-accent);
	border-color: var(--color-accent);
	color: var(--color-on-accent);
}

.button.primary:not(.is-outline):hover,
.woocommerce a.button.primary:hover {
	background-color: var(--color-accent-hover);
	border-color: var(--color-accent-hover);
	color: var(--color-on-accent);
}

.button.disabled,
.button:disabled,
.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button.disabled,
#place_order:disabled {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
}

.button.icon,
.button.circle,
.icon-button {
	min-height: 40px;
	padding: 8px 12px;
}

/* Cart form CTAs — stable width next to quantity */
.single-product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .button {
	flex: 1 1 auto;
	min-width: 140px;
}

.woocommerce form.cart .quantity,
.single-product form.cart .quantity {
	margin: 0;
}
