/* ==========================================
   KEY-AUTO BLOG
========================================== */

.blog-hero{

padding:90px 20px 70px;

background:linear-gradient(135deg,#0f172a,#1e3a8a);

text-align:center;

color:#fff;

}

.blog-badge{

display:inline-block;

padding:10px 20px;

background:#2563eb;

border-radius:50px;

font-size:14px;

font-weight:700;

letter-spacing:1px;

margin-bottom:20px;

}

.blog-hero h1{

font-size:48px;

margin-bottom:20px;

font-weight:800;

line-height:1.2;

}

.blog-hero p{

max-width:760px;

margin:auto;

font-size:20px;

line-height:1.8;

opacity:.9;

}



/* ==========================================
BLOG
========================================== */

.blog-posts{

padding:80px 20px;

background:#f5f7fb;

}

.blog-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(500px,1fr));

gap:40px;

max-width:1700px;

margin:auto;

align-items:stretch;

}



/* ==========================================
CARD
========================================== */

.blog-card{

display:flex;

flex-direction:column;

background:#fff;

border-radius:22px;

overflow:hidden;

text-decoration:none;

color:#222;

transition:.35s;

box-shadow:0 15px 45px rgba(0,0,0,.08);

height:100%;

min-height:640px;

}

.blog-card:hover{

transform:translateY(-10px);

box-shadow:0 25px 60px rgba(0,0,0,.18);

}

.blog-image{

height:300px;

overflow:hidden;

flex-shrink:0;

}

.blog-image img{

width:100%;

height:100%;

object-fit:cover;

transition:.6s;

display:block;

}

.blog-card:hover img{

transform:scale(1.08);

}



/* ==========================================
CONTENT
========================================== */

.blog-content{

display:flex;

flex-direction:column;

flex:1;

padding:35px;

}

.blog-content h2{

font-size:30px;

font-weight:700;

line-height:1.3;

margin-bottom:18px;

color:#111827;

display:-webkit-box;

-webkit-line-clamp:2;

-webkit-box-orient:vertical;

overflow:hidden;

min-height:78px;

}

.blog-content p{

font-size:18px;

line-height:1.8;

color:#555;

display:-webkit-box;

-webkit-line-clamp:3;

-webkit-box-orient:vertical;

overflow:hidden;

min-height:98px;

margin-bottom:35px;

}
.read-more{

margin-top:auto;

display:inline-flex;

align-items:center;

gap:10px;

font-size:18px;

font-weight:700;

color:#2563eb;

transition:.3s;

}

.blog-card:hover{

transform:translateY(-8px);

box-shadow:0 25px 70px rgba(0,0,0,.16);

}

.blog-card:hover img{

transform:scale(1.06);

}

.blog-card:hover .read-more{

gap:18px;

}



/* ==========================================
RESPONSIVE
========================================== */
@media(max-width:1600px){

.blog-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:950px){

.blog-grid{

grid-template-columns:1fr;

}

.blog-card{

min-height:auto;

}

}

@media(max-width:1200px){

.blog-grid{

grid-template-columns:1fr 1fr;

}

}



@media(max-width:900px){

.blog-grid{

grid-template-columns:1fr;

}

.blog-hero h1{

font-size:38px;

}

}



@media(max-width:600px){

.blog-hero{

padding:70px 20px;

}

.blog-hero h1{

font-size:30px;

}

.blog-hero p{

font-size:17px;

}

.blog-image{

height:230px;

}

.blog-content{

padding:25px;

}

.blog-content h2{

font-size:24px;

}

.blog-content p{

font-size:16px;

}

}

.blog-footer{

margin-top:auto;

display:flex;

justify-content:space-between;

align-items:center;

padding-top:25px;

border-top:1px solid #ececec;

}

.blog-date{

font-size:14px;

color:#888;

font-weight:500;

}

.read-more{

display:flex;

align-items:center;

gap:8px;

font-size:17px;

font-weight:700;

color:#2563eb;

transition:.3s;

}

.blog-card:hover .read-more{

gap:15px;

}