
.woocommerce form .form-row-first, .woocommerce-page form .form-row-first {
	clear: both;
}

span.awcfe-file-list1 {
	position: relative;
	display: block;
	padding-right: 15px;
}

span.awcfe-file-image-container {
	display: inline-block;
	width: 100%;
	max-width: 140px;
	margin-right: 1%;
}

span.awcfe-file-actions {
	position: absolute;
	right: 0;
	top: 0;
	cursor: pointer;
	z-index: 2;
}

.awcfe-order-extra-details .awcfe-file-items img {
	max-height: 60px;
}

.awcfe_cl_hidden {
	display: none !important;
}

.acwcfe_custom_section {
	overflow: auto;
	width: 100%;
	box-sizing: border-box;
	clear: none;
}

.woocommerce-billing-fields .acwcfe_custom_section, .col-1 .acwcfe_custom_section, #customer_details .acwcfe_custom_section {
	margin-top: 1.2em;
}

.acwcfe_custom_section .form-row-wide {
	width: 100% !important;
	clear: both;
}

.acwcfe_custom_section .form-row-wide .woocommerce-input-wrapper {
	width: 100% !important;
	display: block;
}

.acwcfe_custom_section .form-row-wide input.input-text, .acwcfe_custom_section .form-row-wide textarea, .acwcfe_custom_section .form-row-wide select {
	width: 100% !important;
	box-sizing: border-box !important;
}

span.wcfe_error_msg {
	color: #f00;
	font-size: 12px;
	line-height: 20px;
	display: block;
}

.woocommerce form .form-row.woocommerce-invalid textarea {
	border-color: #a00;
}

.inline-item.awce-check-param label {
	display: inline-block !important;
	margin: 0px 10px 0px 0px;
}

.inline-item.awce-check-param .input-radio {
	display: inline-block !important;
	margin-right: 5px;
	margin-top: 5px;
}

/* Red asterisk for required fields in Block Checkout */
.wc-block-components-checkout-step label:has(~ [required])::after, .wc-block-components-checkout-step label:has(~ * [required])::after, .wc-block-components-checkout-step label:has(~ [data-awcfe-required="yes"])::after, .wc-block-components-checkout-step label:has(~ * [data-awcfe-required="yes"])::after, .wc-block-components-checkout-step div:has([required]) > label::after, .wc-block-components-checkout-step div:has([data-awcfe-required="yes"]) > label::after, .wc-block-components-checkout-step div:has([required]) > .wc-block-components-checkbox-control__label::after, .wc-block-components-checkout-step div:has([data-awcfe-required="yes"]) > .wc-block-components-checkbox-control__label::after, .wc-block-components-checkout-step .wc-block-components-select-control:has([required]) label::after, .wc-block-components-checkout-step .wc-block-components-select-control:has([data-awcfe-required="yes"]) label::after, .wc-block-components-checkout-step .wc-block-components-text-input:has([required]) label::after, .wc-block-components-checkout-step .wc-block-components-text-input:has([data-awcfe-required="yes"]) label::after {
	content: " *";
	color: #e02b27 !important;
	margin-left: 2px;
	font-weight: bold;
	display: inline;
}

/* Calendar Icon for all Date/Time related fields */
.awcfemonthpicker, .awcfeweekpicker, .awcfedatepicker, .awcfetimepicker, .awcfedatetimepicker {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	background-size: 18px !important;
	padding-right: 40px !important;
}

.awcfemonthpicker.nitro-lazy, .awcfeweekpicker.nitro-lazy, .awcfedatepicker.nitro-lazy, .awcfetimepicker.nitro-lazy, .awcfedatetimepicker.nitro-lazy {
	background-image: none !important;
}

/* Remove special styling for month label to match others */
.woocommerce-checkout .form-row.awcfe_month_field label {
	font-weight: inherit !important;
	color: inherit !important;
}

/* map */
.awcfe_google_place:focus ~ .acwcfe_map {
	display: block;
}

.awcfe_place_compons table {
	margin: 0;
	border: none;
	padding: 0;
}

.awcfe_place_compons td {
	padding: 5px 0 0 5px;
	font-size: .9em;
	border: none;
	background: rgba(158, 164, 157, .031);
}

