/**
 * Nexora Funnel Builder -- front end.
 * Mobile first. The checkout adapts to its CONTAINER (container queries), not the viewport,
 * so it stays correct inside any Elementor column. Logical properties keep it RTL-safe.
 * Every selector is prefixed `spfn-` (no overlap with the legacy `wcf-`).
 */

/* ------------------------------------------------------------------ tokens */
.spfn-checkout,
.spfn-order-details,
.spfn-offer-box,
.spfn-btn,
.spfn-po,
.spfn-ship,
.spfn-bumps,
.spfn-modal,
.spfn-sticky-bar,
.spfn-countdown,
.spfn-trust {
	--p: var(--spfn-primary, #f16334);
	--p-soft: #fff3ee;
	--p-soft: color-mix(in srgb, var(--p) 9%, #fff);
	--txt: var(--spfn-text, #404040);
	--head: var(--spfn-heading, #1f2430);
	--line: var(--spfn-border, #d9dce3);
	--rad: var(--spfn-radius, 8px);
	--in-h: var(--spfn-input-height, 48px);
	--gap: var(--spfn-gap, 28px);
}

.spfn-checkout,
.spfn-checkout *,
.spfn-checkout *::before,
.spfn-checkout *::after,
.spfn-order-details,
.spfn-order-details *,
.spfn-modal,
.spfn-modal *,
.spfn-offer-box,
.spfn-offer-box * {
	box-sizing: border-box;
}

/* ------------------------------------------------------------ page templates */
body.spfn-template-canvas {
	margin: 0;
}
.spfn-canvas {
	width: 100%;
	max-width: 100%;
	overflow-x: clip;
}
body.spfn-classic-content .spfn-canvas,
.spfn-boxed-inner {
	max-width: 1140px;
	margin-inline: auto;
	padding: 24px 16px;
}
.spfn-canvas img,
.spfn-boxed img {
	max-width: 100%;
	height: auto;
}
.spfn-auto {
	max-width: 1140px;
	margin: 0 auto;
	padding: 16px;
}
.spfn-admin-note,
.spfn-empty,
.spfn-order-missing {
	padding: 14px 16px;
	border: 1px dashed #c3c8d1;
	border-radius: 8px;
	background: #f8f9fb;
	color: #4a5160;
	font-size: 14px;
	line-height: 1.5;
}
.spfn-sandbox-flag {
	position: fixed;
	inset-block-start: 0;
	inset-inline-start: 50%;
	transform: translateX(-50%);
	z-index: 99990;
	background: #b45309;
	color: #fff;
	font: 600 12px/1 system-ui, sans-serif;
	padding: 6px 12px;
	border-radius: 0 0 8px 8px;
}
[dir="rtl"] .spfn-sandbox-flag {
	transform: translateX(50%);
}

/* ------------------------------------------------------------------ checkout */
.spfn-checkout {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	color: var(--txt);
	font-family: var(--spfn-font, inherit);
	line-height: 1.55;
	text-align: start;
	overflow-wrap: anywhere;
	position: relative;
}
.spfn-checkout > .woocommerce {
	container-type: inline-size;
	container-name: spfn;
	width: 100%;
	min-width: 0;
}
.spfn-checkout.spfn-loading form.spfn-form {
	opacity: .55;
	pointer-events: none;
	transition: opacity .15s;
}
.spfn-checkout form.spfn-form {
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: 100%;
	float: none;
}
:where(.spfn-checkout) .spfn-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--gap);
	align-items: start;
}
:where(.spfn-checkout .spfn-main),
:where(.spfn-checkout .spfn-side) {
	min-width: 0;
	float: none;
	width: 100%;
	box-sizing: border-box;
}
.spfn-checkout #customer_details,
.spfn-checkout #customer_details .col-1,
.spfn-checkout #customer_details .col-2,
.spfn-checkout #order_review,
.spfn-checkout #order_review_heading {
	float: none;
	width: 100%;
	max-width: 100%;
	margin-inline: 0;
	padding-inline: 0;
	clear: both;
}
.spfn-checkout #customer_details .col-2:empty {
	display: none;
}
.spfn-checkout h3,
.spfn-checkout .spfn-heading {
	margin: 0 0 14px;
	padding: 0;
	color: var(--head);
	font-size: var(--spfn-heading-size, 20px);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
}
.spfn-checkout #ship-to-different-address {
	margin-block: 18px 10px;
	font-size: 16px;
}
.spfn-checkout .woocommerce-additional-fields,
.spfn-checkout .woocommerce-shipping-fields {
	margin-block-start: 8px;
}

/* field rows: float-free, width classes from the field editor */
.spfn-checkout .woocommerce-billing-fields__field-wrapper,
.spfn-checkout .woocommerce-shipping-fields__field-wrapper,
.spfn-checkout .woocommerce-additional-fields__field-wrapper {
	display: flex;
	flex-wrap: wrap;
	column-gap: 12px;
	row-gap: 0;
}
.spfn-checkout form.spfn-form .form-row {
	float: none;
	clear: none;
	flex: 0 0 100%;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0 0 14px;
	padding: 0;
	display: block;
	position: relative;
}
.spfn-checkout form.spfn-form .form-row[style*="display: none"],
.spfn-checkout form.spfn-form .form-row[style*="display:none"] {
	display: none;
}
.spfn-checkout form.spfn-form .form-row label {
	display: block;
	margin: 0 0 6px;
	color: var(--spfn-label-color, var(--txt));
	font-size: var(--spfn-label-size, 14px);
	font-weight: 600;
	line-height: 1.45;
}
.spfn-checkout form.spfn-form .form-row label.checkbox,
.spfn-checkout form.spfn-form .form-row label.radio,
.spfn-checkout form.spfn-form .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
	font-weight: 500;
	cursor: pointer;
}
.spfn-checkout .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}
.spfn-checkout form.spfn-form .input-text,
.spfn-checkout form.spfn-form select,
.spfn-checkout form.spfn-form textarea,
.spfn-checkout .select2-container .select2-selection--single,
.spfn-checkout form.checkout_coupon .input-text {
	width: 100%;
	max-width: 100%;
	min-height: var(--in-h);
	margin: 0;
	padding: 10px 14px;
	border: 1px solid var(--spfn-input-border, var(--line));
	border-radius: var(--spfn-input-radius, var(--rad));
	background-color: var(--spfn-input-bg, #fff);
	color: var(--spfn-input-color, #1f2430);
	font-family: inherit;
	font-size: 16px; /* 16px stops iOS from zooming on focus */
	line-height: 1.4;
	box-shadow: none;
	outline: 0;
	transition: border-color .15s, box-shadow .15s;
	-webkit-appearance: none;
	appearance: none;
}
.spfn-checkout form.spfn-form select {
	padding-inline-end: 38px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23666' stroke-width='1.6' d='M1 1.500l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}
[dir="rtl"] .spfn-checkout form.spfn-form select {
	background-position: left 14px center;
}
.spfn-checkout form.spfn-form textarea {
	min-height: 96px;
	resize: vertical;
}
.spfn-checkout form.spfn-form .input-text:focus,
.spfn-checkout form.spfn-form select:focus,
.spfn-checkout form.spfn-form textarea:focus {
	border-color: var(--p);
	box-shadow: 0 0 0 3px var(--p-soft);
}
.spfn-checkout form.spfn-form input[type="checkbox"],
.spfn-checkout form.spfn-form input[type="radio"] {
	width: 20px;
	height: 20px;
	min-height: 0;
	margin: 2px 0 0;
	flex: 0 0 auto;
	accent-color: var(--p);
}
.spfn-checkout .select2-container {
	width: 100% !important;
	max-width: 100%;
}
.spfn-checkout .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	height: auto;
	padding-block: 0;
}
.spfn-checkout .select2-container .select2-selection--single .select2-selection__rendered {
	flex: 1;
	min-width: 0;
	padding: 0;
	line-height: 1.4;
	color: inherit;
}
.spfn-checkout .select2-container .select2-selection--single .select2-selection__arrow {
	height: 100%;
	inset-block-start: 0;
	inset-inline-end: 8px;
}
.spfn-checkout form.spfn-form .form-row.woocommerce-invalid .input-text,
.spfn-checkout form.spfn-form .form-row.woocommerce-invalid select,
.spfn-checkout form.spfn-form .form-row.woocommerce-invalid .select2-selection {
	border-color: #d92d20;
}
.spfn-checkout form.spfn-form .form-row.woocommerce-validated .input-text {
	border-color: #3f9c5a;
}
.spfn-field-error {
	display: block;
	margin-block-start: 5px;
	color: #d92d20;
	font-size: 13px;
	line-height: 1.4;
}
.spfn-checkout abbr.required {
	color: #d92d20;
	text-decoration: none;
	border: 0;
}

/* floating / modern label skin */
.spfn-checkout.spfn-skin-modern-label form.spfn-form .form-row:not(.form-row-checkbox):not(.spfn-row-choice) > label:not(.checkbox):not(.woocommerce-form__label-for-checkbox),
.spfn-checkout.spfn-skin-floating-labels form.spfn-form .form-row > label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
	position: absolute;
	z-index: 2;
	inset-block-start: 14px;
	inset-inline-start: 15px;
	margin: 0;
	max-width: calc(100% - 30px);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: #7a808c;
	font-weight: 500;
	font-size: 15px;
	pointer-events: none;
	transform-origin: 0 0;
	transition: transform .15s, color .15s;
}
.spfn-checkout.spfn-skin-modern-label form.spfn-form .form-row.spfn-has-value > label,
.spfn-checkout.spfn-skin-modern-label form.spfn-form .form-row.spfn-focus > label,
.spfn-checkout.spfn-skin-floating-labels form.spfn-form .form-row.spfn-has-value > label,
.spfn-checkout.spfn-skin-floating-labels form.spfn-form .form-row.spfn-focus > label {
	transform: translateY(-9px) scale(.78);
	color: var(--p);
}
.spfn-checkout.spfn-skin-modern-label form.spfn-form .form-row .input-text,
.spfn-checkout.spfn-skin-modern-label form.spfn-form .form-row select,
.spfn-checkout.spfn-skin-floating-labels form.spfn-form .form-row .input-text,
.spfn-checkout.spfn-skin-floating-labels form.spfn-form .form-row select {
	padding-block: 20px 6px;
	min-height: 54px;
}
.spfn-checkout.spfn-skin-modern-label form.spfn-form .form-row:not(.spfn-focus) ::placeholder,
.spfn-checkout.spfn-skin-floating-labels form.spfn-form .form-row:not(.spfn-focus) ::placeholder {
	color: transparent;
}

