/*--------------------------------------------------------------
# Loader
---------------------------------------------------------------*/

.wcf-loader-bg.show {
	display: block;
}
.wcf-loader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	overflow: hidden;
	background: rgba( 0, 0, 0, 0.5 );
	z-index: 99999;
	animation: popup 0.7s;
}
.wcf-loader-wrap {
	width: 100%;
	max-width: 500px;
	height: auto;
	min-height: 140px;
	top: 50%;
	left: 50%;
	position: relative;
	transform: translate( -50%, -50% );
	overflow: hidden;
	background: #fff;
	border-radius: 3px;
	padding: 50px;
}
.wcf-order-msg {
	text-align: center;
}
.wcf-order-msg .wcf-payment-success {
	color: #28a745;
}
.wcf-order-msg .wcf-payment-failed {
	color: #dc3545;
}
.wcf-order-msg p {
	margin: 0 0 0.7em;
}
.wcf-order-msg .wcf-note {
	font-size: 13px;
}
.wcf-order-msg .wcf-note-no {
	display: none;
}
p.wcf-process-msg {
	font-size: 1.2em;
}

.wcf-loader,
.wcf-loader::after {
	border-radius: 50%;
	width: 8em;
	height: 8em;
}
.wcf-loader {
	margin: 25px auto;
	font-size: 10px;
	position: relative;
	text-indent: -9999em;
	border-top: 5px solid #d4d4d4;
	border-right: 5px solid #d4d4d4;
	border-bottom: 5px solid #d4d4d4;
	border-left: 5px solid #f16334;
	transform: translateZ( 0 );
	animation: load8 550ms infinite linear;
}

/*
* *********************************************************
* Thank you extended css
* *********************************************************
*/
.wcf-offer-child-order ul.order_details {
	padding: 0;
}

/*
* *********************************************************
* Upsell/Downsell shortcodes
* *********************************************************
*/
/* Product Images */
.woocommerce-product-gallery .slides {
	position: relative;
	white-space: nowrap;
	overflow: hidden;
}
.woocommerce-product-gallery .woocommerce-product-gallery__image {
	width: 100%;
	display: inline-block;
}

