/* zSign presentation fixes layered over the unmodified OpenSign application. */

/* OpenSign uses the Pro-only light weight class. Map it to the self-hosted
   Font Awesome Free solid face so every navigation/action icon renders. */
.fa-light {
  --_fa-family: "Font Awesome 7 Free";
  --fa-family: "Font Awesome 7 Free";
  --fa-style: 900;
  display: var(--fa-display, inline-block);
  font-family: var(--fa-style-family, "Font Awesome 7 Free");
  font-feature-settings: normal;
  font-style: normal;
  font-synthesis: none;
  font-variant: normal;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  text-rendering: auto;
  width: var(--fa-width, 1.25em);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.fa-light::before {
  content: var(--fa) / "";
}

@supports not (content: "" / "") {
  .fa-light::before {
    content: var(--fa);
  }
}

.fa-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.zsign-brand-logo-frame,
header div:has(> img[alt="logo"][src*="/zsign-brand/logo.svg"]) {
  height: 52px !important;
  min-width: 142px;
  overflow: visible !important;
}

.zsign-brand-logo,
header img[alt="logo"][src*="/zsign-brand/logo.svg"] {
  width: 142px !important;
  height: 52px !important;
  object-fit: contain !important;
}

.zsign-account-label {
  display: block;
  margin-bottom: 5px;
  color: #635bff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.11em;
  line-height: 1;
  text-transform: uppercase;
}

.zsign-social-links {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px !important;
  padding: 8px 10px 4px;
}

.zsign-social-links > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  border-radius: 10px;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.zsign-social-links > a:hover,
.zsign-social-links > a:focus-visible {
  color: #635bff;
  background: color-mix(in srgb, #635bff 10%, transparent);
  outline: 2px solid transparent;
  transform: translateY(-1px);
}

@media (max-width: 640px) {
  .zsign-brand-logo-frame,
  header div:has(> img[alt="logo"][src*="/zsign-brand/logo.svg"]) {
    height: 38px !important;
    min-width: 100px;
  }

  .zsign-brand-logo,
  header img[alt="logo"][src*="/zsign-brand/logo.svg"] {
    width: 100px !important;
    height: 38px !important;
  }

  .zsign-account-label {
    margin-bottom: 4px;
    font-size: 9px;
    letter-spacing: 0.09em;
  }

  .zsign-social-links {
    gap: 6px !important;
    padding-inline: 6px;
  }

  .zsign-social-links > a {
    width: 40px;
    height: 40px;
  }
}
