/* BLOCK (container, scroller, arrows) */
.block-card {
  background: transparent;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  box-sizing: border-box;
  max-width: 100%;  /* Ensure it doesn't exceed viewport */
}

/* The block's scroll viewport */
.projects-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;              /* clip overspill */
  padding-inline: 0;             /* no arrows, no extra padding */
  box-sizing: border-box;
  overscroll-behavior-inline: contain;
}

/* Horizontal scroller constrained to block width */
.projects-grid {
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-wrap: nowrap;
  gap: var(--spacing-md);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  padding-block: 8px;
  box-sizing: border-box;

  /* Snapping & stable scrollbar */
  scroll-snap-type: x mandatory;
  scrollbar-gutter: stable both-edges;
}

/* Scrollbar styling (optional) */
.projects-grid::-webkit-scrollbar { height: 8px; }
.projects-grid::-webkit-scrollbar-thumb { background: var(--secondary-color); border-radius: 4px; }
.projects-grid::-webkit-scrollbar-track { background: var(--bg-light); }

/* Navigation arrows (inside the block) */
.scroll-btn {
  display: none;                 /* arrows removed */
}
.scroll-btn.left  { left: 0; }
.scroll-btn.right { right: 0; }
.scroll-btn:hover { transform: none; }

/* Responsive block sizing */
@media (max-width: 768px) {
  .block-card { width: 100%; }
  .projects-wrapper { padding-inline: 0; }
}
@media (max-width: 480px) {
  .block-card { width: 100%; }
  .projects-wrapper { padding-inline: 0; }
}

/* ✅ Constrain project cards inside the scroller so they fit within the screen */
/* Ensure project figures use their own width rules */
.projects-grid .project-card { box-sizing: border-box; }

/* Center block name and description */
.block-title {
  text-align: center;
  font-size: var(--font-size-h2);
  font-family: var(--font-primary);
  color: var(--accent-color);
  margin-bottom: var(--spacing-sm);
  margin-top: var(--spacing-xl);
}

.block-description {
  text-align: center;
  color: var(--text-light);
  margin-bottom: var(--spacing-sm);
}