/**
 * Gravity Forms — Algocept theme skin.
 * Dark footer (.algocept-gform) and light surfaces (.algocept-gform--light).
 */

.algocept-gform {
  --algocept-gf-blue: #00a0e0;
  --algocept-gf-navy: #0077a8;
  --algocept-gf-ink: #0b1220;
  --algocept-gf-line: rgba(255, 255, 255, 0.14);
  --algocept-gf-surface: rgba(255, 255, 255, 0.06);
  --algocept-gf-surface-focus: rgba(255, 255, 255, 0.1);
  --algocept-gf-text: #e2e8f0;
  --algocept-gf-muted: #94a3b8;
  --algocept-gf-placeholder: #64748b;
  --algocept-gf-error: #fecaca;
  --algocept-gf-error-bg: rgba(127, 29, 29, 0.35);
  --algocept-gf-radius: 0.75rem;
}

.algocept-gform--light {
  --algocept-gf-line: #e2e8f0;
  --algocept-gf-surface: #ffffff;
  --algocept-gf-surface-focus: #f4f9fc;
  --algocept-gf-text: #0b1220;
  --algocept-gf-muted: #64748b;
  --algocept-gf-placeholder: #94a3b8;
  --algocept-gf-error: #b91c1c;
  --algocept-gf-error-bg: #fef2f2;
}

/* Override Orbital theme tokens inside our wrapper */
.algocept-gform .gform_wrapper.gform-theme,
.algocept-gform .gform_wrapper[data-form-theme="orbital"],
.algocept-gform [data-parent-form] {
  --gf-color-primary: #00a0e0 !important;
  --gf-color-primary-rgb: 0, 160, 224 !important;
  --gf-color-primary-contrast: #fff !important;
  --gf-color-primary-darker: #0077a8 !important;
  --gf-color-primary-lighter: #33bfe6 !important;
  --gf-color-in-ctrl-primary: #00a0e0 !important;
  --gf-color-in-ctrl-primary-rgb: 0, 160, 224 !important;
  --gf-color-in-ctrl-primary-darker: #0077a8 !important;
  --gf-color-in-ctrl-primary-lighter: #33bfe6 !important;
  --gf-radius: 0.75rem !important;
  --gf-ctrl-border-color: var(--algocept-gf-line) !important;
  --gf-ctrl-bg-color: var(--algocept-gf-surface) !important;
  --gf-label-color: var(--algocept-gf-text) !important;
  --gf-desc-color: var(--algocept-gf-muted) !important;
  --gf-color-danger: #f87171 !important;
}

.algocept-gform .gform_wrapper {
  color: var(--algocept-gf-text);
  margin: 0;
}

.algocept-gform .gform_heading {
  margin-bottom: 1.25rem;
}

