/* Global role mapping. Font families come from Astra's global typography settings.
   No page IDs or individual widget edits; icon and admin fonts are untouched. */
body {
 --e-global-typography-primary-font-family:var(--pp-font-heading);
 --e-global-typography-secondary-font-family:var(--pp-font-heading);
 --e-global-typography-text-font-family:var(--pp-font-body);
 --e-global-typography-accent-font-family:var(--pp-font-heading);
 font-family:var(--pp-font-body)!important;
}
body .elementor {
 --e-global-typography-primary-font-family:var(--pp-font-heading);
 --e-global-typography-secondary-font-family:var(--pp-font-heading);
 --e-global-typography-text-font-family:var(--pp-font-body);
 --e-global-typography-accent-font-family:var(--pp-font-heading);
}
body :is(main,article,.elementor,.ppc-header,.ppc-footer,.ppc-journey,.pp-property-single) {
 font-family:var(--pp-font-body);
}
body :is(p,label,input,select,textarea,summary),
body .elementor :is(p,p span,.elementor-widget-text-editor,.elementor-widget-text-editor span) {
 font-family:var(--pp-font-body)!important;
}
body :is(h1,h2,h3,h4,h5,h6),
body :is(h1,h2,h3,h4,h5,h6) :is(span,a,strong,em),
body :is(.ppc-nav a,.ppc-header-cta,.ppc-button,.pp-button,.ppc-menu-toggle,.ppc-footer nav a,.ppc-footer strong),
body .elementor :is(a.elementor-button,.elementor-button-text,a.ppc-original-button,button),
body :is(.ppc-form,.pp-property-search,.ppc-pagination) button {
 font-family:var(--pp-font-heading)!important;
}
/* Keep font changes from clipping controls or long contact names. */
.ppc-nav{min-width:0}
.ppc-nav a{white-space:nowrap}
.ppc-agent-card h3{overflow-wrap:anywhere}