.awcfe_place_compons .label {
	width: 100px;
}

.awcfe_place_compons .label.postal_code {
	width: 60px;
}

.awcfe_place_compons input {
	height: 22px;
	width: 100%;
	min-width: 50px;
	padding: 0 0 0 3px;
	font-size: .9em;
}

.awcfe_place_compons .slimField input {
	width: 100px;
}

.awcfe_map {
	/*display:none;*/
	height: 100%;
	width: 100%;
	margin-top: 5px;
	min-height: 100px;
}

.awcfe_google_place:focus ~ .wcpa_map {
	display: block;
}

/* *ss* */
.awcfe_place_compons .row {
	clear: left;
	overflow: auto;
	margin: 5px 0;
	font-size: .9em;
	background: rgba(158, 164, 157, .031);
}

.awcfe_place_compons .label {
	float: left;
	width: 25%;
}

.awcfe_place_compons .label.postal_code {
	width: 15%;
}

.awcfe_place_compons .slimField {
	float: left;
	margin-right: 1%;
	width: 24%;
}

.awcfe_place_compons .slimField input {
	width: 100%;
}

.awcfe_place_compons .wideField {
	float: left;
}

.awcfe_place_compons .wideField.colspan3 {
	width: 75%;
}

.awcfe_place_compons .wideField.colspan2 {
	width: 50%;
}

.awcfe_place_compons .wideField.colspan1 {
	width: 35%;
}

.form-row-first .awcfe_place_compons .label, .form-row-last .awcfe_place_compons .label, .form-row-first .awcfe_place_compons .slimField, .form-row-last .awcfe_place_compons .slimField, .form-row-first .awcfe_place_compons .wideField.colspan1, .form-row-last .awcfe_place_compons .wideField.colspan1, .form-row-first .awcfe_place_compons .wideField.colspan2, .form-row-last .awcfe_place_compons .wideField.colspan2, .form-row-first .awcfe_place_compons .wideField.colspan3, .form-row-last .awcfe_place_compons .wideField.colspan3 {
	width: 100%;
}

.form-row-first .awcfe_place_compons .has-bottom, .form-row-last .awcfe_place_compons .has-bottom {
	margin-bottom: 5px;
}

/* map end */
.awcfe_error_msg p {
	color: #f00;
}

/*img group*/
.awcfe_imagegroup_field .awcfe_imagegroup_item img {
	width: 70px;
	height: auto;
	max-width: 100%;
	cursor: pointer;
}

.awcfe_imagegroup_field .awcfe_imagegroup_item .awcfe_imagegroup_label {
	display: block;
}

.awcfe_imagegroup_field .awce-check-param label.awcfe_imagegroup_item {
	position: relative;
	vertical-align: top;
}

.awcfe_imagegroup_field .awcfe_imagegroup_item input[type='checkbox'], .awcfe_imagegroup_field .awcfe_imagegroup_item input[type='radio'] {
	position: absolute;
	opacity: 0;
}

.awcfe_imagegroup_field .awcfe_sel_type_shadow input:checked + img, .awcfe_imagegroup_field .awcfe_sel_type_tick-shadow input:checked + img {
	box-shadow: 0 0 5px 1px #36b97e;
}

.awcfe_imagegroup_field .awcfe_sel_type_outline input:checked + img {
	outline: 1px solid #36b97e;
	box-shadow: 0px 0px 7px 1px rgba(14, 14, 14, .16);
}

.awcfe_imagegroup_field .awcfe_sel_type_tick input:checked ~ span:after, .awcfe_imagegroup_field .awcfe_sel_type_tick-shadow input:checked ~ span:after {
	content: "";
	display: block;
	position: absolute;
	left: 9px;
	top: 10%;
	width: 7px;
	height: 12px;
	border-style: solid;
	border-width: 0 3px 3px 0;
	border-color: #36b97e;
	transform: rotate(45deg);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	/* box-shadow: 0 0 0 1px #190d0d17; */
	margin-top: -7px;
	margin-left: -3px;
}

.awcfe_imagegroup_field .awcfe_disp_type_circle .awcfe_imagegroup_item img {
	border-radius: 50%;
}

