/* ==========================================================================
   Fretwise Checkout — consolidated and reorganized
   ========================================================================== */

:root{
  --wf-text:            #404040;
  --wf-text-muted:      #737373;
  --wf-label:           #969595;
  --wf-border:          #bfbfbf;   /* text-field / select2 border */
  --wf-checkbox-border: #b4b9be;   /* checkbox / radio border — a distinct grey from --wf-border */
  --wf-border-soft:     #ddd;      /* dividers, table rules, panel borders */
  --wf-bg:              var(--white);
  --wf-primary:         var(--secondary);
  --wf-error:           var(--danger);
  --wf-success:         var(--success);
  --wf-btn-bg:          #999;
  --wf-btn-disabled:    #c8c8c8;
  --wf-icon-muted:      #bbb;
  --wf-selected-bg:     #f7f7f7;
  --wf-radius:          4px;
  --wf-field-h:         48px;
  --wf-gap:             16px;
  --wf-font:            14px;
  --wf-font-small:      12px;
}

/* --------------------------------------------------------------------
   1. Global reset & base typography
   -------------------------------------------------------------------- */
#wfacp-e-form a:not(.button-social-login),
#wfacp-e-form abbr,
#wfacp-e-form address,
#wfacp-e-form b,
#wfacp-e-form big,
#wfacp-e-form blockquote,
#wfacp-e-form caption,
#wfacp-e-form center,
#wfacp-e-form cite,
#wfacp-e-form code,
#wfacp-e-form del,
#wfacp-e-form em,
#wfacp-e-form fieldset,
#wfacp-e-form font,
#wfacp-e-form form,
#wfacp-e-form h1,
#wfacp-e-form h2,
#wfacp-e-form h3,
#wfacp-e-form h4,
#wfacp-e-form h5,
#wfacp-e-form h6,
#wfacp-e-form i,
#wfacp-e-form iframe,
#wfacp-e-form img,
#wfacp-e-form ins,
#wfacp-e-form label:not(.sublium-front-option):not(.sublium-front-radio-label),
#wfacp-e-form legend,
#wfacp-e-form p,
#wfacp-e-form pre,
#wfacp-e-form small,
#wfacp-e-form strike,
#wfacp-e-form strong,
#wfacp-e-form sub,
#wfacp-e-form sup,
#wfacp-e-form table,
#wfacp-e-form tbody,
#wfacp-e-form td,
#wfacp-e-form tfoot,
#wfacp-e-form th,
#wfacp-e-form thead,
#wfacp-e-form tr,
#wfacp-e-form u {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
}

#wfacp-e-form :not(.wfacp_smart_buttonsbutton):not(.wfacp_paymentbutton),
.wfacp_mini_cart_start_h * {
    text-rendering: optimizelegibility !important;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: grayscale;
    outline: 0;
    box-sizing: border-box;
}

body #wfacp-e-form * {
    line-height: 1.5;
    font-size: var(--wf-font);
}

/* Unscoped — applies site-wide, not just inside the form. Kept exactly
   as authored in the source. */
body {
    line-height: 1.5;
    text-align: inherit;
    margin: 0;
}

#wfacp-e-form .clear,
#wfacp-e-form .clearfix:after,
#wfacp-e-form .wfacp-clearfix:after {
    clear: both;
}

#wfacp-e-form .clearfix:after,
#wfacp-e-form .clearfix:before,
#wfacp-e-form .wfacp-clearfix:after,
#wfacp-e-form .wfacp-clearfix:before {
    content: " ";
    display: table;
}

#wfacp-e-form table {
    border-collapse: collapse;
    border-spacing: 0;
    background-color: transparent;
}

#wfacp-e-form td,
#wfacp-e-form th {
    padding: 0;
    text-align: left;
}

@font-face {
    font-family: bwf-icons;
    src: url(fonts/bwf-icons/bwf.eot?mq1o9z);
    src: url(fonts/bwf-icons/bwf.eot?mq1o9z#iefix) format('embedded-opentype'), url(fonts/bwf-icons/bwf.ttf?mq1o9z) format('truetype'), url(fonts/bwf-icons/bwf.woff?mq1o9z) format('woff'), url(fonts/bwf-icons/bwf.svg?mq1o9z#icomoon) format('svg');
    font-weight: 400;
    font-style: normal;
    font-display: block
}

@font-face {
    font-family: bwf-icon;
    src: url(fonts/icons-fonts/bwf-icon.eot?rwcwgb);
    src: url(fonts/icons-fonts/bwf-icon.eot?rwcwgb#iefix) format("embedded-opentype"), url(fonts/icons-fonts/bwf-icon.ttf?rwcwgb) format("truetype"), url(fonts/icons-fonts/bwf-icon.woff?rwcwgb) format("woff"), url(fonts/icons-fonts/bwf-icon.svg?rwcwgb#funnelkit-icon) format("svg");
    font-weight: 400;
    font-style: normal
}

/* --------------------------------------------------------------------
   2. Layout / grid (rows & columns)
   -------------------------------------------------------------------- */
body #wfacp-e-form .wfacp-row {
    margin-right: -8px;
    margin-left: -8px;
}

#wfacp-e-form .wfacp-form-control-wrapper {
    padding: 0 8px;
    margin-bottom: var(--wf-gap);
    position: relative;
}

#wfacp-e-form p.form-row.wfacp-col-full,
#wfacp-e-form p.form-row.wfacp-col-left-half {
    position: relative;
    display: inline-block;
    padding-right: 8px;
    padding-left: 8px;
}

/* --------------------------------------------------------------------
   3. Inputs, selects, textareas — base field style
   -------------------------------------------------------------------- */
body #wfacp-e-form input[type=date]:not([hidden]),
body #wfacp-e-form input[type=email]:not([hidden]),
body #wfacp-e-form input[type=number]:not([hidden]),
body #wfacp-e-form input[type=password]:not([hidden]),
body #wfacp-e-form input[type=tel]:not([hidden]),
body #wfacp-e-form input[type=text]:not([hidden]),
body #wfacp-e-form select,
body #wfacp-e-form select#join_referral_program,
body #wfacp-e-form textarea,
body .wfacp_mini_cart_start_h input[type=date]:not([hidden]),
body .wfacp_mini_cart_start_h input[type=email]:not([hidden]),
body .wfacp_mini_cart_start_h input[type=number]:not([hidden]),
body .wfacp_mini_cart_start_h input[type=password]:not([hidden]),
body .wfacp_mini_cart_start_h input[type=tel]:not([hidden]),
body .wfacp_mini_cart_start_h input[type=text]:not([hidden]),
body .wfacp_mini_cart_start_h select,
body .wfacp_mini_cart_start_h textarea {
    font-size: var(--wf-font);
    line-height: 1;
    width: 100%;
    background-color: var(--wf-bg);
    border-radius: var(--wf-radius);
    position: relative;
    color: var(--wf-text);
    display: block;
    min-height: var(--wf-field-h);
    padding: 20px 12px 2px;
    vertical-align: top;
    box-shadow: none;
    border: 1px solid var(--wf-border);
    font-weight: 400;
    height: auto;
    margin-bottom: 0;
    margin-top: 0;
    max-width: 100%;
}

/* --------------------------------------------------------------------
   4. Floating labels
   Two variants exist in the source: the default "float over the field"
   label (this template's normal behaviour), and a "modern-label" variant
   used on wrappers carrying the .wfacp-modern-label class, which starts
   fully transparent instead of large-and-centered and fades in instead
   of sliding. Both are preserved as their own selector groups.
   -------------------------------------------------------------------- */
