/*
Theme Name: PNZ Kadence Child
Theme URI: https://www.petnurturezone.com/
Description: Pet Nurture Zone editorial child theme for Kadence. Mobile-first PNZ styling, automatic native WordPress category navigation, accessible footer and migration-safe article presentation.
Author: Pet Nurture Zone
Template: kadence
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: pnz-kadence-child
*/

:root {
  --pnz-ink: #202533;
  --pnz-blue: #2563eb;
  --pnz-green: #0b8043;
  --pnz-navy: #171b63;
  --pnz-orange: #f59e0b;
  --pnz-line: #e5e9ef;
  --pnz-muted: #5c6675;
  --pnz-soft: #f8fafc;
}

/* Preserve Kadence's native responsive header, but give it PNZ's identity. */
.site-header, .site-header-wrap { background: #fff; }
.site-header .site-title, .site-branding .site-title {
  font-weight: 750;
  letter-spacing: -.025em;
  color: var(--pnz-ink);
}
.site-header .custom-logo { object-fit: contain; max-height: 98px; width: auto; }
.site-header a:focus-visible, .site-footer a:focus-visible,
.pnz-tool-card:focus-visible, .pnz-trust-links a:focus-visible,
.entry-content a:focus-visible { outline: 3px solid var(--pnz-orange); outline-offset: 3px; }
.site-header .header-navigation a, .site-header .header-menu-container a { font-weight: 650; }
#primary-menu a:hover, .site-header .header-navigation a:hover { color: var(--pnz-green); }

body { color: var(--pnz-ink); overflow-wrap: break-word; }
a { text-underline-offset: .14em; }
#masthead { box-shadow: 0 1px 0 rgba(30,41,59,.07); }

/* Archive cards and clean visual hierarchy. */
#archive-container { row-gap: 25px; }
#archive-container .entry { border: 1px solid var(--pnz-line); border-radius: 13px; overflow: hidden; }
#archive-container .entry-title { line-height: 1.32; letter-spacing: -.015em; font-weight: 730; }
#archive-container .entry-summary, #archive-container .entry-summary p { line-height: 1.65; color: #475569; }
#archive-container .entry-taxonomies .category-links a,
#archive-container .entry-taxonomies .category-style-pill a { color: var(--pnz-green); font-weight: 700; }
#archive-container .post-thumbnail img, #archive-container .entry-hero-container img { object-fit: cover; }

/* Native WordPress pagination: consistent, crawlable pages. */
.pagination .page-numbers, .page-numbers:not(.dots) {
  border-radius: 7px;
}
.pagination .current, .page-numbers.current { background: var(--pnz-green); color: #fff; }

/* Footer: PNZ renders one native footer, replacing the default Kadence copyright row. */
.pnz-trust-footer { background: #101827; color: #e5e7eb; padding: 19px 18px; }
.pnz-trust-inner { max-width: 1200px; margin: auto; display: flex; gap: 15px 25px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.pnz-trust-brand { color: #fff; font-weight: 700; font-size: .95rem; }
.pnz-trust-links { display: flex; gap: 10px 21px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.pnz-trust-links li { margin: 0; padding: 0; }
.pnz-trust-links a, .pnz-trust-links a:visited { color: #e5e7eb; text-decoration: none; font-size: .86rem; }
.pnz-trust-links a:hover { color: #ffcc7c; text-decoration: underline; }

/* Site sidebar uses Blogger-inspired, quieter section bars. */
#secondary .widget-title { border-left: 4px solid var(--pnz-green); padding: 12px; background: #101827; color: white; font-size: 1.05rem; }
#secondary .widget { margin-bottom: 22px; }

/* Imported content must not blow out Kadence's grid. */
.entry-content, .single-content, .entry-content .pnz-article { min-width: 0; }
.entry-content img, .entry-content iframe, .entry-content video { max-width: 100%; height: auto; }
.entry-content .pnz-article { font-size: 16px; line-height: 1.72; }
.entry-content .pnz-article .separator, .entry-content .pnz-article .pnz-image { text-align: center; margin: 1.55em auto; }
.entry-content .pnz-article img { max-width: 100%; height: auto; }

/* Kadence single: remove noisy duplicate meta; preserve real WordPress H1. */
.single-post .entry-header h1.entry-title { font-size: clamp(1.75rem, 2.6vw, 2.55rem); font-weight: 780; line-height: 1.24; letter-spacing: -.025em; }
.single-post .entry-header .entry-meta { display: none; }
.single-post .entry-header { margin-bottom: 22px; }
.single-post .entry-content { line-height: 1.72; }
.single-post .entry-content a:not(.wp-block-button__link):not(.button) { color: var(--pnz-blue); }
.single-post .entry-content a:not(.wp-block-button__link):not(.button):visited { color: #3559a8; }
.single-post .entry-content a:hover { text-decoration-thickness: 2px; }

/* Ensure external scripts/forms are not distorted by Kadence defaults. */
.pnz-article input, .pnz-article select, .pnz-article button, .pnz-article textarea { max-width: 100%; }
.pnz-article .pnz-box, .pnz-article .pnz-callout { box-sizing: border-box; }

@media(max-width: 767px) {
  .site-header .custom-logo { max-height: 68px; }
  .site-header .site-title { font-size: 1rem; }
  .single-post .entry-content-wrap { padding-left: 17px; padding-right: 17px; }
  .single-post .entry-header h1.entry-title { font-size: clamp(1.65rem, 6.8vw, 2.05rem); line-height: 1.29; }
  .pnz-trust-footer { padding: 22px 17px; }
  .pnz-trust-inner { align-items: flex-start; }
  .pnz-trust-links { gap: 9px 15px; }
  #archive-container .entry-title { font-size: clamp(1.15rem, 5vw, 1.5rem); }
}
@media(prefers-reduced-motion: reduce) {
  .pnz-tool-card, .pnz-tool-card:hover { transition: none !important; transform: none !important; }
}

.pnz-category-badge { margin: 0 0 10px; }
.pnz-category-badge a, .pnz-category-badge a:visited {
  display: inline-block; background: #0b8043; color: #fff; padding: 7px 11px;
  border-radius: 4px; font-size: .73rem; font-weight: 780; line-height: 1.2;
  letter-spacing: .045em; text-transform: uppercase; text-decoration: none;
}
.pnz-category-badge a:hover { background: #07542c; color: #fff; }


/* === PNZ v1.1: unified navigation, editorial cards and footer === */
/* The original logo contains the PNZ name. Keep Site Title in WP settings for SEO but do not repeat it visually. */
.wp-custom-logo #masthead .site-title, .wp-custom-logo #masthead .site-description { display: none; }
#masthead .site-branding { min-width: 0; }
#masthead .custom-logo-link { display: inline-flex; align-items: center; }
#masthead .custom-logo { width: auto; max-height: 78px; object-fit: contain; }
#masthead .header-navigation .menu > li > a { font-weight: 700; letter-spacing: .012em; font-size: .82rem; padding-left: .52em; padding-right: .52em; }
#masthead .header-navigation .menu > li > a:hover,
#masthead .header-navigation .menu > li.current-menu-item > a,
#masthead .header-navigation .menu > li.current-menu-ancestor > a { color: var(--pnz-green); }
#masthead .main-navigation .primary-menu-container > ul { flex-wrap: wrap; }

/* Match archive card sizes without shortening the underlying article text or WordPress excerpts in the database. */
#archive-container > li.entry-list-item:not(.pnz-tools-loop-item) { display: flex; min-width: 0; }
#archive-container > li.entry-list-item:not(.pnz-tools-loop-item) > .entry { display: flex; flex-direction: column; width: 100%; min-width: 0; }
#archive-container > li.entry-list-item:not(.pnz-tools-loop-item) .entry-content-wrap { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
#archive-container .entry-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; font-size: clamp(1.13rem, 1.35vw, 1.36rem); line-height: 1.34; }
#archive-container .entry-summary { margin: .72rem 0 1.05rem; }
#archive-container .entry-summary p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; line-clamp: 5; overflow: hidden; margin: 0; line-height: 1.6; font-size: .92rem; }
#archive-container .entry-footer { margin-top: auto; padding-top: .8rem; }
#archive-container .entry-meta { font-size: .77rem; line-height: 1.45; }
#archive-container .post-thumbnail { overflow: hidden; }
#archive-container .post-thumbnail img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
#archive-container .entry { box-shadow: 0 4px 18px rgba(24, 40, 63, .045); transition: box-shadow .18s ease; }
#archive-container .entry:hover { box-shadow: 0 6px 20px rgba(24, 40, 63, .085); }

/* One PNZ footer: no duplicated Kadence credit or second trust strip. */
.pnz-site-footer { background: #101827; color: #edf1f8; margin-top: 44px; border-top: 3px solid var(--pnz-green); }
.pnz-footer-inner { width: min(100% - 36px, 1160px); margin: 0 auto; padding: 27px 0 20px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 22px 34px; }
.pnz-footer-heading { font-weight: 800; color: #fff; letter-spacing: -.015em; margin: 0 0 6px; font-size: 1.05rem; }
.pnz-footer-slogan { margin: 0; color: #b5c0d3; font-size: .86rem; line-height: 1.6; max-width: 270px; }
.pnz-footer-links { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 18px; max-width: 710px; }
.pnz-footer-links li { margin: 0; padding: 0; }
.pnz-site-footer .pnz-footer-links a, .pnz-site-footer .pnz-footer-links a:visited { color: #e0e7f1; text-decoration: none; font-size: .85rem; }
.pnz-site-footer .pnz-footer-links a:hover { color: #ffce79; text-decoration: underline; }
.pnz-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); padding: 12px 18px 17px; text-align: center; color: #aebbd0; font-size: .8rem; }
.pnz-site-footer a:focus-visible { outline: 3px solid var(--pnz-orange); outline-offset: 4px; }
@media (max-width: 1024px) {
  #masthead .custom-logo { max-height: 65px; }
  #masthead .header-navigation .menu > li > a { font-size: .79rem; padding-left: .38em; padding-right: .38em; }
}
@media (max-width: 767px) {
  #masthead .custom-logo { max-height: 60px; }
  .pnz-footer-inner { flex-direction: column; padding-top: 25px; gap: 16px; }
  .pnz-footer-links { justify-content: flex-start; gap: 12px 17px; }
  #archive-container .entry-title { font-size: clamp(1.14rem, 5vw, 1.43rem); }
  #archive-container .entry-summary p { -webkit-line-clamp: 4; line-clamp: 4; }
}
@media (prefers-reduced-motion: reduce) {
  #archive-container .entry { transition: none; }
}
