/* =========================================================
   STH EVENTS — Blog pages (uses tokens from style-17.css)
   ========================================================= */
.blog-hero{ min-height:44vh; }

/* category filter */
.blog-cats{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:2.5rem; }
.blog-cats a{
  padding:.45rem 1.1rem; border:1px solid var(--border-soft); border-radius:40px;
  font-size:.88rem; color:var(--charcoal); background:var(--white);
}
.blog-cats a:hover{ border-color:var(--gold); color:var(--gold-dark); }
.blog-cats a.active{ background:var(--charcoal); border-color:var(--charcoal); color:var(--white); }

/* cards */
.blog-card{ height:100%; display:flex; flex-direction:column; background:var(--white); border:1px solid var(--border-soft); border-radius:var(--radius); overflow:hidden; }
.blog-card-img{ display:block; aspect-ratio:16/9; background:var(--cream); overflow:hidden; }
.blog-card-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.blog-card:hover .blog-card-img img{ transform:scale(1.04); }
.blog-card-noimg{ display:grid; place-items:center; height:100%; }
.blog-card-noimg img{ width:40%; opacity:.5; height:auto; }
.blog-card-body{ padding:1.4rem 1.5rem 1.6rem; display:flex; flex-direction:column; flex:1; }
.blog-card-body p{ font-size:.93rem; margin-bottom:1.1rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.blog-card-title{ font-size:1.3rem; margin:.5rem 0 .7rem; }
.blog-card-title a{ color:var(--charcoal); }
.blog-card-title a:hover{ color:var(--gold-dark); }
.blog-more{ margin-top:auto; font-weight:600; font-size:.9rem; color:var(--gold-dark); }
.blog-more:hover{ color:var(--charcoal); }

.blog-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:.4rem 1rem; font-size:.82rem; color:#7a7468; }
.blog-cat{ color:var(--gold-dark); font-weight:600; }

.blog-pager{ display:flex; justify-content:center; flex-wrap:wrap; gap:.4rem; margin-top:3rem; }
.blog-pager a{ min-width:42px; padding:.5rem .9rem; text-align:center; border:1px solid var(--border-soft); border-radius:4px; color:var(--charcoal); }
.blog-pager a.active{ background:var(--gold); border-color:var(--gold); }
.blog-pager a:hover{ border-color:var(--gold); }

.blog-empty{ text-align:center; max-width:520px; margin:2rem auto; }
.blog-empty p{ margin-bottom:1.5rem; }

/* single article */
.blog-preview-bar{ background:#fff4dc; color:#6b4a00; text-align:center; padding:.6rem 1rem; font-size:.9rem; }
.blog-post-head{ background:var(--charcoal); color:var(--white); padding:3.5rem 0 3rem; border-bottom:4px solid var(--gold); }
.blog-post-head h1{ color:var(--white); font-size:clamp(1.9rem, 3.6vw, 2.9rem); max-width:860px; margin:.8rem 0 1.2rem; }
.blog-crumbs{ font-size:.85rem; color:rgba(255,255,255,.65); }
.blog-crumbs a{ color:rgba(255,255,255,.75); }
.blog-crumbs a:hover{ color:var(--gold-light); }
.blog-crumbs .sep{ margin:0 .5rem; opacity:.6; }
.blog-meta-lg{ font-size:.9rem; color:rgba(255,255,255,.75); }
.blog-meta-lg .blog-cat{ color:var(--gold-light); }

.blog-post-wrap{ padding:3.5rem 0 5rem; }
.blog-post-cover{ width:100%; height:auto; border-radius:var(--radius); margin-bottom:2.2rem; }

.blog-content{ font-size:1.05rem; line-height:1.85; color:#3d3a34; max-width:72ch; }
.blog-content > *:first-child{ margin-top:0; }
.blog-content h2{ font-size:1.75rem; margin:2.4rem 0 1rem; }
.blog-content h3{ font-size:1.35rem; margin:2rem 0 .8rem; }
.blog-content h4{ font-size:1.12rem; margin:1.6rem 0 .6rem; }
.blog-content p{ margin:0 0 1.2rem; }
.blog-content a{ color:var(--gold-dark); text-decoration:underline; text-underline-offset:3px; }
.blog-content ul, .blog-content ol{ margin:0 0 1.3rem; padding-left:1.4rem; }
.blog-content li{ margin-bottom:.45rem; }
.blog-content img{ max-width:100%; height:auto !important; border-radius:8px; margin:1.6rem 0; }
.blog-content blockquote{ margin:1.8rem 0; padding:.4rem 0 .4rem 1.4rem; border-left:3px solid var(--gold); font-family:var(--font-display); font-size:1.25rem; color:var(--charcoal); }
.blog-content table{ width:100%; border-collapse:collapse; margin:1.5rem 0; font-size:.95rem; display:block; overflow-x:auto; }
.blog-content th, .blog-content td{ border:1px solid var(--border-soft); padding:.6rem .8rem; }
.blog-content th{ background:var(--cream); }
.blog-content iframe{ max-width:100%; aspect-ratio:16/9; height:auto; border:0; border-radius:8px; }
.blog-content hr{ border-color:var(--border-soft); margin:2.2rem 0; }

.blog-share{ display:flex; align-items:center; gap:.7rem; margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--border-soft); }
.blog-share span{ font-weight:600; color:var(--charcoal); margin-right:.3rem; }
.blog-share a{ width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--border-soft); border-radius:50%; color:var(--charcoal); }
.blog-share a:hover{ background:var(--gold); border-color:var(--gold); }

.blog-side-cta{ background:var(--cream); border:1px solid var(--border-soft); border-radius:var(--radius); padding:1.8rem; margin-bottom:2rem; }
.blog-side-cta p{ font-size:.93rem; }
.blog-side-phone{ display:block; text-align:center; margin-top:1rem; font-weight:600; color:var(--charcoal); }
@media (min-width: 992px){ .blog-side-cta{ position:sticky; top:96px; } }

.blog-side-list h2{ margin-bottom:1rem; }
.blog-side-item{ display:flex; gap:.9rem; align-items:flex-start; padding:.85rem 0; border-top:1px solid var(--border-soft); color:var(--charcoal); font-size:.92rem; line-height:1.45; font-weight:500; }
.blog-side-item img{ width:80px; height:60px; object-fit:cover; border-radius:6px; flex:0 0 80px; }
.blog-side-item small{ display:block; color:#7a7468; font-weight:400; margin-top:.25rem; }
.blog-side-item:hover{ color:var(--gold-dark); }

@media (prefers-reduced-motion: reduce){ .blog-card-img img{ transition:none; } }
