.latest-posts {
  padding: 80px 0 80px;
}
@media (max-width: 991px) {
  .latest-posts {
    padding: 40px 0 56px;
  }
}
.latest-posts__header {
  margin-bottom: 80px;
}
@media (max-width: 768px) {
  .latest-posts__header {
    margin-bottom: 40px;
  }
}
@media (max-width: 550px) {
  .latest-posts__header {
    margin-bottom: 24px;
  }
}
.latest-posts__description {
  margin-top: 24px;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 29px;
  letter-spacing: -0.18px;
  max-width: 460px;
}
@media (max-width: 550px) {
  .latest-posts__description {
    margin-top: 16px;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: -0.16px;
  }
}
.latest-posts__filters {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
@media (max-width: 550px) {
  .latest-posts__filters {
    margin-bottom: 24px;
  }
}
.latest-posts__filter {
  padding: 8px 16px;
  border-radius: 8px;
  border: none;
  background: #FEFAF3;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 400;
  color: #17171C;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.latest-posts__filter.is-active {
  background: #17171C;
  color: #fff;
}
.latest-posts__filter:hover:not(.is-active) {
  background: #F9F9FB;
}
@media (max-width: 550px) {
  .latest-posts__filter {
    padding: 8px 16px;
    font-size: 14px;
  }
}
.latest-posts__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 991px) {
  .latest-posts__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .latest-posts__grid {
    grid-template-columns: 1fr;
  }
}
.latest-posts__card {
  display: flex;
  flex-direction: column;
  border: 1px solid #D9D9D9;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  transition: box-shadow 0.25s ease;
}
.latest-posts__card:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}
.latest-posts__card_img_wrap {
  display: block;
  height: 88px;
  overflow: hidden;
  flex-shrink: 0;
}
.latest-posts__card_img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}
.latest-posts__card:hover .latest-posts__card_img {
  transform: scale(1.04);
}
.latest-posts__card_body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 24px;
}
@media (max-width: 768px) {
  .latest-posts__card_body {
    padding: 16px;
  }
}
.latest-posts__card_meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 24px;
}
@media (max-width: 768px) {
  .latest-posts__card_meta {
    margin-bottom: 16px;
  }
}
.latest-posts__card_date {
  color: #666666;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 21px;
}
.latest-posts__card_cat {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  color: #17171C;
  border-radius: 8px;
  padding: 4px 16px;
  white-space: nowrap;
  background: #FEFAF3;
}
.latest-posts__card_title {
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 28px;
  letter-spacing: -0.24px;
  color: #17171C;
  margin-bottom: 16px;
}
@media (max-width: 768px) {
  .latest-posts__card_title {
    font-size: 20px;
    line-height: 24px;
    letter-spacing: -0.2px;
    margin-bottom: 12px;
  }
}
.latest-posts__card_title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.latest-posts__card_title a:hover {
  color: #FF4600;
}
.latest-posts__card_excerpt {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 21px;
  color: #666666;
  margin: 0 0 24px;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.latest-posts__card_authors {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
}
.latest-posts__card_avatars {
  display: flex;
  align-items: center;
}
.latest-posts__card_avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  border: 2px solid #fff;
}
.latest-posts__card_avatar + .latest-posts__card_avatar {
  margin-left: -20px;
}
.latest-posts__card_author_names {
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #17171C;
}
@-webkit-keyframes skeleton-shimmer {
  0% {
    background-position: -400px 0;
  }
  100% {
    background-position: 400px 0;
  }
}
@keyframes skeleton-shimmer {
  0% {
    background-position: -400px 0;
  }
  100% {
    background-position: 400px 0;
  }
}
.latest-posts__skeleton {
  pointer-events: none;
}
.latest-posts__skeleton .latest-posts__skeleton_img,
.latest-posts__skeleton .latest-posts__skeleton_line,
.latest-posts__skeleton .latest-posts__skeleton_avatar {
  background: linear-gradient(90deg, #f0f0f0 25%, #e4e4e4 50%, #f0f0f0 75%);
  background-size: 800px 100%;
  -webkit-animation: skeleton-shimmer 1.4s infinite linear;
          animation: skeleton-shimmer 1.4s infinite linear;
  border-radius: 4px;
}
.latest-posts__skeleton_img {
  height: 88px;
  width: 100%;
  display: block;
  border-radius: 0;
}
.latest-posts__skeleton_meta {
  display: flex;
  justify-content: space-between;
  margin-bottom: 14px;
}
.latest-posts__skeleton_line {
  display: block;
  height: 14px;
  margin-bottom: 10px;
}
.latest-posts__skeleton_author {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
}
.latest-posts__skeleton_avatar {
  width: 32px;
  height: 32px;
  border-radius: 50% !important;
  flex-shrink: 0;
}
.latest-posts__footer {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
@media (max-width: 550px) {
  .latest-posts__footer {
    margin-top: 24px;
  }
}
.latest-posts__more {
  cursor: pointer;
  transition: opacity 0.2s ease;
  border: 1.5px solid !important;
  font-weight: 500 !important;
}
.latest-posts__more.is-hidden {
  display: none;
}
.latest-posts__more.is-loading {
  opacity: 0.6;
  pointer-events: none;
}
.latest-posts__more.is-loading::after {
  content: "";
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  -webkit-animation: lp-spin 0.6s linear infinite;
          animation: lp-spin 0.6s linear infinite;
  flex-shrink: 0;
}
@-webkit-keyframes lp-spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes lp-spin {
  to {
    transform: rotate(360deg);
  }
}