/* order review */
.spfn-checkout table.shop_table {
	width: 100%;
	max-width: 100%;
	margin: 0 0 16px;
	border: 1px solid var(--line);
	border-radius: var(--rad);
	border-collapse: separate;
	border-spacing: 0;
	table-layout: auto;
	font-size: 15px;
	background: var(--spfn-summary-bg, transparent);
}
.spfn-checkout table.shop_table th,
.spfn-checkout table.shop_table td {
	padding: 11px 12px;
	border: 0;
	border-block-start: 1px solid var(--line);
	text-align: start;
	vertical-align: top;
	line-height: 1.45;
	word-break: normal;
	overflow-wrap: anywhere;
	background: transparent;
}
.spfn-checkout table.shop_table thead th {
	border-block-start: 0;
	font-weight: 700;
}
.spfn-checkout table.shop_table td.product-total,
.spfn-checkout table.shop_table th.product-total,
.spfn-checkout table.shop_table tfoot td {
	text-align: end;
	min-width: 84px;
}
.spfn-checkout table.shop_table .amount {
	white-space: nowrap;
}
.spfn-checkout table.shop_table #shipping_method,
.spfn-checkout table.shop_table ul.woocommerce-shipping-methods {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: start;
}
.spfn-checkout table.shop_table #shipping_method li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 8px;
	text-indent: 0;
	padding: 0;
}
.spfn-checkout table.shop_table #shipping_method li label {
	margin: 0;
	flex: 1;
	min-width: 0;
}
.spfn-checkout table.shop_table tr.order-total th,
.spfn-checkout table.shop_table tr.order-total td {
	font-size: 17px;
	font-weight: 700;
	color: var(--head);
}

/* payment */
.spfn-checkout.spfn-checkout #payment {
	margin: 0;
	padding: 0;
	border-radius: var(--rad);
	background: var(--spfn-payment-bg, #f6f7f9);
	border: 1px solid var(--line);
}
.spfn-checkout.spfn-checkout #payment ul.payment_methods {
	list-style: none;
	margin: 0;
	padding: 14px 14px 4px;
	border: 0;
	border-block-end: 1px solid var(--line);
}
.spfn-checkout.spfn-checkout #payment ul.payment_methods > li {
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
	line-height: 1.5;
}
.spfn-checkout.spfn-checkout #payment ul.payment_methods > li > label {
	display: inline;
	margin: 0;
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
}
.spfn-checkout.spfn-checkout #payment ul.payment_methods > li > input[type="radio"] {
	vertical-align: middle;
	margin-block: -3px 0;
	margin-inline-end: 8px;
}
.spfn-checkout.spfn-checkout #payment ul.payment_methods li img {
	max-height: 28px;
	width: auto;
	display: inline-block;
	vertical-align: middle;
	margin-inline-start: 6px;
	float: none;
}
.spfn-checkout.spfn-checkout #payment div.payment_box {
	margin: 10px 0 4px;
	padding: 12px 14px;
	border-radius: 6px;
	background: var(--spfn-payment-box-bg, #fff);
	color: var(--spfn-payment-box-color, #515151);
	font-size: 14px;
	line-height: 1.55;
	width: 100%;
}
.spfn-checkout.spfn-checkout #payment div.payment_box::before {
	display: none;
}
.spfn-checkout.spfn-checkout #payment div.payment_box p {
	margin: 0 0 6px;
}
.spfn-checkout.spfn-checkout #payment div.payment_box p:last-child {
	margin: 0;
}
.spfn-checkout.spfn-checkout #payment .place-order {
	float: none;
	width: 100%;
	margin: 0;
	padding: 14px;
}
.spfn-checkout.spfn-checkout #payment .woocommerce-terms-and-conditions-wrapper {
	margin-block-end: 12px;
	font-size: 14px;
}
.spfn-checkout.spfn-checkout #place_order,
.spfn-checkout .spfn-place-order,
.spfn-btn {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	max-width: 100%;
	min-height: 52px;
	margin: 0;
	padding: var(--spfn-btn-pad, 13px 26px);
	border: var(--spfn-btn-border, 0);
	border-radius: var(--spfn-btn-radius, var(--rad));
	background: var(--spfn-btn-bg, var(--p));
	color: var(--spfn-btn-color, #fff);
	font-family: inherit;
	font-size: var(--spfn-btn-size, 18px);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	white-space: normal;
	cursor: pointer;
	float: none;
	box-shadow: none;
	transition: filter .15s, background-color .15s, color .15s, transform .05s;
	-webkit-tap-highlight-color: transparent;
}
.spfn-checkout.spfn-checkout #place_order {
	display: block;
	width: 100%;
}
.spfn-checkout.spfn-checkout #place_order:hover,
.spfn-checkout .spfn-place-order:hover,
.spfn-btn:hover,
.spfn-btn:focus-visible {
	background: var(--spfn-btn-bg-hover, var(--spfn-btn-bg, var(--p)));
	color: var(--spfn-btn-color-hover, var(--spfn-btn-color, #fff));
	filter: brightness(.94);
	text-decoration: none;
}
.spfn-btn:active,
.spfn-checkout.spfn-checkout #place_order:active {
	transform: translateY(1px);
}
.spfn-btn__sub,
.spfn-wizard-next__sub {
	font-size: .72em;
	font-weight: 500;
	opacity: .9;
}
.spfn-checkout.spfn-checkout #place_order.spfn-btn-lock::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-inline-end: .45em;
	vertical-align: -.12em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 9V7A5 5 0 0 0 7 7v2H5v13h14V9zm-8-2a3 3 0 0 1 6 0v2H9zm4 9.700V19h-2v-2.300a2 2 0 1 1 2 0z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 9V7A5 5 0 0 0 7 7v2H5v13h14V9zm-8-2a3 3 0 0 1 6 0v2H9zm4 9.700V19h-2v-2.300a2 2 0 1 1 2 0z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.spfn-link {
	display: inline-block;
	min-height: 44px;
	padding: 11px 6px;
	border: 0;
	background: none;
	color: var(--spfn-link-color, #5a6170);
	font: inherit;
	font-size: 15px;
	text-decoration: underline;
	cursor: pointer;
}
.spfn-link:hover {
	color: var(--spfn-link-color-hover, var(--p));
}

/* notices + coupon/login toggles printed above the form */
.spfn-checkout .woocommerce-error,
.spfn-checkout .woocommerce-info,
.spfn-checkout .woocommerce-message {
	margin: 0 0 16px;
	overflow-wrap: anywhere;
	max-width: 100%;
}
.spfn-checkout form.checkout_coupon,
.spfn-checkout form.woocommerce-form-login {
	margin: 0 0 18px;
	padding: 16px;
	border: 1px solid var(--line);
	border-radius: var(--rad);
	max-width: 100%;
}
.spfn-checkout form.checkout_coupon .form-row {
	float: none;
	width: 100%;
	margin: 0 0 10px;
	padding: 0;
}
.spfn-checkout form.checkout_coupon button {
	min-height: var(--in-h);
	width: 100%;
}

/* opt-in */
.spfn-checkout.spfn-type-optin table.shop_table,
.spfn-checkout.spfn-type-optin #order_review_heading,
.spfn-checkout.spfn-type-optin .woocommerce-billing-fields > h3,
.spfn-checkout.spfn-type-optin #payment ul.payment_methods,
.spfn-checkout.spfn-type-optin .woocommerce-privacy-policy-text {
	display: none;
}
.spfn-checkout.spfn-type-optin.spfn-checkout #payment {
	background: none;
	border: 0;
}
.spfn-checkout.spfn-type-optin.spfn-checkout #payment .place-order {
	padding: 0;
}
.spfn-checkout.spfn-type-optin .spfn-grid {
	gap: 0;
}

