/*
 * FunnelKit Gutenberg Checkout, SFD Custom Styling
 *
 * Styles the Gutenberg-based FunnelKit checkout page (wfacp_gutenberg_template).
 * This is a completely different rendering from the pre_built template.
 * The Gutenberg checkout renders the FunnelKit checkout block directly
 * inside the WordPress block editor output.
 *
 * Body class: wfacp_gutenberg_template
 * Template:   wfacp_html_canvas
 *
 * Structure:
 *   .wfacp-template-container
 *     .wp-block-group
 *       .wp-block-columns (two-column layout)
 *         .wp-block-column (left, mini cart / order summary)
 *           .wfacp-mini-cart-block
 *         .wp-block-column (right, checkout form)
 *           .wfacp-checkout-form-block
 */

/* ============================================
   GOOGLE FONTS
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');

/* ============================================
   PAGE BACKGROUND, 50/50 split
   ============================================ */
body.wfacp_gutenberg_template {
	background: linear-gradient(to right, #F8F8F8 50%, #FFFFFF 50%) !important;
	font-family: 'Nunito', sans-serif;
	margin: 0;
	padding: 0;
	color: #262626;
}


/* ============================================
   MAIN CONTAINER, Centered at 1440px
   ============================================ */
body.wfacp_gutenberg_template .wfacp-template-container {
	max-width: 1440px;
	margin: 0 auto;
	padding: 48px 24px;
}

/* ============================================
   TWO-COLUMN LAYOUT, 50/50 split
   ============================================ */
body.wfacp_gutenberg_template .wfacp-template-container .wp-block-columns {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 80px !important;
}

body.wfacp_gutenberg_template .wfacp-template-container .wp-block-column {
	flex: 1;
	min-width: 0;
}

/* ============================================
   LEFT COLUMN, Mini Cart / Order Summary
   ============================================ */
body.wfacp_gutenberg_template .wfacp-mini-cart-block {
	background: #FFFFFF;
	border: 1px solid #D9D9D9;
	border-radius: 12px;
	padding: 32px;
	box-shadow: 0 1px 2px rgba(10, 13, 18, 0.05);
}

/* Order Summary label */
body.wfacp_gutenberg_template .wfacp-order-summary-label {
	font-family: 'Nunito', sans-serif;
	font-size: 20px;
	font-weight: 800;
	color: #262626;
	margin-bottom: 24px;
}

/* ============================================
   RIGHT COLUMN, Checkout Form
   ============================================ */
body.wfacp_gutenberg_template .wfacp-checkout-form-block {
	background: transparent;
	border: none;
	padding: 0;
}


/* ============================================
   STEP HEADER, "SHIPPING" step title
   ============================================ */
body.wfacp_gutenberg_template .wfacp-payment-tab-wrapper {
	margin-bottom: 24px;
}

body.wfacp_gutenberg_template .wfacp-payment-tab-list {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: #F0FFF0;
	border: 1px solid #8CD933;
	border-radius: 8px;
}

body.wfacp_gutenberg_template .wfacp-order2StepNumber {
	width: 28px;
	height: 28px;
	background: #8CD933;
	color: #FFFFFF;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Nunito', sans-serif;
	font-size: 14px;
	font-weight: 800;
	flex-shrink: 0;
}

body.wfacp_gutenberg_template .wfacp-order2StepTitle {
	font-family: 'Nunito', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: #262626;
}

body.wfacp_gutenberg_template .wfacp-order2StepSubTitle {
	font-family: 'Nunito', sans-serif;
	font-size: 13px;
	font-weight: 400;
	color: #646464;
}

/* ============================================
   ORDER SUMMARY, Collapsible section (mobile)
   ============================================ */
body.wfacp_gutenberg_template .wfacp_collapsible_order_summary_wrap {
	margin-bottom: 24px;
}

/* Force the collapsible accordion to always be expanded */
body.wfacp_gutenberg_template .wfacp_mb_cart_accordian {
	background: #F7F7F7;
	border: 1px solid #D9D9D9;
	border-radius: 8px 8px 0 0;
	padding: 12px 16px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

body.wfacp_gutenberg_template .wfacp_mb_cart_accordian .wfacp_summary_link {
	font-family: 'Nunito', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: #262626;
	text-decoration: none;
	pointer-events: none;
	cursor: default;
}

body.wfacp_gutenberg_template .wfacp_mb_cart_accordian .wfacp_summary_link span {
	color: #262626;
}

body.wfacp_gutenberg_template .wfacp_mb_cart_accordian .wfacp_summary_link img {
	display: none;
}

body.wfacp_gutenberg_template .wfacp_show_price_wrap .wfacp_cart_mb_fragment_price {
	font-family: 'Nunito', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: #262626;
}

/* ============================================
   ORDER SUMMARY, Expanded content (cart items)
   Always visible, no hiding
   ============================================ */
body.wfacp_gutenberg_template .wfacp_mb_mini_cart_sec_accordion_content {
	background: #FFFFFF;
	border: 1px solid #D9D9D9;
	border-top: none;
	border-radius: 0 0 8px 8px;
	padding: 16px;
	display: block !important;
}

/* Cart items table */
body.wfacp_gutenberg_template .wfacp_mini_cart_items.shop_table {
	width: 100%;
	border-collapse: collapse;
}

body.wfacp_gutenberg_template .wfacp_mini_cart_items.shop_table tbody tr.cart_item {
	display: flex;
	align-items: center;
	padding: 12px 0;
	gap: 12px;
	border-bottom: 1px solid #E6E6E6;
}

body.wfacp_gutenberg_template .wfacp_mini_cart_items.shop_table tbody tr.cart_item:last-child {
	border-bottom: none;
}

/* Product image */
body.wfacp_gutenberg_template .wfacp_mini_cart_items .product-image {
	width: 48px;
	height: 48px;
	flex-shrink: 0;
}

body.wfacp_gutenberg_template .wfacp_mini_cart_items .wfacp-pro-thumb {
	position: relative;
	width: 48px;
	height: 48px;
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid #D9D9D9;
	background: #F0F0F0;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Product image, ensure it fills the thumbnail container */
body.wfacp_gutenberg_template .wfacp_mini_cart_items .wfacp-pro-thumb img {
	width: 48px;
	height: 48px;
	object-fit: cover;
	display: block;
}

/* Hide the emoji placeholder, real images always exist */
body.wfacp_gutenberg_template .wfacp_mini_cart_items .wfacp-pro-thumb::before {
	display: none;
}

/* ============================================
   WFACP SECTIONS, Billing, Shipping, etc.
   ============================================ */
body.wfacp_gutenberg_template .wfacp-section {
	border: 1px solid #D9D9D9;
	border-radius: 12px;
	padding: 24px;
	margin-bottom: 24px;
	background: #FFFFFF;
}

/* ============================================
   FORM FIELDS, Billing & Shipping
   ============================================ */

/* Section titles */
body.wfacp_gutenberg_template .wfacp_section_title {
	font-family: 'Nunito', sans-serif;
	font-weight: 800 !important;
	font-size: 14px !important;
	color: #262626 !important;
	margin-bottom: 20px !important;
	letter-spacing: 0;
	text-transform: none;
}

/* Label styling, let FunnelKit handle the floating label animation */
body.wfacp_gutenberg_template label.wfacp-form-control-label {
	font-family: 'Nunito', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: #262626;
}

/* Input fields */
body.wfacp_gutenberg_template .wfacp-form-control:not([type="checkbox"]):not([type="radio"]),
body.wfacp_gutenberg_template input[type="text"],
body.wfacp_gutenberg_template input[type="email"],
body.wfacp_gutenberg_template input[type="tel"],
body.wfacp_gutenberg_template input[type="password"],
body.wfacp_gutenberg_template select,
body.wfacp_gutenberg_template textarea {
	width: 100% !important;
	height: 48px !important;
	padding: 14px 12px 4px !important;
	border: 1px solid #D9D9D9 !important;
	border-radius: 6px !important;
	font-family: 'Nunito', sans-serif;
	font-size: 14px;
	color: #262626;
	background: #FFFFFF;
	transition: all 0.2s ease;
	box-shadow: 0 1px 2px rgba(10, 13, 18, 0.05);
	box-sizing: border-box;
}


body.wfacp_gutenberg_template .wfacp-form-control:not([type="checkbox"]):not([type="radio"]):focus,
body.wfacp_gutenberg_template input:not([type="checkbox"]):not([type="radio"]):focus,
body.wfacp_gutenberg_template select:focus,
body.wfacp_gutenberg_template textarea:focus {
	outline: none;
	border-color: #8CD933 !important;
	box-shadow: 0 0 0 3px rgba(140, 217, 51, 0.1) !important;
}

/* Checkbox and radio inputs, all green like Figma */
body.wfacp_gutenberg_template input[type="checkbox"],
body.wfacp_gutenberg_template input[type="radio"] {
	width: 16px !important;
	height: 16px !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	accent-color: #8CD933 !important;
	box-shadow: none !important;
}

body.wfacp_gutenberg_template input[type="checkbox"]:checked,
body.wfacp_gutenberg_template input[type="radio"]:checked {
	accent-color: #8CD933 !important;
}

/* Checkbox field wrapper, border around the checkbox row */
body.wfacp_gutenberg_template .wfacp_checkbox_field {
	background: #F7F7F7;
	border: 1px solid #D9D9D9;
	border-radius: 8px;
	padding: 12px 16px;
	margin-bottom: 16px;
}

/* Checkbox label */
body.wfacp_gutenberg_template .wfacp_checkbox_field label.checkbox {
	font-family: 'Nunito', sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: #262626;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	line-height: 1.4;
}


body.wfacp_gutenberg_template .wfacp_checkbox_field label.checkbox .optional {
	font-weight: 400;
	color: #808080;
}

body.wfacp_gutenberg_template .wfacp-form-control-wrapper {
	margin-bottom: 16px;
}

body.wfacp_gutenberg_template input::placeholder {
	color: #808080;
}

/* ============================================
   FORM FIELD LAYOUT, Two columns for first/last name
   ============================================ */

/* First name and last name side by side (50% each) */
body.wfacp_gutenberg_template .wfacp-section .wfacp-row > .form-row-first.wfacp-col-left-half {
	width: calc(50% - 8px) !important;
	float: left !important;
	margin-right: 16px !important;
}

body.wfacp_gutenberg_template .wfacp-section .wfacp-row > .form-row-last.wfacp-col-left-half {
	width: calc(50% - 8px) !important;
	float: right !important;
}

/* Full width fields (wfacp-col-full) */
body.wfacp_gutenberg_template .wfacp-section .wfacp-row > .form-row-wide.wfacp-col-full,
body.wfacp_gutenberg_template .wfacp-section .wfacp-row > .form-row-wide:not(#shipping_address_1_field):not(#shipping_city_field):not(#shipping_postcode_field):not(#shipping_country_field):not(#shipping_state_field) {
	width: 100% !important;
	float: none !important;
	clear: both;
}


/* One-third width fields (address fields like postcode, country, state) */
body.wfacp_gutenberg_template .wfacp-section .wfacp-row > .form-row-wide.wfacp-col-left-third {
	width: calc(33.33% - 11px) !important;
	float: left !important;
	margin-right: 16px !important;
	clear: none !important;
}

body.wfacp_gutenberg_template .wfacp-section .wfacp-row > .form-row-wide.wfacp-col-left-third:last-child {
	margin-right: 0 !important;
}

/* Fields inside divider wrappers (shipping/billing address sections) */
body.wfacp_gutenberg_template .wfacp-section .wfacp-row .wfacp_divider_field .form-row-wide.wfacp-col-left-half {
	width: calc(50% - 8px) !important;
	float: left !important;
	margin-right: 16px !important;
	clear: none !important;
}

body.wfacp_gutenberg_template .wfacp-section .wfacp-row .wfacp_divider_field .form-row-wide.wfacp-col-left-third {
	width: calc(33.33% - 11px) !important;
	float: left !important;
	margin-right: 16px !important;
	clear: none !important;
}

body.wfacp_gutenberg_template .wfacp-section .wfacp-row .wfacp_divider_field .form-row-wide.wfacp-col-left-third:last-child {
	margin-right: 0 !important;
}

body.wfacp_gutenberg_template .wfacp-section .wfacp-row .wfacp_divider_field .form-row-wide.wfacp-col-full {
	width: 100% !important;
	float: none !important;
	clear: both;
}

body.wfacp_gutenberg_template .wfacp-section .wfacp-row .wfacp_divider_field .form-row.wfacp_checkbox_field {
	width: 100% !important;
	float: none !important;
	clear: both;
}

/* Clearfix after first/last name */
body.wfacp_gutenberg_template .wfacp-section .wfacp-row > .form-row-last::after {
	content: '';
	display: table;
	clear: both;
}

/* ============================================
   SHIPPING ADDRESS FIELD WIDTH OVERRIDES
   
   FunnelKit assigns wrong column classes to shipping fields.
   The layout should be:
     Row 1: Street address (1/2) | Suburb (1/2)
     Row 2: Postcode (1/3) | Country (1/3) | State (1/3)
   
   We override by targeting specific field IDs.
   ============================================ */

/* Street address, 1/2 width (next to Suburb) */
body.wfacp_gutenberg_template .wfacp-section .wfacp-row #shipping_address_1_field.wfacp-col-left-half,
body.wfacp_gutenberg_template .wfacp-section .wfacp-row #shipping_address_1_field.form-row-wide {
	width: calc(50% - 8px) !important;
	float: left !important;
	clear: none !important;
	margin-right: 16px !important;
}

/* Suburb, 1/2 width (next to Street address) */
body.wfacp_gutenberg_template .wfacp-section .wfacp-row #shipping_city_field.wfacp-col-left-half,
body.wfacp_gutenberg_template .wfacp-section .wfacp-row #shipping_city_field.form-row-wide {
	width: calc(50% - 8px) !important;
	float: left !important;
	clear: none !important;
	margin-right: 0 !important;
}

/* Postcode, 1/3 width */
body.wfacp_gutenberg_template .wfacp-section .wfacp-row #shipping_postcode_field.wfacp-col-left-third,
body.wfacp_gutenberg_template .wfacp-section .wfacp-row #shipping_postcode_field.form-row-wide {
	width: calc(33.33% - 11px) !important;
	float: left !important;
	clear: none !important;
	margin-right: 16px !important;
}

