.elementor-17 .elementor-element.elementor-element-171338ab{--display:flex;--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-widget-woocommerce-checkout-page .product-name .variation{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-17 .elementor-element.elementor-element-de6b838{--additional-information-display:block;--sections-border-type:none;}@media(max-width:767px){.elementor-17 .elementor-element.elementor-element-171338ab{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS for woocommerce-checkout-page, class: .elementor-element-de6b838 *//* =========================================
   MODERN WOOCOMMERCE CHECKOUT
   DESKTOP + TABLET + MOBILE
========================================= */

.woocommerce-checkout {
    width: 100%;
}

/* Main checkout container */
.e-checkout__container {
    gap: 30px !important;
    align-items: flex-start !important;
}

/* =========================================
   LEFT / RIGHT CARDS
========================================= */

.e-checkout__column-start,
.e-checkout__column-end {
    width: 100%;
}

/* Billing card */
#customer_details {
    background: #fff;
    border: 1px solid #e9e9e9;
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 8px 30px rgba(0,0,0,.04);
}

/* Order card */
.e-checkout__order_review,
.e-checkout__column-inner {
    background: #fff;
}

/* =========================================
   HEADINGS
========================================= */

.woocommerce-billing-fields h3,
#order_review_heading {
    margin: 0 0 24px !important;

    color: #222;

    font-size: 22px !important;
    line-height: 1.3;

    font-weight: 700;
}

/* =========================================
   FORM FIELDS
========================================= */

.woocommerce-billing-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 0 14px;
}

/* First / Last name */
#billing_first_name_field,
#billing_last_name_field {
    width: calc(50% - 7px);
}

/* All full width fields */
#billing_country_field,
#billing_address_1_field,
#billing_address_2_field,
#billing_city_field,
#billing_state_field,
#billing_postcode_field,
#billing_phone_field,
#billing_email_field {
    width: 100%;
}

/* Field wrapper */
.woocommerce-checkout .form-row {
    margin-bottom: 17px;
}

/* Labels */

.woocommerce-checkout .form-row label {
    display: block;

    margin-bottom: 7px;

    color: #333;

    font-size: 13px;

    font-weight: 600;
}

/* Required star */

.woocommerce-checkout .required {
    color: #e67e22;
}

/* Inputs */

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
    width: 100%;

    min-height: 48px;

    box-sizing: border-box;

    padding: 0 14px;

    border: 1px solid #ddd !important;

    border-radius: 9px !important;

    background: #fff !important;

    color: #222;

    font-size: 14px;

    outline: none;

    transition: all .2s ease;
}

/* Textarea */

.woocommerce-checkout .form-row textarea {
    min-height: 100px;

    padding: 13px 14px;

    resize: vertical;
}

/* Focus */

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: #e67e22 !important;

    box-shadow: 0 0 0 3px rgba(230,126,34,.08);
}

/* Placeholder */

.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
    color: #aaa;
}


/* =========================================
   SELECT2
========================================= */

.woocommerce-checkout .select2-container {
    width: 100% !important;
}

.woocommerce-checkout .select2-container .select2-selection--single {
    height: 48px !important;

    border: 1px solid #ddd !important;

    border-radius: 9px !important;

    background: #fff !important;
}

.woocommerce-checkout
.select2-container
.select2-selection--single
.select2-selection__rendered {
    height: 48px;

    line-height: 48px;

    padding-left: 14px;

    color: #222;

    font-size: 14px;
}

.woocommerce-checkout
.select2-container
.select2-selection--single
.select2-selection__arrow {
    height: 48px;

    right: 10px;
}


/* =========================================
   ORDER REVIEW
========================================= */

.e-checkout__column-end {
    position: relative;
}

.e-checkout__column-inner {
    padding: 28px !important;

    border: 1px solid #e9e9e9;

    border-radius: 18px;

    box-shadow: 0 8px 30px rgba(0,0,0,.04);
}

/* Order table */

.woocommerce-checkout-review-order-table {
    width: 100%;

    margin: 0 !important;

    border: 0 !important;

    border-collapse: collapse;
}

/* Table heading */

.woocommerce-checkout-review-order-table thead th {
    padding: 0 0 15px !important;

    border: 0 !important;

    border-bottom: 1px solid #eee !important;

    color: #777;

    font-size: 12px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: .4px;
}

/* Product */

