.section-cart-template,
.section-checkout-template {
    padding: 40px 0 116px;
    background: #E6F2FA;
}

.section-checkout-template .woocommerce-customer-details {
    display: none;
}

.cart-breadcrumb,
.checkout-breadcrumb {
    font-size: 14px;
    margin-bottom: 15px;
    color: #333;
}

.cart-btn {
    color: #181818;
    transition: all 0.3s;
}

.cart-btn:hover {
    color: #005EB8;
}

.woocommerce-thankyou-order-received {
    margin-bottom: 20px;
    font-size: 24px;
}

.breadcrumb-sep {
    margin: 0 8px;
    color: #4CAF50;
}

.cart-title,
.checkout-title {
    font-size: 32px;
    margin-bottom: 25px;
    color: #1e1e1e;
}

.custom-cart-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.custom-cart-table thead th {
    text-align: left;
    padding: 0 0 30px;
    font-weight: 700;
    font-size: 18px;
    color: #333333;
    border-bottom: 1px solid #BECBD4;
}

.custom-cart-table th.product-thumbnail-header {
    width: 90px;
}

.custom-cart-table th.product-name-header      { width: 30%; }
.custom-cart-table th.product-price-header     { width: 15%; }
.custom-cart-table th.product-quantity-header  { width: 20%; }
.custom-cart-table th.product-subtotal-header  { width: 15%; }
.custom-cart-table th.product-remove-header    { width: 5%;  }

.custom-cart-table tbody tr {
    vertical-align: middle;
}

.custom-cart-table tbody tr.cart_item td {
    padding: 0;
    font-size: 18px;
    font-weight: 400;
    border: none;
}

.custom-cart-table tbody tr.cart_item td {
    padding: 20px 0;
    border-bottom: 1px solid #BECBD4;
}

.custom-cart-table .product-thumbnail img {
    max-width: 123px;
    width: 100%;
    height: 103px!important;
    object-fit: cover;
    border-radius: 20px;
}

.custom-cart-table .product-name a {
    font-size: 18px;
    font-weight: 400;
    text-decoration: none;
    color: #181818;
}

.custom-cart-table .product-name a:hover {
    text-decoration: underline;
}

.custom-cart-table .product-name .variation {
    display: block;
    font-size: 13px;
    color: #666;
}

.custom-cart-table .product-price {
    font-size: 15px;
    color: #1e1e1e;
}

.quantity-custom {
    display: inline-flex;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 25px;
    overflow: hidden;
    width: 110px;
    height: 36px;
    transition: all 0.3s;
}

.quantity-custom:hover {
    border: 1px solid #333333;
}

.qty-btn {
    background: transparent;
    border: none;
    font-size: 20px;
    width: 36px;
    height: 36px;
    line-height: 36px;
    text-align: center;
    color: #28a745;
    cursor: pointer;
    transition: background 0.2s;
}

.qty-btn:hover {
    background: #28a74510;
}

.quantity-custom input.qty {
    width: 38px;
    text-align: center;
    border: none;
    outline: none;
    font-size: 18px;
    -moz-appearance: textfield;
    background: transparent;
}

.quantity-custom input.qty::-webkit-outer-spin-button,
.quantity-custom input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.custom-cart-table .product-subtotal {
    font-size: 15px;
    font-weight: 600;
    color: #1e1e1e;
}

.custom-cart-table .product-remove {
    border: none;
    outline: none;
    background: transparent;
}
.custom-cart-table .product-remove a {
    color: #c00;
    font-size: 20px;
    text-decoration: none;
    transition: color 0.2s;
}

.custom-cart-table .product-remove a:hover {
    background: none!important;
}

.custom-cart-table .product-remove a:hover {
    background: none!important;
}

.custom-cart-table .product-remove a svg path{
    transition: all 0.2s;
}

.custom-cart-table .product-remove a:hover svg path{
    stroke: #181818!important;
}

.woocommerce table.shop_table_responsive tr:nth-child(2n) td, .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
    background: transparent!important;
}

.cart-coupons-shipping-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin-top: 54px;
    gap: 20px;
}

.cart-coupon-block,
.cart-shipping-block {
    flex: 1;
    min-width: 280px;
}

.custom-checkout-wrapper .order-summary-total-items,
.custom-checkout-wrapper .total-value,
.custom-checkout-wrapper .shipping-value {
    font-weight: 700;
}

.cart-section-title {
    font-size: 26px;
    font-weight: 700;
    color: #1e1e1e;
}

