/* IBS Mod Cards — Final (CSS) */
/* Grid */
.ibs-mod-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(3,1fr);
}
@media (max-width: 1024px){
  .ibs-mod-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 768px){
  .ibs-mod-grid{ grid-template-columns:1fr !important; }
}

/* Card */
.ibs-card{
  background:var(--ibs-card-bg,#ffffff);
  border:1px solid var(--ibs-card-border,#e5e7eb);
  border-radius:8px;
  overflow:hidden;
  color:var(--ibs-card-text,#000000);
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
  position: relative; /* for pinned button */
}
.ibs-card-thumb img{ display:block; width:100%; height:auto; }
.ibs-card-body{ padding:12px; position: relative; padding-bottom: 56px; } /* space for pinned button */

/* Title as black */
.ibs-card-title{ margin:0 0 8px; font-size:1rem; line-height:1.35; }
.ibs-card-title a{ color:var(--ibs-card-text,#000000); text-decoration:none; }
.ibs-card-title a:hover{ text-decoration:underline; }

/* Meta */
.ibs-meta-row{ font-size:.85rem; opacity:.8; margin-bottom:10px; }

/* Actions (pinned bottom-right) */
.ibs-actions{ position:absolute; right:12px; bottom:12px; left:auto; margin:0; }
.ibs-view-btn{
  display:inline-block;
  background:var(--ibs-button-bg,#0b5ed7);
  color:var(--ibs-button-text,#ffffff);
  padding:8px 12px;
  border-radius:6px;
  text-decoration:none;
  font-weight:600;
}
.ibs-view-btn:hover{ filter:brightness(0.95); }

/* Pagination */
.ibs-pagination{
  margin-top:18px;
  display:flex;
  justify-content:center;
  gap:8px;
}
.ibs-pagination a, .ibs-pagination span{
  padding:6px 10px;
  border:1px solid #e5e7eb;
  border-radius:6px;
  text-decoration:none;
  color:#111827;
}
.ibs-pagination .current{
  background:#111827;
  color:#ffffff;
  border-color:#111827;
}

/* === Horizontal Scroller Rows === */
.ibs-scroll-wrap{ margin: 18px 0 8px; }
.ibs-row-title{ margin: 0 0 10px; font-size: 1.125rem; }
.ibs-scroll-row{
  display: flex;
  gap: 18px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 8px;
}
.ibs-scroll-row .ibs-card{
  scroll-snap-align: start;
  flex: 0 0 auto;
  width: clamp(240px, 32vw, 360px);
}
.ibs-scroll-row::-webkit-scrollbar{ height: 8px; }
.ibs-scroll-row::-webkit-scrollbar-track{ background: transparent; }
.ibs-scroll-row::-webkit-scrollbar-thumb{ background: rgba(0,0,0,.1); border-radius: 8px; }

@media (max-width: 768px){
  .ibs-scroll-row .ibs-card{ width: 84vw; }
}
