/* Basic reset for plugin area */
.rpf-wrapper { max-width: 1200px; margin: 40px auto; padding: 0 20px; color: #1b1b1b; }
.rpf-header { text-align: center; margin-bottom: 24px; }
.rpf-main-title { font-size: 42px; margin: 10px 0 4px; font-weight: 800; color: #0A3161;font-family: 'Poppins'; }
.rpf-subtitle { font-size: 18px; color: #4b4b4b; margin-bottom: 18px; font-family: 'Poppins'; }

/* Filters */
.rpf-filters { display:flex; gap:20px; justify-content:center; margin-bottom: 36px; flex-wrap:wrap; align-items:flex-end; }
.rpf-filter-col { min-width:172px; max-width:260px; width: 100%; }
.rpf-filter-label { display:block; margin-bottom:8px; font-weight:600; color:#000000; }
.rpf-select { width: 100%; padding:12px 14px; border:2px solid #cfcfcf; border-radius:6px; background:#fff; appearance:none; -webkit-appearance:none; -moz-appearance:none; }

/* Clear button */
.rpf-clear-col { display:flex; align-items:flex-end; }
.rpf-clear-btn {
    background:#f5f5f5; border:1px solid #ccc; border-radius:6px;
    padding:12px 20px; cursor:pointer; font-weight:600; color:#333;
}
.rpf-clear-btn:hover { background:#e9e9e9; }

/* Results summary */
.rpf-results-header { text-align: right; margin-bottom: 10px; color:#666; font-size:14px; }

/* Grid and card layout */
.rpf-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:24px; align-items:stretch; }
@media (max-width: 1024.98px) {
    .rpf-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480.98px) {
    .rpf-grid { grid-template-columns: repeat(1, 1fr); }
}
.rpf-card { background:#fff; border:1px solid #efece6; border-radius:10px; overflow:hidden; display:flex; flex-direction:column; height:100%; box-shadow: 0 1px 0 rgba(0,0,0,0.02);transition: 0.3s 
linear; }
.rpf-card-thumb {
    aspect-ratio: 250 / 128;
    background-color: #f7f7f7;
    overflow: hidden;
    position: relative;
}
.rpf-card-thumb img{
    height: 100% !important;
    object-fit:contain;
    width: 100%;
}
.rpf-thumb-img, .rpf-thumb-placeholder { width:100%; height:100%; object-fit:cover; display:block; }
.rpf-thumb-placeholder { height:170px; }

/* badges top-right */
.rpf-card-badges { position:absolute; top:12px; right:12px; display:flex; gap:6px; flex-wrap:wrap; }
.rpf-badge { display:inline-block; padding:6px 10px; border-radius:14px; font-size:12px; font-weight:700; background: #0a3161;color: #fff; border:1px solid rgba(0,0,0,0.03); }

/* Card body */
.rpf-card-body { padding:18px 18px 20px; display:flex; flex-direction:column; gap:10px; flex:1; }
.rpf-card-topics { font-size:13px; color:#6b6b6b; margin-bottom:4px; }
.rpf-topic { display:inline-block; background:#fff; border-radius:6px; padding:4px 8px; border:1px solid #eee; margin-right:6px; font-size:12px; }
.rpf-card-title { margin:0; font-size:16px; line-height:1.2; font-weight:700; }
.rpf-card-title a { color:#111; text-decoration:none; }
.rpf-card-excerpt { color:#6a6a6a; font-size:14px; margin-top:4px; flex:1; }
.rpf-card-footer { margin-top:8px; }
.rpf-access-link { color:#B31942; font-weight:700; text-decoration:underline; }

/* Pagination */
.rpf-pagination { text-align:center; margin-top:28px; display:flex; gap:8px; justify-content:center; align-items:center; }
.rpf-page-num, .rpf-page-link { display:inline-block; padding:8px 12px; border-radius:6px; border:1px solid #e6e6e6; text-decoration:none; color:#333; background:#fff; }
.rpf-page-num.active { background:#0b6b6b; color:#fff; border-color:transparent; }
.rpf-page-link.disabled { opacity:0.5; pointer-events:none; }

/* No results */
.rpf-no-results { padding:28px; text-align:center; color:#666; }

/* Loading */
.rpf-loading { text-align:center; padding:40px 0; color:#777; font-size:16px; }