/* ==========================================================================
   Kingdom Global Fellowship — news, site search, questions & answers,
   legal pages and the credential-check page.

   Loaded only on those PHP-rendered pages, after style.css. KGF's own
   vocabulary throughout: navy and gold, Inter for reading, Lora italic for
   the one voice that should sound spoken (the pull quote).
   ========================================================================== */

/* ---------- shared bits ---------- */
.pill.is-active{background:var(--navy);color:#fff}
.news-count{display:inline-block;min-width:1.5em;margin-left:4px;padding:0 6px;border-radius:999px;background:rgba(6,27,58,.08);font-size:.7rem;text-align:center}
.pill.is-active .news-count{background:rgba(255,255,255,.18)}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}
.search-sr{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pagehero .eyebrow a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(105,196,235,.4)}
.pagehero .eyebrow a:hover{border-bottom-color:var(--sky)}

/* ==========================================================================
   News list
   ========================================================================== */
.news-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.news-filter .pill{text-decoration:none;transition:background .18s ease,color .18s ease}
.news-filter .pill:hover{background:#d8eaff}
.news-filter .pill.is-active:hover{background:var(--navy)}

.news-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;color:var(--muted);font-size:.8rem;font-weight:600}
.news-cat{color:var(--gold-deep);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:800}

.news-lead{display:grid;grid-template-columns:1.15fr 1fr;gap:0;margin-bottom:56px;background:#fff;border-top:3px solid var(--gold);box-shadow:0 18px 40px rgba(8,12,22,.08)}
.news-lead-media{display:block;min-height:340px;background:linear-gradient(125deg,var(--navy),var(--blue));overflow:hidden}
.news-lead-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.news-lead:hover .news-lead-media img{transform:scale(1.03)}
.news-lead-media.is-empty,.news-card-media.is-empty{display:grid;place-items:center}
.news-lead-media.is-empty img,.news-card-media.is-empty img{width:auto;height:auto;opacity:.9;object-fit:contain}
.news-lead-body{padding:40px 42px 38px;display:flex;flex-direction:column;justify-content:center}
.news-lead-body .eyebrow{color:var(--gold-deep)}
.news-lead-body h2{margin:12px 0 14px;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:900;line-height:1.1;color:var(--navy)}
.news-lead-body h2 a{color:inherit;text-decoration:none}
.news-lead-body h2 a:hover{color:var(--blue)}
.news-lead-body .lead{font-size:1.02rem;margin:0 0 18px}
.news-lead-cta{margin:22px 0 0}
@media (max-width:900px){
  .news-lead{grid-template-columns:1fr}
  .news-lead-media{min-height:220px;aspect-ratio:16/9}
  .news-lead-body{padding:28px 24px 30px}
}

.news-more-head{margin:0 0 24px;font-size:1.4rem !important}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media (max-width:900px){.news-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.news-grid{grid-template-columns:1fr}}

.news-card{display:flex;flex-direction:column;background:#fff;border-top:3px solid var(--sky);transition:box-shadow .2s ease,transform .2s ease}
.news-card:hover{box-shadow:0 14px 34px rgba(8,12,22,.10);transform:translateY(-3px)}
.news-card-media{display:block;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(125deg,var(--navy),var(--blue))}
.news-card-media img{display:block;width:100%;height:100%;object-fit:cover}
.news-card-body{padding:22px 22px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.news-card h3{margin:0;font-size:1.12rem;line-height:1.3;font-weight:800;color:var(--navy)}
.news-card h3 a{color:inherit;text-decoration:none}
.news-card h3 a:hover{color:var(--blue)}
.news-card p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.6}

.news-pager{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:44px;color:var(--muted);font-weight:700;font-size:.88rem}
.news-feed-link{margin:30px 0 0;text-align:center;font-size:.82rem}
.news-feed-link a{color:var(--muted);font-weight:700}

/* ==========================================================================
   One article
   ========================================================================== */
.news-hero .container>div{max-width:900px}
.news-hero-meta{margin-top:18px;font-size:.9rem !important;color:#b9cbe6 !important;font-weight:600}

.news-article-section{padding-top:64px}
.news-article-wrap{max-width:780px}
.news-cover{margin:0 0 42px}
.news-cover img{display:block;width:100%;height:auto;border-radius:var(--radius);box-shadow:0 18px 40px rgba(8,12,22,.12)}
.news-cover figcaption{margin-top:10px;color:var(--muted);font-size:.84rem}

.news-prose{font-size:1.08rem;line-height:1.8;color:var(--ink)}
.news-prose p{margin:0 0 1.25em}
.news-prose h2{margin:1.8em 0 .6em;font-size:1.55rem;font-weight:900;line-height:1.2;color:var(--navy)}
.news-prose h3{margin:1.6em 0 .5em;font-size:1.2rem;font-weight:800;color:var(--navy)}
.news-prose ul{margin:0 0 1.3em;padding-left:1.3em}
.news-prose li{margin:.35em 0}
.news-prose li::marker{color:var(--gold-deep)}
.news-prose a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.news-prose strong{color:var(--navy)}
.pull-quote{margin:2em 0;padding:6px 0 6px 28px;border-left:4px solid var(--gold)}
.pull-quote p{margin:0;font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:clamp(1.3rem,2.4vw,1.65rem);line-height:1.45;color:var(--navy)}

.news-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:44px;padding-top:22px;border-top:1px solid var(--line)}
.news-share-label{margin-right:6px;color:var(--navy);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}
.news-share a,.news-copy{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font:inherit;font-size:.8rem;font-weight:700;text-decoration:none;cursor:pointer;transition:border-color .18s ease,background .18s ease}
.news-share a:hover,.news-copy:hover{border-color:var(--navy);background:var(--offwhite)}
.news-back{margin-top:32px;font-weight:700}
.news-back a{color:var(--blue)}

.news-preview-bar{position:fixed;left:0;right:0;bottom:0;z-index:80;padding:12px 0;background:var(--gold);color:#1a1305;font-size:.9rem;box-shadow:0 -6px 20px rgba(0,0,0,.15)}
.news-preview-bar a{margin-left:10px;color:#1a1305;font-weight:800;text-decoration:underline}

/* ==========================================================================
   Site search
   ========================================================================== */
.search-wrap{max-width:900px}
.site-search-form{position:relative;display:grid;grid-template-columns:1fr auto;gap:12px;margin-bottom:40px}
.site-search-form input{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:1rem;color:var(--ink);background:#fff}
.site-search-form input:focus{outline:0;border-color:var(--royal);box-shadow:0 0 0 3px rgba(18,87,199,.14)}
.site-search-hint{grid-column:1/-1;color:var(--muted);font-size:.8rem}
@media (max-width:600px){.site-search-form{grid-template-columns:1fr}}

.search-suggest{position:absolute;z-index:20;left:22px;right:22px;top:76px;margin:0;padding:6px 0;list-style:none;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 40px rgba(8,12,22,.12)}
.search-suggest a{display:flex;align-items:center;gap:10px;padding:10px 16px;color:var(--ink);text-decoration:none}
.search-suggest a:hover,.search-suggest a:focus{background:var(--offwhite);outline:0}
.search-suggest b{font-weight:700;color:var(--navy)}

.search-popular-head{font-size:1.3rem !important;margin:0 0 18px !important}
.search-popular{gap:14px}
.search-popular-item{display:block;padding:18px 20px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease}
.search-popular-item:hover{box-shadow:0 10px 26px rgba(8,12,22,.08);border-left-color:var(--navy)}
.search-popular-item strong{display:block;color:var(--navy);font-weight:800}
.search-popular-item span{display:block;margin-top:4px;color:var(--muted);font-size:.88rem}

.search-types{display:flex;flex-wrap:wrap;gap:8px}
.search-types .pill{text-decoration:none}
.search-results{margin:0;padding:0;list-style:none}
.search-result{padding:22px 0;border-bottom:1px solid var(--line)}
.search-result:first-child{padding-top:4px}
.search-result-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.78rem;color:var(--muted)}
.search-type{display:inline-block;padding:3px 9px;border-radius:999px;background:#eaf4ff;color:var(--blue);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.search-result-news .search-type{background:#fbf1d8;color:#7a5a12}
.search-result-event .search-type{background:#e5f6ee;color:#17623f}
.search-url{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;color:#7b8598}
.search-result h3{margin:8px 0 6px;font-size:1.15rem;font-weight:800;line-height:1.3}
.search-result h3 a{color:var(--navy);text-decoration:none}
.search-result h3 a:hover{color:var(--blue);text-decoration:underline}
.search-result p{margin:0;color:var(--muted);line-height:1.65;font-size:.95rem}
.search-results mark,.search-result h3 mark{background:rgba(214,173,67,.32);color:inherit;padding:0 2px;border-radius:2px}

/* ==========================================================================
   Questions & answers
   ========================================================================== */
.faq-layout{display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start}
@media (max-width:900px){.faq-layout{grid-template-columns:1fr;gap:28px}}
.faq-layout>.empty-state{grid-column:1/-1}

.faq-nav{position:sticky;top:calc(var(--nav-h) + 24px)}
.faq-nav ul{margin:14px 0 0;padding:0;list-style:none;border-left:2px solid var(--line)}
.faq-nav a{display:flex;justify-content:space-between;gap:8px;padding:7px 0 7px 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--ink);font-size:.9rem;font-weight:600;text-decoration:none}
.faq-nav a:hover{border-left-color:var(--gold);color:var(--navy)}
@media (max-width:900px){
  .faq-nav{position:static}
  .faq-nav ul{display:flex;flex-wrap:wrap;gap:8px;border:0}
  .faq-nav a{padding:6px 12px;margin:0;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.8rem}
}

.faq-filter{margin-bottom:30px}
.faq-filter label{display:block;margin-bottom:8px;font-size:.82rem;font-weight:800;color:var(--navy)}
.faq-filter input{width:100%;padding:13px 16px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}
.faq-filter input:focus{outline:0;border-color:var(--royal);box-shadow:0 0 0 3px rgba(18,87,199,.14)}
.faq-filter-status{margin:8px 0 0;min-height:1.2em;color:var(--muted);font-size:.84rem}

.faq-group{margin-bottom:44px;scroll-margin-top:calc(var(--nav-h) + 20px)}
.faq-group h2{margin:0 0 16px !important;font-size:1.45rem !important}
.faq-item{background:#fff;border:1px solid var(--line);border-left:3px solid var(--sky);margin-bottom:10px;scroll-margin-top:calc(var(--nav-h) + 20px)}
.faq-item[open]{border-left-color:var(--gold)}
.faq-item summary{position:relative;padding:18px 52px 18px 22px;cursor:pointer;list-style:none;color:var(--navy);font-weight:800;line-height:1.4}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--offwhite);color:var(--navy);font-weight:800}
.faq-item[open] summary::after{content:"\2212";background:var(--gold);color:#1a1305}
.faq-item summary:focus-visible{outline:3px solid var(--royal);outline-offset:-3px}
.faq-answer{padding:0 22px 20px;color:var(--ink);line-height:1.75}
.faq-answer p{margin:0 0 .9em}
.faq-answer ul{margin:0 0 .9em;padding-left:1.2em}
.faq-answer a{color:var(--blue);font-weight:600}
.faq-permalink{margin:4px 0 0 !important;font-size:.78rem}
.faq-permalink a{color:var(--muted) !important;font-weight:600}
.faq-none{padding:20px;background:#fff;border:1px dashed var(--line);color:var(--muted)}

/* ==========================================================================
   Legal pages
   ========================================================================== */
.legal-layout{display:grid;grid-template-columns:230px minmax(0,760px);gap:56px;align-items:start}
@media (max-width:900px){.legal-layout{grid-template-columns:1fr;gap:26px}}
.legal-toc{position:sticky;top:calc(var(--nav-h) + 24px)}
.legal-toc ol{margin:14px 0 0;padding:0 0 0 18px;color:var(--muted);font-size:.88rem}
.legal-toc li{margin:6px 0}
.legal-toc a{color:var(--ink);font-weight:600;text-decoration:none}
.legal-toc a:hover{color:var(--blue);text-decoration:underline}
@media (max-width:900px){.legal-toc{position:static;padding:18px 20px;background:#fff;border:1px solid var(--line)}}

.legal-prose{background:#fff;padding:44px 48px;border-top:3px solid var(--gold);line-height:1.75;color:var(--ink)}
@media (max-width:600px){.legal-prose{padding:28px 22px}}
.legal-prose h2{margin:1.9em 0 .5em;font-size:1.35rem !important;line-height:1.25;scroll-margin-top:calc(var(--nav-h) + 20px)}
.legal-prose h3{margin:1.3em 0 .4em;font-size:1.02rem;color:var(--navy)}
.legal-prose p{margin:0 0 1em}
.legal-prose ul{margin:0 0 1.1em;padding-left:1.25em}
.legal-prose li{margin:.4em 0}
.legal-prose a{color:var(--blue);font-weight:600}
.legal-updated{color:var(--muted);font-size:.84rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.legal-summary{padding:18px 20px;background:var(--offwhite);border-left:4px solid var(--sky)}
.legal-related{margin-top:2.4em !important;padding-top:18px;border-top:1px solid var(--line);font-size:.9rem}

/* ==========================================================================
   Credential check page (/verify/{code}) and the Verify page's link line
   ========================================================================== */
.verify-code-line{margin-top:10px !important}
.verify-checked{margin-top:16px !important;font-size:.82rem !important}
.verify-again{margin:24px 0 0;text-align:center}
.verify-link{margin-top:16px !important;font-size:.82rem !important;word-break:break-all}