.woocommerce-checkout-review-order-table tbody td {
    padding: 15px 0 !important;

    border: 0 !important;

    border-bottom: 1px solid #f1f1f1 !important;

    vertical-align: middle;
}

.woocommerce-checkout-review-order-table
.product-name {
    color: #333;

    font-size: 14px;

    font-weight: 500;
}

.woocommerce-checkout-review-order-table
.product-quantity {
    color: #888;

    font-size: 13px;

    font-weight: 500;
}

/* Product price */

.woocommerce-checkout-review-order-table
.product-total {
    text-align: right;

    color: #222;

    font-size: 14px;

    font-weight: 600;
}

/* Totals */

.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
    padding: 15px 0 !important;

    border: 0 !important;

    border-bottom: 1px solid #eee !important;
}

.woocommerce-checkout-review-order-table
.cart-subtotal th,
.woocommerce-checkout-review-order-table
.cart-subtotal td {
    color: #666;

    font-size: 14px;

    font-weight: 500;
}

.woocommerce-checkout-review-order-table
.order-total th {
    color: #222;

    font-size: 16px;

    font-weight: 700;
}

.woocommerce-checkout-review-order-table
.order-total td {
    text-align: right;

    color: #222;

    font-size: 21px;

    font-weight: 700;
}


/* =========================================
   COUPON
========================================= */

.e-coupon-box {
    margin-top: 20px;

    padding: 15px;

    border: 1px solid #eee;

    border-radius: 10px;

    background: #fafafa;
}

.e-checkout-secondary-title {
    margin: 0 !important;

    color: #666;

    font-size: 13px;
}

.e-checkout-secondary-title a {
    color: #e67e22;

    font-weight: 600;

    text-decoration: none;
}

/* Coupon form */

.e-coupon-anchor {
    margin-top: 15px;
}

.e-coupon-anchor-description {
    display: block;

    margin-bottom: 8px;

    color: #777;

    font-size: 12px;
}

.coupon-container-grid {
    display: flex;

    gap: 8px;
}

.coupon-container-grid .coupon-col-1 {
    flex: 1;
}

.coupon-container-grid .coupon-col-2 {
    width: auto;
}

.coupon-container-grid input {
    width: 100%;

    height: 45px;

    padding: 0 13px;

    border: 1px solid #ddd !important;

    border-radius: 8px !important;

    background: #fff;

    outline: none;
}

.coupon-container-grid .e-apply-coupon {
    height: 45px;

    padding: 0 18px;

    border: 0 !important;

    border-radius: 8px !important;

    background: #222 !important;

    color: #fff !important;

    font-size: 13px;

    font-weight: 600;
}

.coupon-container-grid .e-apply-coupon:hover {
    background: #e67e22 !important;
}


/* =========================================
   PAYMENT
========================================= */

#payment {
    margin-top: 22px;

    padding-top: 20px;

    border-top: 1px solid #eee;
}

.wc_payment_methods {
    padding: 0 !important;

    margin: 0 !important;

    border: 0 !important;
}

.woocommerce-info {
    margin: 0 !important;

    padding: 14px !important;

    border: 1px solid #eee !important;

    border-radius: 9px;

    background: #fafafa !important;

    color: #777 !important;

    font-size: 13px;
}


/* =========================================
   PRIVACY / TERMS
========================================= */

.woocommerce-privacy-policy-text {
    margin: 18px 0 !important;

    color: #888;

    font-size: 12px;

    line-height: 1.6;
}

.woocommerce-privacy-policy-text a {
    color: #e67e22;

    text-decoration: none;
}


/* =========================================
   PLACE ORDER BUTTON
========================================= */

#place_order {
    width: 100% !important;

    min-height: 54px !important;

    margin: 0 !important;

    padding: 0 20px !important;

    border: 0 !important;

    border-radius: 11px !important;

    background: #e67e22 !important;

    color: #fff !important;

    font-size: 15px !important;

    font-weight: 700 !important;

    box-shadow: 0 7px 20px rgba(230,126,34,.22);

    transition: all .25s ease;
}

#place_order:hover {
    background: #d96f15 !important;

    transform: translateY(-2px);

    box-shadow: 0 10px 25px rgba(230,126,34,.3);
}


/* =========================================
   TABLET
   768px - 1024px
========================================= */