/* Country, 1/3 width */
body.wfacp_gutenberg_template .wfacp-section .wfacp-row #shipping_country_field.wfacp-col-left-third,
body.wfacp_gutenberg_template .wfacp-section .wfacp-row #shipping_country_field.form-row-wide {
	width: calc(33.33% - 11px) !important;
	float: left !important;
	clear: none !important;
	margin-right: 16px !important;
}

/* State, 1/3 width (last in row) */
body.wfacp_gutenberg_template .wfacp-section .wfacp-row #shipping_state_field.wfacp-col-left-third,
body.wfacp_gutenberg_template .wfacp-section .wfacp-row #shipping_state_field.form-row-wide {
	width: calc(33.33% - 11px) !important;
	float: left !important;
	clear: none !important;
	margin-right: 0 !important;
}



/* ============================================
   SHIPPING SECTION, Empty state for downloadable products
   ============================================ */
body.wfacp_gutenberg_template .wfacp_shipping_options:empty::before {
	content: "📥 Digital Download, No shipping needed";
	display: block;
	font-family: 'Nunito', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #646464;
	padding: 16px;
	background: #F7F7F7;
	border: 1px solid #D9D9D9;
	border-radius: 8px;
	text-align: center;
}

/* ============================================
   PAYMENT SECTION
   ============================================ */
