.woocommerce {
    overflow: initial;

    .page-content ul,
    .page-content ol {
        overflow: initial;
    }

    .products li:before {
        display: none;
    }

    .facetwp-facet {
        margin-bottom: 0;
    }

     ul.products li.product a img {
        margin-bottom: 0;
     }
}

.woocommerce ul.products li.product .woocommerce-card a img {
    min-height: 250px;
    object-fit: contain;
    height: 100%;
    max-height: 250px;
}

.woocommerce ul.products li.product  .woocommerce-card a img.woocommerce-placeholder {
    object-fit: cover;
    min-height: 250px;
    max-height: 250px;
}

@media( min-width:1025px ) {
    .woocommerce ul.products li.product .woocommerce-card a img,
    .woocommerce ul.products li.product  .woocommerce-card a img.woocommerce-placeholder {
        min-height: 260px;
        max-height: 260px;
    }
}

@media( min-width:1200px ) {
    .woocommerce ul.products li.product .woocommerce-card a img,
    .woocommerce ul.products li.product  .woocommerce-card a img.woocommerce-placeholder {
        min-height: 280px;
        max-height: 280px;
    }
}

.woocommerce .products ul,
.woocommerce ul.products {
    display: flex;
    flex-wrap: wrap;
    gap: 0 32px;
    margin-bottom: -32px;
    margin-inline: -32px;
    padding-left: 32px;

    li.product {
        width: 100% !important;
        margin-bottom: 32px;
        margin-inline: 0;
    }

    &:before,
    &:after {
        display: none;
    }
}

@media (max-width: 767px) {
    .woocommerce .products ul,
    .woocommerce ul.products {
        gap: 0;
        margin-bottom: 0;
        margin-inline: 0;
        padding-left: 0;
    }
}

form.woocommerce-cart-form.mini-cart-form {
    padding-left: 25px;
    padding-right: 25px;
}

form.mini-cart-form .cart-item-info .yith-wapo-edit-addons-link {
    display: none;
}

@media (min-width: 768px) {
    .woocommerce .products ul,
    .woocommerce ul.products {
        li.product {
            width: calc(50% - 32px) !important;
        }
    }
}

@media (min-width: 1200px) {
    .woocommerce .products ul,
    .woocommerce ul.products {
        li.product {
            width: calc(33.33% - 32px) !important;
        }
    }

    form.woocommerce-cart-form.mini-cart-form {
        padding-left: 50px;
        padding-right: 50px;
    }
}

.woocommerce .woocommerce-ordering {
    position: relative;
    z-index: 10;

    .choices,
    .choices__inner {
        font-size: 20px;
        padding-right: 0;
        padding-bottom: 10px !important;
    }

    .choices__input {
        display: none !important;
    }

    .choices__inner {
        border-radius: 5px;
        border: 1px solid rgba(47, 47, 47, 0.20);
        background: #FFF;
        font-weight: normal;
        padding-right: 30px;
    }

    .choices[data-type*='select-one']:after {
        width: 12px;
        height: 12px;
        position: absolute;
        top: calc(50% - 6px);
        transform: translateY(-50%) rotate(45deg);
        border: 2px solid #0081D5;
        border-top: 0;
        border-left: 0;
        right: 20px;
        background-color: transparent;
        transition: transform 0.3s ease-in-out;
    }

    .choices[data-type*='select-one'].is-open:after {
        border: 2px solid #0081D5;
        border-top: 0;
        border-left: 0;
        transform: translateY(calc(-50% + 4px)) rotate(225deg);
        margin-top: 0;
    }
}

div#login-form-popup .woocommerce-form-login__submit:after {
    position: relative;
    right: -3px;
}

form.woocommerce-ResetPassword.lost_reset_password {
    margin: 60px 0;
}

.woocommerce-page .masthead--innerpage__pattern,
.woocommerce .masthead--innerpage__pattern {
    height: 100%;
}

.woocommerce-products-header {
    margin-bottom: 40px;
}

.woocommerce-products-header__sorting {
    .woocommerce-ordering {
        float: none;
    }
}

@media (max-width: 1199px) {
    .woocommerce .woocommerce-ordering {
        .choices {
            padding-bottom: 0 !important;
            margin-bottom: 0;
        }

        .choices__inner {
            padding-bottom: 10px !important;
        }
    }
}

@media (min-width: 768px) {
    .woocommerce-products-header {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
    }

    .woocommerce-products-header__sorting {
        max-width: 400px;
        width: auto;
    }
}

.woocommerce-products__filter {
    border-radius: 10px;
    background: #EEE;
    overflow: hidden;
    padding: 30px 20px;
    position: relative;

    h3 {
        font-size: 22px;
        color: #0F74C2;
        font-style: normal;
        font-weight: 400;
        margin-bottom: 20px;
        padding-bottom: 0;
        display: flex;
        justify-content: space-between;

        > span {
            display: block;
            flex: 1;
            padding-right: 20px;
        }
    }

    h4 {
        font-size: 18px;
        font-style: italic;
        margin-bottom: 16px;
        font-weight: 600;
        text-transform: initial;
    }

    .facetwp-checkbox .facetwp-expand {
        width: 30px;
        height: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #002745;
        color: #fff;
        line-height: 1;
        border-radius: 4px;
        font-size: 20px;
        -webkit-tap-highlight-color: transparent;
    }
}

@media (min-width: 1200px) {
    .woocommerce-products__filter {
        max-height: calc(100vh - 150px);
        overflow: scroll;
        position: sticky !important;
        top: 140px;
        display: block !important;
    }
}

.woocommerce-products__filter__item:not(:last-child) {
    margin-bottom: 20px;
}

@media (max-width: 1199px) {
    .woocommerce-products__filter__item  {
        .facetwp-type-checkboxes {
            display: flex;
            flex-wrap: wrap;
            margin-inline: 0;

            .facetwp-checkbox {
                width: 50%;
                padding: 0 2px 4px;
            }

            .facetwp-toggle {
                width: 100%;
                text-align: center;
            }

            .facetwp-overflow:not(.facetwp-hidden) {
                display: flex;
                flex-wrap: wrap;
                width: 100%;
            }
        }
    }

    .woocommerce-products__filter__item  .facetwp-type-checkboxes .facetwp-checkbox + .facetwp-depth {
        flex-wrap: wrap;
        width: 100%;

        .facetwp-checkbox {
            width: 33.33%;
        }
    }

    .woocommerce-products__filter__item  .facetwp-type-checkboxes .facetwp-checkbox + .facetwp-depth.visible {
        display: flex !important;
    }
}

@media( max-width: 768px ) {
    .woocommerce-products__filter__item  {
        .facetwp-type-checkboxes {

            .facetwp-checkbox {
                width: 100%;
                padding: 0 2px 4px;
            }
        }
    }

    .facetwp-type-checkboxes .facetwp-depth.visible {
        display: block !important;
    }

    .woocommerce-products__filter__item  .facetwp-type-checkboxes .facetwp-checkbox + .facetwp-depth {
        .facetwp-checkbox {
            width: 100%;
        }
    }
}

.btn-tertiary.opposite-arrow:after {
    right: initial;
    left: 10px;
    transform: rotate(180deg);
    top: 17px;
    color: #0F74C2;
}

.btn-tertiary.opposite-arrow {
    background: transparent;
    font-weight: normal;
}

/* Cart Items Container */
.cart-items-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
}

/* Individual Cart Item */
.cart-item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid #e0e0e0;
    border-radius: 0;
    background: #fff;
    position: relative;
}

/* Remove Button */
.cart-item .product-remove {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
}

.cart-item .product-remove .remove {
    background: #ff4444;
    color: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 18px;
    line-height: 1;
    transition: background-color 0.3s ease;
}

.cart-item .product-remove .remove:hover {
    background: #cc0000;
}

/* Image Section */
.cart-item-image {
    flex: 0 0 120px;
    width: 120px;
}

.cart-item-image img {
    width: 100%;
    border-radius: 10px;
    height: 95px;
    object-fit: cover;
    object-position: center;
}

/* Product Info Section */
.cart-item-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.cart-item-info .product-name a{
    font-size: 25px;
    font-weight: 600;
    line-height: 1.4;
    font-family: 'Kanit';
}

.cart-item-info .product-name a {
    color: #002745;
    text-decoration: none;
}

.cart-item-info .product-name a:hover {
    color: #0073aa;
}

.cart-item-info .product-price {
    font-size: 20px;
    color: #0F74C2;
    font-family: 'Kanit';
    margin-bottom: 0;
}

.cart-item-info .price-label {
    font-weight: 500;
    margin-right: 8px;
}

.cart-item-info .product-meta {
    font-size: 14px;
    color: #777;
}

.cart-item-info .product-subtotal {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin-top: 10px;
}

.cart-item-info .subtotal-label {
    font-weight: 500;
    margin-right: 8px;
}

/* Quantity Section */
.cart-item-quantity {
    flex: 0 0 120px;
    text-align: center;
}

.cart-item-quantity .quantity-label {
    font-weight: 500;
    margin-bottom: 10px;
    font-size: 14px;
    color: #666;
}

.woocommerce-checkout-review-order-table .cart-item-quantity {
    flex: 1;
    text-align: left;
    width: 100%;
}

.woocommerce-checkout-review-order-table .cart-item-quantity .quantity-value {
    font-size: 18px;
    color: #003152;
}

.woocommerce-checkout-review-order-table .product-meta .variation {
    margin-bottom: 0;
}

.woocommerce-checkout-review-order-table .cart-item-quantity .quantity-label {
    font-weight: 500;
    margin-bottom: 10px;
    font-size: 18px;
    color: #003152;
}

.woocommerce-checkout-review-order-table dl.variation .wrapper-variation {
    display: flex;
    gap: 10px;
    align-items: center;
}

.woocommerce-checkout-review-order-table dl.variation .wrapper-variation dd {
    margin-bottom: 0;
}

.woocommerce-checkout-review-order-table .cart-item-info {
    gap: 0;
}

.woocommerce-checkout-review-order-table .order-totals-section .order-totals > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    width: 100%;
    margin-top: 10px;
}

.woocommerce-checkout-review-order-table .order-totals {
    margin-bottom: 25px;
}
.woocommerce-checkout-review-order-table .order-totals-section .order-totals > div .total-value,
.woocommerce-checkout-review-order-table .order-totals-section .order-totals > div .total-label {
    color: rgb(0 39 69 / 62%);
    font-weight: 600;
    text-transform: uppercase;
    font-family: 'Kanit';
    font-style: italic;
    font-size: 20px;
}

