.field-tip-label {
  position: relative;
  display: inline-flex;
  align-items: flex-end;
  width: max-content;
  max-width: 100%;
  cursor: help;
  outline: none;
  z-index: 20;
}

.field-tip-text {
  border-bottom: 1px dotted #78a9a3;
  text-underline-offset: 3px;
}

.field-tip-label:focus-visible .field-tip-text {
  color: var(--mint-dk, #3f9a90);
  outline: 2px solid rgba(63, 154, 144, .22);
  outline-offset: 3px;
  border-radius: 2px;
}

.field-tooltip {
  --tip-arrow-left: 12px;
  display: none;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: calc(100% + 9px);
  left: 0;
  box-sizing: border-box;
  width: 390px;
  max-width: calc(100vw - 32px);
  min-height: 0;
  padding: 13px 15px;
  border: 1px solid #cfd8d7;
  border-radius: 7px;
  background: #fff;
  color: var(--ink, #2a3234);
  box-shadow: 0 8px 24px rgba(42, 50, 52, .18);
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.58;
  text-align: left;
  white-space: normal;
  transform: translateY(-3px);
  transition: opacity .12s, transform .12s, visibility .12s;
  z-index: 90;
}

.field-tooltip::before {
  content: "";
  position: absolute;
  left: var(--tip-arrow-left);
  top: -6px;
  width: 10px;
  height: 10px;
  border-left: 1px solid #cfd8d7;
  border-top: 1px solid #cfd8d7;
  background: #fff;
  transform: rotate(45deg);
}

.field-tip-label:hover,
.field-tip-label:focus,
.field-tip-label.is-field-tip-open {
  z-index: 100;
}

.field-tip-label:hover .field-tooltip,
.field-tip-label:focus .field-tooltip,
.field-tip-label.is-field-tip-open .field-tooltip,
.field-tooltip:hover {
  display: block;
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.field-tip-label.field-tip-above .field-tooltip {
  top: auto;
  bottom: calc(100% + 9px);
  transform: translateY(3px);
}

.field-tip-label.field-tip-above:hover .field-tooltip,
.field-tip-label.field-tip-above:focus .field-tooltip,
.field-tip-label.field-tip-above.is-field-tip-open .field-tooltip {
  transform: translateY(0);
}

.field-tip-label.field-tip-above .field-tooltip::before {
  top: auto;
  bottom: -6px;
  border-top: 0;
  border-left: 0;
  border-right: 1px solid #cfd8d7;
  border-bottom: 1px solid #cfd8d7;
}

.field-tooltip-title {
  display: block;
  margin-bottom: 7px;
  color: var(--mint-dk, #3f9a90);
  font-size: 13px;
  font-weight: 700;
}

.field-tooltip-row {
  display: block;
  margin-top: 6px;
}

.field-tooltip-row b {
  display: inline;
  color: var(--ink, #2a3234);
}

.field-tooltip-note {
  display: block;
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px solid var(--line, #e3e9e8);
  color: var(--sub, #7b8687);
}

@media (max-width: 520px) {
  .field-tooltip {
    width: 390px;
    max-width: calc(100vw - 64px);
  }
}
