/* Cart/stepper/card rules adapted from the supplied style-new.txt.
   Every rule is scoped under #dxcf-flow (id specificity) so that:
   - nothing here leaks into the theme (header, footer, mini-cart, shop pages);
   - theme / WooCommerce default selectors cannot override the plugin.
   Colours come ONLY from the --dxcf-* tokens; no slider, reset, external font or CDN. */
.dxcf-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0
}

#dxcf-flow {
    --dxcf-primary: #ef1745;
    --dxcf-primary-hover: #c91038;
    --dxcf-button-text: #fff;
    --dxcf-background: #fff;
    --dxcf-surface: #fff;
    --dxcf-text: #212121;
    --dxcf-muted: #707070;
    --dxcf-border: #e5e5e5;
    --dxcf-success: #008542;
    --dxcf-error: #b91c1c;
    box-sizing: border-box;
    width: 100%;
    max-width: 1248px;
    margin: 24px auto 48px;
    padding: 24px;
    background: var(--dxcf-background);
    color: var(--dxcf-text);
    direction: rtl;
    text-align: right;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.9;
    isolation: isolate
}

#dxcf-flow *,#dxcf-flow *::before,#dxcf-flow *::after {
    box-sizing: border-box
}

#dxcf-flow h2,#dxcf-flow h3 {
    font-family: inherit;
    color: var(--dxcf-text);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.7;
    margin: 0 0 20px;
    letter-spacing: normal;
    text-transform: none
}

#dxcf-flow p {
    margin: 0 0 0;
    text-align: right;
}

#dxcf-flow a {
    color: var(--dxcf-primary);
    text-decoration: none
}

#dxcf-flow a:hover {
    text-decoration: underline
}

#dxcf-flow img {
    max-width: 100%;
    height: auto
}

#dxcf-flow input,#dxcf-flow button,#dxcf-flow select,#dxcf-flow textarea {
    font-family: inherit;
    font-size: 14px;
    letter-spacing: normal;
    text-transform: none
}

#dxcf-flow a:focus-visible,#dxcf-flow button:focus-visible,#dxcf-flow input:focus-visible,#dxcf-flow select:focus-visible,#dxcf-flow textarea:focus-visible {
    outline: none;
    box-shadow: inset 0px 0px 0px 1px var(--dxcf-primary) !important;
}

#dxcf-flow .screen-reader-text,#dxcf-flow .woocommerce-cart-form__contents thead {
    position: absolute!important;
    width: 1px!important;
    height: 1px!important;
    padding: 0!important;
    margin: -1px!important;
    overflow: hidden!important;
    clip: rect(0,0,0,0)!important;
    white-space: nowrap!important;
    border: 0!important
}

#dxcf-flow .dxcf-steps {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 64px;
    list-style: none;
    margin: 0 auto 32px;
    padding: 0;
    max-width: 600px
}

#dxcf-flow .dxcf-step {
    list-style: none;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    color: var(--dxcf-muted);
    min-width: 90px;
    margin: 0;
    padding: 0;
    text-align: center
}

#dxcf-flow .dxcf-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 19px;
    right: calc(50% + 28px);
    width: 98px;
    height: 2px;
    background: var(--dxcf-border)
}

#dxcf-flow .dxcf-step span {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--dxcf-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    z-index: 1
}

#dxcf-flow .dxcf-step b {
    font-size: 13px;
    font-weight: 500
}

#dxcf-flow .dxcf-step.is-active {
    color: var(--dxcf-text)
}

#dxcf-flow .dxcf-step.is-active span {
    background: var(--dxcf-primary);
    color: var(--dxcf-button-text)
}

/* Native table semantics and WooCommerce selectors are retained. */
#dxcf-flow.dxcf--cart>.woocommerce {
    display: grid;
    grid-template-columns: minmax(0,1fr) 360px;
    gap: 24px;
    align-items: start
}

#dxcf-flow.dxcf--cart>.woocommerce>* {
    grid-column: 1/-1;
    min-width: 0
}

#dxcf-flow.dxcf--cart>.woocommerce::before,#dxcf-flow.dxcf--cart>.woocommerce::after {
    display: none
}

#dxcf-flow.dxcf--cart>.woocommerce>.woocommerce-cart-form {
    grid-column: 1
}

#dxcf-flow.dxcf--cart>.woocommerce>.cart-collaterals {
    grid-column: 2
}

#dxcf-flow .woocommerce-cart-form,#dxcf-flow .cart_totals,#dxcf-flow #customer_details,#dxcf-flow #order_review,#dxcf-flow #order_review_heading,#dxcf-flow #order_review.woocommerce-checkout-review-order,#dxcf-flow .woocommerce-order-details,#dxcf-flow .woocommerce-customer-details,#dxcf-flow .woocommerce-order-downloads {
    background: var(--dxcf-surface);
    border: 1px solid var(--dxcf-border);
    border-radius: 18px;
    padding: 24px;
    margin: 0;
    min-width: 0
}

#dxcf-flow .dxcf-cart-title {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 4px
}

#dxcf-flow .dxcf-cart-title h2 {
    margin: 0
}

#dxcf-flow .dxcf-cart-title span {
    color: var(--dxcf-muted);
    font-size: 13px
}

#dxcf-flow .woocommerce-cart-form table.cart {
    display: block;
    width: 100%;
    border: 0;
    margin: 0;
    border-collapse: collapse
}

#dxcf-flow .woocommerce-cart-form table.cart tbody {
    display: block;
    width: 100%
}

