/* المدونة: blog.php وblog-post.php (كل الأصناف تبدأ بـ bl-) */
.bl-hero{background:var(--gradient-brand);color:#fff;padding:34px 0 56px}
.bl-hero h1{margin:0 0 8px;font-size:28px;line-height:1.5}
.bl-hero p{margin:0;opacity:.92;font-size:15px;line-height:1.9;max-width:680px}
.bl-hero--post h1{font-size:26px}
.bl-narrow{max-width:820px}
.bl-crumbs{display:flex;gap:6px;flex-wrap:wrap;font-size:13px;opacity:.9;margin-bottom:8px}
.bl-crumbs a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.bl-hero .bl-meta{font-size:13px;opacity:.9}
.bl-cats{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.bl-cats a{padding:6px 14px;border-radius:999px;border:1.5px solid rgba(255,255,255,.5);color:#fff;font-size:14px}
.bl-cats a.is-active{background:#fff;color:var(--purple);border-color:#fff;font-weight:bold}
.bl-body{margin-top:-34px;position:relative;z-index:1;padding-top:0}

.bl-grid{display:grid;gap:16px}
@media (min-width:768px){.bl-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.bl-grid{grid-template-columns:repeat(3,1fr)}}
.bl-card{display:flex;flex-direction:column;gap:8px;background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;color:var(--text);border:2px solid transparent;transition:border-color .2s}
.bl-card:hover{border-color:var(--blue)}
.bl-card h2{margin:0;font-size:18px;line-height:1.6}
.bl-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.8;flex:1}
.bl-card .bl-meta{font-size:12px;color:var(--muted)}
.bl-tag{align-self:flex-start;font-size:12px;font-weight:bold;color:var(--purple);background:#eef2ff;border-radius:999px;padding:3px 10px}

.bl-toc,.bl-article,.bl-panel,.bl-cta{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}
.bl-toc + .bl-article,.bl-article + .bl-cta,.bl-cta + .bl-panel,.bl-panel + .bl-panel{margin-top:16px}
.bl-toc summary{cursor:pointer;font-weight:bold;font-size:16px}
.bl-toc ol{margin:10px 0 0;padding:0 20px 0 0;line-height:2;font-size:14px}
.bl-toc a{color:var(--purple)}
.bl-toc{margin-bottom:16px}

.bl-article{font-size:16px;line-height:2;overflow-wrap:anywhere}
.bl-article h2{font-size:21px;line-height:1.6;margin:28px 0 10px;color:var(--purple-dark);scroll-margin-top:90px}
.bl-article h2:first-child{margin-top:0}
.bl-article h3{font-size:18px;margin:20px 0 8px}
.bl-article p{margin:0 0 14px}
.bl-article ul,.bl-article ol{margin:0 0 16px;padding:0 22px 0 0}
.bl-article li{margin-bottom:10px}
.bl-article li strong{color:var(--text)}
.bl-article a{color:var(--purple);font-weight:bold;text-decoration:underline;text-underline-offset:3px}
.bl-article blockquote{margin:0 0 16px;padding:12px 16px;border-right:4px solid var(--sun);background:#fff8e6;border-radius:12px}
.bl-article table{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:14px;display:block;overflow-x:auto}
.bl-article th,.bl-article td{border:1px solid var(--border);padding:8px 10px;text-align:right;vertical-align:top;min-width:90px}
.bl-article th{background:#f4f7ff}

.bl-cta{text-align:center;background:linear-gradient(135deg,#fff8e6,#eef4ff)}
.bl-cta strong{font-size:18px}
.bl-cta p{color:var(--muted);margin:6px 0 14px;font-size:14px}
.bl-cta-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

.bl-panel h2{font-size:18px;margin:0 0 12px}
.bl-faq details{border-top:1px solid var(--border);padding:12px 0}
.bl-faq details:first-child{border-top:none;padding-top:0}
.bl-faq summary{cursor:pointer;font-weight:bold;line-height:1.7}
.bl-faq p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.9}
.bl-links{display:flex;flex-wrap:wrap;gap:8px}
.bl-links a{border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:14px;color:var(--purple);font-weight:bold}
.bl-links a:hover{border-color:var(--blue)}
.bl-more{display:grid;gap:10px}
@media (min-width:768px){.bl-more{grid-template-columns:repeat(3,1fr)}}
.bl-more a{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:14px;padding:12px;color:var(--text);font-size:14px;line-height:1.7}
.bl-more a:hover{border-color:var(--blue)}

@media (max-width:600px){
    .bl-hero h1,.bl-hero--post h1{font-size:22px}
    .bl-article{font-size:15px;padding:16px}
    .bl-article h2{font-size:19px}
}
