.pfp-resources{margin:1.5rem auto;max-width:1180px;font:inherit}.pfp-resources *{box-sizing:border-box}.pfp-resources-filter{display:grid;grid-template-columns:2fr 1fr 1.4fr auto;gap:12px;align-items:end;padding:18px;border:1px solid #e3e5ea;border-radius:12px;background:#f9fafb}.pfp-resources-filter label{font-size:14px;font-weight:600;display:block;color:#212c3b}.pfp-resources-filter input,.pfp-resources-filter select{font:inherit;font-size:15px;display:block;width:100%;padding:11px 12px;border:1px solid #c9cdd4;border-radius:7px;background:#fff;margin-top:7px;min-height:43px}.pfp-resources-filter button{font:inherit;font-size:15px;font-weight:600;background:#192e49;border:1px solid #192e49;color:#fff;border-radius:7px;min-height:43px;padding:0 17px;cursor:pointer}.pfp-resources-count{font-size:15px;margin:18px 0 12px;color:#4c596b}.pfp-resources-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pfp-resource-card{border:1px solid #e2e6eb;border-radius:11px;background:#fff;padding:20px 22px;display:flex;flex-direction:column;gap:10px}.pfp-resource-kicker{font-size:12px;font-weight:650;color:#5c697a}.pfp-resource-card h3{font-size:21px;line-height:1.3;margin:0;color:#1a2839}.pfp-resource-card p{font-size:15px;line-height:1.6;margin:0}.pfp-resource-warning{color:#525c67;background:#f6f7f9;border-left:3px solid #c6ccd4;padding:9px 12px}.pfp-resource-outbound{align-self:start;color:#fff!important;background:#1b3556;text-decoration:none!important;font-weight:650;padding:11px 16px;border-radius:6px;margin-top:auto}.pfp-resource-outbound:focus-visible,.pfp-resources-filter button:focus-visible{outline:3px solid #4c90da;outline-offset:2px}.pfp-resource-footer{border-top:1px solid #ebedf0;padding-top:11px;color:#6c7681;font-size:12px}.pfp-resources-paging{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.pfp-resources-paging a{display:inline-block;border:1px solid #bec6d1;padding:7px 11px;border-radius:5px;text-decoration:none}.pfp-resources-paging a[aria-current=page]{background:#192e49;color:#fff}.pfp-resource-disclaimer{font-size:13px;color:#596574;line-height:1.6;border-top:1px solid #e2e6eb;padding-top:15px;margin-top:20px}@media(max-width:900px){.pfp-resources-filter{grid-template-columns:1fr 1fr}.pfp-resources-filter label:first-child{grid-column:span 2}}@media(max-width:650px){.pfp-resources-filter,.pfp-resources-grid{grid-template-columns:1fr}.pfp-resources-filter label:first-child{grid-column:span 1}.pfp-resource-card{padding:17px}.pfp-resource-card h3{font-size:19px}}

/* Version 0.2: editorial tools hub and sector landing pages (scoped; no theme-wide overrides) */
.pfp-tools-hub,.pfp-tools-sector-page{max-width:1180px;margin:20px auto 55px;font:inherit;color:#17243a}
.pfp-tools-hub *,.pfp-tools-sector-page *{box-sizing:border-box}
.pfp-tools-hero{background:#f3f5f8;border:1px solid #e2e6ee;border-radius:13px;padding:35px 38px;margin-bottom:36px}
.pfp-tools-eyebrow{font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:750;color:#48607d;margin-bottom:12px}
.pfp-tools-hero h1,.pfp-tools-sector-hero h1{font-size:clamp(26px,3vw,38px);line-height:1.15;letter-spacing:-.02em;margin:0 0 14px;color:#17243a}
.pfp-tools-hero p,.pfp-tools-sector-hero p{font-size:17px;line-height:1.65;color:#3f4a5b;max-width:790px;margin:0}
.pfp-tools-hero .pfp-tools-count{font-size:13px;font-weight:650;color:#4f6077;margin-top:16px}
.pfp-tools-hub h2,.pfp-tools-sector-page h2{font-size:24px;font-weight:750;letter-spacing:-.01em;margin:0 0 16px;color:#17243a}
.pfp-tools-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 38px}
.pfp-tools-type{display:flex;flex-direction:column;align-items:flex-start;gap:10px;border:1px solid #dde3ea;border-radius:12px;background:#fff;padding:22px;min-width:0;color:#223149;text-decoration:none!important}
.pfp-tools-type h3{font-size:20px;line-height:1.25;color:#17243a;margin:0}
.pfp-tools-type p{font-size:14px;line-height:1.6;color:#4a5766;margin:0;flex:1}
.pfp-tools-type small,.pfp-tools-muted{font-size:12px;font-weight:750;color:#405978}
.pfp-tools-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:11px;background:#eff3f8;color:#27496b;flex-shrink:0}
.pfp-tools-section-heading{margin:26px 0 19px}.pfp-tools-section-heading p{font-size:16px;line-height:1.65;color:#566577;max-width:790px;margin:0}
.pfp-tools-sectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px}
.pfp-tools-sector{display:flex;align-items:flex-start;gap:16px;padding:19px 21px;border:1px solid #dfe4eb;border-radius:10px;background:#fff;color:#17243a;text-decoration:none!important;min-height:130px}
.pfp-tools-sector:hover,.pfp-tools-sector:focus-visible,.pfp-tools-type-link:hover,.pfp-tools-type-link:focus-visible{border-color:#7594b3;background:#f7f9fc;box-shadow:0 3px 14px rgba(23,45,70,.07)}
.pfp-tools-sector-body{display:flex;flex-direction:column;gap:6px}.pfp-tools-sector-body strong{font-size:17px;font-weight:750;line-height:1.3;color:#17243a}.pfp-tools-sector-body span{font-size:14px;line-height:1.5;color:#526072}.pfp-tools-sector-body small{font-size:12px;font-weight:750;color:#345477;margin-top:3px}
.pfp-tools-breadcrumb{display:flex;gap:10px;align-items:center;color:#65758a;font-size:13px;margin:6px 0 23px}.pfp-tools-breadcrumb a{color:#2c4f71}
.pfp-tools-sector-hero{display:flex;align-items:flex-start;gap:20px;border-bottom:1px solid #e1e6ec;padding-bottom:26px;margin:0 0 28px}.pfp-tools-sector-hero>.pfp-tools-icon{width:66px;height:66px}
.pfp-tools-types-sector{margin-bottom:38px}.pfp-tools-type-link.is-active{border-color:#24496e;background:#f2f6fa}
.pfp-tools-directory{scroll-margin-top:110px}.pfp-tools-sector-filter{grid-template-columns:2fr 1fr 1fr auto}
.pfp-tools-hub .pfp-resource-disclaimer,.pfp-tools-sector-page .pfp-resource-disclaimer{margin:28px 0 0}
@media(max-width:900px){.pfp-tools-sectors{grid-template-columns:1fr 1fr}.pfp-tools-types{gap:11px}.pfp-tools-type{padding:17px}.pfp-tools-sector-filter{grid-template-columns:1fr 1fr}.pfp-tools-sector-filter label:first-child{grid-column:span 2}}
@media(max-width:650px){.pfp-tools-hero{padding:23px 21px}.pfp-tools-types,.pfp-tools-sectors{grid-template-columns:1fr}.pfp-tools-sector{min-height:0}.pfp-tools-sector-hero{gap:13px}.pfp-tools-sector-hero>.pfp-tools-icon{width:47px;height:47px}.pfp-tools-sector-hero p{font-size:15px}.pfp-tools-type{padding:17px}.pfp-tools-sector-filter{grid-template-columns:1fr}.pfp-tools-sector-filter label:first-child{grid-column:span 1}}
.pfp-tools-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 26px}.pfp-tools-example{border:1px solid #dfe4eb;border-radius:11px;background:#fff;padding:20px;display:flex;flex-direction:column;gap:10px}.pfp-tools-example h3{font-size:18px;line-height:1.35;margin:0;color:#17243a}.pfp-tools-example p{font-size:14px;line-height:1.55;color:#526072;margin:0;flex:1}.pfp-tools-example a{font-weight:750;color:#21547c;text-decoration:underline;text-underline-offset:3px}.pfp-tools-example a:focus-visible{outline:3px solid #4c90da;outline-offset:2px}@media(max-width:800px){.pfp-tools-examples{grid-template-columns:1fr}}

/* Version 0.2.1: mobile-first hardening for Newspaper 12 content columns.
   These rules are scoped to the plugin and do not alter the theme's global menu. */
.pfp-tools-hub,.pfp-tools-sector-page,.pfp-resources{width:100%;min-width:0}
.pfp-tools-hero,.pfp-tools-sector-hero,.pfp-tools-type,.pfp-tools-sector,.pfp-tools-sector-body,.pfp-tools-example,.pfp-resource-card,.pfp-resources-filter{min-width:0;max-width:100%}
.pfp-tools-sector-body,.pfp-tools-type h3,.pfp-tools-type p,.pfp-tools-example h3,.pfp-tools-example p,.pfp-resource-card h3,.pfp-resource-card p,.pfp-resource-outbound{overflow-wrap:anywhere;word-break:normal}
.pfp-resources-filter input,.pfp-resources-filter select{max-width:100%;min-width:0}
.pfp-resource-outbound{display:inline-flex;align-items:center;min-height:46px;max-width:100%;white-space:normal;text-align:left}
.pfp-tools-sector:focus-visible,.pfp-tools-type:focus-visible,.pfp-tools-example a:focus-visible{outline:3px solid #4c90da;outline-offset:2px}
@media(max-width:767px){
 .pfp-tools-types,.pfp-tools-sectors,.pfp-tools-examples,.pfp-resources-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .pfp-resources-filter,.pfp-tools-sector-filter{grid-template-columns:minmax(0,1fr);gap:13px;padding:15px}
 .pfp-resources-filter label:first-child,.pfp-tools-sector-filter label:first-child{grid-column:auto}
 .pfp-resources-filter button{display:block;width:100%;min-height:48px;padding:12px}
 .pfp-resources-filter input,.pfp-resources-filter select{min-height:48px;font-size:16px}
 .pfp-tools-hero{padding:24px 18px;margin-bottom:27px}
 .pfp-tools-hero h1,.pfp-tools-sector-hero h1{font-size:clamp(25px,6vw,32px);line-height:1.2}
 .pfp-tools-hero p,.pfp-tools-sector-hero p{font-size:16px;line-height:1.55}
 .pfp-tools-sector-hero{flex-wrap:wrap;gap:13px}
 .pfp-tools-sector-hero>.pfp-tools-icon{width:48px;height:48px}
 .pfp-tools-sector{padding:17px 16px;min-height:0}
 .pfp-tools-type,.pfp-tools-example{padding:17px 16px}
 .pfp-resource-card{padding:17px 16px}
 .pfp-tools-hub h2,.pfp-tools-sector-page h2{font-size:22px;line-height:1.3}
 .pfp-resource-outbound{width:100%;justify-content:center;padding:12px 14px;text-align:center}
 .pfp-resources-paging{gap:9px}
 .pfp-resources-paging a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
}
@media(max-width:360px){
 .pfp-tools-sector{gap:11px;padding:14px 12px}
 .pfp-tools-sector-body strong{font-size:16px}
 .pfp-tools-hero{padding:20px 15px}
 .pfp-tools-icon{width:42px;height:42px}
}


/* Version 0.2.2 — Tools-only Newspaper column, accessible search form & mobile fixes.
   Scope by body class added only to pages using the hub/sector shortcodes.
   Never change the Newspaper global page, sidebar, header or menu rules. */
body.pfp-tools-fullwidth-page .td-main-content-wrap .td-main-content {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
body.pfp-tools-fullwidth-page .td-main-content-wrap .td-main-sidebar {
    display: none !important;
}
body.pfp-tools-fullwidth-page .td-main-content-wrap .td-ss-main-content,
body.pfp-tools-fullwidth-page .td-main-content-wrap .td-page-content {
    width: 100%;
    max-width: 100%;
}
body.pfp-tools-fullwidth-page .pfp-tools-hub,
body.pfp-tools-fullwidth-page .pfp-tools-sector-page {
    width: 100%;
    max-width: 1050px;
    min-width: 0;
    margin-left: auto;
    margin-right: auto;
}

/* Search responds to the directory's available width, not just viewport width.
   Container queries fix cramped 4-column forms inside any Newspaper column. */
.pfp-tools-directory,
.pfp-resources {
    container-name: pfp-resource-search;
    container-type: inline-size;
}
.pfp-resources-filter,
.pfp-tools-sector-filter {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.15fr) minmax(0, 1.15fr) minmax(140px, auto);
    gap: 13px;
    align-items: end;
}
.pfp-resources-filter > label {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    grid-column: auto;
    line-height: 1.4;
}
.pfp-resources-filter > label > input[type="search"],
.pfp-resources-filter > label > select {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 7px 0 0 !important;
    padding: 10px 12px !important;
    min-height: 48px !important;
    height: 48px !important;
    font-size: 16px !important;
    line-height: normal !important;
}
.pfp-resources-filter > button[type="submit"] {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 48px;
    height: 48px;
    padding: 9px 14px;
    margin: 0;
    white-space: nowrap;
    line-height: 1.35;
}
@container pfp-resource-search (max-width: 850px) {
    .pfp-resources-filter,
    .pfp-tools-sector-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .pfp-resources-filter > label:first-child {
        grid-column: 1 / -1;
    }
    .pfp-resources-filter > button[type="submit"] {
        grid-column: 1 / -1;
    }
}
@container pfp-resource-search (max-width: 540px) {
    .pfp-resources-filter,
    .pfp-tools-sector-filter {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        padding: 15px;
    }
    .pfp-resources-filter > label,
    .pfp-resources-filter > label:first-child,
    .pfp-resources-filter > button[type="submit"] {
        grid-column: 1 / -1;
    }
    .pfp-resources-filter > label > input[type="search"],
    .pfp-resources-filter > label > select {
        width: 100% !important;
        max-width: 100% !important;
    }
}
/* Fallback for older browsers without container queries. */
@supports not (container-type: inline-size) {
    @media(max-width:1100px) {
        .pfp-resources-filter,.pfp-tools-sector-filter {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .pfp-resources-filter > label:first-child,
        .pfp-resources-filter > button[type="submit"] {grid-column:1/-1}
    }
    @media(max-width:767px) {
        .pfp-resources-filter,.pfp-tools-sector-filter {grid-template-columns: minmax(0,1fr)}
    }
}