#wfacp-e-form label.wfacp-form-control-label:not(.radio):not(.checkbox) {
    position: absolute;
    top: 50%;
    left: 20px;
    margin-top: -10px;
    transform-origin: left top;
    color: var(--wf-label);
    font-size: var(--wf-font);
    line-height: 1;
    font-weight: 400;
    background-color: var(--wf-bg);
    pointer-events: none;
    transition: all .235s ease;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    z-index: 9;
    bottom: 5px;
    right: 22px;
    margin-bottom: 0;
}

#wfacp-e-form .wfacp-form:not(.wfacp-top) p.wfacp-form-control-wrapper.wfacp-anim-wrap:not(.fattura24) label.wfacp-form-control-label:not(.radio):not(.checkbox) {
    top: 6px !important;
    font-size: var(--wf-font-small) !important;
    background: 0 0 !important;
    bottom: auto;
    right: 8px;
    margin-top: 0;
    line-height: 1;
}

#wfacp-e-form .wfacp-form:not(.wfacp-top) p.wfacp-form-control-wrapper.wfacp-anim-wrap:not(.fattura24) label.wfacp-form-control-label:not(.radio):not(.checkbox) .optional,
#wfacp-e-form .wfacp-form:not(.wfacp-top) p.wfacp-form-control-wrapper.wfacp-anim-wrap:not(.fattura24) label.wfacp-form-control-label:not(.radio):not(.checkbox) .required {
    display: inline-block;
    font-size: var(--wf-font-small) !important;
    line-height: 1 !important;
}

/* modern-label variant */
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper label.wfacp-form-control-label,
#wfacp-e-form .wfacp_collapsible_order_summary_wrap.wfacp-modern-label p.wfacp-form-control-wrapper .wfacp-form-control-label,
.wfacp-modern-label .wfacp_mini_cart_start_h p.wfacp-form-control-wrapper .wfacp-form-control-label,
.wfacp_mini_cart_start_h:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper .wfacp-form-control-label {
    top: 6px;
    background: 0 0;
    bottom: auto;
    right: 8px;
    margin-top: 0;
    opacity: 0;
    transform: none;
    transition: all .2s ease-out;
    font-size: var(--wf-font-small) !important;
    line-height: 1.3;
}

#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper.wfacp-anim-wrap label.wfacp-form-control-label,
#wfacp-e-form .wfacp_collapsible_order_summary_wrap.wfacp-modern-label p.wfacp-form-control-wrapper.wfacp-anim-wrap .wfacp-form-control-label,
.wfacp-modern-label .wfacp_mini_cart_start_h p.wfacp-form-control-wrapper.wfacp-anim-wrap .wfacp-form-control-label,
.wfacp_mini_cart_start_h:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper.wfacp-anim-wrap .wfacp-form-control-label {
    opacity: 1;
    line-height: 1.3;
}

#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper label.wfacp-form-control-label .optional,
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper label.wfacp-form-control-label abbr.required,
#wfacp-e-form .wfacp_main_form.woocommerce .wfacp-login-wrapper span.required {
    line-height: 1.3;
    font-size: var(--wf-font-small) !important;
}

#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper.wfacp-anim-wrap .select2-container .select2-selection--single .select2-selection__rendered,
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper.wfacp-anim-wrap input[type=date],
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper.wfacp-anim-wrap input[type=email],
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper.wfacp-anim-wrap input[type=number],
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper.wfacp-anim-wrap input[type=password],
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper.wfacp-anim-wrap input[type=tel],
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper.wfacp-anim-wrap input[type=text]:not(.select2-search__field),
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper.wfacp-anim-wrap select,
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper.wfacp-anim-wrap select#join_referral_program,
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper.wfacp-anim-wrap textarea,
#wfacp-e-form .wfacp_collapsible_order_summary_wrap.wfacp-modern-label p.wfacp-form-control-wrapper.wfacp-anim-wrap .wfacp-form-control,
.wfacp-modern-label .wfacp_mini_cart_start_h p.wfacp-form-control-wrapper.wfacp-anim-wrap .wfacp-form-control,
.wfacp_mini_cart_start_h:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper.wfacp-anim-wrap .wfacp-form-control {
    padding: 20px 12px 4px !important;
}

#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper .select2-container .select2-selection--single .select2-selection__rendered,
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper input[type=date],
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper input[type=email],
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper input[type=number],
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper input[type=password],
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper input[type=tel],
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper input[type=text]:not(.select2-search__field),
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper select,
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper select#join_referral_program,
#wfacp-e-form .wfacp-form:not(.wfacp-top).wfacp-modern-label p.wfacp-form-control-wrapper textarea,
#wfacp-e-form .wfacp_collapsible_order_summary_wrap.wfacp-modern-label p.wfacp-form-control-wrapper .wfacp-form-control,
.wfacp-modern-label .wfacp_mini_cart_start_h .wfacp-form-control-wrapper .wfacp-form-control,
.wfacp_mini_cart_start_h:not(.wfacp-top).wfacp-modern-label .wfacp-form-control-wrapper .wfacp-form-control {
    padding: 12px 12px !important;
    transition-delay: 0s, 0s;
    transition-duration: .2s, 0s;
    transition-property: all, width;
    transition-timing-function: ease-out, ease;
}

/* mini-cart drawer's own copy of the floating label (slightly different
   sizing/offsets from the main form's version above) */
.wfacp_mini_cart_start_h label.wfacp-form-control-label {
    position: absolute;
    top: 50%;
    left: 12px;
    margin-top: -10px;
    transform-origin: left top;
    color: var(--wf-label);
    font-size: var(--wf-font);
    line-height: 20px;
    font-weight: 400;
    pointer-events: none;
    transition: all .235s ease;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    z-index: 9;
    bottom: 5px;
    right: 30px;
    margin-bottom: 0;
}

/* --------------------------------------------------------------------
   5. Checkboxes & radios
   -------------------------------------------------------------------- */
#wfacp-e-form .wfacp_main_form input[type=checkbox] {
    opacity: 1;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    font-size: var(--wf-font);
    border: 1px solid var(--wf-checkbox-border);
    background: var(--wf-bg);
    color: #555;
    clear: none;
    cursor: pointer;
    display: inline-block;
    line-height: 0;
    height: 16px;
    margin: 0;
    top: 3px;
    outline: 0;
    padding: 0 !important;
    text-align: center;
    vertical-align: middle;
    width: 16px;
    min-width: 16px;
    position: absolute;
    left: 0;
    z-index: 99;
    border-radius: var(--wf-radius);
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

body #wfacp-e-form .wfacp_main_form.woocommerce input[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    font-size: var(--wf-font);
    border: 1px solid var(--wf-checkbox-border);
    background: var(--wf-bg);
    color: #555;
    clear: none;
    cursor: pointer;
    display: inline-block;
    line-height: 0;
    height: 16px;
    margin: 0;
    top: auto;
    outline: 0;
    padding: 0 !important;
    text-align: center;
    vertical-align: middle;
    width: 16px;
    min-width: 16px;
    transition: .05s border-color ease-in-out;
    position: absolute;
    left: 0;
    z-index: 99;
}

/* NOTE: the source declares input[type=radio] on .wfacp_main_form.woocommerce
   a second time, later in the file, differing only in `top` (2px here vs
   `auto` above) and a couple of vendor-prefix/opacity lines. The block
   above additionally carries a #wfacp-e-form ID in its selector, which
   outweighs this one on specificity regardless of source order — kept
   verbatim rather than merged, since collapsing them risks silently
   changing which value actually wins. */
