.blog_card{
    position:relative;
    box-sizing:border-box;
    min-width:0;
    margin:0;
}

.blog_card_image{
    position:relative;
    display:block;
    overflow:hidden;
    background:#f2f2f2;
}

.blog_card_image picture,
.blog_card_image img{
    display:block;
    width:100%;
    height:100%;
}

.blog_card_image_source{
    object-fit:cover;
    transition:transform .35s ease;
}

.blog_card_content{
    min-width:0;
}

.blog_card_title{
    margin:0;
    padding:0;
    overflow-wrap:break-word;
}

.blog_card_title a,
.blog_card_meta a{
    color:inherit;
    text-decoration:none;
    transition:color .2s ease;
}

.blog_card_meta{
    display:flex;
    min-width:0;
    flex-wrap:wrap;
    align-items:center;
}

.blog_card_meta_category{
    font-weight:600;
}

.blog_card_meta_date{
    direction:ltr;
    unicode-bidi:isolate;
    white-space:nowrap;
}

.blog_card_meta_stats{
    display:flex;
    flex-shrink:0;
    align-items:center;
    white-space:nowrap;
}

.blog_card_meta_stats>span{
    display:inline-flex;
    align-items:center;
}

.blog_card_meta_stats .stat_icon{
    display:block;
}

.blog_card_image:focus-visible,
.blog_card_title a:focus-visible,
.blog_card_meta a:focus-visible{
    outline:2px solid #c2410c;
    outline-offset:3px;
}

/* Normal cards: standard blog/archive/search presentation. */
.blog_cards--normal .blog_card{
    display:flex;
    flex-direction:column;
    padding:16px;
    border:1px solid #eceef2;
    border-radius:12px;
    background:#fff;
    box-shadow:0 1px 2px rgba(17,24,39,.03);
    overflow:hidden;
}

.blog_cards--normal .blog_card_image{
    width:calc(100% + 32px);
    flex-shrink:0;
    aspect-ratio:16/9;
    margin:-16px -16px 0;
    border-radius:0;
}

.blog_cards--normal .blog_card_content{
    display:flex;
    flex:1;
    flex-direction:column;
    padding-top:13px;
}

.blog_cards--normal .blog_card_title{
    color:#202020;
    font-size:19px;
    font-weight:700;
    line-height:1.28;
    text-align:start;
}

.blog_cards--normal .blog_card_meta{
    gap:6px 7px;
    margin-top:auto;
    padding-top:13px;
    color:#707070;
    font-size:12px;
    line-height:1.5;
}

.blog_cards--normal .blog_card_meta_category{
    color:#555;
}

.blog_cards--normal .blog_card_meta_separator{
    color:#a0a0a0;
}

.blog_cards--normal .blog_card_meta_date{
    color:#707070;
}

.blog_cards--normal .blog_card_meta_stats{
    gap:8px;
    margin-inline-start:auto;
    color:#707070;
    font-size:11px;
}

.blog_cards--normal .blog_card_meta_stats>span{
    gap:3px;
}

.blog_cards--normal .blog_card_meta_stats .stat_icon{
    width:18px;
    height:18px;
    flex:0 0 18px;
    color:#88898c;
}

/* Large cards: full-bleed image with readable content overlay. */
.blog_cards--large .blog_card{
    display:flex;
    min-height:360px;
    flex-direction:column;
    justify-content:flex-end;
    overflow:hidden;
    border:1px solid #252b36;
    border-radius:16px;
    color:#fff;
    background:#111827;
    box-shadow:0 8px 24px rgba(17,24,39,.14);
}

.blog_cards--large .blog_card::after{
    position:absolute;
    inset:0;
    z-index:1;
    content:"";
    pointer-events:none;
    background:linear-gradient(180deg,rgba(17,24,39,.03) 18%,rgba(17,24,39,.82) 100%);
}

.blog_cards--large .blog_card_image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    margin:0;
    border-radius:0;
}

.blog_cards--large .blog_card_content{
    position:relative;
    z-index:2;
    display:flex;
    min-height:100%;
    flex-direction:column;
    justify-content:flex-end;
    padding:24px;
}

.blog_cards--large .blog_card_title{
    color:#fff;
    font-size:clamp(1.35rem,2.3vw,2rem);
    font-weight:800;
    line-height:1.16;
    text-shadow:0 1px 12px rgba(0,0,0,.24);
}

.blog_cards--large .blog_card_meta{
    gap:6px 8px;
    padding-top:14px;
    color:#f3f4f6;
    font-size:12px;
    line-height:1.45;
}

