/* ============================================================
   Hexture — Blog (index, archives, single post)
   Builds on home.css + module.css + services.css tokens.
   ============================================================ */

/* ---------- hero ---------- */
.bl-hero{min-height:min(78vh,760px)}
.bl-hero h1 .k{font-size:.56em;line-height:1.5;margin-top:8px;font-weight:700}

/* single post hero: text only, centred column */
.bl-post-hero{min-height:0;padding-block:150px 96px}
.bl-post-head{position:relative;z-index:2;max-width:880px}
.bl-post-head h1{font-size:clamp(30px,4vw,50px);line-height:1.35}
.bl-post-head .lead{max-width:720px}
.bl-post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:26px;font-size:14px;color:var(--tlm)}
.bl-post-meta i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.5}
.bl-post-meta .by{display:inline-flex;align-items:center;gap:9px;color:var(--tl);font-weight:600}
.bl-post-meta .by img{height:22px;width:auto}

/* ---------- filter row ---------- */
.bl-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:38px}
.bl-filter a{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;background:var(--card);
  border:1px solid var(--line);font-size:14px;font-weight:600;color:var(--t2);transition:border-color .2s,color .2s,background .2s}
.bl-filter a:hover{border-color:var(--acc);color:var(--t1)}
.bl-filter a[aria-current="page"]{background:var(--t1);border-color:var(--t1);color:#fff}
.bl-filter em{font-style:normal;font-size:12px;opacity:.6}

/* ---------- post grid ---------- */
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bl-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden;
  transition:transform .3s var(--ez),box-shadow .3s var(--ez),border-color .3s}
