/* ==========================
   SoftIdea V6 Overflow Guard
========================== */

.woocommerce-checkout *,
.woocommerce-checkout *::before,
.woocommerce-checkout *::after,
.elementor-menu-cart__container *,
.elementor-menu-cart__container *::before,
.elementor-menu-cart__container *::after {
    box-sizing: border-box !important;
}

.woocommerce-checkout .site-container,
.woocommerce-checkout .content-area,
.woocommerce-checkout .entry-content,
.woocommerce form.checkout,
.woocommerce-checkout .col2-set,
.woocommerce-checkout .col-1,
.woocommerce-billing-fields,
.woocommerce-billing-fields__field-wrapper,
#order_review,
.woocommerce-checkout-review-order-table,
.woocommerce-input-wrapper,
.select2-container,
.select2-selection,
.select2-selection--single {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.woocommerce-input-wrapper {
    display: block !important;
    width: 100% !important;
}

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

.elementor-menu-cart__container,
.elementor-menu-cart__main,
.widget_shopping_cart_content,
.wpr-woo-mini-cart,
.woocommerce-mini-cart,
.woocommerce-mini-cart-item,
.wpr-woo-mini-cart .mini_cart_item {
    max-width: 100vw !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
}

.wpr-mini-cart-name-and-quantity {
    min-width: 0 !important;
}

.wpr-mini-cart-product-name,
.wpr-mini-cart-name {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

@media(max-width:640px) {
    .woocommerce form.checkout {
        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-menu-cart__main {
        width: 100vw !important;
        max-width: 100vw !important;
        right: 0 !important;
        left: auto !important;
    }
}

/* SoftIdea WooCommerce Checkout Lite V6 */
:root {
    --si-purple: #6c4cff;
    --si-purple2: #8b5cff;
    --si-purple-soft: #f5f1ff;
    --si-border: #e6ddff;
    --si-text: #17172a;
    --si-muted: #6b7280;
    --si-bg: #fbfaff;
}

body.woocommerce-checkout {
    background: linear-gradient(180deg, #fbf9ff 0%, #fff 45%) !important;
    font-family: "Noto Sans Thai", sans-serif !important;
}

.woocommerce-checkout .site-container,
.woocommerce-checkout .content-area,
.woocommerce-checkout .entry-content {
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.woocommerce form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 420px !important;
    gap: 28px !important;
    align-items: start !important;
    max-width: 1180px !important;
    margin: 24px auto 48px !important;
    padding: 0 16px !important;
}
@media (max-width:390px){
    .woocommerce form.checkout {
    display: block !important;
}
}

.woocommerce-checkout .col2-set {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
    width: 100% !important;
    float: none !important;
}

.woocommerce-checkout .col2-set .col-2,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
    display: none !important;
}

.woocommerce-billing-fields,
.softidea-coupon-box,
#order_review {
    background: #fff !important;
    border: 1px solid var(--si-border) !important;
    border-radius: 24px !important;
    box-shadow: 0 22px 60px rgba(108, 76, 255, .10) !important;
}

.woocommerce-billing-fields,
.softidea-coupon-box {
    padding: 28px !important;
}

.woocommerce-billing-fields h3,
#order_review_heading {
    color: var(--si-text) !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    margin: 0 0 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap;
}

.woocommerce-billing-fields h3 i,
#order_review_heading i,
.softidea-heading-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, var(--si-purple), var(--si-purple2));
    box-shadow: 0 12px 24px rgba(108, 76, 255, .25);
    font-size: 18px;
}

.softidea-heading-subtitle {
    display: block;
    width: 100%;
    font-size: 13px;
    color: var(--si-muted);
    font-weight: 400;
    margin-left: 54px;
    margin-top: -12px;
}

.softidea-checkout-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 10px;
}