.blog_cards--large .blog_card_meta_category,
.blog_cards--large .blog_card_meta_date,
.blog_cards--large .blog_card_meta_separator,
.blog_cards--large .blog_card_meta_stats,
.blog_cards--large .blog_card_meta_stats .stat_icon{
    color:inherit;
}

.blog_cards--large .blog_card_meta_stats{
    gap:8px;
    margin-inline-start:auto;
    font-size:11px;
}

.blog_cards--large .blog_card_meta_stats>span{
    gap:3px;
}

.blog_cards--large .blog_card_meta_stats .stat_icon{
    width:18px;
    height:18px;
    flex:0 0 18px;
}

.blog_cards--large .blog_card_title a:focus-visible,
.blog_cards--large .blog_card_meta a:focus-visible{
    outline-color:#fff;
}

/* Compact cards: the same markup, adapted by the parent for article asides. */
.blog_cards--compact{
    display:flex;
    min-width:0;
    flex-direction:column;
    border-top:1px solid #eceef2;
}

.blog_cards--compact .blog_card{
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    gap:12px;
    padding:14px 0;
    border:0;
    border-bottom:1px solid #eceef2;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
}

.blog_cards--compact .blog_card:not(.has-post-thumbnail){
    grid-template-columns:minmax(0,1fr);
}

.blog_cards--compact .blog_card_image{
    width:100%;
    aspect-ratio:4/3;
    margin:0;
    border-radius:9px;
}

.blog_cards--compact .blog_card_content{
    display:flex;
    min-width:0;
    flex-direction:column;
    padding:0;
}

.blog_cards--compact .blog_card_title{
    color:#202020;
    font-size:15px;
    font-weight:700;
    line-height:1.3;
    overflow-wrap:anywhere;
}

.blog_cards--compact .blog_card_meta{
    gap:3px 5px;
    margin-top:auto;
    padding-top:8px;
    color:#7a7a7a;
    font-size:11px;
    line-height:1.4;
}

.blog_cards--compact .blog_card_meta_category{
    color:#666;
}

.blog_cards--compact .blog_card_meta_separator{
    color:#9a9a9a;
}

.blog_cards--compact .blog_card_meta_stats{
    display:none;
}

@media(hover:hover) and (pointer:fine){
    .blog_card:hover .blog_card_image_source{
        transform:scale(1.035);
    }

    .blog_cards--normal .blog_card_title a:hover,
    .blog_cards--normal .blog_card_meta a:hover,
    .blog_cards--compact .blog_card_title a:hover,
    .blog_cards--compact .blog_card_meta a:hover{
        color:#c2410c;
    }

    .blog_cards--large .blog_card_title a:hover,
    .blog_cards--large .blog_card_meta a:hover{
        color:#fff;
        text-decoration:underline;
    }
}

@media(max-width:1024px){
    .blog_cards--normal .blog_card{
        padding:15px;
    }

    .blog_cards--normal .blog_card_image{
        width:calc(100% + 30px);
        margin:-15px -15px 0;
    }

    .blog_cards--normal .blog_card_title{
        font-size:18px;
    }

    .blog_cards--large .blog_card{
        min-height:330px;
    }
}

@media(max-width:867.99px){
    .blog_cards--compact .blog_card{
        grid-template-columns:128px minmax(0,1fr);
    }
}

@media(max-width:680px){
    .blog_cards--normal .blog_card{
        padding:10px 10px 14px;
    }

    .blog_cards--normal .blog_card_image{
        width:calc(100% + 20px);
        margin:-10px -10px 0;
        border-radius:0;
    }

    .blog_cards--normal .blog_card_content{
        padding:12px 2px 0;
    }

    .blog_cards--normal .blog_card_title{
        font-size:19px;
        line-height:1.22;
    }

    .blog_cards--normal .blog_card_meta{
        gap:5px 6px;
        padding-top:11px;
    }

    .blog_cards--large .blog_card{
        min-height:300px;
    }

    .blog_cards--large .blog_card_content{
        padding:20px;
    }
}

@media(max-width:520px){
    .blog_cards--compact .blog_card{
        grid-template-columns:108px minmax(0,1fr);
        gap:10px;
    }
}

@media(prefers-reduced-motion:reduce){
    .blog_card_image_source,
    .blog_card_title a,
    .blog_card_meta a{
        transition:none;
    }

    .blog_card:hover .blog_card_image_source{
        transform:none;
    }
}
