/* Valley Views — form pages. Loaded after guide.css, same tokens. */

body.vv-form-page { padding-bottom: var(--vv-6); }
body.vv-form-page .vv-search { display: none; }

.vv-form-main { padding: var(--vv-5) var(--vv-gutter) var(--vv-6); }

.vv-form-main h1 {
  margin: 0 0 var(--vv-3);
  font: 700 26px/1.15 var(--vv-font);
  letter-spacing: -0.015em;
}

.vv-lede {
  margin: 0 0 var(--vv-5);
  font-size: 16px;
  line-height: 1.55;
  color: var(--vv-ink-soft);
  text-wrap: pretty;
}

.vv-field {
  border: 0;
  margin: 0 0 var(--vv-4);
  padding: 0;
}

.vv-field > label,
.vv-field > legend {
  display: block;
  margin-bottom: var(--vv-2);
  padding: 0;
  font: 600 12px/1.3 var(--vv-font);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--vv-ink-faint);
}

.vv-optional {
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: var(--vv-ink-faint);
}

.vv-field input[type="text"],
.vv-field input[type="tel"],
.vv-field input[type="email"],
.vv-field select,
.vv-field textarea {
  display: block;
  width: 100%;
  min-height: 48px;
  padding: 12px 13px;
  border: 2px solid var(--vv-ink);
  border-radius: 0;
  background: #fff;
  font: 400 16px/1.45 var(--vv-font);
  color: var(--vv-ink);
  -webkit-appearance: none;
  appearance: none;
}
.vv-field textarea { resize: vertical; }

.vv-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23201e1d' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px 16px;
  padding-right: 40px;
}

.vv-field input[type="file"] {
  display: block;
  width: 100%;
  padding: var(--vv-3);
  border: 2px dashed #c8c4bc;
  background: transparent;
  font: 400 14px var(--vv-font);
}

.vv-radio {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 44px;
  padding: 10px 0;
  border-bottom: 2px solid var(--vv-rule);
  font: 400 15px/1.4 var(--vv-font);
  color: var(--vv-ink-soft);
  cursor: pointer;
}
.vv-radio:hover { color: var(--vv-ink); }
.vv-radio input {
  flex: none;
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  accent-color: var(--vv-olive);
}

.vv-consent { margin-bottom: var(--vv-5); border-bottom: 0; }

.vv-submit {
  display: block;
  width: 100%;
  min-height: 54px;
  padding: 15px var(--vv-4);
  border: 0;
  background: var(--vv-ink);
  color: var(--vv-paper);
  font: 600 16px var(--vv-font);
  text-align: left;              /* flush left, per the design system */
  cursor: pointer;
}
.vv-submit:hover { background: var(--vv-olive); }
.vv-submit:active { background: var(--vv-olive-deep); }

.vv-back {
  margin: var(--vv-5) 0 0;
  font: 400 15px var(--vv-font);
}

/* Netlify honeypot */
.vv-hp { position: absolute; left: -9999px; }

/* Radio rows that sit directly inside a fieldset keep normal sentence case */
.vv-field > label.vv-radio {
  margin-bottom: 0;
  letter-spacing: 0;
  text-transform: none;
}
