/* ==========================================================================
   Insights (blog) additions. Uses the design tokens from style.css.
   ========================================================================== */

.screen-reader-text { border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px; word-wrap:normal !important; }
.screen-reader-text:focus { clip:auto; clip-path:none; height:auto; width:auto; margin:0; padding:12px 18px; background:var(--gold); color:var(--navy); z-index:9999; left:16px; top:16px; border-radius:8px; }

/* Sticky header clears the WordPress admin bar when logged in */
.admin-bar .site-header { top:32px; }
@media (max-width:782px) { .admin-bar .site-header { top:46px; } }

.section-flush-bottom { padding-bottom:0; }

/* ---------- Topic filter ---------- */
.filter-row { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:44px; }
.filter-chip { padding:9px 17px; border:1px solid var(--line); border-radius:999px; font-size:.82rem; font-weight:780; color:#415464; background:var(--white); transition:border-color .2s ease, background .2s ease, color .2s ease; }
.filter-chip:hover { border-color:var(--gold); }
.filter-chip[aria-current="page"] { background:var(--navy); color:var(--white); border-color:var(--navy); }

/* ---------- Cards ---------- */
.insight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.insight-card { padding:0; overflow:hidden; display:flex; flex-direction:column; height:100%; }
.insight-media { display:block; position:relative; aspect-ratio:3/2; background:var(--navy); overflow:hidden; }
.insight-media img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.insight-card:hover .insight-media img,
.insight-featured:hover .insight-media img { transform:scale(1.04); }
.insight-placeholder {
  position:absolute; inset:0; display:grid; place-items:center;
  background:
    radial-gradient(circle at 18% 20%, rgba(47,111,114,.32), transparent 42%),
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(135deg, #0c1b2a, #16344a);
  background-size:auto, 34px 34px, 34px 34px, auto;
}
.insight-placeholder span { font-family:var(--display); font-size:2.6rem; letter-spacing:.04em; color:#ddb77e; width:88px; height:88px; border:1px solid rgba(221,183,126,.4); border-radius:50%; display:grid; place-items:center; }
.insight-body { padding:26px 28px 30px; display:flex; flex-direction:column; flex:1; }
.insight-meta { display:flex; flex-wrap:wrap; gap:4px 16px; margin-bottom:12px; font-size:.74rem; text-transform:uppercase; letter-spacing:.09em; font-weight:800; color:var(--muted); }
.insight-meta .cat { color:var(--teal); }
.insight-card h3 { font-size:1.28rem; line-height:1.24; }
.insight-card h3 a:hover, .insight-featured h2 a:hover { color:var(--gold-deep); }
.insight-body .text-link { align-self:flex-start; margin-top:auto; padding-top:20px; }

/* ---------- Featured (newest) ---------- */
.insight-featured { display:grid; grid-template-columns:1.15fr .85fr; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-soft); margin-bottom:34px; }
.insight-featured .insight-media { aspect-ratio:auto; min-height:400px; height:100%; }
.insight-featured-body { padding:52px 48px; display:flex; flex-direction:column; justify-content:center; }
.insight-featured h2 { font-size:clamp(1.9rem,3vw,2.7rem); margin:4px 0 16px; }
.insight-featured p { color:var(--muted); margin:0 0 28px; font-size:1.05rem; }

/* ---------- Pagination ---------- */
.pagination { margin-top:56px; }
.pagination .nav-links { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; align-items:center; }
.pagination .page-numbers { min-width:44px; height:44px; padding:0 18px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:999px; font-weight:800; font-size:.88rem; color:#415464; transition:border-color .2s ease; }
.pagination a.page-numbers:hover { border-color:var(--gold); }
.pagination .page-numbers.current { background:var(--navy); color:var(--white); border-color:var(--navy); }
.pagination .page-numbers.dots { border:0; min-width:auto; padding:0 4px; }

/* ---------- Empty state ---------- */
.insights-empty { padding:72px 40px; text-align:center; border:1px dashed rgba(16,32,51,.25); border-radius:var(--radius-lg); background:var(--stone); }
.insights-empty h2 { margin:14px auto 16px; max-width:720px; font-size:clamp(1.9rem,3.4vw,3rem); }
.insights-empty p { max-width:560px; margin:0 auto 28px; color:var(--muted); }
.insights-empty .btn-row { justify-content:center; }

/* ---------- Single insight ---------- */
.post-hero { padding-bottom:110px; }
.post-hero h1 { font-size:clamp(2.4rem,5vw,4.3rem); max-width:980px; }
.post-meta { display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:30px; color:rgba(255,255,255,.72); font-size:.86rem; font-weight:600; }
.post-meta > * { display:inline-flex; align-items:center; gap:10px; }
.post-meta > * + *::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--gold); }

.post-cover { position:relative; z-index:2; width:min(1040px, calc(100% - 40px)); margin:-72px auto 0; }
.post-cover img { width:100%; height:auto; border-radius:var(--radius-lg); box-shadow:var(--shadow); border:5px solid var(--white); background:var(--stone); }
.post-cover figcaption { margin-top:12px; text-align:center; color:var(--muted); font-size:.85rem; }

.post-wrap { width:min(820px, calc(100% - 40px)); margin:0 auto; }
.post-section { padding:72px 0 96px; }
.has-cover .post-section { padding-top:56px; }

.entry-content { font-size:1.1rem; line-height:1.85; color:#22364a; overflow-wrap:anywhere; }
.entry-content > * + * { margin-top:1.4em; margin-bottom:0; }
.entry-content > *:first-child { margin-top:0; }
.entry-content h2 { font-size:clamp(1.75rem,3vw,2.4rem); margin-top:2.1em; }
.entry-content h3 { font-size:1.4rem; margin-top:1.9em; }
.entry-content h4 { font-size:1.1rem; margin-top:1.6em; }
.entry-content h2 + *, .entry-content h3 + *, .entry-content h4 + * { margin-top:.8em; }
.entry-content p { margin-bottom:0; }
.entry-content a { color:var(--teal); text-decoration:underline; text-decoration-color:rgba(47,111,114,.4); text-underline-offset:3px; }
.entry-content a:hover { color:var(--gold-deep); text-decoration-color:currentColor; }
.entry-content ul, .entry-content ol { padding-left:1.35em; }
.entry-content li + li { margin-top:.5em; }
.entry-content strong { color:var(--navy); }
.entry-content blockquote { margin-left:0; margin-right:0; padding:30px 36px; border-left:4px solid var(--gold); background:var(--stone); border-radius:0 var(--radius-md) var(--radius-md) 0; font-family:var(--display); font-size:1.4rem; line-height:1.4; color:var(--navy); }
.entry-content blockquote p { margin:0; }
.entry-content blockquote p + p { margin-top:.8em; }
.entry-content blockquote cite { display:block; margin-top:14px; font-family:var(--sans); font-style:normal; font-size:.85rem; color:var(--muted); }
.entry-content .wp-block-pullquote { padding:34px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); border-left:0; border-right:0; background:none; text-align:center; border-radius:0; }
.entry-content .wp-block-pullquote blockquote { border:0; background:none; padding:0; font-size:1.7rem; }
.entry-content figure { margin-left:0; margin-right:0; }
.entry-content img { height:auto; border-radius:var(--radius-md); }
.entry-content figcaption { margin-top:10px; font-size:.85rem; color:var(--muted); text-align:center; }
.entry-content iframe { max-width:100%; border:0; border-radius:var(--radius-md); }
.entry-content .wp-block-embed__wrapper { border-radius:var(--radius-md); overflow:hidden; }
.entry-content table { width:100%; border-collapse:collapse; font-size:.95rem; }
.entry-content th, .entry-content td { border:1px solid var(--line); padding:12px 14px; text-align:left; }
.entry-content th { background:var(--navy); color:var(--white); font-weight:800; }
.entry-content .wp-block-table { overflow-x:auto; }
.entry-content hr, .entry-content .wp-block-separator { border:0; border-top:1px solid var(--line); margin:2.6em auto; max-width:120px; background:none; }
.entry-content .alignleft { float:left; margin:.4em 1.6em 1em 0; max-width:50%; }
.entry-content .alignright { float:right; margin:.4em 0 1em 1.6em; max-width:50%; }
.entry-content .aligncenter { margin-left:auto; margin-right:auto; }
.entry-content .wp-block-file { padding:16px 20px; border:1px solid var(--line); border-radius:var(--radius-sm); }
.entry-content .wp-block-file .wp-block-file__button { background:var(--gold); color:var(--navy); border-radius:999px; font-weight:800; text-decoration:none; padding:8px 18px; }
.page-links { margin-top:2em; font-weight:700; }

.post-footer { display:flex; flex-wrap:wrap; gap:18px 28px; justify-content:space-between; align-items:center; margin-top:56px; padding-top:28px; border-top:1px solid var(--line); }
.post-footer .badge::before { display:none; }
.share-links { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-left:auto; font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; font-weight:850; color:var(--muted); }
.share-links a, .share-links button { padding:9px 15px; border:1px solid var(--line); border-radius:999px; background:var(--white); color:#415464; font-size:.8rem; font-weight:780; letter-spacing:0; text-transform:none; transition:border-color .2s ease; }
.share-links a:hover, .share-links button:hover { border-color:var(--gold); }

.author-card { display:grid; grid-template-columns:84px 1fr; gap:24px; align-items:center; margin-top:48px; padding:28px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--stone); }
.author-card img { width:84px; height:84px; border-radius:50%; object-fit:cover; object-position:center 16%; border:3px solid var(--white); box-shadow:var(--shadow-soft); }
.author-card h3 { font-size:1.15rem; }
.author-card p { margin:6px 0 10px; color:var(--muted); font-size:.95rem; line-height:1.6; }

/* ---------- Responsive ---------- */
@media (max-width:1020px) {
  .insight-grid { grid-template-columns:repeat(2,1fr); }
  .insight-featured { grid-template-columns:1fr; }
  .insight-featured .insight-media { min-height:0; aspect-ratio:16/9; }
}
@media (max-width:720px) {
  .insight-grid { grid-template-columns:1fr; }
  .insight-featured-body { padding:30px 24px 34px; }
  .post-hero { padding-bottom:92px; }
  .post-cover { margin-top:-56px; }
  .post-section { padding:52px 0 72px; }
  .has-cover .post-section { padding-top:40px; }
  .entry-content { font-size:1.05rem; }
  .entry-content blockquote { padding:24px 22px; font-size:1.2rem; }
  .entry-content .alignleft, .entry-content .alignright { float:none; max-width:100%; margin:1em 0; }
  .share-links { margin-left:0; }
  .author-card { grid-template-columns:1fr; padding:24px 22px; }
  .insights-empty { padding:48px 22px; }
}

/* Article without a cover image: less empty space under the title */
.insight-article:not(.has-cover) .post-hero { padding-bottom:84px; }
