.certificateModal{
  position:fixed;
  top:var(--certificate-modal-top, 0px);
  left:0;
  right:0;
  width:100%;
  height:var(--certificate-modal-height, 100dvh);
  z-index:320;
  display:none;
  align-items:center;
  justify-content:center;
  padding:
    max(12px, env(safe-area-inset-top))
    max(12px, env(safe-area-inset-right))
    max(12px, env(safe-area-inset-bottom))
    max(12px, env(safe-area-inset-left));
  overflow:hidden;
  background:rgba(3, 8, 20, .68);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  overscroll-behavior:none;
}

.certificateModal--open{
  display:flex;
}

.certificateModal__dialog{
  position:relative;
  width:min(1480px, 100%);
  height:calc(var(--certificate-modal-height, 100dvh) - 24px);
  max-height:calc(var(--certificate-modal-height, 100dvh) - 24px);
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
  padding:28px;
  border-radius:24px;
  border:1px solid var(--surface-border);
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(0, 212, 255, .08), transparent 40%),
    radial-gradient(120% 120% at 100% 0%, rgba(255, 183, 3, .10), transparent 36%),
    linear-gradient(180deg, var(--card2), var(--card));
  box-shadow:0 24px 90px rgba(0,0,0,.46);
  color:var(--text);
}

.certificateModal__close{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  width:38px;
  height:38px;
  border-radius:12px;
  border:1px solid var(--surface-border);
  background:var(--surface-mid);
  color:var(--text);
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.certificateModal__badge{
  flex:0 0 auto;
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  color:var(--muted, #94a3b8);
  border:1px solid var(--surface-border);
  background:var(--surface-soft);
}

.certificateModal__title{
  display:none !important;
}

.certificateModal__viewer{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:16px;
  background:rgba(255,255,255,.04);
  margin-top:12px;
  padding:12px;
}

.certificateModal__image{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
  margin:0 auto;
  user-select:none;
  -webkit-user-drag:none;
}

.certificateModal__download{
  flex:0 0 auto;
  align-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  margin:14px auto 0;
  padding:0 28px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.14);
  background:linear-gradient(90deg, var(--accent), #ffd166);
  color:#1a1a1a;
  font:inherit;
  font-size:16px;
  font-weight:700;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  box-shadow:0 10px 28px rgba(255,183,3,.22);
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.certificateModal__download:hover{
  transform:translateY(-1px);
  filter:brightness(1.02);
}

.footer__docs [data-certificate-link]{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:7px 0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0;
  background:transparent !important;
  box-shadow:none !important;
  appearance:none;
  -webkit-appearance:none;
  color:var(--footer-muted-3) !important;
  font:inherit !important;
  line-height:inherit;
  text-align:left !important;
  text-decoration:none !important;
  cursor:pointer;
  transition:.12s ease, color .4s ease;
}

.footer__docs [data-certificate-link]:hover{
  color:var(--footer-text) !important;
}

@media (max-width:640px){
  .footer__docs{
    display:block !important;
  }

  .footer__docs [data-certificate-link]{
    padding:5px 0 !important;
    font-size:14px !important;
  }

  .certificateModal{
    left:0;
    right:0;
    width:100vw;
    padding:0;
    background:rgba(3, 8, 20, .72);
  }

  .certificateModal__dialog{
    width:100vw;
    max-width:100vw;
    height:var(--certificate-modal-height, 100dvh);
    max-height:var(--certificate-modal-height, 100dvh);
    padding:18px 16px 14px;
    border-radius:0;
    border-left:0;
    border-right:0;
    box-shadow:none;
  }

  .certificateModal__close{
    top:10px;
    right:10px;
    width:36px;
    height:36px;
  }

  .certificateModal__badge{
    padding:6px 10px;
    font-size:11px;
    margin-right:48px;
  }

  .certificateModal__viewer{
    margin-top:14px;
    padding:0;
    border-radius:12px;
    background:transparent;
    width:100%;
    justify-content:center;
    align-items:center;
  }

  .certificateModal__image{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    margin:0 auto;
  }

  .certificateModal__download{
    width:min(100%, 320px);
    min-height:48px;
    margin-top:12px;
    padding:0 18px;
    font-size:15px;
    border-radius:999px;
  }
}

@media (max-width:360px){
  .footer__docs [data-certificate-link]{
    font-size:13px !important;
  }

  .certificateModal__dialog{
    padding-left:12px;
    padding-right:12px;
  }
}

@media (max-height:620px){
  .certificateModal__dialog{
    padding-top:14px;
  }

  .certificateModal__badge{
    display:none;
  }

  .certificateModal__viewer{
    margin-top:4px;
  }

  .certificateModal__download{
    min-height:44px;
    margin-top:8px;
    font-size:14px;
  }
}
