/* Blog listing page */
.bl-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.bl-hero { background: linear-gradient(180deg, #f8f7f4 0%, #ffffff 100%); padding: 52px 0 34px; border-bottom: 1px solid #f0ece5; }
.bl-hero-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: end; }
.bl-hero h1 { font-family: "Playfair Display", serif; color: #0b2148; font-size: 2.6rem; line-height: 1.18; margin: 12px 0 12px; max-width: 640px; }
.bl-hero p { color: #4b5563; font-size: 1.05rem; line-height: 1.7; margin: 0; max-width: 600px; }
.bl-search { position: relative; }
.bl-search input {
  width: 100%; font: inherit; font-size: 0.97rem; color: #111827; background: #fff;
  border: 1px solid #e2ded5; border-radius: 12px; padding: 15px 16px 15px 48px;
  box-shadow: 0 8px 24px rgba(11, 33, 72, 0.06); transition: border-color .2s, box-shadow .2s;
}
.bl-search input:focus { outline: none; border-color: #d97706; box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15); }
.bl-search-ico { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #9ca3af; display: inline-flex; }
.bl-search-ico svg { width: 20px; height: 20px; }

.bl-tabs-wrap { position: sticky; top: 82px; z-index: 50; background: rgba(255, 255, 255, 0.96); backdrop-filter: blur(6px); border-bottom: 1px solid #ece8e1; }
.bl-tabs { display: flex; gap: 6px; overflow-x: auto; padding: 12px 0; scrollbar-width: none; }
.bl-tabs::-webkit-scrollbar { display: none; }
.bl-tab {
  flex-shrink: 0; font: inherit; font-size: 0.87rem; font-weight: 600; color: #374151; background: transparent; cursor: pointer;
  border: 1px solid transparent; border-radius: 999px; padding: 8px 14px; transition: all .2s;
}
.bl-tab b { font-size: 0.72rem; color: #9ca3af; margin-left: 4px; font-weight: 700; }
.bl-tab:hover { background: #f6f4ef; color: #0b2148; }
.bl-tab.is-active { background: #0b2148; color: #fff; }
.bl-tab.is-active b { color: #f5b754; }

.bl-section { padding: 64px 0; background: #fff; }
.bl-section--alt { background: #f8f7f4; }
.bl-top { padding-top: 44px; }
.bl-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 28px; }
.bl-head h2 { font-family: "Playfair Display", serif; color: #0b2148; font-size: 1.9rem; margin: 6px 0 4px; }
.bl-count { color: #6b7280; font-size: 0.92rem; margin: 0; }
.bl-clear { font: inherit; font-size: 0.86rem; font-weight: 600; color: #b45309; background: none; border: 1px solid #f3dfbd; border-radius: 999px; padding: 8px 14px; cursor: pointer; }
.bl-clear:hover { background: #fdf6ec; }

.bl-cat { display: inline-block; font-size: 0.72rem; letter-spacing: 1.4px; text-transform: uppercase; font-weight: 700; color: #b45309; }
.bl-meta { display: inline-flex; gap: 6px; align-items: center; color: #6b7280; font-size: 0.82rem; }
.bl-author { display: inline-flex; align-items: center; gap: 8px; color: #374151; font-size: 0.82rem; font-weight: 600; }
.bl-avatar { display: inline-flex; width: 26px; height: 26px; border-radius: 50%; align-items: center; justify-content: center; background: #0b2148; color: #f5b754; font-size: 0.62rem; font-weight: 700; letter-spacing: .5px; }
.bl-card-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 14px; margin-top: auto; padding-top: 16px; border-top: 1px solid #f0ece5; }

/* Featured + picks */
.bl-top-grid { display: grid; grid-template-columns: 1.75fr 1fr; gap: 36px; align-items: start; }
.bl-lead { display: flex; flex-direction: column; }
.bl-lead-img { display: block; border-radius: 18px; overflow: hidden; }
.bl-lead-img img { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; transition: transform .5s; }
.bl-lead:hover .bl-lead-img img { transform: scale(1.03); }
.bl-lead-body { padding: 22px 4px 0; display: flex; flex-direction: column; }
.bl-flag { display: inline-block; width: fit-content; background: #f5b754; color: #0b2148; font-size: 0.7rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; border-radius: 6px; padding: 3px 8px; margin-bottom: 10px; }
.bl-lead h2 { font-family: "Playfair Display", serif; font-size: 2rem; line-height: 1.25; margin: 8px 0 12px; }
.bl-lead h2 a, .bl-card h3 a { color: #0b2148; text-decoration: none; }
.bl-lead h2 a:hover, .bl-card h3 a:hover { color: #b45309; }
.bl-lead p { color: #4b5563; font-size: 1.02rem; line-height: 1.7; margin: 0 0 6px; }
.bl-side-title { font-size: 0.78rem; letter-spacing: 2px; text-transform: uppercase; color: #b45309; margin: 0 0 6px; padding-bottom: 12px; border-bottom: 2px solid #0b2148; }
.bl-pick { display: grid; grid-template-columns: 112px 1fr; gap: 14px; padding: 16px 0; border-bottom: 1px solid #ece8e1; text-decoration: none; }
.bl-pick:last-child { border-bottom: 0; }
.bl-pick img { width: 112px; height: 76px; object-fit: cover; border-radius: 10px; }
.bl-pick > span { display: flex; flex-direction: column; gap: 4px; }
.bl-pick strong { color: #0b2148; font-size: 0.97rem; line-height: 1.38; }
.bl-pick:hover strong { color: #b45309; }

/* Article grid */
.bl-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.bl-card { display: flex; flex-direction: column; background: #fff; border-radius: 16px; overflow: hidden; border: 1px solid #ece8e1; transition: transform .2s, box-shadow .2s; }
.bl-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(11, 33, 72, 0.1); }
.bl-card[hidden] { display: none; }
.bl-card-img { display: block; overflow: hidden; }
.bl-card-img img { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; transition: transform .5s; }
.bl-card:hover .bl-card-img img { transform: scale(1.04); }
.bl-card-body { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 18px; }
.bl-card h3 { font-size: 1.12rem; line-height: 1.4; margin: 8px 0 8px; }
.bl-card p { color: #4b5563; font-size: 0.92rem; line-height: 1.62; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.bl-empty { text-align: center; padding: 40px 0 10px; }
.bl-empty h3 { color: #0b2148; margin: 0 0 6px; }
.bl-empty p { color: #6b7280; margin: 0; }

/* Series */
.bl-series { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.bl-series-card { display: grid; grid-template-columns: 220px 1fr; background: #0b2148; border-radius: 18px; overflow: hidden; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.bl-series-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(11, 33, 72, 0.25); }
.bl-series-card img { width: 100%; height: 100%; object-fit: cover; min-height: 200px; }
.bl-series-body { display: flex; flex-direction: column; gap: 8px; padding: 24px; color: #cbd5e1; font-size: 0.9rem; line-height: 1.6; }
.bl-series-n { color: #f5b754; font-size: 0.72rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
.bl-series-body strong { color: #fff; font-family: "Playfair Display", serif; font-size: 1.25rem; line-height: 1.3; }
.bl-series-go { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; color: #f5b754; font-weight: 600; }
.bl-series-go svg { width: 16px; height: 16px; }

/* Topics */
.bl-topics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.bl-topic { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid #ece8e1; border-radius: 14px; padding: 18px; text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.bl-topic:hover { border-color: #eecd93; box-shadow: 0 12px 26px rgba(11, 33, 72, 0.08); }
.bl-topic-ico { display: inline-flex; width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px; align-items: center; justify-content: center; background: #fdf3e2; color: #b45309; }
.bl-topic-ico svg { width: 22px; height: 22px; }
.bl-topic strong { display: block; color: #0b2148; font-size: 0.95rem; }
.bl-topic small { display: block; color: #6b7280; font-size: 0.8rem; line-height: 1.45; margin-top: 2px; }
.bl-topic-n { margin-left: auto; font-size: 0.78rem; font-weight: 700; color: #0b2148; background: #f6f4ef; border-radius: 999px; padding: 3px 9px; }

@media (max-width: 1080px) {
  .bl-grid { grid-template-columns: repeat(2, 1fr); }
  .bl-topics { grid-template-columns: repeat(2, 1fr); }
  .bl-series { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .bl-hero-grid, .bl-top-grid { grid-template-columns: 1fr; gap: 26px; }
  .bl-tabs-wrap { top: 0; }
}
@media (max-width: 640px) {
  .bl-hero { padding: 34px 0 26px; }
  .bl-hero h1 { font-size: 1.9rem; }
  .bl-section { padding: 44px 0; }
  .bl-grid, .bl-topics { grid-template-columns: 1fr; }
  .bl-lead h2 { font-size: 1.5rem; }
  .bl-head { flex-direction: column; align-items: flex-start; }
  .bl-head h2 { font-size: 1.55rem; }
  .bl-series-card { grid-template-columns: 1fr; }
  .bl-series-card img { min-height: 0; height: auto; aspect-ratio: 16 / 9; }
  .bl-pick { grid-template-columns: 96px 1fr; }
  .bl-pick img { width: 96px; height: 66px; }
}
