/**
 * Buttons & Forms — one consistent, premium button language reused by
 * WooCommerce everywhere (add-to-cart, checkout, account, widgets).
 */

.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wp-block-button__link {
	font-family: var(--bz-font-body);
	font-weight: 600;
	font-size: var(--bz-fs-sm);
	letter-spacing: 0.02em;
	color: #fff;
	background: var(--bz-ink);
	border: 1px solid var(--bz-ink);
	border-radius: var(--bz-radius-pill);
	padding: 0.9em 1.9em;
	line-height: 1;
	transition: background var(--bz-duration-fast) var(--bz-ease),
		color var(--bz-duration-fast) var(--bz-ease),
		transform var(--bz-duration-fast) var(--bz-ease),
		box-shadow var(--bz-duration-fast) var(--bz-ease);
	box-shadow: none;
	cursor: pointer;
}

.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--bz-accent);
	border-color: var(--bz-accent);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: var(--bz-shadow-sm);
}

.button:active { transform: translateY(0); }

.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce-checkout #payment #place_order,
.checkout-button,
.single_add_to_cart_button {
	background: var(--bz-accent);
	border-color: var(--bz-accent);
	width: auto;
}
.button.alt:hover,
.woocommerce-checkout #payment #place_order:hover,
.single_add_to_cart_button:hover {
	background: var(--bz-accent-dark);
	border-color: var(--bz-accent-dark);
}

/* Secondary / outline button */
.button.button-secondary,
.woocommerce a.button.wc-backward,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--bz-ink);
	border: 1px solid var(--bz-ink);
}
.button.button-secondary:hover {
	background: var(--bz-ink);
	color: #fff;
}

.button:disabled,
.button.disabled,
.single_add_to_cart_button.disabled {
	opacity: 0.45;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

/* ---- Form fields ---- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
select,
.select2-container--default .select2-selection--single {
	font-family: var(--bz-font-body);
	font-size: var(--bz-fs-sm);
	background: var(--bz-surface);
	border: 1px solid var(--bz-border-strong);
	border-radius: var(--bz-radius-sm);
	padding: 0.85em 1em;
	color: var(--bz-ink);
	transition: border-color var(--bz-duration-fast) var(--bz-ease), box-shadow var(--bz-duration-fast) var(--bz-ease);
	height: auto;
}

input:focus,
textarea:focus,
select:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
	border-color: var(--bz-accent);
	box-shadow: 0 0 0 3px var(--bz-accent-light);
	outline: none;
}

label,
.woocommerce-form-row label {
	font-size: var(--bz-fs-xs);
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--bz-muted);
	margin-bottom: var(--bz-space-1);
	display: inline-block;
}

.woocommerce form .form-row {
	margin-bottom: var(--bz-space-4);
}

.woocommerce-input-wrapper .required,
.required {
	color: var(--bz-sale);
	text-decoration: none;
}

/* Checkboxes / radios — larger, touch friendly */
input[type="checkbox"],
input[type="radio"] {
	width: 18px;
	height: 18px;
	accent-color: var(--bz-ink);
	margin-right: 8px;
}

/* Quantity stepper — used across shop, cart, product page */
.quantity {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--bz-border-strong);
	border-radius: var(--bz-radius-pill);
	overflow: hidden;
	background: var(--bz-surface);
}
.quantity .qty {
	border: none;
	width: 3.25rem;
	text-align: center;
	padding: 0.6em 0;
	background: transparent;
}
.quantity .qty:focus { box-shadow: none; }
.bz-qty-btn {
	background: transparent;
	border: none;
	width: 2.25rem;
	font-size: 1.1rem;
	color: var(--bz-ink);
	cursor: pointer;
	transition: background var(--bz-duration-fast) var(--bz-ease);
}
.bz-qty-btn:hover { background: var(--bz-surface-alt); }

/* Notices / messages */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
	border-radius: var(--bz-radius-md);
	border: 1px solid var(--bz-border);
	border-left: 4px solid var(--bz-accent);
	background: var(--bz-surface);
	padding: var(--bz-space-4) var(--bz-space-5);
	box-shadow: var(--bz-shadow-sm);
	font-size: var(--bz-fs-sm);
}
.woocommerce-error { border-left-color: var(--bz-error); }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { color: inherit; }

.woocommerce-message .button,
.woocommerce-error .button {
	float: none;
	margin-left: var(--bz-space-4);
}
