/* Compact original qualification documents. */
#unternehmen .qualifications.qualifications-documents {
  grid-template-columns: minmax(0, 1fr) repeat(3, minmax(0, 1.1fr));
  gap: 14px;
  align-items: stretch;
  padding-top: 22px;
}
#unternehmen .qualifications-documents > .qualifications-heading { grid-column: auto; align-self: center; }
#unternehmen .qualifications-heading h3 { margin: 0; font-size: 1rem; line-height: 1.4; letter-spacing: -.02em; color: #f3f6ef; }
#unternehmen .qualifications-heading p { margin: 7px 0 0; max-width: 185px; font-size: .8125rem; line-height: 1.6; color: #acbaad; }
#unternehmen .qualification-document { display: flex; align-items: center; gap: 13px; min-width: 0; padding: 14px; border: 1px solid #ffffff26; border-radius: 12px; background: #ffffff04; color: #f5f7f2; transition: background .2s, border-color .2s; }
#unternehmen .qualification-document:hover { border-color: #c8af5f; background: #ffffff09; }
#unternehmen .qualification-document:focus-visible { outline: 2px solid #edc24d; outline-offset: 4px; }
#unternehmen .qualification-preview { display: flex; align-items: center; justify-content: center; flex: 0 0 52px; width: 52px; height: 74px; overflow: hidden; border: 3px solid #fff; border-radius: 3px; background: #fff; box-shadow: 0 3px 12px #0003; }
#unternehmen .qualification-preview img { display: block; width: 100%; height: 100%; object-fit: contain; }
#unternehmen .qualification-caption { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
#unternehmen .qualification-caption > strong { font-size: .9375rem; font-weight: 600; line-height: 1.3; letter-spacing: -.01em; }
#unternehmen .qualification-caption > span { color: #bac7ba; font-size: .6875rem; line-height: 1.5; overflow-wrap: anywhere; hyphens: auto; }
#unternehmen .qualification-caption > .qualification-open { display: inline-flex; align-items: center; gap: 7px; margin-top: 5px; color: #edce77; font-size: .6875rem; line-height: 1.5; }
#unternehmen .qualification-open > span { font-size: .875rem; }

.certificate-viewer { width: min(880px, calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); margin: auto; padding: 0; overflow: hidden; border: 1px solid #dce3d7; border-radius: 17px; background: #fff; color: #1c2321; box-shadow: 0 25px 100px #0005; }
.certificate-viewer:not([open]) { display: none; }
.certificate-viewer[open] { display: flex; flex-direction: column; }
.certificate-viewer::backdrop { background: #111b16c9; }
.certificate-viewer-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; flex-shrink: 0; padding: 17px 22px; border-bottom: 1px solid #e0e6db; }
.certificate-viewer-heading > div { min-width: 0; }
.certificate-viewer-heading p { margin: 0 0 4px; color: #68735e; font-size: .625rem; line-height: 1.5; text-transform: uppercase; letter-spacing: .1em; }
.certificate-viewer-heading h2 { margin: 0; font-size: 1.125rem; line-height: 1.4; font-weight: 600; letter-spacing: -.02em; }
.certificate-close { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; padding: 0; border: 1px solid #dce3d7; border-radius: 50%; color: #1c2321; background: #f4f6f1; }
.certificate-close svg { width: 19px; height: 19px; }
.certificate-close:hover { background: #ede4c5; border-color: #cbb36a; }
.certificate-viewer-body { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 20px; background: #eef1eb; }
.certificate-viewer-body img { display: block; width: auto; max-width: 100%; height: auto; max-height: calc(100vh - 214px); max-height: calc(100dvh - 214px); margin: 0 auto; object-fit: contain; background: #fff; box-shadow: 0 4px 22px #17261b18; }
.certificate-viewer-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; flex-shrink: 0; gap: 12px 20px; padding: 15px 22px; border-top: 1px solid #e0e6db; }
.certificate-viewer-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 40px; font-size: .8125rem; font-weight: 500; line-height: 1.5; }
.certificate-viewer-actions a:first-child { text-decoration: underline; text-underline-offset: 4px; }
.certificate-viewer-actions a:last-child { padding: 10px 14px; border-radius: 7px; background: #edc24d; color: #1c2321; }
.certificate-viewer-actions svg { width: 17px; height: 17px; }
.certificate-viewer-actions a:hover { color: #785b12; }

@media (max-width: 1100px) {
  #unternehmen .qualifications.qualifications-documents { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
  #unternehmen .qualifications-documents > .qualifications-heading { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 5px 20px; }
  #unternehmen .qualifications-heading p { margin: 0; max-width: none; }
  #unternehmen .qualification-document { gap: 11px; padding: 12px; }
  #unternehmen .qualification-preview { flex-basis: 46px; width: 46px; height: 66px; }
}
@media (max-width: 740px) {
  #unternehmen .qualifications.qualifications-documents { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  #unternehmen .qualifications-documents > .qualifications-heading { grid-column: auto; display: block; margin-bottom: 4px; }
  #unternehmen .qualifications-heading p { margin-top: 5px; }
  #unternehmen .qualification-document { gap: 15px; padding: 12px 15px; }
  #unternehmen .qualification-caption > span { font-size: .75rem; }
  #unternehmen .qualification-caption > .qualification-open { margin-top: 3px; font-size: .6875rem; }
  #unternehmen .qualification-caption br { display: none; }
}
@media (max-width: 480px) {
  .certificate-viewer { width: calc(100vw - 20px); max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); border-radius: 13px; }
  .certificate-viewer-heading { padding: 14px; gap: 10px; }
  .certificate-viewer-heading h2 { font-size: 1rem; }
  .certificate-viewer-body { padding: 12px; }
  .certificate-viewer-body img { max-height: calc(100vh - 226px); max-height: calc(100dvh - 226px); }
  .certificate-viewer-actions { padding: 12px 14px; gap: 6px 12px; }
  .certificate-viewer-actions a { font-size: .75rem; }
  .certificate-viewer-actions a:last-child { padding: 8px 10px; }
}
@media (prefers-reduced-motion: reduce) { #unternehmen .qualification-document { transition: none; } }
