/*
  Lernevate brand overrides for the self-hosted Jotform contact form.
  Loaded last in contact-form.html so it wins over Jotform's theme CSS.
  Colors match the site's Tailwind v4 palette (blue-900 primary, slate text).
*/
:root {
  --lv-primary: #1c398e;       /* blue-900 */
  --lv-primary-hover: #1447e6; /* blue-700 */
  --lv-focus: rgba(21, 93, 252, 0.25);
  --lv-text: #0f172b;          /* slate-900 */
  --lv-text-muted: #62748e;    /* slate-500 */
  --lv-border: #cad5e2;        /* slate-300 */
  --lv-surface-tint: #f8fafc;  /* slate-50 */
}

html.supernova,
.supernova body,
body {
  background: transparent !important;
}

/* Small inset so input focus rings aren't clipped by the iframe edge. */
body {
  margin: 0 !important;
  padding: 4px !important;
}

.supernova .form-all,
.form-all {
  --clrText: var(--lv-text);
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  font-family: "Inter", sans-serif;
  color: var(--lv-text);
}

.form-all .form-section {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.form-all .form-line {
  padding-left: 0;
  padding-right: 0;
}

.form-line.form-line-active {
  background-color: transparent !important;
}

/* Labels */
.form-label-top,
.form-label-left,
.form-label-right,
.form-html,
.form-checkbox-item label,
.form-radio-item label {
  color: var(--lv-text) !important;
}

.form-label.form-label-top {
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 0.75rem;
}

.form-sub-label {
  color: var(--lv-text-muted) !important;
  font-size: 0.8125rem;
}

.form-required {
  color: #e7000b; /* red-600 */
}

/* Inputs: full width regardless of Jotform's inline pixel widths */
.form-all .form-textbox,
.form-all .form-textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  border: 1px solid var(--lv-border) !important;
  border-radius: 0.5rem !important;
  color: var(--lv-text);
  background-color: #fff;
  transition: border-color 150ms, box-shadow 150ms;
}

.form-all .form-textarea {
  min-height: 8rem;
}

.form-all .form-textbox:focus,
.form-all .form-textarea:focus {
  outline: none;
  border-color: var(--lv-primary) !important;
  box-shadow: 0 0 0 3px var(--lv-focus) !important;
}

.form-all .form-sub-label-container,
.form-all [data-layout="half"] {
  width: 100% !important;
}

/* Radio choices as bordered option cards */
.form-all .form-radio-item {
  border: 1px solid #e2e8f0; /* slate-200 */
  border-radius: 0.75rem;
  padding: 0.625rem 0.875rem !important;
  margin-bottom: 0.5rem;
  background: #fff;
  transition: border-color 150ms, background-color 150ms;
}

.form-all .form-radio-item:hover {
  border-color: var(--lv-border);
  background: var(--lv-surface-tint);
}

.form-all .form-radio-item:has(input:checked) {
  border-color: var(--lv-primary);
  background: #eff6ff; /* blue-50 */
}

.form-all .form-radio {
  accent-color: var(--lv-primary);
}

.form-all .form-radio-item input:checked + label::before {
  border-color: var(--lv-primary) !important;
}

.form-all .form-radio-item input:checked + label::after {
  background-color: var(--lv-primary) !important;
}

/* Buttons */
.form-all .jf-form-buttons,
.form-all .form-submit-button,
.form-all .form-pagebreak-next {
  background-color: var(--lv-primary) !important;
  border: 1px solid var(--lv-primary) !important;
  color: #fff !important;
  border-radius: 0.75rem !important;
  font-family: "Inter", sans-serif !important;
  font-weight: 700 !important;
  padding: 0.75rem 1.5rem !important;
  box-shadow: 0 10px 15px -3px rgba(28, 57, 142, 0.2);
  transition: background-color 150ms, border-color 150ms;
}

.form-all .jf-form-buttons:hover,
.form-all .form-submit-button:hover,
.form-all .form-pagebreak-next:hover {
  background-color: var(--lv-primary-hover) !important;
  border-color: var(--lv-primary-hover) !important;
}

.form-all .form-pagebreak-back {
  background-color: #fff !important;
  border: 1px solid var(--lv-border) !important;
  color: #314158 !important; /* slate-700 */
  box-shadow: none;
}

.form-all .form-pagebreak-back:hover {
  background-color: var(--lv-surface-tint) !important;
  border-color: var(--lv-border) !important;
}

.form-all .jf-form-buttons:focus-visible,
.form-all .form-submit-button:focus-visible {
  outline: 2px solid var(--lv-primary);
  outline-offset: 2px;
}

.form-all .form-pagebreak,
.form-all .form-buttons-wrapper {
  border-top: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