.woocommerce-product-gallery .flex-direction-nav a {
	height: 60px;
}
.woocommerce-product-gallery .flex-direction-nav .flex-prev,
.woocommerce-product-gallery .flex-direction-nav .flex-next {
	display: inline-block;
	font-family: dashicons;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.woocommerce-product-gallery .flex-direction-nav .flex-prev::before {
	content: "\f341";
}

.woocommerce-product-gallery .flex-direction-nav .flex-next::before {
	content: "\f345";
}

.woocommerce-product-gallery .flex-direction-nav .flex-prev {
	left: -50px;
}

.woocommerce-product-gallery .flex-direction-nav .flex-next {
	right: -50px;
	text-align: right;
}

.woocommerce-product-gallery:hover .flex-direction-nav .flex-prev {
	opacity: 0.7;
	left: 10px;
}

.woocommerce-product-gallery:hover .flex-direction-nav .flex-next {
	opacity: 0.7;
	right: 10px;
}

/* Price shortcode */
.wcf-offer-price {
	font-size: 22px;
}

.wcf-offer-price .del {
	padding-right: 6px;
	text-decoration: line-through;
	opacity: 0.5;
}

.wcf-offer-shipping-fee {
	display: block;
	font-size: 15px;
}
/*
* *********************************************************
* CSS for the select options on the Upsell & Downsell page
* *********************************************************
*/
.wcf-embeded-product-variation-wrap .variations_form .variations {
	margin: 0;
}

.wcf-embeded-product-variation-wrap .variations_form .variations td.label,
.wcf-embeded-product-quantity-wrap .quantity label.screen-reader-text {
	font-weight: 600;
	font-family: inherit;
	margin-top: 10px;
}

.wcf-embeded-product-variation-wrap .variations_form .variations td.label,
.wcf-embeded-product-variation-wrap .variations_form .variations td.value {
	padding: 0 0 5px 0;
	vertical-align: middle;
}

.wcf-embeded-product-quantity-wrap .quantity input[type="number"],
.wcf-embeded-product-variation-wrap .variations_form .variations select {
	background-color: #fff;
	background-image: none;
	border: 1px solid;
	border-color: #d4d4d4;
	border-radius: 0;
	box-shadow: inset 0 -1em 0.7em 0 rgba( 0, 0, 0, 0.01 );
	color: #a5a5a5;
	display: inline-block;
	font-family: inherit;
	font-weight: inherit;
	font-size: 14px;
	height: auto;
	line-height: 1.42857143 !important;
	min-height: 34px;
	outline: none;
	padding: 10px 15px;
	max-width: 100%;
	/*min-width: 85%;*/
	width: 100%;
	margin-right: 0;
	-webkit-appearance: none;
}

.wcf-embeded-product-variation-wrap .variations_form .variations select:focus,
.wcf-embeded-product-quantity-wrap .quantity input[type="number"]:focus {
	background: #fff;
	transition: 0.2s;
}

.wcf-embeded-product-variation-wrap .variations_form .single_variation_wrap {
	float: left;
	margin-right: 40px;
	vertical-align: middle;
}

.wcf-embeded-product-variation-wrap .variations_form .single_variation_wrap .single_variation {
	overflow: hidden;
}

.wcf-embeded-product-variation-wrap .single_variation_wrap .single_variation .woocommerce-variation-description {
	display: none;
}

.wcf-embeded-product-variation-wrap .variations_form .variations .reset_variations {
	text-decoration: none;
	font-family: inherit;
	font-weight: 500;
	font-size: 10px;
	float: right;
	margin-top: 10px;
	color: #a00a00;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	display: none;
}
.wcf-embeded-product-variation-wrap .variations_form .variations .reset_variations::before {
	content: "\274C";
	font-size: 8px;
	margin-right: 5px;
}

.wcf-embeded-product-variation-wrap .variations_form .price,
.wcf-embeded-product-variation-wrap .variations_form .single_variation_wrap .woocommerce-variation-price {
	margin: 0;
	font-family: inherit;
	font-weight: 400;
	overflow: hidden;
	min-height: 35px;
	vertical-align: middle;
	line-height: 2.12;
}

.wcf-embeded-product-variation-wrap .variations .var_not_selected {
	border: 1px solid #e2401c !important;
}

.cartflows-container .single_variation_wrap .woocommerce-variation {
	display: none !important;
}

.wcf-embeded-product-variation-wrap table,
.wcf-embeded-product-quantity-wrap .quantity input[type="number"] {
	max-width: 250px;
	max-width: 200px;
}

.wcf-embeded-product-variation-wrap table,
.wcf-embeded-product-variation-wrap table tbody,
.wcf-embeded-product-variation-wrap table tbody tr,
.wcf-embeded-product-variation-wrap table tbody tr td,
.wcf-embeded-product-variation-wrap table tbody tr td,
.wcf-embeded-product-variation-wrap table tfoot,
.wcf-embeded-product-variation-wrap table tfoot tr,
.wcf-embeded-product-variation-wrap table tfoot tr td,
.wcf-embeded-product-variation-wrap table tfoot tr td {
	width: 100%;
	display: block !important;
}

.wcf-embeded-product-quantity-wrap .quantity {
	display: block;
}

.wcf-embeded-product-quantity-wrap .quantity .screen-reader-text {
	clip-path: none;
	display: inline-block;
	visibility: visible;
	opacity: 1;
	position: relative !important;
	top: 0;
	color: #404040;
	font-size: 15px;
	min-height: 34px;
	min-height: 22px;
	width: 100%;
	padding-top: 0;
}

.wcf-embeded-product-quantity-wrap .quantity label {
	padding: 5px 0;
	width: 100%;
}

.editor-sidebar__panel .wcf-license-restriction-box {
	font-style: normal;
	color: #1e1e1e;
}

.wcf-license-restriction-box {
	padding: 0;
	text-align: center;
}

.wcf-license-restriction-box-icon {
	width: 100px;
}

.wcf-license-restriction-box .wcf-license-restriction-box-title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	margin: 20px 0 0 0;
}

.wcf-license-restriction-box .wcf-license-restriction-box-message {
	font-size: 11px;
	line-height: 1.8;
	margin: 5px 0 0 0;
}

.wcf-license-restriction-box .wcf-license-restriction-button {
	display: inline-block;
	margin: 20px 0 0 0;
	border: 1px dotted transparent;
	font-weight: 500;
	text-decoration: none;
	cursor: pointer;
	background-color: #f16334;
	padding: 8px 16px;
	color: #fff;
}

