.blog-intro { padding: 5rem 0 3.25rem; background-color: #faf8f2; }
.blog-filter-section { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }
.blog-filter-label { color:#312721; font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.filter-chip-list { display:flex; flex-wrap:wrap; gap:.6rem; }
.filter-chip { border:1px solid rgba(94,72,58,.22); border-radius:999px; background:#fff; color:#5e483a; cursor:pointer; font-size:.82rem; font-weight:600; padding:.65rem 1rem; transition:all .25s ease; }
.filter-chip:hover,.filter-chip.active { background:#312721; border-color:#312721; color:#f7f0e1; transform:translateY(-1px); }
.post-meta { align-items:center; display:flex; flex-wrap:wrap; font-size:.72rem; font-weight:700; gap:.55rem; letter-spacing:.08em; text-transform:uppercase; }
.featured-post-image img,.blog-card-image img { transition:transform .55s ease; }
.featured-post-image:hover img,.blog-card-image:hover img { transform:scale(1.045); }
.read-more-link { align-items:center; border-bottom:1px solid rgba(223,197,144,.7); color:#f7f0e1; display:inline-flex; font-size:.82rem; font-weight:700; gap:.65rem; padding-bottom:.35rem; transition:all .25s ease; }
.read-more-link:hover { border-color:#dfc590; color:#dfc590; gap:.9rem; }
.read-more-link.dark { border-color:rgba(94,72,58,.35); color:#4a3a2f; }
.read-more-link.dark:hover { border-color:#4a3a2f; color:#1b1410; }
.blog-card-premium { background:#fff; border:1px solid rgba(49,39,33,.07); border-radius:1.5rem; box-shadow:0 8px 30px rgba(42,31,23,.08); display:flex; flex-direction:column; min-height:100%; overflow:hidden; transition:transform .3s ease, box-shadow .3s ease; }
.blog-card-premium:hover { box-shadow:0 18px 42px rgba(42,31,23,.15); transform:translateY(-6px); }
.blog-card-image { display:block; height:15rem; overflow:hidden; }
.blog-card-image img { height:100%; object-fit:cover; width:100%; }
.blog-card-premium > div:last-child { display:flex; flex:1; flex-direction:column; }
.blog-card-premium .read-more-link { margin-top:auto; width:max-content; }
.blog-newsletter { background:linear-gradient(115deg,#1b1410,#3b3028 62%,#5e483a); }
.newsletter-form { display:flex; gap:.7rem; }
.newsletter-form input { background:#fff; border:1px solid rgba(255,255,255,.2); border-radius:999px; color:#312721; flex:1; min-width:0; padding:.9rem 1.2rem; outline:none; }
.newsletter-form button { background:#dfc590; border:0; border-radius:999px; color:#1b1410; cursor:pointer; font-weight:700; padding:.9rem 1.25rem; white-space:nowrap; }
.blog-article { max-width:52rem; }
.article-copy { color:#5a4d43; font-size:1.05rem; line-height:1.9; }
.article-copy .lead { color:inherit; font-family:inherit; font-size:inherit; line-height:inherit; }  /* running text: one size, one colour */
.article-copy p, .article-copy li { color:#5a4d43; font-size:1.05rem; line-height:1.9; }
.article-copy h2 { color:#1b1410; font-family:'Playfair Display',serif; font-size:2rem; font-weight:700; line-height:1.15; margin:3rem 0 1rem; }
.article-copy p { margin:1.1rem 0; }
.article-copy blockquote { border-left:3px solid #bc8c3f; color:#4a3a2f; font-family:'Playfair Display',serif; font-size:1.65rem; font-style:italic; line-height:1.4; margin:2.5rem 0; padding:.5rem 0 .5rem 1.5rem; }
.article-stats > div { background:#f3efe2; border:1px solid #eddfbf; border-radius:1rem; padding:1.1rem; }
.article-stats strong,.article-stats span { display:block; }
.article-stats strong { color:#312721; font-family:'Playfair Display',serif; font-size:1.8rem; }
.article-stats span { color:#687363; font-size:.72rem; letter-spacing:.1em; margin-top:.2rem; text-transform:uppercase; }
.article-gallery img { border-radius:1.25rem; height:15rem; object-fit:cover; width:100%; }
.article-tips { list-style:none; margin:1.5rem 0; padding:0; }
.article-tips li { align-items:flex-start; display:flex; gap:.8rem; margin:.8rem 0; }
.article-tips i { color:#a57131; margin-top:.4rem; }
.sidebar-card { background:#fff; border:1px solid rgba(49,39,33,.08); border-radius:1.5rem; box-shadow:0 8px 30px rgba(42,31,23,.08); padding:1.5rem; }
.sidebar-post { align-items:center; display:flex; gap:.8rem; }
.sidebar-post img { border-radius:.8rem; height:4.5rem; object-fit:cover; width:4.5rem; }
.sidebar-post strong { color:#312721; display:block; font-family:'Playfair Display',serif; line-height:1.25; }
.sidebar-post small { color:#687363; display:block; font-size:.7rem; margin-top:.35rem; }
.sidebar-categories { list-style:none; margin:0; padding:0; }
.sidebar-categories li + li { border-top:1px solid #ece9e4; }
.sidebar-categories a { color:#536052; display:flex; font-size:.9rem; justify-content:space-between; padding:.75rem 0; }
.sidebar-categories a:hover { color:#312721; }
.sidebar-categories span { color:#a57131; font-weight:700; }
@media (max-width:640px) { .blog-intro { padding:3.5rem 0 2.5rem; } .newsletter-form { align-items:stretch; flex-direction:column; } .newsletter-form button { width:100%; } .article-copy { font-size:1rem; } .article-copy h2 { font-size:1.7rem; } }

/* Blog index: filter toolbar */
.bl-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.6rem; }
.bl-search { position: relative; display: block; width: 100%; }
@media (min-width: 900px) { .bl-search { width: 17rem; } }
.bl-search i { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: #a57131; font-size: .85rem; pointer-events: none; }
.bl-search input { width: 100%; padding: .7rem 1rem .7rem 2.5rem; border-radius: 999px; border: 1px solid rgba(94,72,58,.22); background: #fff; color: #312721; font: inherit; font-size: .9rem; outline: none; transition: border-color .2s, box-shadow .2s; }
.bl-search input:focus { border-color: #bc8c3f; box-shadow: 0 0 0 4px rgba(188,140,63,.18); }
.bl-count { margin: 0 0 1rem; font-size: .85rem; color: #6d5f53; }
.bl-count:empty { display: none; }
.bl-empty { padding: 2.5rem 1rem; text-align: center; color: #6d5f53; }
.blog-feature[hidden], .blog-card-premium[hidden] { display: none; }
.blog-card-premium { box-shadow: none; }
.blog-card-premium:hover { box-shadow: 0 24px 40px -30px rgba(42,31,23,.45); }