/* body .wfacp_main_form.woocommerce input[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    opacity: 1;
    appearance: none;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    font-size: var(--wf-font);
    border: 1px solid var(--wf-checkbox-border);
    background: var(--wf-bg);
    color: #555;
    clear: none;
    cursor: pointer;
    display: inline-block;
    line-height: 0;
    height: 16px;
    margin: 0;
    top: 2px;
    outline: 0;
    padding: 0 !important;
    text-align: center;
    vertical-align: middle;
    width: 16px;
    min-width: 16px;
    transition: .05s border-color ease-in-out;
    position: absolute;
    left: 0;
    z-index: 99;
} */

body .wfacp_main_form.woocommerce input[type=checkbox],
body .wfacp_main_form.woocommerce input[type=radio] {
    opacity: 1;
}

body .wfacp_main_form.woocommerce #payment li.wc_payment_method input.input-radio:checked::before,
body .wfacp_main_form.woocommerce #payment.wc_payment_method input[type=radio]:checked:before,
body .wfacp_main_form.woocommerce input[type=radio]:checked:before {
    content: "";
    text-indent: -9999px;
    border-radius: 50px;
    font-size: 24px;
    width: 6px;
    height: 6px;
    margin: 4px;
    line-height: 16px;
    background-color: var(--wf-primary);
    float: left;
    display: inline-block;
    vertical-align: middle;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body .wfacp_main_form.woocommerce #payment li.wc_payment_method input.input-radio:checked::before {
    position: initial;
    left: auto;
    right: auto;
}

#wfacp-e-form #payment li.wc_payment_method input.input-radio:checked::before,
#wfacp-e-form #payment.wc_payment_method input[type=radio]:checked:before,
#wfacp-e-form .wfacp_main_form.woocommerce input[type=radio]:checked:before,
#wfacp-e-form input[type=radio]:checked:before {
    display: block;
}

body .wfacp_main_form.woocommerce input[type=checkbox]:checked:before {
    width: 14px;
    content: "\e600";
    height: 14px;
    font-size: var(--wf-font);
    line-height: 1;
    font-family: bwf-icon;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    color: var(--wf-primary);
    top: 50%;
    margin-top: -7px;
    transform: none;
    border: none;
}

body .wfacp_main_form.woocommerce .wfacp_checkbox_field > label,
body .wfacp_main_form.woocommerce label.checkbox {
    display: block !important;
    padding: 0;
    padding-left: 25px !important;
    line-height: 1.5;
    position: relative;
    margin-bottom: 0;
    width: auto;
    font-size: var(--wf-font);
}

body .wfacp_main_form.woocommerce #wfacp_checkout_form .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow {
    transform: rotate(180deg);
    margin-top:0
}

/* --------------------------------------------------------------------
   6. Buttons — primary action, coupon, login, place-order
   -------------------------------------------------------------------- */
body #wfacp-e-form .button,
body .wfacp_mini_cart_start_h .button,
body .wfacp_mini_cart_start_h .wfacp-coupon-page .button,
body button.button.wfacp-coupon-btn,
body button.button.wfacp-login-btn {
    cursor: pointer;
    background-color: var(--wf-btn-bg);
    color: #fff;
    text-decoration: none;
    font-weight: 400;
    line-height: 1.5;
    padding: 10px 20px;
    border-radius: var(--wf-radius);
    min-height: var(--wf-field-h);
    letter-spacing: 0;
    margin: 0;
    width: 100%;
    display: block;
    text-align: center;
}

#wfacp-e-form button:disabled,
#wfacp-e-form button[disabled],
.wfacp_main_form button:disabled,
.wfacp_main_form button[disabled],
.wfacp_mini_cart_start_h button:disabled,
.wfacp_mini_cart_start_h button[disabled],
.wp-core-ui .wfacp_mini_cart_start_h button:disabled,
.wp-core-ui .wfacp_mini_cart_start_h button[disabled] {
    border-color: var(--wf-btn-disabled) !important;
    background-color: var(--wf-btn-disabled) !important;
    color: #fff !important;
    cursor: inherit !important;
}

.wfacp-form .wfacp_main_form.woocommerce #payment #place_order,
.wfacp-form .wfacp_main_form.woocommerce button.button.button-primary.wfacp_next_page_button {
    height: auto;
}

body .wfacp_main_form .woocommerce-checkout .button.button#place_order {
    display: inline-block;
}

#wfacp-e-form .wfacp_main_form #payment .place-order,
#wfacp-e-form .wfacp_main_form .wfacp-order-place-btn-wrap {
    padding-top: 16px;
    margin: 0;
}

@-webkit-keyframes loading {
    0% { background-position: -200px 0; }
    100% { background-position: calc(100% + 200px) 0; }
}

@keyframes loading {
    0% { background-position: -200px 0; }
    100% { background-position: calc(100% + 200px) 0; }
}

/* --------------------------------------------------------------------
   7. Returning-customer login
   -------------------------------------------------------------------- */
body #wfacp-e-form .wfacp-login-wrapper {
    margin: 0 -8px;
}

body #wfacp-sec-wrapper .woocommerce-form-login .wfacp-remember-me input[type=checkbox] {
    position: relative;
    left: auto;
    top: auto;
    margin: 0 8px 0 0;
}

#wfacp-sec-wrapper .woocommerce-form-login .wfacp-remember-me label {
    margin: 0;
}

#wfacp-sec-wrapper .woocommerce-form-login .wfacp-col-left-half.lost_password,
#wfacp-sec-wrapper .woocommerce-form-login .wfacp-col-left-half.wfacp-remember-me {
    width: 50%;
    float: left;
}

/* --------------------------------------------------------------------
   8. Section titles
   -------------------------------------------------------------------- */
#wfacp-e-form .wfacp_main_form .wfacp_section_title {
    color: #333;
    font-weight: 400;
    margin-bottom: 0;
    font-size: 18px;
}

/* --------------------------------------------------------------------
   9. Coupon widget
   -------------------------------------------------------------------- */
#wfacp-e-form .wfacp_woocommerce_form_coupon.wfacp_template_9_coupon .wfacp-coupon-page {
    padding: 8px 0 16px;
}

#wfacp-e-form form.checkout_coupon.woocommerce-form-coupon.wfacp_display_block {
    margin-top: 0 !important;
    display: block !important;
}

#wfacp-e-form .wfacp_mb_mini_cart_sec_accordion_content form.checkout_coupon.woocommerce-form-coupon .wfacp-col-left-half {
    width: 60%;
    float: left;
}

#wfacp-e-form .wfacp_mb_mini_cart_sec_accordion_content form.checkout_coupon.woocommerce-form-coupon .form-row-last.wfacp-col-left-half {
    width: 100%;
    max-width: 40%;
}

#wfacp-e-form form.checkout_coupon.woocommerce-form-coupon .wfacp-col-left-half label {
    margin-bottom: 0;
    font-size: var(--wf-font);
    line-height: 15px;
    margin-top: -8px;
    background: 0 0;
}

.wfacp_mini_cart_start_h form.checkout_coupon.woocommerce-form-coupon .wfacp-col-full {
    width: 40%;
    float: left;
    margin: 0;
    clear: none;
    padding-left: 8px;
}

.wfacp_mini_cart_start_h .wfacp-coupon-section .wfacp-coupon-page {
    padding: 8px 0 16px;
    position: relative;
    border-bottom: 1px solid var(--wf-border-soft);
}

.wfacp_mini_cart_start_h form.checkout_coupon.wfacp_display_none {
    margin-top: 8px;
}

.wfacp_coupon_msg>div {
    margin: 0 !important;
}

/* --------------------------------------------------------------------
   10. Notices / messages
   -------------------------------------------------------------------- */
