
/* Univer360 appointment request form */

.appointment-form-wrap {
  max-width: 820px;
  margin: 20px 0 30px;
}

.appointment-form {
  position: relative;
}

.appointment-required-note,
.appointment-help {
  margin: 0 0 12px;
  color: #555;
  font-size: 13px;
}

.appointment-required-note span,
.appointment-field label > span,
.appointment-fieldset legend > span {
  color: #b00020;
}

.appointment-grid {
  display: grid;
  gap: 18px;
}

.appointment-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.appointment-field {
  margin: 0 0 17px;
}

.appointment-field label,
.appointment-fieldset legend {
  display: block;
  margin: 0 0 6px;
  color: #292929;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 700;
}

.appointment-field input[type="text"],
.appointment-field input[type="email"],
.appointment-field input[type="tel"],
.appointment-field select,
.appointment-field textarea {
  width: 100%;
  padding: 10px 11px;
  border: 1px solid #b9b9b9;
  border-radius: 2px;
  background: #fff;
  color: #292929;
  font: 14px Arial, Helvetica, sans-serif;
}

.appointment-field textarea {
  resize: vertical;
}

.appointment-field input:focus,
.appointment-field select:focus,
.appointment-field textarea:focus {
  outline: 2px solid rgba(36, 103, 141, .25);
  border-color: #24678d;
}

.appointment-field small {
  display: block;
  margin-top: 5px;
  color: #666;
  font-size: 12px;
}

.appointment-fieldset {
  padding: 0;
  border: 0;
}

.appointment-check {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 8px 0;
  color: #292929;
  font-size: 14px;
  line-height: 1.45;
}

.appointment-check input {
  margin-top: 3px;
}

.appointment-marketing {
  margin-top: 2px;
  margin-bottom: 18px;
}

.appointment-submit {
  display: inline-block;
  padding: 10px 25px;
  border: 0;
  border-radius: 2px;
  background: #203d72;
  color: #fff;
  font-family: "News Cycle", Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
}

.appointment-submit:hover,
.appointment-submit:focus-visible {
  background: #2b568f;
}

.appointment-status {
  margin: 0 0 18px;
  padding: 12px 14px;
  border-radius: 2px;
  font-size: 14px;
  line-height: 1.45;
}

.appointment-status.is-success {
  border: 1px solid #8abf99;
  background: #eef8f1;
  color: #20552e;
}

.appointment-status.is-error {
  border: 1px solid #d49a9a;
  background: #fff1f1;
  color: #7a1d1d;
}

.appointment-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

@media screen and (max-width: 650px) {
  .appointment-grid-2 {
    grid-template-columns: 1fr;
    gap: 0;
  }
}


/* Univer360 checkbox color */
.appointment-form input[type="checkbox"] {
  accent-color: #203d72;
}



/* V2: force checkbox appearance against Weebly/theme/browser rules */
#univer360-appointment-form input[type="checkbox"] {
  accent-color: #203d72 !important;
  -webkit-appearance: auto !important;
  appearance: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  width: 15px !important;
  height: 15px !important;
  display: inline-block !important;
}


/* V3: checkbox label text must stay normal dark gray.
   The earlier required-field selector also matched these spans. */
#univer360-appointment-form .appointment-check > span {
  color: #292929 !important;
  font-weight: 400 !important;
}

/* Homepage inquiry form uses the same checkbox behavior as the appointment form. */
#univer360-index-form input[type="checkbox"] {
  accent-color: #203d72 !important;
  -webkit-appearance: auto !important;
  appearance: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  width: 15px !important;
  height: 15px !important;
  display: inline-block !important;
  pointer-events: auto !important;
}

#univer360-index-form .appointment-check {
  pointer-events: auto !important;
  cursor: pointer !important;
}

#univer360-index-form .appointment-check > span {
  color: #292929 !important;
  font-weight: 400 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}



/* ==========================================================
   Standalone forms converted from legacy Weebly form markup.
   ========================================================== */
.standalone-site-form {
  max-width: 820px;
}

.standalone-site-form input[type="checkbox"] {
  accent-color: #203d72 !important;
  -webkit-appearance: auto !important;
  appearance: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  width: 15px !important;
  height: 15px !important;
  display: inline-block !important;
  pointer-events: auto !important;
}

.standalone-site-form .appointment-check {
  pointer-events: auto !important;
  cursor: pointer !important;
}

.standalone-site-form .appointment-check > span {
  color: #292929 !important;
  font-weight: 400 !important;
  pointer-events: auto !important;
}

.standalone-site-form .appointment-fieldset {
  margin: 0 0 20px;
}

.standalone-site-form .appointment-fieldset legend {
  margin-bottom: 6px;
}
