.cert-content { padding-top: 32px; padding-bottom: 60px; }
.cert-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.cert-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #dce2e9; border-radius: 12px; color: #041e42; background: white; text-decoration: none; }
.cert-card:hover, .cert-card:focus-visible { color: #041e42; border-color: #76aa00; box-shadow: 0 5px 22px #041e421a; }
.cert-card:focus-visible { outline: 3px solid #76aa00; outline-offset: 4px; }
.cert-preview { height: 310px; padding: 12px; background: #f2f4f6; pointer-events: none; overflow: hidden; }
.cert-preview iframe { display: block; width: 100%; height: 100%; border: 0; pointer-events: none; background: white; }
.cert-subject { margin: 10px 0; color: #041e42; }
.cert-subject-detail { padding: 18px 22px; border-left: 4px solid #76aa00; border-radius: 4px; background: #f3f7ea; font-size: 22px; }
.cert-pagination { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 32px; }
.cert-pagination a { padding: 10px 16px; border: 1px solid #dce2e9; border-radius: 6px; color: #041e42; }
.cert-pagination a:hover, .cert-pagination a:focus-visible { border-color: #76aa00; }
.cert-results { color: #526172; margin-bottom: 20px; }
.cert-card-copy { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.cert-brand { color: #577b00; font-weight: 700; margin-bottom: 10px; }
.cert-card h2 { font-size: 23px; line-height: 1.3; overflow-wrap: anywhere; }
.cert-year { font-size: 18px; }
.cert-cta { margin-top: auto; padding-top: 18px; font-weight: 600; }
.cert-text { margin: 24px 0; overflow-wrap: anywhere; }
.cert-text img { max-width: 100%; height: auto; }
.cert-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin: 24px 0 16px; }
.cert-help { font-size: 14px; color: #526172; }
.cert-viewer { width: 100%; height: 80vh; min-height: 480px; border: 1px solid #dce2e9; }
@media (max-width: 990px) { .cert-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .cert-grid { grid-template-columns: 1fr; } .cert-viewer { min-height: 400px; } }