/* wizard (two-step / multistep) */
.spfn-note {
	margin: 0 0 16px;
	padding: 12px 16px;
	border-radius: var(--rad);
	background: var(--p);
	color: #fff;
	font-size: 15px;
	text-align: center;
}
.spfn-wizard-nav--tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 0 22px;
	border: 1px solid var(--line);
	border-radius: var(--rad);
	overflow: hidden;
}
.spfn-wizard-nav--tabs .spfn-wizard-tab {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	min-height: 60px;
	padding: 10px 12px;
	background: #f4f5f7;
	color: #616775;
	text-decoration: none;
	border-block-end: 3px solid transparent;
}
.spfn-wizard-nav--tabs .spfn-wizard-tab.is-active {
	background: #fff;
	color: var(--head);
	border-block-end-color: var(--p);
}
.spfn-wizard-num {
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #cfd3da;
	color: #fff;
	font-weight: 700;
	font-size: 15px;
}
.spfn-wizard-tab.is-active .spfn-wizard-num,
.spfn-wizard-tab.is-done .spfn-wizard-num {
	background: var(--p);
}
.spfn-wizard-txt {
	min-width: 0;
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}
.spfn-wizard-txt b {
	font-size: 15px;
}
.spfn-wizard-txt small {
	font-size: 12px;
	opacity: .85;
}
.spfn-wizard-nav--crumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 6px;
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	font-size: 14px;
}
.spfn-wizard-nav--crumbs li {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0;
}
.spfn-wizard-nav--crumbs li + li::before {
	content: "\203A";
	color: #9aa0ab;
}
[dir="rtl"] .spfn-wizard-nav--crumbs li + li::before {
	content: "\2039";
}
.spfn-wizard-nav--crumbs .spfn-wizard-tab {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 6px 4px;
	color: #7a808c;
	text-decoration: none;
}
.spfn-wizard-nav--crumbs .spfn-wizard-tab.is-active {
	color: var(--head);
	font-weight: 700;
}
.spfn-wizard-nav--crumbs .spfn-wizard-tab.is-done {
	color: var(--p);
}
.spfn-wizard-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	margin-block-start: 8px;
}
.spfn-wizard-actions .spfn-wizard-next {
	flex: 1 1 220px;
}
.spfn-wizard-back {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	color: #5a6170;
	text-decoration: none;
	font-size: 15px;
}
.spfn-wizard-back[hidden],
.spfn-wizard-next[hidden] {
	display: none;
}
.spfn-checkout.spfn-wizard.spfn-js [data-spfn-panel] {
	display: none;
}
.spfn-checkout.spfn-wizard.spfn-js[data-current="1"] [data-spfn-panel="1"],
.spfn-checkout.spfn-wizard.spfn-js[data-current="2"] [data-spfn-panel="2"],
.spfn-checkout.spfn-wizard.spfn-js[data-current="3"] [data-spfn-panel="3"] {
	display: block;
}
.spfn-checkout.spfn-layout-two-column .spfn-wizard-actions {
	display: none;
}

/* modern family */
.spfn-checkout.spfn-is-modern .spfn-payment {
	margin-block-start: 22px;
}
.spfn-summary-toggle {
	display: none;
	width: 100%;
	min-height: 52px;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 14px;
	padding: 12px 14px;
	border: 1px solid var(--line);
	border-radius: var(--rad);
	background: #f6f7f9;
	color: var(--head);
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	text-align: start;
	cursor: pointer;
}
.spfn-summary-toggle .spfn-summary-total {
	font-weight: 700;
	white-space: nowrap;
}
.spfn-checkout.spfn-is-modern.spfn-js .spfn-summary-toggle {
	display: flex;
}
.spfn-checkout.spfn-is-modern.spfn-js .spfn-summary {
	display: none;
}
.spfn-checkout.spfn-is-modern.spfn-js.spfn-summary-open .spfn-summary {
	display: block;
}
.spfn-checkout.spfn-is-modern.spfn-summary-top .spfn-side {
	order: -1;
}
.spfn-checkout.spfn-layout-instant .spfn-side {
	padding: 16px;
	border-radius: 12px;
	background: #f6f7f9;
}

/* product options ("Your products") -- structure mirrors the legacy .wcf-qty-options.
   Specificity is kept at a single class (:where) so CSS written for the page wins. */
:where(.spfn-po) {
	margin: 0 0 22px;
}
:where(.spfn-po__list) {
	display: flex;
	flex-direction: column;
	gap: 0;
	border: 1px solid var(--line);
	border-radius: var(--rad);
	background: #fff;
	overflow: hidden;
}
:where(.spfn-po--cards) .spfn-po__list {
	gap: 10px;
	border: 0;
	border-radius: 0;
	background: none;
	overflow: visible;
}
:where(.spfn-po__item) {
	position: relative;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	border-block-start: 1px solid var(--line);
	background: #fff;
	cursor: pointer;
	transition: border-color .15s, background-color .15s, box-shadow .15s;
}
:where(.spfn-po__item:first-child) {
	border-block-start: 0;
}
:where(.spfn-po--cards) .spfn-po__item {
	border: 1px solid var(--line);
	border-radius: var(--rad);
}
:where(.spfn-po__item.is-selected),
:where(.spfn-po__item:has(.spfn-po__input:checked)) {
	background: var(--p-soft);
}
:where(.spfn-po--cards .spfn-po__item.is-selected),
:where(.spfn-po--cards .spfn-po__item:has(.spfn-po__input:checked)) {
	border-color: var(--p);
	box-shadow: 0 0 0 1px var(--p);
}
:where(.spfn-po__item.is-highlight) {
	border: 2px solid var(--p);
}
:where(.spfn-po__badge) {
	padding: 4px 12px;
	background: var(--p);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}
