/* Brand colors */
:root { --plib-g1: #132945; --plib-g2: #0071E6; --plib-navy: #1A385E; }

/* Base */
.plib { font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }

/* Filters */
.plib__filters { display:flex; flex-wrap:wrap; gap:16px; margin-bottom:20px; }
.plib__filter, .plib__compact { flex:1; min-width:220px; }
.plib__filter select,
.plib__filter input[type="search"],
.plib__compact select { width:100%; height:40px; padding:0 14px; font-size:15px; border:1px solid var(--plib-g2); border-radius:999px; background:#fff; color:var(--plib-g1); appearance:none; outline:none; }
.plib__filter select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%230071E6' d='M6 8L0 0h12z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:12px 8px; }
.plib__filter input[type="search"] { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Ccircle cx='7' cy='7' r='6' stroke='%230071E6' stroke-width='2' fill='none'/%3E%3Cline x1='11' y1='11' x2='15' y2='15' stroke='%230071E6' stroke-width='2'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:16px 16px; }

/* Grid */
.plib__grid { display:grid; grid-template-columns: repeat(auto-fill,minmax(340px,1fr)); gap:18px; }
.plib__card { border:1px solid #e3e3e3; border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.04); }

/* Media (zoom-out) */
.plib__media { position:relative; height:240px; background-size: auto, 110%; background-position:center; background-repeat:no-repeat; transition: background-size 300ms ease; will-change: background-size; }
.plib__card:hover .plib__media { background-size: auto, 100%; }

/* Badge (gradient, white text) */
.plib__badge { position:absolute; top:10px; left:10px; background-image:linear-gradient(135deg, var(--plib-g1), var(--plib-g2)); color:#fff; font-weight:700; padding:6px 12px; border-radius:999px; font-size:.9rem; box-shadow:0 2px 6px rgba(0,0,0,.15); }

/* Body */
.plib__body { padding:14px; }
.plib__title { font-size:.875rem; font-weight:700; margin:0 0 8px; }
.plib__excerpt { color:#555; margin:8px 0 0; }

/* CTAs (small + navy consistency) */
.plib__cta-group { 
  display: flex;        /* keep buttons on one line, allow gap */
  gap: 10px;            /* matches your original spacing */
  margin-top: auto;     /* pushes row to the bottom of the card */
  padding-top: 10px;
 }
.plib__cta { display:inline-block; font-weight:700; text-decoration:none; padding:6px 10px; border-radius:8px; font-size:12px; }
.plib__cta.plib__cta--primary,
.plib__cta.plib__cta--outline { background:#fff; border:1px solid var(--plib-navy); color: var(--plib-navy); }
.plib__cta.plib__cta--primary:hover,
.plib__cta.plib__cta--outline:hover { color:#fff; background: var(--plib-navy); border-color: var(--plib-navy); }
.plib__cta:focus { outline:2px solid var(--plib-navy); outline-offset:2px; }

/* Load more (glass) */
.plib__loadmorewrap { text-align:center; margin:20px 0; }
.plib__loadmore { display:inline-block; padding:10px 16px; border-radius:12px; font-weight:700; cursor:pointer; color: var(--plib-g2); background: rgba(255,255,255,0.35); border: 1px solid rgba(255,255,255,0.6); box-shadow: 0 8px 24px rgba(0,0,0,0.08); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.plib__loadmore:hover { background: rgba(255,255,255,0.45); border-color: rgba(255,255,255,0.8); }
.plib__loadmore:disabled { opacity:0.5; cursor:not-allowed; }
