:root{
  --ink:#0c0e14;
  --muted:#5a5f72;
  --line:#dde1ea;
  --accent:#d4400a;
  --accent-h:#b83208;
  --blue:#1a4fa8;
  --green:#1a7a2a;
}

/* Grid container */
.jshop.list_product .row-fluid{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}

/* Card wrapper (one grid item) */
.sblock4{ display:flex; }
.block_product{ width:100%; }

/* The card itself */
.product{
  border:1px solid var(--line);
  border-radius:5px;
  background:#fff;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  height:100%;
  box-shadow:0 1px 3px rgba(12,14,20,.06);
  transition:.15s;
}
.product:hover{
  border-color:var(--blue);
  box-shadow:0 6px 20px rgba(26,79,168,.1);
}

/* Image */
.product .image_block{ display:block; }
.product .jshop_img{
  width:100%;
  height:150px;
  object-fit:cover;
  display:block;
}

/* Title */
.product .name{
  order:2;
  padding:14px 16px 0;
}
.product .name a{
  font-size:16px;
  font-weight:700;
  color:var(--ink);
  line-height:1.3;
}
.product .name a:hover{ color:var(--blue); }

/* Card body (everything under the title) */
.product .oiproduct{
  order:3;
  padding:8px 16px 18px;
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1;
}

/* Availability line */
.product .block_available{
  font-size:12.5px;
  color:var(--green);
  display:flex;
  align-items:center;
  gap:6px;
  order:-1;
}
.product .block_available::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
  flex-shrink:0;
}

/* Price row */
.product .old_price{
  font-size:13px;
  color:var(--muted);
  text-decoration:line-through;
  display:inline;
}
.product .old_price span{ font-weight:400; }
.product .jshop_price{
  font-size:20px;
  font-weight:700;
  color:var(--accent);
  display:inline-block;
  margin-left:8px;
}
.product .jshop_price span{ color:inherit; }

/* Hide empty Joomla placeholders */
.product .price_extra_info:empty,
.product .extra_fields:empty{ display:none; }

/* Description */
.product .description{
  font-size:13.5px;
  color:var(--muted);
  line-height:1.55;
  flex:1;
}

/* Button */
.product .buttons{ margin-top:6px; }
.product .btn.btn-primary.button_detail{
  display:inline-block;
  background:var(--accent);
  color:#fff;
  padding:9px 16px;
  border-radius:5px;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
}
.product .btn.btn-primary.button_detail:hover{
  background:var(--accent-h);
  color:#fff;
}

width: 25%;