/* ===========================================================================
   Evara Journal (blog) styles
   - Hub: card grid block (matches the Reverse Audio blog hub structure)
   - Post: two-column layout (content left, sticky CTA + related right),
     modeled on the Green Card Trips blog post
   =========================================================================== */

.blog_section {
  padding-top: 160px;
  position: relative;
}

.blog_breadcrumb {
  font-size: 14px;
  margin-bottom: 18px;
  color: #8a6b76;
}

.blog_breadcrumb a { color: var(--primery); }
.blog_breadcrumb span { margin: 0 6px; opacity: 0.6; }

/* ---------- Hub: card grid block ---------- */
.blog_section .blog_listing {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  justify-content: initial;
}

.blog_section .blog_listing .blog_post {
  background: #fff;
  width: auto;
  padding: 0;
  border: 1px solid #f0dde4;
  border-radius: 20px;
  overflow: hidden;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.blog_section .blog_listing .blog_post:hover {
  box-shadow: 0 18px 50px rgba(194, 24, 91, 0.14);
  transform: translateY(-3px);
}

.blog_section .blog_listing .blog_post .img { display: block; }

.blog_section .blog_listing .blog_post .img img {
  width: 100%;
  height: auto;
  aspect-ratio: 1216 / 640;
  object-fit: cover;
  border-radius: 0;
  max-width: 100%;
}

.blog_section .blog_listing .blog_post .text {
  margin-top: 0;
  padding: 24px 26px 26px;
}

.blog_section .blog_listing .blog_post .blog_info { color: #8a6b76; }

.blog_section .blog_listing .blog_post h3 {
  margin: 12px 0 10px;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.5px;
}

.blog_section .blog_listing .blog_post h3 a { color: var(--black); }
.blog_section .blog_listing .blog_post h3 a:hover { color: var(--primery); }

.blog_section .blog_listing .blog_post .text > p {
  color: #5a5a5a;
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 18px;
}

.blog_section .blog_listing .blog_post .tag_more .tag {
  background: #fce4ee;
  color: var(--primery);
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
}

.blog_section .blog_listing .blog_post .tag_more a {
  color: var(--primery);
  font-weight: 700;
  font-size: 14px;
}

/* ---------- Post: two-column layout ---------- */
.blog_post_layout { display: block; }

@media (min-width: 992px) {
  .blog_post_layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 48px;
    align-items: start;
  }
}

.blog_detail .section_title {
  text-align: left;
  margin-bottom: 22px;
}

.blog_detail .blog_hero {
  margin: 0 0 36px;
  max-width: 100%;
}

/* Article hero image */
.blog_hero {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1216 / 640;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(42, 2, 17, 0.28);
}

/* Reading column */
.blog_article {
  max-width: 100%;
  margin: 0;
  font-size: 18px;
  line-height: 1.75;
  color: #2b2b2b;
}

.blog_article h2 {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.5px;
  margin: 40px 0 14px;
  color: var(--black);
}

.blog_article h3 {
  font-size: 21px;
  font-weight: 700;
  margin: 28px 0 10px;
  color: var(--black);
}

.blog_article p { margin-bottom: 18px; }
.blog_article ul,
.blog_article ol { margin: 0 0 18px 1.1em; }
.blog_article li { margin-bottom: 10px; }

.blog_article a {
  color: var(--primery);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.blog_article a:hover { opacity: 0.8; }

/* ---------- Sidebar ---------- */
.blog_sidebar { margin-top: 48px; }

@media (min-width: 992px) {
  .blog_sidebar {
    margin-top: 0;
    position: sticky;
    top: 110px;
  }
}

.blog_cta_card {
  background: linear-gradient(160deg, #3a0a1e 0%, #2a0211 100%);
  color: #fff;
  border-radius: 22px;
  padding: 30px 26px;
  text-align: center;
  box-shadow: 0 16px 44px rgba(42, 2, 17, 0.25);
}

.blog_cta_card .cta_logo {
  height: 34px;
  width: auto;
  margin: 0 auto 16px;
  display: block;
}

.blog_cta_card p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 20px;
}

.blog_cta_card .app_store_btn { display: inline-block; }
.blog_cta_card .app_store_btn img { max-width: 180px; height: auto; }

.blog_related { margin-top: 34px; }

.blog_related h2 {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 18px;
  color: var(--black);
}

.blog_related ul { list-style: none; margin: 0; padding: 0; }
.blog_related li { margin-bottom: 16px; }

.blog_related a {
  display: flex;
  gap: 13px;
  align-items: center;
  color: var(--black);
}

.blog_related img {
  width: 84px;
  height: 54px;
  object-fit: cover;
  border-radius: 10px;
  flex-shrink: 0;
}

.blog_related a span {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

.blog_related a:hover span { color: var(--primery); }

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  .blog_section { padding-top: 130px; }
  .blog_section .blog_listing { grid-template-columns: 1fr; }
  .blog_article { font-size: 17px; }
  .blog_article h2 { font-size: 25px; }
}

/* In-article audio sample (reuses the global .sample card) */
.blog_sample {
  margin: 36px 0;
}
.blog_sample__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--primery);
  margin-bottom: 12px;
}
.blog_sample .sample__title {
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 700;
}
.blog_sample .sample__blurb {
  margin: 0;
}