:where(.spfn-po__row) {
	display: flex;
	align-items: center;
	min-width: 0;
	gap: 10px;
	padding: 12px;
	min-height: 64px;
}
:where(.spfn-po__sel) {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}
:where(.spfn-po__input) {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--p);
	cursor: pointer;
}
:where(.spfn-po__label) {
	display: none;
}
:where(.spfn-po__tick) {
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--p);
	position: relative;
}
:where(.spfn-po__tick)::after {
	content: "";
	position: absolute;
	inset-inline-start: 7px;
	inset-block-start: 3px;
	width: 5px;
	height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
:where(.spfn-po__img) {
	flex: 0 0 auto;
	max-width: 64px;
}
:where(.spfn-po__img) img {
	display: block;
	width: 60px;
	height: 60px;
	max-width: 100%;
	object-fit: cover;
	border-radius: 6px;
}
:where(.spfn-po__content) {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
}
:where(.spfn-po__text) {
	flex: 1 1 100%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
:where(.spfn-po__name) {
	font-weight: 600;
	font-size: 15px;
	line-height: 1.4;
	color: var(--head);
	overflow-wrap: anywhere;
}
:where(.spfn-po__attrs) {
	font-size: 13px;
	line-height: 1.4;
	color: #6a7180;
}
:where(.spfn-po__attsep[data-last]) {
	display: none;
}
:where(.spfn-po__sub) {
	font-size: 13px;
	color: #6a7180;
}
:where(.spfn-po__qty) {
	flex: 0 1 auto;
	min-width: 0;
}
:where(.spfn-po__qty) .spfn-qty__btn {
	width: 40px;
}
:where(.spfn-po__qty) .spfn-qty__input {
	width: 44px;
}
:where(.spfn-po__price) {
	flex: 1 1 auto;
	margin-inline-start: auto;
	text-align: end;
	font-weight: 700;
	white-space: nowrap;
	color: var(--head);
}
.spfn-po__price del,
.spfn-bump__price del,
.spfn-offer-price del,
.spfn-pre__price del {
	opacity: .55;
	font-weight: 400;
	margin-inline-end: 4px;
}
.spfn-po__price ins,
.spfn-bump__price ins,
.spfn-offer-price ins,
.spfn-pre__price ins {
	text-decoration: none;
	background: none;
}
.spfn-po .spfn-var-popup select,
.spfn-modal select,
.spfn-offer-variation {
	flex: 1 1 160px;
	min-width: 0;
	max-width: 100%;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid var(--line);
	border-radius: 6px;
	background: #fff;
	font-size: 16px;
	font-family: inherit;
}
:where(.spfn-var-popup__open) {
	min-height: 36px;
	margin-block-start: 4px;
	padding: 4px 10px;
	border: 1px solid var(--line);
	border-radius: 6px;
	background: #fff;
	font: inherit;
	font-size: 13px;
	cursor: pointer;
	align-self: flex-start;
}
:where(.spfn-qty) {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--line);
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
}
:where(.spfn-qty__btn) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	min-height: 44px;
	border: 0;
	background: #f2f3f5;
	color: #1f2430;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	user-select: none;
}
:where(.spfn-qty__input) {
	width: 52px;
	min-height: 44px;
	margin: 0;
	border: 0;
	border-inline: 1px solid var(--line);
	border-radius: 0;
	text-align: center;
	font-size: 16px;
	padding: 0;
	background: #fff;
	color: #1f2430;
	box-shadow: none;
	-moz-appearance: textfield;
	appearance: textfield;
}
.spfn-qty__input::-webkit-outer-spin-button,
.spfn-qty__input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* shipping methods inside customer details (the legacy .wcf-shipping-methods-wrapper) */
:where(.spfn-customer-shipping) {
	margin: 8px 0 18px;
}
:where(.spfn-ship:empty) {
	display: none;
}
:where(.spfn-ship__options) ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--line);
	border-radius: var(--rad);
	background: #fff;
}
:where(.spfn-ship__options) li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	padding: 12px 14px;
	min-height: 48px;
	border-block-start: 1px solid var(--line);
	list-style: none;
	text-indent: 0;
}
:where(.spfn-ship__options) li:first-child {
	border-block-start: 0;
}
:where(.spfn-ship__options) li input {
	width: 20px;
	height: 20px;
	margin: 2px 0 0;
	flex: 0 0 auto;
	accent-color: var(--p);
}
:where(.spfn-ship__options) li label {
	flex: 1;
	min-width: 0;
	margin: 0;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
	cursor: pointer;
}
:where(.spfn-ship__none) {
	padding: 12px 14px;
	border: 1px dashed var(--line);
	border-radius: var(--rad);
	font-size: 14px;
}

/* order bumps */
.spfn-bumps {
	display: grid;
	gap: 12px;
	margin: 0 0 20px;
}
.spfn-bumps:empty {
	display: none;
}
.spfn-bump {
	border: 2px dashed var(--p);
	border-radius: var(--rad);
	background: #fff;
	overflow: hidden;
}
.spfn-bump__head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 10px;
	margin: 0;
	padding: 12px 14px;
	min-height: 48px;
	background: var(--p-soft);
	color: var(--head);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.4;
	cursor: pointer;
}
.spfn-bump__cb {
	width: 22px;
	height: 22px;
	margin: 0;
	flex: 0 0 auto;
	accent-color: var(--p);
}
.spfn-bump__label {
	flex: 1 1 140px;
	min-width: 0;
}
.spfn-bump__price {
	margin-inline-start: auto;
	white-space: nowrap;
}
.spfn-bump__body {
	display: flex;
	gap: 12px;
	padding: 12px 14px;
}
.spfn-bump__img {
	flex: 0 0 72px;
}
.spfn-bump__img img {
	display: block;
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 6px;
}
.spfn-bump__copy {
	flex: 1;
	min-width: 0;
	font-size: 14px;
	line-height: 1.55;
}
.spfn-bump__title {
	margin: 0 0 4px;
	font-weight: 600;
	color: var(--head);
}
.spfn-bump__hl {
	color: #d92d20;
	text-decoration: underline;
	font-weight: 700;
}
.spfn-bump__desc p {
	margin: 0 0 6px;
}
.spfn-bump--style-2 {
	border: 1px solid var(--line);
}
.spfn-bump--style-2 .spfn-bump__head {
	background: #fff8dc;
}
.spfn-bump--style-3 {
	border: 1px solid var(--line);
}
.spfn-bump--style-3 .spfn-bump__head {
	background: transparent;
	border-block-end: 1px solid var(--line);
}
.spfn-bump--style-4 {
	border: 2px solid var(--p);
}
.spfn-bump--style-4 .spfn-bump__head {
	background: var(--p);
	color: #fff;
}
.spfn-bump--style-4 .spfn-bump__cb {
	accent-color: #fff;
}
.spfn-bump--style-5 {
	display: flex;
	flex-direction: column-reverse;
	border: 1px solid var(--line);
	box-shadow: 0 4px 14px rgba(20, 25, 40, .07);
}
.spfn-bump--style-5 .spfn-bump__head {
	background: #1f2430;
	color: #fff;
}
.spfn-bump.is-checked {
	border-style: solid;
}