.awcfe_imagegroup_field .awcfe_disp_type_squircle .awcfe_imagegroup_item img {
	border-radius: 5px;
}

.awcfe_show_description {
	display: block;
	font-size: .9rem;
	font-style: italic;
}

.awcfe-hidden {
	display: none;
}

.awcfe_toggleSwitch_field.awcfe-inline-item .awcfe-form-label, .awcfe_toggleSwitch_field.awcfe-inline-item .awcfe-formToggle {
	display: inline-block;
}

.awcfe_toggleSwitch_field.awcfe-inline-item .awcfe-formToggle {
	margin-top: 0px;
}

.awcfe_toggleSwitch_field input[type=checkbox] {
	height: 0;
	width: 0 !important;
	visibility: hidden;
	position: absolute;
}

.awcfe_toggleSwitch_field .awcfe-formToggle {
	cursor: pointer;
	text-indent: -9999px;
	width: 60px;
	height: 30px;
	background: grey;
	display: block;
	border-radius: 100px;
	position: relative;
	margin-top: 10px;
}

.awcfe_toggleSwitch_field .awcfe-formToggle:after {
	content: "";
	position: absolute;
	top: 5px;
	left: 5px;
	width: 20px;
	height: 20px;
	background: #fff;
	border-radius: 90px;
	-webkit-transition: .3s;
	transition: .3s;
}

.awcfe_toggleSwitch_field input:checked + .awcfe-formToggle {
	background: #4b46dd;
}

.awcfe_toggleSwitch_field input:checked + .awcfe-formToggle:after {
	left: calc(100% - 5px);
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
}

.awcfe_toggleSwitch_field .awcfe-formToggle:active:after {
	width: 30px;
}

.awcfe_colorgroup_field .awcfe_colorgroup_item input[type='checkbox'], .awcfe_colorgroup_field .awcfe_colorgroup_item input[type='radio'] {
	position: absolute;
	opacity: 0;
}

.awcfe_colorgroup_field .awcfe_disp_type_circle .awcfe_colorgroup_item .awcfe_colorgroup_div {
	border-radius: 50%;
}

.awcfe_colorgroup_field .awcfe_disp_type_squircle .awcfe_colorgroup_item .awcfe_colorgroup_div {
	border-radius: 5px;
}

.awcfe_colorgroup_field .awcfe_colorgroup_div {
	position: relative;
}

.awcfe_colorgroup_field .awcfe_sel_type_shadow input:checked + .awcfe_colorgroup_div, .awcfe_colorgroup_field .awcfe_sel_type_tick-shadow input:checked + .awcfe_colorgroup_div {
	border: 1px solid #36b97e;
	box-shadow: 0px 0px 7px 1px rgba(14, 14, 14, 60%);
}

.awcfe_colorgroup_field .awcfe_sel_type_outline input:checked + .awcfe_colorgroup_div {
	border: 1px solid #36b97e;
	box-shadow: 0px 0px 7px 1px rgba(14, 14, 14, 60%);
}

.awcfe_colorgroup_field .awcfe_sel_type_tick input:checked ~ .awcfe_colorgroup_div:after, .awcfe_colorgroup_field .awcfe_sel_type_tick-shadow input:checked ~ .awcfe_colorgroup_div:after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	width: 7px;
	height: 12px;
	border-style: solid;
	border-width: 0 3px 3px 0;
	border-color: #fff;
	transform: rotate(45deg);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-top: -7px;
	margin-left: -3px;
}

.xdsoft_datetimepicker .xdsoft_month {
	width: 100px;
	text-align: center;
}

.awcfe_week_field .awcfeweekpicker.xdsoft_calendar td.xdsoft_current, .awcfe_week_field .awcfeweekpicker.xdsoft_calendar td.xdsoft_today, .awcfe_week_field .awcfeweekpicker.xdsoft_calendar td.xdsoft_hover {
	background: none !important;
	color: inherit !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td:hover, .awcfe-date-hover, .awcfe-week-hover td {
	background: #dbeafe !important;
	/* Light Blue Hover */
	color: #1e3a8a !important;
}

.awcfe-week-selected td {
	background: #2563eb !important;
	/* Primary Blue Selection */
	color: #fff !important;
}

/* Repeater Buttons - Storefront Coupon Blue Add Button & Red Cross Remove Link */
.awcfe-repeater-btn-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 8px;
	margin-bottom: 5px;
	width: 100%;
	clear: both;
}