#dxcf-flow .woocommerce-cart-form table.cart tr.cart_item {
    display: grid;
    grid-template-columns: 130px minmax(0,1fr) auto;
    grid-template-areas: "image name subtotal" "image quantity remove";
    column-gap: 0px;
    row-gap: 0;
    align-items: center;
    padding: 8px 0 8px;
    border-bottom: 1px solid var(--dxcf-border);
    background: transparent
}

#dxcf-flow .woocommerce-cart-form table.cart tr.cart_item td {
    padding: 0;
    border: none !important;
    background: transparent;
    text-align: right!important;
    min-width: 0
}

#dxcf-flow .woocommerce-cart-form table.cart tr.cart_item td::before {
    display: none
}

#dxcf-flow .woocommerce-cart-form table.cart .product-thumbnail {
    grid-area: image;
    display: block!important
}

#dxcf-flow .woocommerce-cart-form table.cart .product-thumbnail img {
    display: block;
    width: 104px;
    height: auto;
    object-fit: contain;
    border-radius: 24px;
    margin: 0
}

#dxcf-flow .woocommerce-cart-form table.cart .product-name {
    grid-area: name;
    font-weight: 500;
    overflow-wrap: anywhere
}

#dxcf-flow .woocommerce-cart-form table.cart .product-name>a {
    color: var(--dxcf-text)
}

#dxcf-flow .woocommerce-cart-form table.cart .product-subtotal {
    grid-area: subtotal;
    font-weight: 700;
    justify-self: end;
    font-size: 14px
}

#dxcf-flow .woocommerce-cart-form table.cart .product-remove {
    grid-area: remove;
    justify-self: end
}

#dxcf-flow .woocommerce-cart-form table.cart .product-quantity {
    grid-area: quantity
}

#dxcf-flow .woocommerce-cart-form table.cart .product-price {
    display: none
}

#dxcf-flow dl.variation {
    font-size: 12px;
    font-weight: 400;
    margin: 10px 0 0;
    padding: 8px 16px;
    border: 0;
    border-radius: 16px;
    background: color-mix(in srgb,var(--dxcf-border) 25%,var(--dxcf-surface));
    color: var(--dxcf-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px
}

#dxcf-flow dl.variation dt,#dxcf-flow dl.variation dd {
    margin: 0;
    padding: 0;
    float: none
}

#dxcf-flow dl.variation p {
    margin: 0
}

#dxcf-flow .dxcf-quantity {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    direction: rtl;
    max-width: 100%
}

#dxcf-flow .quantity {
    display: inline-flex;
    align-items: center;
    margin: 0;
    float: none
}

#dxcf-flow .dxcf-quantity .quantity input.qty {
    width: 58px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0 4px;
    text-align: center;
    border: 1px solid var(--dxcf-border);
    border-radius: 12px;
    box-shadow: none;
    direction: ltr;
    background: var(--dxcf-surface);
    color: var(--dxcf-text);
    appearance: textfield;
    -moz-appearance: textfield
}

#dxcf-flow .quantity input.qty::-webkit-inner-spin-button,#dxcf-flow .quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

#dxcf-flow .dxcf-qty-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 16px;
    border: 1px solid var(--dxcf-border);
    border-radius: 12px;
    background: var(--dxcf-surface);
    color: var(--dxcf-text);
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
    box-shadow: none
}

#dxcf-flow .dxcf-qty-button:hover {
    border-color: var(--dxcf-primary);
    color: var(--dxcf-primary)
}

#dxcf-flow .woocommerce a.remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--dxcf-border);
    border-radius: 12px;
    font-size: 26px;
    line-height: 1;
    background: var(--dxcf-surface);
    color: var(--dxcf-error)!important;
    text-decoration: none
}

#dxcf-flow .woocommerce a.remove .dxcf-remove-icon {
    display: block;
    width: 18px;
    height: 18px
}

#dxcf-flow .woocommerce a.remove:hover {
    border-color: var(--dxcf-error);
    background: var(--dxcf-surface)
}

#dxcf-flow .woocommerce-cart-form table.cart tbody>tr:not(.cart_item) {
    display: block
}

#dxcf-flow .woocommerce-cart-form table.cart td.actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 20px 0 0;
    border: 0;
    background: transparent;
    width: 100%
}

#dxcf-flow .woocommerce-cart-form table.cart td.actions::before {
    display: none
}

#dxcf-flow .woocommerce-cart-form .coupon {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    float: none;
    padding: 0;
    max-width: 100%
}

#dxcf-flow .woocommerce-cart-form .coupon #coupon_code {
    width: 150px;
    min-width: 80px;
    margin: 0
}

#dxcf-flow .cart-collaterals {
    width: 100%;
    margin: 0;
    float: none
}

#dxcf-flow .cart-collaterals .cart_totals {
    width: 100%;
    float: none;
    text-align: right
}

#dxcf-flow table.shop_table {
    /* width:100%; */
    /* border:0; */
    /* border-collapse:collapse; */
    margin: 0 0 20px;
    /* color:var(--dxcf-text); */
    /* font-size:14px; */
    /* text-align:right; */
}

#dxcf-flow table.shop_table th,#dxcf-flow table.shop_table td {
    padding: 12px 8px;
    border: 0;
    vertical-align: top;
    text-align: right;
    background: transparent !important;
    overflow-wrap: anywhere;
}

#dxcf-flow table.shop_table th {
    font-weight: 500
}

#dxcf-flow table.shop_table td:last-child {
    text-align: left
}

#dxcf-flow .cart_totals table th {
    width: 100%;
    flex: 0 0 auto;
}

#dxcf-flow table.shop_table .order-total th,#dxcf-flow table.shop_table .order-total td {
    font-weight: 700;
    color: var(--dxcf-primary);
    background: color-mix(in srgb,var(--dxcf-primary) 6%,var(--dxcf-surface)) !important;
    border: 0
}