/* modal (pre-checkout offer, variation popup) */
.spfn-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(15, 18, 28, .62);
	overflow-y: auto;
	color: var(--txt);
	text-align: start;
}
.spfn-modal.is-open {
	display: flex;
}
.spfn-modal[hidden] {
	display: none;
}
body.spfn-modal-open {
	overflow: hidden;
}
.spfn-modal__box {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	max-width: 520px;
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	overflow-y: auto;
	margin: auto;
	padding: 26px 20px 20px;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
}
.spfn-modal__close {
	position: absolute;
	inset-block-start: 6px;
	inset-inline-end: 6px;
	width: 44px;
	height: 44px;
	border: 0;
	background: none;
	color: #6a7180;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}
.spfn-pre__title {
	margin: 0;
	padding-inline-end: 30px;
	font-size: 20px;
	line-height: 1.35;
	color: var(--head);
}
.spfn-pre__subtitle {
	margin: 0;
	font-size: 15px;
}
.spfn-pre__product {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	padding: 14px;
	border: 1px solid var(--line);
	border-radius: 10px;
}
.spfn-pre__product > div {
	flex: 1 1 180px;
	min-width: 0;
}
.spfn-pre__img {
	flex: 0 0 110px;
}
.spfn-pre__img img {
	display: block;
	width: 110px;
	height: auto;
	border-radius: 8px;
}
.spfn-pre__desc {
	font-size: 14px;
}
.spfn-pre__desc p {
	margin: 4px 0;
}
.spfn-pre__price {
	margin-block-start: 6px;
	font-size: 18px;
	font-weight: 700;
	color: var(--head);
}
.spfn-pre .spfn-btn {
	width: 100%;
}
.spfn-pre .spfn-link {
	align-self: center;
}

/* ------------------------------------------------------------- wide container */
@container spfn (min-width: 420px) {
	.spfn-checkout form.spfn-form .form-row.form-row-first,
	.spfn-checkout form.spfn-form .form-row.form-row-last,
	.spfn-checkout form.spfn-form .form-row.spfn-w-50 {
		flex: 0 0 calc(50% - 6px);
		width: calc(50% - 6px);
	}
	.spfn-checkout form.spfn-form .form-row.spfn-w-33 {
		flex: 0 0 calc(50% - 6px);
		width: calc(50% - 6px);
	}
	.spfn-checkout form.spfn-form .form-row.spfn-w-100 {
		flex: 0 0 100%;
		width: 100%;
	}
	.spfn-checkout form.checkout_coupon {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px;
		align-items: start;
	}
	.spfn-checkout form.checkout_coupon[style*="display: none"] {
		display: none;
	}
	.spfn-checkout form.checkout_coupon > p:first-child,
	.spfn-checkout form.checkout_coupon .clear {
		grid-column: 1 / -1;
		margin: 0;
	}
	.spfn-checkout form.checkout_coupon .form-row {
		margin: 0;
	}
	.spfn-checkout form.checkout_coupon button {
		width: auto;
	}
}
@container spfn (min-width: 480px) {
	:where(.spfn-po__text) {
		flex: 1 1 140px;
	}
	:where(.spfn-po__price) {
		flex: 0 0 auto;
	}
}
@container spfn (min-width: 560px) {
	.spfn-checkout form.spfn-form .form-row.spfn-w-33 {
		flex: 0 0 calc(33.333% - 8px);
		width: calc(33.333% - 8px);
	}
}
@container spfn (min-width: 740px) {
	:where(.spfn-checkout.spfn-layout-two-column) .spfn-grid {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: var(--gap) 0;
	}
	:where(.spfn-checkout.spfn-layout-two-column .spfn-grid) > .spfn-main {
		width: 55%;
		padding-inline-end: clamp(20px, 4cqi, 40px);
	}
	:where(.spfn-checkout.spfn-layout-two-column .spfn-grid) > .spfn-side {
		width: 45%;
	}
	.spfn-checkout.spfn-layout-multistep .spfn-grid,
	.spfn-checkout.spfn-layout-modern .spfn-grid,
	.spfn-checkout.spfn-layout-instant .spfn-grid {
		grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr);
		column-gap: clamp(20px, 4cqi, 44px);
	}
	/* .spfn-summary-top is repeated on purpose: it must out-rank the small-screen "summary first" rule,
	   otherwise the summary lands in the (wider) first column on desktop. */
	.spfn-checkout.spfn-is-modern .spfn-side,
	.spfn-checkout.spfn-is-modern.spfn-summary-top .spfn-side {
		order: 0;
		position: sticky;
		inset-block-start: 24px;
	}
	.spfn-checkout.spfn-is-modern.spfn-js .spfn-summary-toggle {
		display: none;
	}
	.spfn-checkout.spfn-is-modern.spfn-js .spfn-summary {
		display: block;
	}
	.spfn-checkout.spfn-layout-instant .spfn-side {
		padding: 24px;
	}
	.spfn-checkout.spfn-layout-one-column > .woocommerce,
	.spfn-checkout.spfn-layout-two-step > .woocommerce,
	.spfn-checkout.spfn-layout-modern-one-column > .woocommerce,
	.spfn-checkout.spfn-type-optin > .woocommerce {
		max-width: var(--spfn-one-col-width, 720px);
		margin-inline: auto;
	}
	.spfn-checkout.spfn-type-optin > .woocommerce {
		max-width: var(--spfn-one-col-width, 520px);
	}
}
/* Browsers without container queries: same breakpoints against the viewport. */
@supports not (container-type: inline-size) {
	@media (min-width: 480px) {
		.spfn-checkout form.spfn-form .form-row.form-row-first,
		.spfn-checkout form.spfn-form .form-row.form-row-last,
		.spfn-checkout form.spfn-form .form-row.spfn-w-50,
		.spfn-checkout form.spfn-form .form-row.spfn-w-33 {
			flex: 0 0 calc(50% - 6px);
			width: calc(50% - 6px);
		}
	}
	@media (min-width: 992px) {
		:where(.spfn-checkout.spfn-layout-two-column) .spfn-grid {
			display: flex;
			flex-wrap: wrap;
			align-items: flex-start;
			gap: var(--gap) 0;
		}
		:where(.spfn-checkout.spfn-layout-two-column .spfn-grid) > .spfn-main {
			width: 55%;
			padding-inline-end: 32px;
		}
		:where(.spfn-checkout.spfn-layout-two-column .spfn-grid) > .spfn-side {
			width: 45%;
		}
		.spfn-checkout.spfn-layout-multistep .spfn-grid,
		.spfn-checkout.spfn-layout-modern .spfn-grid,
		.spfn-checkout.spfn-layout-instant .spfn-grid {
			grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr);
			column-gap: 36px;
		}
		.spfn-checkout.spfn-is-modern .spfn-side,
		.spfn-checkout.spfn-is-modern.spfn-summary-top .spfn-side {
			order: 0;
		}
		.spfn-checkout.spfn-is-modern.spfn-js .spfn-summary-toggle {
			display: none;
		}
		.spfn-checkout.spfn-is-modern.spfn-js .spfn-summary {
			display: block;
		}
	}
}

