/*
Theme Name: Njesh Child
Template: wpzoom-inspiro-pro
Description: Plain white child theme for njesh.co.ke on WPZOOM Inspiro PRO. All customisation lives here so the parent can be updated safely.
Version: 1.0.0
*/

/* NB: Inspiro PRO sets html{font-size:62.5%}. All sizes here are px. */

html, body, .site, #page, .site-content, .content-area { background:#fff !important; }
body.nj { color:#1f2937; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size:17px; line-height:1.65; }

/* Header: a plain white bar with the site name only. No menu, search or side panel until there is content. */
body.nj .site-header,
body.nj .navbar,
body.nj .headroom,
body.nj .navbar.headroom--not-top { background:#fff !important; box-shadow:none !important; border-bottom:1px solid #eceff3; position:relative !important; }
body.nj .navbar-brand-wpz a,
body.nj .navbar-brand-wpz a:hover { color:#1f2937 !important; font-size:20px; font-weight:600; letter-spacing:.2px; text-transform:none; }
body.nj .navbar-toggle,
body.nj .navbar-collapse,
body.nj .sb-search,
body.nj .side-nav__scrollable-container,
body.nj .side-nav-overlay,
body.nj .header_social,
body.nj #sb-search { display:none !important; }

/* No hero/cover area on pages. */
body.nj .has-post-cover .entry-cover,
body.nj .entry-cover,
body.nj .page-header-cover { display:none !important; }

/* Content column */
body.nj .site-main { padding:0 !important; }
body.nj article.page { max-width:760px; width:100%; margin:0 auto; padding:48px 20px 64px; box-sizing:border-box; }
body.nj .entry-content,
body.nj .entry-info { width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important; box-sizing:border-box; }
body.nj .entry-content { color:#374151; overflow-wrap:break-word; }
body.nj .entry-content li { font-size:17px; color:#374151; }
body.nj h1.entry-title { font-size:34px !important; line-height:1.2 !important; margin:0 0 24px !important; }
body.nj .entry-header { text-align:left; margin:0 0 24px; padding:0; }
body.nj .entry-title { color:#111827; font-size:34px; line-height:1.2; font-weight:700; margin:0; text-transform:none; letter-spacing:0; }
body.nj .entry-content h2 { font-size:24px; color:#111827; margin:36px 0 12px; }
body.nj .entry-content h3 { font-size:20px; color:#111827; margin:28px 0 10px; }
body.nj .entry-content p { margin:0 0 18px; font-size:17px; }
body.nj .entry-content a { color:#0f5c8a; text-decoration:underline; }
body.nj .entry-content img { max-width:100%; height:auto; border-radius:6px; }
body.nj .entry-content .wp-block-button__link,
body.nj .entry-content button,
body.nj .entry-content input[type=submit] { background:#0f5c8a; color:#fff; border:0; border-radius:6px; padding:12px 22px; font-size:16px; font-weight:600; text-decoration:none; cursor:pointer; }
body.nj .entry-content input[type=text],
body.nj .entry-content input[type=email],
body.nj .entry-content textarea { width:100%; max-width:100%; border:1px solid #cfd6de; border-radius:6px; padding:11px 12px; font-size:16px; background:#fff; color:#111827; box-sizing:border-box; }
body.nj .entry-content label { font-size:15px; font-weight:600; color:#374151; }

/* The front page is intentionally empty for now. */
body.nj.home .site-header,
body.nj.home .navbar,
body.nj.home .site-footer,
body.nj.home #colophon { display:none !important; }
body.nj.home article.page { min-height:100vh; padding:0; }
body.nj.home .entry-header,
body.nj.home .entry-footer { display:none; }
body.nj.home article.page { min-height:55vh; }

/* Footer: one quiet line. */
body.nj .site-footer { background:#fff !important; color:#6b7280; border-top:1px solid #eceff3; padding:0; }
body.nj .site-footer .footer-widgets,
body.nj .site-footer .footer-menu,
body.nj .site-footer .site-footer-separator { display:none !important; }
body.nj .site-footer .inner-wrap { max-width:none; width:100%; padding:0; margin:0; }
body.nj .site-footer .site-info { padding:22px 20px; font-size:13px; color:#6b7280; text-align:center; float:none; width:100%; box-sizing:border-box; }
body.nj .site-footer .site-info .copyright { float:none; width:100%; text-align:center; margin:0; }
body.nj .site-footer .site-info a { color:#6b7280; }
body.nj .site-footer .site-info .designed-by { display:none; }

@media (max-width:600px){
  body.nj article.page { padding:36px 18px 56px; }
  body.nj h1.entry-title { font-size:27px !important; }
}

/* Sticky footer: the footer sits at the bottom of the window on short pages. */
body.nj .site, body.nj #page { min-height:100vh; display:flex; flex-direction:column; }
body.nj .site-main, body.nj #main, body.nj .site-content { flex:1 0 auto; }
body.nj .site-footer { flex-shrink:0; margin-top:auto; }
body.nj.admin-bar .site, body.nj.admin-bar #page { min-height:calc(100vh - 32px); }

/* Newsletter landing pages */
body.nj article:has(.hei-lp-hero) .entry-header,
body.nj article:has(.hei-lp-hero) .entry-info { display:none !important; }
body.nj article.page:has(.hei-lp-hero) { padding-top:0; max-width:920px; }
body.nj .hei-lp-hero { border-radius:0 0 10px 10px; overflow:hidden; margin-bottom:36px !important; }
body.nj .hei-lp-hero h1 { color:#fff !important; font-size:44px; line-height:1.15; font-weight:700; margin:0 0 10px; letter-spacing:0; }
body.nj .hei-lp-hero p { color:#fff !important; font-size:20px; margin:0; }
body.nj .entry-content h2 { font-size:26px; padding-top:8px; }
body.nj .entry-content h2::after { content:""; display:block; width:56px; height:4px; background:#f39c1f; border-radius:2px; margin-top:10px; }
body.nj .entry-content blockquote { border:0; border-left:4px solid #f39c1f; margin:0 0 18px; padding:4px 0 4px 16px; background:none; quotes:none; }
body.nj .entry-content blockquote::before, body.nj .entry-content blockquote::after { content:none !important; }
body.nj .entry-content blockquote p { font-style:italic; color:#111827; font-size:18px; line-height:1.5; margin:0 0 6px; }
body.nj .entry-content blockquote { font-size:14px; color:#6b7280; font-style:normal; }
body.nj .entry-content .hei-lp-hero + p { font-size:20px; line-height:1.6; color:#111827; }
body.nj .entry-content .nj-cap { font-size:14px; color:#6b7280; margin-top:-8px; }
body.nj .entry-content figure { margin:0 0 18px; }
body.nj .entry-content .wp-block-columns { gap:32px; margin-bottom:12px; }
body.nj .entry-content .wp-block-button__link { background:#f39c1f; color:#1f2937; }
body.nj .entry-content hr { border:0; border-top:1px solid #eceff3; margin:40px 0; }
@media (max-width:600px){
  body.nj .hei-lp-hero h1 { font-size:30px; }
  body.nj .hei-lp-hero p { font-size:16px; }
  body.nj article.page:has(.hei-lp-hero) { padding-left:0; padding-right:0; }
  body.nj article.page:has(.hei-lp-hero) .entry-content > *:not(.hei-lp-hero) { margin-left:18px; margin-right:18px; }
  body.nj .hei-lp-hero { border-radius:0; }
}

/* Readability pass */
body.nj .entry-content p, body.nj .entry-content li { font-size:17px !important; line-height:1.65 !important; color:#374151; }
body.nj .entry-content .hei-lp-hero + p { font-size:20px !important; color:#111827; }
body.nj .entry-content .hei-lp-hero p { font-size:20px !important; color:#fff !important; line-height:1.35 !important; }
body.nj .entry-content blockquote p { font-size:18px !important; color:#111827; }
body.nj .entry-content .wp-block-column figure img { width:100%; height:auto; }
@media (max-width:600px){
  body.nj .entry-content .hei-lp-hero h1 { font-size:24px !important; margin-bottom:6px; }
  body.nj .entry-content .hei-lp-hero p { font-size:14px !important; }
  body.nj .entry-content .hei-lp-hero .wp-block-cover__inner-container { padding:0 6px; }
}

/* Cover hero: text sits on the dark left side of the cover photo. */
body.nj .entry-content .hei-lp-hero .wp-block-cover__inner-container { max-width:46%; margin-left:5%; margin-right:auto; text-align:left; }
body.nj .entry-content .hei-lp-hero h1 { font-size:46px !important; text-shadow:0 2px 12px rgba(0,0,0,.55); }
body.nj .entry-content .hei-lp-hero p { text-shadow:0 1px 8px rgba(0,0,0,.6); }
@media (max-width:600px){
  body.nj .entry-content .hei-lp-hero .wp-block-cover__inner-container { max-width:58%; margin-left:4%; padding:0; }
  body.nj .entry-content .hei-lp-hero h1 { font-size:22px !important; }
  body.nj .entry-content .hei-lp-hero p { font-size:12px !important; }
}

/* Whole cover photo: the hero box follows the picture's own shape, so nothing is cut off. */
body.nj .entry-content .hei-lp-hero.hei-lp-hero-bilde { min-height:0 !important; max-height:none !important; height:auto !important; aspect-ratio:var(--hei-hero-ar, 1.7596) !important; background-size:100% auto !important; background-position:center top !important; }

/* Two choices side by side: read online or download. */
body.nj .entry-content .wp-block-buttons { display:inline-flex; margin:6px 12px 22px 0; vertical-align:top; }
body.nj .entry-content .wp-block-buttons + .wp-block-buttons .wp-block-button__link { background:#fff; color:#1f2937; box-shadow:inset 0 0 0 2px #f39c1f; }

/* Publisher logo under the hero: on its own line, not floated beside the text. */
body.nj figure.wp-block-image:has(img[src*="mirror-of-hope-logo"]) { float:none; margin:28px 0 6px; }
body.nj figure.wp-block-image:has(img[src*="mirror-of-hope-logo"]) + p { margin-top:0; font-size:14px; color:#4b5563; }