#dxcf-flow table.shop_table .order-total th {
    color: var(--dxcf-text);
}

#dxcf-flow table.shop_table .cart-discount {
    color: var(--dxcf-success)
}

#dxcf-flow .woocommerce-shipping-destination,#dxcf-flow .includes_tax,#dxcf-flow .woocommerce-privacy-policy-text {
    color: var(--dxcf-muted);
    font-size: 12px
}

#dxcf-flow #shipping_method {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: right
}

#dxcf-flow #shipping_method li {
    list-style: none;
    margin: 0 0 8px;
    padding: 0
}

#dxcf-flow .woocommerce-shipping-calculator {
    margin-top: 8px;
    text-align: right
}

#dxcf-flow .woocommerce .button,#dxcf-flow button.button,#dxcf-flow a.button,#dxcf-flow input.button,#dxcf-flow #place_order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    height: auto;
    border: 0;
    border-radius: 10px;
    background: var(--dxcf-primary);
    color: var(--dxcf-button-text);
    font-size: 14px;
    line-height: 1.7;
    padding: 10px 18px;
    text-align: center;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    box-shadow: none;
    white-space: normal;
    text-transform: none;
    margin: 0;
    width: 100%;
}

#dxcf-flow .woocommerce .button:hover,#dxcf-flow #place_order:hover {
    background: var(--dxcf-primary-hover);
    color: var(--dxcf-button-text)
}

#dxcf-flow .woocommerce button.button:disabled {
    opacity: .5;
    cursor: not-allowed;
    padding: 10px 18px
}

#dxcf-flow .woocommerce .wc-proceed-to-checkout {
    padding: 0
}

#dxcf-flow .woocommerce .checkout-button,#dxcf-flow #place_order {
    width: 100%;
    float: none;
    font-size: 16px
}

#dxcf-flow .woocommerce input.input-text,#dxcf-flow .woocommerce select,#dxcf-flow .woocommerce textarea {
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    height: auto;
    padding: 10px 14px;
    border: 1px solid var(--dxcf-border);
    border-radius: 10px;
    background: var(--dxcf-surface);
    color: var(--dxcf-text);
    box-shadow: none;
    line-height: 1.8
}

#dxcf-flow .woocommerce textarea {
    min-height: 110px;
    resize: vertical
}

#dxcf-flow .woocommerce input[type=hidden] {
    display: none
}

#dxcf-flow .woocommerce input[type=checkbox],#dxcf-flow .woocommerce input[type=radio] {
    appearance: auto!important;
    -webkit-appearance: auto!important;
    width: 18px!important;
    height: 18px!important;
    min-height: 18px!important;
    max-width: 18px!important;
    flex: none;
    display: inline-block!important;
    margin: 0 0 0 7px;
    padding: 0!important;
    vertical-align: middle;
    position: static!important;
    opacity: 1!important;
    clip: auto!important;
    accent-color: var(--dxcf-primary);
    box-shadow: none
}

#dxcf-flow .woocommerce form .form-row {
    display: block;
    padding: 0;
    margin: 0 0 18px;
    text-align: right
}

#dxcf-flow .woocommerce form .form-row label {
    display: block;
    font-weight: 500;
    line-height: 1.8;
    margin: 0 0 7px;
    color: var(--dxcf-text)
}

#dxcf-flow .woocommerce form .form-row .woocommerce-input-wrapper {
    display: block;
    width: 100%
}

#dxcf-flow .woocommerce form .form-row .required {
    color: var(--dxcf-error)
}

#dxcf-flow .woocommerce .form-row-first,#dxcf-flow .woocommerce .form-row-last {
    width: 48%
}

#dxcf-flow .woocommerce .form-row-first {
    float: right
}

#dxcf-flow .woocommerce .form-row-last {
    float: left
}

#dxcf-flow .woocommerce .form-row-wide {
    clear: both;
    width: 100%
}

#dxcf-flow .woocommerce form .form-row.woocommerce-invalid input.input-text,#dxcf-flow .woocommerce form .form-row.woocommerce-invalid select {
    border-color: var(--dxcf-error)
}

#dxcf-flow .select2-container {
    width: 100%!important;
    max-width: 100%
}

#dxcf-flow .select2-container .select2-selection--single {
    min-height: 48px;
    height: auto;
    border: 1px solid var(--dxcf-border);
    border-radius: 10px;
    background: var(--dxcf-surface);
    text-align: right
}

#dxcf-flow .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 46px;
    padding-inline:14px 30px;color: var(--dxcf-text)
}

#dxcf-flow .select2-container .select2-selection--single .select2-selection__arrow {
    height: 46px
}

/* Checkout class conflicts in the supplied theme are explicitly neutralized. */
#dxcf-flow .woocommerce form.checkout.woocommerce-checkout {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(320px,.8fr);
    align-items: start;
    gap: 0 24px;
    background: transparent;
    color: var(--dxcf-text);
    height: auto;
    width: 100%;
    border: 0;
    border-radius: 0;
    padding: 0;
    margin: 0;
    cursor: auto;
    text-align: right;
    font-size: 14px
}

#dxcf-flow form.checkout>* {
    grid-column: 1/-1;
    min-width: 0
}

#dxcf-flow form.checkout #customer_details {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    float: none
}

#dxcf-flow form.checkout #order_review_heading {
    width: 100%;
    float: none;
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
    padding-bottom: 12px
}

#dxcf-flow form.checkout #order_review {
    width: 100%;
    float: none;
    border-top: 0;
    border-radius: 0 0 18px 18px;
    padding-top: 0
}

