/* ── Vendor W-9 Pre-Qualification Plugin Styles ─────────────────────────────
   Scoped under .vw9-* to avoid conflicts with your theme.
   ─────────────────────────────────────────────────────────────────────────── */
    
}

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700&family=Roboto+Slab:wght@400;600&display=swap');
 
/* ── Root wrapper ── */
.vw9-wrapper {
  width: 100% !important;
  font-size: 16px !important;
  font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif !important;
  color: #7A7A7A !important;
  font-weight: 400 !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}
 
.vw9-wrapper *,
.vw9-wrapper *::before,
.vw9-wrapper *::after {
  box-sizing: border-box !important;
}
 
/* ── Card: flat, no border/shadow — matches NM&C page sections ── */
.vw9-card {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
 
/* ── Step badge: dark teal pill ── */
.vw9-step-badge {
  display: inline-block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  background: #00394D !important;
  padding: 5px 12px !important;
  margin-bottom: 22px !important;
  font-family: 'Roboto', sans-serif !important;
  line-height: 1.4 !important;
}
 
/* ── Heading: Roboto Slab (secondary typography) + dark teal ── */
.vw9-heading {
  font-size: 28px !important;
  font-weight: 400 !important;
  font-family: 'Roboto Slab', serif !important;
  color: #00394D !important;
  margin: 0 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
 
/* Teal underline bar — matches NM&C section heading style */
.vw9-heading::after {
  content: '' !important;
  display: block !important;
  width: 50px !important;
  height: 3px !important;
  background: #1DABBB !important;
  margin-top: 14px !important;
  margin-bottom: 0 !important;
}
 
/* ── Subtext ── */
.vw9-subtext {
  font-size: 15px !important;
  color: #7A7A7A !important;
  line-height: 1.75 !important;
  margin-top: 20px !important;
  margin-bottom: 32px !important;
  font-family: 'Roboto', sans-serif !important;
  font-weight: 400 !important;
}
 
/* ── Error box ── */
.vw9-error {
  display: none !important;
  background: #f0fafa !important;
  border-left: 3px solid #1DABBB !important;
  color: #00394D !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin-bottom: 24px !important;
  font-family: 'Roboto', sans-serif !important;
}
.vw9-error.vw9-visible { display: block !important; }
 
/* ── Field groups ── */
.vw9-field {
  margin-bottom: 24px !important;
  position: relative !important;
}
 
/* Labels: Roboto, small uppercase gray */
.vw9-label {
  display: block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: #7A7A7A !important;
  margin-bottom: 6px !important;
  font-family: 'Roboto', sans-serif !important;
}
 
/* Inputs: bottom-border only, white bg — matches NM&C contact form */
.vw9-input {
  display: block !important;
  width: 100% !important;
  background: #ffffff !important;
  border: none !important;
  border-bottom: 1px solid #cccccc !important;
  border-radius: 0 !important;
  padding: 10px 0 !important;
  font-size: 15px !important;
  font-family: 'Roboto', sans-serif !important;
  font-weight: 400 !important;
  color: #00394D !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: border-color .2s !important;
  line-height: 1.5 !important;
}
.vw9-input:focus {
  border-bottom-color: #1DABBB !important;
  background: #ffffff !important;
}
.vw9-input::placeholder {
  color: #bbbbbb !important;
  font-weight: 400 !important;
}
 
/* ── Submit button: primary teal ── */
.vw9-btn {
  display: block !important;
  width: 100% !important;
  background: #1DABBB !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 16px 32px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  font-family: 'Roboto', sans-serif !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: background .2s !important;
  margin-top: 16px !important;
  line-height: 1.4 !important;
}
.vw9-btn:hover:not(:disabled) { background: #48AE9F !important; }
.vw9-btn:active:not(:disabled) { background: #00394D !important; }
.vw9-btn:disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
}
 
/* ── Legal copy ── */
.vw9-legal {
  margin-top: 18px !important;
  font-size: 12px !important;
  color: #aaaaaa !important;
  line-height: 1.7 !important;
  font-family: 'Roboto', sans-serif !important;
  font-weight: 400 !important;
}
 
/* ─────────────────────────────────────────────────────────────────────────────
   Confirmation state
   ─────────────────────────────────────────────────────────────────────────── */
.vw9-confirm { text-align: left !important; }
 
/* Green check icon — uses accent green for success */
.vw9-check-icon {
  width: 56px !important;
  height: 56px !important;
  background: #81BA56 !important;
  color: #ffffff !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 24px !important;
}
 
.vw9-info-box {
  background: #f4f9f9 !important;
  border-left: 3px solid #1DABBB !important;
  padding: 14px 18px !important;
  margin: 24px 0 !important;
}
.vw9-info-label {
  display: block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: #7A7A7A !important;
  margin-bottom: 4px !important;
  font-family: 'Roboto', sans-serif !important;
}
.vw9-info-value {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #00394D !important;
  font-family: 'Roboto', sans-serif !important;
}
 
/* Next steps */
.vw9-next-steps { margin-top: 28px !important; }
.vw9-next-title {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: #7A7A7A !important;
  margin-bottom: 16px !important;
  font-family: 'Roboto', sans-serif !important;
}
.vw9-next-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.vw9-next-list li {
  font-size: 15px !important;
  color: #7A7A7A !important;
  line-height: 1.7 !important;
  padding-left: 18px !important;
  position: relative !important;
  margin-bottom: 12px !important;
  font-family: 'Roboto', sans-serif !important;
  font-weight: 400 !important;
}
.vw9-next-list li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 9px !important;
  width: 7px !important;
  height: 7px !important;
  background: #1DABBB !important;
}
 
/* ── Confirmation fade-in ── */
@keyframes vw9FadeUp {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.vw9-confirm { animation: vw9FadeUp .3s ease both !important; }
 