body.wfacp_gutenberg_template .wfacp-payment-title {
	margin-bottom: 16px;
}

body.wfacp_gutenberg_template .wfacp_payment {
	margin-top: 0;
	padding-top: 24px;
	border-top: 1px solid #D9D9D9;
}

body.wfacp_gutenberg_template .wfacp_payment .wfacp_section_title {
	margin-bottom: 16px !important;
}

body.wfacp_gutenberg_template #payment {
	margin-top: 24px;
}

body.wfacp_gutenberg_template .wfacp-payment-dec {
	margin-top: 16px;
}

/* Payment methods are rendered dynamically by WooCommerce checkout.js */
body.wfacp_gutenberg_template #payment ul.payment_methods,
body.wfacp_gutenberg_template ul.wc_payment_methods.payment_methods.methods {
	list-style: none;
	padding: 0;
	margin: 0;
	border: none !important;
	border-radius: 0 !important;
}

body.wfacp_gutenberg_template #payment ul.payment_methods > li,
body.wfacp_gutenberg_template ul.wc_payment_methods.payment_methods.methods > li,
body.wfacp_gutenberg_template .wfacp_main_form.woocommerce #payment ul.payment_methods > li,
body.wfacp_gutenberg_template .wfacp_main_form.woocommerce ul.wc_payment_methods.payment_methods.methods > li,
ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method,
body #wfacp-e-form .wfacp_main_form.woocommerce #payment ul.payment_methods li.wc_payment_method {
	background: #FFFFFF !important;
	border: 1px solid #D9D9D9 !important;
	border-bottom: 1px solid #D9D9D9 !important;
	border-radius: 12px !important;
	padding: 20px !important;
	margin-bottom: 16px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	box-shadow: 0 1px 2px rgba(10, 13, 18, 0.05) !important;
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
}