#dxcf-flow #customer_details>.col-1,#dxcf-flow #customer_details>.col-2 {
    float: none;
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
    flex: none
}

#dxcf-flow #customer_details::before,#dxcf-flow #customer_details::after {
    display: none
}

#dxcf-flow #customer_details>div+div {
    margin-top: 24px
}

#dxcf-flow .woocommerce-billing-fields__field-wrapper::after,#dxcf-flow .woocommerce-shipping-fields__field-wrapper::after {
    content: "";
    display: table;
    clear: both
}

#dxcf-flow #ship-to-different-address {
    font-size: 15px
}

#dxcf-flow .woocommerce-checkout-review-order-table .product-name {
    width: 62%
}

#dxcf-flow #payment,#dxcf-flow .woocommerce-checkout #payment {
    background: transparent;
    border: 0;
    border-radius: 0;
    margin: 16px 0 0
}

#dxcf-flow #payment ul.payment_methods {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    border: 0;
    text-align: right
}

#dxcf-flow #payment ul.payment_methods li {
    list-style: none;
    padding: 14px;
    margin: 0 0 10px;
    border: 1px solid var(--dxcf-border);
    border-radius: 12px;
    background: var(--dxcf-surface);
    text-align: right;
    line-height: 1.8
}

#dxcf-flow #payment ul.payment_methods li label {
    display: inline;
    cursor: pointer;
    font-weight: 500
}

#dxcf-flow #payment ul.payment_methods li img {
    max-height: 32px;
    width: auto;
    vertical-align: middle;
    margin: 0 8px;
    float: none
}

#dxcf-flow #payment div.payment_box {
    width: 100%;
    margin: 12px 0 0;
    padding: 12px;
    border-radius: 10px;
    background: color-mix(in srgb,var(--dxcf-border) 25%,var(--dxcf-surface));
    color: var(--dxcf-muted);
    font-size: 13px
}

#dxcf-flow #payment div.payment_box::before {
    display: none
}

#dxcf-flow #payment div.form-row {
    padding: 0;
    margin: 0
}

#dxcf-flow #payment .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 20px
}

#dxcf-flow .woocommerce form.login,#dxcf-flow .woocommerce form.checkout_coupon {
    border: 1px solid var(--dxcf-border);
    border-radius: 18px;
    padding: 24px;
    margin: 0 0 24px;
    background: var(--dxcf-surface)
}

#dxcf-flow .woocommerce-error,#dxcf-flow .woocommerce-info,#dxcf-flow .woocommerce-message {
    list-style: none;
    background: var(--dxcf-surface);
    color: var(--dxcf-text);
    border: 1px solid var(--dxcf-border);
    border-inline-start:4px solid var(--dxcf-primary);border-radius: 12px;
    padding: 16px 20px;
    margin: 0 0 20px;
    width: 100%;
    font-size: 14px;
    text-align: right;
    line-height: 1.9
}

#dxcf-flow .woocommerce-error {
    border-inline-start-color:var(--dxcf-error)}

#dxcf-flow .woocommerce-message {
    border-inline-start-color: var(--dxcf-success)
}

#dxcf-flow .woocommerce-error::before,#dxcf-flow .woocommerce-info::before,#dxcf-flow .woocommerce-message::before {
    display: none
}

#dxcf-flow .woocommerce-error li {
    list-style: none;
    margin: 0;
    padding: 0
}

#dxcf-flow .woocommerce .cart-empty,#dxcf-flow .return-to-shop {
    text-align: center
}

#dxcf-flow .woocommerce-notices-wrapper:empty {
    display: none
}

/* Result: native order details, gateway instructions, downloads, retry links. */
#dxcf-flow .dxcf-result {
    border: 1px solid var(--dxcf-border);
    border-radius: 18px;
    padding: 32px 24px;
    margin-bottom: 24px;
    text-align: center;
    background: var(--dxcf-surface)
}

#dxcf-flow .dxcf-result-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    margin: 0 auto 16px;
    font-size: 28px;
    color: var(--dxcf-primary)
}

#dxcf-flow .dxcf-result h2 {
    margin-bottom: 8px
}

#dxcf-flow .dxcf-result p {
    color: var(--dxcf-muted)
}

#dxcf-flow .dxcf-result--success .dxcf-result-icon {
    color: var(--dxcf-success)
}

#dxcf-flow .dxcf-result--error .dxcf-result-icon {
    color: var(--dxcf-error)
}

#dxcf-flow .dxcf-result~.woocommerce-thankyou-order-received,#dxcf-flow .dxcf-result~.woocommerce-thankyou-order-failed {
    display: none
}

#dxcf-flow .woocommerce-thankyou-order-failed-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 24px
}

#dxcf-flow .woocommerce ul.order_details {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin: 0 0 24px;
    padding: 24px;
    border: 1px solid var(--dxcf-border);
    border-radius: 18px;
    background: var(--dxcf-surface);
    list-style: none
}

#dxcf-flow .woocommerce ul.order_details::before,#dxcf-flow .woocommerce ul.order_details::after {
    display: none
}

#dxcf-flow .woocommerce ul.order_details li {
    float: none;
    flex: 1 1 160px;
    border: 0;
    margin: 0;
    padding: 0;
    font-size: 12px;
    list-style: none;
    text-transform: none;
    color: var(--dxcf-muted)
}

#dxcf-flow .woocommerce ul.order_details li strong {
    display: block;
    font-size: 15px;
    color: var(--dxcf-text);
    margin-top: 6px;
    overflow-wrap: anywhere
}

#dxcf-flow .woocommerce-order-details,#dxcf-flow .woocommerce-customer-details,#dxcf-flow .woocommerce-order-downloads {
    margin: 0 0 24px
}

