/* OXMOOR V5.3 | Low-friction photo-first intake on Repair and Residential Quote.
   Visual grouping only: no new required fields, no changes to Netlify names or action. */

.intakeStage { margin:0 0 21px; }
.intakeStageHeading {
  display:flex;gap:11px;align-items:flex-start;margin-bottom:11px;
}
.intakeStepNumber {
  flex:0 0 30px;width:30px;height:30px;
  display:grid;place-items:center;
  border:1px solid #d4dfe6;border-radius:7px;
  background:#edf2f5;color:#17394e;
  font-size:.71rem;font-weight:850;letter-spacing:.01em;
}
.intakeStageHeading h3 {
  margin:0;color:#102d42;line-height:1.25;
  font-size:1rem;font-weight:800;
}
.intakeStageHeading p {
  margin:4px 0 0;color:#667984;line-height:1.45;font-size:.78rem;
}
.intakeStage .fields {margin:0;}
.intakeStage .fields label,
.intakeStage .field label {line-height:1.4;}
.intakeStage .fields select {min-height:46px;}
.intakeStage--issue select {border-color:#9caebb!important;background:#fff;}
.intakeStage--photo {
  background:#f3f7f9;border:1px solid #d8e4ea;
  border-radius:11px;padding:18px;
}
.intakeStage--photo .intakeStageHeading {margin-bottom:12px;}
.intakePhotoBox {
  padding:15px 16px 12px;border:1.5px dashed #96b2c1;
  border-radius:9px;background:#fff;
}
.intakePhotoTitle {
  display:flex;align-items:center;gap:9px;
  color:#17394e;font-weight:800;font-size:.88rem;line-height:1.35;
  margin:0 0 9px;
}
.intakePhotoIcon {font-size:1.17rem;line-height:1;}
.intakePhotoBox input[type="file"] {
  box-sizing:border-box;display:block;width:100%;max-width:100%;
  padding:9px;border:1px solid #cddae1;border-radius:7px;
  background:#fff;color:#17394e;
  font-size:.8rem;min-height:44px;cursor:pointer;
}
.intakePhotoBox input[type="file"]::file-selector-button {
  border:0;border-radius:5px;padding:9px 11px;
  background:#dfe9ee;color:#183c50;
  font:800 .76rem Arial,Helvetica,sans-serif;
  margin-right:10px;cursor:pointer;
}
.intakePhotoHint {
  margin:10px 0 0!important;font-size:.76rem!important;
  line-height:1.5!important;color:#516775!important;
}
.intakePhotoStatus {
  margin:7px 0 0!important;font-size:.74rem!important;
  color:#6d7d87!important;line-height:1.35!important;
}
.intakePhotoStatus.has-photos {color:#246149!important;font-weight:800;}
.intakeStage--contact {padding-top:5px;}
.intakeStage--contact .fields {gap:13px;}
/* Keep Name and Phone aligned at their top edges even when Phone has help text.
   Without this, CSS Grid stretches the shorter Name field and vertically
   centers/expands its input to match the taller Phone column. */
.intakeStage--contact .fields > .field {align-content:start;}
.intakeStage--contact .fields > .field > input:not([type="hidden"]) {align-self:start;}
.intakeStage--contact input[type="text"],
.intakeStage--contact input[type="tel"],
.intakeStage--contact input[type="email"] {min-height:44px;}
.repairType[aria-pressed="true"] {
  background:#edf5f9;border-color:#31769e;
  box-shadow:inset 0 0 0 1px #31769e,0 8px 20px rgba(7,26,44,.09);
}
.repairType[aria-pressed="true"] strong {color:#245e7b;}
@media(max-width:650px) {
  .intakeStage{margin-bottom:20px;}
  .intakeStageHeading h3 {font-size:.95rem;}
  .intakeStage--photo{padding:14px;}
  .intakePhotoBox{padding:12px;}
  .intakePhotoBox input[type="file"] {font-size:.75rem;}
  .intakePhotoBox input[type="file"]::file-selector-button {margin-right:6px;}
}
