/* Asira Blog — content styling layered on the site's design system
   (style.css / enhance.css / responsive.css). The header, footer, buttons and
   base typography come from the site CSS; everything here is namespaced .bl-*
   so nothing conflicts. Local vars mirror the site palette for convenience. */
:root{
  --navy:#0B2447; --navy-700:#19376D; --blue:#576CBC; --teal:#1AA39A; --teal-dark:#0E7C75;
  --bg:#FFFFFF; --bg-soft:#F7FAFC; --bg-soft-2:#EEF4F8; --border:#E5ECF2; --border-strong:#D1DCE5;
  --text:#0B2447; --text-2:#3A4760; --text-3:#6B7891; --radius:16px;
  --shadow:0 10px 30px rgba(11,36,71,.08); --shadow-sm:0 2px 10px rgba(11,36,71,.06);
}
.bl-content img,.bl-content a,.bl-card,.bl-cover img{max-width:100%}

/* ---- index ---- */
.bl-wrap{max-width:1240px;margin:0 auto;padding:0 24px 90px}

/* hero with a soft branded backdrop (contained — no horizontal overflow) */
.bl-hero{position:relative;text-align:center;margin:34px auto 0;padding:56px 28px 48px}
.bl-hero::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:26px;
  background:radial-gradient(720px 320px at 50% -20px,#E8F6F5 0%,rgba(232,246,245,0) 72%),
             linear-gradient(180deg,#F4FAFB 0%,#FFFFFF 100%);border:1px solid var(--border)}
.bl-kicker{display:inline-block;color:var(--teal-dark);font-weight:700;letter-spacing:.5px;font-size:13px;
  text-transform:uppercase;background:#fff;border:1px solid var(--border);padding:6px 16px;border-radius:999px;margin:0 0 18px;box-shadow:var(--shadow-sm)}
.bl-hero h1{font-size:clamp(32px,5vw,50px);line-height:1.2;margin:0 0 14px;color:var(--navy)}
.bl-hero-sub{font-size:18px;color:var(--text-3);line-height:1.8;margin:0 auto;max-width:620px}

/* language toggle — clean segmented control */
.bl-langs{display:inline-flex;gap:4px;background:#EEF4F8;border:1px solid var(--border);
  border-radius:999px;padding:5px;margin:28px auto 0}
.bl-langs a{padding:9px 26px;border-radius:999px;font-size:14px;font-weight:700;color:var(--text-2);transition:.18s}
.bl-langs a:hover{color:var(--navy)}
.bl-langs a.is-active{background:#fff;color:var(--teal-dark);box-shadow:0 2px 8px rgba(11,36,71,.12)}

/* search box — modern pill */
.bl-search{display:flex;align-items:center;gap:10px;max-width:560px;margin:24px auto 0;background:#fff;
  border:1.5px solid var(--border-strong);border-radius:999px;padding:7px 8px 7px 22px;box-shadow:0 6px 20px rgba(11,36,71,.06);
  transition:border-color .18s,box-shadow .18s,transform .18s}
.bl-search:focus-within{border-color:var(--teal);box-shadow:0 0 0 4px rgba(26,163,154,.13),0 8px 24px rgba(11,36,71,.08)}
.bl-search svg{color:var(--teal-dark);flex-shrink:0}
.bl-search input{flex:1;border:none;outline:none;background:none;font:inherit;font-size:15.5px;color:var(--text);padding:11px 2px}
.bl-search input::placeholder{color:var(--text-3)}
.bl-search button{background:linear-gradient(135deg,var(--teal-dark),var(--teal));color:#fff;border:none;
  border-radius:999px;padding:12px 26px;font-weight:700;font-size:14.5px;cursor:pointer;transition:.18s;flex-shrink:0}
.bl-search button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(26,163,154,.35)}

/* categories */
.bl-cats{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:40px 0 40px}
.bl-cats a{padding:9px 20px;border:1px solid var(--border-strong);border-radius:999px;font-size:14px;
  font-weight:600;color:var(--text-2);background:#fff;transition:.15s}
.bl-cats a:hover{border-color:var(--teal);color:var(--teal-dark);transform:translateY(-1px)}
.bl-cats a.is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.bl-cats a small{opacity:.55;font-weight:700;margin-inline-start:3px}

.bl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:30px}
.bl-card{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;box-shadow:var(--shadow-sm)}
.bl-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(11,36,71,.13);border-color:transparent}
.bl-card-media{position:relative;display:block;aspect-ratio:16/9;background:var(--bg-soft-2);overflow:hidden}
.bl-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.bl-card:hover .bl-card-media img{transform:scale(1.06)}
.bl-card-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#0B2447 0%,#19376D 60%,#1AA39A 140%)}
.bl-card-ph span{font-family:'Tajawal',sans-serif;font-size:54px;font-weight:800;color:rgba(255,255,255,.85)}
.bl-chip{position:absolute;inset-inline-start:14px;top:14px;background:var(--c,#1AA39A);color:#fff;
  font-size:12px;font-weight:700;padding:6px 14px;border-radius:999px;box-shadow:0 4px 12px rgba(11,36,71,.25)}
.bl-card-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:11px;flex:1}
.bl-card-body h2,.bl-card-body h3{font-size:21px;line-height:1.4;margin:0}
.bl-card-body h2 a,.bl-card-body h3 a{color:var(--navy)}
.bl-card-body h2 a:hover,.bl-card-body h3 a:hover{color:var(--teal-dark)}
.bl-card-body p{margin:0;color:var(--text-3);font-size:15px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden}
.bl-card-meta{margin-top:auto;padding-top:6px;display:flex;align-items:center;gap:8px;color:var(--text-3);font-size:13px;flex-wrap:wrap}
.bl-card-meta i{opacity:.5;font-style:normal}
.bl-card--big{grid-column:1/-1;flex-direction:row;margin-bottom:30px;align-items:stretch}
.bl-card--big .bl-card-media{flex:0 0 54%;aspect-ratio:auto}
.bl-card--big .bl-card-body{justify-content:center;padding:42px}
.bl-card--big h2{font-size:clamp(24px,3vw,33px)}
.bl-card--big p{-webkit-line-clamp:3;font-size:16.5px}
@media(max-width:820px){.bl-card--big{flex-direction:column}.bl-card--big .bl-card-media{flex:auto;width:100%;aspect-ratio:16/9}.bl-card--big .bl-card-body{padding:26px}}

.bl-pager{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:54px}
.bl-pager a{padding:11px 22px;border:1px solid var(--border-strong);border-radius:12px;font-weight:600;color:var(--text-2);transition:.15s}
.bl-pager a:hover{border-color:var(--teal);color:var(--teal-dark)}
.bl-pager span{color:var(--text-3);font-size:14px;min-width:90px;text-align:center}
.bl-empty{text-align:center;padding:70px 20px;color:var(--text-3);max-width:480px;margin:0 auto}
.bl-empty-ic{font-size:52px;margin-bottom:14px}
.bl-empty h3{color:var(--navy);font-size:24px;margin-bottom:8px}
.bl-empty p{margin-bottom:22px}

/* ---- article : wide content + sticky sidebar widgets (magazine layout) ---- */
.bl-article-wrap{max-width:1240px;margin:0 auto;padding:30px 28px 80px}
.bl-crumbs{display:flex;gap:8px;align-items:center;color:var(--text-3);font-size:13.5px;margin:4px 0 26px;flex-wrap:wrap}
.bl-crumbs a{color:var(--text-3)}.bl-crumbs a:hover{color:var(--teal-dark)}

/* No widgets → comfortable centered column. With widgets → 2-col grid. */
.bl-article{max-width:820px;margin:0 auto}
.bl-article.has-aside{max-width:none;margin:0;display:grid;column-gap:60px;row-gap:0;
  grid-template-columns:1fr;grid-template-areas:"head" "aside" "body"}
@media(min-width:1000px){
  .bl-article.has-aside{grid-template-columns:minmax(0,1fr) 330px;
    grid-template-areas:"head aside" "body aside"}
}
.bl-head-area{grid-area:head;min-width:0}
.bl-aside{grid-area:aside;min-width:0}
.bl-article.has-aside .bl-content{grid-area:body;min-width:0}
@media(min-width:1000px){.bl-aside{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:20px}}
@media(max-width:999px){.bl-aside{display:flex;flex-direction:column;gap:16px;margin:24px 0}}

.bl-article-head{margin:0}
.bl-article-head .bl-chip{position:static;display:inline-block;margin-bottom:16px}
.bl-article-head h1{font-size:clamp(30px,4vw,46px);line-height:1.25;margin:0;color:var(--navy)}
.bl-lead{font-size:20px;line-height:1.75;color:var(--text-2);margin:18px 0 0;max-width:760px}
.bl-byline{display:flex;align-items:center;gap:12px;margin:26px 0 0;padding:18px 0;
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap}
.bl-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--teal-dark),var(--blue));
  color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden;flex-shrink:0}
