/**
 * Contact Triage — page-specific styles for /contact-form/ (page 459)
 * Only contains components unique to this page.
 * All base VP styles come from vp-system.css.
 */

/* ── Triage cards — clickable variant ── */
.page-id-459 .ct-card {
  cursor: pointer !important;
  transition: border-color .2s, box-shadow .2s, transform .2s !important;
  position: relative !important;
}
.page-id-459 .ct-card:hover,
.page-id-459 .ct-card:focus-visible {
  border-color: #2f7d4d !important;
  box-shadow: 0 4px 16px rgba(47,125,77,.12) !important;
  transform: translateY(-2px) !important;
}
.page-id-459 .ct-card:focus-visible {
  outline: 2px solid #2f7d4d !important;
  outline-offset: 2px !important;
}

/* Arrow indicator */
.page-id-459 .ct-card-arrow {
  position: absolute !important;
  top: 20px !important;
  right: 20px !important;
  font-size: 20px !important;
  color: #95d5b2 !important;
  transition: transform .2s, color .2s !important;
}
.page-id-459 .ct-card:hover .ct-card-arrow {
  transform: translateX(4px) !important;
  color: #2f7d4d !important;
}

/* ── Back button ── */
.page-id-459 .ct-back {
  background: none !important;
  border: none !important;
  color: #2f7d4d !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
  font-family: inherit !important;
}
.page-id-459 .ct-back:hover {
  color: #276741 !important;
  text-decoration: underline !important;
}

/* ── Qualifier selected state ── */
.page-id-459 .ct-selected {
  background: #2f7d4d !important;
  color: #fff !important;
  border-color: #2f7d4d !important;
}

/* ── Form fields ── */
.page-id-459 .ct-field {
  margin-bottom: 16px !important;
}
.page-id-459 .ct-field label {
  display: block !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1c3a2a !important;
  margin-bottom: 6px !important;
}
.page-id-459 .ct-req {
  color: #c0392b !important;
}
.page-id-459 .ct-input {
  display: block !important;
  width: 100% !important;
  padding: 10px 14px !important;
  font-size: 15px !important;
  font-family: inherit !important;
  border: 1px solid #dfe8e1 !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #2f2f2f !important;
  transition: border-color .2s !important;
  box-sizing: border-box !important;
}
.page-id-459 .ct-input:focus {
  border-color: #2f7d4d !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(47,125,77,.12) !important;
}
.page-id-459 select.ct-input {
  appearance: auto !important;
}
.page-id-459 textarea.ct-input {
  resize: vertical !important;
  min-height: 100px !important;
}

/* ZIP input — inline width */
.page-id-459 #zip-input {
  width: 140px !important;
  display: inline-block !important;
}

/* ── Qualifier question transitions ── */
.page-id-459 .ct-q .vp-card {
  animation: ctSlideIn .3s ease !important;
}
@keyframes ctSlideIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ── Ghost-bust grids ── */
.page-id-459 .vp-grid-2 > p,
.page-id-459 .vp-grid-2 > br,
.page-id-459 .vp-row > p,
.page-id-459 .vp-row > br {
  display: none !important;
}