.algocept-gform .gform_title {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.algocept-gform--light .gform_title {
  color: var(--algocept-gf-ink);
}

.algocept-gform .gform_description {
  color: var(--algocept-gf-muted);
  font-size: 0.9rem;
  line-height: 1.6;
}

.algocept-gform .gform_fields {
  gap: 1.15rem !important;
}

.algocept-gform .gfield {
  margin: 0 !important;
  padding: 0 !important;
}

.algocept-gform .gfield_label,
.algocept-gform .gform-field-label,
.algocept-gform legend.gfield_label {
  color: var(--algocept-gf-text) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 0.55rem !important;
}

.algocept-gform .gform-field-label--type-sub,
.algocept-gform label.gform-field-label--type-sub {
  color: var(--algocept-gf-muted) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  text-transform: none;
  margin-bottom: 0.35rem !important;
}

.algocept-gform .gfield_required,
.algocept-gform .gfield_required_text {
  color: #7dd3fc !important;
  font-weight: 600;
}

.algocept-gform .gfield_description,
.algocept-gform .ginput_counter {
  color: var(--algocept-gf-muted) !important;
  font-size: 0.78rem !important;
  line-height: 1.5;
  margin-top: 0.4rem !important;
}

.algocept-gform .ginput_container,
.algocept-gform .ginput_complex {
  margin: 0 !important;
}

.algocept-gform input[type="text"],
.algocept-gform input[type="email"],
.algocept-gform input[type="tel"],
.algocept-gform input[type="url"],
.algocept-gform input[type="number"],
.algocept-gform input[type="password"],
.algocept-gform input[type="search"],
.algocept-gform textarea,
.algocept-gform select,
.algocept-gform .gform-theme-field-control {
  width: 100%;
  box-sizing: border-box;
  border-radius: var(--algocept-gf-radius) !important;
  border: 1px solid var(--algocept-gf-line) !important;
  background: var(--algocept-gf-surface) !important;
  color: var(--algocept-gf-text) !important;
  font-size: 0.95rem !important;
  line-height: 1.45 !important;
  padding: 0.8rem 0.95rem !important;
  box-shadow: none !important;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    box-shadow 180ms ease;
}

.algocept-gform textarea {
  min-height: 8.5rem;
  resize: vertical;
}

.algocept-gform input::placeholder,
.algocept-gform textarea::placeholder {
  color: var(--algocept-gf-placeholder) !important;
  opacity: 1;
}

.algocept-gform input:hover,
.algocept-gform textarea:hover,
.algocept-gform select:hover {
  border-color: rgba(0, 160, 224, 0.45) !important;
  background: var(--algocept-gf-surface-focus) !important;
}

.algocept-gform input:focus,
.algocept-gform textarea:focus,
.algocept-gform select:focus,
.algocept-gform input:focus-visible,
.algocept-gform textarea:focus-visible,
.algocept-gform select:focus-visible {
  outline: none !important;
  border-color: var(--algocept-gf-blue) !important;
  background: var(--algocept-gf-surface-focus) !important;
  box-shadow: 0 0 0 3px rgba(0, 160, 224, 0.25) !important;
}

.algocept-gform .ginput_complex.ginput_container--name,
.algocept-gform .ginput_complex.ginput_container_email {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 0.75rem !important;
}

@media (min-width: 640px) {
  .algocept-gform .ginput_complex.ginput_container--name,
  .algocept-gform .ginput_complex.ginput_container_email {
    grid-template-columns: 1fr 1fr;
  }
}

.algocept-gform .gform-grid-col,
.algocept-gform .name_first,
.algocept-gform .name_last,
.algocept-gform .ginput_left,
.algocept-gform .ginput_right {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.algocept-gform .gform_footer,
.algocept-gform .gform-footer {
  margin: 1.25rem 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.algocept-gform .gform_button,
.algocept-gform input[type="submit"].gform_button,
.algocept-gform button.gform_button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3rem;
  border: 0 !important;
  border-radius: var(--algocept-gf-radius) !important;
  background: var(--algocept-gf-blue) !important;
  color: #fff !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
  padding: 0.85rem 1.35rem !important;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(0, 160, 224, 0.22) !important;
  transition:
    transform 200ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 200ms ease,
    box-shadow 200ms ease;
}

.algocept-gform .gform_button:hover,
.algocept-gform input[type="submit"].gform_button:hover {
  background: var(--algocept-gf-navy) !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0, 160, 224, 0.3) !important;
}

.algocept-gform .gform_button:focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
}

.algocept-gform .gform_validation_errors,
.algocept-gform .gform_submission_error,
.algocept-gform .validation_error {
  border-radius: var(--algocept-gf-radius) !important;
  border: 1px solid rgba(248, 113, 113, 0.45) !important;
  background: var(--algocept-gf-error-bg) !important;
  color: var(--algocept-gf-error) !important;
  padding: 0.9rem 1rem !important;
  margin-bottom: 1rem !important;
}

.algocept-gform .validation_message,
.algocept-gform .gfield_validation_message {
  color: var(--algocept-gf-error) !important;
  font-size: 0.8rem !important;
}

.algocept-gform .gfield_error input,
.algocept-gform .gfield_error textarea,
.algocept-gform .gfield_error select {
  border-color: rgba(248, 113, 113, 0.7) !important;
}

.algocept-gform .gform_confirmation_message,
.algocept-gform .gform_confirmation_wrapper {
  border-radius: 1rem;
  border: 1px solid rgba(0, 160, 224, 0.35);
  background: rgba(0, 160, 224, 0.12);
  color: #e0f6fc;
  padding: 1.1rem 1.2rem;
  font-size: 0.95rem;
  line-height: 1.6;
}

.algocept-gform--light .gform_confirmation_message,
.algocept-gform--light .gform_confirmation_wrapper {
  background: #e6f7fc;
  color: var(--algocept-gf-ink);
}

.algocept-gform .gform_ajax_spinner {
  filter: brightness(2);
}

/* Keep inquiry headings readable when GF Orbital sets global h2 colors. */
#inquiry h2,
#inquiry .gform_title {
  color: #fff;
}

@media (prefers-reduced-motion: reduce) {
  .algocept-gform .gform_button,
  .algocept-gform input[type="submit"].gform_button,
  .algocept-gform input,
  .algocept-gform textarea,
  .algocept-gform select {
    transition: none !important;
  }

  .algocept-gform .gform_button:hover,
  .algocept-gform input[type="submit"].gform_button:hover {
    transform: none !important;
  }
}