.woocommerce-checkout-review-order-table .order-totals-section .order-totals > div .total-value {
    color: #002745;
}

.woocommerce-billing-fields {
    padding: 40px;
    background: #EEEEEE;
    border-radius: 15px;
}

/* Custom Quantity Wrapper */
.custom-quantity-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 6px;
    overflow: hidden;
    background: #EEEEEE;
    max-width: 100px;
    margin: 0 auto;
}

.quantity-btn {
    background: #EEEEEE;
    border: none;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.quantity-btn:hover:not(:disabled) {
    background: #e9ecef;
    color: #0073aa;
}

.quantity-btn:active:not(:disabled) {
    background: #dee2e6;
}

.quantity-btn:disabled {
    background: #f8f9fa;
    color: #ccc;
    cursor: not-allowed;
    opacity: 0.6;
}

.quantity-btn span {
    line-height: 1px;
    font-size: 25px;
    font-weight: normal;
    font-family: 'open sans-serif';
    margin-top: -3px;
}

.quantity-btn.quantity-minus span {
    font-size: 25px;
}

.custom-qty-input {
    width: 30px;
    text-align: center;
    border: none;
    background: transparent;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    outline: none;
    padding: 8px 4px;
    /* Cross-browser compatibility */
    box-sizing: border-box;
    vertical-align: middle;
    line-height: normal;
    /* Prevent zoom on iOS */
    font-size: 16px;
    /* Firefox specific fixes */
    -moz-box-sizing: border-box;
    /* IE specific fixes */
    -ms-box-sizing: border-box;
}

/* Hide number input arrows - All browsers */
.custom-qty-input::-webkit-outer-spin-button,
.custom-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* Firefox specific styling - hide spinners completely */
.custom-qty-input[type=number] {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
    font-size: 18px;
    font-weight: normal;
    color: #2F2F2F;
}

/* Firefox - remove all spin button elements */
.custom-qty-input::-moz-number-wrapper {
    display: none !important;
}

.custom-qty-input::-moz-number-text {
    -moz-appearance: textfield !important;
}

.custom-qty-input::-moz-number-spin-box {
    display: none !important;
}

.custom-qty-input::-moz-number-spin-up,
.custom-qty-input::-moz-number-spin-down {
    display: none !important;
    -moz-appearance: none !important;
}

/* Additional cross-browser spinner hiding */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
    display: none !important;
}

input[type=number] {
    -moz-appearance: textfield !important;
}

input[type=number]::-moz-number-wrapper {
    display: none !important;
}

input[type=number]::-moz-number-text {
    -moz-appearance: textfield !important;
}

/* IE/Edge specific fixes */
.custom-qty-input::-ms-clear,
.custom-qty-input::-ms-reveal {
    display: none;
    width: 0;
    height: 0;
}

/* Focus states for better accessibility */
.custom-qty-input:focus {
    outline: 2px solid #0073aa;
    outline-offset: 1px;
    background-color: rgba(0, 115, 170, 0.05);
}

/* Ensure consistent appearance across browsers */
.custom-qty-input {
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
}

/* Cart Actions */
.cart-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    padding: 0;
    background: #fff;
    border-radius: 8px;
    margin-top: 20px;
}

.woocommerce-cart .wrapper-cart .cart-actions button[name="update_cart"] {
    background: #E3E3E3;
    color: #002745;
    opacity: 1;
    text-transform: uppercase;
}

.cart-actions .coupon {
    display: none;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.cart-actions .coupon input {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    min-width: 150px;
}

.cart-actions button {
    position: relative;
    display: inline-block;
    color: #002745;
    font-size: 18px;
    line-height: 1.2em;
    font-weight: 600;
    padding: 11px 51px 12px 30px;
    vertical-align: middle;
    text-decoration: none;
    transition: all ease-in-out 0.3s;
    font-family: "Kanit",sans-serif;
    background: linear-gradient(90deg,#F56C2B 0%,#F56C2B 100%);
    border: none;
    text-transform: uppercase;
    font-style: italic;
    border-radius: 12px;
}

.cart-actions button:hover {
    background: #005a87;
}

.product-meta .postexcerpt {
    color: rgb(0 39 69 / 80%);
    font-size: 18px;
}

.postexcerpt p {
    line-height: 20px;
}

.woocommerce .cart-collaterals, 
.woocommerce-page .cart-collaterals {
    background: #EEEEEE;
    padding: 30px 30px;
    border-radius: 10px;
}

.woocommerce .cart-collaterals .cart_totals, 
.woocommerce-page .cart-collaterals .cart_totals {
    float: right;
    width: 100%;
}

.wrapper-cart .cart-collaterals .cart_totals table tbody, 
.wrapper-cart .cart-collaterals .cart_totals table,
.wrapper-cart .cart-collaterals .cart_totals table tr,
.wrapper-cart .cart-collaterals .cart_totals table td,
.wrapper-cart .cart-collaterals .cart_totals table th {
    border: none;
}

.wrapper-cart .cart-collaterals .cart_totals table td,
.wrapper-cart .cart-collaterals .cart_totals table th {
    padding: 0;
    padding-top: 5px;
    padding-bottom: 5px;
}

.woocommerce table.shop_table_responsive tr td::before, 
.woocommerce-page table.shop_table_responsive tr td::before,
.wrapper-cart .cart-collaterals .cart_totals table th {
    color: rgb(0 39 69 / 60%);
    font-family: 'Kanit';
    font-size: 20px;
    font-style: italic;
    text-transform: uppercase;
    font-weight: 600;
}

.woocommerce-cart .wc-proceed-to-checkout {
    padding-bottom: 0;
    margin-bottom: 0;
}

.wrapper-cart .cart-collaterals .cart_totals table td {
    color: #002745;
    font-weight: 600;
    font-size: 20px;
    font-style: italic;
    background: none !important;
}

@media( min-width: 768px ) {
    .wrapper-cart .cart-collaterals .cart_totals table td {
        float: right;
    }
}

.wrapper-cart .cart-collaterals .cart_totals ul li:before {
    content: none;
}

.wrapper-cart .cart-collaterals .cart_totals ul li {
    padding-left: 0;
}

.woocommerce ul#shipping_method li input {
    margin: 8px .4375em 0 0;
    vertical-align: top;
}

.woocommerce ul#shipping_method {
    float: right;
}

.woocommerce-shipping-destination {
    text-align: right;
}

.cart_totals h2 {
    font-family: 'Kanit';
    font-size: 25px;
    color: #002745;
    font-weight: 600;
}

a.btn.btn-orange.checkout-button {
    background-color: #F57C2B;
    border-radius: 12px;
    font-size: 18px;
    color: #002745;
    font-family: 'Kanit';
    font-weight: 600;
    transition: none;
}

a.btn.btn-orange.checkout-button:after {
    position: relative;
    right: 0;
    margin-left: 8px;
    top: -1px;
}

a.btn.btn-orange.checkout-button:hover {
    background: linear-gradient(90deg,#F56C2B 0%,#FF9A6B 100%);
    color: #002745;
}

.cart-related-products__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

.cart-item-info .product-name a.yith-wapo-edit-product-cart small {
    font-family: 'Kanit';
    font-size: 18px;
    font-weight: 500;
    text-decoration: underline;
}

.product-meta .variation dt {
    font-size: 18px;
    font-weight: 600;
    color: rgb(0 39 69 / 60%);
}

.product-meta .variation dd {
    color: #002745;
    font-weight: 600;
    font-size: 18px;
}

.cart-related-products__heading h3 {
    margin-bottom: 0;
}

.container.no-padd {
    padding: 0;
}

.wc-coupon-custom__wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 35px;
}

.promo-code-input {
    position: relative;
}

.promo-code-input button {
    position: absolute;
    right: 0;
    padding: 11px 30px 12px 30px;
    margin-right: 0;
}

.promo-code-input button:after {
    content: none;
}

.promo-code-label {
    font-size: 17px;
    color: #002745;
    font-weight: 600;
}

.wc-coupon-custom__error {
    margin-top: 10px;
}

.wc-coupon-custom__error .woocommerce-error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    border-radius: 4px;
    padding: 10px 15px;
    margin: 0;
    font-size: 14px;
}

.js-promo-code-duplicator.error {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.25);
}

.wc-coupon-custom__error {
    color: #dc3545 !important;
}

body.page-id-634 .woocommerce-form-coupon-toggle,
body.page-id-634 form#woocommerce-checkout-form-coupon {
    display: none !important;
}

div[data-block-name="woocommerce/classic-shortcode"] {
    margin-top: 60px;
    margin-bottom: 30px;
}

.mini-cart-empty-cart {
    background: transparent;
    color: #AC0000;
    font-weight: normal;
    font-style: italic;
    padding: 0;
    font-size: 16px;
}

.mini-cart-empty-cart:hover {
    background: transparent;
    color: #AC0000;
}

.mini-cart-empty-cart:after {
    content: none;
}

.mini-cart-action-btn {
    display: flex;
    justify-content: space-between;
}

.mini-cart-view-link {
    color: #0072BC;
    background: none;
    font-size: 18px;
    margin-right: 0;
    padding-right: 25px;
}

.mini-cart-view-link:hover {
    background: transparent;
    color: #0072BC;
}

.mini-cart-view-link:after {
    right: 7px;
}

.mini-cart-buttons .checkout:after {
    position: relative;
    right: -10px;
    top: -1px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .cart-item {
        gap: 15px;
        padding: 15px;
        flex-direction: column;
    }
    
    .cart-item-image {
        flex: none;
        width: 200px;
        align-self: center;
    }

    .cart-item-image img {
        height: 200px;
        width: 200px;
    }
    
    .cart-item-quantity {
        flex: none;
        text-align: center;
        align-self: center;
    }
    
    .custom-quantity-wrapper {
        max-width: 140px;
    }
    
    .quantity-btn {
        width: 40px;
        height: 40px;
        font-size: 18px;
    }
    
    .custom-qty-input {
        width: 60px;
        font-size: 16px;
    }
    
    .cart-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .cart-actions .coupon {
        justify-content: center;
    }
}

@media( min-width: 1200px ) {
    div[data-block-name="woocommerce/classic-shortcode"] {
        margin-top: 230px;
        margin-bottom: 45px;
    }

    .wrapper-cart {
        display: flex;
        flex-wrap: nowrap;
        align-items: self-start;
        gap: 30px;
    }

    .wrapper-cart .woocommerce-cart-form {
        flex: 0 0 60%;
    }

    .woocommerce .cart-collaterals, 
    .woocommerce-page .cart-collaterals {
        width: auto;
        flex: 1;
        margin-top: -100px;
    }
}