#dxcf-flow .woocommerce-customer-details .col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    width: 100%
}

#dxcf-flow .woocommerce-customer-details .col2-set::before,#dxcf-flow .woocommerce-customer-details .col2-set::after {
    display: none
}

#dxcf-flow .woocommerce-customer-details .col-1,#dxcf-flow .woocommerce-customer-details .col-2 {
    width: 100%;
    max-width: none;
    float: none;
    padding: 0
}

#dxcf-flow .woocommerce-customer-details address {
    border: 1px solid var(--dxcf-border);
    border-radius: 12px;
    padding: 16px;
    text-align: right;
    width: 100%;
    font-style: normal;
    overflow-wrap: anywhere
}

#dxcf-flow .woocommerce-order-downloads {
    overflow: auto
}

@media(max-width: 980px) {
    #dxcf-flow.dxcf--cart>.woocommerce {
        grid-template-columns:minmax(0,1fr) 310px;
        gap: 16px
    }

    #dxcf-flow .woocommerce-cart-form,#dxcf-flow .cart_totals {
        padding: 18px
    }

    #dxcf-flow .woocommerce-cart-form table.cart tr.cart_item {
        grid-template-columns: 80px minmax(0,1fr);
        grid-template-areas: "image name" "image subtotal" "quantity remove";
        gap: 14px
    }

    #dxcf-flow .woocommerce-cart-form table.cart .product-thumbnail img {
        width: 80px;
        height: 80px
    }

    #dxcf-flow .woocommerce-cart-form table.cart .product-subtotal {
        justify-self: start
    }

    #dxcf-flow .woocommerce-cart-form table.cart .product-quantity {
        grid-column: 1/-1;
        grid-row: 3;
        justify-self: start
    }

    #dxcf-flow .woocommerce-cart-form table.cart .product-remove {
        grid-column: 2;
        grid-row: 3
    }

    #dxcf-flow .woocommerce form.checkout.woocommerce-checkout {
        grid-template-columns: minmax(0,1fr) minmax(290px,.85fr);
        column-gap: 16px
    }

    #dxcf-flow #customer_details,#dxcf-flow #order_review,#dxcf-flow #order_review_heading {
        padding: 18px
    }
}

@media(max-width: 767px) {
    #dxcf-flow {
        padding:12px;
        margin: 16px auto 32px;
        font-size: 14px
    }

    #dxcf-flow .dxcf-steps {
        gap: 20px;
        margin-bottom: 24px
    }

    #dxcf-flow .dxcf-step {
        min-width: 78px
    }

    #dxcf-flow .dxcf-step b {
        font-size: 11px
    }

    #dxcf-flow .dxcf-step:not(:last-child)::after {
        width: 50px;
        right: calc(50% + 24px)
    }

    #dxcf-flow.dxcf--cart>.woocommerce {
        display: block
    }

    #dxcf-flow .cart-collaterals {
        margin-top: 18px
    }

    #dxcf-flow .woocommerce-cart-form table.cart tr.cart_item {
        grid-template-columns: 80px minmax(0,1fr);
        padding-top: 22px
    }

    #dxcf-flow .woocommerce-cart-form table.cart td.actions {
        align-items: stretch;
        flex-direction: column
    }

    #dxcf-flow .woocommerce-cart-form .coupon {
        display: flex;
        width: 100%;
        flex-wrap: nowrap
    }

    #dxcf-flow .woocommerce-cart-form .coupon #coupon_code {
        width: 100%;
        min-width: 0;
        flex: 1
    }

    #dxcf-flow .woocommerce-cart-form .coupon button {
        width: auto;
        flex: none
    }

    #dxcf-flow .woocommerce-cart-form td.actions>.button {
        width: 100%
    }

    #dxcf-flow .woocommerce form.checkout.woocommerce-checkout {
        display: block
    }

    #dxcf-flow form.checkout #customer_details {
        margin-bottom: 18px
    }

    #dxcf-flow form.checkout #order_review {
        width: 100%
    }

    #dxcf-flow table.shop_table_responsive tr {
        width: 100%;
    }

    #dxcf-flow table.shop_table_responsive tr th {
        display: table-cell;
        width: 100%;
    }

    #dxcf-flow table.shop_table_responsive tr td {
        display: table-cell;
        text-align: left!important;
        background: transparent
    }

    #dxcf-flow table.shop_table_responsive tr td::before {
        display: none
    }

    #dxcf-flow .woocommerce .form-row-first,#dxcf-flow .woocommerce .form-row-last {
        width: 100%;
        float: none
    }

    #dxcf-flow .woocommerce-customer-details .col2-set {
        grid-template-columns: 1fr
    }

    #dxcf-flow .woocommerce ul.order_details {
        padding: 18px;
        gap: 16px
    }

    #dxcf-flow .woocommerce ul.order_details li {
        flex-basis: 120px
    }

    #dxcf-flow .dxcf-result {
        padding: 24px 18px
    }

    #dxcf-flow .woocommerce-order-details,#dxcf-flow .woocommerce-customer-details {
        padding: 18px
    }
}

@media(prefers-reduced-motion:reduce) {
    #dxcf-flow * {
        scroll-behavior: auto!important;
        transition: none!important;
        animation: none!important
    }
}

#dxcf-flow .dxcf-savings {
    color: var(--dxcf-success);
    background: color-mix(in srgb,var(--dxcf-success) 6%,var(--dxcf-surface)) !important
}

#dxcf-flow .dxcf-savings small {
    display: block;
    font-size: 11px
}

#dxcf-flow form.checkout>.dxcf-review-panel {
    grid-column: 2;
    grid-row: 1;
    min-width: 0
}

