/*
Theme Name: FNZ Kadence Child
Theme URI: https://familynurturezone.com/
Description: A calm, mobile-first Kadence child theme tailored to Family Nurture Zone's Blogger migration. Uses native WordPress categories/pages, preserves imported content and existing tool plugins.
Author: Family Nurture Zone
Template: kadence
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: fnz-kadence-child
*/
:root {
  --fnz-ink: #18324a;
  --fnz-text: #263c4d;
  --fnz-green: #1f8a5b;
  --fnz-green-dark: #176e49;
  --fnz-blue: #2d709e;
  --fnz-sky: #eff6fa;
  --fnz-line: #dfe8e3;
  --fnz-muted: #667785;
  --fnz-soft: #f7faf8;
  --fnz-gold: #f59e0b;
}
body.fnz-kadence { color: var(--fnz-text); overflow-wrap: break-word; }
.fnz-kadence a { text-underline-offset: .16em; }
.fnz-kadence a:focus-visible, .fnz-kadence button:focus-visible { outline: 3px solid var(--fnz-gold); outline-offset: 3px; }
#masthead { box-shadow: 0 1px 0 rgba(24,50,74,.1); }
#masthead .site-title { color: var(--fnz-ink); font-weight: 750; letter-spacing: -.02em; }
#masthead .site-branding { min-width: 0; }
#masthead .site-branding .brand.has-logo-image { display: flex; align-items: center; gap: 13px; min-width: 0; }
#masthead .site-branding .custom-logo { width: clamp(100px, 10vw, 152px); max-width: 152px; height: auto; max-height: 152px; object-fit: contain; }
#masthead .site-branding .fnz-header-tagline { display: block; flex: 1 1 auto; width: auto; max-width: 225px; margin: 0; color: #465d6c; font-size: 14px; font-weight: 600; line-height: 1.45; text-align: left; }
.wp-custom-logo #masthead .site-title, .wp-custom-logo #masthead .site-description { display: none; }
#masthead .header-navigation .menu > li > a { font-weight: 700; font-size: clamp(.78rem,.9vw,.9rem); letter-spacing: .005em; padding-inline: .41em; }
#masthead .header-navigation .menu > li > a:hover, #masthead .header-navigation .menu > li.current-menu-item > a { color: var(--fnz-green-dark); }
#masthead .main-navigation .primary-menu-container > ul { flex-wrap: wrap; }
#masthead .sub-menu { border-top: 2px solid var(--fnz-green); }
/* Archive cards preserve thumbnail dimensions and native crawlable pagination. */
#archive-container { row-gap: 24px; }
#archive-container > li.entry-list-item:not(.fnz-tools-loop-item) { display: flex; min-width: 0; }
#archive-container > li.entry-list-item:not(.fnz-tools-loop-item) > .entry { display: flex; flex-direction: column; width: 100%; min-width: 0; }
#archive-container > li.entry-list-item:not(.fnz-tools-loop-item) .entry-content-wrap { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
#archive-container .entry { border: 1px solid var(--fnz-line); border-radius: 14px; overflow: hidden; box-shadow: 0 4px 17px rgba(24,50,74,.055); transition: box-shadow .18s ease; }
#archive-container .entry:hover { box-shadow: 0 8px 20px rgba(24,50,74,.095); }
#archive-container .entry-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; font-weight: 740; line-height: 1.33; font-size: clamp(1.1rem, 1.35vw, 1.37rem); letter-spacing: -.01em; }
#archive-container .entry-summary { margin: .7rem 0 1.1rem; color: #4e6271; }
#archive-container .entry-summary p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; line-clamp: 5; overflow: hidden; font-size: .93rem; line-height: 1.64; margin: 0; }
#archive-container .entry-footer { margin-top: auto; padding-top: .65rem; }
#archive-container .post-thumbnail { overflow: hidden; }
#archive-container .post-thumbnail img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
#archive-container .entry-taxonomies a { color: var(--fnz-green-dark); font-weight: 700; }
.pagination .page-numbers, .page-numbers:not(.dots) { border-radius: 7px; }
.pagination .current, .page-numbers.current { background: var(--fnz-green-dark); color: white; }
/* Single-page article: Kadence owns the H1 and imported photos remain within HTML. */
.single-post .entry-header h1.entry-title { font-size: clamp(1.78rem,2.6vw,2.55rem); font-weight: 780; line-height: 1.25; letter-spacing: -.025em; }

