/* Certifications: desktop layout. Responsive adjustments belong in responsive.css. */
.certifications-section { position: relative; padding-block: 64px; min-height: calc(100vh - var(--header-height)); display: flex; align-items: center; isolation: isolate; }
.certifications-section::before, .certifications-section::after { content: ""; position: absolute; left: 5%; right: 5%; height: 1px; background: linear-gradient(90deg,transparent,rgba(255,90,0,.3),transparent); pointer-events: none; }
.certifications-section::before { top: 0; }
.certifications-section::after { bottom: 0; }
.certifications-heading { max-width: none; margin-bottom: 28px; }
.certifications-heading h2 span { color: var(--color-primary); }
.certifications-heading > p:last-child { max-width: 900px; }
.certifications-grid { display: grid; grid-template-columns: minmax(0,3fr) minmax(0,3fr) minmax(0,4fr); grid-template-areas: "practical languages technical" "membership languages technical"; gap: 20px; align-items: stretch; }
.certification-category:nth-child(1) { grid-area: practical; }
.certification-category:nth-child(2) { grid-area: languages; }
.certification-category:nth-child(3) { grid-area: membership; }
.certification-category:nth-child(4) { grid-area: technical; }
.certification-category { min-width: 0; padding: 24px; border: 1px solid rgba(255,90,0,.25); border-radius: 22px; background: linear-gradient(135deg,rgba(255,90,0,.07),rgba(11,14,17,.95) 65%); transition: opacity .65s ease,transform .65s ease,border-color .2s ease; }
.certification-category:hover { border-color: rgba(255,90,0,.6); }
.certification-category > header { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.certification-number { display: grid; place-items: center; width: 40px; height: 40px; flex-shrink: 0; border: 1px solid rgba(255,90,0,.3); border-radius: 12px; color: var(--color-primary); font-weight: 800; }
.certification-category h3 { margin: 0; font-size: 1.15rem; }
.certification-category header p, .certification-entry p { margin: 0; color: var(--color-text-muted); font-size: .82rem; line-height: 1.5; }
.certification-category ul { list-style: none; padding: 0; margin: 0; }
.certification-entry { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: stretch; gap: 16px 14px; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.08); }
.certification-entry > div { grid-column: 1 / -1; min-width: 0; }
.certification-entry > .certificate-view:only-of-type { grid-column: 1 / -1; }
.certification-entry:has(> .certification-badge) > .certificate-view { grid-column: auto; }
.certification-entry h4 { margin: 0 0 5px; font-size: .98rem; }
.certification-badge { display: grid; place-items: center; text-align: center; padding: 3px 9px; border-radius: 20px; font-size: .7rem; font-weight: 750; color: var(--color-primary); background: rgba(255,90,0,.09); }
.certificate-view { padding: 5px 10px; line-height: 1.2; border: 1px solid rgba(255,90,0,.4); border-radius: 8px; background: transparent; color: var(--color-primary); font: inherit; font-size: .75rem; font-weight: 750; cursor: pointer; transition: color .2s,background .2s; }
.certificate-view:hover { background: var(--color-primary); color: #080a0c; }
.certificate-view:focus-visible,.certificate-close:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }
.certificate-dialog { width: min(1000px,90vw); max-height: 90vh; padding: 24px; color: var(--color-text); background: #101316; border: 1px solid rgba(255,90,0,.5); border-radius: 18px; }
.certificate-dialog::backdrop { background: rgba(0,0,0,.82); backdrop-filter: blur(5px); }
.certificate-dialog__header { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 20px; }
.certificate-dialog__header h2 { font-size: 1.2rem; margin: 0; }
.certificate-close { background: transparent; color: inherit; border: 1px solid #555; border-radius: 8px; width: 36px; height: 36px; font-size: 24px; cursor: pointer; }
.certificate-image { display: block; max-width: 100%; height: auto; margin: auto; }
.certificate-image[hidden] { display: none; }
.certificate-status { color: var(--color-text-muted); }

.certification-entry .certification-subscores { margin-top: 5px; font-size: .72rem; line-height: 1.45; }
