/* ===========================================================================
   Scarla 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;
}

/* --- Stories (per-book audiobook pages, EVWEB-37) --- */
.story_hero{display:flex;gap:1.5rem;align-items:flex-start;margin:1.5rem 0 2rem;flex-wrap:wrap}
.story_cover{width:230px;max-width:42%;height:auto;border-radius:12px;box-shadow:0 14px 44px rgba(0,0,0,.45)}
.story_hero__meta{flex:1;min-width:230px}
.story_logline{font-size:1.2rem;line-height:1.5;font-weight:600;margin-bottom:1rem}
.story_tropes{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.2rem}
.story_trope{display:inline-block;font-size:.8rem;padding:.3rem .7rem;border-radius:999px;background:rgba(194,24,91,.14);color:#c2185b;font-weight:600}
.story_episodes{list-style:none;padding:0;margin:1rem 0 1.5rem}
.story_episode{display:flex;gap:1rem;align-items:flex-start;padding:1rem 0;border-top:1px solid rgba(0,0,0,.08)}
.story_episode__n{flex:none;width:2rem;height:2rem;border-radius:50%;background:#c2185b;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}
.story_episode__title{font-weight:700;margin:.15rem 0 .25rem}
.story_episode__blurb{margin:0;opacity:.85}
.stories_grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;margin-top:2rem}
.story_card{display:block;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.1);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.story_card:hover{transform:translateY(-4px);box-shadow:0 16px 44px rgba(0,0,0,.18)}
.story_card img{width:100%;height:auto;display:block;aspect-ratio:1/1;object-fit:cover}
.story_card__body{padding:1rem 1.1rem 1.2rem}
.story_card__body h3{font-size:1.1rem;margin:0 0 .4rem}
.story_card__body p{font-size:.92rem;opacity:.82;margin:0 0 .7rem}
.story_card__cat{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#c2185b;font-weight:700}
.story_detail--flagship .story_hero{gap:2rem;align-items:flex-start;margin:1.75rem 0 2.4rem}
.story_detail--flagship .story_cover{width:330px;max-width:48%;border-radius:10px;box-shadow:0 20px 56px rgba(42,2,17,.32)}
.story_detail--flagship .story_logline{font-size:1.24rem}
@media(max-width:768px){
  .story_detail--flagship .story_hero{display:block}
  .story_detail--flagship .story_cover{width:min(100%,320px);max-width:100%;margin-bottom:1.4rem}
}
@media(max-width:600px){.story_cover{width:150px}}

/* Text wordmark used by pages published under the Scarla brand. */
.brand_wordmark{display:inline-block;font-family:"Cormorant Garamond",Georgia,serif;font-size:32px;font-weight:600;font-style:italic;line-height:1;color:#fff;letter-spacing:.01em}
.brand_wordmark--dark{color:#c2185b}
.brand_wordmark.footer_brand_mark{font-size:26px;vertical-align:baseline}
.brand_wordmark.cta_logo{font-size:30px;margin-bottom:12px}