.woocommerce-products__load-more {
    .facetwp-facet {
        margin-top: 35px;
    }

    .facetwp-pager {
        display: flex;
        justify-content: center;
        gap: 11px;
    }

    .facetwp-page {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        font-size: 25px;
        margin-inline: 0;
        border-radius: 5px;
        text-decoration: none;
        width: 57px;
        height: 57px;
        border: 2px solid #002745;
        color: #002745;
        background-color: transparent;
        transition: color 0.3s ease-in-out,
                    border 0.3s ease-in-out,
                    background-color 0.3s ease-in-out;

        > i {
            font-size: 29px;
        }
    }

    .facetwp-page.next,
    .facetwp-page.prev {
        border: 0;
    }

    .facetwp-page.active {
        border-color: rgba(0, 39, 69, 0.49);
        color: rgba(0, 39, 69, 0.49);
    }
}

@media( max-width:600px ) {
    .woocommerce-products__load-more .facetwp-pager {
        gap: 2px;
    }
    
    .woocommerce-products__load-more .facetwp-page,
    .woocommerce-products__load-more .facetwp-page > i {
        font-size: 18px;
    }
}

@media (min-width: 1200px) {
    .woocommerce-products__load-more {
        .facetwp-page:not(.active, .next, .prev):hover {
            background-color: #002745;
            color: #fff;
        }
    }
}

.woocommerce-products__list {
    margin-top: 50px;
}

@media (min-width: 1200px) {
    .woocommerce-products__list {
        margin-top: 0;
    }
}

.woocommerce-card {
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0 0 20px 2px rgba(0, 39, 69, 0.10);
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
}

ul.products li.product .woocommerce-product__content {
    padding: 30px 20px 0;

    .woocommerce-loop-product__title {
        font-size: 25px;
        font-style: normal;
        padding-top: 0;
    }

    .price {
        font-size: 20px;
        color: #0F74C2;
    }
}

.woocommerce-product-short-description {
    margin-bottom: 15px;
    
    p {
        font-size: 18px;
        color: rgba(0, 39, 69, 0.80);
    }
}

.woocommerce-product-details__short-description {
    margin-bottom: 20px;
}

.woocommerce-product__button {
    padding: 0 20px 30px;
    margin-top: auto;

    .btn {
        margin-top: 0;
        margin-left: 0;
        margin-right: 10px;
        margin-bottom: 10px !important;
    }
}

.woocommerce-products__category {
    padding-bottom: var(--section-margins);
}

.woocommerce-products__category__row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -16px;
    align-items: center;
}

.woocommerce-products__category__row--grid {
    justify-content: center;

    .woocommerce-products__category__item {
        margin-bottom: 16px;
    }
}

.woocommerce-products__category__item {
    width: 100%;
    padding: 0 16px;
}

.promo-code-input .js-promo-code-duplicator {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 20px;
}

.total-value .woocommerce-remove-coupon {
    font-size: 15px;
    text-decoration: underline;
}

.woocommerce-billing-fields__field-wrapper .form-row label {
    font-size: 17px;
    font-weight: 600;
    font-family: 'Kanit';
    color: #002745;
}

.woocommerce form .choices__inner,
.woocommerce form .form-row .input-text, 
.woocommerce form .form-row select {
    border-radius: 4px;
    padding: 10px 18px;
    color: #002745;
    border-color: #ADD5F4;
}

.woocommerce .choices__list--dropdown .choices__item--selectable:after {
    display: none;
}

.woocommerce .choices__list--dropdown .choices__item--selectable {
    padding-right: 10px;
}

.woocommerce .woocommerce-products-header__sorting .choices__list--single .choices__item:before {
    content: "Sort by: ";
}

.select2-container .select2-selection,
.select2-container .select2-dropdown {
    border-color: #ADD5F4;
} 


.select2-container .select2-selection--single .select2-selection__rendered {
    color: #002745;
    padding: 10px 18px;
    min-height: 47px;
}

#shipping-calculator-form .btn-calc_shipping {
    margin-top: 10px;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

#shipping-calculator-form .btn-calc_shipping:after {
    content: none;
}

.woocommerce form .form-row .input-text:focus, 
.woocommerce form .form-row select:focus,
.woocommerce form .form-row.woocommerce-validated input.input-text, 
.woocommerce form .form-row.woocommerce-validated select {
    border-color: #0F74C2;
}

.woocommerce form  .choices__item.choices__item--selectable {
    font-size: 18px;
    font-family: 'Kanit';
    font-weight: 400;
    color: #002745;
}

.woocommerce-form-login-toggle {
    display: none !important;
}

@media (min-width: 768px) {
    .woocommerce-products__category__item {
        width: 50%;
    }
}

@media (min-width: 1200px) {
    .woocommerce-products__category__item {
        width: 33.33%;
    }
}

.woocommerce-products__category__item__link {
    display: flex;
    align-items: center;
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0 0 20px 2px rgba(0, 39, 69, 0.10);
    overflow: hidden;
    padding: 12px;
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
    position: relative;
}

.category-element {
    position: absolute;
    bottom: 0;
    right: 0;
    transform-origin: bottom left;
    transform: rotate(15deg);
    z-index: 2;
    transition: transform 0.3s ease-in-out;
}


.category-thumbnail {
    width: 113px;
    height: 101px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    z-index: 2;

    img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transform: scale(1);
        transition: transform 0.3s ease-in-out;
    }
}

.category-name {
    width: calc(100% - 113px);
    font-size: 22px;
    font-style: normal;
    font-weight: 600;
    color: #002745;
    padding-left: 20px;
    transition: color 0.3s ease-in-out;
    position: relative;
    z-index: 2;
}

.user-account-log-in-label {
    text-align: center;
    color: #002745;
    margin-bottom: 20px;
}

.user-account-log-in-wrapper {
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0 4px 50px 0 rgba(0, 0, 0, 0.10);
    padding: 25px;
    margin-bottom: 35px;
}

.user-account-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-direction: column;
}



@media( min-width: 768px ) {
    .user-account-links {
        flex-direction: row;
    }

    .btn-border-blue, 
    .js-login-account-trigger {
        padding-left: 10px;
        padding-right: 10px;
    }
}

@media( min-width: 1025px ) {
    .user-account-links {
        flex-direction: column;
    }

    .btn-border-blue, 
    .js-login-account-trigger {
        padding: 11px 51px 12px 30px;
    }
}

@media( min-width: 1200px ) {
    .user-account-links {
        flex-direction: row;
    }

    .btn-border-blue, 
    .js-login-account-trigger {
        padding: 11px 10px 12px 10px;
    }

}

.btn-border-blue,
.js-login-account-trigger {
    flex: 1;
    text-align: center;
    margin: 0;
}

.btn-border-blue:after,
.js-login-account-trigger:after {
    position: relative;
    right: -10px;
}

.btn-border-blue {
    color: #0072BC;
    border: 1px solid #0072BC;
}

@media (min-width: 1200px) {
    .woocommerce-products__category__item__link:hover {
        .category-element {
            transform: rotate(0deg);
        }

        .category-thumbnail {
            img {
                transform: scale(1.1);
            }
        }
    }
}

.page-content .woocommerce-products__category__row {
    .slick-list {
        margin-inline: -20px;
        padding: 20px;
        order: 0;
    }

    .slick-slide {
        opacity: 0;
        transition: opacity 0.3s ease-in-out;
    }

    .slick-active {
        opacity: 1;
    }

    .slick-arrow {
        position: relative;
        top: 0;
        left: 0;
        right: 0;
    }

    .slick-prev {
        order: 1;
        margin-right: 16px;
    }

    .slick-dots {
        order: 2;
        position: relative;
        flex: 1;
        display: flex;
        background-color: #D6E9F8;
        border-radius: 10px;
        overflow: hidden;

        > li {
            flex: 1;

            button {
                width: 100%;
                transition: background-color 0.3s ease-in-out;
                background-color: transparent;
                height: 7px;
                overflow: hidden;
                border-radius: 10px;
            }
        }

        > .slick-active {
            button {
                background-color: #7EA0BA;
            }
        }
    }

    .slick-next {
        order: 3;
        margin-left: 16px;
    }
}

@media (max-width: 767px) {
    .page-content .woocommerce-products__category__row {
        .slick-dots {
            flex-wrap: wrap;
            background-color: transparent;
            justify-content: center;
            gap: 0 5px;
            border-radius: 0;
            overflow: initial;
            
            li {
                margin-bottom: 10px;
                width: 20px;
                flex: none;
            }

            li:not(.slick-active) {
                button {
                    background-color: #D6E9F8;      
                }
            }
        }
    }
}


/* Cart AJAX Loading States */
.custom-quantity-wrapper.updating {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}

.custom-quantity-wrapper.updating::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #333;
    border-radius: 50%;
    animation: cart-spinner 1s linear infinite;
    z-index: 10;
}

@keyframes cart-spinner {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.cart-ajax-error {
    margin-bottom: 20px;
    padding: 12px 16px;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: 4px;
    color: #721c24;
}

.cart-ajax-error:not([style*="display: block"]) {
    display: none;
}

.cart-items-container.woocommerce-cart-form__contents > .cart_item:last-child {
    border-bottom: none;
}


/* Create Account Popup Styles */
.create-account-popup {
    padding: 20px;
}

.create-account-popup h3 {
    margin: 0 0 20px 0;
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    color: #333;
}

.create-account-popup .woocommerce-form-row {
    margin-bottom: 15px;
}

.create-account-popup label {
    display: block;
    margin-bottom: 5px;
    font-weight: 500;
    color: #333;
    font-size: 14px;
}

.create-account-popup input[type="text"],
.create-account-popup input[type="email"],
.create-account-popup input[type="password"] {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    transition: border-color 0.3s ease;
}

.create-account-popup input[type="text"]:focus,
.create-account-popup input[type="email"]:focus,
.create-account-popup input[type="password"]:focus {
    outline: none;
    border-color: #007cba;
    box-shadow: 0 0 0 2px rgba(0, 124, 186, 0.1);
}

.create-account-popup .woocommerce-form-register__submit {
    width: 100%;
    padding: 12px 20px;
    background-color: #007cba;
    color: white;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin-top: 10px;
}

.create-account-popup .woocommerce-form-register__submit:hover {
    background-color: #005a87;
}

.create-account-popup .woocommerce-form-register__submit:disabled {
    background-color: #ccc;
    cursor: not-allowed;
}

.create-account-popup .woocommerce-error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f1aeb5;
    border-radius: 4px;
    padding: 12px 15px;
    margin-bottom: 15px;
    font-size: 14px;
}

