


.section { margin-top: 56px; }


.page-hero--programs .page-hero__featured { align-self: center; }
.page-hero--programs .card-program { width: 340px; }


.programs-toolbar { margin-top: 80px; padding-block: 20px; }

.programs-toolbar__row { margin-bottom: 10px; }
.programs-toolbar .cat-tabs { max-width: 100%; scrollbar-width: thin; scrollbar-color: var(--color-primary) transparent; }
.programs-toolbar .cat-tabs::-webkit-scrollbar { display: block; height: 4px; }
.programs-toolbar .cat-tabs::-webkit-scrollbar-thumb { background: var(--color-primary); border-radius: 4px; }


.programs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(380px, 100%), 1fr));
  gap: 25px;
  margin-top: 40px;
  scroll-margin-top: 96px;
}
.programs-grid .card-program { min-width: 0; }

@media (max-width: 1023px) {
  .programs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 767px) {
  .programs-grid { grid-template-columns: minmax(0, 1fr); }
}

.programs-pagination { margin-top: 20px; }

.programs-insert { margin-top: 56px; }


.programs-doctors {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(560px, 100%), 1fr));
  gap: 20px;
}
.programs-doctors .card-doctor { min-width: 0; }


@media (max-width: 1023px) {
  .programs-toolbar { margin-top: 56px; }
  .page-hero--programs .page-hero__featured { align-self: stretch; }
  .page-hero--programs .card-program { width: 100%; }
  .page-hero--programs .card-program .card__media { height: 220px; }
}
@media (max-width: 767px) {
  .programs-toolbar { margin-top: 40px; padding-block: 12px; }
  .programs-grid { margin-top: 28px; }
  .section { margin-top: 40px; }
  .page-hero--programs .card-program .card__media { height: 180px; }
  
  .page-hero--programs .page-stats { flex-wrap: nowrap; gap: 14px; }
  .page-hero--programs .page-stats__item {
    flex: 1;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
    justify-content: center;
    text-align: center;
    white-space: normal;
  }
  .page-hero--programs .page-stats__num { font-size: 18px; }
  .page-hero--programs .page-stats__divider { display: block; height: 32px; }
}
@media (min-width: 1280px) {
  .programs-toolbar .cat-tabs {
    justify-content: space-between;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
  }
  .programs-toolbar .cat-tabs__tab {
    padding-inline: 8px;
    font-size: 13px;
  }
  .programs-toolbar .cat-tabs__tab--active {
    padding-inline: 0;
    margin-inline: 8px;
  }
}