body.wfacp_gutenberg_template #payment ul.payment_methods > li:last-child,
body.wfacp_gutenberg_template ul.wc_payment_methods.payment_methods.methods > li:last-child,
body.wfacp_gutenberg_template .wfacp_main_form.woocommerce #payment ul.payment_methods > li:last-child,
body.wfacp_gutenberg_template .wfacp_main_form.woocommerce ul.wc_payment_methods.payment_methods.methods > li:last-child,
ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method:last-child,
body #wfacp-e-form .wfacp_main_form.woocommerce #payment ul.payment_methods li.wc_payment_method:last-child {
	margin-bottom: 0 !important;
}

body.wfacp_gutenberg_template #payment ul.payment_methods > li:hover,
body.wfacp_gutenberg_template ul.wc_payment_methods.payment_methods.methods > li:hover,
body.wfacp_gutenberg_template .wfacp_main_form.woocommerce ul.wc_payment_methods.payment_methods.methods > li:hover,
ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method:hover {
	border-color: #8CD933 !important;
}

body.wfacp_gutenberg_template ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method > input[type="radio"] {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	width: 16px !important;
	height: 16px !important;
	margin: 0 12px 0 0 !important;
	padding: 0 !important;
	border: 1px solid #D9D9D9 !important;
	border-radius: 50% !important;
	background-color: #FFFFFF !important;
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	opacity: 1 !important;
	box-shadow: none !important;
	flex-shrink: 0;
}