body #wfacp-e-form .wfacp_main_form.woocommerce .woocommerce-info {
    padding: 0 0 16px !important;
    height: auto !important;
    line-height: 1.5 !important;
    min-height: 1px;
    margin: 0 !important;
    text-align: left;
    font-size: var(--wf-font) !important;
    font-weight: 400;
    text-transform: inherit;
}

body #wfacp-sec-wrapper #order_coupon_field .wfacp_coupon_remove_msg,
body #wfacp-sec-wrapper #order_coupon_field .woocommerce-message:not(.wfacp_success),
body #wfacp-sec-wrapper .wfacp_main_form.woocommerce #wfacp_checkout_form .wfacp_coupon_field_msg>.wfacp_single_coupon_msg,
body #wfacp-sec-wrapper .wfacp_mb_mini_cart_sec_accordion_content .woocommerce-message:not(.wfacp_success),
body .wfacp-coupon-page .wfacp_coupon_remove_msg,
body .wfacp_main_form.woocommerce #wfacp_checkout_form .wfacp_coupon_field_msg>.wfacp_single_coupon_msg,
body .wfacp_mini_cart_start_h .wfacp_coupon_success,
body .wfacp_mini_cart_start_h .woocommerce-message:not(.wfacp_success) {
    padding: 0 0 0 20px;
    border-radius: 3px;
    color: var(--wf-success) !important;
    border: none;
    margin: 0 0 16px;
    min-height: 1px;
    background: url(./img/notice-tick.svg) no-repeat 0 50%;
    background-size: 12px;
    line-height: 16px;
    font-size: var(--wf-font-small);
}

body #wfacp-sec-wrapper .wfacp-success,
body #wfacp-sec-wrapper .wfacp_main_form.woocommerce #wfacp_checkout_form .wfacp_coupon_field_msg>.wfacp_single_coupon_msg,
body #wfacp-sec-wrapper .wfacp_main_form.woocommerce .woocommerce-message,
body #wfacp-sec-wrapper .wfacp_success,
body #wfacp-sec-wrapper .woocommerce-message,
body .wfacp-coupon-page .wfacp_coupon_remove_msg {
    border-color: var(--wf-success) !important;
    padding: 5px 10px 5px 24px;
    border-radius: var(--wf-radius);
    color: var(--wf-success) !important;
    border: none;
    border-left: 0;
    margin: 0 0 16px;
    background: url(./img/notice-tick.svg) no-repeat 8px 8px;
    min-height: 1px;
    font-size: var(--wf-font-small);
    background-size: 12px;
}

body #wfacp-sec-wrapper #wfacp_checkout_form .wfacp_coupon_field_msg>.wfacp_single_coupon_msg *,
body #wfacp-sec-wrapper .wfacp-success :not(.wfacp-quickv-close),
body #wfacp-sec-wrapper .wfacp_main_form.woocommerce #wfacp_checkout_form .wfacp_coupon_field_msg>.wfacp_single_coupon_msg *,
body #wfacp-sec-wrapper .wfacp_main_form.woocommerce .woocommerce-message *,
body #wfacp-sec-wrapper .wfacp_success *,
body #wfacp-sec-wrapper .woocommerce-message *,
body .wfacp-coupon-page .wfacp_coupon_remove_msg * {
    font-size: var(--wf-font-small);
    line-height: 1.5;
}

body #wfacp-e-form .wfacp_display_block .wfacp_coupon_msg .woocommerce-error:empty,
body #wfacp-e-form .wfacp_display_block .wfacp_coupon_msg .woocommerce-message:empty,
body #wfacp-e-form .wfacp_display_none .wfacp_coupon_msg .woocommerce-error:empty,
body #wfacp-e-form .wfacp_display_none .wfacp_coupon_msg .woocommerce-message:empty {
    display: none !important;
}

body #wfacp-sec-wrapper .checkout-inline-error-message,
body #wfacp-sec-wrapper span.wfacp_inline_field_error {
    position: relative;
    font-size: var(--wf-font-small);
    line-height: 1;
    color: var(--wf-error);
    display: block;
    margin-top: 8px;
}

body .wfacp_main_form .wfacp-error,
body .wfacp_main_form .wfacp-message {
    color: var(--wf-text-muted);
    margin: 0 0 16px;
    padding: 5px 10px;
    position: relative;
    border-top: none;
    border-left: 2px solid transparent;
}

/* --------------------------------------------------------------------
   11. Order summary table
   -------------------------------------------------------------------- */
#wfacp-e-form .wfacp_mb_mini_cart_wrap,
#wfacp-e-form .wfacp_order_summary thead {
    display: none;
}

.wfacp_order_summary table {
    width: 100%;
}

#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table tr td,
#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table tr th,
#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table_layout_9 tr td,
#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table_layout_9 tr th {
    padding: 12px 10px;
    font-size: var(--wf-font);
    vertical-align: middle;
    letter-spacing: 0;
}

#wfacp-e-form .wfacp-form table.shop_table tfoot tr td:last-child,
#wfacp-e-form .wfacp-form table.shop_table tfoot tr th:last-child,
#wfacp-e-form .wfacp_form_cart table.shop_table tfoot tr th:last-child,
#wfacp-e-form .wfacp_form_cart table.shop_table.woocommerce-checkout-review-order-table_layout_9 tfoot tr td:last-child {
    padding-right: 0;
}

#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table tr.cart-subtotal,
#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table tr.order-total {
    border-top: 1px solid var(--wf-border-soft);
}

#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table_layout_9 tr.cart-subtotal,
#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table_layout_9 tr.order-total {
    border-top: 1px solid var(--wf-border-soft);
}

#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table_layout_9 tr.cart-subtotal td,
#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table_layout_9 tr.cart_item td:last-child,
#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table_layout_9 tr.order-total td,
#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table_layout_9 tr.shipping_total_fee td:last-child,
#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table_layout_9 tr.tax-total td:last-child {
    padding-right: 0;
}

#wfacp-e-form .wfacp_mb_mini_cart_sec_accordion_content table.shop_table.woocommerce-checkout-review-order-table_layout_9 td.product-total {
    width: 20%;
}

#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table_layout_9 .cart_item .product-image {
    float: left;
    max-width: 55px;
}

#wfacp-e-form .layout_9_order_summary tfoot tr td:last-child {
    text-align: right;
}

#wfacp-e-form .wfacp-form table.shop_table tfoot tr td:first-child,
#wfacp-e-form .wfacp-form table.shop_table tfoot tr th:first-child,
#wfacp-e-form .wfacp_form_cart table.shop_table tfoot tr td:first-child,
#wfacp-e-form .wfacp_form_cart table.shop_table tfoot tr th:first-child {
    font-weight: 400;
    padding-left: 0;
}

#wfacp-e-form .wfacp_form_cart table.shop_table.woocommerce-checkout-review-order-table_layout_9 tfoot tr td,
#wfacp-e-form .wfacp_form_cart table.shop_table.woocommerce-checkout-review-order-table_layout_9 tfoot tr th {
    padding: 10px 10px;
    vertical-align: middle;
}

#wfacp-e-form .wfacp_form_cart table.shop_table.woocommerce-checkout-review-order-table_layout_9 tr.order-total th {
    padding-left: 0;
}

#wfacp-e-form .wfacp_form_cart table.shop_table.woocommerce-checkout-review-order-table_layout_9 tr.order-total td {
    padding-right: 0;
}

#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table tfoot tr.shipping td,
#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table th.product-total,
#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table tr.cart-subtotal td,
#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table tr.order-total td,
#wfacp-e-form td.product-total {
    text-align: right;
}

#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table tr td:last-child {
    text-align: right;
}

#wfacp-e-form .wfacp_main_form .wfacp_order_summary label.wfacp-order-summary-label {
    display: none;
}