button.awcfe-repeater-add-btn, .awcfe-repeater-add-btn {
	background: #3b9ad9 !important;
	/* Storefront coupon banner blue */
	color: #fff !important;
	border: none !important;
	border-radius: 4px !important;
	padding: 5px 16px !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: none !important;
	white-space: nowrap !important;
	flex-shrink: 0 !important;
}

button.awcfe-repeater-add-btn:hover, .awcfe-repeater-add-btn:hover {
	background: #2e8ac8 !important;
	color: #fff !important;
}

button.awcfe-repeater-remove-btn, .awcfe-repeater-remove-btn {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	color: #e02b27 !important;
	/* Red text and cross */
	font-size: 13px !important;
	line-height: 1.5 !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	padding: 4px 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	white-space: nowrap !important;
	flex-shrink: 0 !important;
}

button.awcfe-repeater-remove-btn:hover, .awcfe-repeater-remove-btn:hover {
	background: none !important;
	color: #b91c1c !important;
	text-decoration: underline !important;
}

.awcfe-repeater-remove-btn span {
	color: #e02b27 !important;
	font-size: 15px !important;
	margin-right: 5px !important;
	line-height: 1 !important;
	font-weight: bold !important;
}

/* Presentation layer fix for Block Checkout manual repeater buttons alignment */
.awcfe-repeater-row-remove-wrap {
	display: flex !important;
	justify-content: flex-end;
	align-items: center !important;
	width: 100% !important;
	clear: both !important;
	margin-top: 5px !important;
	margin-bottom: 5px !important;
}

.awcfe-repeater-row-remove-wrap:has(.awcfe-repeater-group-add-wrap:not([style*="display: none"])) {
	justify-content: space-between !important;
}

.awcfe-repeater-group-add-wrap {
	display: inline-flex !important;
	justify-content: flex-end !important;
	align-items: center !important;
	margin: 0 !important;
}

/* Force hide the Add Field wrapper when JS hides it by setting style="display: none;" */
.awcfe-repeater-group-add-wrap[style*="display: none"] {
	display: none !important;
}

/* Force hide repeater clone fields in Block Checkout until JavaScript activates them */
.aco-repeater-hidden, .wc-block-checkout__additional-field:has([data-is-repeater-clone="1"]):not(.awcfe-repeater-active), .wc-block-checkout__additional-field:has([data-repeater-index]:not([data-repeater-index="1"])):not(.awcfe-repeater-active), .wc-block-components-checkbox-control:has([data-is-repeater-clone="1"]):not(.awcfe-repeater-active), .wc-block-components-checkbox:has([data-is-repeater-clone="1"]):not(.awcfe-repeater-active), .wc-block-components-text-input:has([data-is-repeater-clone="1"]):not(.awcfe-repeater-active), .wc-block-components-combobox-control:has([data-is-repeater-clone="1"]):not(.awcfe-repeater-active), .wc-block-components-select-control:has([data-is-repeater-clone="1"]):not(.awcfe-repeater-active), .wc-block-components-select:has([data-is-repeater-clone="1"]):not(.awcfe-repeater-active) {
	display: none !important;
}

.awcfe-repeater-clone + .awcfe-repeater-group-add-wrap {
	margin-top: 10px !important;
}

.awcfe-repeater-parent + .awcfe-repeater-group-add-wrap {
	margin-top: 10px !important;
}

/* Layout and Spacing for Checkbox Fields in Block Checkout */
@media (min-width: 768px) {
	.wc-block-checkout .wc-block-checkout__additional-field:has(.wc-block-components-checkbox-control), .wc-block-checkout .wc-block-checkout__additional-field:has(.wc-block-components-checkbox) {
		grid-column: span 1 !important;
	}
}