.softidea-checkout-tab {
    border: 1.5px solid #e3dcff;
    border-radius: 18px;
    background: #fcfbff;
    padding: 15px;
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    cursor: pointer;
    transition: .18s ease;
    font-family: 'Noto Sans Thai';
}
@media (max-width:640px){
    .softidea-checkout-tab{
        gap:7px;
    }
}
.softidea-checkout-tab:hover,
.softidea-checkout-tab.is-active {
    border-color: var(--si-purple);
    background: linear-gradient(135deg, #f8f5ff, #fff);
    box-shadow: 0 14px 28px rgba(108, 76, 255, .12);
}

.softidea-tab-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, var(--si-purple), var(--si-purple2));
    font-size: 17px;
    flex: 0 0 42px;
}

.softidea-checkout-tab strong {
    display: block;
    font-size: 15px;
    color: var(--si-text);
    font-weight: 700;
}

.softidea-checkout-tab small {
    display: block;
    margin-top: 2px;
    color: var(--si-muted);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.35;
}
@media (max-width:640px){
    .softidea-tab-icon {
    width: 22px;
    height: 22px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, var(--si-purple), var(--si-purple2));
    font-size: 13px;
    flex: 0 0 22px;
}

.softidea-checkout-tab strong {
    display: block;
    font-size: 12px;
    color: var(--si-text);
    font-weight: 700;
}

.softidea-checkout-tab small {
    display: block;
    margin-top: 2px;
    color: var(--si-muted);
    font-size: 10px;
    font-weight: 500;
    line-height: 1.35;
}

}

.woocommerce-billing-fields__field-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.woocommerce form .form-row {
    margin: 0 !important;
    width: 50% !important;
    float: none !important;
    margin-top: 3px !important;
    padding: 5px !important;
}
@media (max-width:640px){
    
.woocommerce form .form-row {
    width: 100% !important;
    padding: 0px !important;
}
}
.woocommerce form .form-row-wide,
.woocommerce form .softidea-full-field {
    width: 100% !important;
}

.woocommerce form .form-row label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 8px !important;
    color: #2b2d42 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.woocommerce form .form-row label i {
    width: 22px;
    height: 22px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    color: var(--si-purple);
    background: #f0ebff;
    flex: 0 0 22px;
}

#billing_line_id_field label i {
    color: #06c755;
    background: #eafff2;
}

#billing_whatsapp_field label i {
    color: #25d366;
    background: #eafff2;
}

#billing_telegram_field label i {
    color: #229ed9;
    background: #eaf8ff;
}

.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.select2-container .select2-selection--single {
    box-sizing: border-box !important;
    max-width: 100% !important;
    width: 100% !important;
    min-height: 54px !important;
    border-radius: 15px !important;
    border: 1.5px solid #ded4ff !important;
    background: #fcfbff !important;
    color: var(--si-text) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    padding: 0 16px !important;
    box-shadow: none !important;
    outline: none !important;
    transition: .18s ease !important;
    margin-bottom: 1px;
}


.select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 52px !important;
    padding-left: 0 !important;
}

.select2-container .select2-selection--single .select2-selection__arrow {
    height: 52px !important;
}

.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
    border-color: var(--si-purple) !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(108, 76, 255, .12) !important;
}

.woocommerce form .form-row .optional {
    color: #8d91a4 !important;
    font-weight: 500 !important;
}

.woocommerce form .form-row .required {
    color: #ff3b6b !important;
}

.softidea-email-note,
.softidea-email-error {
    grid-column: 1 / -1 !important;
    padding: 12px 15px !important;
    border-radius: 14px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    display: flex;
    align-items: center;
    gap: 8px;
        width: 100%;
    margin-bottom: 10px;
}

.softidea-email-note {
    background: #eef5ff !important;
    border: 1px solid #cfe0ff !important;
    color: #2f61db !important;
}

.softidea-email-error {
    background: #fff0f3 !important;
    border: 1px solid #ffc6d1 !important;
    color: #d91f4f !important;
    margin-top: 8px !important;
}

.softidea-coupon-box {
    margin-top: 18px !important;
}

.softidea-coupon-head {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-bottom: 13px;
}

.softidea-coupon-head strong {
    color: var(--si-text);
    font-size: 17px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
}

.softidea-coupon-head strong i {
    color: var(--si-purple);
}

