:root{
  --bg:#f7f7f8;
  --card:#ffffff;
  --ink:#1a1a1a;
  --muted:#6b7280;
  --brand:#2c6e49;       /* verde sobrio y confiable */
  --brand-2:#aa3a2f;     /* rojo acento */
  --border:#e5e7eb;
  --focus:#2c6e49;
}

*{ box-sizing:border-box; }

body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  background: var(--bg);
  color: var(--ink);
  line-height:1.5;
}

.application-form{
  max-width: 920px;
  margin: 32px auto;
  padding: 16px;
}

.form-title{
  margin:0 0 4px 0;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  color: var(--brand);
}

.form-intro{
  margin:0 0 16px;
  color: var(--muted);
}

.job-form{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px;
}

.section{
  margin: 8px 0 20px;
  padding: 8px 0 0;
  border-top: 1px dashed var(--border);
}

.section-title{
  margin: 8px 0 12px;
  font-size: 1.1rem;
  color: var(--brand);
}

.form-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px 16px;
}

@media (min-width: 700px){
  .form-grid{
    grid-template-columns: 1fr 1fr;
  }
  .experience,
  .list-special-training,
  .additional-skills,
  .references{
    grid-column: 1 / -1; /* full width textarea rows */
  }
}

.label-block{
  font-weight: 600;
  color: var(--ink);
}

.label-inline{
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin: 8px 0;
}

.input-control{
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  outline: none;
}

.input-control:focus{
  border-color: var(--focus);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus) 20%, transparent);
}

textarea.input-control{
  resize: vertical;
  min-height: 80px;
}

.question{
  display: grid;
  gap: 8px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px;
  margin: 10px 0;
}

.question legend{
  font-weight: 600;
  color: var(--ink);
  padding: 0 4px;
}

.question label{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: 12px;
}

.file-upload .resume{
  margin-top: 6px;
}

.form-actions{
  display:flex;
  gap:12px;
  margin-top: 12px;
}

.btn{
  appearance: none;
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 10px 16px;
  cursor: pointer;
  font-weight: 600;
}

.btn-reset{
  background: #fff;
  border-color: var(--border);
  color: var(--ink);
}

.btn-reset:hover{
  border-color: var(--brand);
}

.btn-submit{
  background: var(--brand);
  color: #fff;
}

.btn-submit:hover{
  filter: brightness(0.95);
}

.thank-you{
  margin-top: 14px;
  padding: 10px 12px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--brand) 10%, #fff);
  border: 1px solid var(--border);
  color: var(--ink);
}

/* Classes mapped to questions for easy theming/targeting */
.first-name{}
.last-name{}
.email{}
.address{}
.education{}
.experience{}
.special-training{}
.list-special-training{}
.additional-skills{}
.references{}
.veteran{}
.citizen-us{}
.fired-before{}
.criminal-record{}
.verify-eligibility{}
.authorized-us{}
.alcohol-age{}
.worked-villas{}
.contact-employer{}
.agree{}
.certify{}
.resume{}
