/* Kleopatra certificates v1 */
.cert-section{margin-top:2rem}.cert-count{color:#5d665f;margin-bottom:1.5rem}
.cert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.cert-grid .cert-card{margin:0;background:#fffdf7;border:1px solid #ddd2b6;border-radius:14px;overflow:hidden;box-shadow:0 8px 25px #173f3508}
.cert-image-link{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#f1ede2;padding:1rem;overflow:hidden}
.cert-image-link img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .2s}
.cert-image-link:hover img{transform:scale(1.025)}.cert-grid figcaption{padding:1rem 1.2rem}
.cert-grid figcaption h2{font-size:1.15rem;line-height:1.4;margin:0}.cert-grid figcaption p{font-size:.9rem;margin:.5rem 0 0;color:#5d665f}
.cert-dialog{width:min(1200px,96vw);max-width:96vw;max-height:94dvh;padding:1rem;border:1px solid #b39355;border-radius:12px;background:#faf7f0;color:#173f35}
.cert-dialog::backdrop{background:#0e231fe6}.cert-dialog-bar{display:flex;gap:1rem;align-items:center;justify-content:space-between;position:sticky;top:-1rem;background:#faf7f0;padding:.5rem 0;z-index:1}
.cert-dialog-bar h2{margin:0;font-size:1.25rem}.cert-dialog button{cursor:pointer;padding:.55rem .8rem;border:1px solid #b39355;border-radius:6px;background:#fffdf7;color:#173f35;font:inherit}
.cert-dialog-controls{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin:.5rem 0 1rem}.cert-dialog-controls a{font-size:.9rem}.cert-dialog-meta{margin:.5rem 0;color:#5d665f}
.cert-viewport{overflow:auto;max-height:68dvh;text-align:center;background:#e9e5da;border-radius:6px;padding:.5rem}.cert-modal-image{display:block;max-width:100%;max-height:65dvh;width:auto;height:auto;object-fit:contain;margin:auto}
.cert-viewport.cert-is-zoomed .cert-modal-image{width:1800px;max-width:none;max-height:none;height:auto}
html.cert-modal-open{overflow:hidden}.cert-hidden{display:none!important}
.cert-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:1.5rem}.cert-admin-card{min-width:0;scroll-margin-top:1rem}
.cert-admin-thumb{display:block;width:100%;height:250px;object-fit:contain;background:#eee9dd;border-radius:8px}
.cert-admin-card form label{display:block;margin:.8rem 0}.cert-admin-card .checkbox{display:flex;align-items:center;gap:.6rem}
.cert-admin-card .checkbox input{width:auto}.cert-order-controls{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0}.cert-order-controls form{margin:0}
.cert-admin .panel{margin-bottom:1.3rem}.cert-admin .cert-admin-card.panel{margin-bottom:0}.cert-admin [data-cert-upload-log]{overflow-wrap:anywhere}.cert-admin .cert-upload-ok{color:#176139}.cert-admin .cert-upload-error{color:#a12424}
.cert-admin details{border-top:1px solid #ddd2b6;padding-top:1rem}.cert-admin summary{cursor:pointer}
.cert-section a:focus-visible,.cert-section button:focus-visible,.cert-viewport:focus-visible,.cert-admin button:focus-visible{outline:3px solid #b39355;outline-offset:3px}
@media(max-width:900px){.cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cert-grid,.cert-admin-grid{grid-template-columns:1fr}.cert-dialog{padding:.65rem}.cert-dialog-controls{gap:.4rem}.cert-dialog-bar h2{font-size:1rem}.cert-dialog button{font-size:.9rem}.cert-dialog-bar{top:-.65rem}.cert-viewport.cert-is-zoomed .cert-modal-image{width:1300px}}
@media(prefers-reduced-motion:reduce){.cert-image-link img{transition:none}}
