/* Keep Woo's native labelled select inside narrow product summaries/cards. */
.hps-klipp-alternative { font-size:.85em; font-weight:600; margin:.35em 0; overflow-wrap:anywhere; }
.product form.variations_form:has(select[data-hps-m6-choice]),
.product form.variations_form table.variations:has(select[data-hps-m6-choice]),
.wc-block-grid__product form.variations_form:has(select[data-hps-m6-choice]),
.wc-block-grid__product form.variations_form table.variations:has(select[data-hps-m6-choice]) {
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
}
form.variations_form table.variations:has(select[data-hps-m6-choice]) {
	table-layout: fixed;
	width: 100%;
}
form.variations_form table.variations:has(select[data-hps-m6-choice]) th {
	/* Astra hides variation labels; M6 must retain a visible associated label. */
	display: block !important;
	width: 100%;
	overflow-wrap: anywhere;
}
form.variations_form table.variations:has(select[data-hps-m6-choice]) tr[hidden] { display: none !important; }
form.variations_form:has(select[data-hps-m6-choice]) :is(select, input, button, a):focus-visible {
	/* Astra's focus reset is important; preserve a visible keyboard indicator. */
	outline: 2px solid #135e96 !important;
	outline-offset: 3px;
}
form.variations_form select[data-hps-m6-choice] {
	display: block;
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
	width: 100%;
}
form.hps-m6-card { margin: .5em 0; width: 100%; }
form.hps-m6-card .hps-m6-batch-row {
	display: flex;
	align-items: center;
	gap: .35em;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}
form.hps-m6-card .hps-m6-batch-row label { flex: 0 0 auto; width: auto; font-size: .875em; margin: 0; padding: 0; }
form.hps-m6-card .hps-m6-batch-select { flex: 1; min-width: 0; }
form.hps-m6-card .single_variation_wrap { margin: 0; padding: 0; }
/* Selected price belongs in the card's main Woo price block, not below Batch. */
form.hps-m6-card .woocommerce-variation-price { display: none !important; }
form.hps-m6-card .variations[hidden] { display: none !important; }
form.hps-m6-card select[data-hps-m6-choice] { font-size: .875em; padding-inline: .35em; }
form.hps-m6-card .variations_button { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: .35em; }
/* Woo .show() writes inline display:block after a hidden/reset choice. */
form.hps-m6-card .quantity { display: inline-flex !important; flex: none; flex-wrap: nowrap; align-self: flex-start; width: max-content; max-width: 100%; margin: .35em 0 0; }
form.hps-m6-card .quantity[hidden] { display: none !important; }
/* Only managed cards opt in; preserve ordinary cards and single products. */
.hps-m6-stock-card .stock-badge:not(.hps-m6-card-stock),
.hps-m6-stock-card .hps-m6-card-stock[hidden] { display: none !important; }
/* Astra's 38px negative-margin stepper can squeeze against the cart button. */
form.hps-m6-card .quantity :is(.minus, .plus) { flex: 0 0 34px; width: 34px; margin: 0; }
/* Outrank Astra's .woocommerce-js .quantity .qty margin-left:38px. */
form.hps-m6-card .quantity input.qty { flex: 0 1 3em; width: 3em; min-width: 0; max-width: 100%; margin: 0; }
form.hps-m6-card button.single_add_to_cart_button { flex: none; width: 100%; white-space: normal; margin: 0; max-width: 100%; }
form.hps-m6-card .hps-m6-single-choice { margin: 0 0 .35em; }
form.variations_form:has(select[data-hps-m6-choice]) .woocommerce-variation-price[hidden] { display: none !important; }
/* Once an M6 choice owns the main price, Woo may replace its hidden inner
 * template on a delayed event. Keep that diagnostic copy visually secondary. */
form.hps-m6-selected-price .woocommerce-variation-price { display: none !important; }