/* The child theme already adds its own linked green category badge before
   the single-post header. Hide Kadence's repeated category text in that header,
   without changing archive/home category links or the stored taxonomy. */
.single-post .entry-header .entry-taxonomies { display: none; }

.single-post .entry-header .entry-meta { display: none; }
.single-post .entry-header { margin-bottom: 24px; }
.single-post .entry-content { line-height: 1.74; min-width: 0; }
.single-post .entry-content a:not(.button):not(.wp-block-button__link) { color: var(--fnz-blue); }
.single-post .entry-content a:not(.button):not(.wp-block-button__link):visited { color: #3f6791; }
.single-post .entry-content a:hover { text-decoration-thickness: 2px; }
.fnz-category-badge { margin: 0 0 12px; }
.fnz-category-badge a, .fnz-category-badge a:visited { display: inline-block; padding: 7px 11px; border-radius: 6px; background: var(--fnz-green-dark); color: white; font-weight: 750; font-size: .73rem; letter-spacing: .025em; line-height: 1.3; text-decoration: none; }
.fnz-category-badge a:hover { background: #105334; color: white; }
/* Related guides stay inside the single-post flow and use the same WordPress category. */
.entry-content .fnz-related-guides { margin: 2.5em 0 .6em; padding: 20px; border: 1px solid var(--fnz-line); border-radius: 14px; background: var(--fnz-soft); }
.entry-content .fnz-related-guides h2 { margin: 0 0 15px; font-size: clamp(1.15rem,2vw,1.4rem); line-height: 1.25; color: var(--fnz-ink); }
.entry-content .fnz-related-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; list-style: none; padding: 0; margin: 0; }
.entry-content .fnz-related-grid li { padding: 0; margin: 0; list-style: none; min-width: 0; }
.entry-content .fnz-related-grid li::before { content: none !important; }
.entry-content .fnz-related-grid a { display: block; border: 1px solid var(--fnz-line); border-radius: 10px; background: white; padding: 9px; text-decoration: none !important; height: 100%; }
.entry-content .fnz-related-grid a:hover { border-color: #a6c9b4; }
.entry-content .fnz-related-thumb { display: block; overflow: hidden; margin-bottom: 9px; border-radius: 6px; }
.entry-content .fnz-related-thumb img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.entry-content .fnz-related-name { display: block; color: var(--fnz-ink); font-size: .91rem; font-weight: 700; line-height: 1.45; }
/* Progress shown only on article pages via reading.js; never cover admin bar. */
#fnz-reading-progress { position: fixed; inset: 0 0 auto; height: 4px; z-index: 99990; pointer-events: none; background: #e5e7eb; }
#fnz-reading-progress-bar { display: block; width: 100%; height: 100%; background: var(--fnz-gold); transform-origin: left center; transform: scaleX(0); }
.admin-bar #fnz-reading-progress { top: 32px; }
/* Information/policy footer. Never display links to nonexistent pages. */
.fnz-site-footer { margin-top: 48px; border-top: 3px solid var(--fnz-green); background: #142a3a; color: #eaf0f3; }
.fnz-footer-inner { width: min(100% - 36px, 1170px); margin: 0 auto; padding: 30px 0 22px; display: flex; flex-wrap: wrap; gap: 20px 40px; align-items: flex-start; justify-content: space-between; }
.fnz-footer-brand { max-width: 360px; }
.fnz-footer-heading { margin: 0 0 8px; color: white; font-weight: 800; font-size: 1.1rem; }
.fnz-footer-description { margin: 0 0 15px; font-size: .89rem; line-height: 1.65; color: #d6e5e9; }
.fnz-footer-links { max-width: 660px; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; list-style: none; gap: 12px 19px; padding: 0; margin: 0; }
.fnz-footer-links li { list-style: none; padding: 0; margin: 0; }
.fnz-site-footer .fnz-footer-links a, .fnz-site-footer .fnz-footer-links a:visited { font-size: .89rem; color: #edf7f7; text-decoration: none; }
.fnz-site-footer .fnz-footer-links a:hover { color: #d4f6d9; text-decoration: underline; }
.fnz-site-footer .fnz-footer-pinterest, .fnz-site-footer .fnz-footer-pinterest:visited { display: inline-flex; gap: 9px; align-items: center; padding: 9px 13px; border: 1px solid rgba(255,255,255,.3); border-radius: 9px; color: white; text-decoration: none; font-size: .85rem; font-weight: 700; }
.fnz-site-footer .fnz-footer-pinterest:hover { border-color: #fff; background: rgba(255,255,255,.07); color: white; }
.fnz-footer-bottom { padding: 14px 18px 17px; border-top: 1px solid rgba(255,255,255,.14); text-align: center; font-size: .8rem; color: #bdd0d6; }
/* Sidebar is quieter than the old Blogger widget set. */
#secondary .widget-title { border-left: 4px solid var(--fnz-green); background: var(--fnz-ink); color: #fff; padding: 11px 12px; font-size: 1.06rem; }
.entry-content img, .entry-content video, .entry-content iframe { max-width: 100%; }
@media (min-width: 1025px) and (max-width: 1199px) {
  #main-header .site-main-header-inner-wrap.site-header-row-no-center { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 15px; }
  #main-header .site-main-header-inner-wrap.site-header-row-no-center > .site-header-section-left { flex: 1 1 100%; min-width: 0; }
  #main-header .site-main-header-inner-wrap.site-header-row-no-center > .site-header-section-right { flex: 1 1 100%; min-width: 0; justify-content: center; }
}
@media (min-width: 1200px) {
  #main-header .site-main-header-inner-wrap.site-header-row-no-center { display: flex; align-items: center; justify-content: space-between; gap: 13px; }
  #main-header .site-main-header-inner-wrap.site-header-row-no-center > .site-header-section-left { flex: 0 0 auto; min-width: 0; }
  #main-header .site-main-header-inner-wrap.site-header-row-no-center > .site-header-section-right { flex: 1 1 auto; min-width: 0; justify-content: flex-end; }
}
@media (max-width: 1024px) {
  #mobile-header .site-main-header-inner-wrap.site-header-row-no-center { display: flex; align-items: center; justify-content: space-between; gap: 11px; }
  #mobile-header .site-main-header-inner-wrap.site-header-row-no-center > .site-header-section-left { flex: 1 1 auto; min-width: 0; max-width: calc(100% - 54px); }
  #mobile-header .site-main-header-inner-wrap.site-header-row-no-center > .site-header-section-right { flex: 0 0 auto; min-width: 44px; margin-left: auto; justify-content: flex-end; }
  #mobile-header .site-branding .custom-logo { width: clamp(94px,28vw,125px); max-width: clamp(94px,28vw,125px); max-height: 125px; }
  #mobile-header .site-branding .fnz-header-tagline { font-size: clamp(12.5px,3.5vw,15px); max-width: 235px; }
  #mobile-header .menu-toggle-open { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; }
  #mobile-header .site-main-header-wrap .site-header-row-container-inner { padding-block: 9px; }
}
@media (max-width: 767px) {
  .single-post .entry-content-wrap { padding-inline: 17px; }
  .single-post .entry-header h1.entry-title { font-size: clamp(1.62rem,6.6vw,2.05rem); line-height: 1.28; }
  #archive-container .entry-title { font-size: clamp(1.13rem,5vw,1.44rem); }
  #archive-container .entry-summary p { -webkit-line-clamp: 4; line-clamp: 4; }
  .entry-content .fnz-related-guides { padding: 14px; }
  .entry-content .fnz-related-grid { grid-template-columns: 1fr; }
  .entry-content .fnz-related-grid a { display: flex; gap: 12px; align-items: flex-start; }
  .entry-content .fnz-related-thumb { flex: 0 0 90px; width: 90px; margin-bottom: 0; }
  .fnz-footer-inner { flex-direction: column; gap: 17px; }
  .fnz-footer-links { justify-content: flex-start; }
  .admin-bar #fnz-reading-progress { top: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  #archive-container .entry { transition: none; }
}