body.wfacp_gutenberg_template ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method > input[type="radio"]:checked {
	border: none !important;
	background-color: transparent !important;
	background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8Z' fill='%23569E03'/%3E%3Cpath d='M5 8C5 6.34315 6.34315 5 8 5C9.65685 5 11 6.34315 11 8C11 9.65685 9.65685 11 8 11C6.34315 11 5 9.65685 5 8Z' fill='white'/%3E%3C/svg%3E") !important;
	background-size: cover !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
}

body.wfacp_gutenberg_template ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method > label {
	position: relative !important;
	padding-left: 0 !important;
	cursor: pointer !important;
	display: inline-block !important;
	color: #262626 !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	font-family: 'Nunito', sans-serif !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	flex: 1;
}

body.wfacp_gutenberg_template ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method > .payment_box {
	width: 100%;
	flex-basis: 100%;
	padding-top: 10px;
}

body.wfacp_gutenberg_template #payment ul.payment_methods li:hover,
body.wfacp_gutenberg_template ul.wc_payment_methods.payment_methods.methods li:hover,
body.wfacp_gutenberg_template .wfacp_main_form.woocommerce ul.wc_payment_methods.payment_methods.methods li:hover {
	border-color: #8CD933 !important;
}

body.wfacp_gutenberg_template #payment ul.payment_methods li input[type="radio"] {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	width: 16px !important;
	height: 16px !important;
	margin: 0 12px 0 0 !important;
	padding: 0 !important;
	border: 1px solid #D9D9D9 !important;
	border-radius: 50% !important;
	background-color: #FFFFFF !important;
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	opacity: 1 !important;
	box-shadow: none !important;
	flex-shrink: 0;
}

/* Remove FunnelKit's default dot inside radio */
body.wfacp_gutenberg_template #payment ul.payment_methods li.wc_payment_method input[type="radio"]:checked::before,
body.wfacp_gutenberg_template #payment ul.payment_methods li.wc_payment_method input[type="radio"]:checked::after,
body.wfacp_gutenberg_template #payment ul.payment_methods li.wc_payment_method input.input-radio:checked::before,
body.wfacp_gutenberg_template #payment ul.payment_methods li.wc_payment_method input.input-radio:checked::after,
body.wfacp_gutenberg_template #payment.wc_payment_method input[type="radio"]:checked::before,
body.wfacp_gutenberg_template input[type="radio"]:checked::before {
	display: none !important;
	content: none !important;
}

/* Custom Radio Button Checked (using Figma SVG directly on the input) */
body.wfacp_gutenberg_template #payment ul.payment_methods li input[type="radio"]:checked,
body.wfacp_gutenberg_template #payment ul.payment_methods li input.input-radio:checked {
	border: none !important;
	background-color: transparent !important;
	background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8Z' fill='%23569E03'/%3E%3Cpath d='M5 8C5 6.34315 6.34315 5 8 5C9.65685 5 11 6.34315 11 8C11 9.65685 9.65685 11 8 11C6.34315 11 5 9.65685 5 8Z' fill='white'/%3E%3C/svg%3E") !important;
	background-size: cover !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
}

body.wfacp_gutenberg_template #payment ul.payment_methods li label {
	position: relative !important;
	padding-left: 0 !important;
	cursor: pointer !important;
	display: inline-block !important;
	color: #262626 !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	font-family: 'Nunito', sans-serif !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	flex: 1;
}

body.wfacp_gutenberg_template #payment ul.payment_methods li .payment_box {
	width: 100%;
	flex-basis: 100%;
	padding-top: 10px;
}

body.wfacp_gutenberg_template #payment ul.payment_methods li > img,
body.wfacp_gutenberg_template #payment ul.payment_methods li label img,
body #wfacp-e-form .wfacp_main_form.woocommerce #payment ul.payment_methods li label img {
	max-height: 20px !important;
	margin-left: auto;
	float: none !important;
}

/* Hide PayPal payment description text */
body.wfacp_gutenberg_template .payment_box.payment_method_ppcp-gateway {
	display: none !important;
}