.softidea-coupon-head span {
    color: var(--si-muted);
    font-size: 13px;
    font-weight: 500;
}

.softidea-coupon-form {
    display: grid;
    grid-template-columns: 1fr 120px;
    gap: 10px;
}

.softidea-coupon-form input {
    height: 50px;
    border-radius: 14px;
    border: 1.5px solid #ded4ff;
    padding: 0 14px;
    background: #fcfbff;
    font-weight: 500;
}

.softidea-coupon-form button {
    height: 50px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--si-purple), var(--si-purple2));
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.softidea-coupon-form button.is-loading {
    opacity: .55;
    pointer-events: none;
}

.softidea-coupon-message {
    margin-top: 10px;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 7px;
}

.softidea-coupon-message.success {
    color: #16a34a;
}

.softidea-coupon-message.error {
    color: #dc2626;
}

#order_review_heading {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 0 -6px !important;
}

#order_review {
    grid-column: 2 !important;
    grid-row: 1 / span 3 !important;
    align-self: start !important;
    position: sticky !important;
    top: 92px !important;
    padding: 22px !important;
    margin-top: 64px !important;
}

.woocommerce-checkout-review-order-table {
    width: 100% !important;
    border: 0 !important;
    margin: 0 0 18px !important;
    border-collapse: collapse !important;
}

.woocommerce-checkout-review-order-table thead,
.woocommerce-checkout-review-order-table tfoot {
    display: table !important;
    width: 100% !important;
    table-layout: fixed !important;
}

.woocommerce-checkout-review-order-table tbody {
    display: block !important;
    max-height: 390px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-top: 1px solid #ede8ff !important;
    border-bottom: 1px solid #ede8ff !important;
}

.woocommerce-checkout-review-order-table tbody tr,
.woocommerce-checkout-review-order-table thead tr,
.woocommerce-checkout-review-order-table tfoot tr {
    display: table !important;
    width: 100% !important;
    table-layout: fixed !important;
    position: relative;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 12px 10px !important;
    border: 0 !important;
    vertical-align: middle !important;
}

.woocommerce-checkout-review-order-table thead th {
    background: #f2ecff !important;
    color: #5a3df2 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.woocommerce-checkout-review-order-table thead th:first-child {
    border-radius: 14px 0 0 14px !important;
}

.woocommerce-checkout-review-order-table thead th:last-child {
    border-radius: 0 14px 14px 0 !important;
    text-align: right !important;
}
button{
    font-family: "Noto Sans Thai";
}

.woocommerce-checkout-review-order-table .product-name {
    width: 68% !important;
}

.woocommerce-checkout-review-order-table .product-total {
    width: 32% !important;
    text-align: right !important;
}

.woocommerce-checkout-review-order-table tbody td {
    background: #fff !important;
    border-bottom: 1px solid #eee8ff !important;
}

.woocommerce-checkout-review-order-table tbody td:last-child {
    text-align: right !important;
    font-weight: 700 !important;
    color: var(--si-purple) !important;
}

.softidea-checkout-product-line {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    min-width: 0 !important;
}

.softidea-checkout-product-thumb {
    width: 54px !important;
    height: 54px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    flex: 0 0 54px !important;
    background: #f4f0ff !important;
    border: 1px solid #eee8ff !important;
}

.softidea-checkout-product-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.softidea-checkout-product-info strong {
    display: block !important;
    color: var(--si-text) !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    word-break: break-word !important;
}

.product-quantity {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 30px !important;
    height: 24px !important;
    border-radius: 999px !important;
    background: #efe9ff !important;
    color: var(--si-purple) !important;
    font-size: 12px !important;
    margin-left: 66px !important;
    margin-top: 4px !important;
}

.woocommerce-checkout-review-order-table tbody::-webkit-scrollbar {
    width: 8px;
}

.woocommerce-checkout-review-order-table tbody::-webkit-scrollbar-thumb {
    background: #7b5cff;
    border-radius: 20px;
}

.woocommerce-checkout-review-order-table tbody::-webkit-scrollbar-track {
    background: #f3f0ff;
}

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