.order-total > th {
    font-size: 26px!important;
    font-weight: 700!important;
    color: #1e1e1e;
}

.cart-coupon-form {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cart-coupon-form .coupon-input {
    flex: 1;
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 20px;
    font-size: 14px;
    outline: none;
}

.cart-coupon-form .coupon-button {
    padding: 10px 20px;
    background: #6c63ff;
    color: #fff;
    border: none;
    border-radius: 20px;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.2s;
}

.cart-coupon-form .coupon-button:hover {
    background: #5848d0;
}

.shipping-calculator-container {
    display: flex;
    flex-direction: row;
    margin-top: 44px;
    font-size: 14px;
}

.shipping-calculator-container .form-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    max-width: 47%!important;
    width: 100%!important;
}

.cart-shipping-wrapper .input-text,
.cart-shipping-wrapper select {
    /*max-width: 250px!important;*/
    width: 100%!important;
}

.shipping-calculator-container .cart-shipping-wrapper .input-text,
.shipping-calculator-container .cart-shipping-wrapper select{
    max-width: 100%!important;
    width: 100%!important;
}



#calc_shipping_state {
    padding: 18px !important;
    border: 1px solid #BECBD4 !important;
    border-radius: 100px !important;
    background: transparent;
}

.cart-totals {
    max-width: 100%;
    width: 100%;
}

.woocommerce table.shop_table {
    max-width: 100%;
    width: 100%;
    margin: 0;
    border: none;
    border-collapse: separate;
    border-radius: 0;
    text-align: left;
}

.cart-totals-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.cart-totals-wrapper .woocommerce table.shop_table th {
    padding: 0;
}

.cart-totals-wrapper .order-total {
    display: flex;
    flex-direction: row;
    gap: 6px;
    font-size: 14px;
    color: #333333;
    margin-top: 0;
    margin-left: auto;
    align-items: center;
    justify-content: space-between;
}

.cart-totals-wrapper .woocommerce table.shop_table td {
    padding: 0!important;
}

.cart-totals-wrapper .proceed-to-checkout-button {
    display: flex!important;
    justify-self: flex-end!important;
    max-width: max-content!important;
    width: 100%!important;
    margin-top: 16px!important;
    margin-bottom: 16px!important;
    padding: 19px 30px !important;
    background: #005EB8!important;
    border-radius: 100px!important;
    border: none!important;
    outline: none!important;
    font-size: 18px!important;
    line-height: 123%!important;
    font-weight: 600!important;
    color: #fff!important;
    transition: all 0.3s;
}

.cart-totals-wrapper .proceed-to-checkout-button:hover {
    background: #0170D9!important;
}

