/* LaranSys v6.0.27 HF1
   Contact Form Dark Fix + CTA Final Polish
   Additive override over site_contact_v627.css.
*/

/* -------------------------------------------------------------------------
   1) Force Contact form controls to remain dark
   ------------------------------------------------------------------------- */
html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields input,
html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields select,
html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields textarea {
  color-scheme: dark !important;
  color: #eef6f0 !important;
  background-color: #04100c !important;
  background-image: none !important;
  border: 1px solid rgba(199, 237, 54, .14) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .018),
    0 0 0 1px rgba(0, 0, 0, .08) !important;
  caret-color: #c7ed36 !important;
  opacity: 1 !important;
}

html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields input:hover,
html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields select:hover,
html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields textarea:hover {
  border-color: rgba(199, 237, 54, .23) !important;
  background-color: #05140e !important;
}

html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields input:focus,
html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields select:focus,
html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields textarea:focus {
  color: #ffffff !important;
  background-color: #06170f !important;
  border-color: rgba(199, 237, 54, .58) !important;
  outline: 0 !important;
  box-shadow:
    0 0 0 3px rgba(199, 237, 54, .055),
    0 0 24px rgba(199, 237, 54, .05),
    inset 0 1px 0 rgba(255, 255, 255, .025) !important;
}

html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields input::placeholder,
html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields textarea::placeholder {
  color: rgba(218, 232, 221, .31) !important;
  opacity: 1 !important;
}

html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields select {
  -webkit-appearance: auto !important;
  appearance: auto !important;
}

html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields select option {
  color: #eef6f0 !important;
  background: #07110d !important;
}

/* Chromium autofill can otherwise reintroduce a white/yellow control. */
html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields input:-webkit-autofill,
html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields input:-webkit-autofill:hover,
html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields input:-webkit-autofill:focus,
html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields textarea:-webkit-autofill,
html body main.ls-contact-v627 form.ls-contact-v627__form .ls-contact-v627__fields select:-webkit-autofill {
  -webkit-text-fill-color: #eef6f0 !important;
  -webkit-box-shadow: 0 0 0 1000px #04100c inset !important;
  box-shadow: 0 0 0 1000px #04100c inset !important;
  caret-color: #c7ed36 !important;
  border-color: rgba(199, 237, 54, .16) !important;
  transition: background-color 9999s ease-out 0s !important;
}

/* Labels and field grouping receive slightly more contrast. */
.ls-contact-v627 .ls-contact-v627__fields label > span {
  color: rgba(235, 244, 237, .73) !important;
}

.ls-contact-v627 .ls-contact-v627__field-full textarea {
  line-height: 1.58 !important;
}

/* -------------------------------------------------------------------------
   2) Need selector: clearer active state without becoming too bright
   ------------------------------------------------------------------------- */
.ls-contact-v627__needs button {
  overflow: hidden;
}

.ls-contact-v627__needs button::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 15px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  border: 1px solid rgba(199, 237, 54, .28);
  background: rgba(199, 237, 54, .05);
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.ls-contact-v627__needs button.is-active {
  color: #f8fcf9 !important;
  border-color: rgba(199, 237, 54, .43) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(199, 237, 54, .11), transparent 39%),
    linear-gradient(145deg, rgba(8, 22, 13, .98), rgba(4, 12, 8, .98)) !important;
  box-shadow:
    inset 3px 0 0 #c7ed36,
    0 20px 42px rgba(0, 0, 0, .27),
    0 0 24px rgba(199, 237, 54, .045) !important;
}

.ls-contact-v627__needs button.is-active::after {
  background: #c7ed36;
  box-shadow:
    0 0 9px rgba(199, 237, 54, .60),
    0 0 20px rgba(199, 237, 54, .20);
  transform: scale(1.08);
}

/* -------------------------------------------------------------------------
   3) Form progress: stronger but still premium
   ------------------------------------------------------------------------- */
.ls-contact-v627__form-status {
  padding-bottom: 14px !important;
}

.ls-contact-v627__progress {
  height: 3px !important;
  background: rgba(255, 255, 255, .035) !important;
}

.ls-contact-v627__progress span {
  min-width: 2px;
  background: linear-gradient(90deg, #c7ed36 0%, #18d7d0 72%, #41dff5 100%) !important;
  box-shadow:
    0 0 9px rgba(199, 237, 54, .18),
    0 0 18px rgba(24, 215, 208, .10) !important;
}

.ls-contact-v627__form-status strong {
  color: rgba(231, 241, 233, .70) !important;
}

/* -------------------------------------------------------------------------
   4) Compact the contact-specific final CTA.
   It remains useful, but no longer competes with the global footer CTA.
   ------------------------------------------------------------------------- */
.ls-contact-v627__final {
  padding: 42px 0 50px !important;
}

.ls-contact-v627__final-box {
  min-height: 0 !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 28px !important;
  padding: 27px 30px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 88% 20%, rgba(199, 237, 54, .055), transparent 31%),
    linear-gradient(145deg, rgba(7, 17, 11, .92), rgba(4, 10, 8, .95)) !important;
}

.ls-contact-v627__final .ls-contact-v627__kicker {
  font-size: 9px !important;
}

.ls-contact-v627__final h2 {
  margin: 11px 0 6px !important;
  font-size: clamp(1.55rem, 2.35vw, 2.55rem) !important;
  line-height: 1.02 !important;
}

.ls-contact-v627__final p {
  max-width: 650px !important;
  font-size: .86rem !important;
  line-height: 1.55 !important;
}

.ls-contact-v627__final .ls-contact-v627__actions {
  margin-top: 0 !important;
  justify-content: flex-end;
}

.ls-contact-v627__final .ls-contact-v627__btn {
  min-height: 44px !important;
  padding-inline: 16px !important;
  font-size: .82rem !important;
}

/* Transition into global footer/CTA feels tighter. */
.ls-contact-v627__final + .public-footer,
.ls-contact-v627__final ~ .public-footer {
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  .ls-contact-v627__final-box {
    grid-template-columns: 1fr !important;
  }

  .ls-contact-v627__final .ls-contact-v627__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .ls-contact-v627__final {
    padding: 34px 0 42px !important;
  }

  .ls-contact-v627__final-box {
    padding: 24px 22px !important;
  }

  .ls-contact-v627__final .ls-contact-v627__actions {
    width: 100%;
  }

  .ls-contact-v627__final .ls-contact-v627__btn {
    flex: 1 1 100%;
  }
}
