/* Blog listing — the blocks of the owner's own blog page file: the featured
   article, the article-type filter, the article grid and the subscribe band.
   Page furniture (the banner, the section rhythm and the container) comes from
   the shared page shell, assets/css/page-shell.css; the filter row and the
   pagination are the site's own .pill-row and .pagination, and the closing
   button is the site's .btn-primary. Scoped to .bovt-blog so no other page is
   affected. Colours come from tokens.css. */

/* ===== Featured article ===== */
.bovt-blog .featured-post{display:flex;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(13,76,156,.08);margin-bottom:20px}
.bovt-blog .fp-img{flex:1.1;min-width:320px;position:relative}
.bovt-blog .fp-img .media{margin:0;height:100%}
.bovt-blog .fp-img img{width:100%;height:100%;min-height:320px;object-fit:cover;border-radius:0;border:none}
.bovt-blog .fp-badge{position:absolute;top:20px;left:20px;z-index:1;background:var(--color-orange);color:#fff;font-size:12px;font-weight:800;padding:6px 16px;border-radius:20px;text-transform:uppercase;letter-spacing:.06em}
.bovt-blog .fp-content{flex:1;padding:40px;display:flex;flex-direction:column;justify-content:center}
.bovt-blog .fp-cat{margin:0 0 12px;color:var(--color-blue);font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.bovt-blog .featured-post h2{font-size:25px;font-weight:800;line-height:1.3;margin:0 0 14px}
.bovt-blog .featured-post h2 a{color:var(--color-ink)}
.bovt-blog .featured-post h2 a:hover{color:var(--color-blue)}
.bovt-blog .fp-text{font-size:14.5px;color:#666;margin:0 0 18px}
.bovt-blog .fp-meta{margin:0 0 24px;font-size:12.5px;color:var(--color-muted)}
.bovt-blog .fp-content .btn-primary{align-self:flex-start}

/* ===== Filter row and article grid ===== */
.bovt-blog .section--flush{padding-top:0}
.bovt-blog .pill-row{justify-content:center;margin-bottom:46px}
.bovt-blog .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.bovt-blog .blog-card{display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 6px 20px rgba(13,76,156,.07);transition:transform .3s ease,box-shadow .3s ease}
.bovt-blog .blog-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(13,76,156,.14)}
.bovt-blog .bc-img{position:relative;line-height:0}
.bovt-blog .bc-img .media{margin:0}
.bovt-blog .bc-img img{border-radius:0;border:none}
.bovt-blog .bc-cat{position:absolute;top:14px;left:14px;z-index:1;background:var(--color-blue);color:#fff;font-size:11px;font-weight:800;padding:4px 12px;border-radius:16px;text-transform:uppercase;letter-spacing:.06em}
.bovt-blog .bc-body{padding:22px;display:flex;flex-direction:column;flex:1}
.bovt-blog .bc-date{margin:0 0 10px;font-size:11.5px;color:var(--color-muted)}
.bovt-blog .blog-card h3{font-size:16px;font-weight:800;line-height:1.4;margin:0 0 10px}
.bovt-blog .blog-card h3 a{color:var(--color-ink)}
.bovt-blog .blog-card h3 a:hover{color:var(--color-blue)}
.bovt-blog .bc-text{margin:0;font-size:13px;color:#666}
.bovt-blog .bc-foot{margin:auto 0 0;padding-top:16px}

/* ===== Subscribe band ===== */
.bovt-blog .newsletter{background:linear-gradient(135deg,var(--color-blue-dark),var(--color-blue));border-radius:24px;padding:50px 40px;text-align:center;color:#fff;margin:0 20px}
.bovt-blog .newsletter h2{font-size:26px;font-weight:800;margin:0 0 12px;color:#fff}
.bovt-blog .newsletter > p{margin:0 0 24px;font-size:14.5px;opacity:.92}
.bovt-blog .newsletter .notice{max-width:600px;margin:0 auto 22px;text-align:left;background:rgba(255,255,255,.08);border-left-color:var(--color-orange);color:#fff}
.bovt-blog .newsletter-form{display:flex;gap:10px;max-width:440px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.bovt-blog .newsletter-form input{flex:1;min-width:220px;padding:13px 18px;border:none;border-radius:24px;font-size:14px;font-family:inherit}
.bovt-blog .newsletter-form button{padding:13px 26px;border:none;border-radius:24px;background:var(--color-orange);color:#fff;font-size:14px;font-weight:700;font-family:inherit;opacity:.7}

@media (max-width:900px){
  .bovt-blog .featured-post{flex-direction:column}
  .bovt-blog .fp-img img{min-height:220px}
  .bovt-blog .fp-content{padding:30px 26px}
  .bovt-blog .blog-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .bovt-blog .blog-grid{grid-template-columns:1fr}
  .bovt-blog .newsletter{padding:36px 22px;margin:0}
}