body #wfacp-e-form .wfacp_main_form .checkout .shop_table tfoot td,
body #wfacp-e-form .wfacp_main_form .checkout .shop_table tfoot th {
    vertical-align: middle;
}

body #wfacp-e-form .wfacp_form_cart table.shop_table.woocommerce-checkout-review-order-table_layout_9 tfoot tr:not(.order-total) td,
body #wfacp-e-form .wfacp_form_cart table.shop_table.woocommerce-checkout-review-order-table_layout_9 tfoot tr:not(.order-total) th,
body #wfacp-e-form .wfacp_mb_mini_cart_sec_accordion_content table.shop_table.wfacp_mini_cart_reviews tr:not(.order-total) td,
body #wfacp-e-form .wfacp_mb_mini_cart_sec_accordion_content table.shop_table.wfacp_mini_cart_reviews tr:not(.order-total) th,
body .wfacp_mini_cart_start_h table.shop_table.wfacp_mini_cart_reviews tr:not(.order-total) td,
body .wfacp_mini_cart_start_h table.shop_table.wfacp_mini_cart_reviews tr:not(.order-total) th {
    padding: 0 0 4px;
}

body #wfacp-e-form .wfacp_mb_mini_cart_sec_accordion_content table.shop_table.wfacp_mini_cart_reviews tfoot tr:first-child td,
body #wfacp-e-form .wfacp_mb_mini_cart_sec_accordion_content table.shop_table.wfacp_mini_cart_reviews tfoot tr:first-child th,
body .wfacp_mini_cart_start_h table.shop_table.wfacp_mini_cart_reviews tr:first-child td,
body .wfacp_mini_cart_start_h table.shop_table.wfacp_mini_cart_reviews tr:first-child th {
    padding-top: 16px;
}

body #wfacp-e-form .wfacp_form_cart table.shop_table.woocommerce-checkout-review-order-table_layout_9 tfoot tr:nth-last-child(2) td,
body #wfacp-e-form .wfacp_form_cart table.shop_table.woocommerce-checkout-review-order-table_layout_9 tfoot tr:nth-last-child(2) th,
body #wfacp-e-form .wfacp_mb_mini_cart_sec_accordion_content table.shop_table.wfacp_mini_cart_reviews tr:nth-last-child(2) td,
body #wfacp-e-form .wfacp_mb_mini_cart_sec_accordion_content table.shop_table.wfacp_mini_cart_reviews tr:nth-last-child(2) th,
body .wfacp_mini_cart_start_h table.shop_table.wfacp_mini_cart_reviews tr:nth-last-child(2) td,
body .wfacp_mini_cart_start_h table.shop_table.wfacp_mini_cart_reviews tr:nth-last-child(2) th {
    padding-bottom: 16px;
}

body #wfacp-e-form table.shop_table tr.order-total *,
body #wfacp-e-form table.shop_table tr.order-total td,
body #wfacp-e-form table.shop_table tr.order-total td span,
body #wfacp-e-form table.shop_table tr.order-total td span bdi,
body .wfacp_mini_cart_start_h table.shop_table tr.order-total td,
body .wfacp_mini_cart_start_h table.shop_table tr.order-total td *,
body .wfacp_mini_cart_start_h table.shop_table tr.order-total td span,
body .wfacp_mini_cart_start_h table.shop_table tr.order-total td span bdi,
body #wfacp-e-form table.shop_table tr.order-total td *,
body .wfacp_mini_cart_start_h table.shop_table tr.order-total th,
body .wfacp_mini_cart_start_h table.shop_table tr.order-total th *,
body .wfacp_mini_cart_start_h table.shop_table tr.order-total th span,
body .wfacp_mini_cart_start_h table.shop_table tr.order-total th span bdi {
    font-size: 18px;
}

#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table_layout_9>tbody>tr:not(.cart_item)>td:not(.product-name-area),
.wfacp_min_cart_widget table.shop_table>tbody>tr:not(.cart_item)>td:not(.product-name-area) {
    padding: 0;
}

#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table tr.order-total td small {
    display: block;
}

#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table tr.order-total td small,
#wfacp-e-form table.shop_table.woocommerce-checkout-review-order-table tr.order-total td small span {
    font-size: var(--wf-font-small);
}

/* --- 11b. Mini-cart order summary (mobile drawer) --- */
.wfacp_mini_cart_start_h .wfacp_order_summary_container table td:first-child {
    padding-left: 0;
    text-align: left;
}

.wfacp_mini_cart_start_h .wfacp_order_summary_container tr.cart_item .product-name {
    display: inherit;
    vertical-align: top;
    width: 100%;
}

.wfacp_mini_cart_start_h .wfacp_order_summary_container tr.cart_item .product-name.wfacp_summary_img_true {
    display: block;
    padding-left: 78px;
}

.wfacp_mini_cart_start_h .wfacp_order_summary_container table th:first-child {
    padding-left: 0;
    text-align: left;
}

.wfacp_mini_cart_start_h .wfacp_order_summary_container table td:last-child {
    padding-right: 0;
    text-align: right;
}

.wfacp_mini_cart_start_h span {
    font-size: var(--wf-font);
    font-weight: 400;
}

.wfacp_mini_cart_start_h table.shop_table tr.order-total {
    border-top: 1px solid var(--wf-border-soft);
}

.wfacp_mini_cart_start_h .wfacp_order_summary_container table {
    table-layout: fixed;
    margin: 0;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    background-color: transparent;
}

.wfacp_mini_cart_start_h table.shop_table tr td,
.wfacp_mini_cart_start_h table.shop_table tr th,
.wfacp_mini_cart_start_h table.shop_table.woocommerce-checkout-review-order-table tr td,
.wfacp_mini_cart_start_h table.shop_table.woocommerce-checkout-review-order-table tr th {
    padding: 12px 10px;
    font-size: var(--wf-font);
    vertical-align: middle;
    letter-spacing: 0;
}

.wfacp_mini_cart_start_h table.shop_table.wfacp_mini_cart_reviews tr td,
.wfacp_mini_cart_start_h table.shop_table.wfacp_mini_cart_reviews tr th {
    vertical-align: middle;
}

.wfacp_mini_cart_start_h .wfacp_order_sum .product-image {
    max-width: 60px;
    float: left;
}

.wfacp_mini_cart_start_h .wfacp_delete_active td.product-total span.wfacp_cart_product_name_h {
    position: relative;
    bottom: auto;
    top: auto;
    display: block;
    text-align: right;
}

.wfacp_mini_cart_start_h span.subscription-details {
    text-transform: inherit;
    line-height: 1.5;
    letter-spacing: 0;
    margin: 0 2px 0 0;
    font-size: var(--wf-font-small);
    color: #666;
}

.wfacp_mini_cart_start_h .wfacp_order_sum tr td:first-child {
    text-align: left;
    width: 70%;
}

.wfacp_mini_cart_start_h .wfacp_order_sum tr td:last-child {
    width: 30%;
}

/* --- 11c. Remove-item "×" control --- */
.wfacp_mini_cart_start_h .wfacp_mini_cart_remove_item_from_cart {
    color: #b22323;
    font-size: 0;
    font-weight: 400;
    word-break: break-word;
    text-align: right;
}

.wfacp_mini_cart_remove_item_from_cart {
    top: 5px;
}

body .wfacp_delete_item_wrap a:before {
    display: none !important;
}

body .wfacp_delete_item_wrap a {
    border: none !important;
    display: inline-block;
    padding-bottom: 0 !important;
}

body .wfacp_delete_item_wrap a svg {
    width: 16px;
    height: 16px;
    color: var(--wf-icon-muted);
}