/* ============================================
   PLACE ORDER BUTTON
   ============================================ */
body.wfacp_gutenberg_template #payment .form-row.place-order {
	margin-top: 24px;
}

body.wfacp_gutenberg_template #payment .button.alt,
body.wfacp_gutenberg_template #place_order,
body.wfacp_gutenberg_template .button#place_order {
	width: 100%;
	height: 48px !important;
	background: #8CD933 !important;
	color: #FFFFFF !important;
	border: none !important;
	border-radius: 8px !important;
	font-family: 'Nunito', sans-serif;
	font-size: 16px !important;
	font-weight: 700 !important;
	cursor: pointer;
	transition: all 0.2s ease;
	padding: 0 !important;
	line-height: 48px !important;
}

body.wfacp_gutenberg_template #payment .button.alt:hover,
body.wfacp_gutenberg_template #place_order:hover {
	background: #7BC829 !important;
	transform: translateY(-1px);
}

/* ============================================
   PPC BUTTON WRAPPER (Express Checkout)
   ============================================ */
body.wfacp_gutenberg_template .ppc-button-wrapper {
	margin-top: 16px;
	margin-bottom: 16px;
}

/* ============================================
   TERMS & CONDITIONS
   ============================================ */
body.wfacp_gutenberg_template .woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 24px;
	padding: 16px;
	background: #F7F7F7;
	border-radius: 8px;
}

body.wfacp_gutenberg_template .woocommerce-terms-and-conditions-wrapper label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-weight: 400;
	font-size: 14px;
	color: #646464;
	cursor: pointer;
	font-family: 'Nunito', sans-serif;
}

body.wfacp_gutenberg_template .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	margin-top: 2px;
	accent-color: #8CD933;
}

body.wfacp_gutenberg_template .woocommerce-terms-and-conditions-wrapper a {
	color: #8CD933;
	text-decoration: underline;
}

/* ============================================
   NOTICES
   ============================================ */
body.wfacp_gutenberg_template .woocommerce-notices-wrapper .woocommerce-message,
body.wfacp_gutenberg_template .woocommerce-notices-wrapper .woocommerce-info,
body.wfacp_gutenberg_template .woocommerce-notices-wrapper .woocommerce-error {
	border-radius: 8px;
	padding: 12px 16px;
	margin-bottom: 16px;
	font-family: 'Nunito', sans-serif;
	font-size: 14px;
}

body.wfacp_gutenberg_template .woocommerce-notices-wrapper .woocommerce-message {
	background: #F0FFF0;
	border: 1px solid #8CD933;
	color: #2D6B00;
}

body.wfacp_gutenberg_template .woocommerce-notices-wrapper .woocommerce-error {
	background: #FFF0F0;
	border: 1px solid #F34188;
	color: #B3003B;
}

body.wfacp_gutenberg_template .woocommerce-notices-wrapper .woocommerce-info {
	background: #F0F5FF;
	border: 1px solid #4A90D9;
	color: #1A4D8C;
}

/* ============================================
   EXPRESS PAYMENT SEPARATOR, Remove excess margin
   ============================================ */
div#fkwcs-payment-request-separator {
    margin: 0 !important;
}

/* ============================================
    RESPONSIVE
    ============================================ */
@media (max-width: 768px) {
	body.wfacp_gutenberg_template .wfacp-template-container {
		padding: 16px 12px;
	}

	body.wfacp_gutenberg_template .wfacp-template-container .wp-block-columns {
		flex-direction: column;
		gap: 16px;
	}

	body.wfacp_gutenberg_template .wfacp-mini-cart-block,
	body.wfacp_gutenberg_template .wfacp-checkout-form-block {
		padding: 20px 16px;
	}

	/* Stack first/last name vertically on mobile */
	body.wfacp_gutenberg_template .wfacp-section .wfacp-row > .form-row-first,
	body.wfacp_gutenberg_template .wfacp-section .wfacp-row > .form-row-last {
		width: 100% !important;
		float: none !important;
		margin-right: 0 !important;
	}
}

/* ============================================
   COUPON CODE, Inline input + button inside mini cart
   ============================================ */
body.wfacp_gutenberg_template .wfacp-coupon-section {
	margin-bottom: 24px;
}

body.wfacp_gutenberg_template button.wfacp-coupon-btn.wfacp_coupon_button {
	background: #999999 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	font-family: 'Nunito', sans-serif !important;
	height: 48px !important;
	padding: 0 16px !important;
	cursor: pointer !important;
	font-size: 13px !important;
	white-space: nowrap !important;
	transition: background 0.2s ease !important;
	min-width: 70px !important;
	line-height: 48px !important;
}