.totals-table {
    width: 100%;
    max-width: 400px;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.totals-table th,
.totals-table td {
    padding: 10px 15px;
    font-size: 15px;
}

.totals-table th {
    text-align: left;
    font-weight: 600;
}

.totals-table td {
    text-align: right;
    color: #1e1e1e;
}

.proceed-to-checkout-button {
    background: #0069d9;
    color: #fff;
    padding: 12px 30px;
    border-radius: 30px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: background 0.2s;
}

.proceed-to-checkout-button:hover {
    background: #0053a6;
}

.cart-note {
    font-size: 18px;
    line-height: 100%;
    font-weight: 400;
    letter-spacing: 0;
    text-align: right;
    margin-top: 10px;
    color: #333333;
    justify-self: flex-end;
}

.checkout-breadcrumb {
    font-size: 14px;
}

.checkout-breadcrumb .breadcrumb-link {
    color: #333;
    text-decoration: none;
    font-weight: 500;
}

.checkout-breadcrumb .breadcrumb-sep {
    margin: 0 8px;
    color: #4CAF50;
}

.checkout-title {
    font-size: 32px;
    margin-bottom: 25px;
    color: #1e1e1e;
}

.checkout-left-col,
.checkout-right-col {
    box-sizing: border-box;
}

.checkout-left-col {
    width: 60%;
    float: left;
    padding-right: 20px;
}

.checkout-right-col {
    width: 40%;
    float: right;
    padding-left: 20px;
}

.custom-checkout-wrapper::after {
    content: "";
    display: table;
    clear: both;
}

.section-title {
    font-size: 20px;
    margin-bottom: 15px;
    font-weight: 600;
    color: #1e1e1e;
}

.checkout-billing-shipping {
    margin-bottom: 30px;
}

.checkout-billing,
.checkout-shipping {
    background: #ffffff;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.checkout-billing .woocommerce-billing-fields__field-wrapper,
.checkout-shipping .woocommerce-shipping-fields__field-wrapper {
    margin-top: 10px;
}

.checkout-payment-methods {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 30px;
    margin-bottom: 30px;
}

.checkout-payment-methods h2 {
    max-width: 100%;
    width: 100%;
    margin-bottom: 40px;
    font-size: 26px;
}

.payment-method-row {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.payment-method-row input[type="radio"] {
    margin-right: 10px;
    cursor: pointer;
}

.payment-method-row label {
    min-width: 250px;
    font-size: 16px;
    color: #333;
    cursor: pointer;
}

.payment-method-row .payment-method-icon {
    margin-left: 10px;
    vertical-align: middle;
}

.payment-method-details {
    margin-left: 28px;
    margin-bottom: 20px;
}

#calc_shipping_country_field {
    margin-right: 24px;
}

#calc_shipping_state_field {
    margin-right: 24px;
}

body > section > div > div > div.custom-cart-wrapper > form > div.cart-shipping-wrapper > div.shipping-calculator-container > p:nth-child(5) {
    margin-right: 24px;
}

.checkout-order-summary {
    margin-bottom: 30px;
}

.order-summary-items {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 15px;
}

.order-summary-item {
    width: calc(50% - 15px);
    display: flex;
    align-items: center;
    padding: 10px;
}

.os-item-thumb img {
    width: 60px;
    height: auto;
    border-radius: 4px;
    margin-right: 10px;
}

.os-item-info {
    font-size: 14px;
}

.os-item-name {
    font-weight: 500;
    color: #1e1e1e;
}

.os-item-qty-price {
    color: #666;
    margin-top: 4px;
}

.checkout-shipping-summary {
    margin-bottom: 30px;
}

.checkout-total-summary {
    margin-bottom: 30px;
}

.checkout-total-summary .checkout-total-amount {
    font-size: 18px;
    font-weight: 600;
    color: #1e1e1e;
}

.place-order-button-wrap {
    text-align: right;
}

.place-order-button {
    background: #0069d9;
    color: #fff;
    padding: 12px 30px;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}

.place-order-button:hover {
    background: #0170D9!important;
}

.woocommerce-shipping-calculator {
    background: #ffffff;
    padding: 20px;
    border-radius: 8px;
    margin-top: 30px;
}

.cart-shipping-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}
.cart-shipping-header .cart-section-title {
    margin: 0;
}
.cart-shipping-header .shipping-total {
    font-size: 18px;
    font-weight: 600;
    color: #1e1e1e;
}

.woocommerce-shipping-calculator .form-row {
    margin: 0 0 15px 0;
    width: 100%;
    box-sizing: border-box;
}

.woocommerce-shipping-calculator select.country_to_state,
.woocommerce-shipping-calculator select.state_select {
    width: 100%;
    max-width: 260px;
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 25px;
    font-size: 14px;
    color: #333;
    background: #fafafa url("data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjNjY2IiB2aWV3Qm94PSIwIDAgMTIgNyIgd2lkdGg9IjEyIiBoZWlnaHQ9IjciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEgMWw1IDUtNSA1IiBzdHJva2U9IiM2NjYiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9zdmc+") no-repeat;
    background-position: right 15px center;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
}
.woocommerce-shipping-calculator select.country_to_state:focus,
.woocommerce-shipping-calculator select.state_select:focus {
    outline: none;
    border-color: #6c63ff;
}

.woocommerce-shipping-calculator .form-row-first,
.woocommerce-shipping-calculator .form-row-last {
    display: inline-block;
    width: calc(50% - 10px);
    vertical-align: top;
}
.woocommerce-shipping-calculator .form-row-first input,
.woocommerce-shipping-calculator .form-row-last input {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 25px;
    font-size: 14px;
    color: #333;
    background: #fafafa;
    box-sizing: border-box;
}

.woocommerce-shipping-calculator .form-row-first {
    margin-right: 20px;
}
.woocommerce-shipping-calculator .form-row-last {
    margin-left: 0;
}

.shipping-button {
    padding: 10px 25px;
    background: #ffffff;
    color: #333333;
    border: 1px solid #ccc;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.shipping-button:hover {
    background: #6c63ff;
    color: #ffffff;
    border-color: #6c63ff;
}

.clear {
    clear: both;
}

