/* Blog: /blog and /blog/{slug}. Articles are rendered from Markdown, so the body styles target
   plain elements (h2, p, ul, table) inside .blog_body. The site resets ul to no bullets and no
   padding, which is why lists get their markers back here. */

.blog_section { padding: 30px 0 80px 0; }

.blog_banner_title { font-weight: 600; font-size: 36px; line-height: 1.3; letter-spacing: -0.98px; margin: 0 0 7px 0; text-align: center; }

/* Cards on the overview */
.blog_card { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid #DFDFDF; border-radius: 20px; overflow: hidden; text-decoration: none; color: var(--dark-color); transition: box-shadow .3s, transform .3s; }
.blog_card:hover { color: var(--dark-color); box-shadow: 0 12px 30px rgba(0,0,0,.08); transform: translateY(-2px); }
.blog_card_img { aspect-ratio: 16 / 9; background: #0b0f1a; overflow: hidden; }
.blog_card_img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog_card_body { padding: 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.blog_card_body h2 { font-size: 22px; font-weight: 700; line-height: 1.3; margin: 0; }
.blog_card_body p { margin: 0; line-height: 1.6; color: #444; }
.blog_read { margin-top: auto; padding-top: 6px; font-weight: 700; font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: 1px; color: #FF5E62; }

.blog_meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-size: var(--fs-sm); color: #6b6b6b; }
.blog_category { background: color-mix(in srgb, #FF5E62 12%, transparent); color: #d9383d; border-radius: 20px; padding: 3px 12px; font-weight: 600; }

.blog_empty { text-align: center; max-width: 620px; margin: 20px auto; }
.blog_empty h2 { font-size: 28px; font-weight: 700; }

/* Article */
.blog_article { max-width: 760px; margin: 0 auto; }
.blog_crumbs { display: flex; align-items: center; gap: 8px; font-size: var(--fs-sm); margin-bottom: 18px; }
.blog_crumbs a { color: #6b6b6b; text-decoration: none; }
.blog_crumbs a:hover { color: #FF5E62; }
.blog_crumbs i { font-size: 11px; color: var(--light-gray-color); }
.blog_article > h1 { font-size: 40px; font-weight: 700; line-height: 1.2; letter-spacing: -0.8px; margin: 0 0 16px 0; }
.blog_hero_img { display: block; width: 100%; height: auto; border-radius: 20px; margin: 28px 0 8px 0; }

.blog_body { font-size: 17px; line-height: 1.75; color: #201D1E; }
.blog_body h2 { font-size: 28px; font-weight: 700; line-height: 1.3; margin: 44px 0 14px 0; }
.blog_body h3 { font-size: 21px; font-weight: 700; margin: 30px 0 10px 0; }
.blog_body p { margin: 0 0 18px 0; }
.blog_body ul, .blog_body ol { padding-left: 22px; margin: 0 0 18px 0; }
.blog_body ul { list-style: disc; }
.blog_body ol { list-style: decimal; }
.blog_body li { margin-bottom: 8px; }
.blog_body a { color: #d9383d; overflow-wrap: anywhere; }
.blog_body strong { font-weight: 700; }

/* Tables: wide on desktop, scroll sideways on a phone instead of squeezing the columns. */
.blog_body table { display: block; overflow-x: auto; width: 100%; border-collapse: collapse; margin: 10px 0 26px 0; font-size: 15px; line-height: 1.5; }
.blog_body th, .blog_body td { border-bottom: 1px solid #DFDFDF; padding: 10px 12px; text-align: left; vertical-align: top; min-width: 120px; }
.blog_body thead th { background: var(--gray-color); font-weight: 700; }
.blog_body tbody tr td:first-child { white-space: nowrap; }

/* The sources list is long and dense: smaller type so it does not dominate the page. */
.blog_body h2:last-of-type + ul { font-size: 14px; line-height: 1.6; color: #444; }

.blog_cta { margin-top: 44px; background: var(--gray-color); border-radius: 20px; padding: 28px; text-align: center; }
.blog_cta p { font-size: 19px; font-weight: 600; margin: 0 0 18px 0; }
.blog_cta_btns { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

.blog_more { max-width: 1100px; margin: 70px auto 0 auto; }
.blog_more > h2 { font-size: 28px; font-weight: 700; margin-bottom: 22px; }

@media (max-width: 767px) {
    .blog_article > h1 { font-size: 30px; }
    .blog_body { font-size: 16px; }
    .blog_body h2 { font-size: 23px; margin-top: 34px; }
    .blog_banner_title { font-size: 28px; }
}
