/* ═══ BLOG / JOURNAL ═══ */

/* Reading progress */
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1001;pointer-events:none}
.reading-progress__bar{height:100%;width:0;background:linear-gradient(to right,var(--bb-bordeaux),var(--bb-rose-ancien));transition:width .1s linear}

/* Blog layout */
.blog-layout{display:grid;grid-template-columns:1fr 340px;gap:var(--bb-space-2xl);align-items:start}
.articles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--bb-space-md)}

/* Article card */
.article-card{background:var(--bb-bg-white);border-radius:var(--bb-radius-lg);overflow:hidden;box-shadow:var(--bb-shadow-sm);transition:box-shadow .4s,transform .4s;cursor:pointer}
.article-card:hover{box-shadow:var(--bb-shadow-lg);transform:translateY(-4px)}
.article-card a{text-decoration:none;color:inherit;display:block}
.article-card__image{aspect-ratio:16/10;position:relative;overflow:hidden}
.article-card__image-bg{position:absolute;inset:0;transition:transform .6s}.article-card__image-bg img{width:100%;height:100%;object-fit:cover}
.article-card:hover .article-card__image-bg{transform:scale(1.05)}
.article-card__body{padding:var(--bb-space-md)}
.article-card__cat{font-size:var(--bb-text-xs);text-transform:uppercase;letter-spacing:var(--bb-ls-caps);color:var(--bb-rose-ancien);font-weight:500;margin-bottom:var(--bb-space-xs);display:block}
.article-card__title{font-family:var(--bb-font-display);font-size:var(--bb-text-h3);color:var(--bb-bordeaux);font-weight:600;line-height:1.25;margin-bottom:var(--bb-space-xs);letter-spacing:var(--bb-ls-display)}
.article-card__excerpt{font-size:var(--bb-text-small);color:var(--bb-text-secondary);line-height:1.6;margin-bottom:var(--bb-space-sm);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.article-card__meta{display:flex;align-items:center;gap:var(--bb-space-xs);font-size:var(--bb-text-xs);color:var(--bb-text-secondary)}
.article-card__meta-dot{width:3px;height:3px;border-radius:50%;background:var(--bb-text-secondary);opacity:.4}

/* Sidebar */
.blog-sidebar{position:sticky;top:7rem;display:flex;flex-direction:column;gap:var(--bb-space-lg)}
.sidebar-card{background:var(--bb-bg-white);border-radius:var(--bb-radius-lg);padding:var(--bb-space-lg);box-shadow:var(--bb-shadow-sm)}
.sidebar-card__title{font-family:var(--bb-font-display);font-size:var(--bb-text-h3);color:var(--bb-bordeaux);font-weight:600;margin-bottom:var(--bb-space-sm)}
.sidebar-diagnostic{background:var(--bb-bordeaux);color:#fff;position:relative;overflow:hidden}
.sidebar-diagnostic::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 90% 90%,rgba(193,51,72,.3),transparent 60%);pointer-events:none}
.sidebar-diagnostic .sidebar-card__title{color:#fff;position:relative}
.sidebar-diagnostic__text{font-size:var(--bb-text-small);color:rgba(255,255,255,.65);line-height:1.6;margin-bottom:var(--bb-space-md);position:relative}
.sidebar-diagnostic__score{display:flex;align-items:center;gap:var(--bb-space-sm);background:rgba(255,255,255,.08);border-radius:var(--bb-radius-md);padding:var(--bb-space-sm);margin-bottom:var(--bb-space-md);position:relative}
.sidebar-diagnostic__gauge{width:48px;height:48px;border-radius:50%;border:3px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--bb-font-display);font-size:1.1rem;font-weight:700;color:#fff}
.sidebar-diagnostic__gauge-text{font-size:var(--bb-text-xs);color:rgba(255,255,255,.5);line-height:1.4}
.sidebar-newsletter__input{display:flex;gap:0;margin-top:var(--bb-space-sm)}
.sidebar-newsletter__input input{flex:1;padding:.625rem .875rem;border:1.5px solid rgba(97,26,36,.12);border-right:none;border-radius:var(--bb-radius-sm) 0 0 var(--bb-radius-sm);background:var(--bb-bg-cream);font-family:var(--bb-font-body);font-size:var(--bb-text-small);color:var(--bb-text-primary)}
.sidebar-newsletter__input input:focus{outline:none;border-color:var(--bb-rose-ancien)}
.sidebar-newsletter__input input::placeholder{color:rgba(102,102,102,.4)}
.sidebar-newsletter__input button{padding:.625rem 1rem;background:var(--bb-rose-ancien);color:#fff;border:none;border-radius:0 var(--bb-radius-sm) var(--bb-radius-sm) 0;font-family:var(--bb-font-body);font-size:var(--bb-text-small);font-weight:500;cursor:pointer;transition:var(--bb-transition)}.sidebar-newsletter__input button:hover{background:var(--bb-bordeaux)}
.sidebar-newsletter__micro{font-size:var(--bb-text-xs);color:var(--bb-text-secondary);margin-top:.5rem}
.sidebar-categories{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0}
.sidebar-categories li{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid rgba(97,26,36,.06);font-size:var(--bb-text-small);color:var(--bb-text-primary);cursor:pointer;transition:color .3s}
.sidebar-categories li:hover{color:var(--bb-rose-ancien)}.sidebar-categories li:last-child{border-bottom:none}
.sidebar-categories__count{font-size:var(--bb-text-xs);color:var(--bb-text-secondary);background:rgba(97,26,36,.04);padding:.15rem .5rem;border-radius:var(--bb-radius-full)}

/* Single article body */
.single-article__body p{font-size:var(--bb-text-body-lg);color:var(--bb-text-primary);line-height:1.85;margin-bottom:var(--bb-space-md)}
.single-article__body h2{font-size:var(--bb-text-h2);color:var(--bb-bordeaux);margin:var(--bb-space-xl) 0 var(--bb-space-sm)}
.single-article__body h3{margin:var(--bb-space-lg) 0 var(--bb-space-sm)}
.single-article__body blockquote{border-left:3px solid var(--bb-rose-ancien);padding:var(--bb-space-sm) var(--bb-space-lg);margin:var(--bb-space-lg) 0;background:rgba(193,51,72,.03);border-radius:0 var(--bb-radius-md) var(--bb-radius-md) 0}
.single-article__body blockquote p{font-family:var(--bb-font-display);font-style:italic;font-size:var(--bb-text-h3);color:var(--bb-marsala);line-height:1.5;margin-bottom:0}
.single-article__body ul,.single-article__body ol{padding-left:1.5rem;margin-bottom:var(--bb-space-md)}
.single-article__body li{margin-bottom:.5rem;line-height:1.7}
.single-article__body img{border-radius:var(--bb-radius-md);margin:var(--bb-space-lg) 0}

@media(max-width:999px){
    .blog-layout{grid-template-columns:1fr}
    .blog-sidebar{position:static;flex-direction:row;flex-wrap:wrap}.blog-sidebar .sidebar-card{flex:1;min-width:280px}
}
@media(max-width:767px){.articles-grid{grid-template-columns:1fr}.blog-sidebar{flex-direction:column}}
