.cpif { --cpif-blue:#003f82; --cpif-green:#35a51c; --cpif-line:#e4e9ed; color:#555; }
.cpif * { box-sizing:border-box; }
.cpif-filters { display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; border-bottom:1px solid var(--cpif-line); margin-bottom:32px; }
.cpif .cpif-filter,.cpif .cpif-more-toggle { appearance:none; border:0; border-bottom:3px solid transparent; background:transparent; border-radius:0; padding:12px 0; margin:0; color:var(--cpif-blue); font:inherit; font-size:15px; font-weight:600; line-height:1.4; cursor:pointer; white-space:nowrap; }
.cpif .cpif-filter:hover,.cpif .cpif-more-toggle:hover { color:var(--cpif-green); }
.cpif .cpif-filter.is-active,.cpif .cpif-more.has-selection>.cpif-more-toggle { color:var(--cpif-blue); border-bottom-color:var(--cpif-green); }
.cpif .cpif-more { position:relative; }
.cpif .cpif-more-menu { position:absolute; top:100%; right:0; z-index:100; min-width:220px; padding:8px 0; background:#fff; border:1px solid var(--cpif-line); box-shadow:0 12px 30px rgba(0,40,80,.12); }
.cpif .cpif-more-menu[hidden] { display:none!important; }
.cpif .cpif-more-menu .cpif-filter { display:block; width:100%; text-align:left; padding:11px 18px; border:0; white-space:normal; font-weight:500; }
.cpif .cpif-more-menu .cpif-filter.is-active { color:var(--cpif-green); background:#f3f8f5; }
.cpif-mobile-label,.cpif-mobile-select { display:none; }
.cpif-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 26px; }
.cpif-card { min-width:0; background:#fff; }
.cpif-image { display:block; width:100%; aspect-ratio:16/10; overflow:hidden; background:#edf1f5; }
.cpif-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.cpif-image:hover img { transform:scale(1.035); }
.cpif-image-placeholder { display:flex; align-items:center; justify-content:center; height:100%; padding:16px; color:var(--cpif-blue); font-size:17px; }
.cpif-card-body { padding:0 0 10px; }
.cpif-category { display:inline-block; color:var(--cpif-green); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; margin-right:12px; }
.cpif-card time { font-size:12px; color:#777; }
.cpif-card h3 { margin:12px 0 10px; padding:0; font-size:20px; line-height:1.4; font-weight:400; }
.cpif-card h3 a { color:var(--cpif-blue); text-decoration:none; font-weight:400; }
.cpif-card h3 a:hover { color:var(--cpif-green); }
.cpif-excerpt { color:#666; font-size:15px; line-height:1.65; margin:0 0 14px; }
.cpif-readmore { color:var(--cpif-blue); font-size:14px; font-weight:700; text-decoration:none; }
.cpif-readmore:hover { color:var(--cpif-green); }
.cpif-pagination { display:flex; flex-wrap:wrap; gap:9px; justify-content:center; margin:40px 0 0; }
.cpif-pagination button { cursor:pointer; border:1px solid #dce3e9; border-radius:0; background:white; color:var(--cpif-blue); padding:9px 14px; font:inherit; font-size:14px; }
.cpif-pagination button[aria-current="page"] { background:var(--cpif-blue); border-color:var(--cpif-blue); color:#fff; }
.cpif-pagination button:hover { border-color:var(--cpif-green); }
.cpif-empty { padding:30px 0; }
.cpif.is-loading .cpif-results { opacity:.55; pointer-events:none; }
.cpif button:focus-visible,.cpif select:focus-visible,.cpif a:focus-visible { outline:2px solid var(--cpif-green); outline-offset:3px; }
@media(max-width:980px) { .cpif-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
 .cpif-filters { display:none; }
 .cpif-mobile-label { display:block; color:var(--cpif-blue); font-size:14px; font-weight:700; margin-bottom:9px; }
 .cpif-mobile-select { display:block; width:100%; max-width:100%; min-height:46px; padding:10px 14px; margin-bottom:26px; border:1px solid #dce3e9; border-radius:0; background:#fff; color:var(--cpif-blue); font-size:16px; }
 .cpif-grid { grid-template-columns:1fr; gap:28px; }
 .cpif-card h3 { font-size:19px; }
}
@media(prefers-reduced-motion:reduce) { .cpif-image img { transition:none; } }

.cpif-category-market-commentary { color:#2fa51b; }
.cpif-category-cp-insights, .cpif-category-insights { color:#ef792a; }
.cpif-category-financial-planning { color:#007eab; }
.cpif-category-retirement-planning { color:#8761aa; }
.cpif-category-estate-planning { color:#a86c31; }
.cpif-category-tax-planning { color:#b15b77; }
.cpif-category-insurance-planning { color:#168b7b; }
.cpif-category-investment-planning { color:#326ab0; }
.cpif-category-wills_ { color:#8a6790; }


/* v1.3: Card styling is managed at Settings > CrossPoint Insights. */
.cpif-grid { gap:16px; align-items:stretch; }
.cpif-card { border:1px solid #dedede; border-left:5px solid var(--cpif-blue); background:#fff; min-width:0; }
.cpif-card.cpif-border-market-commentary { border-left-color:#00458b; }
.cpif-card.cpif-border-insights, .cpif-card.cpif-border-cp-insights { border-left-color:#28a745; }
.cpif-card.cpif-border-financial-planning { border-left-color:#008c95; }
.cpif-card.cpif-border-retirement-planning { border-left-color:#b58b45; }
.cpif-card.cpif-border-investment-planning { border-left-color:#5086bc; }
.cpif-card.cpif-border-estate-planning { border-left-color:#806b99; }
.cpif-card.cpif-border-tax-planning { border-left-color:#ed7d31; }
.cpif-card.cpif-border-insurance-planning { border-left-color:#729879; }
.cpif-card-body { padding:var(--cpif-padding,20px); }
.cpif-category, .cpif-category-market-commentary, .cpif-category-cp-insights,
.cpif-category-insights, .cpif-category-financial-planning, .cpif-category-retirement-planning,
.cpif-category-estate-planning, .cpif-category-tax-planning,
.cpif-category-insurance-planning, .cpif-category-investment-planning {
 display:block; color:var(--cpif-green); font-size:var(--cpif-category,12px); font-weight:400;
 letter-spacing:.055em; line-height:1.4; margin:0 0 4px;
}
.cpif-card h3 { font-size:var(--cpif-title,17px); line-height:1.35; font-weight:400; margin:0 0 9px; padding:0; }
.cpif-card h3 a { font-weight:400; }
.cpif-card time { display:block; font-size:var(--cpif-date,12px); line-height:1.5; color:#666; margin-bottom:9px; }
.cpif-excerpt { font-size:var(--cpif-excerpt,14px); line-height:1.5; margin:0 0 12px; color:#666; }
.cpif-readmore { font-size:var(--cpif-readmore,13px); font-weight:400; line-height:1.4; color:var(--cpif-green); }
.cpif-readmore:hover { color:var(--cpif-blue); }
