/* ===== Progressive required-step cue: GOLDEN (replaces the red glow) =====
   1) Principal Age glows golden until it is chosen.
   2) Once chosen, Inpatient Limit becomes the golden next step.
   3) Once Inpatient is chosen, the optional limits read a black
      "Select Optional Limit". */

/* --- Step 1: Principal Age --- */
.quote-step-members .family-item:has(#principalAge.principal-age-error)>label{
  color:#b8860b!important;
}
#quote-form #individualFamilyDetails .family-overview.sub-container .family-item>#principalAge.principal-age-error,
#quote-form #individualFamilyDetails .family-overview.sub-container .family-item>#principalAge.principal-age-placeholder,
#quote-form #principalAge.principal-age-error,
#quote-form #principalAge.principal-age-placeholder{
  color:#8a6d1f!important;
  border:1.5px solid #d4af37!important;
  box-shadow:0 0 0 3px rgba(212,175,55,.22), 0 0 14px rgba(212,175,55,.34)!important;
  font-weight:700!important;
  animation:none!important;
}
#quote-form #principalAge.principal-age-error option{
  color:#1e293b!important;
  font-weight:400!important;
}
#quote-form #principalAge.principal-age-error option[value=""]{
  color:#8a6d1f!important;
  font-weight:700!important;
}
.principal-age-inline-warning{
  color:#8a6d1f!important;
}
.principal-validation-message.visible,
.inpatient-validation-message.visible{
  color:#7f1d1d!important;
}

/* --- Step 2: Inpatient Limit --- */
#quote-form #inpatientLimit.inpatient-limit-error,
#quote-form #inpatientLimit.compare-all-select-required{
  color:#8a6d1f!important;
  border:1.5px solid #d4af37!important;
  box-shadow:0 0 0 3px rgba(212,175,55,.22), 0 0 14px rgba(212,175,55,.34)!important;
  font-weight:700!important;
  animation:none!important;
}
#quote-form #inpatientLimit.inpatient-limit-error option,
#quote-form #inpatientLimit.compare-all-select-required option{
  color:#1e293b!important;
  font-weight:400!important;
}
#quote-form #inpatientLimit.inpatient-limit-error option[value=""],
#quote-form #inpatientLimit.inpatient-limit-error option[value="none"],
#quote-form #inpatientLimit.inpatient-limit-error option[value="all"],
#quote-form #inpatientLimit.compare-all-select-required option[value=""],
#quote-form #inpatientLimit.compare-all-select-required option[value="none"],
#quote-form #inpatientLimit.compare-all-select-required option[value="all"]{
  color:#8a6d1f!important;
  font-weight:700!important;
}
.inpatient-required-asterisk{
  color:#8a6d1f!important;
}

/* --- Blocking error state: only after a failed "Get My Quotes" --- */
#quote-form #principalAge.required-blocked,
#quote-form #individualFamilyDetails .family-overview.sub-container .family-item>#principalAge.required-blocked{
  color:#7f1d1d!important;
  border:1.5px solid #7f1d1d!important;
  box-shadow:0 0 0 3px rgba(127,29,29,.18), 0 0 14px rgba(127,29,29,.30)!important;
}
#quote-form #inpatientLimit.required-blocked{
  color:#7f1d1d!important;
  border:1.5px solid #7f1d1d!important;
  box-shadow:0 0 0 3px rgba(127,29,29,.18), 0 0 14px rgba(127,29,29,.30)!important;
}
#quote-form #principalAge.required-blocked option[value=""],
#quote-form #inpatientLimit.required-blocked option[value=""],
#quote-form #inpatientLimit.required-blocked option[value="none"],
#quote-form #inpatientLimit.required-blocked option[value="all"]{
  color:#7f1d1d!important;
}

/* --- Step 3: optional limits read black once available --- */
#quote-form #outpatientLimit:not(:disabled),
#quote-form #maternityLimit:not(:disabled),
#quote-form #dentalLimit:not(:disabled),
#quote-form #opticalLimit:not(:disabled){
  color:#111!important;
}

/* --- Children Only: the child-count selector takes the golden cue too --- */
#quote-form #individualFamilyDetails .family-overview.sub-container.children-only-layout #childrenAge017.zero-count-required{
  color:#8a6d1f!important;
  border:1.5px solid #d4af37!important;
  box-shadow:0 0 0 3px rgba(212,175,55,.22), 0 0 14px rgba(212,175,55,.34)!important;
  font-weight:700!important;
}
#quote-form #individualFamilyDetails .family-overview.sub-container.children-only-layout #childrenAge017.zero-count-required option[value="0"]{
  color:#8a6d1f!important;
  font-weight:700!important;
}

/* ===== Chosen fields get a light-green fill (Inpatient Limit + scopes) ===== */
#quote-form #inpatientLimit.has-selection,
#quote-form #inpatientScopeGroup>.scope-select.has-selection,
#quote-form #outpatientScopeGroup>.scope-select.has-selection{
  background:#e8f5e9!important;
  border-color:#a5d6a7!important;
  color:#1b5e20!important;
}

/* ===== Step 2b: after the Inpatient Limit, the Inpatient Scope is next ===== */
#quote-form #inpatientScopeGroup>.scope-select.scope-step-required{
  background:#fff!important;
  border:1.5px solid #d4af37!important;
  color:#8a6d1f!important;
  font-weight:700!important;
  box-shadow:0 0 0 3px rgba(212,175,55,.22), 0 0 14px rgba(212,175,55,.34)!important;
}
#quote-form #inpatientScopeGroup>.scope-select.scope-step-required option[value=""]{
  color:#8a6d1f!important;
  font-weight:700!important;
}

/* ===== Inactive Inpatient Limit + scopes: no grey wash, just the blocked
   cursor so it stays visually consistent with the active fields. ===== */
#quote-form #inpatientLimit:disabled,
#quote-form .inpatient-card.inpatient-limit-pending #inpatientLimit:disabled,
#quote-form #inpatientScopeGroup>.scope-select:disabled,
#quote-form #outpatientScopeGroup>.scope-select:disabled{
  background:#fff!important;
  border-color:#d9e0e8!important;
  color:#475569!important;
  opacity:1!important;
  cursor:not-allowed!important;
}
#quote-form .inpatient-control:has(#inpatientLimit:disabled),
#quote-form #inpatientScopeGroup:has(.scope-select:disabled),
#quote-form #outpatientScopeGroup:has(.scope-select:disabled){
  cursor:not-allowed!important;
}
