/* ==========================================================================
   Kingdom Global Fellowship — public forms, custom pages, resources,
   initiatives, and the site-settings announcement bar (package N).

   Loaded after style.css on the PHP pages this package renders, and pulled in
   by assets/js/site-settings.js for the announcement bar on every page.
   KGF's own vocabulary only: navy, gold, sky, Inter, Lora.
   ========================================================================== */

.kgf-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}

/* ---------- Built forms ---------- */
.kgf-form-wrap{max-width:860px}
.kgf-form-note{margin:0 0 22px;padding:14px 18px;border-radius:10px;background:#fff8e6;border:1px solid #efd9a0;border-left:4px solid var(--gold);color:var(--ink);font-size:.92rem}
.kgf-form-note a{color:var(--blue);font-weight:700;text-decoration:underline}
.kgf-help{display:block;color:var(--muted);font-size:.84rem;line-height:1.5}
.kgf-help a{color:var(--blue);text-decoration:underline}
.kgf-form-heading{margin:18px 0 0;padding-top:22px;border-top:1px solid var(--line);color:var(--navy);font-size:1.15rem;font-weight:800}
.kgf-built-form .field-grid > .kgf-form-heading:first-child{margin-top:0;padding-top:0;border-top:0}
.kgf-form-para{margin:0;color:var(--ink);line-height:1.65}
.kgf-fieldset{border:0;padding:0;margin:0;min-width:0}
.kgf-fieldset legend{font-size:.82rem;font-weight:800;color:var(--navy);letter-spacing:.01em;margin-bottom:9px;padding:0}
.kgf-fieldset legend .req,.field .consent .req{color:#b42318;margin-left:3px}
.kgf-fieldset legend .opt{color:var(--muted);font-weight:600;margin-left:5px}
.kgf-fieldset .kgf-help{margin:-4px 0 10px}
.kgf-built-form input[type="file"]{padding:10px;background:var(--offwhite)}

.kgf-form-sent{text-align:center}
.kgf-form-sent h2{margin:14px 0 8px;color:var(--navy)}
.kgf-form-sent .lead{margin:0 auto 14px;max-width:600px}
.kgf-form-sent .actions{justify-content:center;margin-top:26px}
.kgf-form-tick{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#e8f6ee;color:#146239;font-size:1.6rem;font-weight:900;border:2px solid #b7e0c6}

.kgf-missing-search{grid-template-columns:1fr auto;max-width:520px;margin:22px auto 0}

/* ---------- Custom page and initiative bodies ---------- */
.cms-body{max-width:760px;font-size:1.04rem;line-height:1.75;color:var(--ink)}
.cms-body > :first-child{margin-top:0}
.cms-body h2{margin:44px 0 14px;color:var(--navy);font-size:clamp(1.4rem,2.4vw,1.85rem);font-weight:900;line-height:1.2}
.cms-body h3{margin:30px 0 10px;color:var(--navy);font-size:1.18rem;font-weight:800}
.cms-body p{margin:0 0 18px}
.cms-body ul,.cms-body ol{margin:0 0 20px;padding-left:1.4em}
.cms-body li{margin:0 0 8px}
.cms-body li::marker{color:var(--gold-deep)}
.cms-body a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cms-body blockquote{margin:30px 0;padding:6px 0 6px 24px;border-left:4px solid var(--gold);font-family:var(--font-serif);font-style:italic;font-size:1.22rem;line-height:1.6;color:var(--navy)}
.cms-figure{margin:30px 0}
.cms-figure img{display:block;width:100%;height:auto;border-radius:var(--radius)}
.cms-figure figcaption{margin-top:10px;color:var(--muted);font-size:.86rem}
.split .cms-figure{margin:0}

/* ---------- Initiatives ---------- */
.kgf-initiative-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 10px 30px rgba(8,12,22,.06)}
.kgf-initiative-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(8,12,22,.1)}
.kgf-initiative-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.kgf-initiative-card .card-body{padding:24px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.kgf-initiative-card .pill{align-self:flex-start}
.kgf-more{margin-top:auto;padding-top:6px;color:var(--blue);font-weight:800;font-size:.86rem}
.kgf-crumb{color:inherit;text-decoration:none;border-bottom:1px solid rgba(105,196,235,.4)}
.kgf-involved{margin-top:30px}
.kgf-involved .btn{margin-top:6px}
.kgf-back{margin-top:40px}
.kgf-back a{color:var(--blue);font-weight:700}

/* ---------- Resources ---------- */
.kgf-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.kgf-filter .pill{text-decoration:none}
.kgf-filter .pill.is-on{background:var(--navy);color:#fff}
.kgf-group-title{margin:34px 0 14px;color:var(--navy);font-size:1.2rem;font-weight:800}
.kgf-group-title:first-of-type{margin-top:0}
.kgf-resource-list{display:grid;gap:12px}
.kgf-resource{display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:center;padding:18px 20px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--sky);border-radius:10px}
.kgf-resource.is-locked{border-left-color:var(--gold)}
.kgf-resource-type{display:grid;place-items:center;width:56px;height:56px;border-radius:10px;background:var(--offwhite);color:var(--navy);font-weight:900;font-size:.74rem;letter-spacing:.06em}
.kgf-resource.is-locked .kgf-resource-type{font-size:1.3rem;background:#fff8e6}
.kgf-resource-main h3{margin:0 0 4px;color:var(--navy);font-size:1.02rem;font-weight:800}
.kgf-resource-main p{margin:0 0 6px;color:var(--muted);font-size:.92rem;line-height:1.55}
.kgf-resource-main small{color:var(--muted);font-size:.8rem;font-weight:600}
.kgf-members-tag{color:var(--gold-deep);font-weight:800}
@media (max-width:640px){
  .kgf-resource{grid-template-columns:48px 1fr}
  .kgf-resource-type{width:44px;height:44px}
  .kgf-resource-action{grid-column:1/-1}
  .kgf-resource-action .btn{width:100%}
}

/* ---------- Archbishop page: invitation section ---------- */
.kgf-invite .callout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px}
.kgf-invite .callout h3{margin:8px 0 6px}

/* ---------- Site settings (assets/js/site-settings.js) ---------- */
[data-site].is-set{color:inherit;font-style:normal}
[data-site] a{color:var(--blue);font-weight:700}
.site-social{display:flex;flex-wrap:wrap;gap:10px 14px}
.site-social a{color:inherit;text-decoration:none;font-weight:700}
.site-social a:hover{text-decoration:underline}

/* The announcement bar: fixed under the menu, so nothing on the page — the
   home hero included — has to move to make room for it. Dismissible. */
.site-announce{position:fixed;left:0;right:0;top:calc(var(--topbar-h) + var(--nav-h));z-index:49;background:var(--gold);color:var(--navy);font-size:.88rem;font-weight:700;box-shadow:0 6px 18px rgba(8,12,22,.12)}
.site-announce .container{display:flex;align-items:center;justify-content:center;gap:14px;min-height:40px;padding:6px 36px 6px 0;position:relative;text-align:center}
.site-announce a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.site-announce button{position:absolute;right:0;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--navy);font-size:1.2rem;line-height:1;cursor:pointer}
.site-announce button:hover,.site-announce button:focus-visible{background:rgba(6,27,58,.1)}
