/* Status messages shown under a form after it is submitted. */
.vt-form-status {
  margin: 16px 0 0;
  padding: 0;
  font-size: 15px;
  line-height: 1.55;
  font-family: Montserrat, system-ui, sans-serif;
}

.vt-form-status:empty {
  display: none;
}

.vt-form-status[data-state] {
  padding: 14px 16px;
  border-radius: 8px;
  border-left: 4px solid transparent;
}

.vt-form-status[data-state='info'] {
  background: #f1f5f9;
  border-left-color: #64748b;
  color: #334155;
}

.vt-form-status[data-state='pending'] {
  background: #f0f9ff;
  border-left-color: #0ea5e9;
  color: #075985;
}

.vt-form-status[data-state='success'] {
  background: #ecfdf5;
  border-left-color: #10b981;
  color: #065f46;
}

.vt-form-status[data-state='error'] {
  background: #fef2f2;
  border-left-color: #ef4444;
  color: #991b1b;
}

/* "Skip to content" - visible only when focused by keyboard. */
.vt-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  padding: 12px 20px;
  background: #0B2545;
  color: #fff;
  font-family: Montserrat, system-ui, sans-serif;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 6px 0;
}

.vt-skip-link:focus {
  left: 0;
}

/* Back-to-top button. */
.vt-to-top {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  background: #1877F2;
  color: #fff;
  font-size: 17px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
  box-shadow: 0 6px 18px rgba(24, 119, 242, 0.4);
}

.vt-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.vt-to-top:hover {
  background: #1464C9;
}

@media (prefers-reduced-motion: reduce) {
  .vt-to-top {
    transition: none;
  }
}