#dxcf-flow form.checkout>.dxcf-review-panel.dxcf-review-only {
    grid-column: 1/-1
}

#dxcf-flow .woocommerce .wc-proceed-to-checkout a.checkout-button {
    padding: 12px 18px;
    min-height: 48px;
    margin: 0
}

#dxcf-flow .woocommerce .woocommerce-error,#dxcf-flow .woocommerce .woocommerce-info,#dxcf-flow .woocommerce .woocommerce-message {
    background: var(--dxcf-surface);
    color: var(--dxcf-text);
    border: 1px solid var(--dxcf-border);
    border-inline-start:4px solid var(--dxcf-primary);border-radius: 12px;
    padding: 16px 20px
}

#dxcf-flow .woocommerce .woocommerce-error::before,#dxcf-flow .woocommerce .woocommerce-info::before,#dxcf-flow .woocommerce .woocommerce-message::before {
    display: none
}

#dxcf-flow .woocommerce .woocommerce-error {
    border-inline-start-color:var(--dxcf-error)}

#dxcf-flow .woocommerce .woocommerce-message {
    border-inline-start-color: var(--dxcf-success)
}

/* Newer WooCommerce versions use the same notice banners in the classic flow. */
#dxcf-flow .wc-block-components-notice-banner {
    background: var(--dxcf-surface)!important;
    color: var(--dxcf-text)!important;
    border: 1px solid var(--dxcf-border)!important;
    border-inline-start:4px solid var(--dxcf-primary)!important;border-radius: 12px;
    padding: 16px 20px!important;
    margin: 0 0 20px;
    gap: 12px;
    font-size: 14px;
    line-height: 1.9
}

#dxcf-flow .wc-block-components-notice-banner>svg {
    background: var(--dxcf-primary)!important;
    flex: none
}

#dxcf-flow .wc-block-components-notice-banner.is-error {
    border-inline-start-color:var(--dxcf-error)!important}

#dxcf-flow .wc-block-components-notice-banner.is-error>svg {
    background: var(--dxcf-error)!important
}

#dxcf-flow .wc-block-components-notice-banner.is-success {
    border-inline-start-color:var(--dxcf-success)!important}

#dxcf-flow .wc-block-components-notice-banner.is-success>svg {
    background: var(--dxcf-success)!important
}

#dxcf-flow form.checkout #customer_details,#dxcf-flow form.checkout>.dxcf-review-panel {
    grid-row: 2
}

#dxcf-flow form.checkout>.woocommerce-NoticeGroup {
    grid-column: 1/-1;
    grid-row: 1;
    margin-bottom: 20px
}

#dxcf-flow .checkout-inline-error-message {
    color: var(--dxcf-error);
    font-size: 12px
}

@media(max-width: 767px) {
    #dxcf-flow .cart_totals table th {
        width:55%
    }

    #dxcf-flow .cart_totals table td {
        width: 45%
    }

    #dxcf-flow .dxcf-savings small {
        font-size: 10px
    }
}

#dxcf-flow .woocommerce .wc-proceed-to-checkout a.checkout-button {
    background: var(--dxcf-primary);
    color: var(--dxcf-button-text)
}

#dxcf-flow .woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--dxcf-primary-hover);
    color: var(--dxcf-button-text)
}

/* Layout helpers (formerly global; now scoped so the theme, header, mini-cart and shop pages are untouched). */
#dxcf-flow .woocommerce-shipping-totals {
    display: flex !important;
    flex-direction: column;
    width: 100%;
    padding: 8px 0;
}

#dxcf-flow .woocommerce-Price-amount bdi {
    display: flex;
    width: max-content;
    margin-right: auto;
}

#dxcf-flow .shipping-calculator-button {
    background: var(--dxcf-primary);
    color: var(--dxcf-button-text) !important;
    padding: 8px 16px;
    border-radius: 8px;
    text-decoration: none;
}

#dxcf-flow .shipping-calculator-button:hover,
#dxcf-flow .shipping-calculator-button:focus {
    background: var(--dxcf-primary-hover);
    color: var(--dxcf-button-text) !important;
    text-decoration: none;
}

#dxcf-flow .button {
    width: fit-content !important;
}

#dxcf-flow #place_order {
    width: 100% !important;
}

#dxcf-flow .wc-proceed-to-checkout a {
    width: 100% !important;
}

#dxcf-flow .woocommerce ul#shipping_method {
    display: flex !important;
    gap: 16px !important;
    justify-content: space-between !important;
}

#dxcf-flow .woocommerce-cart-form .product-thumbnail a {
    width: 120px;
    height: 120px;
}

#dxcf-flow .woocommerce-shipping-totals td {
    width: 100% !important;
}

/*
 * WooCommerce cart totals — layout-only repair for narrow RTL sidebar.
 * Append this after the existing custom cart styles.
 * The patch is scoped to #dxcf-flow.dxcf--cart to leave other tables alone.
 */
#dxcf-flow.dxcf--cart .cart_totals table.shop_table {
    display: block;
    width: 100%;
}

#dxcf-flow.dxcf--cart .cart_totals table.shop_table > tbody {
    display: block;
    width: 100%;
}

/* Preserve side-by-side label/amount for subtotal and final total. */
#dxcf-flow.dxcf--cart .cart_totals table.shop_table > tbody > tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    width: 100%;
}

#dxcf-flow.dxcf--cart .cart_totals table.shop_table > tbody > tr > th,
#dxcf-flow.dxcf--cart .cart_totals table.shop_table > tbody > tr > td {
    display: block;
    width: auto !important;
    min-width: 0;
    flex: none;
}