.create-account-popup .required {
    color: #e74c3c;
}

.create-account-popup p:last-child {
    margin-bottom: 0;
}

/* Login Popup Styles */
.login-form-popup {
    background: white;
    padding: 2rem;
    border-radius: 8px;
    
    .login-popup-header {
        text-align: center;
        margin-bottom: 2rem;
        
        h3 {
            margin: 0 0 1rem 0;
            font-size: 1.5rem;
            color: #333;
        }
        
        p {
            margin: 0;
            color: #666;
            font-size: 0.9rem;
        }
    }
    
    .login-popup-messages {
        margin-bottom: 1rem;
        
        .woocommerce-message,
        .woocommerce-error {
            padding: 12px 16px;
            border-radius: 4px;
            margin: 0 0 1rem 0;
            
            &::before {
                display: none;
            }
        }
        
        .woocommerce-message {
            background: #d4edda;
            border: 1px solid #c3e6cb;
            color: #155724;
        }
        
        .woocommerce-error {
            background: #f8d7da;
            border: 1px solid #f5c6cb;
            color: #721c24;
        }
    }
    
    .form-row {
        margin-bottom: 1.5rem;
        
        &:last-child {
            margin-bottom: 0;
        }
        
        label {
            display: block;
            margin-bottom: 0.5rem;
            font-weight: 600;
            color: #333;
            
            .required {
                color: #e74c3c;
            }
        }
        
        input[type="text"],
        input[type="email"],
        input[type="password"] {
            width: 100%;
            padding: 12px 16px;
            border: 1px solid #ddd;
            border-radius: 4px;
            font-size: 1rem;
            transition: border-color 0.3s ease;
            
            &:focus {
                outline: none;
                border-color: #007cba;
                box-shadow: 0 0 0 2px rgba(0, 124, 186, 0.1);
            }
        }
        
        .woocommerce-form__label-for-checkbox {
            display: flex;
            align-items: center;
            font-weight: normal;
            margin-bottom: 1rem;
            
            input[type="checkbox"] {
                margin-right: 0.5rem;
                width: auto;
            }
        }
    }
}

/* =====================================================
   GLOBAL CHECKBOX STYLING - WooCommerce Forms
   ===================================================== */

/* General checkbox label styling */
.woocommerce .woocommerce-form__label-for-checkbox,
.woocommerce-page .woocommerce-form__label-for-checkbox,
body.woocommerce-checkout .woocommerce-form__label-for-checkbox,
.woocommerce-billing-fields .woocommerce-form__label-for-checkbox,
.woocommerce-shipping-fields .woocommerce-form__label-for-checkbox,
.woocommerce-additional-fields .woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 16px;
    color: #4A5568;
    cursor: pointer;
    line-height: 1.5;
    font-weight: normal;
}

/* Custom checkbox styling */
.woocommerce .woocommerce-form__label-for-checkbox input[type="checkbox"],
.woocommerce-page .woocommerce-form__label-for-checkbox input[type="checkbox"],
body.woocommerce-checkout .woocommerce-form__label-for-checkbox input[type="checkbox"],
.woocommerce-billing-fields .woocommerce-form__label-for-checkbox input[type="checkbox"],
.woocommerce-shipping-fields .woocommerce-form__label-for-checkbox input[type="checkbox"],
.woocommerce-additional-fields .woocommerce-form__label-for-checkbox input[type="checkbox"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    border: 2px solid #A0AEC0 !important;
    border-radius: 4px !important;
    background: #fff !important;
    cursor: pointer !important;
    position: relative !important;
    flex-shrink: 0 !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    vertical-align: top !important;
    display: inline-block !important;
}

/* Checkbox checked state */
.woocommerce .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked,
.woocommerce-page .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked,
body.woocommerce-checkout .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked,
.woocommerce-billing-fields .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked,
.woocommerce-shipping-fields .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked,
.woocommerce-additional-fields .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked {
    background: #002745 !important;
    border-color: #002745 !important;
}

/* Checkbox checkmark */
.woocommerce .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked::after,
.woocommerce-page .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked::after,
body.woocommerce-checkout .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked::after,
.woocommerce-billing-fields .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked::after,
.woocommerce-shipping-fields .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked::after,
.woocommerce-additional-fields .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked::after {
    content: "" !important;
    position: absolute !important;
    top: 2px !important;
    left: 6px !important;
    width: 5px !important;
    height: 10px !important;
    border: solid #fff !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
    display: block !important;
}

/* Checkbox focus state */
.woocommerce .woocommerce-form__label-for-checkbox input[type="checkbox"]:focus,
.woocommerce-page .woocommerce-form__label-for-checkbox input[type="checkbox"]:focus,
body.woocommerce-checkout .woocommerce-form__label-for-checkbox input[type="checkbox"]:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(0, 39, 69, 0.2) !important;
}

/* Checkbox hover state */
.woocommerce .woocommerce-form__label-for-checkbox input[type="checkbox"]:hover,
.woocommerce-page .woocommerce-form__label-for-checkbox input[type="checkbox"]:hover,
body.woocommerce-checkout .woocommerce-form__label-for-checkbox input[type="checkbox"]:hover {
    border-color: #002745 !important;
}

/* Label text span styling */
.woocommerce .woocommerce-form__label-for-checkbox span,
.woocommerce-page .woocommerce-form__label-for-checkbox span,
body.woocommerce-checkout .woocommerce-form__label-for-checkbox span {
    flex: 1;
}

/* Hide any default checkbox styling from plugins */
.woocommerce .woocommerce-form__label-for-checkbox input[type="checkbox"]::before,
.woocommerce-page .woocommerce-form__label-for-checkbox input[type="checkbox"]::before,
body.woocommerce-checkout .woocommerce-form__label-for-checkbox input[type="checkbox"]::before {
    display: none !important;
    content: none !important;
}


.woocommerce .full-width-image-cta__bg {
    height: 100%;
}

.btn-group-ps .added_to_cart.wc-forward {
    display: none;
}

/* Mini Cart Styles */
.cart-quantity {
    background: #0081D5;
    color: #fff;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    margin-left: 5px;
    position: relative;
    top: -2px;
    left: 0;
}

@media( max-width: 767px ) {
    .js-cart-toggle.hidden-lg {
        flex-direction: column;
        width: 70px;
        padding-left: 10px;
        padding-right: 10px;
    }
}

@media( min-width: 768px ) {
    .cart-quantity {
        background: #0081D5;
        color: #fff;
        border-radius: 50%;
        width: 22px;
        height: 22px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        font-weight: 600;
        margin-left: 5px;
        position: absolute;
        top: -2px;
        left: 33px;
    }
}

@media( min-width: 1200px ) {
    .cart-quantity {
        background: #0081D5;
        color: #fff;
        border-radius: 50%;
        width: 20px;
        height: 20px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        font-weight: 600;
        margin-left: 5px;
        position: relative;
        top: -2px;
        left: 0;
        min-width: 20px;
    }
}



.js-cart-toggle {
    position: relative;
    cursor: pointer;
    transition: color 0.3s ease;
}

.js-cart-toggle:hover {
    color: #F56C2B;
}

/* Mini Cart Dropdown */
.mini-cart-dropdown {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    max-width: 731px;
    height: 100vh;
    z-index: 9999;
    background: #fff;
    box-shadow: -2px 0 20px rgba(0, 0, 0, 0.1);
    transition: right 0.3s ease-in-out;
    overflow-y: auto;
}

.mini-cart-dropdown.active {
    right: 0;
}

.mini-cart-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgb(0 39 69 / 50%);
    cursor: pointer;
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

.mini-cart-overlay.active {
    opacity: 1;
    visibility: visible;
}

.mini-cart-content {
    height: 100%;
    width: 100%;
    background: #fff;
    overflow-y: auto;
}

/* Mini Cart Container */
.mini-cart-container {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.mini-cart-header {
    background: #fff;
    color: #fff;
    padding: 25px 25px 0 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 10;
}


@media( min-width: 1200px ) {
    .mini-cart-header {
        padding: 45px 50px 0 50px;
    }
}

.mini-cart-header h3 {
    margin: 0;
    font-size: 50px;
    font-weight: 600;
    font-family: 'Kanit', sans-serif;
    color: #002745;
}

.mini-cart-close {
    font-size: 24px;
    cursor: pointer;
    color: #fff;
    transition: color 0.3s ease;
    line-height: 1;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mini-cart-close:hover {
    color: #F56C2B;
}

/* Mini Cart Items - Using Cart Page Styles */
.mini-cart-items {
    flex: 1;
    padding: 20px;
    overflow-y: auto;
}

/* Apply cart page styles to mini cart items */
.mini-cart-dropdown .cart-items-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
    padding: 0;
}

.mini-cart-dropdown .cart-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px 0;
    border-bottom: 1px solid #e0e0e0;
    border-radius: 0;
    background: #fff;
    position: relative;
}

.mini-cart-dropdown .cart-item:last-child {
    border-bottom: none;
}

.mini-cart-dropdown .cart-item .product-remove {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
}

.mini-cart-dropdown .cart-item .product-remove .remove {
    background: #ff4444;
    color: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 18px;
    line-height: 1;
    transition: background-color 0.3s ease;
}

.mini-cart-dropdown .cart-item .product-remove .remove:hover {
    background: #cc0000;
}

.mini-cart-dropdown .cart-item-image {
    flex: 0 0 120px;
    width: 120px;
}

.mini-cart-dropdown .cart-item-image img {
    width: 95px;
    border-radius: 10px;
    height: 95px;
    object-fit: cover;
    object-position: center;
}

.mini-cart-dropdown .cart-item-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mini-cart-dropdown .cart-item-info .product-name {
    font-size: 25px;
    font-weight: 600;
    line-height: 1.4;
    font-family: 'Kanit';
}

.mini-cart-dropdown .cart-item-info .product-name a {
    color: #002745;
    text-decoration: none;
}

.mini-cart-dropdown .cart-item-info .product-name a:hover {
    color: #0073aa;
}

.mini-cart-dropdown .cart-item-info .product-price {
    font-size: 20px;
    color: #0F74C2;
    font-family: 'Kanit';
    margin-bottom: 0;
}

