/**
 * Elementor (Theme Builder product / Add to Cart widget) — MSPC tab header fixes only.
 * Scoped to the WooCommerce add-to-cart Elementor widgets; loaded when those widgets
 * are present on the single-product Elementor document or matching Theme Builder template.
 */

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) .elementor-widget-container {
	max-width: 100%;
	min-width: 0;
	overflow: visible;
	box-sizing: border-box;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form.cart {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form table.variations {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	overflow: visible !important;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form .fme_tabs_button {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box;
	overflow: visible !important;
	list-style: none !important;
	padding: 0;
	margin: 0 0 6px;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#fme_mspc_variation_template[value="tabs"]) .fme_tabs_button button.fmerb_tabs,
:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#fme_mspc_variation_template[value="vertical"]) .fme_tabs_button button.fmerb_tabs {
	white-space: normal !important;
	word-break: break-word;
	overflow-wrap: break-word;
	min-width: 0 !important;
	box-sizing: border-box !important;
	text-transform: none;
	height: auto !important;
	min-height: 44px;
	line-height: 1.3;
}

/* Horizontal tabs — keep all step tabs on one row inside narrow Elementor columns */
:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#fme_mspc_variation_template[value="tabs"]) .fme_tabs_button {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	grid-template-columns: unset !important;
	gap: 0;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#fme_mspc_variation_template[value="tabs"]) .fme_tabs_button > button.fmerb_tabs {
	flex: 1 1 0 !important;
	width: auto !important;
	max-width: none !important;
}

/* Multistep tabs — prevent 4th+ tab clipping */
:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps"]) .fme_tabs_button {
	display: flex !important;
	flex-wrap: nowrap !important;
	overflow: visible !important;
	grid-template-columns: unset !important;
	justify-content: stretch !important;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps"]) .fme_tabs_button > button.fmerb_tabs {
	flex: 1 1 0 !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 56px !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px;
	float: none !important;
	margin: 0 !important;
	padding: 10px 8px !important;
	border-radius: 0 !important;
	line-height: 1.25 !important;
	box-shadow: none !important;
	background-image: none !important;
	white-space: normal !important;
	word-break: break-word;
	overflow-wrap: break-word;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps"]) .fme_tabs_button button.fmerb_tabs svg.fme_tick {
	flex-shrink: 0;
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	min-height: 22px !important;
	margin: 0 !important;
	display: none;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps"]) .fme_tabs_button button.fmerb_tabs svg.fme_tick[style*="display: flex"],
:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps"]) .fme_tabs_button button.fmerb_tabs svg.fme_tick[style*="display:flex"],
:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps"]) .fme_tabs_button button.fmerb_tabs svg.fme_tick[style*="display: block"],
:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps"]) .fme_tabs_button button.fmerb_tabs svg.fme_tick[style*="display:block"] {
	display: flex !important;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps"]) .fme_tabs_button button.fmerb_tabs.fmerb_step_active {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* Classic stepper — horizontal alignment, connectors, labels */
:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps_classic"]) .fme_tabs_button {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	width: 100% !important;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps_classic"]) .fme_tabs_button > .stepper {
	flex: 1 1 0 !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 4px;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	float: none !important;
	box-sizing: border-box;
	list-style: none !important;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps_classic"]) .fme_tabs_button > .step-line {
	flex: 1 1 0 !important;
	min-width: 12px !important;
	max-width: none !important;
	align-self: center !important;
	margin: 0 !important;
	margin-top: 25px !important;
	height: 4px !important;
	width: auto !important;
	border-radius: 10px;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps_classic"]) .fme_tabs_button .stepper > button.fmerb_tabs {
	position: relative !important;
	width: 50px !important;
	height: 50px !important;
	min-width: 50px !important;
	min-height: 50px !important;
	max-width: 50px !important;
	max-height: 50px !important;
	border-radius: 50% !important;
	padding: 0 !important;
	margin: 0 auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0;
	float: none !important;
	line-height: 1 !important;
	box-shadow: none !important;
	background-image: none !important;
	box-sizing: border-box !important;
	overflow: hidden;
	vertical-align: middle !important;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps_classic"]) .fme_tabs_button .stepper button.fmerb_tabs svg.fme_tick {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 26px !important;
	height: 26px !important;
	margin: 0 !important;
	flex-shrink: 0;
	display: none;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps_classic"]) .fme_tabs_button .stepper button.fmerb_tabs svg.fme_tick[style*="display: block"],
:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps_classic"]) .fme_tabs_button .stepper button.fmerb_tabs svg.fme_tick[style*="display:block"],
:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps_classic"]) .fme_tabs_button .stepper button.fmerb_tabs svg.fme_tick[style*="display: flex"],
:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps_classic"]) .fme_tabs_button .stepper button.fmerb_tabs svg.fme_tick[style*="display:flex"] {
	display: block !important;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps_classic"]) .fme_tabs_button .stepper > button.fmerb_tabs {
	background-color: transparent !important;
	color: inherit;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps_classic"]) .fme_tabs_button .stepper button.fmerb_tabs .stepnumber {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
	font-size: 14px !important;
	font-weight: 700;
	border: none;
	background: transparent;
	font-style: normal;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#acc_type[value="steps_classic"]) .fme_tabs_button .stepper > b {
	display: block;
	width: 100%;
	margin-top: 8px !important;
	text-align: center !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	white-space: normal !important;
	word-break: break-word;
	overflow-wrap: anywhere;
	list-style: none !important;
}

/* Vertical tabs — equal-width sidebar tabs, content fills remaining space */
:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#fme_mspc_variation_template[value="vertical"]) table.variations {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	width: 100% !important;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#fme_mspc_variation_template[value="vertical"]) .fme_tabs_button {
	flex: 0 0 auto !important;
	width: min(32%, 220px) !important;
	min-width: 120px !important;
	max-width: 35% !important;
	margin-right: 12px !important;
	padding-top: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	align-self: stretch !important;
	gap: 0;
	grid-template-columns: unset !important;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#fme_mspc_variation_template[value="vertical"]) .fme_tabs_button > button.fmerb_tabs {
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
	border-radius: 5px !important;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#fme_mspc_variation_template[value="vertical"]) table.variations tbody {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	width: auto !important;
	display: block !important;
}

:is(
	.elementor-widget-woocommerce-product-add-to-cart,
	.elementor-widget-wc-add-to-cart
) form.variations_form:has(#fme_mspc_variation_template[value="vertical"]) table.variations tr {
	display: block !important;
	width: 100% !important;
}

@media screen and (min-width: 400px) {
	:is(
		.elementor-widget-woocommerce-product-add-to-cart,
		.elementor-widget-wc-add-to-cart
	) form.variations_form:has(#fme_mspc_variation_template[value="tabs"]) .fme_tabs_button,
	:is(
		.elementor-widget-woocommerce-product-add-to-cart,
		.elementor-widget-wc-add-to-cart
	) form.variations_form:has(#acc_type[value="steps"]) .fme_tabs_button {
		display: flex !important;
		flex-wrap: nowrap !important;
		grid-template-columns: unset !important;
	}
}