#dxcf-flow.dxcf--cart .cart_totals table.shop_table > tbody > tr:not(.woocommerce-shipping-totals) > td {
    justify-self: end;
    text-align: left !important;
    border: none !important;
}

/* Shipping: one full-width section, not a narrow table column. */
#dxcf-flow.dxcf--cart .cart_totals table.shop_table > tbody > tr.woocommerce-shipping-totals {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
}

#dxcf-flow.dxcf--cart .cart_totals table.shop_table > tbody > tr.woocommerce-shipping-totals > th,
#dxcf-flow.dxcf--cart .cart_totals table.shop_table > tbody > tr.woocommerce-shipping-totals > td {
    width: 100% !important;
    justify-self: stretch;
    text-align: right !important;
}

/* Stack shipping services so their radio labels and amounts cannot be crushed. */
#dxcf-flow.dxcf--cart .cart_totals .woocommerce-shipping-totals #shipping_method {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100%;
}

#dxcf-flow.dxcf--cart .cart_totals .woocommerce-shipping-totals #shipping_method > li {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    width: 100%;
    min-width: 0;
    margin: 0;
}

#dxcf-flow.dxcf--cart .cart_totals .woocommerce-shipping-totals #shipping_method > li > label {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    text-align: right;
    white-space: normal;
    overflow-wrap: normal;
}

/* Existing global flex on price bdi must not affect shipping method labels. */
#dxcf-flow.dxcf--cart .cart_totals .woocommerce-shipping-totals .woocommerce-Price-amount bdi {
    display: inline;
    width: auto;
    margin: 0;
}

/* ==========================================================================
   Theme isolation + colour roles (appended; layout above is unchanged).
   Roles:  primary = actions / active step / payable total
           success = savings, discounts, successful result
           error   = remove, validation, failed result
           muted   = secondary text      border = lines & outlines
   ========================================================================== */

/* Neutralise decoration themes commonly add to headings, lists, tables and controls. */
#dxcf-flow h2::before, #dxcf-flow h2::after,
#dxcf-flow h3::before, #dxcf-flow h3::after {
    content: none;
    display: none
}

#dxcf-flow ul.payment_methods > li::before,
#dxcf-flow ul.payment_methods > li::after,
#dxcf-flow #shipping_method > li::before,
#dxcf-flow #shipping_method > li::after,
#dxcf-flow .woocommerce-error li::before,
#dxcf-flow ul.order_details li::after {
    content: none;
    display: none
}

#dxcf-flow table {
    border-spacing: 0;
    table-layout: auto
}

#dxcf-flow table thead,
#dxcf-flow table tbody,
#dxcf-flow table tfoot,
#dxcf-flow table tr {
    background: transparent
}

#dxcf-flow table tbody tr:hover,
#dxcf-flow table tbody tr:nth-child(odd),
#dxcf-flow table tbody tr:nth-child(even) {
    background: transparent
}

#dxcf-flow button,
#dxcf-flow .button,
#dxcf-flow input,
#dxcf-flow textarea {
    text-shadow: none;
    transform: none
}

#dxcf-flow .button,
#dxcf-flow button.button,
#dxcf-flow #place_order {
    background-image: none;
    letter-spacing: normal
}

#dxcf-flow input.input-text,
#dxcf-flow textarea {
    background-image: none
}

#dxcf-flow ::placeholder {
    color: var(--dxcf-muted);
    opacity: 1
}

/* Buttons: every state stays on the primary / primary-hover pair. */
#dxcf-flow .button:focus,
#dxcf-flow .button:active,
#dxcf-flow #place_order:focus,
#dxcf-flow #place_order:active {
    background: var(--dxcf-primary);
    color: var(--dxcf-button-text);
    text-decoration: none
}

#dxcf-flow .button:hover,
#dxcf-flow .button:focus:hover,
#dxcf-flow #place_order:hover,
#dxcf-flow #place_order:focus:hover {
    background: var(--dxcf-primary-hover);
    color: var(--dxcf-button-text);
    text-decoration: none
}

#dxcf-flow .button:disabled,
#dxcf-flow .button.disabled,
#dxcf-flow .button[aria-disabled=true] {
    background: var(--dxcf-primary);
    color: var(--dxcf-button-text)
}

/* Prices follow the role colour of the row they sit in (no theme-coloured amounts). */
#dxcf-flow .woocommerce-Price-amount,
#dxcf-flow .woocommerce-Price-currencySymbol {
    color: inherit
}

#dxcf-flow ins {
    background: transparent;
    color: inherit;
    text-decoration: none
}

#dxcf-flow del {
    color: var(--dxcf-muted)
}

/* Success role: coupon discounts and savings rows, label + amount together. */
#dxcf-flow table.shop_table .cart-discount th,
#dxcf-flow table.shop_table .cart-discount td,
#dxcf-flow table.shop_table .dxcf-savings th,
#dxcf-flow table.shop_table .dxcf-savings td,
#dxcf-flow .dxcf-savings small {
    color: var(--dxcf-success)
}

/* Error role: removing things is always red, including the coupon-remove link. */
#dxcf-flow .cart-discount a.woocommerce-remove-coupon {
    color: var(--dxcf-error)
}

#dxcf-flow .woocommerce a.remove:hover,
#dxcf-flow .woocommerce a.remove:focus {
    color: var(--dxcf-error) !important;
    background: var(--dxcf-surface)
}

/* Payable total keeps its label in text colour and its amount in primary. */
#dxcf-flow table.shop_table .order-total th {
    color: var(--dxcf-text)
}

#dxcf-flow table.shop_table .order-total td {
    color: var(--dxcf-primary)
}

