/* =========================================================
   PRODUCT CARD IMAGE SIDE - 2 COLUMNS V80
   Desktop: 2 card per baris agar gambar produk lebih besar.
   Tablet/mobile tetap responsive.
   ========================================================= */

/* 2 card per baris di desktop */
.products-grid{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:20px !important;
    align-items:stretch;
}

.product-card.product-card-with-image{
    padding:0 !important;
    overflow:hidden;
    display:flex;
    flex-direction:row;
    min-height:255px;
    background:#fff;
    border-radius:15px;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.product-card.product-card-with-image:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 32px rgba(15,43,91,.09);
}

/* -------------------------
   GAMBAR DI SAMPING KIRI
   Dibuat lebih besar karena hanya 2 card per baris
   ------------------------- */
.product-card-media{
    position:relative;
    flex:0 0 43%;
    width:43%;
    min-width:190px;
    min-height:255px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#f4f7fb;
    border-right:1px solid var(--line);
}

.product-card-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    object-position:center;
    padding:12px;
    box-sizing:border-box;
    transition:transform .28s ease;
}

.product-card.product-card-with-image:hover .product-card-media img{
    transform:scale(1.02);
}

.product-card-media-placeholder{
    width:100%;
    height:100%;
    min-height:255px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:#62718f;
    background:
        radial-gradient(circle at 50% 20%, rgba(31,78,167,.08), transparent 45%),
        #f7f9fd;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.02em;
    text-align:center;
    padding:14px;
    box-sizing:border-box;
}

.product-card-placeholder-icon{
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#eaf1ff;
    color:var(--royal);
    font-size:1.35rem;
}

/* -------------------------
   KONTEN KANAN
   ------------------------- */
.product-card-content{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    padding:21px 22px 20px;
}

.product-card-content .idx{
    margin-bottom:12px;
}

.product-card-content h3{
    margin:0 0 9px;
    line-height:1.35;
    font-size:1.05rem;
}

.product-card-content p{
    margin:0 0 18px;
    color:var(--ink-soft);
    line-height:1.6;
    font-size:.88rem;
}

.product-card-content .card-link{
    margin-top:auto;
}

/* Desktop lebar: gambar lebih lega lagi */
@media(min-width:1280px){
    .product-card.product-card-with-image{
        min-height:270px;
    }

    .product-card-media{
        flex-basis:44%;
        width:44%;
        min-height:270px;
    }

    .product-card-media-placeholder{
        min-height:270px;
    }
}

/* Tablet landscape: tetap 2 kolom, sedikit dipadatkan */
@media(max-width:1050px){
    .products-grid{
        gap:16px !important;
    }

    .product-card.product-card-with-image{
        min-height:225px;
    }

    .product-card-media{
        flex-basis:40%;
        width:40%;
        min-width:150px;
        min-height:225px;
    }

    .product-card-media-placeholder{
        min-height:225px;
    }

    .product-card-content{
        padding:17px;
    }
}

/* Tablet portrait / mobile besar: 1 card per baris */
@media(max-width:820px){
    .products-grid{
        grid-template-columns:1fr !important;
    }

    .product-card.product-card-with-image{
        min-height:215px;
    }

    .product-card-media{
        flex:0 0 36%;
        width:36%;
        min-width:150px;
        min-height:215px;
    }

    .product-card-media-placeholder{
        min-height:215px;
    }
}

/* Mobile */
@media(max-width:560px){
    .products-grid{
        gap:14px !important;
    }

    .product-card.product-card-with-image{
        min-height:185px;
    }

    .product-card-media{
        flex:0 0 35%;
        width:35%;
        min-width:112px;
        min-height:185px;
    }

    .product-card-media-placeholder{
        min-height:185px;
    }

    .product-card-content{
        padding:14px 15px;
    }

    .product-card-content .idx{
        margin-bottom:7px;
        font-size:.66rem;
    }

    .product-card-content h3{
        font-size:1rem;
    }

    .product-card-content p{
        font-size:.81rem;
        line-height:1.45;
        margin-bottom:12px;
    }
}

@media(max-width:420px){
    .product-card.product-card-with-image{
        min-height:170px;
    }

    .product-card-media{
        flex-basis:33%;
        width:33%;
        min-width:100px;
        min-height:170px;
    }

    .product-card-media-placeholder{
        min-height:170px;
    }
}
