/**
 * WooCommerce Blocks overrides — load after wc-blocks*.css so Store API behavior stays native.
 */
body.theme-checkout-page {
	background-color: hsl(var(--ivory)) !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-cart .wp-block-woocommerce-cart {
	color-scheme: dark;
	font-family: var(--font-body);
	color: hsl(var(--foreground));
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
	background-color: hsl(var(--background));
	border: 1px solid hsl(var(--foreground) / 0.1);
	border-radius: 1rem;
	padding: 1.5rem;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-combobox-control input,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-address-form input,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-address-form select,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-textarea textarea,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select__select,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-text-input input {
	min-height: 3rem;
	width: 100% !important;
	max-width: none !important;
	border: 1px solid hsl(var(--foreground) / 0.15) !important;
	border-radius: calc(var(--radius) - 2px) !important;
	background-color: hsl(var(--ivory)) !important;
	color: hsl(var(--foreground)) !important;
	font-family: var(--font-body);
	font-size: 0.875rem;
	padding-inline: 1rem;
	box-shadow: none !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-combobox-control input:focus,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-address-form input:focus,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-address-form select:focus,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-textarea textarea:focus,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-text-input input:focus {
	border-color: hsl(var(--primary)) !important;
	outline: none !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input:not(.is-active) label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input:not(.is-active) label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select:not(.is-active) .wc-blocks-components-select__label {
	color: hsl(var(--foreground) / 0.45) !important;
	font-family: var(--font-body);
	font-size: 0.875rem;
	letter-spacing: normal;
	text-transform: none;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input.is-active label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill + label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input.is-active label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select.is-active .wc-blocks-components-select__label {
	color: hsl(var(--foreground) / 0.55) !important;
	font-family: var(--font-body);
	font-size: 0.75rem;
	letter-spacing: 0.22em;
	text-transform: none;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input::placeholder,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-address-form input::placeholder,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-textarea textarea::placeholder {
	color: hsl(var(--foreground) / 0.45);
	font-family: var(--font-body);
	font-size: 0.875rem;
	opacity: 1;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step__title {
	font-family: var(--font-display);
	font-size: 1.5rem;
	line-height: 2rem;
	font-weight: 400;
	color: hsl(var(--foreground));
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary__title,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-panel__button {
	font-family: var(--font-display);
	font-size: 1.5rem;
	line-height: 2rem;
	font-weight: 400;
	color: hsl(var(--foreground));
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-product-name,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-totals-item__value {
	font-family: var(--font-body);
	font-size: 0.875rem;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
	background-color: hsl(var(--accent)) !important;
	color: hsl(var(--accent-foreground)) !important;
	border: 0 !important;
	box-shadow: none !important;
	font-family: var(--font-body);
	font-weight: 500;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-address-form input:-webkit-autofill {
	-webkit-text-fill-color: hsl(var(--foreground)) !important;
	caret-color: hsl(var(--foreground));
	-webkit-box-shadow: 0 0 0 1000px hsl(var(--ivory)) inset !important;
	box-shadow: 0 0 0 1000px hsl(var(--ivory)) inset !important;
}

/* Place Order — match Lovable primary pill (rounded-full, bg-primary, h-12 px-7). */
body.woocommerce-checkout .wp-block-woocommerce-checkout button.wc-block-components-checkout-place-order-button.wp-element-button,
body.woocommerce-checkout .wp-block-woocommerce-checkout button.wc-block-components-checkout-place-order-button.contained,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 3rem !important;
	min-height: 3rem !important;
	padding: 0.625rem 1.75rem !important;
	border-radius: 9999px !important;
	border: 1px solid hsl(var(--primary)) !important;
	background-color: hsl(var(--primary)) !important;
	background-image: none !important;
	color: hsl(var(--primary-foreground)) !important;
	font-family: var(--font-body) !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	box-shadow: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	transition: background-color 150ms ease, opacity 150ms ease;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout button.wc-block-components-checkout-place-order-button.wp-element-button:hover:not(:disabled),
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover:not(:disabled) {
	background-color: hsl(var(--primary) / 0.9) !important;
	border-color: hsl(var(--primary) / 0.9) !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout button.wc-block-components-checkout-place-order-button.wp-element-button:disabled,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled {
	opacity: 0.6 !important;
	cursor: not-allowed;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-checkout-place-order-button__text {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: nowrap;
	gap: 0;
	color: inherit !important;
	font: inherit !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button__price,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button__price .wc-block-formatted-money-amount {
	color: inherit !important;
	font-family: var(--font-body) !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button__separator::after {
	color: inherit !important;
	opacity: 1;
}
