/* certificates.css - page-specific styles (shared chrome in site.css) */

    .container { max-width:1100px; margin:0 auto; padding:2.5rem 1.5rem; }

    /* ── FILTER (category pill = shared .tabs-pill in site.css) ── */
    .filter-wrap { display:flex; gap:.7rem; flex-wrap:wrap; margin-bottom:1.5rem; align-items:center; }
    .filter-wrap .tabs-wrap { margin-bottom:0; }
    .filter-search { flex:1; min-width:200px; padding:.48rem .9rem; border:2px solid #ddd; border-radius:30px; font-size:.85rem; font-family:inherit; }
    .filter-search:focus { border-color:var(--accent); outline:none; }
    .result-count { font-size:.82rem; color:#999; margin-left:auto; }

    /* ── CERT GRID ── */
    .cert-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:1.4rem; }
    .cert-card { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.07); border-bottom:3px solid transparent; transition:transform .2s,box-shadow .2s,border-color .2s; cursor:pointer; }
    .cert-card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(0,0,0,.12); border-bottom-color:var(--accent); }
    .cert-thumb { height:190px; overflow:hidden; background:#f0f0eb; display:flex; align-items:center; justify-content:center; }
    .cert-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
    .cert-card:hover .cert-thumb img { transform:scale(1.04); }
    .cert-body { padding:1rem; }
    .cert-type-tag { display:inline-block; background:var(--accent); color:#111; font-size:.7rem; font-weight:700; padding:.15rem .5rem; border-radius:4px; margin-bottom:.4rem; }
    .cert-recipient { font-size:.95rem; font-weight:700; color:var(--primary); margin-bottom:.25rem; line-height:1.35; }
    .cert-org { font-size:.8rem; color:#666; margin-bottom:.2rem; }
    .cert-note { font-size:.78rem; color:#888; margin-bottom:.3rem; line-height:1.5; }
    .cert-date { font-size:.75rem; color:#aaa; }
    .cert-dl-row { display:flex; justify-content:flex-end; margin-top:.7rem; }

    /* ── LIGHTBOX ── */
    .lightbox { position:fixed; inset:0; background:rgba(0,0,0,.88); z-index:9000; display:flex; align-items:center; justify-content:center; padding:1rem; opacity:0; pointer-events:none; transition:opacity .25s; }
    .lightbox.open { opacity:1; pointer-events:auto; }
    .lb-wrap { position:relative; max-width:860px; width:100%; display:flex; flex-direction:column; align-items:center; gap:.8rem; }
    .lb-img { max-height:80vh; max-width:100%; border-radius:10px; box-shadow:0 16px 48px rgba(0,0,0,.6); display:block; }
    .lb-info { color:#fff; text-align:center; }
    .lb-name { font-size:1.05rem; font-weight:700; margin-bottom:.2rem; }
    .lb-sub { font-size:.85rem; color:rgba(255,255,255,.7); }
    .lb-close { position:absolute; top:-2.2rem; right:0; background:none; border:none; color:rgba(255,255,255,.7); font-size:1.6rem; cursor:pointer; line-height:1; }
    .lb-close:hover { color:#fff; }
    .lb-dl { background:var(--accent); color:#111; text-decoration:none; border-radius:20px; padding:.4rem 1.1rem; font-size:.82rem; font-weight:700; transition:.2s; display:inline-flex; align-items:center; gap:.4rem; margin-top:.2rem; }
    .lb-dl:hover { opacity:.88; }

    /* ── EMPTY STATE ── */
    .empty-state { text-align:center; padding:5rem 1rem; color:#bbb; }
    .empty-state .es-icon { font-size:3.5rem; margin-bottom:1rem; }
    .empty-state p { font-size:1rem; color:#888; }

    @media(max-width:640px) {
      .cert-grid { grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); }
      .cert-thumb { height:140px; }
    }