.bl-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(36,29,24,.09);border-color:var(--line-2)}
.bl-media{display:block;aspect-ratio:16/9;background:var(--card-2);overflow:hidden}
.bl-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ez)}
.bl-card:hover .bl-media img{transform:scale(1.03)}
.bl-ph{position:relative;display:grid;place-items:center;width:100%;height:100%;
  background:radial-gradient(120% 90% at 85% 0%,rgba(240,135,15,.20),transparent 60%),linear-gradient(160deg,#20242A,#15181D)}
.bl-ph::before{content:'';position:absolute;inset:0;opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 0 56 16 56 48 28 64 0 48 0 16Z' fill='none' stroke='%23F0870F' stroke-opacity='.35' stroke-width='1'/%3E%3Cpath d='M28 48 56 64 56 96 28 112 0 96 0 64Z' fill='none' stroke='%23F0870F' stroke-opacity='.35' stroke-width='1'/%3E%3C/svg%3E")}
.bl-ph .hx{position:relative;width:74px;height:84px;display:grid;place-items:center;color:#fff;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(160deg,var(--acc),var(--acc-d))}
.bl-ph .hx svg{width:30px;height:30px}
.bl-body{display:flex;flex-direction:column;gap:10px;padding:24px 24px 22px;flex:1}
.bl-topic{align-self:flex-start;font-size:12.5px;font-weight:700;color:var(--acc-d);background:var(--acc-w,rgba(240,135,15,.1));
  padding:4px 12px;border-radius:999px}
.bl-card h3{font-size:19px;line-height:1.55;font-weight:700}
.bl-card h3 a{color:var(--t1);background-image:linear-gradient(currentColor,currentColor);background-size:0 1.5px;
  background-repeat:no-repeat;background-position:100% 100%;transition:background-size .35s var(--ez)}
.bl-card h3 a:hover{background-size:100% 1.5px}
.bl-card p{font-size:15px;line-height:1.85;color:var(--t2)}
.bl-meta{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line-2);font-size:13px;color:var(--t3)}
.bl-meta i{width:3px;height:3px;border-radius:50%;background:currentColor}

/* first post on page one spans the row */
.bl-card.feat{grid-column:1 / -1;flex-direction:row}
.bl-card.feat .bl-media{flex:0 0 54%;aspect-ratio:auto;min-height:340px}
.bl-card.feat .bl-body{padding:40px 40px 34px;justify-content:center}
.bl-card.feat h3{font-size:clamp(22px,2.4vw,30px);line-height:1.45}
.bl-card.feat p{font-size:16.5px}
.bl-card.feat .bl-meta{margin-top:18px}

/* ---------- pagination ---------- */
.bl-pager{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:48px}
.bl-pager .page-numbers{min-width:44px;height:44px;padding-inline:14px;display:inline-grid;place-items:center;border-radius:12px;
  background:var(--card);border:1px solid var(--line);font-weight:600;font-size:14.5px;color:var(--t2)}
.bl-pager a.page-numbers:hover{border-color:var(--acc);color:var(--t1)}
.bl-pager .current{background:var(--t1);border-color:var(--t1);color:#fff}
.bl-pager .dots{border:0;background:none}

/* ---------- empty state ---------- */
.bl-empty{text-align:center;max-width:620px;margin:0 auto 40px}
.bl-empty-ic{width:72px;height:72px;margin:0 auto 20px;border-radius:22px;display:grid;place-items:center;
  background:var(--acc-w,rgba(240,135,15,.1));color:var(--acc-d)}
.bl-empty h2{font-size:clamp(24px,3vw,32px);margin-bottom:12px}
.bl-empty p{font-size:17px;line-height:1.9;color:var(--t2);margin-bottom:6px}
.bl-empty .btn{margin-top:18px}
.bl-soon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.bl-soon-c{position:relative;display:flex;flex-direction:column;gap:10px;padding:30px 26px 26px;border-radius:24px;background:var(--card);
  border:1px dashed var(--line);transition:border-color .25s,transform .3s var(--ez),box-shadow .3s}
.bl-soon-c:hover{border-style:solid;border-color:var(--acc);transform:translateY(-4px);box-shadow:0 18px 44px rgba(36,29,24,.08)}
.bl-soon-c::after{content:'قريبًا';position:absolute;top:22px;inset-inline-end:22px;font-size:11.5px;font-weight:700;color:var(--t3);
  padding:3px 10px;border-radius:999px;background:var(--paper);border:1px solid var(--line-2)}
.bl-soon-c .hx{width:52px;height:58px;display:grid;place-items:center;color:#fff;margin-bottom:6px;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(160deg,var(--acc),var(--acc-d))}
.bl-soon-c small{font-size:13px;font-weight:700;color:var(--acc-d)}
.bl-soon-c b{font-size:18px;line-height:1.6;color:var(--t1)}
.bl-soon-c .go{margin-top:auto;padding-top:12px;font-size:14px;font-weight:700;color:var(--acc-d);display:inline-flex;align-items:center;gap:6px}
.bl-soon-c .go::after{content:'←';transition:transform .25s var(--ez)}
.bl-soon-c:hover .go::after{transform:translateX(-4px)}

/* ---------- single post ---------- */
.bl-article{padding-top:64px}
.bl-cover{margin:0 0 54px;border-radius:28px;overflow:hidden;border:1px solid var(--line);background:var(--card-2)}
.bl-cover img{width:100%;height:auto;display:block}
.bl-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:start}
.bl-aside{position:sticky;top:110px;display:flex;flex-direction:column;gap:18px}
.bl-share,.bl-ask{padding:24px;border-radius:22px;background:var(--card);border:1px solid var(--line)}
.bl-share b,.bl-ask b{display:block;font-size:15px;margin-bottom:14px}
.bl-share div{display:flex;gap:10px}
.bl-share a,.bl-share button{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--paper);
  border:1px solid var(--line-2);color:var(--t2);cursor:pointer;transition:color .2s,border-color .2s,background .2s}
.bl-share a:hover,.bl-share button:hover{color:#fff;background:var(--t1);border-color:var(--t1)}
.bl-copied{display:block;min-height:18px;margin-top:10px;font-size:13px;color:var(--acc-d);font-weight:600}
.bl-ask{background:linear-gradient(170deg,#20242A,#15181D);border-color:transparent;color:var(--tl)}
.bl-ask b{color:#fff}
.bl-ask p{font-size:14.5px;line-height:1.85;color:var(--tlm);margin-bottom:18px}
.bl-ask .btn{width:100%;justify-content:center}

/* article typography */
.bl-entry{max-width:72ch;font-size:18px;line-height:2;color:var(--t1)}
.bl-entry>*+*{margin-top:1.1em}
.bl-entry h2{font-size:clamp(24px,2.6vw,30px);line-height:1.45;margin-top:2em;padding-top:.2em}
.bl-entry h3{font-size:clamp(20px,2.1vw,23px);line-height:1.5;margin-top:1.7em}
.bl-entry h4{font-size:18.5px;margin-top:1.5em}
.bl-entry p{color:#3A322B}
.bl-entry a{color:var(--acc-d);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.bl-entry a:hover{color:var(--t1)}
.bl-entry strong{color:var(--t1)}
.bl-entry ul{list-style:disc}.bl-entry ol{list-style:decimal}
.bl-entry ul,.bl-entry ol{padding-inline-start:1.4em;color:#3A322B}
.bl-entry li+li{margin-top:.45em}
.bl-entry li::marker{color:var(--acc)}
.bl-entry blockquote{margin-inline:0;padding:22px 26px;border-inline-start:4px solid var(--acc);border-radius:0;border-start-end-radius:18px;border-end-end-radius:18px;
  background:var(--card);font-size:19px;line-height:1.9;color:var(--t1)}
.bl-entry blockquote p{color:inherit}
.bl-entry img,.bl-entry figure img{max-width:100%;height:auto;border-radius:18px}
.bl-entry figure{margin-inline:0}
.bl-entry figcaption{font-size:14px;color:var(--t3);text-align:center;margin-top:10px}
.bl-entry table{width:100%;border-collapse:collapse;font-size:15.5px;background:var(--card);border-radius:14px;overflow:hidden}
.bl-entry th,.bl-entry td{padding:12px 16px;border-bottom:1px solid var(--line-2);text-align:start}
.bl-entry th{background:var(--card-2);font-weight:700}
.bl-entry code{font-size:.88em;padding:2px 7px;border-radius:6px;background:var(--card-2)}
.bl-entry pre{padding:18px;border-radius:14px;background:#1C2026;color:#E7E2DA;overflow:auto;direction:ltr;text-align:start}
.bl-entry hr{border:0;height:1px;background:var(--line);margin-block:2.4em}

/* related */
.bl-rel-h{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:34px}

/* ---------- responsive ---------- */
@media(max-width:1100px){
  .bl-grid,.bl-soon{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bl-layout{grid-template-columns:1fr;gap:40px}
  .bl-aside{position:static;display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .bl-card.feat{flex-direction:column}
  .bl-card.feat .bl-media{flex:none;aspect-ratio:16/9;min-height:0}
  .bl-card.feat .bl-body{padding:24px}
  .bl-post-hero{padding-block:128px 70px}
  .bl-entry{font-size:17px}
}
@media(max-width:640px){
  .bl-grid,.bl-soon{grid-template-columns:1fr}
  .bl-aside{grid-template-columns:1fr}
  .bl-rel-h{flex-direction:column;align-items:flex-start}
  .bl-filter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
  .bl-filter::-webkit-scrollbar{display:none}
  .bl-filter a{flex-shrink:0}
}
@media(prefers-reduced-motion:reduce){
  .bl-card,.bl-card:hover,.bl-soon-c,.bl-soon-c:hover{transform:none;transition:none}
  .bl-media img{transition:none}
}