.woocommerce-order:not( .wcf-modern-tq-layout ) .woocommerce-order-details.wcf-offer-child-order ul.order_details {
	padding: 0 !important;
}

.wcf-thankyou-wrap .woocommerce-order.wcf-modern-tq-layout .woocommerce-order-details.wcf-offer-child-order .woocommerce-table tr * {
	padding-bottom: 10px;
}

.wcf-thankyou-wrap .woocommerce-order.wcf-modern-tq-layout .woocommerce-order-details.wcf-offer-child-order .woocommerce-table .woocommerce-table__line-item td {
	padding-bottom: 10px !important;
}

@media ( min-width: 769px ) {
	.wcf-embeded-product-variation-wrap table,
	.wcf-embeded-product-quantity-wrap .quantity input[type="number"] {
		max-width: 80%;
	}
}

@media ( max-width: 768px ) {
	.wcf-embeded-product-variation-wrap table,
	.wcf-embeded-product-quantity-wrap .quantity input[type="number"] {
		max-width: 100%;
	}
}
/*
* *********************************************************
* CSS for the select options on the Upsell & Downsell page
* *********************************************************
*/

@keyframes load8 {
	0% {
		transform: rotate( 0deg );
	}
	100% {
		transform: rotate( 360deg );
	}
}

@keyframes popup {
	0% {
		transform: scale( 1.2 );
	}
}

/**
* Astra Addon Compatibility CSS.
*
* Removing the raw HTML of plus/minus buttons on the upsell page.
* Restricted only to offer page using wcf-offer-product-quantity class.
*/
body[class*=" astra-addon-"] .wcf-offer-product-quantity label[for^="minus_qty"],
body[class*=" astra-addon-"] .wcf-offer-product-quantity a#minus_qty,
body[class*=" astra-addon-"] .wcf-offer-product-quantity a#plus_qty,
body[class*=" astra-addon-"] .wcf-offer-product-quantity label[for^="plus_qty"] {
	display: none !important;
}

/*
* *********************************************************
* WooCommerce Product Bundles — Upsell/Downsell offer page
* Mirrors the native single-product bundle layout so the
* section stays transparent and inherits the page design.
* *********************************************************
*/

/* Hide WC PB chrome that CartFlows replaces with its own controls.
   Also hides WooCommerce Subscribe All The Things (WCSATT) one-time/subscribe
   prompts that render at the bundle level. */
.wcf-offer-product-variation .bundle_price,
.wcf-offer-product-variation .bundle_button,
.wcf-offer-product-variation .bundle_availability,
.wcf-offer-product-variation .bundle_data .bundle_error,
.wcf-offer-product-variation .bundle_form .bundled_product_permalink,
.wcf-offer-product-variation .bundled_product_excerpt,
.wcf-offer-product-variation .bundled_product .wc-subscription-options,
.wcf-offer-product-variation .bundled_product .variations .reset_variations,
.wcf-offer-product-variation .wcsatt-options-wrapper {
	display: none !important;
}

/* Form container: transparent, no styling of its own. */
.wcf-offer-product-variation .bundle_form {
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
}

/* Bundled item row: flex layout keeps image / details / qty aligned regardless of
   which controls WC PB rendered (editable spinner, fixed-qty, variations, price). */
