/* ============================================================
   APEX BLOG POST GRID WIDGET — Section 4 (grid + pagination)
   ============================================================ */

.apex-grid-wrap{
  font-family:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  position:relative;
}

.apex-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:24px;
}
.apex-grid.is-loading{
  opacity:.45;
  pointer-events:none;
  transition:opacity .15s ease;
}

.apex-grid-card{
  background:#fff;
  border:1px solid #e4ebf2;
  border-radius:14px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:box-shadow .2s ease, transform .2s ease;
}
.apex-grid-card:hover{
  box-shadow:0 8px 24px rgba(7,55,98,.08);
  transform:translateY(-2px);
}

.apex-grid-card__media{
  display:block;
  aspect-ratio:8/5;
  background:#dfe9f0;
}
.apex-grid-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.apex-grid-card__media-placeholder{
  display:block;
  width:100%;
  height:100%;
}

.apex-grid-card__body{
  padding:20px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}

.apex-grid-card__meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.apex-grid-card__meta .apex-tag--sm{
  padding:4px 9px;
  font-size:10px;
}
.apex-grid-card__min{
  font-size:12px;
  color:#7b8ca1;
}

.apex-grid-card__title{
  margin:0;
  font-family:'Fraunces',Georgia,'Times New Roman',serif;
  font-weight:600;
  font-size:19px;
  line-height:1.25;
  color:#073762;
}
.apex-grid-card__title a{
  color:inherit;
  text-decoration:none;
}

.apex-grid-card__excerpt{
  margin:0;
  font-size:13.5px;
  line-height:1.55;
  color:#5a6b7f;
}

.apex-grid-card__date{
  margin-top:auto;
  padding-top:12px;
  font-size:11.5px;
  color:#8b9aac;
}

.apex-grid-empty{
  grid-column:1 / -1;
  text-align:center;
  padding:40px 20px;
  color:#7b8ca1;
  font-size:14px;
}

.apex-grid-pagination{
  padding-top:32px;
}

.apex-pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
}
.apex-pager__btn{
  appearance:none;
  cursor:pointer;
  min-width:44px;
  height:44px;
  border-radius:9px;
  background:#fff;
  border:1px solid #dde5ed;
  color:#44546a;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size:14px;
  font-weight:500;
  font-family:inherit;
  padding:0 12px;
  transition:border-color .16s ease,color .16s ease,background-color .16s ease;
}
.apex-pager__btn:hover{
  border-color:#006dbd;
  color:#006dbd;
}
.apex-pager__btn.is-current{
  background:#006dbd;
  border-color:#006dbd;
  color:#fff;
  font-weight:600;
  cursor:default;
}
.apex-pager__dots{
  min-width:28px;
  color:#8b9aac;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

@media (max-width:1024px){
  .apex-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:560px){
  .apex-grid{ grid-template-columns:1fr; gap:18px; }
  .apex-grid-card__body{ padding:16px; }
  .apex-pager__btn{ min-width:38px; height:38px; padding:0 8px; font-size:13px; }
}
