/* =====================================================================
   Servolink — Blog listing + single post
   Two-column: article stack on the left, product/enquiry sidebar right.
   Loads on top of inner-pages.css (banner, wrap, buttons, tokens).
   ===================================================================== */

.blog-layout{display:grid;grid-template-columns:1fr 330px;gap:36px;padding:38px 0 60px;align-items:start}

/* ---------------- article cards ---------------- */
.post-stack{display:flex;flex-direction:column;gap:34px}

.post-card{border-bottom:1px solid var(--grey-300);padding-bottom:32px}
.post-card:last-child{border-bottom:0;padding-bottom:0}
.post-thumb{
  display:block;position:relative;border-radius:6px;overflow:hidden;background:var(--soft);
  aspect-ratio:16/7
}
.post-thumb img{width:100%;height:100%;object-fit:contain;padding:8px;transition:transform .5s}
.post-card:hover .post-thumb img{transform:scale(1.03)}
.post-badge{
  position:absolute;top:14px;left:14px;background:var(--red);color:#fff;font-size:11px;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 12px;border-radius:3px
}
.post-body{padding-top:18px}
.post-meta{
  display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12.5px;
  color:var(--grey-600);margin-bottom:8px
}
.post-meta svg{width:14px;height:14px;stroke:var(--red);fill:none;stroke-width:1.8}
.post-card h2{font-size:23px;font-weight:800;line-height:1.25;margin-bottom:10px}
.post-card h2 a:hover{color:var(--red)}
.post-card p.excerpt{
  color:var(--grey-600);font-size:14.5px;margin-bottom:18px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden
}
.post-more{
  display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;
  font-size:12.5px;font-weight:600;letter-spacing:.03em;padding:10px 20px;border-radius:4px;transition:.25s
}
.post-more:hover{background:var(--red-deep);gap:12px;color:#fff}
.post-more svg{width:13px;height:13px}

.blog-empty{text-align:center;padding:70px 20px;color:var(--grey-600)}
.blog-empty h3{font-size:19px;color:var(--ink);margin-bottom:8px}

/* ---------------- sidebar ---------------- */
.blog-side{position:sticky;top:88px;display:flex;flex-direction:column;gap:22px}

.sb-box{border:1px solid var(--grey-300);border-radius:6px;overflow:hidden;background:#fff}
.sb-title{
  background:var(--grey-950);color:#fff;font-size:14.5px;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;padding:14px 18px;margin:0
}
.sb-list{list-style:none;margin:0;padding:6px 0}
.sb-list li + li{border-top:1px solid var(--grey-100)}
.sb-list a{
  display:flex;align-items:center;gap:10px;padding:11px 18px;font-size:13.5px;
  color:var(--grey-800);transition:.2s
}
.sb-list a::before{content:"\2192";color:var(--red);font-weight:700;flex-shrink:0;transition:transform .2s}
.sb-list a:hover{color:var(--red);background:var(--soft)}
.sb-list a:hover::before{transform:translateX(3px)}

/* enquiry card */
.sb-cta{
  display:block;position:relative;border-radius:6px;overflow:hidden;background:var(--grey-950);
  min-height:190px;color:#fff
}
.sb-cta img{width:100%;height:190px;object-fit:cover;opacity:.32}
.sb-cta-body{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:18px;background:linear-gradient(rgba(15,16,18,.55),rgba(15,16,18,.8))
}
.sb-cta-body b{font-family:var(--font-display);font-size:17px;font-weight:800}
.sb-cta-body em{font-style:normal;font-size:13px;color:#C7C8CB;margin:2px 0 12px}
.sb-cta-body strong{
  background:var(--red);color:#fff;font-family:var(--font-display);font-size:16px;font-weight:800;
  padding:9px 20px;border-radius:4px;transition:.25s
}
.sb-cta:hover .sb-cta-body strong{background:var(--red-deep);transform:translateY(-2px)}

/* topic chips */
.sb-chips{display:flex;flex-wrap:wrap;gap:8px;padding:16px 18px}
.sb-chips a{
  display:inline-flex;align-items:center;gap:6px;border:1px solid var(--grey-300);border-radius:20px;
  padding:5px 13px;font-size:12.5px;color:var(--grey-800);transition:.2s
}
.sb-chips a i{font-style:normal;font-family:var(--font-mono);font-size:11px;color:var(--grey-600)}
.sb-chips a:hover{border-color:var(--red);color:var(--red)}
.sb-chips a.on{background:var(--red);border-color:var(--red);color:#fff}
.sb-chips a.on i{color:rgba(255,255,255,.8)}

/* recent posts */
.sb-recent{list-style:none;margin:0;padding:8px 0}
.sb-recent li + li{border-top:1px solid var(--grey-100)}
.sb-recent a{display:flex;gap:12px;padding:12px 18px;align-items:center}
.sb-recent img{width:62px;height:52px;object-fit:contain;padding:3px;border-radius:4px;flex-shrink:0;background:var(--soft)}
.sb-recent b{
  display:block;font-family:var(--font-display);font-size:13px;font-weight:600;line-height:1.35;
  color:var(--ink);margin-bottom:3px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.sb-recent em{font-style:normal;font-size:11.5px;color:var(--grey-600);font-family:var(--font-mono)}
.sb-recent a:hover b{color:var(--red)}

/* quote box */
.sb-quote{padding:0 0 18px}
.sb-quote p{font-size:13.5px;color:var(--grey-600);padding:16px 18px 0;margin-bottom:16px}
.sb-btn{
  display:inline-flex;align-items:center;gap:8px;margin:0 18px;background:var(--red);color:#fff;
  font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;
  padding:11px 18px;border-radius:4px;transition:.25s
}
.sb-btn:hover{background:var(--red-deep);gap:12px;color:#fff}
.sb-btn svg{width:13px;height:13px}

/* ---------------- pagination ---------------- */
.blog-pager{display:flex;gap:8px;margin-top:40px;flex-wrap:wrap}
.blog-pager a,.blog-pager span{
  min-width:38px;height:38px;padding:0 12px;border:1px solid var(--grey-300);border-radius:4px;
  display:inline-flex;align-items:center;justify-content:center;font-size:13.5px;font-weight:600;
  color:var(--grey-800);background:#fff;transition:.2s
}
.blog-pager a:hover{border-color:var(--ink)}
.blog-pager .on{background:var(--red);border-color:var(--red);color:#fff}
.blog-pager .off{opacity:.4;pointer-events:none}

/* ---------------- single post ---------------- */
.post-hero{border-radius:6px;overflow:hidden;background:var(--soft);margin-bottom:24px;aspect-ratio:16/7}
.post-hero img{width:100%;height:100%;object-fit:contain;padding:10px}
.post-article h1{font-size:32px;font-weight:800;line-height:1.2;margin-bottom:12px}
.post-content{color:var(--grey-800);font-size:15.5px;line-height:1.75;margin-top:22px}
.post-content h2{font-size:23px;font-weight:800;margin:30px 0 12px}
.post-content h3{font-size:18px;font-weight:700;margin:24px 0 10px}
.post-content p{margin-bottom:16px}
.post-content ul,.post-content ol{margin:0 0 18px 20px}
.post-content li{margin-bottom:8px}
.post-content img{border-radius:6px;margin:18px 0;max-width:100%}
.post-content a{color:var(--red);text-decoration:underline}
.post-content blockquote{
  border-left:3px solid var(--red);background:var(--soft);padding:16px 20px;margin:20px 0;
  font-size:15px;color:var(--grey-800);border-radius:0 6px 6px 0
}
.post-back{display:inline-flex;align-items:center;gap:8px;margin-top:30px;font-size:13.5px;font-weight:600;color:var(--grey-800)}
.post-back:hover{color:var(--red)}

.related-head{margin:48px 0 22px;font-size:21px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rel-card .pic{aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:var(--soft);margin-bottom:12px}
.rel-card .pic img{width:100%;height:100%;object-fit:contain;padding:8px;transition:.5s}
.rel-card:hover .pic img{transform:scale(1.05)}
.rel-card .date{font-family:var(--font-mono);font-size:12px;color:var(--red);margin-bottom:5px}
.rel-card h4{font-size:14.5px;font-weight:700;line-height:1.35}
.rel-card h4 a:hover{color:var(--red)}

/* ---------------- responsive ---------------- */
@media (max-width:1000px){
  .blog-layout{grid-template-columns:1fr;gap:36px;padding-top:26px}
  .blog-side{position:static}
  .related-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .post-card h2{font-size:19px}
  .post-article h1{font-size:24px}
  .post-thumb,.post-hero{aspect-ratio:16/9}
  .related-grid{grid-template-columns:1fr}
  .post-content{font-size:15px}
}
