/* ============================================================
   BELIGAS.MY — blog layout layer (post feed, sidebar, widgets)
   ============================================================ */

/* ---------- compact blog hero ---------- */
.blog-hero{
  padding:8vh 0 6vh;border-bottom:1px solid var(--line);position:relative;overflow:hidden;
}
.blog-hero .grid-bg{
  position:absolute;inset:0;opacity:.4;
  background:linear-gradient(rgba(237,233,232,.045) 1px,transparent 1px),
             linear-gradient(90deg,rgba(237,233,232,.045) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(ellipse 80% 90% at 30% 0%,black 20%,transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse 80% 90% at 30% 0%,black 20%,transparent 70%);
}
.blog-hero-inner{position:relative;display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:clamp(28px,4vw,56px)}
.blog-hero h1{font-size:clamp(40px,6.4vw,86px);margin-top:20px}
.blog-hero .lede{max-width:400px;color:var(--cream-dim);font-size:15px;padding-bottom:8px}
.blog-hero .lede b{color:var(--cream)}
.blog-hero .hero-copy{min-width:0}

/* hero feature image (replaces empty box in the hero) */
.hero-figure{
  position:relative;align-self:stretch;min-height:300px;overflow:hidden;
  border:1px solid var(--line-strong);
}
.hero-figure img{
  width:100%;height:100%;min-height:300px;object-fit:cover;display:block;
  transform:scale(1.05);transition:transform 1.4s var(--ease);
}
.hero-figure:hover img{transform:scale(1)}
.hero-figure::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(160deg,transparent 40%,rgba(255,84,50,.16)),
             linear-gradient(0deg,rgba(10,21,29,.55),transparent 55%);
}
.hero-figure .cap{
  position:absolute;left:14px;bottom:12px;z-index:2;
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--cream);background:rgba(10,21,29,.6);border:1px solid var(--line-strong);
  padding:6px 10px;backdrop-filter:blur(4px);
}

/* ---------- featured post (blog style) ---------- */
.feat-post{
  width:min(1240px,92vw);margin-inline:auto;
  display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--line);
  margin-top:0;
}
.feat-post .fp-cover{
  position:relative;min-height:460px;overflow:hidden;border-right:1px solid var(--line);
}
.feat-post .fp-cover .art{position:absolute;inset:0;transform:scale(1.1);transition:transform 1.3s var(--ease)}
.feat-post:hover .fp-cover .art{transform:scale(1.01)}
.feat-post .fp-cover .thumb-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.06);transition:transform 1.3s var(--ease);
}
.feat-post:hover .fp-cover .thumb-img{transform:scale(1)}
.feat-post .fp-cover .shade{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,rgba(10,21,29,.6),transparent 55%),
             linear-gradient(120deg,rgba(255,84,50,.16),transparent 60%);
}
.feat-post .fp-cover .glyph{position:absolute;right:8%;top:10%;width:min(200px,36%);filter:drop-shadow(0 18px 40px rgba(0,0,0,.45))}
.feat-post .fp-cover .idx{
  position:absolute;left:24px;bottom:-12px;font-family:var(--display);font-size:clamp(110px,13vw,190px);line-height:1;
  color:transparent;-webkit-text-stroke:1.5px rgba(237,233,232,.28);
}
.feat-post .fp-body{padding:clamp(28px,3.6vw,52px);display:flex;flex-direction:column;gap:18px}
.feat-post .fp-body h2{font-family:var(--display);font-size:clamp(26px,2.9vw,40px);text-transform:uppercase;line-height:1.03}
.feat-post .fp-body h2 a{transition:color .3s}
.feat-post .fp-body h2 a:hover{color:var(--flame)}
.feat-post .fp-body .ex{color:var(--cream-dim);font-size:15px;max-width:56ch}
.feat-post .fp-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-top:10px}