/* Secondary text stays muted regardless of theme paragraph / small colours. */
#dxcf-flow .dxcf-cart-title span,
#dxcf-flow .woocommerce-shipping-destination,
#dxcf-flow .includes_tax,
#dxcf-flow .woocommerce-privacy-policy-text,
#dxcf-flow dl.variation,
#dxcf-flow dl.variation dt,
#dxcf-flow dl.variation dd,
#dxcf-flow dl.variation p,
#dxcf-flow #payment div.payment_box,
#dxcf-flow #payment div.payment_box p,
#dxcf-flow .dxcf-result p {
    color: var(--dxcf-muted)
}

#dxcf-flow .woocommerce-error,
#dxcf-flow .woocommerce-info,
#dxcf-flow .woocommerce-message {
    color: var(--dxcf-text)
}

/* Step indicator: inactive = border/muted, active = primary. */
#dxcf-flow .dxcf-step b {
    color: inherit
}

/* ==========================================================================
   Checkout review table: same repair as the cart totals.
   A flex/grid <tr> inside a real table is wrapped in an anonymous cell and
   collapses to one column (~1/3 width). The table must be block-level so the
   rows can use the full card width.
   ========================================================================== */
#dxcf-flow table.woocommerce-checkout-review-order-table,
#dxcf-flow table.woocommerce-checkout-review-order-table > thead,
#dxcf-flow table.woocommerce-checkout-review-order-table > tbody,
#dxcf-flow table.woocommerce-checkout-review-order-table > tfoot {
    display: block;
    width: 100%
}

#dxcf-flow table.woocommerce-checkout-review-order-table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    width: 100%
}

#dxcf-flow table.woocommerce-checkout-review-order-table tr > th,
#dxcf-flow table.woocommerce-checkout-review-order-table tr > td {
    display: block;
    width: auto !important;
    min-width: 0;
    flex: none
}

#dxcf-flow table.woocommerce-checkout-review-order-table tr > td:last-child {
    justify-self: end;
    text-align: left !important
}

/* Shipping: one full-width section with stacked methods. */
#dxcf-flow table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    width: 100%
}

#dxcf-flow table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th,
#dxcf-flow table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td {
    width: 100% !important;
    justify-self: stretch;
    text-align: right !important
}

#dxcf-flow .woocommerce-checkout-review-order-table .woocommerce-shipping-totals #shipping_method {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100%;
    margin: 0;
    padding: 0
}

#dxcf-flow .woocommerce-checkout-review-order-table .woocommerce-shipping-totals #shipping_method > li {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    width: 100%;
    min-width: 0;
    margin: 0
}

#dxcf-flow .woocommerce-checkout-review-order-table .woocommerce-shipping-totals #shipping_method > li > label {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    text-align: right;
    white-space: normal;
    overflow-wrap: normal
}

#dxcf-flow .woocommerce-checkout-review-order-table .woocommerce-shipping-totals .woocommerce-Price-amount bdi {
    display: inline;
    width: auto;
    margin: 0
}

#dxcf-flow .woocommerce-checkout-review-order-table .product-name {
    width: auto
}


/* Cart final total is deliberately neutral and does not inherit the configurable primary colour. */
#dxcf-flow.dxcf--cart .cart_totals table.shop_table > tbody > tr.order-total > th,
#dxcf-flow.dxcf--cart .cart_totals table.shop_table > tbody > tr.order-total > td {
    color: #111111 !important;
    background: #f2f2f2 !important;
    border-color: #e2e2e2 !important;
}

#dxcf-flow.dxcf--cart .cart_totals table.shop_table > tbody > tr.order-total .woocommerce-Price-amount,
#dxcf-flow.dxcf--cart .cart_totals table.shop_table > tbody > tr.order-total .woocommerce-Price-currencySymbol,
#dxcf-flow.dxcf--cart .cart_totals table.shop_table > tbody > tr.order-total bdi {
    color: #111111 !important;
}


/* Quantities submit automatically; keep WooCommerce's manual update control out of the cart UI. */
#dxcf-flow.dxcf--cart .woocommerce-cart-form [name="update_cart"] {
    display: none !important;
}

/* Keep the cart covered with a clear reload indicator while quantities save. */
.dxcf-cart-update-status {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 24px;
    background: rgba(255, 255, 255, .88);
    color: #111111;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    direction: rtl;
    cursor: wait;
}

.dxcf-cart-update-status__icon {
    display: inline-flex;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    animation: dxcf-cart-reload 1s linear infinite;
}

.dxcf-cart-update-status__icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: #111111;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@keyframes dxcf-cart-reload {
    to { transform: rotate(360deg); }
}

/* Checkout final total stays black regardless of the configured primary colour. */
#dxcf-flow.dxcf--checkout table.woocommerce-checkout-review-order-table tr.order-total > th,
#dxcf-flow.dxcf--checkout table.woocommerce-checkout-review-order-table tr.order-total > td {
    color: #111111 !important;
    background: #f2f2f2 !important;
    border-color: #e2e2e2 !important;
}

#dxcf-flow.dxcf--checkout table.woocommerce-checkout-review-order-table tr.order-total,
#dxcf-flow.dxcf--checkout table.woocommerce-checkout-review-order-table tr.order-total * ,
#dxcf-flow.dxcf--checkout table.woocommerce-checkout-review-order-table tr.order-total .woocommerce-Price-amount,
#dxcf-flow.dxcf--checkout table.woocommerce-checkout-review-order-table tr.order-total .woocommerce-Price-currencySymbol,
#dxcf-flow.dxcf--checkout table.woocommerce-checkout-review-order-table tr.order-total bdi {
    color: #111111 !important;
}