.wcf-offer-product-variation .bundled_product.product {
	background: none;
	border: 0;
	border-bottom: 1px solid rgba( 0, 0, 0, 0.05 );
	padding: 0 0 18px;
	margin: 0 0 18px;
	overflow: visible;
	-js-display: flex;
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.wcf-offer-product-variation .bundled_product:last-child {
	border-bottom: 0;
	padding-bottom: 0;
	margin-bottom: 0;
}

/* Thumbnail column — selectors beat WC PB's own `.small_width` responsive rule
   (specificity 0,5,1) so the horizontal layout holds even in the narrow offer-page column. */
.wcf-offer-product-variation .bundle_form div.bundled_product.bundled_product_summary .bundled_product_images {
	float: none;
	flex: 0 0 72px;
	width: 72px;
	margin: 0;
	padding: 0;
}

.wcf-offer-product-variation .bundle_form div.bundled_product.bundled_product_summary:not( .thumbnail_hidden ) .details {
	float: none;
	flex: 1 1 auto;
	width: auto;
	overflow: visible;
	padding: 0;
	margin: 0;
	min-width: 0;
}

/* Item title — matches the native bundle-product page. */
.wcf-offer-product-variation .bundled_product_title,
.wcf-offer-product-variation .bundled_product_title.product_title {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	color: #1e293b;
	margin: 0 0 6px;
	padding: 0;
}

/* Inline "× N" suffix in the title — matches the native single-product bundle layout. */
.wcf-offer-product-variation .bundled_product_title .item_qty {
	color: #6b7280;
	font-weight: 500;
	margin-left: 4px;
}

/* Optional-item checkbox row (inline with the item price). */
.wcf-offer-product-variation .bundled_product_optional_checkbox {
	-js-display: inline-flex;
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	margin: 0 0 10px;
	font-size: 14px;
	font-weight: 500;
	color: #1e293b;
	cursor: pointer;
}

.wcf-offer-product-variation .bundled_product_optional_checkbox input[type="checkbox"] {
	width: 14px;
	height: 14px;
	margin: 0 4px 0 0;
	cursor: pointer;
}

/* Cart block collapses when an optional item is not selected (WC PB toggles the class). */
.wcf-offer-product-variation .bundled_product .cart {
	background: none;
	border: 0;
	margin: 0;
	padding: 0;
}

.wcf-offer-product-variation .bundled_product.bundled_item_optional:not( .bundled_item_optional_selected ) .cart {
	display: none;
}

/* Quantity slot — sits on the right of each bundled row, aligned with the title. */
.wcf-offer-product-variation .bundled_product .quantity {
	-js-display: inline-flex;
	display: inline-flex;
	align-items: center;
	margin: 4px 0 0;
	min-height: 32px;
}

.wcf-offer-product-variation .bundled_product .quantity input[type="number"] {
	background: #fff;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	color: #1e293b;
	font-family: inherit;
	font-size: 14px;
	height: 32px;
	line-height: 20px;
	padding: 4px 8px;
	width: 56px;
	appearance: none;
}

.wcf-offer-product-variation .bundled_product .quantity input[type="number"]:focus {
	border-color: #f16334;
	outline: none;
}

/* Variable-child variation area — stacked block layout. */
.wcf-offer-product-variation .bundled_product .variations,
.wcf-offer-product-variation .bundled_product .variations tbody,
.wcf-offer-product-variation .bundled_product .variations tr,
.wcf-offer-product-variation .bundled_product .variations td {
	display: block;
	width: 100%;
	padding: 0;
}

.wcf-offer-product-variation .bundled_product .variations td.label,
.wcf-offer-product-variation .bundled_product .variations label {
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	color: #1e293b;
	margin: 8px 0 4px;
	padding: 0;
	display: block;
}

.wcf-offer-product-variation .bundled_product .variations select {
	background-color: #fff;
	background-image: url( "data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010%206%22%3E%3Cpath%20fill%3D%22%23555%22%20d%3D%22M0%200l5%206%205-6z%22%2F%3E%3C%2Fsvg%3E" );
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 12px;
	border: 1px solid #d1d5db;
	border-radius: 0;
	color: #1e293b;
	display: block;
	font-family: inherit;
	font-size: 14px;
	height: 40px;
	line-height: 20px;
	padding: 4px 32px 4px 12px;
	max-width: 320px;
	width: 100%;
	margin: 0 0 8px;
	appearance: none;
}

.wcf-offer-product-variation .bundled_product .variations select:focus {
	border-color: #f16334;
	outline: none;
}

/* Item price ("$3.00 $2.00 each") — used both inline on the optional checkbox and on non-optional priced items. */
.wcf-offer-product-variation .bundled_product .price,
.wcf-offer-product-variation .bundled_product .bundled_item_wrap_price {
	font-size: 14px;
	color: #1e293b;
	font-weight: 500;
	margin: 0 0 8px;
}

.wcf-offer-product-variation .bundled_product .price del {
	color: #999;
	text-decoration: line-through;
	margin-right: 6px;
	font-weight: 400;
	background: transparent;
}

.wcf-offer-product-variation .bundled_product .price ins {
	color: #f16334;
	text-decoration: none;
	font-weight: 600;
	background: transparent;
}