.mini-cart-dropdown .cart-item-info .price-label {
    font-weight: 500;
    margin-right: 8px;
}

.mini-cart-dropdown .cart-item-info .product-meta {
    font-size: 14px;
    color: #777;
}

/* Apply cart page product meta styles to mini cart */
.mini-cart-dropdown .product-meta .postexcerpt {
    color: rgb(0 39 69 / 80%);
    font-size: 18px;
}

.mini-cart-dropdown .product-meta .variation dt {
    font-size: 18px;
    font-weight: 600;
    color: rgb(0 39 69 / 60%);
}

.mini-cart-dropdown .product-meta .variation dd {
    color: #002745;
    font-weight: 600;
    font-size: 18px;
}

.mini-cart-dropdown .cart-item-info .product-name a.yith-wapo-edit-product-cart small {
    font-family: 'Kanit';
    font-size: 18px;
    font-weight: 500;
    text-decoration: underline;
}

.mini-cart-dropdown .cart-item-info .product-subtotal {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin-top: 10px;
}

.mini-cart-dropdown .cart-item-info .subtotal-label {
    font-weight: 500;
    margin-right: 8px;
}

.mini-cart-dropdown .cart-item-quantity {
    flex: 0 0 120px;
    text-align: center;
}

.mini-cart-dropdown .cart-item-quantity .quantity-label {
    font-weight: 500;
    margin-bottom: 10px;
    font-size: 14px;
    color: #666;
}

/* Apply cart page quantity control styles to mini cart */
.mini-cart-dropdown .custom-quantity-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 6px;
    overflow: hidden;
    background: #EEEEEE;
    max-width: 100px;
    margin: 0 auto;
}

.mini-cart-dropdown .quantity-btn {
    background: #EEEEEE;
    border: none;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.mini-cart-dropdown .quantity-btn:hover:not(:disabled) {
    background: #e9ecef;
    color: #0073aa;
}

.mini-cart-dropdown .quantity-btn:active:not(:disabled) {
    background: #dee2e6;
}

.mini-cart-dropdown .quantity-btn:disabled {
    background: #f8f9fa;
    color: #ccc;
    cursor: not-allowed;
    opacity: 0.6;
}

.mini-cart-dropdown .quantity-btn span {
    line-height: 1px;
    font-size: 25px;
    font-weight: normal;
    font-family: 'open sans-serif';
    margin-top: -3px;
}

.mini-cart-dropdown .quantity-btn.quantity-minus span {
    font-size: 25px;
}

.mini-cart-dropdown .custom-qty-input {
    width: 25px;
    text-align: center;
    border: none;
    background: transparent;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    outline: none;
    padding: 8px 4px;
    /* Cross-browser compatibility */
    box-sizing: border-box;
    vertical-align: middle;
    line-height: normal;
    /* Prevent zoom on iOS */
    font-size: 16px;
    /* Firefox specific fixes */
    -moz-box-sizing: border-box;
    /* IE specific fixes */
    -ms-box-sizing: border-box;
}

/* Hide number input arrows - All browsers for mini cart */
.mini-cart-dropdown .custom-qty-input::-webkit-outer-spin-button,
.mini-cart-dropdown .custom-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* Firefox specific styling - hide spinners completely for mini cart */
.mini-cart-dropdown .custom-qty-input[type=number] {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
    font-size: 18px;
    font-weight: normal;
    color: #2F2F2F;
}

/* Firefox - remove all spin button elements for mini cart */
.mini-cart-dropdown .custom-qty-input::-moz-number-wrapper {
    display: none !important;
}

.mini-cart-dropdown .custom-qty-input::-moz-number-text {
    -moz-appearance: textfield !important;
}

.mini-cart-dropdown .custom-qty-input::-moz-number-spin-box {
    display: none !important;
}

.mini-cart-dropdown .custom-qty-input::-moz-number-spin-up,
.mini-cart-dropdown .custom-qty-input::-moz-number-spin-down {
    display: none !important;
    -moz-appearance: none !important;
}

/* Additional mini cart spinner hiding */
.mini-cart-dropdown input[type=number]::-webkit-outer-spin-button,
.mini-cart-dropdown input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
    display: none !important;
}

.mini-cart-dropdown input[type=number] {
    -moz-appearance: textfield !important;
}

.mini-cart-dropdown input[type=number]::-moz-number-wrapper {
    display: none !important;
}

.mini-cart-dropdown input[type=number]::-moz-number-text {
    -moz-appearance: textfield !important;
}

/* IE/Edge specific fixes for mini cart */
.mini-cart-dropdown .custom-qty-input::-ms-clear,
.mini-cart-dropdown .custom-qty-input::-ms-reveal {
    display: none;
    width: 0;
    height: 0;
}

/* Focus states for better accessibility in mini cart */
.mini-cart-dropdown .custom-qty-input:focus {
    outline: 2px solid #0073aa;
    outline-offset: 1px;
    background-color: rgba(0, 115, 170, 0.05);
}

/* Ensure consistent appearance across browsers for mini cart */
.mini-cart-dropdown .custom-qty-input {
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
}

/* Mini Cart Footer */
.mini-cart-footer {
    background: #fff;
    padding: 0 50px;
    border-top: 0;
    position: sticky;
    bottom: 0;
    margin-top: 50px;
}

.mini-cart-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.mini-cart-total .total {
    font-size: 18px;
    font-weight: 600;
    color: #002745;
    margin: 0;
    text-align: center;
    font-family: 'Kanit', sans-serif;
}

.ssl-badge {
    text-align: center;
}

.mini-cart-buttons {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 15px;
}

.mini-cart-buttons a {
    display: block;
    text-align: center;
    padding: 12px 20px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-family: 'Kanit', sans-serif;
    transition: all 0.3s ease;
}

.mini-cart-buttons .button.wc-forward {
    background: #F56C2B;
    color: #002745;
    border: 2px solid #F56C2B;
}

.mini-cart-buttons .button.wc-forward:hover {
    background: #FF9A6B;
    border-color: #FF9A6B;
}

.mini-cart-buttons .button.checkout {
    background: #002745;
    color: #fff;
    border: 2px solid #002745;
}

.mini-cart-buttons .button.checkout:hover {
    background: #0073aa;
    border-color: #0073aa;
}

.woocommerce .col2-set .col-1, 
.woocommerce-page .col2-set .col-1 {
    width: 100%;
}

.woocommerce .col2-set .col-2, 
.woocommerce-page .col2-set .col-2 {
    width: 100%;
}

.mini-cart-total > strong {
    font-size: 22px;
    text-transform: uppercase;
    font-weight: 600;
    color: rgb(0 39 69 / 62%);
}

.mini-cart-footer .mini-cart-total .woocommerce-Price-amount {
    font-size: 30px;
    font-weight: 600;
    color: #002745;
}

@media( min-width:1025px ) {
    .woocommerce .col2-set .col-1, 
    .woocommerce-page .col2-set .col-1 {
        width: 48%;
    }

    .woocommerce .col2-set .col-2, 
    .woocommerce-page .col2-set .col-2 {
        width: 48%;
    }
}

@media( min-width:1200px ) {
    .woocommerce .col2-set .col-1, 
    .woocommerce-page .col2-set .col-1 {
        width: 59%;
    }

    .woocommerce .col2-set .col-2, 
    .woocommerce-page .col2-set .col-2 {
        width: 39%;
    }
}
/* Mini Cart Empty State */
.mini-cart-empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    text-align: center;
}

.mini-cart-empty p {
    font-size: 18px;
    color: #666;
    margin-bottom: 20px;
}

.mini-cart-empty .btn {
    background: #F56C2B;
    color: #002745;
    padding: 12px 30px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-family: 'Kanit', sans-serif;
    transition: background 0.3s ease;
}

.mini-cart-empty .btn:hover {
    background: #FF9A6B;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .mini-cart-dropdown {
        max-width: 100%;
        width: 100vw;
        right: -100vw;
    }
    
    .mini-cart-dropdown.active {
        right: 0;
    }
    
    /* Apply cart page mobile styles to mini cart */
    .mini-cart-dropdown .cart-item {
        flex-direction: column;
        gap: 15px;
        padding: 15px;
    }
    
    .mini-cart-dropdown .cart-item-image {
        flex: none;
        width: 100px;
        align-self: center;
    }
    
    .mini-cart-dropdown .cart-item-quantity {
        flex: none;
        text-align: center;
        align-self: center;
    }
}

/* Loading States */
.mini-cart-content.loading {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}

.mini-cart-content.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #F56C2B;
    border-radius: 50%;
    animation: mini-cart-spinner 1s linear infinite;
    z-index: 100;
}

.mini-cart-dropdown .cart-item.removing,
.mini-cart-item.removing {
    opacity: 0.5;
    pointer-events: none;
    position: relative;
}

.mini-cart-dropdown .cart-item.removing::after,
.mini-cart-item.removing::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #ff4444;
    border-radius: 50%;
    animation: mini-cart-spinner 1s linear infinite;
    z-index: 10;
}

/* Apply cart page loading states to mini cart quantity controls */
.mini-cart-dropdown .custom-quantity-wrapper.updating {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}

.mini-cart-dropdown .custom-quantity-wrapper.updating::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #333;
    border-radius: 50%;
    animation: cart-spinner 1s linear infinite;
    z-index: 10;
}