#calc_shipping_city {
    padding: 18px !important;
    border: 1px solid #BECBD4 !important;
    border-radius: 100px !important;
    background: transparent;
    transition: all 0.3s;
}

#calc_shipping_city:hover {
    border: 1px solid #333333 !important;
}

#calc_shipping_postcode {
    padding: 18px !important;
    border: 1px solid #BECBD4 !important;
    border-radius: 100px !important;
    background: transparent;
    transition: all 0.3s;
}

#calc_shipping_postcode:hover {
    border: 1px solid #333333 !important;
}

.cart-breadcrumb, .checkout-breadcrumb {
    font-size: 14px;
    margin-bottom: 38px;
    color: #333;
}
.cart-title, .checkout-title {
    margin-bottom: 20px;
    font-size: 40px;
}
.woocommerce table.shop_table th {
    font-weight: 700;
    padding: 9px 12px 27px 0;
    line-height: 1.5em;
}
.custom-cart-table tbody tr.cart_item td {
    padding: 10px 0;
    border-bottom: 1px solid #BECBD4;
}

.cart-coupon-block {
    display: flex;
    align-items: center;
    gap: 30px;
    max-width: 100%;
    width: 100%;
    margin-bottom: 30px;
    padding-bottom: 60px;
    border-bottom: 1px solid #BECBD4;
}

.cart-coupon-block .cart-section-title {
    margin-bottom: 0;
    font-weight: 700;
    font-size: 26px;
    line-height: 112%;
    letter-spacing: 0;
}

.cart-coupon-form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex: 1;
}

.cart-coupon-form .coupon-input {
    flex: 1;
    padding: 10px 15px;
    border-radius: 100px;
    font-size: 18px;
    outline: none;
    border: 1px solid #BECBD4;
    background: transparent;
    max-width: 668px;
    width: 100%;
    height: 60px;
    transition: all 0.3s;
}

.cart-coupon-form .coupon-input:hover {
    border: 1px solid #333333;
}

.coupon-button {
    display: flex!important;
    max-width: max-content!important;
    width: 100%!important;
    padding: 19px 30px!important;
    background: #FBFBFB!important;
    border-radius: 100px!important;
    font-size: 18px!important;
    line-height: 123%!important;
    font-weight: 600!important;
    color: #181818!important;
}

.cart-shipping-wrapper {
    max-width: 100%;
    width: 100%;
}

.cart-coupon-form.success .coupon-button {
    display: none!important;
}

.coupon-status {
    display: flex !important;
    max-width: max-content !important;
    width: 100% !important;
    padding: 19px 30px !important;
    background: #fafafa!important;
    border-radius: 100px !important;
    font-size: 18px !important;
    line-height: 123% !important;
    font-weight: 600 !important;
    color: #FFFFFF!important;
}

.coupon-status.success {
    justify-content: center;
    min-width: 107px;
    background: #4CAF50!important;
}

.order-summary-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-top: 30px;
}

.checkout-shipping-summary {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-top: 30px;
}

.checkout-total-summary {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-top: 30px;
}

.order-summary-header .section-title,
.checkout-shipping-summary .section-title,
.checkout-total-summary .section-title {
    margin-bottom: 0;
}

.checkout_bottom_inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.checkout-privacy-text {
    color: #333333;
    max-width: 728px;
    width: 100%;
}

.custom-cart-wrapper > div.cart-totals-wrapper > div > table > tbody > tr > td > strong > span {
    font-weight: 700;
}

body > section > div > div > div.custom-cart-wrapper > form > div.cart-totals-wrapper > div > table > tbody > tr > th {
    padding: 0;
}

.woocommerce table.shop_table td {
    padding: 0;
}

.cart-totals-wrapper .order-total .amount {
    font-weight: 600 !important;
}