/* byline */
.byline{display:flex;align-items:center;gap:12px}
.byline .av{
  width:38px;height:38px;border-radius:50%;flex:none;
  background:linear-gradient(140deg,var(--flame),var(--amber));color:var(--ink);
  display:grid;place-items:center;font-family:var(--display);font-size:14px;
}
.byline .who{display:block;font-size:13px;color:var(--cream)}
.byline .meta{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-dim);margin-top:2px}

/* ---------- two-column blog body ---------- */
.blog-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(30px,4vw,64px);padding:7vh 0;align-items:start}
.feed-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  border-bottom:2px solid var(--cream);padding-bottom:14px;margin-bottom:8px;
}
.feed-head h2{font-family:var(--display);font-size:clamp(22px,2.6vw,32px);text-transform:uppercase}
.feed-head .mono{font-size:10px;letter-spacing:.18em;color:var(--cream-dim);text-transform:uppercase}

/* ---------- post rows (classic blog list) ---------- */
.post-row{
  display:grid;grid-template-columns:210px 1fr;gap:26px;
  padding:30px 0;border-bottom:1px solid var(--line);position:relative;
}
.post-row .pr-thumb{
  position:relative;height:150px;overflow:hidden;
}
.post-row .pr-thumb .art{position:absolute;inset:0;transform:scale(1.1);transition:transform 1s var(--ease)}
.post-row:hover .pr-thumb .art{transform:scale(1)}
.post-row .pr-thumb .thumb-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.08);transition:transform 1s var(--ease);
}
.post-row:hover .pr-thumb .thumb-img{transform:scale(1)}
.post-row .pr-thumb .shade{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,rgba(10,21,29,.72),rgba(10,21,29,.15) 60%,transparent),
             linear-gradient(120deg,rgba(255,84,50,.12),transparent 55%);
}
.post-row .pr-thumb .glyph{position:absolute;right:12px;top:12px;width:34px;opacity:.9}
.post-row .pr-thumb .idx{
  position:absolute;left:12px;bottom:-6px;font-family:var(--display);font-size:52px;line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(237,233,232,.35);
}
.post-row .pr-body{display:flex;flex-direction:column;gap:10px;min-width:0}
.post-row .pr-body h3{font-family:var(--display);font-size:clamp(19px,2vw,25px);text-transform:uppercase;line-height:1.1}
.post-row .pr-body h3 a{transition:color .3s}
.post-row:hover .pr-body h3 a{color:var(--flame)}
.post-row .pr-body .ex{color:var(--cream-dim);font-size:14px;max-width:62ch}
.post-row .pr-foot{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:auto;padding-top:6px;
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-dim);
}
.post-row .pr-foot .read{color:var(--flame);margin-left:auto;display:inline-flex;align-items:center;gap:8px}
.post-row .pr-foot .read .arr{transition:transform .3s var(--ease)}
.post-row:hover .pr-foot .read .arr{transform:translateX(4px)}

/* score badge */
.score-badge{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.08em;
  border:1px solid var(--flame);color:var(--flame);padding:4px 12px;border-radius:99px;
}
.score-badge svg{width:12px;height:14px;fill:var(--flame)}

/* ---------- sidebar ---------- */
.side{display:grid;gap:34px;position:sticky;top:110px}
.widget{border-top:2px solid var(--cream);padding-top:18px}
.widget h5{
  font-family:var(--display);font-size:15px;letter-spacing:.06em;text-transform:uppercase;
  margin-bottom:16px;display:flex;align-items:center;gap:10px;
}
.widget h5::before{content:"";width:8px;height:8px;background:var(--flame);flex:none}
.widget p{color:var(--cream-dim);font-size:13.5px}

/* search */
.w-search{display:flex;border:1px solid var(--line-strong)}
.w-search input{
  flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--cream);
  font-family:var(--mono);font-size:12px;padding:12px 14px;
}
.w-search input::placeholder{color:var(--cream-dim)}
.w-search button{
  padding:0 16px;color:var(--flame);font-family:var(--mono);font-size:12px;letter-spacing:.1em;
  transition:.3s;
}
.w-search button:hover{background:var(--flame);color:var(--ink)}