@keyframes mini-cart-spinner {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Body class when mini cart is open */
body.mini-cart-open {
    overflow: hidden;
}

/* Mini Cart Sync Styles */
.cart-item.synced-from-mini-cart {
    background-color: #f0f8ff;
    border-left: 3px solid #0073aa;
    transition: all 0.3s ease;
}

.cart-item.synced-from-mini-cart .custom-quantity-wrapper {
    background-color: rgba(0, 115, 170, 0.1);
    border-radius: 4px;
    padding: 2px;
}

.cart-item.removing {
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

.custom-quantity-wrapper.updating {
    opacity: 0.7;
    pointer-events: none;
}

.product-button-popup {
    display: none;
}

.fancybox__container {
    .woocommerce .product-single {
        padding-top: 0;
    }
}

.yith-wapo-product-select-wrapper,
.yith-wapo-color-select-wrapper {
    position: relative;

    &:before {
        content: "";
        width: 12px;
        height: 12px;
        position: absolute;
        top: calc(50% - 3px);
        transform: translateY(-50%) rotate(45deg);
        border: 2px solid #0081D5;
        border-top: 0;
        border-left: 0;
        right: 20px;
        background-color: transparent;
        transition: transform 0.3s ease-in-out;
    }
}

.woocommerce-products__filter__search {
    margin-bottom: 30px;
    
    h3 {
        margin-bottom: 10px;
    }
}

.woocommerce-products__filter__search .facetwp-facet {
    margin: 0;
}

.woocommerce-products__filter__search .facetwp-input-wrap {
    display: block;
    position: relative;
}

.woocommerce-products__filter__search .facetwp-search,
.woocommerce-products__filter__search .facetwp-type-search input {
    width: 100%;
    padding: 12px 45px 12px 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 14px;
    line-height: 1.5;
    transition: border-color 0.3s ease;
}

.woocommerce-products__filter__search .facetwp-search:focus,
.woocommerce-products__filter__search .facetwp-type-search input:focus {
    outline: none;
    border-color: #0081D5;
}

.woocommerce-products__filter__search .facetwp-icon {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    cursor: pointer;
}

ul.woocommerce-error li:before {
    content: none;
}

div#customer_login {
    margin: 60px 0;
}

nav.woocommerce-MyAccount-navigation {
    margin-top: 30px;
    margin-bottom: 15px;
}

.woocommerce-MyAccount-content {
    margin-bottom: 30px;
}

/* WooCommerce MyAccount Navigation Styling */
nav.woocommerce-MyAccount-navigation ul li:before {
    content: none;
}

@media( min-width: 600px ) {
    .woocommerce-MyAccount-content,
    nav.woocommerce-MyAccount-navigation {
        margin-top: 60px;
        margin-bottom: 60px;
    }
}


.woocommerce-MyAccount-navigation ul {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 39, 69, 0.10);
    padding:  0;
    margin-bottom: 30px;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.woocommerce-MyAccount-navigation ul li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #f0f0f0;
}

.woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none;
}

.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 15px 25px;
    color: #002745;
    text-decoration: none;
    font-size: 18px;
    font-weight: 500;
    font-family: 'Kanit', sans-serif;
    transition: all 0.3s ease;
    position: relative;
}

.woocommerce-MyAccount-navigation ul li a:hover {
    background: #f8f9fa;
    color: #0F74C2;
    padding-left: 35px;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a[aria-current="page"] {
    background: linear-gradient(90deg, #F56C2B 0%, #FF9A6B 100%);
    color: #002745;
    font-weight: 600;
    border-left: 4px solid #F56C2B;
}

.woocommerce-MyAccount-navigation ul li.is-active a:hover,
.woocommerce-MyAccount-navigation ul li a[aria-current="page"]:hover {
    background: linear-gradient(90deg, #FF9A6B 0%, #F56C2B 100%);
    padding-left: 25px;
}

.woocommerce-Address-title.title h2 {
    font-size: 32px;
    margin: 0;
}

.woocommerce-Address-title.title {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

header.woocommerce-Address-title.title:before, 
header.woocommerce-Address-title.title:after {
    content: none !important;
}

.woocommerce-Address address {
    margin-top: 25px;
}

.u-columns.woocommerce-Addresses.col2-set.addresses {
    display: flex;
    flex-direction: column;
    gap: 15px;
    justify-content: flex-start;
    align-items: flex-start;
}

.u-columns.woocommerce-Addresses.col2-set.addresses > .woocommerce-Address {
    width: 100%;
    max-width: 100%;
}

.woocommerce-NoticeGroup {
    margin-top: 200px;
    margin-bottom: 45px;
}

.select2-results ul > li:before {
    content: none;
}

.select2-results ul > li {
    padding-left: 15px;
}

@media (min-width:600px) and ( max-width: 991px ) {
    /* .woocommerce {
        display: flex;
        gap: 15px;
    } */

    .woocommerce > .woocommerce-MyAccount-navigation {
        flex: 0 0 25%;
    }

    .woocommerce > .woocommerce-MyAccount-content {
        flex: 1;
    }

}

/* Mobile responsive */
@media (max-width: 768px) {
    .woocommerce-MyAccount-navigation {
        margin-bottom: 20px;
    }
    
    .woocommerce-MyAccount-navigation ul li a {
        font-size: 16px;
        padding: 12px 20px;
    }
    
    .woocommerce-MyAccount-navigation ul li a:hover {
        padding-left: 30px;
    }
}

/* Tablet responsive */
@media (min-width: 769px) and (max-width: 1024px) {
    
    .woocommerce-MyAccount-navigation ul li:nth-child(even) {
        border-right: none;
    }
    
    .woocommerce-MyAccount-navigation ul li a {
        padding: 15px 10px;
        font-size: 16px;
    }
    
    .woocommerce-MyAccount-navigation ul li a:hover {
        padding-left: 10px;
        transform: translateY(-2px);
    }
}

.woocommerce-account .woocommerce {
    padding-block: 50px;
}

.search-results .products {
    justify-content: center;
}

.woocommerce-products__filter__search {
    form {
        position: relative;
    }

    input {
        padding-right: 50px;
    }

    button {
        position: absolute;
        top: 0;
        right: 0;
        border: 0;
        background-color: transparent;
        height: 100%;
        width: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

.woocommerce-card {
    .added_to_cart {
        display: none;
    }
}

.woocommerce-thankyou-order-content {
    max-width: 793px;
    margin: 45px auto;
    text-align: center;
}

.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order {
    background: #EEEEEE;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
}

@media( min-width:1200px ) {
    .woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order {
        margin-top: 225px;
    }
}

.woocommerce-thankyou-order-img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}

.woocommerce-thankyou-order-content {
    position: relative;
    z-index: 1;
}

.woocommerce-thankyou-order-content p {
    font-size: 25px;
    font-weight: 600;
    text-transform: uppercase;
    color: rgba(0, 39, 69, 0.85);;
}

/* Order Details Styling - Match Cart Page */
.woocommerce-order-details .cart-items-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
}

.woocommerce-order-details .cart-item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid #e0e0e0;
    border-radius: 0;
    background: #fff;
    position: relative;
}

.woocommerce-order-details .cart-item-image {
    flex: 0 0 120px;
    width: 120px;
}

.woocommerce-order-details .cart-item-image img {
    width: 100%;
    border-radius: 10px;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.woocommerce-order-details .cart-item-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.woocommerce-order-details .cart-item-info .product-name a {
    font-size: 25px;
    font-weight: 600;
    line-height: 1.4;
    font-family: 'Kanit';
    color: #002745;
    text-decoration: none;
}

.woocommerce-order-details .cart-item-info .product-name a:hover {
    color: #0073aa;
}

.woocommerce-order-details .cart-item-info .product-price {
    font-size: 20px;
    color: #0F74C2;
    font-family: 'Kanit';
    margin-bottom: 0;
}

.woocommerce-order-details .cart-item-info .product-meta {
    font-size: 14px;
    color: #777;
}

.woocommerce-order-details .cart-item-info .product-subtotal {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin-top: 10px;
}

.woocommerce-order-details .cart-item-info .subtotal-label {
    font-weight: 500;
    margin-right: 8px;
}

/* Apply cart page product meta styles to order details */
.woocommerce-order-details .product-meta .postexcerpt {
    color: rgb(0 39 69 / 80%);
    font-size: 18px;
}

.woocommerce-order-details .product-meta .variation dt {
    font-size: 18px;
    font-weight: 600;
    color: rgb(0 39 69 / 60%);
}

.woocommerce-order-details .product-meta .variation dd {
    color: #002745;
    font-weight: 600;
    font-size: 18px;
}

/* Quantity section styling */
.woocommerce-order-details .cart-item-quantity {
    text-align: center;
}

.woocommerce-order-details .cart-item-quantity .quantity-value {
    font-size: 18px;
    color: #003152;
    font-weight: 600;
}

/* Order totals styling */
.woocommerce-order-details .order-totals-container {
    border-top: 2px solid #e0e0e0;
    padding-top: 20px;
    margin-top: 20px;
}

.woocommerce-order-details .order-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
}

.woocommerce-order-details .order-total-row:last-child {
    border-bottom: none;
    font-weight: 600;
    font-size: 18px;
}

.woocommerce-order-details .order-total-label {
    font-weight: 500;
    color: #333;
}

.woocommerce-order-details .order-total-value {
    font-weight: 600;
    color: #0F74C2;
}

/* Order actions styling */
.woocommerce-order-details .order-actions-container {
    margin: 20px 0;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 10px;
}

.woocommerce-order-details .order-actions-row {
    display: flex;
    align-items: center;
    gap: 20px;
}

.woocommerce-order-details .order-actions--heading {
    font-weight: 600;
    color: #333;
}

.woocommerce-order-details .order-actions--buttons {
    display: flex;
    gap: 10px;
}

/* Purchase note styling */
.woocommerce-order__product-purchase-note {
    margin-top: 10px;
    padding: 15px;
    background: #f0f8ff;
    border-left: 4px solid #0F74C2;
    border-radius: 5px;
}

.woocommerce-order__product-purchase-note .purchase-note-content {
    font-size: 14px;
    color: #555;
    margin: 0;
}

body .woocommerce-order-details ul.woocommerce-thankyou-order-details {
    margin-bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 25px;
    margin-bottom: 15px;
    flex-wrap: wrap;
    gap: 15px;
}

@media( min-width:1025px ) {
    body .woocommerce-order-details ul.woocommerce-thankyou-order-details {
        display: flex;
        justify-content: space-between;
    }
}

body .woocommerce-order-details ul.woocommerce-thankyou-order-details:after,
body .woocommerce-order-details ul.woocommerce-thankyou-order-details:before {
    content: none;
}

body .woocommerce-order-details ul.woocommerce-thankyou-order-details li:before {
    content: none;
}

section.woocommerce-order-details {
    background: #FFF;
    box-shadow: 0 4px 50px 0 rgba(0, 0, 0, 0.15);
    border-radius: 12px;
    margin-top: 50px;
    overflow: hidden;
    padding: 70px;
}

body .woocommerce-order-details ul.woocommerce-thankyou-order-details li {
    color: rgba(0, 39, 69, 0.62);
    font-family: 'Kanit';
    font-size: 20px;
    font-style: italic;
    font-weight: 400;
    line-height: 106%;
    text-transform: uppercase;
    margin: 0;
    padding: 0;
    border-right: none;
    flex: 0 0 100%;
}

@media( min-width:600px ) {
    body .woocommerce-order-details ul.woocommerce-thankyou-order-details li {
        flex: 0 0 47%;
    }
}

@media( min-width:1025px ) {
    body .woocommerce-order-details ul.woocommerce-thankyou-order-details li {
        flex: 1;
    }
}

body .woocommerce-order-details ul.woocommerce-thankyou-order-details li strong {
    color: #002745;
    font-family: 'Kanit';
    font-size: 25px;
    font-style: italic;
    font-weight: 600;
    line-height: 106%; /* 26.5px */
    text-transform: uppercase;
}

.woocommerce-order .woocommerce-order-details .cart-item {
    border-bottom: none;
}

.woocommerce-order .product-meta .quantity-value {
    color: #003152;
    font-family: Kanit;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 129%;
}

.billing-address-content .billing-name {
    color: rgba(0, 39, 69, 0.80);
    font-family: Kanit;
    font-size: 18px;
    font-style: italic;
    font-weight: 600;
    line-height: 129%;
}

@media( min-width: 600px ) {
    .billing-order-oneline {
        display: flex;
        gap: 5px;
    }
}

/* Print Button Styles */
.print-button-container {
    margin-top: 20px;
    text-align: center;
}

button#print-order-details {
    color: rgba(0, 39, 69, 0.80);
    font-family: Kanit;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    background: transparent;
}

@media( min-width:992px ) {
    .woocommerce-customer-details.billing-address-section {
        display: flex;
        justify-content: space-between;
    }
}

.print-button {
    background-color: #0073aa;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s ease;
}

.print-button:hover {
    background-color: #005a87;
}

/* Print Media Queries */
@media print {
    /* Hide elements that shouldn't be printed */
    header,
    footer,
    nav,
    .site-header,
    .site-footer,
    .navigation,
    .breadcrumb,
    .sidebar,
    .print-button-container {
        display: none !important;
    }
    
    /* Ensure proper page setup */
    @page {
        margin: 0.5in;
        size: auto;
    }
    
    /* Reset body for print */
    body {
        margin: 0;
        padding: 0;
        background: white !important;
        color: #000 !important;
        font-size: 12pt;
        line-height: 1.4;
    }
    
    /* Preserve the exact styling of order details */
    .woocommerce-order-details {
        position: static !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 20pt !important;
        background: white !important;
        box-shadow: none !important;
        border: none !important;
    }
    
    /* Preserve order overview styling */
    .woocommerce-order-overview {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 15pt !important;
        margin-bottom: 20pt !important;
        list-style: none !important;
        padding: 0 !important;
    }
    
    .woocommerce-order-overview li {
        flex: 1 1 auto !important;
        margin: 0 !important;
        padding: 10pt !important;
        border: 1pt solid #ddd !important;
        border-radius: 4pt !important;
        page-break-inside: avoid;
        background: #f9f9f9 !important;
    }
    
    /* Preserve cart items styling */
    .cart-items-container {
        margin-bottom: 20pt !important;
    }
    
    .cart-item {
        page-break-inside: avoid;
        margin-bottom: 15pt !important;
        padding: 10pt !important;
        border: 1pt solid #eee !important;
        border-radius: 4pt !important;
        background: white !important;
    }
    
    /* Preserve product images in print */
    .cart-item img {
        max-width: 80pt !important;
        height: auto !important;
        border-radius: 4pt !important;
    }
    
    /* Preserve billing address styling */
    .billing-address-section {
        margin-top: 20pt !important;
        padding: 15pt !important;
        border: 1pt solid #ddd !important;
        border-radius: 4pt !important;
        background: #f9f9f9 !important;
        page-break-inside: avoid;
    }
    
    /* Preserve typography hierarchy */
    .woocommerce-order-details h1,
    .woocommerce-order-details h2,
    .woocommerce-order-details h3 {
        color: #002745 !important;
        margin-bottom: 10pt !important;
        page-break-after: avoid;
    }
    
    /* Preserve strong text styling */
    .woocommerce-order-details strong {
        font-weight: 600 !important;
        color: #002745 !important;
    }
    
    /* Preserve link styling but remove underlines for cleaner print */
    .woocommerce-order-details a {
        color: #0073aa !important;
        text-decoration: none !important;
    }
    
    /* Ensure proper spacing for all elements */
    .woocommerce-order-details * {
        box-sizing: border-box !important;
    }
    
    /* Hide any action buttons or interactive elements */
    .order-actions-container,
    .woocommerce-button,
    button,
    input[type="submit"] {
        display: none !important;
    }
}

.woocommerce-additional-fields {
    padding: 40px;
    background: #EEEEEE;
    border-radius: 15px;
    margin-top: 35px;
}

.woocommerce-button-filter {
    color: #002745;
    font-family: Kanit;
    font-size: 22px;
    border-radius: 5px;
    background: #EEE;
    padding: 15px 20px;
    position: relative;
    line-height: 1;

    display: flex;
    justify-content: space-between;
    padding-right: 50px;
    align-items: center;

    .filter-icon {
        display: block;
        width: 12px;
        height: 12px;
        position: absolute;
        top: calc(50% - 4px);
        transform: translateY(-50%) rotate(45deg);
        right: 20px;
        transition: transform 0.3s ease-in-out;

        &:before,
        &:after {
            content: "";
            display: block;
            position: absolute;
            background-color: #0081D5;
            transition: background 0.3s ease-in-out, left 0.3s ease-in-out, right 0.3s ease-in-out, bottom 0.3s ease-in-out;
        }

        &:before {
            bottom: 0;
            left: 0;
            width: 100%;
            height: 2px;
        }

        &:after {
            bottom: 0;
            right: 0;
            height: 100%;
            width: 2px;
        }
    }

    &.is-open {
        border-radius: 5px 5px 0 0;
        z-index: 9999;

        .filter-icon {
            transform: translateY(-50%) rotate(45deg) scale(1.5);

            &:before {
                bottom: 3px;
                left: 3px;
            }

            &:after {
                bottom: -2px;
                right: 2px;
            }
        }
    }
}

@media( min-width: 1200px ) and ( max-width: 1300px ) {
    .woocommerce-product__button .btn-tertiary,
    .woocommerce-product__button .btn-cart {
        font-size: 16px;
        padding: 11px 50px 12px 20px;
    }
}

@media (max-width: 1199px) {
    body.is-woocommerce-filter-open,
    body.is-woocommerce-filter-open {
        &:after {
            opacity: 1;
            z-index: 999;
            pointer-events: auto;
        }

        .page-header {
            position: absolute;
        }
    }

    .woocommerce-products__row .woocommerce-products__filter {
        position: absolute !important;
        top: 57px;
        width: calc(50% - 32px);
        z-index: 99999;
        border-top: 1px solid rgba(47, 47, 47, 0.65);
        border-radius: 0 0 10px 10px;
        display: none;
    }

    .woocommerce-products__filter-container {
        display: flex;
        flex-wrap: wrap;
        gap: 0 32px;
        position: relative;
    
        .woocommerce-products__filter-container__item {
            width: calc(50% - 16px);
        }

        .woocommerce-ordering {
            margin-bottom: 0;
        }
    }
}

@media (max-width: 767px) {
    .woocommerce-products__filter-container {
        flex-direction: column-reverse;

        .woocommerce-products__filter-container__item {
            width: 100%;
            margin-bottom: 20px;
        }
    }

    .woocommerce-products__row .woocommerce-products__filter {
        top: calc(100% - 20px);
        width: calc(100% - 19px);
    }
}

/* =====================================================
   PAYMENT INFORMATION SECTION - Checkout
   ===================================================== */

#payment.woocommerce-checkout-payment {
    background-color: #E8E8E8;
    border-radius: 16px;
    padding: 40px;
    margin-top: 30px;
}

#payment.woocommerce-checkout-payment:before {
    content: "PAYMENT INFORMATION";
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: #002745;
    margin-bottom: 20px;
    letter-spacing: 0.5px;
}

