/*
Theme Name: Pamozi Foundation
Theme URI: https://pamozi.org
Author: Samwell Studios
Author URI: https://www.samwellstudios.com
Description: Custom theme for Pamozi Foundation and Pamozi International School. Built from the approved website mockups and the Pamozi Brand Guidelines v1.0 (Pamozi Navy #132954, Pamozi Orange #FF7622; headings in Georgia, text in Montserrat).
Version: 1.1.1
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pamozi
*/

/* ---------- Brand tokens ---------- */
:root{
  --pz-navy:#132954;
  --pz-orange:#FF7622;
  --pz-ink:#201E1D;
  --pz-ground:#F3F2F2;
  --pz-white:#FFFFFF;
  --pz-font:'Montserrat','Helvetica Neue',Arial,sans-serif;
  --pz-heading:Georgia,'Times New Roman',serif;
}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
h1,h2,h3,h4,h5,h6{font-family:var(--pz-heading);letter-spacing:normal}
body{margin:0;font-family:var(--pz-font);color:var(--pz-ink);background:#FFFFFF;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--pz-navy)}
a:hover{color:#0B1A38}
:focus-visible{outline:3px solid var(--pz-orange);outline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;z-index:1000;background:#FFFFFF;padding:12px 18px;font-weight:600}

/* ---------- Layout helpers (from the mockups) ---------- */
.wrap{max-width:1240px;margin:0 auto;padding-left:clamp(20px,4vw,40px);padding-right:clamp(20px,4vw,40px)}
.lbl{font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:12px;margin:0}
.lbl:before{content:"";width:28px;height:2px;background:var(--pz-orange);display:block;flex-shrink:0}
.lbl.nv:before{background:var(--pz-navy)}
.ph{background:#DCDBDA;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:16px}
.ph span{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--pz-ink);background:rgba(255,255,255,.85);padding:6px 10px}
.ph img.pz-fill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---------- Header & navigation ---------- */
.pz-header{background:#FFFFFF;border-bottom:1px solid #E4E3E2;position:relative;z-index:20}
.pz-header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;padding-bottom:18px}
.pz-logo img,.pz-logo .custom-logo{width:200px;height:auto;display:block}
.nav a,.pz-menu a{text-decoration:none;color:var(--pz-ink);font-size:15px;font-weight:500;padding:12px 4px;min-height:44px;display:inline-flex;align-items:center}
.nav a:hover,.pz-menu a:hover{color:var(--pz-navy)}
.pz-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px}
.pz-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px}
.pz-menu li{position:relative}
.pz-menu .current-menu-item>a,.pz-menu .current-menu-ancestor>a,.pz-menu .current_page_item>a,.pz-menu .current_page_ancestor>a,.pz-menu a[aria-current="page"]{color:var(--pz-navy);box-shadow:inset 0 -2px 0 var(--pz-orange)}
.pz-menu .sub-menu{display:none;position:absolute;top:100%;left:0;background:#FFFFFF;list-style:none;margin:0;padding:8px 0;min-width:220px;box-shadow:0 8px 24px rgba(19,41,84,.12);border-top:3px solid var(--pz-orange)}
.pz-menu li:hover>.sub-menu,.pz-menu li:focus-within>.sub-menu{display:block}
.pz-menu .sub-menu a{padding:10px 18px;width:100%}
.pz-donate{background:var(--pz-orange);color:var(--pz-navy)!important;font-weight:600;padding:12px 22px!important;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.pz-donate:hover{background:#FF8A42}
.pz-toggle{display:none;font-family:inherit;background:var(--pz-navy);color:#FFFFFF;border:0;min-height:44px;min-width:44px;padding:0 16px;font-weight:600;font-size:15px;cursor:pointer;align-items:center;gap:10px}
.pz-school-nav a[aria-current="page"]{color:var(--pz-navy);font-weight:600;box-shadow:inset 0 -2px 0 var(--pz-orange)}

@media (max-width:1100px){
  .pz-toggle{display:inline-flex}
  .pz-nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:12px}
  .pz-nav.is-open{display:flex}
  .pz-menu{flex-direction:column;align-items:stretch;gap:0}
  .pz-menu a{width:100%;border-bottom:1px solid #E4E3E2}
  .pz-menu .sub-menu{display:block;position:static;box-shadow:none;border:0;padding:0 0 0 16px}
  .pz-donate{margin-top:12px;justify-content:center}
}

/* ---------- Footer ---------- */
.foot a{color:#FFFFFF;text-decoration:none}
.foot a:hover{color:var(--pz-orange)}

/* ---------- Carousels ---------- */
.pz-slide[hidden]{display:none!important}
.pz-dots button{border:0;cursor:pointer;width:44px;height:44px;padding:18px 6px;background-clip:content-box}

/* ---------- Filters ---------- */
.pz-filter{font-family:inherit;font-size:14px;font-weight:500;min-height:44px;padding:0 18px;border:1.5px solid var(--pz-navy);background:#FFFFFF;color:var(--pz-navy);cursor:pointer}
.pz-filter[aria-pressed="true"]{background:var(--pz-navy);color:#FFFFFF}
[data-cat][hidden]{display:none!important}

/* ---------- FAQ ---------- */
.pz-faq summary{list-style:none;cursor:pointer;padding:22px 0;min-height:64px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:18px;font-weight:600;color:var(--pz-navy)}
.pz-faq summary::-webkit-details-marker{display:none}
.pz-faq .pz-faq-icon{width:36px;height:36px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--pz-ground);transition:transform .2s}
.pz-faq details[open] .pz-faq-icon{background:var(--pz-orange);transform:rotate(45deg)}

/* ---------- Forms ---------- */
.pz-notice{padding:14px 18px;font-weight:600;background:var(--pz-navy);color:#FFFFFF;border-left:6px solid var(--pz-orange)}
.pz-notice.is-error{background:#FFFFFF;color:var(--pz-ink);border:2px solid var(--pz-orange)}
.pz-hp{position:absolute!important;left:-9999px!important}
form button[type="submit"]:hover{filter:brightness(1.05)}

/* ---------- Editor content (default pages, posts) ---------- */
.pz-content{font-size:17px;line-height:1.7}
.pz-content>*{max-width:760px}
.pz-content>.alignwide{max-width:1100px}
.pz-content>.alignfull,.pz-content>.wp-block-gallery{max-width:none}
.pz-content h2,.pz-content h3{color:var(--pz-navy);font-weight:600;line-height:1.25}
.pz-content h2{font-size:34px;margin:48px 0 16px}
.pz-content h3{font-size:24px;margin:36px 0 12px}
.pz-content blockquote{margin:32px 0;padding:8px 0 8px 24px;border-left:4px solid var(--pz-orange);font-size:21px;font-weight:500;color:var(--pz-navy)}
.pz-content .wp-block-button__link{background:var(--pz-orange);color:var(--pz-navy);font-weight:600;border-radius:0}
.pz-content img{height:auto}
.wp-block-gallery.has-nested-images figure.wp-block-image img{object-fit:cover}
.alignleft{float:left;margin:0 24px 16px 0}.alignright{float:right;margin:0 0 16px 24px}.aligncenter{margin-left:auto;margin-right:auto}
.wp-caption-text,.wp-element-caption{font-size:14px;color:#555}

/* ---------- Post cards / pagination ---------- */
.pz-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px}
.pz-pagination .page-numbers{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--pz-navy);text-decoration:none;font-weight:600;padding:0 12px}
.pz-pagination .page-numbers.current{background:var(--pz-navy);color:#FFFFFF}
.foot li{list-style:none;margin:0;padding:0}
.foot ul{margin:0;padding:0}