body.wfacp_gutenberg_template button.wfacp-coupon-btn.wfacp_coupon_button:hover {
	background: #878484 !important;
}

body.wfacp_gutenberg_template .wfacp_main_showcoupon {
	color: #8CD933;
	font-weight: 600;
	cursor: pointer;
	font-family: 'Nunito', sans-serif;
}

body.wfacp_gutenberg_template .wfacp_woocommerce_form_coupon .wfacp-coupon-row {
	display: flex !important;
	align-items: center;
	gap: 8px;
}

body.wfacp_gutenberg_template .wfacp_coupon_row {
	display: flex !important;
	align-items: center;
	gap: 8px;
}

body.wfacp_gutenberg_template .wfacp_woocommerce_form_coupon .form-row-first {
	flex: 1 !important;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}

body.wfacp_gutenberg_template .wfacp_woocommerce_form_coupon .form-row-last {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	flex-shrink: 0;
}

body.wfacp_gutenberg_template .wfacp_woocommerce_form_coupon .form-row-last label {
	display: none !important;
}

body.wfacp_gutenberg_template .wfacp_woocommerce_form_coupon input#coupon_code {
	border: 1px solid #D9D9D9 !important;
	border-radius: 8px !important;
	padding: 14px 12px 4px !important;
	height: 48px !important;
	font-family: 'Nunito', sans-serif !important;
	font-size: 14px !important;
	width: 100% !important;
	color: #262626 !important;
	background: #FFFFFF !important;
	box-shadow: 0 1px 2px rgba(10, 13, 18, 0.05) !important;
	box-sizing: border-box !important;
}


body.wfacp_gutenberg_template .wfacp_woocommerce_form_coupon input#coupon_code:focus {
	outline: none !important;
	border-color: #8CD933 !important;
	box-shadow: 0 0 0 3px rgba(140, 217, 51, 0.1) !important;
}

body .wfacp-coupon-btn,
body button.wfacp-coupon-btn.wfacp_coupon_button,
body button.button.wfacp-coupon-btn.wfacp_coupon_button,
body #wfacp-e-form button.wfacp-coupon-btn,
body #wfacp-e-form button.wfacp-coupon-btn.wfacp_coupon_button {
	background: #dedede !important;
	color: #000 !important;
	border: none !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	font-family: 'Nunito', sans-serif !important;
	height: 36px !important;
	padding: 0 16px !important;
	cursor: pointer !important;
	font-size: 13px !important;
	white-space: nowrap !important;
	transition: background 0.2s ease !important;
	min-width: 70px !important;
	line-height: 36px !important;
}

body .wfacp-coupon-btn:hover,
body button.wfacp-coupon-btn.wfacp_coupon_button:hover,
body button.button.wfacp-coupon-btn.wfacp_coupon_button:hover,
body #wfacp-e-form button.wfacp-coupon-btn:hover,
body #wfacp-e-form button.wfacp-coupon-btn.wfacp_coupon_button:hover {
	background: #7BC829 !important;
}

/* ============================================
   GIFT CARD, Inline input + button (matches coupon code exactly)
   ============================================ */
body.wfacp_gutenberg_template #wc_gc_cart_redeem_form {
	display: flex !important;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
	width: 100%;
}

body.wfacp_gutenberg_template #wc_gc_cart_redeem_form .wc_gc_add_gift_card_form__notices {
	display: none;
}

body.wfacp_gutenberg_template #wc_gc_cart_code {
	flex: 1 !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 48px !important;
	padding: 14px 12px 4px !important;
	border: 1px solid #D9D9D9 !important;
	border-radius: 8px !important;
	font-family: 'Nunito', sans-serif !important;
	font-size: 14px !important;
	color: #262626 !important;
	background: #FFFFFF !important;
	box-shadow: 0 1px 2px rgba(10, 13, 18, 0.05) !important;
	box-sizing: border-box !important;
	float: none !important;
	display: inline-block !important;
}


body.wfacp_gutenberg_template #wc_gc_cart_code:focus {
	outline: none !important;
	border-color: #8CD933 !important;
	box-shadow: 0 0 0 3px rgba(140, 217, 51, 0.1) !important;
}

body.wfacp_gutenberg_template #wc_gc_cart_redeem_send, body.wfacp_gutenberg_template button.button#wc_gc_cart_redeem_send, button.button#wc_gc_cart_redeem_send {
    background: #dedede !important;
    color: #000000 !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-family: 'Nunito', sans-serif !important;
    height: 48px !important;
    padding: 0 16px !important;
    cursor: pointer !important;
    font-size: 13px !important;
    white-space: nowrap !important;
    transition: background 0.2s ease !important;
    min-width: 70px !important;
    max-width: 100px !important;
    line-height: 48px !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
}


