/* Macroplast blog theme v3 - supplements mpl-system.css + mpl-product.css.
   Prose, cards, page-head, crumbs, CTA band and newsletter all come from the
   shared static-site stylesheets so the blog matches the Products page exactly. */
.mpl-blog-main{min-height:60vh}

/* category chips */
.mpl-chiprow{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2rem}
.mpl-chip{display:inline-block;padding:.32rem .8rem;font-size:.8rem;font-weight:600;color:var(--mpl-indigo);background:var(--mpl-surface-muted);border:1px solid var(--mpl-border);border-radius:2rem;text-decoration:none;transition:.15s}
.mpl-chip:hover{background:var(--mpl-indigo);color:#fff;border-color:var(--mpl-indigo)}

/* listing card tweaks on top of .mpl-card */
.mpl-card__meta{display:block}
.mpl-card__title{font-size:1.02rem;line-height:1.4}

/* article layout */
.mpl-article{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:3rem;align-items:start;margin:0 0 1rem}
.mpl-article__meta{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--mpl-ink-soft);font-weight:500;margin-bottom:.9rem}
.mpl-dot{color:var(--mpl-border)}
.mpl-article__title{font-size:2.1rem;line-height:1.18;margin:0 0 1.35rem}
.mpl-article__hero{width:100%;height:auto;border-radius:var(--mpl-radius);margin:0 0 1.75rem;display:block}

/* related */
.mpl-related{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--mpl-border)}
.mpl-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:1.25rem}
.mpl-related__card{display:flex;flex-direction:column;gap:.6rem;text-decoration:none;color:var(--mpl-ink);font-weight:600;font-size:.92rem;line-height:1.4}
.mpl-related__card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--mpl-radius);background:var(--mpl-surface-muted)}
.mpl-related__card:hover span{color:var(--mpl-indigo)}

/* ---------- Requirement form (single post aside) ---------- */
.mpl-req{background:var(--mpl-surface);border:1px solid var(--mpl-border);border-radius:var(--mpl-radius);overflow:hidden;position:relative}
.mpl-req::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--mpl-red)}
.mpl-req__head{background:var(--mpl-indigo-deep);color:#fff;padding:1.5rem 1.4rem 1.35rem}
.mpl-req__overline{display:inline-flex;align-items:center;gap:.5rem;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#fff;opacity:.85}
.mpl-req__overline::before{content:"";width:18px;height:2px;background:var(--mpl-red);display:inline-block}
.mpl-req__head h3{margin:.55rem 0 .4rem;color:#fff;font-size:1.22rem;line-height:1.25;font-weight:800}
.mpl-req__head p{margin:0;color:rgba(255,255,255,.78);font-size:.86rem;line-height:1.55}
.mpl-req__form{display:flex;flex-direction:column;gap:.85rem;padding:1.35rem 1.4rem 1.5rem}
.mpl-req__row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.mpl-req__form label{display:flex;flex-direction:column;gap:.32rem;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.64rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mpl-ink-soft)}
.mpl-req__form label span{color:var(--mpl-red)}
.mpl-req__form input,.mpl-req__form select,.mpl-req__form textarea{width:100%;box-sizing:border-box;border:1px solid var(--mpl-border);border-radius:var(--mpl-radius);background:var(--mpl-surface-muted);padding:.6rem .65rem;font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:.9rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--mpl-ink);transition:border-color .15s,background .15s,box-shadow .15s}
.mpl-req__form textarea{resize:vertical;min-height:90px;line-height:1.55}
.mpl-req__form select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--mpl-ink-soft) 50%),linear-gradient(135deg,var(--mpl-ink-soft) 50%,transparent 50%);background-position:calc(100% - 15px) 55%,calc(100% - 10px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2rem}
.mpl-req__form input:hover,.mpl-req__form select:hover,.mpl-req__form textarea:hover{border-color:#cfd3d9}
.mpl-req__form input:focus,.mpl-req__form select:focus,.mpl-req__form textarea:focus{outline:none;background:var(--mpl-surface);border-color:var(--mpl-indigo);box-shadow:0 0 0 3px rgba(58,58,140,.12)}
.mpl-req__form input::placeholder,.mpl-req__form textarea::placeholder{color:#9aa0aa;font-size:.86rem}
.mpl-req__submit{margin-top:.35rem;width:100%;justify-content:center}
.mpl-req__note{margin:.15rem 0 0;font-size:.72rem;line-height:1.5;color:var(--mpl-ink-soft)}
.mpl-req__direct{display:flex;flex-direction:column;gap:.5rem;padding:1.05rem 1.4rem 1.25rem;border-top:1px solid var(--mpl-border);background:var(--mpl-surface-muted)}
.mpl-req__direct a{display:flex;align-items:center;gap:.55rem;color:var(--mpl-indigo-deep);text-decoration:none;font-size:.84rem;font-weight:600;word-break:break-word}
.mpl-req__direct a:hover{color:var(--mpl-red)}
.mpl-req__direct i{color:var(--mpl-red);width:14px;text-align:center;flex:none}
/* pagination + empty state */
.mpl-pagination{margin:2.5rem 0 0}
.mpl-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .6rem;margin:0 .2rem;border:1px solid var(--mpl-border);border-radius:var(--mpl-radius);color:var(--mpl-ink);text-decoration:none;font-weight:600}
.mpl-pagination .page-numbers.current{background:var(--mpl-indigo);color:#fff;border-color:var(--mpl-indigo)}
.mpl-pagination .page-numbers:hover:not(.current){border-color:var(--mpl-indigo);color:var(--mpl-indigo)}
.mpl-pagination .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.mpl-empty{text-align:center;padding:3rem 0}

@media(max-width:900px){
  .mpl-article{grid-template-columns:1fr;gap:2rem}
  .mpl-article__aside{position:static}
  .mpl-related__grid{grid-template-columns:1fr 1fr}
  .mpl-article__title{font-size:1.7rem}
}
@media(max-width:1100px) and (min-width:901px){.mpl-req__row{grid-template-columns:1fr}}
@media(max-width:560px){.mpl-req__row{grid-template-columns:1fr}.mpl-related__grid{grid-template-columns:1fr}}