.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: #ff0000;
  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;
}

/* 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, 0.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, 0.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: #ff0000; }
/*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, 0.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: 0.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:0.3s;transition:0.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 rgb(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 rgb(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: #ffffff !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: #ffffff !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: #ffffff !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;
}