/* -------------------------------------------------------------- thank you */
.spfn-order-details {
	container-type: inline-size;
	container-name: spfnod;
	width: 100%;
	max-width: 100%;
	color: var(--txt);
	line-height: 1.55;
	overflow-wrap: anywhere;
	text-align: start;
}
.spfn-order-details .woocommerce-thankyou-order-received {
	margin: 0 0 18px;
	font-size: 17px;
	font-weight: 600;
	color: var(--head);
}
.spfn-order-details ul.woocommerce-order-overview {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	border: 1px solid var(--line);
	border-radius: var(--rad);
}
.spfn-order-details ul.woocommerce-order-overview::before,
.spfn-order-details ul.woocommerce-order-overview::after {
	display: none;
}
.spfn-order-details ul.woocommerce-order-overview li {
	float: none;
	width: auto;
	margin: 0;
	padding: 12px 16px;
	border: 0;
	border-block-end: 1px solid var(--line);
	font-size: 13px;
	line-height: 1.5;
	text-transform: none;
	list-style: none;
}
.spfn-order-details ul.woocommerce-order-overview li:last-child {
	border-block-end: 0;
}
.spfn-order-details ul.woocommerce-order-overview li strong {
	display: block;
	font-size: 16px;
	color: var(--head);
	text-transform: none;
}
.spfn-order-details h2 {
	margin: 0 0 12px;
	font-size: 20px;
	line-height: 1.35;
	color: var(--head);
}
.spfn-order-details table.shop_table {
	width: 100%;
	max-width: 100%;
	margin: 0 0 24px;
	border: 1px solid var(--line);
	border-radius: var(--rad);
	border-collapse: separate;
	border-spacing: 0;
	font-size: 15px;
}
.spfn-order-details table.shop_table th,
.spfn-order-details table.shop_table td {
	padding: 11px 12px;
	border: 0;
	border-block-start: 1px solid var(--line);
	text-align: start;
	vertical-align: top;
	overflow-wrap: anywhere;
}
.spfn-order-details table.shop_table thead th {
	border-block-start: 0;
}
.spfn-order-details table.shop_table td:last-child,
.spfn-order-details table.shop_table th:last-child {
	text-align: end;
}
.spfn-order-details .woocommerce-customer-details .col2-set,
.spfn-order-details .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 18px;
	width: 100%;
}
.spfn-order-details .woocommerce-columns--addresses::before,
.spfn-order-details .woocommerce-columns--addresses::after {
	display: none;
}
.spfn-order-details .woocommerce-column,
.spfn-order-details .col2-set .col-1,
.spfn-order-details .col2-set .col-2 {
	float: none;
	width: 100%;
	max-width: 100%;
	margin: 0;
}
.spfn-order-details address {
	padding: 14px 16px;
	border: 1px solid var(--line);
	border-radius: var(--rad);
	font-style: normal;
	line-height: 1.6;
}
.spfn-order-details.spfn-hide-overview .woocommerce-order-overview,
.spfn-order-details.spfn-hide-details .woocommerce-order-details,
.spfn-order-details.spfn-hide-downloads .woocommerce-order-downloads,
.spfn-order-details.spfn-hide-billing .woocommerce-column--billing-address,
.spfn-order-details.spfn-hide-shipping .woocommerce-column--shipping-address,
.spfn-order-details.spfn-hide-billing.spfn-hide-shipping .woocommerce-customer-details {
	display: none;
}
@container spfnod (min-width: 420px) {
	.spfn-order-details ul.woocommerce-order-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.spfn-order-details ul.woocommerce-order-overview li:nth-child(odd) {
		border-inline-end: 1px solid var(--line);
	}
}
@container spfnod (min-width: 640px) {
	.spfn-order-details ul.woocommerce-order-overview {
		grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	}
	.spfn-order-details ul.woocommerce-order-overview li {
		border-block-end: 0;
		border-inline-end: 1px solid var(--line);
	}
	.spfn-order-details ul.woocommerce-order-overview li:last-child {
		border-inline-end: 0;
	}
	.spfn-order-details .woocommerce-customer-details .col2-set,
	.spfn-order-details .woocommerce-columns--addresses {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ------------------------------------------------------------------ offers */
.spfn-offer-title {
	margin: 0 0 8px;
	line-height: 1.3;
	overflow-wrap: anywhere;
}
.spfn-offer-price {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
}
.spfn-offer-description {
	line-height: 1.6;
	overflow-wrap: anywhere;
}
.spfn-offer-image img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: var(--spfn-image-radius, 10px);
}
.spfn-offer-variation-wrap .spfn-offer-variation {
	width: 100%;
}
.spfn-offer-box {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	max-width: 960px;
	margin-inline: auto;
	padding: 16px;
}
.spfn-offer-box__body {
	display: grid;
	gap: 12px;
	align-content: start;
	min-width: 0;
}
.spfn-offer-box__actions {
	display: grid;
	gap: 6px;
	justify-items: stretch;
	text-align: center;
}
@media (min-width: 700px) {
	.spfn-offer-box {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 32px;
		padding: 32px 16px;
	}
}
.spfn-offer-overlay {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(255, 255, 255, .9);
}
.spfn-offer-overlay__box {
	max-width: 420px;
	text-align: center;
	font-size: 17px;
	font-weight: 600;
	color: #1f2430;
}
.spfn-spinner {
	display: inline-block;
	width: 36px;
	height: 36px;
	border: 3px solid #d9dce3;
	border-block-start-color: var(--spfn-primary, #f16334);
	border-radius: 50%;
	animation: spfn-spin .8s linear infinite;
}
.spfn-offer-overlay.is-done .spfn-spinner {
	display: none;
}
@keyframes spfn-spin {
	to {
		transform: rotate(360deg);
	}
}

/* ------------------------------------------------------------------ extras */
.spfn-sticky-bar {
	position: fixed;
	inset-inline: 0;
	inset-block-end: 0;
	z-index: 9990;
	padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
	background: rgba(255, 255, 255, .97);
	box-shadow: 0 -4px 18px rgba(15, 18, 28, .12);
	transition: transform .2s;
}
.spfn-sticky-bar[hidden],
.spfn-sticky-bar.is-hidden {
	transform: translateY(110%);
	display: block;
	visibility: hidden;
}
.spfn-sticky-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 640px;
	min-height: 50px;
	margin-inline: auto;
	padding: 10px 18px;
	border-radius: var(--rad);
	background: var(--p);
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
}
.spfn-sticky-btn:hover {
	color: #fff;
	filter: brightness(.94);
}
@media (min-width: 768px) {
	.spfn-sticky-bar--mobile {
		display: none !important;
	}
}
@media (max-width: 767px) {
	body.spfn-has-sticky {
		padding-block-end: 74px;
	}
}
.spfn-countdown {
	text-align: center;
	max-width: 100%;
}
.spfn-countdown__label {
	margin-block-end: 8px;
	font-weight: 600;
}
.spfn-countdown__boxes {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}
.spfn-countdown__box {
	display: grid;
	place-items: center;
	min-width: 62px;
	padding: 8px 6px;
	border-radius: var(--spfn-cd-radius, 8px);
	background: var(--spfn-cd-bg, #1f2430);
	color: var(--spfn-cd-color, #fff);
}
.spfn-countdown__box b {
	font-size: var(--spfn-cd-size, 26px);
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}
.spfn-countdown__box small {
	font-size: 11px;
	opacity: .85;
}
.spfn-trust {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.spfn-trust__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 12px 8px;
	border: 1px solid var(--line);
	border-radius: var(--rad);
	background: var(--spfn-trust-bg, #fff);
	color: var(--spfn-trust-color, var(--head));
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}
.spfn-trust__item svg {
	color: var(--spfn-trust-icon, var(--p));
	flex: 0 0 auto;
}
.spfn-btn.spfn-whatsapp {
	flex-direction: row;
	gap: 8px;
	background: var(--spfn-btn-bg, #25d366);
}

.spfn-align-justify .spfn-btn {
	display: flex;
	width: 100%;
}
@media (max-width: 1024px) {
	.spfn-align-tablet-justify .spfn-btn {
		display: flex;
		width: 100%;
	}
}
@media (max-width: 767px) {
	.spfn-align-mobile-justify .spfn-btn {
		display: flex;
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.spfn-checkout *,
	.spfn-sticky-bar,
	.spfn-spinner {
		transition: none !important;
		animation-duration: 0s !important;
	}
}

/* ======================================================================= v3 */

.spfn-keys,
.spfn-checkout [hidden] {
	display: none !important;
}
/* nothing to ship (virtual / digital products): no empty gap where the delivery options would be */
.spfn-customer-shipping:has(> .spfn-ship:empty) {
	display: none;
}

/* ---------------------------------------------- variation picker (swatches) */
.spfn-vp {
	--sw-b: var(--spfn-sw-border, var(--line, #d9dce3));
	--sw-a: var(--spfn-sw-active, var(--p, var(--spfn-primary, #f16334)));
	--sw-s: var(--spfn-sw-size, 34px);
	display: grid;
	gap: 12px;
	min-width: 0;
	max-width: 100%;
	margin: 10px 0 0;
	text-align: start;
	box-sizing: border-box;
}
.spfn-vp *,
.spfn-vp *::before,
.spfn-vp *::after {
	box-sizing: border-box;
}
.spfn-vp--compact {
	gap: 10px;
	margin-block-start: 8px;
}
.spfn-vp__attr {
	display: grid;
	gap: 6px;
	min-width: 0;
}
.spfn-vp__label {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	color: #6a7180;
}
.spfn-vp__chosen {
	font-weight: 700;
	color: var(--head, #1f2430);
}
.spfn-vp__opts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	min-width: 0;
}
.spfn-vp .spfn-sw {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 1 auto;
	min-width: 44px;
	max-width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 6px 14px;
	border: 1.5px solid var(--sw-b);
	border-radius: var(--spfn-sw-radius, 8px);
	background: var(--spfn-sw-bg, #fff);
	color: var(--spfn-sw-color, #1f2430);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0;
	text-align: center;
	text-transform: none;
	text-decoration: none;
	white-space: normal;
	overflow-wrap: anywhere;
	box-shadow: none;
	cursor: pointer;
	transition: border-color .15s, box-shadow .15s, background-color .15s;
	-webkit-tap-highlight-color: transparent;
}
.spfn-vp .spfn-sw:hover,
.spfn-vp .spfn-sw:focus {
	border-color: var(--sw-a);
	background: var(--spfn-sw-bg, #fff);
	color: var(--spfn-sw-color, #1f2430);
	outline: 0;
}
.spfn-vp .spfn-sw:focus-visible {
	box-shadow: 0 0 0 3px rgba(31, 36, 48, .18);
}
.spfn-vp .spfn-sw.is-active,
.spfn-vp .spfn-sw.is-active:hover,
.spfn-vp .spfn-sw.is-active:focus {
	border-color: var(--sw-a);
	box-shadow: 0 0 0 1px var(--sw-a);
	background: #fff8f5;
	background: color-mix(in srgb, var(--sw-a) 8%, var(--spfn-sw-bg, #fff));
	color: var(--spfn-sw-color, #1f2430);
}
.spfn-vp .spfn-sw.is-unavailable {
	border-style: dashed;
	opacity: .5;
}
.spfn-vp .spfn-sw--color,
.spfn-vp .spfn-sw--image {
	padding: 3px;
	min-width: 44px;
	border-radius: var(--spfn-sw-radius, 999px);
}
.spfn-vp .spfn-sw--image {
	border-radius: var(--spfn-sw-radius, 8px);
}
.spfn-sw__c {
	display: block;
	width: var(--sw-s);
	height: var(--sw-s);
	border-radius: inherit;
	border: 1px solid rgba(0, 0, 0, .12);
}
.spfn-sw__i {
	display: block;
	width: var(--sw-s);
	height: var(--sw-s);
	object-fit: cover;
	border-radius: calc(var(--spfn-sw-radius, 8px) - 3px);
}
.spfn-sw__sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.spfn-vp .spfn-vp__select {
	width: 100%;
	max-width: 100%;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid var(--sw-b);
	border-radius: 6px;
	background-color: #fff;
	color: #1f2430;
	font-family: inherit;
	font-size: 16px;
}
.spfn-chip {
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-inline-end: 5px;
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: 50%;
	vertical-align: -2px;
	object-fit: cover;
}
/* a product row that carries a picker: the picker gets the full row width */
.spfn-po__item--picker .spfn-po__text {
	flex: 1 1 100%;
}
.spfn-po__picker {
	min-width: 0;
	cursor: default;
}
.spfn-po__save {
	margin-block-start: 2px;
	font-size: 12px;
	font-weight: 600;
	color: #1a8a4a;
	white-space: normal;
}
.spfn-po__save .amount {
	white-space: nowrap;
}
.spfn-var-popup {
	display: block;
}
.spfn-po .spfn-var-popup__open {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 40px;
	margin: 6px 0 0;
	padding: 6px 12px;
	border: 1px solid var(--line, #d9dce3);
	border-radius: 6px;
	background: #fff;
	color: #1f2430;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
	cursor: pointer;
}
.spfn-po .spfn-var-popup__open:hover,
.spfn-po .spfn-var-popup__open:focus {
	border-color: var(--p, #f16334);
	background: #fff;
	color: #1f2430;
}
.spfn-var-popup__cur {
	font-weight: 700;
}
.spfn-modal__title {
	padding-inline-end: 34px;
	font-size: 18px;
	line-height: 1.35;
	color: var(--head, #1f2430);
}
.spfn-modal .spfn-vp {
	margin-block-start: 0;
}
.spfn-modal .spfn-modal__close,
.spfn-modal .spfn-modal__close:hover,
.spfn-modal .spfn-modal__close:focus {
	padding: 0;
	border: 0;
	background: none;
	color: #6a7180;
	box-shadow: none;
}
.spfn-pre .spfn-vp {
	margin-block-start: 10px;
}
.spfn-offer-variation-wrap--swatches {
	max-width: 100%;
}
.spfn-offer-variation-wrap--swatches .spfn-vp {
	margin: 0;
}

/* ------------------------------------------------------- order bump extras */
.spfn-bump--img-right .spfn-bump__body {
	flex-direction: row-reverse;
}
.spfn-bump--img-top .spfn-bump__body {
	flex-direction: column;
}
.spfn-bump--img-top .spfn-bump__img {
	flex: 0 0 auto;
}
.spfn-bump--img-top .spfn-bump__img img {
	width: 100%;
	max-width: 260px;
	height: auto;
	aspect-ratio: 4 / 3;
}
.spfn-bump__choices {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px 16px;
	margin-block-start: 10px;
}
.spfn-bump__choices .spfn-vp {
	flex: 1 1 200px;
	margin: 0;
}
.spfn-bump__qty {
	flex: 0 0 auto;
}
.spfn-bump__arrow {
	flex: 0 0 auto;
	width: 22px;
	height: 16px;
	background: #d92d20;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 16'%3E%3Cpath d='M0 5h12V0l10 8-10 8v-5H0z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 16'%3E%3Cpath d='M0 5h12V0l10 8-10 8v-5H0z'/%3E%3C/svg%3E") center/contain no-repeat;
}
[dir="rtl"] .spfn-bump__arrow {
	transform: scaleX(-1);
}
.spfn-bump__arrow.is-animated {
	animation: spfn-nudge 1s ease-in-out infinite;
}
.spfn-bump--style-4 .spfn-bump__arrow,
.spfn-bump--style-5 .spfn-bump__arrow {
	background: #ffd84d;
}
@keyframes spfn-nudge {
	0%,
	100% {
		translate: 0 0;
	}
	50% {
		translate: 5px 0;
	}
}
[dir="rtl"] .spfn-bump__arrow.is-animated {
	animation-name: spfn-nudge-rtl;
}
@keyframes spfn-nudge-rtl {
	0%,
	100% {
		translate: 0 0;
	}
	50% {
		translate: -5px 0;
	}
}
@container spfn (max-width: 479.98px) {
	.spfn-bump--m-stack .spfn-bump__body {
		flex-direction: column;
	}
	.spfn-bump--m-stack .spfn-bump__img {
		flex: 0 0 auto;
	}
	.spfn-bump--m-no-image .spfn-bump__img {
		display: none;
	}
}
@supports not (container-type: inline-size) {
	@media (max-width: 479.98px) {
		.spfn-bump--m-stack .spfn-bump__body {
			flex-direction: column;
		}
		.spfn-bump--m-no-image .spfn-bump__img {
			display: none;
		}
	}
}

/* ------------------------------------- collapsible coupon (order summary) */
.spfn-coupon {
	margin: 0 0 16px;
}
.spfn-coupon .spfn-coupon__toggle {
	min-height: 44px;
	padding-inline: 0;
}
.spfn-coupon.is-collapsed .spfn-coupon__row {
	display: none;
}
.spfn-coupon__row {
	display: flex;
	align-items: stretch;
	gap: 8px;
	margin-block-start: 4px;
}
.spfn-coupon__field {
	flex: 1 1 0;
	min-width: 0;
}
.spfn-coupon__action {
	flex: 0 0 auto;
}
.spfn-checkout .spfn-coupon .spfn-coupon__apply,
.spfn-checkout .spfn-login-prompt .spfn-login-prompt__btn {
	min-height: var(--in-h, 48px);
	height: 100%;
	margin: 0;
	padding: 10px 18px;
	border: 1px solid var(--p, #f16334);
	border-radius: var(--spfn-input-radius, var(--rad, 8px));
	background: #fff;
	color: var(--p, #f16334);
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: none;
	letter-spacing: 0;
	white-space: nowrap;
	box-shadow: none;
	cursor: pointer;
}
.spfn-checkout .spfn-coupon .spfn-coupon__apply:hover,
.spfn-checkout .spfn-coupon .spfn-coupon__apply:focus,
.spfn-checkout .spfn-login-prompt .spfn-login-prompt__btn:hover,
.spfn-checkout .spfn-login-prompt .spfn-login-prompt__btn:focus {
	background: var(--p, #f16334);
	color: #fff;
}
.spfn-coupon__msg,
.spfn-login-prompt__msg {
	margin-block-start: 6px;
	font-size: 13px;
	line-height: 1.45;
	color: #1a8a4a;
}
.spfn-coupon__msg:empty,
.spfn-login-prompt__msg:empty {
	display: none;
}
.spfn-coupon__msg.is-error,
.spfn-login-prompt__msg.is-error {
	color: #d92d20;
}

/* --------------------------------------- "account exists, log in" prompt */
.spfn-login-prompt {
	flex: 0 0 100%;
	width: 100%;
	margin: -4px 0 14px;
	padding: 12px 14px;
	border: 1px solid var(--line, #d9dce3);
	border-radius: var(--rad, 8px);
	background: var(--p-soft, #fff3ee);
}
.spfn-login-prompt__text {
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.45;
}
.spfn-login-prompt__row {
	display: flex;
	align-items: stretch;
	gap: 8px;
}
.spfn-login-prompt__row .input-text {
	flex: 1 1 0;
	min-width: 0;
}

/* ------------------------------------------------------- the legacy funnel plugin strict DOM */
@container spfn (min-width: 740px) {
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column form.spfn-form--cf-strict::after {
		content: "";
		display: table;
		clear: both;
	}
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-grid,
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-main,
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-side,
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-summary,
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-slot {
		display: contents;
	}
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column #customer_details,
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-po--before-customer,
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-po--after-customer,
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-bumps[data-pos="before-checkout"],
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-bumps[data-pos="after-customer"] {
		float: left;
		clear: left;
		width: 55%;
		padding-inline-end: clamp(20px, 4cqi, 40px);
	}
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column #order_review_heading,
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column #order_review,
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-po--before-order,
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-po--after-order,
	.spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-bumps[data-pos="after-order"] {
		float: right;
		clear: right;
		width: 45%;
	}
	[dir="rtl"] .spfn-checkout.spfn-cf-strict.spfn-layout-two-column #customer_details,
	[dir="rtl"] .spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-po--before-customer,
	[dir="rtl"] .spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-po--after-customer,
	[dir="rtl"] .spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-bumps[data-pos="before-checkout"],
	[dir="rtl"] .spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-bumps[data-pos="after-customer"] {
		float: right;
		clear: right;
	}
	[dir="rtl"] .spfn-checkout.spfn-cf-strict.spfn-layout-two-column #order_review_heading,
	[dir="rtl"] .spfn-checkout.spfn-cf-strict.spfn-layout-two-column #order_review,
	[dir="rtl"] .spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-po--before-order,
	[dir="rtl"] .spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-po--after-order,
	[dir="rtl"] .spfn-checkout.spfn-cf-strict.spfn-layout-two-column .spfn-bumps[data-pos="after-order"] {
		float: left;
		clear: left;
	}
}

/* ------------------------------------------- Instant Checkout page template */
body.spfn-template-instant {
	margin: 0;
	background: #fff;
}
.spfn-instant {
	--ih: var(--spfn-instant-header, #fff);
	--is: var(--spfn-instant-side, #f6f7f9);
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
	width: 100%;
	max-width: 100%;
	overflow-x: clip;
	color: var(--spfn-text, #404040);
}
.spfn-instant *,
.spfn-instant *::before,
.spfn-instant *::after {
	box-sizing: border-box;
}
.spfn-instant__header {
	background: var(--ih);
	border-block-end: 1px solid #e6e8ee;
}
.spfn-instant__header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	max-width: 1180px;
	margin-inline: auto;
	padding: 14px 16px;
}
.spfn-instant__logo {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	max-width: 100%;
	color: inherit;
	text-decoration: none;
}
.spfn-instant__logo-img {
	display: block;
	width: auto;
	max-width: min(100%, 320px);
	height: var(--spfn-instant-logo-h, 40px);
	object-fit: contain;
}
.spfn-instant__logo-text {
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
	color: var(--spfn-heading, #1f2430);
	overflow-wrap: anywhere;
}
.spfn-instant__body {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
}
.spfn-instant__body > .spfn-checkout,
.spfn-instant__body > .spfn-checkout-outer,
.spfn-instant__body > .spfn-admin-note {
	max-width: 1180px;
	margin-inline: auto;
	padding: 20px 16px 40px;
}
.spfn-instant__body > .spfn-admin-note {
	margin-block: 16px;
	padding: 14px 16px;
}
@media (min-width: 992px) {
	/* two full-height panes: the form on white, the summary on its own background up to the screen edge */
	.spfn-instant__body {
		background: linear-gradient(to right, #fff 0, #fff calc(50% + 60px), var(--is) calc(50% + 60px), var(--is) 100%);
	}
	[dir="rtl"] .spfn-instant__body {
		background: linear-gradient(to left, #fff 0, #fff calc(50% + 60px), var(--is) calc(50% + 60px), var(--is) 100%);
	}
	.spfn-instant__body > .spfn-checkout,
	.spfn-instant__body > .spfn-checkout-outer {
		padding-block: 0;
	}
	body.spfn-template-instant .spfn-checkout.spfn-layout-instant .spfn-grid {
		grid-template-columns: calc(50% + 60px - 28px) minmax(0, 1fr);
		column-gap: 56px;
	}
	body.spfn-template-instant .spfn-checkout.spfn-layout-instant .spfn-main {
		padding-block: 36px 56px;
	}
	body.spfn-template-instant .spfn-checkout.spfn-layout-instant .spfn-side {
		padding: 36px 0 56px;
		border-radius: 0;
		background: none;
		inset-block-start: 0;
	}
}

/* ------------------------------------------------------------ offer extras */
.spfn-offer-expiry {
	position: fixed;
	inset-inline: 0;
	inset-block-start: var(--wp-admin--admin-bar--height, 0px);
	z-index: 9989;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 4px 10px;
	min-height: 40px;
	padding: 8px 14px;
	background: #b91c1c;
	color: #fff;
	font: 600 15px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif;
	text-align: center;
}
.spfn-offer-expiry[hidden] {
	display: none;
}
.spfn-offer-expiry__time {
	font-variant-numeric: tabular-nums;
	font-size: 17px;
}
body.spfn-has-expiry {
	padding-block-start: 40px;
}
.spfn-offer-quantity .spfn-qty {
	vertical-align: middle;
}
.spfn-offer-bundle {
	--line: var(--spfn-border, #d9dce3);
	--rad: var(--spfn-radius, 10px);
	max-width: 100%;
	border: 1px solid var(--line);
	border-radius: var(--rad);
	overflow: hidden;
	text-align: start;
}
.spfn-offer-bundle__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.spfn-offer-bundle__item {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	margin: 0;
	padding: 10px 14px;
	border-block-end: 1px solid var(--line);
	list-style: none;
}
.spfn-offer-bundle__img {
	flex: 0 0 52px;
}
.spfn-offer-bundle__img img {
	display: block;
	width: 52px;
	height: 52px;
	object-fit: cover;
	border-radius: 6px;
}
.spfn-offer-bundle__name {
	flex: 1 1 0;
	min-width: 0;
	font-weight: 600;
	line-height: 1.4;
	overflow-wrap: anywhere;
}
.spfn-offer-bundle__price {
	flex: 0 0 auto;
	font-weight: 700;
	text-align: end;
}
.spfn-offer-bundle__price del,
.spfn-offer-bundle__total del {
	opacity: .55;
	font-weight: 400;
	margin-inline-end: 4px;
}
.spfn-offer-bundle__price ins,
.spfn-offer-bundle__total ins {
	text-decoration: none;
	background: none;
}
.spfn-offer-bundle__total {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 12px;
	padding: 12px 14px;
	background: #f6f7f9;
	font-size: 17px;
}

/* --------------------------------------------- block editor style helpers */
.spfn-blk {
	box-sizing: border-box;
	max-width: 100%;
}
.spfn-bs-outline .spfn-btn,
.spfn-bs-outline.spfn-blk .spfn-checkout #place_order {
	border: 2px solid var(--spfn-btn-bg, var(--spfn-primary, #f16334));
	background: transparent;
	color: var(--spfn-btn-bg, var(--spfn-primary, #f16334));
}
.spfn-bs-outline .spfn-btn:hover,
.spfn-bs-outline.spfn-blk .spfn-checkout #place_order:hover {
	background: var(--spfn-btn-bg, var(--spfn-primary, #f16334));
	color: var(--spfn-btn-color, #fff);
	filter: none;
}
.spfn-bs-pill .spfn-btn,
.spfn-bs-pill.spfn-blk .spfn-checkout #place_order {
	border-radius: 999px;
}
.spfn-bs-block .spfn-btn {
	display: flex;
	width: 100%;
}

/* v3.78.2: an element with container-type:inline-size has zero intrinsic width, so inside an Elementor
   "column + wrap" flex container the widget's height was computed at min-content width (huge blank gap
   under the form on phones). A definite width on the flex item fixes it. */
.elementor-widget-spfn-checkout-form,
.elementor-widget-spfn-optin-form,
.elementor-widget-spfn-order-details { width: 100%; max-width: 100%; }
.wp-block-nexora-funnel-checkout-form,
.wp-block-nexora-funnel-optin-form,
.wp-block-nexora-funnel-order-details { width: 100%; max-width: 100%; }
.e-con > .elementor-widget-spfn-checkout-form,
.e-con-inner > .elementor-widget-spfn-checkout-form { flex: 0 0 100%; }

/* v3.80.1: a step built with a page builder controls its own section widths, so the boxed template
   must not squeeze it into a narrower column than the theme header (sections stay aligned with it). */
.spfn-boxed-inner:has(> .elementor),
.spfn-boxed-inner:has(> [data-elementor-type]) { max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; width: 100%; }