/* --------------------------------------------------------------------
   12. Product / plan switcher — the Monthly Plan / Annual Plan picker
   inside the order summary
   -------------------------------------------------------------------- */
#wfacp-e-form .shop_table.wfacp-product-switch-panel {
    padding: 0 8px;
    position: relative;
}

#wfacp-e-form .wfacp_main_form #product_switching_field.wfacp-product-switch-panel .cart_item:first-child,
#wfacp-e-form .wfacp_main_form .wfacp_shipping_calculator .border:first-child,
#wfacp-e-form .wfacp_main_form .wfacp_shipping_calculator .wfacp_border:first-child,
#wfacp-e-form .wfacp_main_form .wfacp_woocommerce_form_coupon .wfacp-coupon-page .wfacp_coupon_remove_msg:empty {
    margin-top: 0;
}

#wfacp-e-form .wfacp_main_form #product_switching_field.wfacp-product-switch-panel .cart_item {
    margin-top: var(--wf-gap);
    margin-bottom: 0;
}

body .wfacp_main_form .woocommerce-cart-form__cart-item.cart_item.wfacp-selected-product {
    background-color: var(--wf-selected-bg);
}

.shop_table.wfacp-product-switch-panel .woocommerce-cart-form__cart-item.cart_item .wfacp_row_wrap {
    position: relative;
    display: flex;
}

.wfacp-product-switch-title:after {
    clear: both;
}

.wfacp-product-switch-title:after,
.wfacp-product-switch-title:before {
    display: block;
    content: '';
}

body .wfacp_main_form.woocommerce .wfacp-product-switch-title .product-remove {
    float: left;
    width: 70%;
    padding-right: 10px;
    padding-left: 10px;
}

.shop_table.wfacp-product-switch-panel .product-price {
    cursor: pointer;
}

body .wfacp_main_form.woocommerce #product_switching_field .wfacp_product_switcher_col.wfacp_product_switcher_col_3.wfacp_sold_indi .wfacp_product_quantity_container,
body .wfacp_main_form.woocommerce #product_switching_field.wfacp_setting_qty_hide .wfacp_product_switcher_col.wfacp_product_switcher_col_3 .wfacp_product_quantity_container {
    display: none;
}

body .wfacp_main_form.woocommerce #product_switching_field .wfacp_product_switcher_col.wfacp_product_switcher_col_3.wfacp_sold_indi .product-price,
body .wfacp_main_form.woocommerce #product_switching_field.wfacp_setting_qty_hide .wfacp_product_switcher_col.wfacp_product_switcher_col_3 .product-price {
    width: 100%;
    padding-left: 0;
}

body .wfacp_main_form .wfacp_qty_price_wrap {
    width: 30%;
    float: left;
}

body .wfacp_main_form #product_switching_field.wfacp_for_desktop_tablet .wfacp_ps_title_wrap {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 70%;
    flex: 0 0 70%;
    max-width: 70%;
    display: flex;
}

body .wfacp_main_form #product_switching_field.wfacp_for_desktop_tablet .wfacp_product_switcher_col_1 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 62px;
    flex: 0 0 62px;
    display: flex;
}

body .wfacp_main_form #product_switching_field.wfacp_for_desktop_tablet .wfacp_product_sec_start {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 30%;
    flex: 0 0 30%;
    display: flex;
}

body .wfacp_main_form #product_switching_field .wfacp_product_switcher_col_1 {
    max-width: 62px;
}

body .wfacp_main_form #product_switching_field .wfacp_product_switcher_col_2 {
    max-width: 100%;
    padding-left: 10px;
    padding-right: 62px;
}

body .wfacp_main_form #product_switching_field .wfacp_product_switcher_col_3 {
    width: 100%;
}

body .wfacp_main_form #product_switching_field.wfacp-product-switch-panel .woocommerce-cart-form__cart-item.cart_item {
    padding: 10px;
    position: relative;
}

body .wfacp_main_form #product_switching_field.wfacp_not_force_all .wfacp_ps_title_wrap {
    padding-left: 26px;
}

body .wfacp_main_form #product_switching_field.wfacp_not_force_all.wfacp_setting_qty_hide .wfacp_product_switcher_col_2 {
    padding-right: 0;
}

body .wfacp_main_form #product_switching_field.wfacp-product-switch-panel .cart_item .wfacp_product_switcher_col_3 .product-price .wfacp_product_price_sec {
    text-align: right;
    width: 100%;
}

body .wfacp_main_form #product_switching_field.wfacp-product-switch-panel .wfacp-selected-product .wfacp_product_switcher_col_3 .product-price {
    cursor: pointer;
}

body .wfacp_main_form #product_switching_field.wfacp_for_desktop_tablet.desk_only .wfacp_product_sec_start,
body .wfacp_main_form #product_switching_field.wfacp_for_desktop_tablet.desk_only .wfacp_product_switcher_col.wfacp_product_switcher_col_3 .wfacp_product_quantity_container,
body .wfacp_main_form #product_switching_field.wfacp_for_desktop_tablet.desk_only .wfacp_product_switcher_col_1,
body .wfacp_main_form #product_switching_field.wfacp_for_desktop_tablet.desk_only .wfacp_product_switcher_col_2,
body .wfacp_main_form #product_switching_field.wfacp_for_desktop_tablet.desk_only .wfacp_product_switcher_col_3 .product-price,
body .wfacp_main_form #product_switching_field.wfacp_for_desktop_tablet.desk_only .wfacp_ps_title_wrap {
    align-items: center;
}

body .wfacp_product_restore_wrap {
    position: relative;
    color: var(--wf-text-muted);
    border-left: 2px solid var(--wf-error);
    width: auto;
    padding: 0 0 0 10px;
    margin-bottom: var(--wf-gap);
    background: 0 0;
}

.wfacp_product_restore_wrap a {
    color: #dd7575;
}

#wfacp-e-form .wfacp_main_form .wfacp-section .wfacp_wrapper_start,
.wfacp_main_form.woocommerce #wfacp_checkout_form .wfacp_product_switcher:not(.wfacp-section) .shop_table.wfacp-product-switch-panel {
    margin-bottom: 0;
}

.wfacp_main_form.woocommerce #wfacp_checkout_form .shop_table.wfacp-product-switch-panel {
    margin-bottom: var(--wf-gap);
}

body .wfacp-product-switch-title {
    padding: 0 10px 10px 0;
}

body .wfacp_main_form .wfacp_qty_price_wrap .product-name {
    text-align: right;
    padding-left: 80px;
    width: 100%;
}

/* --------------------------------------------------------------------
   13. Mini-cart accordion (order-summary show/hide toggle, mobile)
   -------------------------------------------------------------------- */
#wfacp-e-form .wfacp_mb_mini_cart_sec_accordion_content {
    padding: 16px 20px 0;
    background: 0 0;
    border: 1px solid var(--wf-border-soft);
}

#wfacp-e-form .wfacp_mb_mini_cart_wrap .wfacp_mb_cart_accordian {
    padding: 16px 20px;
    border: 1px solid var(--wf-border-soft);
}

#wfacp-e-form .wfacp_mb_cart_accordian a img {
    max-width: 12px;
    position: absolute;
    right: -20px;
    top: 5px;
    margin-top: 0;
}

#wfacp-e-form .wfacp_show_icon_wrap img.wfacp_up_arrow {
    -webkit-transform: rotate(30deg);
    -moz-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    -o-transform: rotate(30deg);
    transform: rotate(180deg);
}

#wfacp-e-form .wfacp_show_icon_wrap {
    max-width: 195px;
    float: left;
    position: relative;
    background-size: 15px;
    padding-left: 25px;
    min-height: 20px;
}

