/* LAVI v1.73 — Persian blog labels + readable editorial layout
   Scoped to blog pages so no other site section is affected. */

/* ---------- Blog listing ---------- */
.blog-list-section .container.blog-grid{
  max-width:1180px;
}
.blog-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
}
.blog-card{
  min-width:0;
  height:100%;
}
.blog-card-media{
  aspect-ratio:16/9;
}
.blog-card-copy{
  padding:24px 26px 26px;
}
.blog-card-meta{
  margin-bottom:12px;
}
.blog-card-meta span{
  font-size:12px;
  font-weight:500;
}
.blog-card-meta time{
  font-size:11px;
  white-space:nowrap;
}
.blog-card h2{
  margin:6px 0 12px;
  font-size:clamp(24px,2.2vw,34px);
  line-height:1.48;
  letter-spacing:-.01em;
}
.blog-card p{
  margin:0 0 18px;
  font-size:15px;
  line-height:2;
  color:#68645e;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}
.blog-read-more{
  display:inline-flex;
  width:max-content;
  margin-top:auto;
  padding-top:2px;
  font-size:14px;
  font-weight:650;
  color:#1b1815;
  text-decoration:none;
  border-bottom:1px solid #701d20;
}

/* ---------- Article page ---------- */
.blog-post-head-inner{
  max-width:900px;
}
.blog-post-head h1{
  max-width:850px;
  font-size:clamp(38px,5vw,60px);
  line-height:1.35;
  letter-spacing:-.012em;
}
.blog-post-head p{
  max-width:760px;
  font-size:17px;
  line-height:2;
}
.blog-post-body{
  max-width:1120px;
}
.blog-prose{
  width:min(100%,820px);
  margin:0 auto 58px;
  font-size:17px;
  line-height:2.2;
  text-align:start;
  text-wrap:pretty;
}
.blog-prose br{
  content:"";
}
.visual-report{
  width:100%;
}
.section-heading{
  width:min(100%,820px);
}
.section-heading h2{
  margin-top:10px;
}

/* Keep Persian controls and labels visually consistent. */
html[lang="fa"] .blog-card-copy,
html[lang="fa"] .blog-post-head-inner,
html[lang="fa"] .blog-prose,
html[lang="fa"] .section-heading{
  direction:rtl;
  text-align:right;
}
html[lang="fa"] .blog-read-more,
html[lang="fa"] .blog-back-link{
  direction:rtl;
}

/* ---------- Tablet ---------- */
@media(max-width:900px){
  .blog-grid{
    gap:20px;
  }
  .blog-card-copy{
    padding:20px;
  }
}

/* ---------- Mobile ---------- */
@media(max-width:700px){
  .blog-list-section{
    padding-top:24px;
  }
  .blog-grid{
    grid-template-columns:1fr;
    gap:22px;
  }
  .blog-card-media{
    aspect-ratio:16/10;
  }
  .blog-card-copy{
    padding:18px 18px 20px;
  }
  .blog-card-meta{
    gap:10px;
    margin-bottom:8px;
  }
  .blog-card h2{
    font-size:25px;
    line-height:1.5;
    margin:7px 0 10px;
  }
  .blog-card p{
    font-size:14.5px;
    line-height:1.95;
    -webkit-line-clamp:4;
    margin-bottom:14px;
  }
  .blog-read-more{
    font-size:13px;
  }

  .blog-post-head{
    padding:28px 0 24px;
  }
  .blog-back-link{
    margin-bottom:16px;
  }
  .blog-post-head h1{
    font-size:32px;
    line-height:1.46;
    margin:9px 0 12px;
  }
  .blog-post-head p{
    font-size:15px;
    line-height:1.95;
    margin-bottom:12px;
  }
  .blog-post-body{
    padding-top:26px;
  }
  .blog-prose{
    width:100%;
    font-size:15.5px;
    line-height:2.08;
    margin-bottom:42px;
  }
  .section-heading{
    width:100%;
  }
}

/* Very narrow phones */
@media(max-width:380px){
  .blog-card h2{font-size:23px}
  .blog-post-head h1{font-size:29px}
}
