/**
 * Linux Training Program application form.
 *
 * Dark, monospace "terminal" styling scoped entirely to .ltp-* classes so it
 * cannot leak into other forms/pages that share this module.
 */


.ltp-form-wrapper {
  position: relative;
  background: #11141A;
  color: #ffffff;
  padding: 48px 56px;
}

/* Hide the jQuery Validate-style "label.error" messages this site's global
   form JS injects — this form shows its own error state (red border via
   .ltp-field--error) instead of inline text. */
label.error {
  display: none !important;
}

.ltp-row {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-bottom: 32px;
}

.ltp-field {
  flex: 1 1 300px;
  min-width: 0;
}

.ltp-field--full {
  flex-basis: 100%;
}

.ltp-label {
  display: block;
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 12px;
}

.ltp-req {
  color: #ff6700;
}

.lx-fi {
  width: 100%;
  background: #0d0d0d;
  color: #ffffff;
  font-family: inherit;
  font-size: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 0;
  box-sizing: border-box;
}

input.lx-fi::placeholder,
textarea.lx-fi::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

.lx-fi:focus {
  outline: none;
  border-color: #3b9dff;
  box-shadow: 0 0 0 1px #3b9dff;
}

select.lx-fi {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 18px;
}

select.lx-fi option {
  background: #0d0d0d;
  color: #ffffff;
}

textarea.lx-fi {
  min-height: 200px;
  resize: vertical;
}

.ltp-hint {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  margin: 12px 0 0;
}

.ltp-checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 20px;
}

.ltp-checkbox-row input[type="checkbox"].ltp-checkbox {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
  background: #0d0d0d;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 3px;
  cursor: pointer;
}

.ltp-checkbox-row input[type="checkbox"].ltp-checkbox:hover {
  border-color: rgba(255, 255, 255, 0.7);
}

.ltp-checkbox-row input[type="checkbox"].ltp-checkbox:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 103, 0, 0.4);
}

.ltp-checkbox-row input[type="checkbox"].ltp-checkbox:checked {
  background: #ff6700;
  border-color: #ff6700;
}

.ltp-checkbox-row input[type="checkbox"].ltp-checkbox:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 9px;
  border: solid #11141a;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.ltp-checkbox-row label {
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.85);
}

.ltp-checkbox-row a {
  color: #3b9dff;
}

.ltp-actions {
  margin-top: 8px;
}

.ltp-submit {
  background: #ff6700;
  color: #0d0d0d;
  font-family: inherit;
  font-weight: 700;
  font-size: 15px;
  border: none;
  padding: 16px 32px;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.ltp-submit:hover {
  background: #e05e00;
}

.ltp-footer-note {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 24px;
}

.ltp-error-text {
  color: #ff6347;
  font-size: 14px;
}

.ltp-checkbox-row.ltp-field--error input[type="checkbox"].ltp-checkbox {
  border-color: #ff6347;
}

.ltp-field--error .ltp-label {
  color: #ff6347;
}

.ltp-field--error .lx-fi {
  border-color: #ff6347;
}

.ltp-field--error .lx-fi:focus {
  border-color: #ff6347;
  box-shadow: 0 0 0 1px #ff6347;
}

@media (max-width: 767px) {
  .ltp-form-wrapper {
    padding: 32px 20px;
  }

  .ltp-row {
    gap: 24px;
    margin-bottom: 24px;
  }
}
