/* PMI Knowledge Hub — knowledge-hub.css | min font 14px */
*, *::before, *::after { box-sizing: border-box; }
.elementor-widget-pmikb_hero .elementor-widget-container,
.elementor-widget-pmikb_grid .elementor-widget-container { padding: 0 !important; margin: 0 !important; }

/* HERO */
.pmikb-hero { background:#0f2d58; padding:64px 24px 72px; text-align:center; }
.pmikb-hero__inner { max-width:680px; margin:0 auto; }
.pmikb-hero__heading { font-family:'DM Sans',sans-serif; font-size:38px; font-weight:800; color:#fff; margin:0 0 14px; letter-spacing:-0.02em; }
.pmikb-hero__sub     { font-family:'DM Sans',sans-serif; font-size:17px; color:rgba(255,255,255,0.82); line-height:1.65; margin:0; }

/* SECTION */
.pmikb-section { background:#fff; padding:64px 0 80px; }
.pmikb-inner   { max-width:1100px; margin:0 auto; padding:0 24px; }

/* FILTER */
.pmikb-filter { display:flex; align-items:center; gap:8px; margin-bottom:36px; flex-wrap:wrap; }
.pmikb-filter-btn {
    padding:7px 18px; border-radius:100px; cursor:pointer;
    font-family:'DM Sans',sans-serif; font-size:14px; font-weight:600;
    background:#fff; border:1.5px solid #e5e7eb; color:#374151;
    transition:all 0.18s ease;
}
.pmikb-filter-btn:hover     { border-color:#0f2d58; color:#0f2d58; }
.pmikb-filter-btn.is-active { background:#0f2d58; border-color:#0f2d58; color:#fff; }
.pmikb-filter-btn:focus-visible { outline:2px solid #f97316; outline-offset:2px; }

/* GRID — 3 col, matches screenshot */
.pmikb-grid {
    display:grid; grid-template-columns:repeat(3,1fr);
    gap:24px 20px;
}
.pmikb-card { background:#fff; border:1px solid #e5e7eb; border-radius:10px; overflow:hidden; transition:box-shadow 0.22s ease, transform 0.22s ease; }
.pmikb-card:hover { box-shadow:0 8px 28px rgba(15,45,88,0.10); transform:translateY(-3px); }
.pmikb-card__link { display:block; text-decoration:none; color:inherit; }

/* Image area */
.pmikb-card__img-wrap { position:relative; height:200px; overflow:hidden; background:#e5e7eb; }
.pmikb-card__img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.4s ease; }
.pmikb-card:hover .pmikb-card__img { transform:scale(1.05); }
.pmikb-card__img-placeholder { width:100%; height:100%; background:linear-gradient(135deg,#0f2d58,#1a8fe8); }

/* Resource type badge — top-left of image */
.pmikb-card__badge {
    position:absolute; top:12px; left:12px;
    display:inline-flex; align-items:center; gap:5px;
    background:rgba(15,45,88,0.82); color:#fff;
    font-family:'DM Sans',sans-serif; font-size:12px; font-weight:600;
    padding:4px 10px; border-radius:5px; backdrop-filter:blur(4px);
    letter-spacing:0.02em;
}
.pmikb-card__badge svg { width:13px; height:13px; flex-shrink:0; }

/* Card body */
.pmikb-card__body { padding:18px 18px 20px; }
.pmikb-card__date  { font-family:'DM Sans',sans-serif; font-size:13px; color:#9ca3af; margin:0 0 8px; }
.pmikb-card__title { font-family:'DM Sans',sans-serif; font-size:16px; font-weight:700; color:#111827; line-height:1.4; margin:0; }
.pmikb-card:hover .pmikb-card__title { color:#0f2d58; }

/* Empty state */
.pmikb-empty { text-align:center; padding:64px 24px; color:#9ca3af; font-family:'DM Sans',sans-serif; font-size:16px; }

/* Responsive */
@media (max-width:900px) { .pmikb-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) {
    .pmikb-grid { grid-template-columns:1fr; }
    .pmikb-hero__heading { font-size:28px; }
    .pmikb-hero { padding:48px 20px 56px; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { transition:none !important; } }
