.FavoriteListContainer {
    .FavoriteItem {
        display: grid;
        gap: 20px;
        grid-template-columns: 110px 1fr 260px;
        align-items: start;

        .ProductImageLink {
            display: block;
            width: 100%;
            aspect-ratio: 1/1;
            border: 1px solid var(--LineColor);
            border-radius: 8px;
            overflow: hidden;
        }

        .ProductImage {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        .ProductInfoBox {
            display: grid;
            gap: 8px;

            .ProductNameLink {
                text-decoration: none;
            }

            .ProductName {
                font-size: 1.1em;
                font-weight: bold;
                color: var(--MainText1);
            }

            .ProductCode,
            .ProductPrice {
                color: var(--MainText2);
            }
        }

        .FavoriteActionBox {
            display: grid;
            gap: 10px;
            justify-items: end;
        }

        .QuantityField {
            display: grid;
            gap: 5px;
            width: 100%;

            .Label {
                font-size: 0.9em;
                color: var(--SubText1);
            }
        }

        .QuantityInput {
            width: 100%;
        }

        .ButtonRow {
            display: grid;
            width: 100%;
            gap: 8px;
            grid-template-columns: 1fr;
        }
    }

    .EmptyMessage {
        display: grid;
        justify-items: center;
        gap: 14px;
        text-align: center;
        color: var(--SubText1);
        padding: 40px 20px;
    }
}

@media screen and (max-width: 900px) {
    .FavoriteListContainer {
        .FavoriteItem {
            grid-template-columns: 90px 1fr;

            .FavoriteActionBox {
                grid-column: 1 / 3;
                justify-items: stretch;
            }
        }
    }
}

.FavoriteListContainer .FavoriteItem .ProductPrice {
    .PriceDisplayStack {
        display: grid;
        gap: 3px;
    }

    .PriceDisplayLabel {
        font-size: 0.74em;
        letter-spacing: 0.03em;
        color: var(--SubText1);
    }

    .PriceDisplayMain {
        font-size: 1.02em;
        font-weight: 700;
        color: var(--MainText1);
        line-height: 1.2;
    }

    .PriceDisplaySub {
        font-size: 0.78em;
        color: var(--SubText1);
        line-height: 1.3;
    }
}