@media (min-width: 768px) and (max-width: 1024px) {

    .e-checkout__container {
        gap: 20px !important;
    }

    #customer_details,
    .e-checkout__column-inner {
        padding: 22px !important;

        border-radius: 15px;
    }

    .woocommerce-billing-fields h3,
    #order_review_heading {
        font-size: 20px !important;
    }

    .woocommerce-checkout .form-row {
        margin-bottom: 14px;
    }

    .woocommerce-checkout .form-row input.input-text,
    .woocommerce-checkout .form-row textarea,
    .woocommerce-checkout .form-row select,
    .woocommerce-checkout .select2-container
    .select2-selection--single {
        min-height: 46px;
    }

}


/* =========================================
   MOBILE
   767px AND BELOW
========================================= */

@media (max-width: 767px) {

    /* Main layout */

    .e-checkout__container {
        display: flex !important;

        flex-direction: column !important;

        gap: 18px !important;
    }

    .e-checkout__column-start,
    .e-checkout__column-end {
        width: 100% !important;

        max-width: 100% !important;
    }


    /* Cards */

    #customer_details,
    .e-checkout__column-inner {
        width: 100%;

        box-sizing: border-box;

        padding: 20px !important;

        border-radius: 14px;
    }


    /* Headings */

    .woocommerce-billing-fields h3,
    #order_review_heading {
        margin-bottom: 18px !important;

        font-size: 19px !important;
    }


    /* First / Last name */

    #billing_first_name_field,
    #billing_last_name_field {
        width: 100%;

        margin-bottom: 14px;
    }


    /* Fields */

    .woocommerce-checkout .form-row {
        margin-bottom: 14px;
    }

    .woocommerce-checkout .form-row input.input-text,
    .woocommerce-checkout .form-row textarea,
    .woocommerce-checkout .form-row select {
        min-height: 46px;

        font-size: 14px;
    }


    /* Order table */

    .woocommerce-checkout-review-order-table thead {
        display: none;
    }

    .woocommerce-checkout-review-order-table tbody tr {
        display: flex;

        align-items: center;

        justify-content: space-between;

        gap: 12px;

        padding: 12px 0;

        border-bottom: 1px solid #eee;
    }

    .woocommerce-checkout-review-order-table tbody td {
        padding: 0 !important;

        border: 0 !important;
    }

    .woocommerce-checkout-review-order-table
    tbody .product-name {
        flex: 1;

        font-size: 13px;
    }

    .woocommerce-checkout-review-order-table
    tbody .product-total {
        flex-shrink: 0;

        text-align: right;

        font-size: 13px;
    }


    /* Totals */

    .woocommerce-checkout-review-order-table tfoot th,
    .woocommerce-checkout-review-order-table tfoot td {
        padding: 12px 0 !important;
    }


    /* Coupon */

    .e-coupon-box {
        padding: 13px;

        border-radius: 9px;
    }

    .coupon-container-grid {
        flex-direction: column;

        gap: 8px;
    }

    .coupon-container-grid .coupon-col-2 {
        width: 100%;
    }

    .coupon-container-grid .e-apply-coupon {
        width: 100%;
    }


    /* Payment */

    #payment {
        margin-top: 18px;

        padding-top: 17px;
    }


    /* Place order */

    #place_order {
        min-height: 52px !important;

        font-size: 14px !important;

        border-radius: 10px !important;
    }

}


/* =========================================
   SMALL MOBILE
   480px AND BELOW
========================================= */

@media (max-width: 480px) {

    #customer_details,
    .e-checkout__column-inner {
        padding: 17px !important;

        border-radius: 12px;
    }

    .woocommerce-billing-fields h3,
    #order_review_heading {
        font-size: 18px !important;
    }

    .woocommerce-checkout .form-row label {
        font-size: 12px;
    }

    .woocommerce-checkout .form-row input.input-text,
    .woocommerce-checkout .form-row textarea {
        min-height: 44px;

        padding-left: 12px;
        padding-right: 12px;
    }

    .woocommerce-checkout-review-order-table
    tbody tr {
        gap: 8px;
    }

    .woocommerce-checkout-review-order-table
    tbody .product-name {
        font-size: 12px;
    }

    .woocommerce-checkout-review-order-table
    tbody .product-total {
        font-size: 12px;
    }

    .woocommerce-checkout-review-order-table
    .order-total td {
        font-size: 18px;
    }

    .woocommerce-info {
        font-size: 12px;
        line-height: 1.5;
    }

    .woocommerce-privacy-policy-text {
        font-size: 11px;
    }
}
p#billing_first_name_field {
    width: min-content;
    width: 100%;
}/* End custom CSS */