/* Project 5051 – Related posts (bottom)
   - 3 cards per row
   - default 2 rows visible (6)
   - expand up to 5 rows (15)
*/

.p5051-related-wrap{
  background: var(--cardA);
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: 18px 18px 14px;
  box-shadow: var(--shadow);
}

.p5051-related-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom: 14px;
}

.p5051-related-h{
  font-size: 22px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0;
}

.p5051-related-sub{
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
}

.p5051-related-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 991.98px){
  .p5051-related-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px){
  .p5051-related-grid{ grid-template-columns: 1fr; }
}

.p5051-related-card{
  border-radius: 18px;
  border: 1px solid var(--border);
  background: linear-gradient(135deg, rgba(99,102,241,.10), rgba(34,211,238,.06));
  box-shadow: var(--shadow);
  overflow:hidden;
  transform: translateZ(0);
}

.p5051-related-link{
  display:block;
  color: inherit;
  text-decoration:none;
}

.p5051-related-thumb{
  aspect-ratio: 16/9;
  width: 100%;
  background: linear-gradient(135deg, rgba(99,102,241,.16), rgba(34,211,238,.10));
  overflow:hidden;
}

.p5051-related-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition: transform .35s ease;
}

.p5051-related-thumb-fallback{
  display:block;
  width:100%;
  height:100%;
}

.p5051-related-body{
  padding: 12px 12px 13px;
}

.p5051-related-meta{
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 6px;
}

.p5051-related-title{
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 1.25;
  font-size: 15px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 38px;
}

.p5051-related-cta{
  margin-top: 9px;
  font-size: 13px;
  font-weight: 700;
  color: var(--primary);
}

.p5051-related-card:hover{
  border-color: rgba(99,102,241,.35);
}

.p5051-related-card:hover .p5051-related-thumb img{
  transform: scale(1.05);
}

.p5051-related-actions{
  display:flex;
  justify-content:center;
  margin-top: 14px;
}

/* Collapse rules handled by JS via .is-collapsed class */
.p5051-related-grid.is-collapsed .p5051-related-card[data-idx]:nth-child(n+7){
  display:none;
}