/* category list */
.w-cats a{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--cream-dim);
  transition:.3s;
}
.w-cats a:hover{color:var(--cream);padding-left:8px}
.w-cats a .n{font-family:var(--mono);font-size:10px;color:var(--flame)}

/* popular posts */
.w-pop a{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);align-items:start}
.w-pop a .rank{font-family:var(--display);font-size:24px;color:transparent;-webkit-text-stroke:1px var(--flame);line-height:1}
.w-pop a .t{display:block;font-size:13px;color:var(--cream);line-height:1.35;transition:color .3s}
.w-pop a:hover .t{color:var(--flame)}
.w-pop a .m{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--cream-dim);text-transform:uppercase;margin-top:5px}

/* mini price widget */
.w-price{display:grid;gap:0;border:1px solid var(--line)}
.w-price .row{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:11px 14px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px;
}
.w-price .row:last-child{border-bottom:none}
.w-price .row .v{color:var(--cream)}
.w-price .row .v.up{color:var(--down)}
.w-price .row .v.sub{color:var(--up)}
.w-price .row .lbl{color:var(--cream-dim);letter-spacing:.1em;text-transform:uppercase;font-size:10px}
.w-price .foot{
  padding:9px 14px;font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--cream-dim);
  text-transform:uppercase;background:rgba(237,233,232,.03);border-top:1px solid var(--line);
}

/* newsletter widget */
.w-news form{display:flex;flex-direction:column;gap:10px}
.w-news input{
  background:transparent;border:1px solid var(--line-strong);outline:none;color:var(--cream);
  font-family:var(--mono);font-size:12px;padding:12px 14px;width:100%;
}
.w-news input::placeholder{color:var(--cream-dim)}
.w-news button{
  background:var(--flame);color:var(--ink);font-family:var(--mono);font-size:11px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;padding:13px;transition:background .3s;
}
.w-news button:hover{background:var(--amber)}
.w-news .news-msg{font-size:10px;margin-top:2px}

/* ---------- pagination ---------- */
.pagination{
  display:flex;gap:8px;padding:40px 0 0;justify-content:flex-start;flex-wrap:wrap;
}
.pagination a,.pagination span{
  min-width:44px;height:44px;display:grid;place-items:center;padding:0 14px;
  border:1px solid var(--line-strong);font-family:var(--mono);font-size:12px;color:var(--cream-dim);
  transition:.3s;
}
.pagination a:hover{border-color:var(--flame);color:var(--flame);transform:translateY(-2px)}
.pagination .cur{background:var(--flame);border-color:var(--flame);color:var(--ink);font-weight:700}
.pagination .next{margin-left:auto}

/* ---------- archive (reviews page) ---------- */
.archive-bar{
  display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  margin-bottom:8px;
}
.archive-bar .filters{margin-bottom:0}
.result-count{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--cream-dim);text-transform:uppercase}
.post-row.hide{display:none}

/* tag cloud */
.w-tags{display:flex;flex-wrap:wrap;gap:8px}
.w-tags a{
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--line-strong);padding:6px 12px;color:var(--cream-dim);border-radius:99px;transition:.3s;
}
.w-tags a:hover{border-color:var(--flame);color:var(--flame)}

/* responsive */
@media (max-width:1080px){
  .blog-body{grid-template-columns:1fr}
  .side{position:static;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
  .feat-post{grid-template-columns:1fr}
  .feat-post .fp-cover{min-height:340px;border-right:none;border-bottom:1px solid var(--line)}
  .blog-hero-inner{grid-template-columns:1fr}
  .hero-figure{min-height:220px}
  .hero-figure img{min-height:220px}
}
@media (max-width:640px){
  .post-row{grid-template-columns:1fr;gap:16px}
  .post-row .pr-thumb{height:180px}
  .post-row .pr-foot .read{margin-left:0}
  .pagination .next{margin-left:0}
}