@media (max-width: 1024px) {
    .shipping-calculator-container {
        flex-direction: column;
        flex-wrap: wrap;
    }
}
@media (max-width: 768px) {
    .section-cart-template, .section-checkout-template {
        padding: 22px 0 60px;
        background: #E6F2FA;
    }
    .cart-breadcrumb, .checkout-breadcrumb {
        margin-bottom: 25px;
    }
    .cart-title, .checkout-title {
        margin-bottom: 25px;
        font-size: 30px;
    }
    .product-thumbnail {
        display: flex!important;
    }
    .woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before {
        display: none!important;
    }
    .custom-cart-table tbody tr.cart_item td {
        padding: 0;
        border-bottom: none;
    }
    .woocommerce-cart-form__cart-item {
        display: flex!important;
        flex-wrap: wrap;
        justify-content: space-between;
        position: relative;
    }
    .woocommerce-cart-form__cart-item .product-thumbnail {
        max-width: 100%;
        width: 100%;
        margin-bottom: 4px;
        order: 0;
        background: transparent!important;
    }
    .woocommerce-cart-form__cart-item .product-name {
        max-width: 60%;
        text-align: left!important;
        order: 1;
    }
    body > section > div > div > div.custom-cart-wrapper > form > table > tbody > tr:nth-child(2) > td.product-name {
        text-align: left!important;
        width: 65%;
        padding-right: 10px;
    }
    .woocommerce-cart-form__cart-item .product-price {
        order: 3;
    }
    .woocommerce-cart-form__cart-item .product-quantity {
        order: 2;
    }
    .woocommerce-cart-form__cart-item .product-subtotal {
        order: 4;
    }
    .woocommerce-cart-form__cart-item .product-remove {
        position: absolute;
        top: 16px;
        right: 24px;
    }
    .custom-cart-table .product-thumbnail img {
        max-width: 72px;
        width: 100%;
        min-width: 72px;
        height: 60px !important;
        object-fit: cover;
        border-radius: 12px;
    }
    .custom-cart-table tbody tr {
        padding: 16px 0;
        border-bottom: 1px solid #BECBD4;
    }
    .cart-coupon-block {
        display: flex;
        align-items: stretch;
        gap: 30px;
        max-width: 100%;
        width: 100%;
        margin-bottom: 30px;
        padding-bottom: 60px;
        border-bottom: 1px solid #BECBD4;
        flex-direction: column;
        flex-wrap: nowrap;
    }
    .cart-coupon-form {
        display: flex;
        align-items: stretch;
        justify-content: flex-end;
        gap: 10px;
        flex: 1;
        flex-direction: column;
    }
    .cart-coupon-form .coupon-button {
        max-width: 100% !important;
        width: 100% !important;
        justify-content: center;
    }
    .shipping-calculator-container {
        display: flex;
        flex-direction: column;
        margin-top: 44px;
        font-size: 14px;
        align-items: stretch;
    }
    .shipping-calculator-container .form-row {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        max-width: 100% !important;
        width: 100% !important;
    }
    .cart-totals-wrapper .order-total th {
        display: flex!important;
    }
    .cart-totals-wrapper .order-total {
        display: flex !important;
        flex-direction: row;
        gap: 6px;
        font-size: 14px;
        color: #333333;
        margin-top: 0;
        margin-left: auto;
        align-items: center;
        justify-content: space-between;
    }
    .cart-totals-wrapper .proceed-to-checkout-button {
        max-width: 100% !important;
        justify-content: center;
    }
    .cart-note {
        font-size: 18px;
        line-height: 100%;
        font-weight: 400;
        letter-spacing: 0;
        text-align: left;
        margin-top: 10px;
        color: #333333;
        justify-self: flex-start;
    }
    .woocommerce form .form-row{
        margin: 0 0 16px;
    }

    .select2-container.select2-container--open .select2-dropdown--below{
        top: 8px;
        bottom: 4px;
    }

    .cart-shipping-wrapper select{
        width: auto!important;
    }

    .payment-method-row input[type="radio"]{
        width: auto;
    }
    .order-summary-items{
        flex-direction: column;
    }
    .order-summary-item{
        width: 100%;
    }

    .checkout_bottom_inner{
        flex-direction: column-reverse;
    }

    .place-order-button-wrap{
        width: 100%;
    }

    .place-order-button-wrap button{
        max-width: 100% !important;
        width: 100% !important;
        justify-content: center;
    }
    .custom-cart-table .product-remove{
        position: relative;
    }
    .custom-cart-table .product-remove a{
        position: absolute;
        top: 0;
        right: 0;
    }

    .product-price{
        font-size: 18px!important;
        font-weight: 400;
        border: none;
    }

    .product-subtotal{
        font-size: 18px!important;
        font-weight: 400!important;
        border: none;
    }

    .product-quantity{
        float: right;
    }

    .product-subtotal{
        float: right;
    }

    .custom-cart-table{
        border-bottom: 1px solid #BECBD4;
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

    .woocommerce table.shop_table{
        display: none;
    }

    .checkout-payment-methods h2 {
        font-size: 20px;
    }

}