/* Bizgrow Product Loop - Frontend */
.bplm-loop {
    display:grid;
    grid-template-columns:repeat(var(--bplm-desktop), minmax(0, 1fr));
    gap:var(--bplm-gap);
    width:100%;
    box-sizing:border-box;
}
.bplm-card {
    background:#fff;
    border:1px solid #e7e7e7;
    border-radius:var(--bplm-radius);
    overflow:hidden;
    box-shadow:0 3px 14px rgba(0,0,0,.055);
    display:flex;
    flex-direction:column;
    min-width:0;
    height:100%;
    box-sizing:border-box;
}
.bplm-image {
    display:block;
    position:relative;
    height:var(--bplm-image-height);
    overflow:hidden;
    background:#fff;
}
.bplm-image img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
    transition:transform .35s ease;
}
.bplm-card:hover .bplm-image img {
    transform:scale(1.035);
}
.bplm-sale-badge {
    position:absolute;
    top:12px;
    right:12px;
    background:#129c88;
    color:#fff;
    padding:6px 10px;
    border-radius:999px;
    font:700 11px/1.1 Arial,sans-serif;
    letter-spacing:.3px;
}
.bplm-card-body {
    padding:20px 20px 18px;
    display:flex;
    flex-direction:column;
    flex:1;
}
.bplm-title {
    margin:0;
    font-size:18px;
    line-height:1.45;
    font-weight:700;
    min-height:52px;
}
.bplm-title a {
    color:#171717;
    text-decoration:none;
}
.bplm-title a:hover { color:var(--bplm-button); }
.bplm-description {
    margin-top:9px;
    color:#666;
    font-size:13px;
    line-height:1.5;
}
.bplm-description p { margin:0; }
.bplm-divider {
    height:1px;
    background:#ececec;
    margin:15px 0 13px;
}
.bplm-price-row {
    display:flex;
    align-items:flex-end;
    gap:9px;
    min-height:45px;
}
.bplm-price {
    display:flex;
    flex-direction:column;
    line-height:1.1;
}
.bplm-price del {
    color:#999;
    font-size:12px;
    margin-bottom:4px;
}
.bplm-price del .woocommerce-Price-amount {
    font-size:12px;
}
.bplm-price strong {
    color:var(--bplm-price);
    font-size:25px;
    line-height:1.05;
    font-weight:800;
}
.bplm-current-label {
    color:var(--bplm-button);
    font-size:11px;
    font-weight:800;
    letter-spacing:.5px;
    padding-bottom:2px;
}
.bplm-order-button {
    margin-top:18px;
    min-height:43px;
    padding:10px 15px;
    box-sizing:border-box;
    border-radius:10px;
    background:var(--bplm-button);
    color:#fff !important;
    text-decoration:none !important;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    font-size:13px;
    font-weight:800;
    letter-spacing:.25px;
    transition:background .2s ease, transform .2s ease;
}
.bplm-order-button:hover {
    background:var(--bplm-button-hover);
    color:#fff !important;
    transform:translateY(-1px);
}
.bplm-order-button svg {
    width:14px;
    height:14px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.bplm-empty,
.bplm-notice {
    padding:20px;
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:12px;
}
@media (max-width: 1024px) {
    .bplm-loop { grid-template-columns:repeat(var(--bplm-tablet), minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .bplm-loop { grid-template-columns:repeat(var(--bplm-mobile), minmax(0, 1fr)); gap:max(10px, calc(var(--bplm-gap) * .65)); }
    .bplm-card-body { padding:14px 13px 14px; }
    .bplm-image { height:min(var(--bplm-image-height), 190px); }
    .bplm-title { font-size:14px; line-height:1.4; min-height:40px; }
    .bplm-price strong { font-size:20px; }
    .bplm-price del { font-size:11px; }
    .bplm-price del .woocommerce-Price-amount { font-size:11px; }
    .bplm-current-label { font-size:8px; }
    .bplm-order-button { margin-top:13px; min-height:40px; padding:8px 8px; font-size:11px; border-radius:8px; }
    .bplm-sale-badge { top:8px; right:8px; padding:5px 7px; font-size:9px; }
}