/* Payment Methods List */
#payment ul.wc_payment_methods.payment_methods {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
    border: none;
}

#payment ul.wc_payment_methods li.wc_payment_method {
    list-style: none;
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    display: flex;
    flex-wrap: wrap;
}

.woocommerce-shipping-fields {
    padding: 40px;
    background: #EEEEEE;
    border-radius: 15px;
    margin-top: 35px;
}

h3#ship-to-different-address, 
h3#ship-to-different-address label {
    margin: 0;
}

.woocommerce-shipping-fields__field-wrapper {
    margin-top: 25px;
}

#payment ul.wc_payment_methods li.wc_payment_method:before {
    display: none;
    content: none !important;
}

/* Payment Method Label */
#payment ul.wc_payment_methods li.wc_payment_method label {
    display: flex;
    align-items: center;
    gap: 0;
    font-size: 16px;
    font-weight: 500;
    color: #4A5568;
    cursor: pointer;
    margin-bottom: 5px;
}

/* Radio Button Styling - Override WooCommerce defaults (including AJAX updates) */
body #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"],
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"],
body.woocommerce-checkout #payment .wc_payment_methods input[type="radio"],
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"],
.woocommerce #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"],
.woocommerce-page #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"],
#payment .wc_payment_methods input[type="radio"],
#payment input[type="radio"],
.woocommerce form.checkout #payment input[type="radio"],
body .woocommerce-checkout-payment input[type="radio"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    border: 2px solid #A0AEC0 !important;
    border-radius: 50% !important;
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    cursor: pointer !important;
    position: relative !important;
    flex-shrink: 0 !important;
    margin: 0 10px 0 0 !important;
    padding: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    vertical-align: middle !important;
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:checked,
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:checked,
body.woocommerce-checkout #payment .wc_payment_methods input[type="radio"]:checked,
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:checked,
.woocommerce #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:checked,
.woocommerce-page #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:checked,
#payment .wc_payment_methods input[type="radio"]:checked,
#payment input[type="radio"]:checked,
.woocommerce form.checkout #payment input[type="radio"]:checked,
body .woocommerce-checkout-payment input[type="radio"]:checked {
    border-color: #002745 !important;
    background: #fff !important;
    background-color: #fff !important;
}

body #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:checked::after,
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:checked::after,
body.woocommerce-checkout #payment .wc_payment_methods input[type="radio"]:checked::after,
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:checked::after,
.woocommerce #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:checked::after,
.woocommerce-page #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:checked::after,
#payment .wc_payment_methods input[type="radio"]:checked::after,
#payment input[type="radio"]:checked::after,
.woocommerce form.checkout #payment input[type="radio"]:checked::after,
body .woocommerce-checkout-payment input[type="radio"]:checked::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 10px !important;
    height: 10px !important;
    background: #002745 !important;
    background-color: #002745 !important;
    border-radius: 50% !important;
    display: block !important;
}

