/* Blog: listing, post page, latest posts on the home pages.
   Not part of the Webflow export — sizes from Figma "Blog&FaQ" (d-blog, d-blog-article, d-main / m-*). */

/* Fixed navbar is transparent on the dark landing; blog pages are white. */
.blog-page .navbar-2 {
  background-color: #17181c;
}

/* ---------- Cards ---------- */

.blog-card {
  display: flex;
  flex-direction: column;
  gap: 24px;
  color: inherit;
  text-decoration: none;
}

.blog-card__cover {
  height: 334px;
  overflow: hidden;
  border-radius: 20px;
  background-color: #f9f9f9;
}

.blog-card__cover img,
.post__cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-card__text {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.blog-card__title {
  margin: 0;
  color: #17181c;
  font-family: "Exo 2", sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: .44px;
}

.blog-card:hover .blog-card__title {
  text-decoration: underline;
}

.blog-meta {
  display: flex;
  gap: 8px;
  color: #84828a;
  font-family: "Exo 2", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: .32px;
  white-space: nowrap;
}

.blog-card--featured,
.blog-card--dark {
  flex: 0 1 588px;
}

.blog-card--grid .blog-card__cover {
  height: 232px;
}

.blog-card--grid .blog-card__title {
  color: #3f3f3f;
}

.blog-card--grid .blog-meta {
  color: #a3a3a3;
}

.blog-card--related {
  flex: 0 0 384px;
}

.blog-card--related .blog-card__cover {
  height: 192px;
}

.blog-card--dark .blog-card__title {
  color: #e2e3e7;
}

/* ---------- Hero ("Blog" strip) ---------- */

.blog-hero {
  position: relative;
  height: 246px;
  padding: 0 20px;
  overflow: hidden;
  background-color: #17181c;
}

.blog-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/images/blog-hero-bg.webp") center 40% / cover no-repeat;
  opacity: .3;
}

.blog-hero__container {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 112px;
}

.blog-hero__title {
  margin: 0;
  color: #e2e3e7;
  font-family: "Exo 2", sans-serif;
  font-size: 52px;
  font-weight: 500;
  line-height: 62px;
  letter-spacing: 1.04px;
}

.blog-hero--mobile-only {
  display: none;
}

/* ---------- Listing ---------- */

.blog-list {
  padding: 60px 20px 120px;
  background-color: #fff;
}

.blog-list__container {
  display: flex;
  flex-direction: column;
  gap: 60px;
  max-width: 1200px;
  margin: 0 auto;
}

.blog-list__featured {
  display: flex;
  gap: 24px;
  padding-bottom: 60px;
}

.blog-list__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}

/* ---------- Post ---------- */

.post {
  padding: 116px 20px 120px; /* 56px fixed navbar + 60px */
  background-color: #fff;
}

.post__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  max-width: 996px;
  margin: 0 auto;
}

.post__header,
.post__body {
  width: 100%;
  max-width: 792px;
}

.post__header {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.post__title {
  margin: 0;
  color: #17181c;
  font-family: "Exo 2", sans-serif;
  font-size: 48px;
  font-weight: 500;
  line-height: 56px;
  letter-spacing: .96px;
}

.post__header .blog-meta {
  color: #a3a3a3;
}

.post__cover {
  width: 100%;
  aspect-ratio: 996 / 601;
  overflow: hidden;
}

.post__body {
  color: #17181c;
  font-family: "Exo 2", sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.5;
}

.post__body h2 {
  margin: 60px 0 32px;
  font-size: 32px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: .64px;
}

.post__body > :first-child {
  margin-top: 0;
}

.post__body p,
.post__body ul,
.post__body ol {
  margin: 0;
}

.post__body a {
  color: inherit;
}

.post__body img {
  max-width: 100%;
  height: auto;
}

/* ---------- "You may also enjoy" ---------- */

.post-related {
  padding: 0 20px 120px;
  background-color: #fff;
}

.post-related__section {
  display: flex;
  flex-direction: column;
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 60px;
  border-top: 1px solid #84828a;
}

.post-related__title {
  color: #17181c;
  font-family: "Exo 2", sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.5;
}

.post-related__posts {
  display: flex;
  gap: 24px;
}

/* ---------- Latest posts on the home pages ---------- */

.section-blog-home {
  padding: 100px 20px;
}

.blog-home__wrapper {
  display: flex;
  flex-direction: column;
  gap: 48px;
  max-width: 1200px;
  margin: 0 auto;
}

.blog-home__header {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.blog-home__heading {
  text-align: left;
}

.blog-home__posts {
  display: flex;
  gap: 24px;
}

.blog-home__button {
  display: flex;
  justify-content: center;
  padding-top: 24px;
}

/* ---------- Tablet ---------- */

@media screen and (max-width: 991px) {
  .blog-list__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .blog-card__cover {
    height: auto;
    aspect-ratio: 588 / 334;
  }

  .blog-card--related .blog-card__cover {
    height: 192px;
    aspect-ratio: auto;
  }
}

/* ---------- Mobile ---------- */

@media screen and (max-width: 767px) {
  .blog-page .navbar-2 {
    background-color: #03060a;
  }

  .blog-hero {
    height: 100px;
    margin-top: 56px;
    padding: 0 12px;
  }

  .blog-hero--mobile-only {
    display: block;
  }

  .blog-hero__container {
    padding-top: 34px;
  }

  .blog-hero__title {
    font-size: 24px;
    line-height: normal;
    letter-spacing: .48px;
  }

  .blog-card__cover,
  .blog-card--grid .blog-card__cover,
  .blog-card--related .blog-card__cover {
    height: 240px;
    aspect-ratio: auto;
  }

  .blog-card--featured,
  .blog-card--dark {
    flex: none;
  }

  .blog-list {
    padding: 60px 12px;
  }

  .blog-list__container,
  .blog-list__featured {
    gap: 48px;
  }

  .blog-list__featured {
    flex-direction: column;
    padding-bottom: 0;
  }

  .blog-list__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 48px;
  }

  .post {
    padding: 24px 12px 60px;
  }

  .post__title {
    font-size: 24px;
    line-height: normal;
    letter-spacing: .48px;
  }

  .post__cover {
    aspect-ratio: 351 / 222;
  }

  .post__body h2 {
    margin: 60px 0 24px;
    font-size: 20px;
    letter-spacing: .4px;
  }

  .post-related {
    padding: 0 12px 60px;
  }

  .post-related__section {
    padding-top: 60px;
  }

  .post-related__title {
    font-size: 24px;
  }

  .post-related__posts {
    margin-right: -12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .blog-card--related {
    flex: 0 0 311px;
    scroll-snap-align: start;
  }

  .section-blog-home {
    padding: 60px 12px;
  }

  .blog-home__header {
    gap: 24px;
  }

  .blog-home__heading {
    font-size: 32px;
  }

  .blog-home__posts {
    flex-direction: column;
    gap: 48px;
  }
}
