/* shopping関係 */
.shop-area {
    display: flex;
    height: 100%;
    flex-direction: column
}

.shop-page {
    min-height: 0;
    min-width: 0;
    width: 100%;
    height: 100%;
}

.shop-root {
    min-height: 0;
    min-width: 0;
    width: 100%;
    height: 100%;
}

.shop-main-body {
    flex: 1;
    display: flex;
    min-height: 0;
    min-width: 0;
    width: 100%;
    height: 100%;
}

/* 左情報 */
.shop-menu-body {
    overflow-y: auto;
    height: 100%;
    width: 300px;
}

/* 本体 */
.shop-list-body {
    height: 100%;
    flex: 1;
}

    .shop-list-body .shop-list {
        min-height: 0;
        min-width: 0;
        overflow-y: auto;
        height: 100%;
        width: 100%;
    }

        .shop-list-body .shop-list .product-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, 295px);
            gap: 1rem;
            /*justify-content: center;*/
            justify-content: start;
        }

.product-image-wrapper {
    cursor: pointer;
    display: flex;
    justify-content: center; /* 横中央 */
    align-items: center; /* 縦中央 */
}


.product-image {
    width: 180px;
    height: 150px;
    object-fit: contain; /* 縦横比維持 */
    object-position: center; /* 念のため中央指定 */

    background-color: #fff; /* 余白を白に */
    display: block;
}

@media (max-width: 768px) {
    .shop-list-body .shop-list {
        overflow-y: auto;
        /* Chrome / Safari / Edge */
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE / Edge legacy */
    }

        .shop-list-body .shop-list::-webkit-scrollbar {
            display: none; /* Chrome / Safari */
        }

     /*   .shop-list-body .shop-list .product-grid {
            grid-template-columns: repeat(auto-fit, 199px);
            gap: 0.5rem;
        }*/


        .shop-list-body .shop-list .product-grid {
            grid-template-columns: repeat(1, 1fr);
        }


  /*  .product-image {
        width: 175px;
        height: 160px;
    }*/


    .product-image {
        width: 100%;
        height: 140px;
    }

}

.product-name {
    width: 100%;
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* ← 2行まで */
    -webkit-box-orient: vertical;
    overflow: hidden;

    line-height: 1.4;
    min-height: calc(1.4em * 2); /*２行の高さ固定*/
}

    .product-name:hover {
        text-decoration: underline;
        /*-webkit-line-clamp: unset;*/
    }

/*価格などGrid*/
.spec-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 8px;
}

.spec-label {
    color: #6c757d; 
}

.spec-value {
    font-weight: bold;
    text-align: right;
}

.card {
    border: 0;    
}

@media (max-width: 768px) {
    .card {
        border-bottom: 1px solid #dee2e6;
        border-radius: 0;
        padding: 20px 0;
    }
}

/*カート本体*/
.cart-main {
    height: 100%;
    display: flex;
    min-height: 0;
    min-width: 0;
    flex-direction: column;
}

/*左本体*/
.cart-page-card-body {
    display: flex;
    height: 100%;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    flex-direction: column;
    overflow-y: auto;
}

    .cart-page-card-body .cart-card-grid {
        width: 100%;
        min-width: 0;
        display: grid;
        grid-template-columns: 1fr; /* スマホは1カラム */
        gap: 1rem;
        overflow: visible;
    }

@media (min-width: 992px) { /* lg以上 */
    .cart-main {
        min-width: 0;
        flex-direction: row;
        gap: 2rem;
    }

    .cart-page-card-body {
        height: 100%;
        overflow-y: hidden;
    }

        .cart-page-card-body .cart-card-grid {
            height: 100%;
            align-items: start;
            align-content: start;
            grid-template-columns: repeat(auto-fit, 540px);
            justify-content: center;
            min-width: 0;
            gap: 2rem;
            overflow-y: auto;
        }
}

/*右メニュー*/
.cart-navimenu {
    width: 100%;
}

@media (min-width: 992px) { /* lg以上 */
    .cart-navimenu {
        flex: 0 0 350px;
        overflow-y: auto;
        min-height: 0;
    }
}

/*カード*/
.hp-cart-card {
    display: flex;
    width: 100%;
    align-items: flex-start;
    min-width: 0;
    gap: 1rem;
    border-bottom: 1px solid #ccc;
    padding-bottom:0.5rem;    
}

    .hp-cart-card .card-image {
        width: 150px;
        height: 150px;
        object-fit: contain; /* 縦横比維持 */
        object-position: center; /* 念のため中央指定 */
        flex-shrink: 0;
        background-color: #fff; /* 余白を白に */
        display: block;
    }

    .hp-cart-card .card-cart-body {
        display: flex;
        gap: 1rem;
        min-width: 0;
        width: 100%;
        flex: 1;
    }

        .hp-cart-card .card-cart-body .product-detail {
            display: flex;
            flex-direction: column;
            flex-grow: 1;
            min-width: 0;
        }

.card-cart-body .cart-right-menu {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    width: 130px;
}


@media (max-width: 768px) {
    .hp-cart-card .card-image {
        width: 120px;
        height: 120px;
    }

    .hp-cart-card .card-cart-body {
        flex-direction: column;
    }

        .hp-cart-card .card-cart-body .pq_controls {
            align-items: flex-end;
        }

        .hp-cart-card .card-cart-body .pq_price {
            text-align: right;
        }
}