.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
    background: #f6f2ff !important;
    color: var(--si-purple) !important;
    font-size: 20px !important;
}

.woocommerce-checkout-review-order-table tfoot .order-total th {
    border-radius: 14px 0 0 14px !important;
}

.woocommerce-checkout-review-order-table tfoot .order-total td {
    border-radius: 0 14px 14px 0 !important;
    text-align: right !important;
}

#payment {
    background: #fff !important;
    border-radius: 18px !important;
}

#payment .payment_methods {
    padding: 0 !important;
    border: 0 !important;
}

#payment .payment_methods li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#payment .payment_method_bacs>label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border: 1px solid #eee8ff !important;
    border-radius: 16px !important;
    font-weight: 700 !important;
    color: #2b2d42 !important;
    background: #fff !important;
}

#payment .payment_method_bacs>label .softidea-payment-icon {
    color: var(--si-purple);
    width: 28px;
    height: 28px;
    border-radius: 10px;
    background: #f0ebff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#payment .payment_box {
    margin: 12px 0 0 !important;
    padding: 15px !important;
    border-radius: 16px !important;
    background: #f8f5ff !important;
    border: 1px solid #eee8ff !important;
    color: #4b5563 !important;
    font-weight: 500 !important;
}
.omise-new-card-form{
    padding:10px;
}

#place_order {
    width: 100% !important;
    height: 56px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, var(--si-purple), var(--si-purple2)) !important;
    color: #fff !important;
    border: 0 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    box-shadow: 0 18px 38px rgba(108, 76, 255, .30) !important;
    transition: .18s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
        margin-top: 15px;
}

#place_order:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 22px 44px rgba(108, 76, 255, .38) !important;
}

.woocommerce-privacy-policy-text {
    font-size: 12px !important;
    line-height: 1.6 !important;
    color: #7a8094 !important;
}

.softidea-mini-cart-count {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-top: 1px solid #eee;
    color: #333;
}

.softidea-empty-cart.is-loading {
    opacity: .5;
    pointer-events: none;
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
    position: relative;
    list-style: none;
    margin: 0 0 24px !important;
    padding: 18px 22px !important;
    border-radius: 18px;
    border: 1px solid transparent;
    box-shadow: 0 12px 35px rgba(0, 0, 0, .05);
    font-size: 15px;
    line-height: 1.7;
}

.woocommerce-error {
    background: #FFF4F5;
    border-color: #FFD5DA;
    color: #C62828;
}

.woocommerce-message {
    background: #F1FFF8;
    border-color: #C7F0DA;
    color: #14804A;
}

.woocommerce-info {
    background: #F7F5FF;
    border-color: #DDD3FF;
    color: #6041F4;
}

.woocommerce-error li {
    margin: 8px 0;
}

.woocommerce-error a {
    color: #C62828;
    font-weight: 500;
    text-decoration: none;
}

.woocommerce-error a:hover {
    text-decoration: underline;
}

.checkout-inline-error-message {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding: 10px 14px;
    border-radius: 12px;
    background: #FFF5F5;
    border: 1px solid #FFD5DA;
    color: #D32F2F;
    font-size: 13px;
    font-weight: 500;
    animation: softideaShake .35s;
}

.woocommerce-invalid input,
.woocommerce-invalid textarea,
.woocommerce-invalid select {
    border-color: #FF6B81 !important;
    background: #FFF9FA !important;
    box-shadow: 0 0 0 4px rgba(255, 107, 129, .12) !important;
}

.woocommerce-invalid label {
    color: #D32F2F;
}

@keyframes softideaShake {
    0% {
        transform: translateX(0)
    }

    20% {
        transform: translateX(-4px)
    }

    40% {
        transform: translateX(4px)
    }

    60% {
        transform: translateX(-3px)
    }

    80% {
        transform: translateX(3px)
    }

    100% {
        transform: translateX(0)
    }
}

.password-input {
    position: relative;
    display: block;
    width: 100%;
}

.password-input input {
    padding-right: 58px !important;
}

