.ave-blog { --ave-grid-ink:#22253d; --ave-grid-red:#b82b2f; --ave-grid-muted:#626777; width:100%; max-width:1200px; margin:0 auto; scroll-margin-top:130px; }
.ave-blog *, .ave-blog *::before, .ave-blog *::after { box-sizing:border-box; }
.ave-blog-grid { display:grid; gap:28px; align-items:stretch; }
.ave-blog-columns-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ave-blog-columns-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ave-blog-columns-1 { grid-template-columns:minmax(0,1fr); }
.ave-blog .ave-blog-card { margin:0; min-width:0; border:1px solid #e4e6ea; border-radius:12px; background:#fff; overflow:hidden; box-shadow:0 5px 22px rgb(34 37 61 / 4%); }
.ave-blog a.ave-blog-card-link { display:flex; flex-direction:column; height:100%; color:var(--ave-grid-ink); text-decoration:none; }
.ave-blog-media { aspect-ratio:16/10; overflow:hidden; background:#f2f3f5; }
.ave-blog .ave-blog-image { width:100%; height:100%; display:block; object-fit:contain; transition:transform .2s ease; }
.ave-blog-placeholder { display:flex; height:100%; align-items:center; justify-content:center; background:var(--ave-grid-ink); color:#fff; font-family:inherit; font-weight:700; font-size:22px; line-height:1.3; letter-spacing:.04em; border-bottom:5px solid var(--ave-grid-red); }
.ave-blog-card-body { display:flex; flex-direction:column; flex:1; padding:26px; }
.ave-blog .ave-blog-category { font-size:11px; line-height:1.5; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--ave-grid-red); margin:0 0 12px; }
.ave-blog h2.ave-blog-title { font-family:inherit; font-size:23px; font-weight:700; line-height:1.3; letter-spacing:-.02em; color:var(--ave-grid-ink); margin:0 0 14px; overflow-wrap:anywhere; }
.ave-blog-date { font-size:12px; line-height:1.5; color:var(--ave-grid-muted); margin-bottom:16px; }
.ave-blog .ave-blog-excerpt { font-size:15px; line-height:1.75; color:var(--ave-grid-muted); margin:0 0 24px; }
.ave-blog-read { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:auto; padding-top:18px; border-top:1px solid #e4e6ea; color:var(--ave-grid-red); font-size:14px; font-weight:700; }
.ave-blog-card-link:hover .ave-blog-title { color:var(--ave-grid-red); }
.ave-blog-card-link:hover .ave-blog-image { transform:scale(1.025); }
.ave-blog a:focus-visible { outline:3px solid var(--ave-grid-red); outline-offset:-4px; }
.ave-blog-pagination { margin-top:40px; }
.ave-blog-pagination ul.page-numbers { list-style:none; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; padding:0; margin:0; }
.ave-blog-pagination li { margin:0; }
.ave-blog-pagination :is(a,span).page-numbers { display:block; padding:10px 15px; min-width:44px; min-height:44px; border:1px solid #e4e6ea; border-radius:5px; font-size:14px; line-height:22px; text-align:center; text-decoration:none; color:var(--ave-grid-ink); background:#fff; }
.ave-blog-pagination span.current { color:#fff; background:var(--ave-grid-ink); border-color:var(--ave-grid-ink); }
.ave-blog-pagination a:hover { border-color:var(--ave-grid-red); color:var(--ave-grid-red); }
.ave-blog-empty { padding:30px; border:1px solid #e4e6ea; border-radius:10px; background:#f7f8fa; }
.ave-blog-empty a { color:var(--ave-grid-red); text-decoration:underline; }
@media(max-width:1000px) { .ave-blog-columns-3 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .ave-blog-grid { grid-template-columns:minmax(0,1fr); gap:24px; } .ave-blog-card-body { padding:22px; } .ave-blog h2.ave-blog-title { font-size:22px; } }
@media(prefers-reduced-motion:reduce) { .ave-blog .ave-blog-image { transition:none; } .ave-blog-card-link:hover .ave-blog-image { transform:none; } }
