/* Frontend heading hierarchy; content, controls and native plugin behavior stay intact. */
body {
    --pp-heading-page: 28px;
    --pp-heading-section: 22px;
    --pp-heading-subsection: 18px;
    --pp-heading-sidebar: 20px;
    --wd-title-font-weight: 500;
}
body .main-page-wrapper :is(h1,h2,h3,h4,h5,h6,.elementor-heading-title),
body :is(.footer-container,#ppmm-panel,.ppmn-dialog) :is(h1,h2,h3,h4,h5,h6) {
    font-weight: 500 !important;
    letter-spacing: normal;
}
body .main-page-wrapper :is(h1,h2,h3,h4,h5,h6) :is(strong,b) { font-weight: inherit !important; }
body .main-page-wrapper h1 { font-size: var(--pp-heading-page) !important; line-height: 1.6 !important; }
body .main-page-wrapper h2 { font-size: var(--pp-heading-section) !important; line-height: 1.6 !important; }
body .main-page-wrapper h3 { font-size: var(--pp-heading-subsection) !important; line-height: 1.7 !important; }
body .main-page-wrapper h4 { font-size: 16px !important; }
body .main-page-wrapper :is(h5,h6) { font-size: 15px !important; }

/* Hero copy remains one step above page headings, with a smaller mobile scale. */
body .main-page-wrapper :is(.pp-company-hero-copy,.pp-company-contact-title) h1,
body.home .elementor-element-c0e7140 .elementor-heading-title { font-size: clamp(24px,2.1vw,32px) !important; }
body .main-page-wrapper .productsummary .product_title { font-size: clamp(20px,1.6vw,26px) !important; }
body .main-page-wrapper .ppc-cover__title { font-size: var(--pp-heading-section) !important; font-weight: 500 !important; line-height: 1.6 !important; }

/* Sidebar headings are smaller than main sections; facet labels keep their density. */
body .main-page-wrapper .ppsf .ppsf-title { font-size: var(--pp-heading-sidebar) !important; font-weight: 500 !important; }
body .main-page-wrapper .ppsf .ppsf-group-heading { font-size: 15px !important; font-weight: 500 !important; }
body .main-page-wrapper .ppsf .ppsf-group-heading .ppsf-disclosure { font-size: inherit; font-weight: inherit; }
body .main-page-wrapper :is(.widget-title,.woocommerce-MyAccount-title) { font-size: 16px !important; font-weight: 500 !important; }
body .main-page-wrapper .pp-product-companions h2 { font-size: var(--pp-heading-subsection) !important; }
body .main-page-wrapper .pp-product-price-note { font-weight: 500; }

/* Card names and utility headings are deliberately below section headings. */
body .main-page-wrapper :is(.wd-loop-prod-title,.product-grid-item .wd-entities-title,.pp-brand-product h3) { font-size: 14px !important; font-weight: 400 !important; }
body .main-page-wrapper .pp-companion h3 { font-size: 13px !important; font-weight: 400 !important; }
body.home .main-page-wrapper :is(.cat-card .cat-title,.cat-card-small h3) { font-size: 14px !important; }
body .main-page-wrapper :is(.pp-company-card,.pp-company-values,.pp-company-channel) h3 { font-size: 16px !important; }
body .main-page-wrapper :is(.pp-brand-guide,.ppoffer-help) h2 { font-size: 18px !important; }
body .main-page-wrapper .tsfa .tsfa-product h3 { font-size: 14px !important; font-weight: 400 !important; }
body .main-page-wrapper :is(.cart-empty,.wd-empty-block-title) { font-size: var(--pp-heading-section) !important; font-weight: 500 !important; }
body .main-page-wrapper :is(.woocommerce-breadcrumb,.wd-breadcrumbs) :is(strong,b,.breadcrumb-last) { font-weight: 500 !important; }

/* Desktop and mobile navigation use the same quieter heading weight. */
body #ppmm-panel .ppmm-rail-title { font-size: 18px; }
body #ppmm-panel .ppmm-pane-head h2 { font-size: var(--pp-heading-section); }
body #ppmm-panel .ppmm-group h3 { font-size: 15px; }
body .footer-container .widget-title { font-size: 16px !important; }

@media (max-width: 767px) {
    body {
        --pp-heading-page: 24px;
        --pp-heading-section: 20px;
        --pp-heading-subsection: 17px;
        --pp-heading-sidebar: 18px;
    }
    body .main-page-wrapper .productsummary .product_title { font-size: 20px !important; }
    body .main-page-wrapper :is(.wd-loop-prod-title,.product-grid-item .wd-entities-title,.pp-brand-product h3) { font-size: 13px !important; }
    body .main-page-wrapper .tsfa .tsfa-product h3 { font-size: 13px !important; }
    body .main-page-wrapper :is(.pp-company-card,.pp-company-values,.pp-company-channel) h3 { font-size: 15px !important; }
}