body.wfacp_gutenberg_template #wc_gc_cart_redeem_send:hover,
body.wfacp_gutenberg_template button.button#wc_gc_cart_redeem_send:hover,
button.button#wc_gc_cart_redeem_send:hover {
	background: #878484 !important;
}

/* ============================================
   TOP BAR, Logo + Continue Shopping (flex row)
   ============================================ */
body.wfacp_gutenberg_template .sfd-checkout-top-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 32px;
}
body.wfacp_gutenberg_template .sfd-checkout-top-bar .sfd-continue-shopping {
	font-family: 'Nunito', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #646464;
	text-decoration: none;
	transition: color 0.2s ease;
}
body.wfacp_gutenberg_template .sfd-checkout-top-bar .sfd-continue-shopping:hover {
	color: #8CD933;
}

/* ============================================
   PLAN HEADING & SUBTITLE
   ============================================ */
body.wfacp_gutenberg_template .sfd-plan-subtitle {
	font-size: 14px;
	color: #646464;
	margin-top: -8px;
	margin-bottom: 24px;
	line-height: 1.5;
}

/* ============================================
   CUSTOM PRODUCT SELECTOR (Monthly/Yearly cards)
   ============================================ */
body.wfacp_gutenberg_template .sfd-custom-products {
	margin-top: 24px;
	font-family: 'Nunito', sans-serif !important;
}
body.wfacp_gutenberg_template .sfd-custom-products * {
	font-family: 'Nunito', sans-serif !important;
}
body.wfacp_gutenberg_template .sfd-custom-products .product-card {
	background: #FFFFFF;
	border: 2px solid #D9D9D9;
	border-radius: 12px;
	padding: 20px 24px;
	margin-bottom: 16px;
	display: flex;
	gap: 16px;
	cursor: pointer;
	transition: all 0.2s ease;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
body.wfacp_gutenberg_template .sfd-custom-products .product-card:hover {
	border-color: #8CD933;
	background: rgba(140, 217, 51, 0.05);
}
body.wfacp_gutenberg_template .sfd-custom-products .product-card.selected {
	border-color: #8CD933;
	border-width: 2px;
	background: #FFFFFF;
}
body.wfacp_gutenberg_template .sfd-custom-products .product-radio input {
	width: 16px;
	height: 16px;
	margin-top: 4px;
	cursor: pointer;
	accent-color: #8CD933;
}
body.wfacp_gutenberg_template .sfd-custom-products .product-content {
	flex: 1;
}
body.wfacp_gutenberg_template .sfd-custom-products .product-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
}
body.wfacp_gutenberg_template .sfd-custom-products .product-title-group {
	display: flex;
	align-items: center;
	gap: 8px;
}
body.wfacp_gutenberg_template .sfd-custom-products .product-type {
	font-size: 20px;
	font-weight: 800;
	color: #262626;
}
body.wfacp_gutenberg_template .sfd-custom-products .product-badge {
	background: #262626;
	color: #FFFFFF;
	font-size: 12px;
	font-weight: 700;
	padding: 4px 8px;
	border-radius: 6px;
	letter-spacing: 0;
	text-transform: none;
}
body.wfacp_gutenberg_template .sfd-custom-products .product-price {
	font-size: 24px;
	font-weight: 800;
	color: #262626;
}
body.wfacp_gutenberg_template .sfd-custom-products .product-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
body.wfacp_gutenberg_template .sfd-custom-products .product-desc {
	font-size: 14px;
	color: #646464;
	line-height: 1.4;
	max-width: 70%;
}
body.wfacp_gutenberg_template .sfd-custom-products .product-billing {
	font-size: 14px;
	color: #646464;
	text-align: right;
}

/* ============================================
   REVIEW CAROUSEL, Left Column (dynamic)
   ============================================ */
body.wfacp_gutenberg_template .wp-block-column:first-child .sfd-review-carousel {
	margin-top: auto;
	padding-top: 24px;
	border-top: 1px solid #E5E5E5;
	max-width: 100%;
}

/* Mobile adjustments */
@media (max-width: 640px) {
	body.wfacp_gutenberg_template .sfd-custom-products .product-header,
	body.wfacp_gutenberg_template .sfd-custom-products .product-footer {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}
	body.wfacp_gutenberg_template .sfd-custom-products .product-price {
		margin-top: 4px;
		margin-bottom: 4px;
	}
	body.wfacp_gutenberg_template .sfd-custom-products .product-billing {
		text-align: left;
		margin-top: 4px;
	}
	body.wfacp_gutenberg_template .sfd-custom-products .product-desc {
		max-width: 100%;
	}
}
