/* css/sections/blog.css */

/* =========================
   BLOG
   ========================= */

.blog{
  padding:100px 0;
  background:#fff;
}

.blog--page{
  padding:70px 0 100px;
}

.blog__header{
  text-align:center;
  margin-bottom:60px;
}

.blog__title{
  font-size:var(--text-6xl);
  font-weight:var(--font-black);
  color:var(--primary-dark);
  margin:0 0 16px;
  font-family:var(--font-display);
  letter-spacing:-1px;
  line-height:1.15;
}

.blog__subtitle{
  font-size:var(--text-lg);
  color:var(--text-muted);
  margin:0;
  font-weight:var(--font-semibold);
}

/* Grid */
.blog__grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:32px;
  margin-bottom:40px;
}

/* Card */
.blog-card{
  border-radius:var(--radius-20);
  overflow:hidden;
  border:2px solid var(--border);
  background:#fff;
  transition:transform var(--transition-slow), box-shadow var(--transition-slow), border-color var(--transition-slow);
}

.blog-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-xl);
  border-color:var(--primary);
}

.blog-card__link{
  display:flex;
  flex-direction:column;
  text-decoration:none;
  color:inherit;
  height:100%;
}

.blog-card__image{
  width:100%;
  height:280px;
  overflow:hidden;
  background:var(--page-bg);
}

.blog-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform var(--transition-slow);
}

.blog-card:hover .blog-card__image img{
  transform:scale(1.05);
}

.blog-card__content{
  padding:28px;
  display:flex;
  flex-direction:column;
  flex:1;
  gap:12px;
}

.blog-card__date{
  font-size:var(--text-sm);
  color:var(--text-muted);
  margin:0;
  font-weight:var(--font-semibold);
}

.blog-card__title{
  font-size:var(--text-xl);
  font-weight:var(--font-extrabold);
  color:var(--primary-dark);
  margin:0;
  line-height:1.3;
  font-family:var(--font-display);
  display:-webkit-box;
  line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.blog-card__excerpt{
  font-size:var(--text-base);
  line-height:1.6;
  color:var(--text-soft);
  margin:0;
  font-weight:var(--font-normal);
  display:-webkit-box;
  line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  flex:1;
}

.blog-card__more{
  font-weight:var(--font-extrabold);
  color:var(--primary);
}

.blog__more{
  text-align:center;
}

.blog__more .btn{
  min-width:280px;
}

/* Responsive */
@media (max-width:980px){
  .blog{ padding:80px 0; }
  .blog__grid{ grid-template-columns:1fr; gap:24px; }
  .blog__title{ font-size:var(--text-5xl); }
}

@media (max-width:640px){
  .blog{ padding:60px 0; }
  .blog__title{ font-size:var(--text-4xl); }
  .blog-card__image{ height:240px; }
  .blog-card__content{ padding:20px; }
}