#wfacp-e-form .wfacp_show_icon_wrap svg {
    width: 16px;
    height: 16px;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -8px;
}

#wfacp-e-form .wfacp_show_price_wrap {
    width: calc(100% - 195px);
    float: right;
    text-align: right;
    padding-left: 25px;
    word-break: break-all;
}

/* --------------------------------------------------------------------
   14. Payment method list
   -------------------------------------------------------------------- */
body #wfacp-e-form #add_payment_method #payment ul.payment_methods li,
body #wfacp-e-form .woocommerce-cart #payment ul.payment_methods li,
body #wfacp-e-form .woocommerce-checkout #payment ul.payment_methods li {
    line-height: 1.5;
    text-align: left;
    margin: 0;
    font-weight: 400;
    clear: both;
    border: none;
    border-bottom: 1px solid var(--wf-border-soft);
    padding: 11px;
}

#wfacp-e-form .woocommerce-checkout #payment ul.payment_methods label {
    color: #494949;
}

body #wfacp-e-form .wfacp-section .woocommerce-checkout-payment {
    background: 0 0;
    margin-bottom: 27px;
}

body #wfacp-e-form #add_payment_method #payment ul.payment_methods,
body .woocommerce-cart #payment ul.payment_methods,
body .woocommerce-checkout #payment ul.payment_methods {
    padding: 0;
    text-align: left;
    margin: 0;
    border: 1px solid var(--wf-border-soft);
    -moz-border-radius: var(--wf-radius);
    -webkit-border-radius: var(--wf-radius);
    -ms-border-radius: var(--wf-radius);
    border-radius: var(--wf-radius);
}

body #wfacp-e-form #add_payment_method #payment div.payment_box,
body .woocommerce-cart #payment div.payment_box,
body .woocommerce-checkout #payment div.payment_box {
    background-color: #fafafa;
    position: relative;
    box-sizing: border-box;
    padding: 1em;
    margin: 1em -11px -11px -11px;
    font-size: .92em;
    border-radius: 2px;
    line-height: 1.5;
    color: #515151;
    width: auto;
    border-top: 1px solid var(--wf-border-soft);
}

body #wfacp-e-form #add_payment_method #payment ul.payment_methods li img,
body .woocommerce-cart #payment ul.payment_methods li img,
body .woocommerce-checkout #payment ul.payment_methods li img {
    vertical-align: middle;
    margin: -2px 0 0 .5em;
    padding: 0;
    position: relative;
    box-shadow: none;
}

.woocommerce-page.woocommerce-checkout #wfacp-e-form #payment div.form-row,
.woocommerce.woocommerce-checkout #wfacp-e-form #payment div.form-row {
    padding: 0;
}

body #wfacp-e-form .wfacp_main_form .wfacp-section .woocommerce-checkout-payment {
    margin-bottom: 0;
    padding: 0;
}

body .wfacp_main_form.woocommerce #add_payment_method #payment ul.payment_methods li input[type=radio],
body .wfacp_main_form.woocommerce #payment ul.payment_methods li input[type=checkbox],
body .wfacp_main_form.woocommerce .woocommerce-cart #payment ul.payment_methods li input[type=radio],
body .wfacp_main_form.woocommerce .woocommerce-checkout #payment ul.payment_methods li input[type=radio] {
    position: relative !important;
    margin: 0 10px 0 0;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    vertical-align: middle;
}

body .wfacp_main_form.woocommerce #payment ul.payment_methods li input[type=checkbox],
body .wfacp_main_form.woocommerce #payment ul.payment_methods li input[type=radio] {
    float: none;
}

body .wfacp_main_form.woocommerce .woocommerce-checkout #payment ul.payment_methods li>label {
    padding-left: 0 !important;
    display: initial !important;
}

#add_payment_method #payment ul.payment_methods li img,
.woocommerce-cart #payment ul.payment_methods li img,
.woocommerce-checkout #payment ul.payment_methods li img {
    max-width: 100%;
    height: auto;
    display: inline-block;
    vertical-align: middle;
}

body .wfacp_main_form.woocommerce #payment input[type=checkbox]+label,
body .wfacp_main_form.woocommerce #payment input[type=radio]+label {
    padding-left: 0 !important;
}

body .wfacp_main_form.woocommerce #wfacp_checkout_form #payment ul li label img {
    border-radius: 3px;
    margin-right: 12px;
    margin-inline-start: 5px;
    margin-inline-end: 5px;
    max-height: 30px;
}

#wfacp-e-form .wfacp-section.wfacp_payment {
    margin-bottom: 0 !important;
}

.wfacp_main_form.woocommerce #wfacp_checkout_form #payment .wc-stripe-elements-field,
.wfacp_main_form.woocommerce #wfacp_checkout_form #payment .wc-stripe-iban-element-field {
  padding:10px;
  margin:0 0 10px;
  height:auto
}
body #wfacp-e-form #wfacp_checkout_form #payment ul li ul li,
body #wfacp_checkout_form #payment ul li ul li {
  width:auto;
  padding:0;
  border:none
}

#wfacp-e-form li,
#wfacp-e-form ol,
#wfacp-e-form ul {
  list-style-type:none;
  margin:0;
  padding:0
}

/* --------------------------------------------------------------------
   15. Select2 dropdowns (country / state, etc.)
   -------------------------------------------------------------------- */
#wfacp-e-form .select2-container--default .select2-selection--single {
    border: none;
}

#wfacp-e-form .select2-container .select2-selection--single {
    display: block;
    height: auto;
    margin: 0;
    line-height: normal;
    padding: 0;
}

body #wfacp-sec-wrapper #wfacp_checkout_form .select2-container--default .select2-selection--single .select2-selection__arrow {
    background: url(./img/select-dropdown-icon.svg) no-repeat center center;
    height: 12px;
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 12px;
    z-index: 99;
    background-size: 14px;
    width: 14px;
}

body #wfacp-sec-wrapper .select2-selection__rendered {
    padding-right: 30px;
}

body:not(.cartflows-canvas):not(.cartflows-default) #wfacp-sec-wrapper .form-row .select2-container--default .select2-selection--single .select2-selection__arrow b {
    display: none;
}

body .select2-results__option {
    letter-spacing: 0;
    font-size: var(--wf-font);
    padding: 8px 16px;
    border: none;
    line-height: 1.5;
}

body .select2-dropdown {
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .1);
    border: none;
    border-radius: var(--wf-radius);
}

body .select2-container--default .select2-results>.select2-results__options {
    background: var(--wf-bg);
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid var(--wf-border);
    background: var(--wf-bg);
    border-radius: var(--wf-radius);
    box-shadow: none;
    outline: 0;
}

body .select2-container--default .select2-search--dropdown .select2-search__field:focus {
    color: #000;
}

#wfacp-e-form .select2-container .select2-selection--single .select2-selection__rendered {
    border-radius: var(--wf-radius);
}

.woocommerce-page .select2-container .select2-search__field,
.woocommerce-page .select2-container .select2-selection {
    height: auto;
    padding: 8px 12px;
    margin: 0 !important;
}

body .select2-search--dropdown {
    display: block;
    padding: 8px 12px;
    border-radius: var(--wf-radius);
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: #eee;
    color: #353030;
}

/* --------------------------------------------------------------------
   16. Express Checkout — Apple/Google Pay row + "OR" divider
   -------------------------------------------------------------------- */
#wfacp_smart_buttons.wfacp_smart_buttons .wfacp_smart_button_wrap_st {
    text-align: center;
    position: relative;
}

