

/* ---------- LAYOUT ---------- */
.cards-container {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
  padding: 20px;
  max-width: 1400px;
  margin: 0 auto;
}

/* ---------- CARD ---------- */
.card {
    background: #fff;
    width: 280px;
    height: 480px;
    border-radius: 16px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: transform 0.3s ease;
    position: relative;
    display: flex;
    overflow: hidden;
    flex-direction: column;
}

.card:hover {
  transform: translateY(-5px);
}

/* ---------- IMAGE ---------- */
.card-image {
  position: relative;
}

.card-image img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.tag {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #6b5df6;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 20px;
}

.design {
  background-color: #3d7af7;
}

.development {
  background-color: #7c53f5;
}

/* ---------- CONTENT ---------- */
.card-content {
   padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
}

.card-content h3 {
   font-size: 18px;
    font-weight: 600;
    color: #222;
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 4; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    text-align: left;
}

.card-content p {
  font-size: 14px;
  color: #666;
  line-height: 1.6;
  text-align: left;
}

/* ---------- FOOTER ---------- */
.card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    margin-bottom: 10px;
    
}

.author {
  display: flex;
  align-items: center;
  gap: 10px;
}

.author img {
  width: 35px;
  height: 35px;
  border-radius: 50%;
}

.author h4 {
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  text-align: left;
}

.author span {
  font-size: 12px;
  color: #888;
}
.card-footer .author div {
    display: flex;
    flex-direction: column; 
    align-items: flex-start; 
}

.card-footer .author div span {
    text-align: left;
    display: block;  
}

.btn {      
  padding: 0.6rem 1.5rem !important;    
  outline: none !important;    
  border: none !important;    
  font-weight: 500 !important;    
  color: #ffffff !important;    
  background-color: #65A5DC !important;    
  border-radius: 5px !important;    
  cursor: pointer !important;    
  transition: 0.3s !important;    
  text-align: center !important;    
  text-decoration: none !important;  
  display: inline-block !important;  
}      
      
.btn:hover {      
  background-color: #5291c8 !important;     
}      
      
.btn .btn-full {      
  width: 100% !important;      
  display: block !important;      
  text-align: center !important;     
}