.show-password-input {
    position: absolute;
    top: 50%;
    right: 14px;
    width: 36px;
    height: 36px;
    margin: 0 !important;
    transform: translateY(-50%);
    border: 0;
    border-radius: 12px;
    background: #F4F1FF;
    cursor: pointer;
    transition: .25s;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7357FF;
}

.show-password-input:hover {
    background: #ECE5FF;
}

.show-password-input:focus {
    outline: none;
    box-shadow: 0 0 0 4px rgba(115, 87, 255, .15);
}

.password-input.display-password .show-password-input {
    color: #E53935;
}

.woocommerce-password-strength {
    margin-top: 10px;
    padding: 10px 14px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 500;
    animation: softideaFade .25s;
}

.woocommerce-password-strength.short {
    background: #FFF4F5;
    color: #D32F2F;
    border: 1px solid #FFD5DA;
}

.woocommerce-password-strength.bad {
    background: #FFF8F0;
    color: #EF6C00;
    border: 1px solid #FFD7A8;
}

.woocommerce-password-strength.good {
    background: #F5FFF6;
    color: #2E7D32;
    border: 1px solid #C8E6C9;
}

.woocommerce-password-strength.strong {
    background: #EEF9FF;
    color: #1565C0;
    border: 1px solid #BBDEFB;
}

.woocommerce-password-hint {
    display: block;
    margin-top: 10px;
    padding: 12px 14px;
    background: #F8F6FF;
    border: 1px solid #E2DAFF;
    border-radius: 12px;
    color: #6B6F80;
    font-size: 13px;
    line-height: 1.6;
}

.woocommerce-password-hint i {
    color: #7357FF;
    margin-right: 8px;
}

.woocommerce-invalid #account_password {
    border-color: #FF6B81 !important;
    box-shadow: 0 0 0 4px rgba(255, 107, 129, .12) !important;
}

@keyframes softideaFade {
    from {
        opacity: 0;
        transform: translateY(-6px)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.woocommerce-account-fields {
    margin-top: 10px;
}

@media(max-width:1024px) {
    .woocommerce form.checkout {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        max-width: 760px !important;
    }

    #order_review_heading,
    #order_review {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    #order_review {
        position: static !important;
        margin-top: 0 !important;
    }
}

@media(max-width:640px) {
    .woocommerce form.checkout {
        padding: 0 12px !important;
        margin-top: 14px !important;
    }

    .woocommerce-billing-fields,
    .softidea-coupon-box {
        padding: 20px !important;
        border-radius: 22px !important;
    }

    .woocommerce-billing-fields__field-wrapper,
    .softidea-checkout-tabs,
    .softidea-coupon-form {
        gap: 10px !important;
    }

    .woocommerce-billing-fields h3,
    #order_review_heading {
        font-size: 21px !important;
        margin: 15px 0 !important;
    }
    
    .woocommerce-billing-fields h3 span {
        margin-top:-25px;
    }

    .woocommerce input.input-text {
        height: 45px !important;
        font-size: 13px !important;
    }

    #order_review {
        padding: 18px !important;
        border-radius: 22px !important;
    }

    .woocommerce-checkout-review-order-table tbody {
        max-height: 320px !important;
    }

    .softidea-checkout-product-thumb {
        width: 48px !important;
        height: 48px !important;
        flex-basis: 48px !important;
    }

    .product-quantity {
        margin-left: 60px !important;
    }

    .softidea-heading-subtitle {
        width: 100%;
    }
}


/* ==========================
   SoftIdea V5.2 Cart Remove
========================== */
.softidea-checkout-product-line {
    padding-right: 42px !important;
}

.softidea-checkout-remove-item {
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    transform: translateY(-50%) !important;
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #ffd5da !important;
    border-radius: 12px !important;
    background: #fff4f5 !important;
    color: #e53935 !important;
    cursor: pointer !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    transition: .18s ease !important;
}

.softidea-checkout-remove-item:hover {
    background: #ffe8eb !important;
    color: #c62828 !important;
    transform: translateY(-50%) scale(1.04) !important;
}

