/* =========================================================
   ZXingOrg Blog Hub
   ========================================================= */

.blog-hero{
padding:58px 0 34px;
text-align:center;
}

.blog-hero h1{
margin:0 0 14px;
font-size:clamp(2.25rem,5vw,3.4rem);
line-height:1.08;
font-weight:800;
color:#0f172a;
}

.blog-hero p{
max-width:760px;
margin:0 auto;
font-size:18px;
line-height:1.8;
color:#64748b;
}

.blog-main{
padding:18px 0 72px;
}

.blog-section{
margin-top:54px;
}

.blog-section:first-child{
margin-top:0;
}

.blog-section-heading{
max-width:760px;
margin-bottom:22px;
}

.blog-kicker{
display:inline-block;
padding:5px 11px;
margin-bottom:8px;
background:#eff6ff;
color:#2563eb;
border:1px solid #dbeafe;
border-radius:999px;
font-size:12px;
font-weight:800;
text-transform:uppercase;
letter-spacing:.45px;
}

.blog-section-heading h2{
margin:0 0 8px;
font-size:28px;
line-height:1.25;
color:#0f172a;
}

.blog-section-heading p{
margin:0;
color:#64748b;
line-height:1.7;
}


/* ===== Featured Guide ===== */

.blog-feature{
display:grid;
grid-template-columns:1fr 1fr;
overflow:hidden;
background:#fff;
border:1px solid #e2e8f0;
border-radius:24px;
box-shadow:0 14px 40px rgba(15,23,42,.08);
}

.blog-feature-image{
display:block;
width:100%;
aspect-ratio:16 / 9;
overflow:hidden;
background:#eff6ff;
}

.blog-feature-image img{
display:block;
width:100%;
height:100%;
object-fit:cover;
}

.blog-feature-content{
padding:32px;
display:flex;
flex-direction:column;
justify-content:center;
}

.blog-badge{
display:inline-flex;
align-self:flex-start;
padding:6px 12px;
margin-bottom:14px;
border-radius:999px;
background:#eff6ff;
color:#2563eb;
font-size:12px;
font-weight:800;
text-transform:uppercase;
}

.blog-feature-content h3{
margin:0 0 12px;
font-size:28px;
line-height:1.25;
color:#0f172a;
}

.blog-feature-content h3 a{
color:#0f172a;
text-decoration:none;
}

.blog-feature-content h3 a:hover{
color:#2563eb;
}

.blog-feature-content p{
margin:0 0 20px;
color:#64748b;
line-height:1.7;
}


/* ===== Cards ===== */

.blog-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:22px;
}

.blog-card{
display:flex;
flex-direction:column;
overflow:hidden;
background:#fff;
border:1px solid #e2e8f0;
border-radius:20px;
box-shadow:0 10px 28px rgba(15,23,42,.06);
transition:
transform .25s ease,
box-shadow .25s ease,
border-color .25s ease;
}

.blog-card:hover{
transform:translateY(-4px);
border-color:#bfdbfe;
box-shadow:0 18px 38px rgba(37,99,235,.10);
}

.blog-card-image{
display:block;
width:100%;
aspect-ratio:16 / 9;
overflow:hidden;
background:#eff6ff;
}

.blog-card-image img{
display:block;
width:100%;
height:100%;
object-fit:cover;
transition:transform .3s ease;
}

.blog-card:hover
.blog-card-image img{
transform:scale(1.03);
}

.blog-card-content{
padding:21px;
}

.blog-card-content h3{
margin:0 0 10px;
font-size:21px;
line-height:1.3;
color:#0f172a;
}

.blog-card-content h3 a{
color:#0f172a;
text-decoration:none;
}

.blog-card-content h3 a:hover{
color:#2563eb;
}

.blog-card-content p{
margin:0 0 17px;
color:#64748b;
line-height:1.7;
}


/* ===== Read Guide ===== */

.blog-read{
display:inline-flex;
align-items:center;
gap:8px;
color:#2563eb;
font-weight:800;
text-decoration:none;
}

.blog-read:hover{
text-decoration:underline;
}


/* ===== Final CTA ===== */

.blog-cta{
margin-top:56px;
padding:36px 24px;
text-align:center;
background:linear-gradient(
135deg,
#eff6ff,
#ffffff
);
border:1px solid #dbeafe;
border-radius:24px;
}

.blog-cta h2{
margin:0 0 10px;
font-size:28px;
color:#0f172a;
}

.blog-cta p{
max-width:680px;
margin:0 auto 22px;
color:#64748b;
line-height:1.7;
}

.blog-button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
min-height:54px;
padding:0 24px;
border-radius:14px;
background:#2563eb;
color:#fff;
text-decoration:none;
font-weight:800;
transition:.25s ease;
}

.blog-button:hover{
background:#1d4ed8;
transform:translateY(-2px);
}


/* ===== Mobile ===== */

@media(max-width:800px){

.blog-feature{
grid-template-columns:1fr;
}

.blog-feature-image{
aspect-ratio:16 / 9;
}

.blog-grid{
grid-template-columns:1fr;
}

}

@media(max-width:600px){

.blog-hero{
padding:46px 0 26px;
}

.blog-hero p{
font-size:16px;
}

.blog-section{
margin-top:42px;
}

.blog-section-heading h2{
font-size:24px;
}

.blog-feature-content{
padding:24px;
}

.blog-feature-content h3{
font-size:23px;
}

.blog-card-content{
padding:18px;
}

.blog-cta h2{
font-size:24px;
}

}
