.featured-grid,
.posts-grid,
.footer-main,
.category-wrap,
.single-wrap {
  width: calc(100% - 48px);
  margin-right: auto;
  margin-left: auto;
}

.featured-grid,
.posts-grid,
.footer-main {
  max-width: 1440px;
}

.category-wrap {
  max-width: 1440px;
}

.single-wrap {
  max-width: 1440px;
}

.single-layout {
  grid-template-columns: minmax(0, 2fr) minmax(300px, .9fr);
  gap: clamp(24px, 3.5vw, 52px);
}

.category-layout {
  grid-template-columns: minmax(0, 1fr) minmax(250px, 300px);
  gap: clamp(20px, 2.2vw, 32px);
}

.category-page .category-wrap,
.single-page .single-wrap {
  max-width: 1440px;
}

.category-page .footer-main,
.single-page .footer-main {
  width: calc(100% - 48px);
  max-width: 1440px;
}

.single-page .footer-main {
  grid-template-columns: minmax(0, 1.2fr) minmax(120px, .6fr) minmax(0, 1.4fr);
  gap: clamp(32px, 6vw, 90px);
}

.contact-page .site-header {
  border-bottom: 1px solid #eee;
}

img {
  object-fit: contain !important;
  object-position: center;
}

.featured-card {
  height: auto;
}

.featured-image-link,
.post-image,
.article-image-wrap > a:first-child {
  height: auto;
  aspect-ratio: auto;
}

.featured-image-link img,
.post-image img,
.article-image {
  display: block;
  width: 100%;
  height: auto;
}

.sidebar-gallery img {
  height: auto;
  aspect-ratio: auto;
}

.post-image:hover img,
.article-image-wrap:hover .article-image {
  transform: none !important;
}

@media (max-width: 1020px) {
  .featured-grid,
  .posts-grid,
  .footer-main {
    width: calc(100% - 40px);
  }

  .single-layout {
    grid-template-columns: minmax(0, 2fr) minmax(230px, .9fr);
    gap: 22px;
  }
}

@media (max-width: 740px) {
  .featured-grid,
  .posts-grid,
  .footer-main,
  .category-wrap,
  .single-wrap {
    width: calc(100% - 32px);
  }

  .category-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .single-layout {
    display: flex;
    flex-direction: column;
  }

  .single-page .footer-main {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }

  .single-page .footer-recent {
    grid-column: auto;
  }

  .single-page .footer-recent .recent-post {
    grid-template-columns: 70px minmax(0, 1fr);
  }
}