.softidea-checkout-remove-item.is-loading,
.wpr-remove-item-from-mini-cart.is-loading,
.remove_from_cart_button.is-loading {
    opacity: .45 !important;
    pointer-events: none !important;
}

.softidea-checkout-remove-item.is-loading i {
    animation: softideaSpin .75s linear infinite;
}

.softidea-checkout-remove-item.is-loading i:before {
    content: "\f110";
}

@keyframes softideaSpin {
    to {
        transform: rotate(360deg)
    }
}

/* Royal Elementor sidebar remove button */
.widget_shopping_cart_content .wpr-remove-item-from-mini-cart,
.widget_shopping_cart_content .remove_from_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 10px !important;
    background: #fff4f5 !important;
    color: #e53935 !important;
    border: 1px solid #ffd5da !important;
    text-decoration: none !important;
    line-height: 1 !important;
    font-size: 18px !important;
    transition: .18s ease !important;
}

.widget_shopping_cart_content .wpr-remove-item-from-mini-cart:hover,
.widget_shopping_cart_content .remove_from_cart_button:hover {
    background: #ffe8eb !important;
    color: #c62828 !important;
}

@media(max-width:640px) {
    .softidea-checkout-product-line {
        padding-right: 36px !important;
    }

    .softidea-checkout-remove-item {
        width: 30px !important;
        height: 30px !important;
        border-radius: 10px !important;
    }
}

/* ==========================
   SoftIdea V5.3 Remove + Empty State
========================== */
.softidea-checkout-product-line {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding-right: 0 !important;
}

.softidea-checkout-product-info {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.softidea-checkout-remove-item {
    transform: none !important;
    margin-left: auto !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #ffd5da !important;
    border-radius: 12px !important;
    background: #fff4f5 !important;
    color: #e53935 !important;
    cursor: pointer !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    transition: .18s ease !important;
    position: absolute !important;
    right: 0 !important;
    margin-top: 17px;
}

.softidea-checkout-remove-item:hover {
    background: #ffe8eb !important;
    color: #c62828 !important;
    transform: scale(1.04) !important;
}

.softidea-checkout-remove-item.is-loading,
.wpr-remove-item-from-mini-cart.is-loading,
.remove_from_cart_button.is-loading {
    opacity: .45 !important;
    pointer-events: none !important;
}

.softidea-checkout-remove-item.is-loading i {
    animation: softideaSpin .75s linear infinite;
}

.softidea-checkout-remove-item.is-loading i:before {
    content: "\f110";
}

@keyframes softideaSpin {
    to {
        transform: rotate(360deg)
    }
}

.softidea-empty-cart-state {
    display: none;
    max-width: 680px;
    margin: 30px auto 48px;
    padding: 54px 24px;
    text-align: center;
    background: #fff;
    border: 1px solid var(--si-border);
    border-radius: 28px;
    box-shadow: 0 22px 60px rgba(108, 76, 255, .10);
}

.softidea-empty-cart-state-static {
    display: block;
}

.softidea-empty-cart-icon {
    width: 82px;
    height: 82px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 24px;
    background: linear-gradient(135deg, var(--si-purple), var(--si-purple2));
    color: #fff;
    font-size: 34px;
    box-shadow: 0 18px 38px rgba(108, 76, 255, .26);
}

.softidea-empty-cart-state h2 {
    margin: 0 0 10px;
    color: var(--si-text);
    font-size: 28px;
    font-weight: 700;
}

.softidea-empty-cart-state p {
    margin: 0 0 24px;
    color: var(--si-muted);
    font-size: 15px;
    font-weight: 500;
}

.softidea-empty-cart-shop {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 170px !important;
    height: 50px !important;
    padding: 0 22px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, var(--si-purple), var(--si-purple2)) !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 16px 32px rgba(108, 76, 255, .25) !important;
}

@media(max-width:640px) {
    .softidea-checkout-remove-item {
        flex-basis: 32px !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 10px !important;
    }

    .softidea-empty-cart-state {
        margin: 20px 12px 36px;
        padding: 42px 18px;
        border-radius: 24px;
    }
}