body #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:focus,
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:focus,
.woocommerce #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:focus,
.woocommerce-page #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:focus,
#payment input[type="radio"]:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(0, 39, 69, 0.2) !important;
}

/* Hide any default radio button styling from plugins/WooCommerce */
body #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]::before,
body.woocommerce-checkout #payment input[type="radio"]::before,
#payment input[type="radio"]::before {
    display: none !important;
    content: none !important;
}

/* Card Icons */
#payment ul.wc_payment_methods li.wc_payment_method label img,
#payment ul.wc_payment_methods li.wc_payment_method label .payment-icons {
    display: inline-flex;
    gap: 8px;
    margin-left: 10px;
}

#payment ul.wc_payment_methods li.wc_payment_method label img {
    height: 24px;
    width: auto;
}

/* Payment Box / Form Container */
#payment .payment_box {
    background: transparent;
    padding: 0;
    margin: 0;
    border: none;
    color: #4A5568;
}

#payment .payment_box:before {
    display: none;
}

/* Credit Card Form Fields */
#payment .payment_box fieldset,
#payment .payment_box .wc-credit-card-form {
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
}

#payment .payment_box .form-row {
    margin-bottom: 20px;
}

#payment .payment_box label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #002745;
    margin-bottom: 8px;
    text-transform: none;
}

#payment .payment_box label .required {
    color: #E53E3E;
}

#payment .payment_box input[type="text"],
#payment .payment_box input[type="tel"],
#payment .payment_box input[type="number"],
#payment .payment_box select,
#payment .payment_box .input-text {
    width: 100%;
    padding: 14px 16px !important;
    font-size: 16px !important;
    border: 1px solid #CBD5E0;
    border-radius: 8px;
    background: #fff;
    color: #4A5568;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#payment .payment_box .input-text::placeholder {
    color: #4A5568 !important;
}

#payment .payment_box input[type="text"]:focus,
#payment .payment_box input[type="tel"]:focus,
#payment .payment_box input[type="number"]:focus,
#payment .payment_box select:focus,
#payment .payment_box .input-text:focus {
    outline: none;
    border-color: #002745;
    box-shadow: 0 0 0 3px rgba(0, 39, 69, 0.1);
}

#payment .payment_box input::placeholder {
    color: #A0AEC0;
}

/* Card Fields Row Layout */
#payment .payment_box .wc-credit-card-form-card-number,
#payment .payment_box .form-row-first {
    width: 100%;
}

#payment .payment_box .wc-credit-card-form-card-cvc,
#payment .payment_box .wc-credit-card-form-card-expiry {
    width: calc(50% - 10px);
    display: inline-block;
    vertical-align: top;
}

#payment .payment_box .wc-credit-card-form-card-cvc {
    margin-right: 20px;
}

/* Stripe Elements Styling */
#payment .payment_box .wc-stripe-elements-field,
#payment .payment_box .StripeElement,
#payment .payment_box iframe {
    padding: 14px 16px;
    border: 1px solid #CBD5E0;
    border-radius: 8px;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#payment .payment_box .wc-stripe-elements-field:focus-within,
#payment .payment_box .StripeElement--focus {
    border-color: #002745;
    box-shadow: 0 0 0 3px rgba(0, 39, 69, 0.1);
}

/* Privacy Policy Text */
#payment .form-row.place-order .woocommerce-privacy-policy-text,
#payment .woocommerce-privacy-policy-text {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 20px;
    color: rgba(0, 39, 69, 0.80);
}

#payment .woocommerce-privacy-policy-text p {
    margin: 0;
}

#payment .woocommerce-privacy-policy-text a {
    color: #002745;
    text-decoration: underline;
}

#payment .woocommerce-privacy-policy-text a:hover {
    color: #F57C2B;
}

/* Terms and Conditions Checkbox */
#payment .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 25px;
}

#payment .woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    color: #4A5568;
    cursor: pointer;
    line-height: 1.5;
}

.woocommerce-terms-and-conditions-checkbox-text,
.woocommerce-terms-and-conditions-checkbox-text a {
    font-weight: normal;
}

#payment .woocommerce-form__label-for-checkbox input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    min-width: 20px;
    border: 2px solid #A0AEC0;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    position: relative;
    margin-top: 2px;
}

#payment .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked {
    background: #002745;
    border-color: #002745;
}

#payment .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked:after {
    content: "";
    position: absolute;
    top: 2px;
    left: 6px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

#payment .woocommerce-form__label-for-checkbox .woocommerce-terms-and-conditions-link {
    color: #002745;
    text-decoration: underline;
}

#payment .woocommerce-form__label-for-checkbox .woocommerce-terms-and-conditions-link:hover {
    color: #F57C2B;
}

#payment .woocommerce-form__label-for-checkbox .required {
    color: #E53E3E;
}

/* Place Order Button */
#payment .form-row.place-order {
    margin: 0;
    padding: 0;
}

#payment #place_order,
#payment button[type="submit"].button.alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 10px 40px;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: background-color 0.3s ease, background-position 0.3s ease, transform 0.2s ease;
    width: auto;
    min-width: 220px;
    background: linear-gradient(90deg, #F56C2B 0%, #F56C2B 50%, #FF9A6B 100%);
    background-size: 200% 100%;
    background-position: left center;
    color: #002745;
    font-family: Kanit;
    font-size: 16px;
    font-style: italic;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
}

.woocommerce-checkout #payment div.form-row {
    padding: 0;
}

#payment #place_order:before,
#payment button[type="submit"].button.alt:before {
    content: "";
    background: url('data:image/svg+xml,<svg width="10" height="12" viewBox="0 0 10 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.25 12C0.90625 12 0.611979 11.8881 0.367188 11.6643C0.122396 11.4405 0 11.1714 0 10.8571V5.14286C0 4.82857 0.122396 4.55952 0.367188 4.33571C0.611979 4.11191 0.90625 4 1.25 4H1.875V2.85714C1.875 2.06667 2.17969 1.39286 2.78906 0.835714C3.39844 0.278571 4.13542 0 5 0C5.86458 0 6.60156 0.278571 7.21094 0.835714C7.82031 1.39286 8.125 2.06667 8.125 2.85714V4H8.75C9.09375 4 9.38802 4.11191 9.63281 4.33571C9.8776 4.55952 10 4.82857 10 5.14286V10.8571C10 11.1714 9.8776 11.4405 9.63281 11.6643C9.38802 11.8881 9.09375 12 8.75 12H1.25ZM5 9.14286C5.34375 9.14286 5.63802 9.03095 5.88281 8.80714C6.1276 8.58333 6.25 8.31429 6.25 8C6.25 7.68571 6.1276 7.41667 5.88281 7.19286C5.63802 6.96905 5.34375 6.85714 5 6.85714C4.65625 6.85714 4.36198 6.96905 4.11719 7.19286C3.8724 7.41667 3.75 7.68571 3.75 8C3.75 8.31429 3.8724 8.58333 4.11719 8.80714C4.36198 9.03095 4.65625 9.14286 5 9.14286ZM3.125 4H6.875V2.85714C6.875 2.38095 6.69271 1.97619 6.32812 1.64286C5.96354 1.30952 5.52083 1.14286 5 1.14286C4.47917 1.14286 4.03646 1.30952 3.67188 1.64286C3.30729 1.97619 3.125 2.38095 3.125 2.85714V4Z" fill="%23002745"/></svg>');
    width: 10px;
    height: 12px;
    background-repeat: no-repeat;
}

.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
    float: left;
}

#payment #place_order:hover,
#payment button[type="submit"].button.alt:hover {
    background-position: right center;
    color: #002745;
    transform: translateY(-2px);
}

#payment #place_order:active,
#payment button[type="submit"].button.alt:active {
    transform: translateY(0);
}


#add_payment_method #payment div.payment_box, 
.woocommerce-cart #payment div.payment_box, 
.woocommerce-checkout #payment div.payment_box {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    padding: 0;
    margin: 0;
    font-size: .92em;
    border-radius: 2px;
    line-height: 1.5;
    background-color: transparent;
    color: #002745;
}

.payment_box.payment_method_intuit_payments_credit_card > p,
#wc-intuit-payments-credit-card-context_field,
#add_payment_method #payment div.payment_box::before, 
.woocommerce-cart #payment div.payment_box::before, 
.woocommerce-checkout #payment div.payment_box::before {
    content: none;
    display: none;
}

.woocommerce-checkout #payment div.payment_box input.input-text {
    border-color: #ADD5F4;
    border-top-color: #ADD5F4;
}

.order-totals {
    color: rgb(0 39 69 / 62%);
    font-weight: 600;
    text-transform: uppercase;
    font-family: 'Kanit';
    font-style: italic;
    font-size: 20px;
}

ul#shipping_method {
    list-style: none;
}

ul#shipping_method li:before {
    content: none;
}

.woocommerce ul#shipping_method li label {
    color: #002745;
    font-weight: 600;
    text-transform: uppercase;
    font-family: 'Kanit';
    font-style: italic;
    font-size: 20px;
}

ul#shipping_method li label {
    margin-left: 5px;
}

p.woocommerce-shipping-destination {
    display: inline-block;
    font-size: 20px;
}

p.woocommerce-shipping-destination strong {
    margin-left: 5px;
}

.woocommerce ul#shipping_method > li:last-child label {
    display: inline-block !important;
}

.shipping-calculator-button {
    display: inline-block;
    text-align: right;
    width: 100%;
}

form.woocommerce-shipping-calculator {
    float: right;
}

/* Responsive Styles for Payment Section */
@media (max-width: 767px) {
    #payment.woocommerce-checkout-payment {
        padding: 25px 20px 30px;
        border-radius: 12px;
    }

    #payment.woocommerce-checkout-payment:before {
        font-size: 22px;
    }

    #payment .payment_box .wc-credit-card-form-card-cvc,
    #payment .payment_box .wc-credit-card-form-card-expiry {
        width: 100%;
        display: block;
        margin-right: 0;
    }

    #payment #place_order,
    #payment button[type="submit"].button.alt {
        width: 100%;
        padding: 14px 30px;
    }
}

@media (min-width: 768px) {
    #payment .payment_box .form-row-first,
    #payment .payment_box .form-row-last {
        width: calc(50% - 10px);
        display: inline-block;
        vertical-align: top;
    }

    #payment .payment_box .form-row-first {
        margin-right: 20px;
    }
}