.sh-product-variations-form {
    display: flex;
    flex-direction: column;
    gap: 10px;

    .sh-product-variation {
        display: flex;
        flex-direction: column;
        border-radius: 16px;
        border: 2px solid #DDD;
        background: #F8F8F8;
        padding: 16px;
        cursor: pointer;


        .sh-variation-meta {
            display: grid;
            grid-template-columns: auto 100px;
            gap: 20px;
            margin-bottom: 4px;

            .sh-product-variation_info {
                display: flex;
                flex-direction: column;

                strong {
                    font-size: 18px;
                    font-weight: 700;
                }
            }

            .sh-product-variation_price {
                display: flex;
                justify-content: end;
                font-size: 18px;
                font-weight: 700;
                font-family: var(--e-global-typography-primary-font-family);

                * {
                    font-family: var(--e-global-typography-primary-font-family);
                }

                .prefix {
                    margin-right: 4px;
                }
            }
        }

        &:has(input:checked) {
            border: 2px solid var(--e-global-color-secondary);

            .sh-variation-meta {

                .sh-product-variation_price {
                    color: var(--e-global-color-secondary);
                }
            }
        }


        .sh-product-variation_description {
            font-size: 16px;
        }

        .sh-coupon-amount {
            display: grid;
            grid-template-rows: 0fr;
            transition: grid-template-rows .25s ease;

            .sh-coupon-amount_inner {
                display: flex;
                flex-direction: column;
                gap: 6px;
                overflow: hidden;
            }

            .sh-coupon-amount_field {
                display: flex;
                align-items: center;
                gap: 8px;

                input {
                    max-width: 140px;
                    border-radius: 12px;
                    border: 1px solid #DDD;
                    background: #F8F8F8;
                }

                .sh-coupon-amount_currency {
                    font-weight: 700;
                }
            }
        }

        &:has(input.sh-product-variation:checked) .sh-coupon-amount {
            grid-template-rows: 1fr;
            margin-top: 16px;

        }


    }

    .sh-coupon-message {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin-top: 16px;

        label {
            color: #6B6B6B;
            font-size: 16px;
            font-style: normal;
            font-weight: 400;
            line-height: 150%;
        }

        textarea {
            border-radius: 12px;
            border: 1px solid #DDD;
            background: #F8F8F8;
        }
    }
}

.sh-product-variation-popup {
    position: fixed;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, .2);
    backdrop-filter: blur(2px);
    z-index: 9999;
    padding: 50px;

    @media(max-width: 1024px) {
        padding: 40px;
    }

    @media(max-width: 767px) {
        padding: 20px;
    }

    .sh-product-variation-popup_content {
        display: flex;
        flex-direction: column;
        background: #fff;
        border-radius: 20px;
        padding: 50px 32px 32px 32px;
        width: 100%;
        max-width: 500px;
        position: relative;
        gap: 20px;

        h2 {
            font-size: 20px;
        }

        @media(max-width: 767px) {
            padding: 40px 20px 20px 20px;

        }

        .sh-close-popup {
            position: absolute;
            top: 20px;
            right: 20px;
            cursor: pointer;
        }

        .sh-product-variation-popup_header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 10px;

            h2 {
                margin: 0;
            }

            @media(max-width: 767px) {
                flex-direction: column;
                align-items: start;
            }

            a {
                color: var(--e-global-color-secondary);
                text-decoration: underline;
            }
        }
    }
}