@media(max-width:640px) {

    .woocommerce-billing-fields__field-wrapper,
    .softidea-coupon-form {
    }

    .softidea-coupon-form button {
        width: 100% !important;
    }
}

div#payment .form-row.place-order {
    width: 100% !important;
}

.softidea-image-viewer{
    position:fixed;
    inset:0;
    background:rgba(15,15,20,.88);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    transition:.25s;
    z-index:999999;
    cursor:zoom-out;
    backdrop-filter:blur(8px);
}

.softidea-image-viewer.show{
    opacity:1;
    visibility:visible;
}

.softidea-image-viewer img{
    max-width:92vw;
    max-height:92vh;
    border-radius:18px;
    box-shadow:0 25px 60px rgba(0,0,0,.35);
    transform:scale(.85);
    transition:.25s;
}

.softidea-image-viewer.show img{
    transform:scale(1);
}

.softidea-checkout-product-thumb{
    cursor:zoom-in;
}

.softidea-image-close{
    position:absolute;
    top:20px;
    right:24px;
    width:46px;
    height:46px;
    border-radius:50%;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    cursor:pointer;
    color:#555;
    transition:.2s;
}

.softidea-image-close:hover{
    transform:rotate(90deg);
    color:#7b61ff;
}
a.woocommerce-remove-coupon {
    color: #bd0000;
}

/* ==========================
   SoftIdea Omise Payment UI
========================== */

#payment .wc_payment_methods{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
}

#payment .wc_payment_method{
    border:1px solid #eee8ff !important;
    border-radius:16px !important;
    background:#fff !important;
    padding:0 !important;
    overflow:hidden !important;
    transition:.18s ease !important;
}

#payment .wc_payment_method:hover{
    border-color:#cfc2ff !important;
    box-shadow:0 10px 24px rgba(108,76,255,.08) !important;
}

#payment .wc_payment_method > input.input-radio{
    display:none !important;
}

#payment .wc_payment_method > label{
    width:100% !important;
    min-height:54px !important;
    padding:14px 16px !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    cursor:pointer !important;
    font-weight:700 !important;
    color:#25253c !important;
    margin:0 !important;
}
#payment .wc_payment_method > label img{
    margin-left:auto;
    margin-right: -7px;
}

#payment .wc_payment_method > label:before{
    content:"";
    width:18px;
    height:18px;
    border-radius:50%;
    border:2px solid #cfc2ff;
    background:#fff;
    box-shadow:inset 0 0 0 4px #fff;
    flex:0 0 18px;
}

#payment .wc_payment_method > input.input-radio:checked + label{
    background:linear-gradient(135deg,#f7f3ff,#fff) !important;
    color:#5a3df2 !important;
}

#payment .wc_payment_method > input.input-radio:checked + label:before{
    background:#6c4cff;
    border-color:#6c4cff;
}

/* Icons by gateway */

.payment_method_omise > label:after,
.payment_method_omise_promptpay > label:after,
.payment_method_omise_alipay > label:after,
.payment_method_omise_alipay_cn > label:after,
.payment_method_bacs > label:after,
.payment_method_omise_mobilebanking > label:after{
    
    margin-left:auto;
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    color:#6c4cff;
}
.payment_method_omise_mobilebanking > label:after{
    content: "\f3cd";
}

.payment_method_omise > label:after{
    content:"\f09d"; /* card */
}

.payment_method_omise_promptpay > label:after{
    content:"\f029"; /* qr */
}

.payment_method_omise_alipay > label:after,
.payment_method_omise_alipay_cn > label:after{
    content:"\f1d8"; /* send */
}

.payment_method_bacs > label:after{
    content:"\f19c"; /* bank */
}

/* Payment box */

#payment .payment_box{
    margin: 14px 14px !important;
    padding: 5px !important;
    border-radius:14px !important;
    background:#f8f5ff !important;
    border: none;
}

/* Omise card iframe box */

#omise_cc_form{
    width:100% !important;
}

#omise-card{
    width:100% !important;
    max-width:100% !important;
    border-radius:16px !important;
    overflow:hidden !important;
}

/* Active selected method */

