/* Shared homepage and member-page header. */
body.ppm-site{margin:0;background:#f7f5ee;color:#243429;font:17px/1.65 Arial,Helvetica,sans-serif;min-height:100vh;display:flex;flex-direction:column}
.ppm-site *{box-sizing:border-box}.ppm-site-shell{width:100%;max-width:none;margin-inline:auto;padding-inline:clamp(20px,4vw,80px)}
.ppm-site-header{background:#fffdf7;border-bottom:1px solid #d8ddce}.ppm-site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:12px}
.ppm-site-brand{display:block;flex:0 0 150px;width:150px}.ppm-site-brand img{display:block;width:150px;height:150px;object-fit:contain}
.ppm-site-nav ul.ppm-site-menu{display:flex;gap:12px 24px;flex-wrap:wrap;align-items:center;justify-content:flex-end;list-style:none;margin:0;padding:0}.ppm-site-menu li{margin:0;padding:0}.ppm-site-menu a{color:#163d27;text-decoration:none;font-size:15px;font-weight:700;padding:9px 0;display:inline-block}.ppm-site-menu a:hover,.ppm-site-menu .current-menu-item a{color:#307b1f;text-decoration:underline;text-underline-offset:5px}
.ppm-site-main{flex:1;padding-block:32px 45px}.ppm-site-panel{margin:0;background:#fffdf7;border:1px solid #d8ddce;border-radius:10px;overflow:hidden}.ppm-site .ppm{max-width:none;padding:clamp(22px,3vw,44px);margin:0}.ppm-site .ppm>h2:first-child{font-size:clamp(30px,4vw,46px);letter-spacing:-.035em;margin:0 0 24px}.ppm-site .ppm h3{margin-top:28px;font-size:24px}.ppm-site .ppm-card{background:#f1f5e8}.ppm-site .ppm form{max-width:900px}.ppm-site .ppm>p{max-width:960px}.ppm-site-activity-title{padding:32px 32px 0;color:#163d27}.ppm-site-panel>p{margin-inline:32px}
.ppm-site-footer{background:#e9efde;border-top:1px solid #d2ddc6;padding-block:24px;font-size:14px}.ppm-site-footer>.ppm-site-shell{display:flex;gap:14px 25px;align-items:center;flex-wrap:wrap}.ppm-site-footer strong{color:#163d27}.ppm-site-footer span{flex:1}.ppm-site-footer a{color:#235d25;text-underline-offset:4px}
.ppm-site a:focus-visible,.ppm-site button:focus-visible{outline:3px solid #b36013;outline-offset:4px}.ppm-site-skip{position:absolute;left:-9999px}.ppm-site-skip:focus{left:20px;top:40px;z-index:99999;background:#fff;padding:12px;color:#163d27}
/* Prevent an oversized Astra logo on ordinary theme pages. */
body:not(.wp-admin) #masthead .custom-logo{width:150px!important;max-width:150px!important;height:auto!important}
@media(max-width:760px){.ppm-site-header-inner{flex-direction:column;gap:8px}.ppm-site-brand{width:140px;flex-basis:auto}.ppm-site-brand img{width:140px;height:140px}.ppm-site-nav ul.ppm-site-menu{justify-content:center;gap:4px 18px}.ppm-site-menu a{font-size:14px}.ppm-site-main{padding-block:22px 28px}.ppm-site-footer>.ppm-site-shell{align-items:flex-start;gap:10px 20px}.ppm-site-footer span{flex-basis:100%;order:2}.ppm-site .ppm{padding:22px 18px}}

.ppm-site-header,.ppm-site-header *{box-sizing:border-box}.ppm-site-header .ppm-site-brand{max-width:150px}.ppm-site-header .ppm-site-brand img{max-width:150px;height:auto}.ppm-site-header .ppm-site-nav{min-width:0}

/* 0.4.4: WordPress-managed nested menus, full-width header and readable greens. */
.ppm-site-header{position:relative;z-index:50;background:#fff;border-color:#d8e7dc;font-family:Arial,Helvetica,sans-serif;width:100%;max-width:none}
.ppm-site-header .ppm-site-menu li{position:relative;list-style:none}
.ppm-site-header .ppm-site-menu a{font-size:18px;line-height:1.45;color:#164a32}
.ppm-site-header .ppm-site-menu .current-menu-item>a{color:#24633f;text-decoration:underline}
.ppm-site-header .ppm-site-menu ul{margin:0;padding:10px 14px;list-style:none;background:#f0f7ee;border:1px solid #c9ddce;border-radius:6px}
.ppm-site-header .ppm-site-menu ul a{display:inline-block;padding:10px 8px;white-space:normal}
.ppm-submenu-toggle{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin:0 0 0 4px;padding:0;width:40px;height:40px;border:0;border-radius:4px;background:#e4efe1;color:#164a32;cursor:pointer;font-size:19px;line-height:1}
.ppm-submenu-toggle:hover,.ppm-submenu-toggle:focus-visible{background:#cadfc4;color:#103e2e}
.ppm-site-header a:focus-visible,.ppm-site-header button:focus-visible{outline:3px solid #24633f;outline-offset:3px}
.ppm-site-menu.ppm-menu-ready ul.sub-menu{display:none}
.ppm-site-menu.ppm-menu-ready li.ppm-menu-open>ul.sub-menu{display:block}
body:has(.pp-welcome):has(.ppm-site-header) #masthead{display:none!important}
@media(min-width:761px){
 .ppm-site-menu.ppm-menu-ready ul.sub-menu{position:absolute;top:100%;right:0;width:270px;max-width:calc(100vw - 40px);box-shadow:0 8px 24px #103e2e26}
 .ppm-site-menu.ppm-menu-ready ul.sub-menu ul.sub-menu{position:static;width:100%;box-shadow:none;padding:4px 8px;border:0;border-left:2px solid #c9ddce}
}
@media(max-width:760px){
 .ppm-site-header .ppm-site-nav{width:100%}
 .ppm-site-header ul.ppm-site-menu{display:block;width:100%}
 .ppm-site-header .ppm-site-menu>li{border-top:1px solid #dfebdf;padding:4px 0}
 .ppm-site-header .ppm-site-menu a{font-size:18px;max-width:calc(100% - 48px)}
 .ppm-site-header .ppm-submenu-toggle{float:right}
 .ppm-site-header .ppm-site-menu ul{clear:both;width:100%;padding:4px 12px}
}

/* 0.4.8: Astra constrains direct entry-content children on the splash page.
   Keep its shared header at the same width and gutters as member pages. */
body:has(.pp-welcome) .entry-content .ppm-site-header,
body:has(.pp-welcome) .ppm-site-header{
 width:100%!important;max-width:none!important;margin:0!important;
 padding:0!important;float:none!important;align-self:stretch;
}
body:has(.pp-welcome) .ppm-site-header>.ppm-site-header-inner{
 display:flex!important;width:100%!important;max-width:none!important;
 margin:0!important;padding:12px clamp(20px,4vw,80px)!important;
 align-items:center;justify-content:space-between!important;box-sizing:border-box;
}
@media(min-width:761px){
 body:has(.pp-welcome) .ppm-site-header>.ppm-site-header-inner{flex-direction:row!important;flex-wrap:nowrap;gap:30px}
 body:has(.pp-welcome) .ppm-site-header .ppm-site-brand{margin:0!important;flex:0 0 150px}
 body:has(.pp-welcome) .ppm-site-header .ppm-site-nav{margin-left:auto!important;margin-right:0!important;flex:0 1 auto;min-width:0}
 body:has(.pp-welcome) .ppm-site-header ul.ppm-site-menu{justify-content:flex-end!important;margin:0!important;padding:0!important}
}
@media(max-width:760px){
 body:has(.pp-welcome) .ppm-site-header>.ppm-site-header-inner{flex-direction:column!important;gap:8px}
 body:has(.pp-welcome) .ppm-site-header .ppm-site-nav{margin:0!important;width:100%}
}