.wc-block-checkout .wc-block-checkout__additional-field:has(.wc-block-components-checkbox-control), .wc-block-checkout .wc-block-checkout__additional-field:has(.wc-block-components-checkbox) {
	margin-bottom: 12px !important;
}

.wc-block-checkout .wc-block-checkout__additional-field .wc-block-components-checkbox-control, .wc-block-checkout .wc-block-checkout__additional-field .wc-block-components-checkbox {
	margin-bottom: 0 !important;
	padding-top: 6px !important;
	padding-bottom: 6px !important;
}

/* Multi-select and SelectWoo/Select2 styles for Classic Checkout */
.awcfe_multiselect_field .woocommerce-input-wrapper {
	width: 100% !important;
	display: block !important;
}

.awcfe_multiselect_field .select2-container, .awcfe_multiselect_field .select2-container--default, .awcfemultiselect + .select2-container, .awcfemultiselect + .select2-container--default {
	width: 100% !important;
	max-width: 100% !important;
	display: block !important;
	box-sizing: border-box !important;
}

.awcfe_multiselect_field .select2-container .select2-selection--multiple, .awcfemultiselect + .select2-container .select2-selection--multiple {
	min-height: 42px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	border: 1px solid #d1d5db !important;
	border-radius: 4px !important;
	padding: 3px 6px !important;
	background-color: #fff !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	cursor: pointer !important;
}

.awcfe_multiselect_field .select2-container .select2-selection--multiple .select2-selection__rendered, .awcfemultiselect + .select2-container .select2-selection--multiple .select2-selection__rendered {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	list-style: none !important;
	cursor: pointer !important;
}

.awcfe_multiselect_field .select2-container .select2-selection--multiple .select2-selection__choice, .awcfemultiselect + .select2-container .select2-selection--multiple .select2-selection__choice {
	margin: 2px 4px 2px 0 !important;
	padding: 3px 8px !important;
	border: 1px solid #d1d5db !important;
	border-radius: 3px !important;
	background-color: #f3f4f6 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	display: inline-flex !important;
	align-items: center !important;
	cursor: default !important;
}

.awcfe_multiselect_field .select2-container .select2-search--inline, .awcfemultiselect + .select2-container .select2-search--inline {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	flex-grow: 1 !important;
	cursor: pointer !important;
}

.awcfe_multiselect_field .select2-container .select2-search--inline .select2-search__field, .awcfemultiselect + .select2-container .select2-search--inline .select2-search__field {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	margin: 0 0 0 4px !important;
	padding: 0 !important;
	height: 28px !important;
	min-height: 0 !important;
	line-height: 28px !important;
	font-size: 14px !important;
	width: auto !important;
	max-width: 100% !important;
	caret-color: transparent !important;
	cursor: pointer !important;
	user-select: none !important;
}

select.awcfemultiselect {
	width: 100% !important;
	min-height: 42px !important;
}

/* Ensure select2 / selectWoo single select in checkout matches theme input styling and never collapses */
.woocommerce-checkout .select2-container--default .select2-selection--single, .woocommerce form.checkout .select2-container--default .select2-selection--single, .awcfe-repeater-field-row .select2-container--default .select2-selection--single, .form-row .select2-container--default .select2-selection--single {
	height: 40px !important;
	min-height: 40px !important;
	border: 1px solid #ddd !important;
	border-radius: 4px !important;
	display: flex !important;
	align-items: center !important;
	background-color: #fff !important;
	box-sizing: border-box !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered, .woocommerce form.checkout .select2-container--default .select2-selection--single .select2-selection__rendered, .awcfe-repeater-field-row .select2-container--default .select2-selection--single .select2-selection__rendered, .form-row .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 38px !important;
	min-height: 38px !important;
	padding-left: 12px !important;
	padding-right: 28px !important;
	color: #444 !important;
	font-size: 14px !important;
	width: 100% !important;
	display: block !important;
	box-sizing: border-box !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow, .woocommerce form.checkout .select2-container--default .select2-selection--single .select2-selection__arrow, .awcfe-repeater-field-row .select2-container--default .select2-selection--single .select2-selection__arrow, .form-row .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 38px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	right: 8px !important;
	position: absolute !important;
}