#payment .wc_payment_method:has(input.input-radio:checked){
    border-color:#8b5cff !important;
    box-shadow:0 14px 32px rgba(108,76,255,.13) !important;
}

/* BACS icon duplicated fix */
#payment .payment_method_bacs > label .softidea-payment-icon{
    display:none !important;
}

/* Mobile */

@media(max-width:640px){
    #payment .wc_payment_method > label{
        min-height:50px !important;
        padding:12px 14px !important;
        font-size:13px !important;
    }

    #payment .payment_box{
        margin: 0 !important;
        padding: 13px !important;
        margin: 10px !important;
    }
}

/* ==========================
   SoftIdea Omise Mobile Banking
========================== */

#omise-form-mobilebanking{
    margin-top:16px;
}
.mobile-banking-label {
    display: flex;
    flex-direction: column;
}

fieldset#omise-form-mobilebanking {
    padding: 5px !important;
    border: none;
    width: 100%;
}
#omise-form-mobilebanking .omise-banks-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap: 9px;
    list-style:none;
    padding:0;
    margin:0;
}

#omise-form-mobilebanking .item{
    margin:0;
}

#omise-form-mobilebanking .item>div{
    position:relative;
}

#omise-form-mobilebanking input[type="radio"]{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

#omise-form-mobilebanking label{
    display:flex;
    align-items:center;
    gap: 5px;
    padding: 5px;
    border:2px solid #ece6ff;
    border-radius:18px;
    background:#fff;
    cursor:pointer;
    transition:.2s ease;
    min-height:72px;
    position:relative;
}

#omise-form-mobilebanking label:hover{
    border-color:#8b5cff;
    background:#faf8ff;
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(108,76,255,.10);
}

#omise-form-mobilebanking input:checked+label{
    border-color:#6c4cff;
    background:linear-gradient(135deg,#f8f5ff,#ffffff);
    box-shadow:0 16px 32px rgba(108,76,255,.18);
}

/* radio */

#omise-form-mobilebanking label::after{
    content:"";
    position:absolute;
    right:16px;
    top:50%;
    width:18px;
    height:18px;
    border-radius:50%;
    border:2px solid #cdbfff;
    transform:translateY(-50%);
    transition:.2s;
}

#omise-form-mobilebanking input:checked+label::after{
    background:#6c4cff;
    border-color:#6c4cff;
    box-shadow:inset 0 0 0 4px #fff;
}

/* Logo */

#omise-form-mobilebanking .mobile-banking-logo{
    width:52px;
    height:52px;
    flex:0 0 52px;
    border-radius:14px;
    overflow:hidden;
    background-size:cover;
    background-position:center;
    background-color:#fff;
    box-shadow:0 6px 18px rgba(0,0,0,.08);
}

/* Text */

#omise-form-mobilebanking .mobile-banking-label{
    flex:1;
    min-width:0;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
}
#omise-form-mobilebanking .mobile-banking-label br{
    display:none;
}

#omise-form-mobilebanking .title{
    display:block;
    font-size: 13px;
    font-weight:700;
    color:#1f2338;
    line-height:1.35;
}

#omise-form-mobilebanking small{
    display:block;
    margin-top:4px;
    color:#8a90a5;
    font-size:12px;
}

/* Active */

#omise-form-mobilebanking input:checked+label .title{
    color:#6c4cff;
}

/* Animation */

#omise-form-mobilebanking label{
    animation:softideaBank .25s ease;
}

@keyframes softideaBank{

    from{
        opacity:0;
        transform:translateY(6px);
    }

    to{
        opacity:1;
        transform:none;
    }

}

/* Mobile */

@media(max-width:640px){

#omise-form-mobilebanking .omise-banks-list{
    grid-template-columns:1fr;
}

#omise-form-mobilebanking label{
    padding:14px;
    min-height:66px;
    width: 100%;
}

#omise-form-mobilebanking .mobile-banking-logo{
    width: 37px;
    height: 40px;
    flex-basis: 35px;
}

#omise-form-mobilebanking .title{
    font-size:14px;
}

}