/* Original source declared .wfacp_smart_button_container across five
   separate blocks (some with overlapping/duplicate properties) —
   merged here into their net cascade effect without dropping either
   selector (base + :last-child). */
#wfacp_smart_buttons.wfacp_smart_buttons .wfacp_smart_button_container {
    display: inline-block;
    vertical-align: top;
    margin-right: 0;
    margin-bottom: 10px;
}

#wfacp_smart_buttons.wfacp_smart_buttons .wfacp_smart_button_container:last-child {
    margin-bottom: 0;
}

#wfacp_smart_buttons.wfacp_smart_buttons .wfacp_smart_button_inner>fieldset {
    border: 1px solid #e6e6e6;
    margin: 0;
    border-radius: 5px;
    padding: 16px 24px;
    font-size: var(--wf-font);
    color: #333;
    position: relative;
    min-height: 99px;
    width: 100%;
}

#wfacp_smart_buttons .wfacp_smart_button_inner {
    margin-bottom: 25px;
}

#wfacp_smart_buttons.wfacp_smart_buttons .wfacp_smart_button_inner>fieldset>legend {
    padding: 0 1em;
    margin: 0 auto;
    display: block;
    border: none;
}

#wfacp_smart_buttons.wfacp_smart_buttons .wfacp_smart_button_inner fieldset legend {
    padding: 0 1em;
    margin: 0 auto;
    display: block;
    background: 0 0;
    font-weight: 400;
    text-transform: inherit;
    width: auto;
    border: none;
    float: none;
}

.dynamic-checkout__skeleton {
    display: none;
}

#wfacp_smart_buttons.wfacp_smart_buttons .wfacp_smart_button_inner.wfacp_smart_button_or_text_placeholder {
    margin: 0 0 25px;
    display: inline-block;
    width: 100%;
    text-align: center;
    font-size: var(--wf-font);
    color: var(--wf-text-muted);
    line-height: 16px;
    background: 0 0;
    position: relative;
    z-index: 9;
}

#wfacp_smart_buttons.wfacp_smart_buttons .wfacp_smart_button_inner.wfacp_smart_button_or_text_placeholder:before {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background: #e6e6e6;
    top: 8px;
    z-index: -99;
    max-width: 45%;
}

#wfacp_smart_buttons.wfacp_smart_buttons .wfacp_smart_button_inner.wfacp_smart_button_or_text_placeholder:after {
    content: '';
    position: absolute;
    right: 0;
    width: 100%;
    height: 1px;
    background: #e6e6e6;
    top: 8px;
    z-index: -99;
    max-width: 45%;
}

.fkwcs_smart_cart_button {
    margin-bottom: 0px !important;
}

/* --------------------------------------------------------------------
   17. Misc utilities
   -------------------------------------------------------------------- */
#wfacp-e-form .wfacp_main_form .wfacp-row .wfob_bump_wrapper {
    padding: 0 8px;
}

body #wfob_wrap:empty {
    display: none;
}

body #wfacp-e-form .wfacp-qty-count,
body .wfacp-qty-count {
    display: flex;
    align-items: center;
    margin: 0;
    justify-content: center;
    padding: 4px;
    min-width: 20px;
    width: auto;
    height: 20px;
    border-radius: 10px;
    white-space: nowrap;
    background-color: #82838e;
    text-align: center;
}

body #wfacp-sec-wrapper span.woocommerce-input-wrapper {
    display: block;
    width: 100%;
}

#wfacp-sec-wrapper .wfacp-text-align-right {
    text-align: right;
}

body #wfacp-sec-wrapper .wfacp_main_form.woocommerce #wfacp_checkout_form .wfacp_advanced_field_wrap,
body #wfacp-sec-wrapper .wfacp_main_form.woocommerce #wfacp_checkout_form .wfacp_divider_field.wfacp_divider_billing,
body #wfacp-sec-wrapper .wfacp_main_form.woocommerce #wfacp_checkout_form .wfacp_divider_field.wfacp_divider_shipping {
    --bs-gutter-x: 10px;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    clear: both;
    width: 100%;
}

body #wfacp-sec-wrapper .wfacp_main_form.woocommerce #wfacp_checkout_form .wfacp_advanced_field_wrap>.wfacp-col-left-half,
body #wfacp-sec-wrapper .wfacp_main_form.woocommerce #wfacp_checkout_form .wfacp_divider_field .wfacp-col-left-half {
    float: none;
    flex: 0 0 auto;
    width: 50%;
}

/* ======================================================================
   18. RESPONSIVE — all @media blocks, in original source order
   ====================================================================== */
@media (max-width: 1024px) {
    #wfacp-e-form .wfacp_main_form .wfacp_tablet .wfacp_steps_wrap,
    #wfacp-e-form .wfacp_tablet .wfacp_custom_breadcrumb,
    #wfacp-e-form .wfacp_tablet .wfacp_form_steps,
    #wfacp-e-form .wfacp_tablet .wfacp_mb_mini_cart_wrap,
    body .wfacp_tablet_view {
        display: block;
    }
}

@media (max-width: 767px) {
    #wfacp-e-form .wfacp-form .wfacp_order_summary {
        padding: 0 8px;
    }
    body .wfacp_main_form #product_switching_field .wfacp_product_switcher_col_1 input[type=checkbox],
    body .wfacp_main_form #product_switching_field .wfacp_product_switcher_col_1 input[type=radio] {
        top: auto;
        margin-top: 4px !important;
    }
    body #wfacp-e-form .woocommerce .form-row:not(.wfacp-remember-me):not(.lost_password) {
        width: 100% !important;
        float: none !important;
    }
}

@media (min-width: 768px) {
    body #wfacp-e-form .wfacp_order_summary {
        padding: 0 8px;
    }
    #wfacp-e-form p.form-row.wfacp-col-full {
        clear: both;
        width: 100%;
    }
    #wfacp-e-form p.form-row.wfacp-col-left-half {
        float: left;
        width: 50%;
        clear: none;
    }
    
    .wfacp_desktop_only {
        display: block;
    }
    .wfacp_mobile_only {
        display: none;
    }
    .wfacp-col-full, .wfacp-col-left-half {
        float: left;
    }
    body .wfacp-col-left-half {
        float: left;
    }
    body .wfacp-col-full {
        clear: both;
    }
    body .wfacp-col-full {
        width: 100%;
    }
    body .wfacp-col-left-half, body .wfacp_main_form p.wfacp-col-left-half {
        width: 50%;
    }
    body .wfacp-col-left-third, body .wfacp-col3-left-half {
        width: 33.3%;
        float: left;
    }
    body .wfacp-col-two-third {
        width: 66.66%;
        float: left;
    }
    body .wfacp_main_form .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method.payment_method_stripe .form-row.form-row-first {
        width: 47%;
        overflow: visible;
        float: left;
    }
    body .wfacp_main_form .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method.payment_method_stripe .form-row.form-row-last {
        float: right;
        width: 47%;
        overflow: visible;
    }
    body .wfacp_main_form .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method.payment_method_stripe .form-row-wide,
    body .wfacp_main_form.woocommerce .woocommerce-checkout #payment ul.payment_methods li .form-row.form-row-last + .form-row {
        clear: both;
    }
    body .wfacp_main_form.woocommerce .woocommerce-checkout #payment ul.payment_methods li .form-row.form-row-first {
        float: left;
        width: 48%;
        margin-right: 2%;
        clear: none;
        margin-bottom: 15px;
    }
    body .wfacp_main_form.woocommerce .woocommerce-checkout #payment ul.payment_methods li .form-row.form-row-last {
        float: left;
        width: 48%;
        margin-left: 2%;
        clear: none;
        margin-bottom: 15px;
    }
}