.blog-pagination {
  --blog-pagination-blue: #2457e6;
  --blog-pagination-border: #dfe5f0;
  --blog-pagination-ink: #121a2d;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 52px;
}

.home-template .blog-pagination {
  margin-bottom: 52px;
}

.blog-pagination-pages {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.blog-pagination-pages a,
.blog-pagination-current,
.blog-pagination-ellipsis {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--blog-pagination-border);
  border-radius: 11px;
  background: #fff;
  color: #37435c;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.blog-pagination-pages a:hover {
  border-color: #9db4ed;
  color: var(--blog-pagination-blue);
}

.blog-pagination-current {
  border-color: var(--blog-pagination-blue);
  background: var(--blog-pagination-blue);
  color: #fff;
  box-shadow: 0 8px 20px rgba(36, 87, 230, 0.22);
}

.blog-pagination-ellipsis {
  border-color: transparent;
  background: transparent;
  color: #8490a7;
}

.blog-pagination-direction {
  display: inline-flex;
  min-width: 112px;
  height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 15px;
  border: 1px solid var(--blog-pagination-border);
  border-radius: 11px;
  background: #fff;
  color: var(--blog-pagination-ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.blog-pagination-direction:not(.blog-pagination-disabled):hover {
  transform: translateY(-1px);
  border-color: #9db4ed;
  color: var(--blog-pagination-blue);
}

.blog-pagination-disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.blog-pagination a:focus-visible {
  outline: 3px solid rgba(245, 109, 37, 0.45);
  outline-offset: 3px;
}

@media (max-width: 680px) {
  .blog-pagination {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px;
  }

  .blog-pagination-direction {
    min-width: 0;
    flex: 1 1 calc(50% - 6px);
  }

  .blog-pagination-pages {
    order: 3;
    width: 100%;
  }
}

@media (max-width: 390px) {
  .blog-pagination-pages {
    gap: 4px;
  }

  .blog-pagination-pages a,
  .blog-pagination-current,
  .blog-pagination-ellipsis {
    width: 38px;
    height: 38px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .blog-pagination *,
  .blog-pagination *::before,
  .blog-pagination *::after {
    transition-duration: 0.01ms !important;
  }
}