.bl-avatar img{width:100%;height:100%;object-fit:cover}
.bl-byline-who strong{display:block;color:var(--navy);font-size:15px}
.bl-byline-who small{color:var(--text-3);font-size:13px}
.bl-byline-meta{margin-inline-start:auto;display:flex;align-items:center;gap:8px;color:var(--text-3);font-size:13.5px}
.bl-cover{margin:30px 0 0;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.bl-cover img{width:100%;max-height:560px;object-fit:cover}

/* sidebar widgets */
.bl-widget{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px 22px;box-shadow:var(--shadow-sm)}
.bl-widget-title{font-weight:800;color:var(--navy);margin:0 0 12px;font-size:12.5px;text-transform:uppercase;letter-spacing:.6px}
.bl-takeaways{border-inline-start:4px solid var(--teal);background:linear-gradient(180deg,#F4FAFB,#fff)}
.bl-takeaways ul{margin:0;padding-inline-start:20px}
.bl-takeaways li{margin:9px 0;color:var(--text-2);line-height:1.6;font-size:15px}
.bl-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.bl-toc li{margin:1px 0;counter-increment:toc}
.bl-toc li.lvl-h3{padding-inline-start:16px}
.bl-toc a{color:var(--text-2);display:flex;gap:8px;padding:7px 10px;border-radius:8px;transition:.15s;
  border-inline-start:2px solid transparent;line-height:1.5;font-size:14.5px}
.bl-toc a::before{content:counter(toc);color:var(--teal-dark);font-weight:800;font-size:13px;flex-shrink:0}
.bl-toc li.lvl-h3 a{color:var(--text-3);font-size:13.5px}
.bl-toc li.lvl-h3 a::before{content:'–';color:var(--text-3)}
.bl-toc a:hover{color:var(--teal-dark);background:var(--bg-soft)}
.bl-toc a.is-active{color:var(--teal-dark);background:var(--bg-soft-2);border-inline-start-color:var(--teal);font-weight:600}

/* article body typography */
.bl-content{font-size:18.5px;line-height:1.95;color:#22324a;min-width:0;margin-top:34px}
.bl-content h2{font-size:28px;margin:38px 0 14px;scroll-margin-top:90px}
.bl-content h3{font-size:22px;margin:28px 0 10px;scroll-margin-top:90px}
.bl-content h4{font-size:18px;margin:22px 0 8px}
.bl-content p{margin:0 0 18px}
.bl-content a{color:var(--teal-dark);text-decoration:underline;text-underline-offset:3px}
.bl-content ul,.bl-content ol{margin:0 0 18px;padding-inline-start:26px}
.bl-content li{margin:8px 0}
.bl-content img,.bl-content figure img{border-radius:12px;margin:8px 0;box-shadow:var(--shadow-sm)}
.bl-content figure{margin:24px 0}
.bl-content figcaption{text-align:center;color:var(--text-3);font-size:14px;margin-top:8px}
.bl-content blockquote{margin:24px 0;padding:6px 22px;border-inline-start:4px solid var(--teal);
  background:var(--bg-soft);border-radius:0 12px 12px 0;color:var(--text-2);font-size:19px}
.bl-content pre{background:#0B1729;color:#E6EDF6;padding:18px 20px;border-radius:12px;overflow:auto;
  font-size:14.5px;direction:ltr;text-align:left;margin:24px 0}
.bl-content code{background:var(--bg-soft-2);padding:2px 7px;border-radius:6px;font-size:.9em;direction:ltr;display:inline-block}
.bl-content pre code{background:none;padding:0}
.bl-content hr{border:none;border-top:1px solid var(--border);margin:34px 0}
.bl-content table{width:100%;border-collapse:collapse;margin:24px 0;font-size:16px}
.bl-content th,.bl-content td{border:1px solid var(--border);padding:10px 14px;text-align:start}
.bl-content th{background:var(--bg-soft-2);color:var(--navy);font-weight:700}
.bl-content mark{background:#FEF3C7;padding:1px 4px;border-radius:4px}

.bl-faq{max-width:760px;margin:40px 0 0}
.bl-faq h2{font-size:26px}
.bl-faq details{border:1px solid var(--border);border-radius:12px;margin:10px 0;padding:0 18px;background:#fff}
.bl-faq summary{cursor:pointer;font-weight:700;color:var(--navy);padding:16px 0;list-style:none;font-size:17px}
.bl-faq summary::-webkit-details-marker{display:none}
.bl-faq summary::after{content:'+';float:left;color:var(--teal);font-size:22px}
.bl-faq details[open] summary::after{content:'−'}
.bl-faq details>div{padding:0 0 16px;color:var(--text-2)}

.bl-tags{display:flex;gap:8px;flex-wrap:wrap;margin:34px 0 0}
.bl-tags a{background:var(--bg-soft-2);color:var(--text-2);padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600}
.bl-tags a:hover{background:var(--teal);color:#fff}
.bl-share{display:flex;align-items:center;gap:10px;margin:28px 0 0;padding-top:22px;border-top:1px solid var(--border);flex-wrap:wrap}
.bl-share span{color:var(--text-3);font-size:14px;font-weight:600}
.bl-share a,.bl-share button{width:40px;height:40px;border-radius:10px;border:1px solid var(--border-strong);
  background:#fff;color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;
  font-weight:700;cursor:pointer;font-size:14px;transition:.15s}
.bl-share button{width:auto;padding:0 16px}
.bl-share a:hover,.bl-share button:hover{border-color:var(--teal);color:var(--teal-dark)}

.bl-related{max-width:1080px;margin:60px auto 0}
.bl-related h2{font-size:26px;margin-bottom:20px}
.bl-cta-band{max-width:1080px;margin:60px auto 0;background:linear-gradient(135deg,var(--navy),var(--navy-700));
  color:#fff;border-radius:22px;padding:48px 30px;text-align:center}
.bl-cta-band h2{color:#fff;font-size:30px}
.bl-cta-band p{color:#cfe0ee;margin:0 0 22px}
.bl-cta-band .bl-cta{background:#fff;color:var(--navy)}

/* blog CTA button (used in the article CTA band, empty state, 404) */
.bl-cta{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--teal-dark),var(--teal));
  color:#fff;padding:13px 28px;border-radius:12px;font-weight:700;font-size:15px;text-decoration:none;
  box-shadow:0 10px 26px rgba(26,163,154,.28);transition:transform .18s ease,box-shadow .18s ease}
.bl-cta:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(26,163,154,.38);color:#fff}

/* reading progress */
.bl-progress{position:fixed;top:0;inset-inline-start:0;height:3px;width:0;
  background:linear-gradient(90deg,var(--teal),var(--blue));z-index:60;transition:width .1s}
