.dav-vitality-wrap{position:relative}

/* Step transitions */
.dav-step{
  transition: opacity .45s ease, transform .45s ease;
  opacity: 1;
  transform: translateY(0);
}
.dav-step.is-hidden{display:none !important;}
.is-hidden{display:none !important;}
.dav-step.is-leaving{
  opacity: 0;
  transform: translateY(8px);
}
.dav-step.is-entering{
  opacity: 0;
  transform: translateY(8px);
}

/* Step 1 card */
.dav-step1-card,
.dav-step3-card{
  background: transparent;
  max-width: 980px;
  margin: 0 auto;
}

.dav-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin: 18px 0 10px;
}
@media(min-width:768px){
  .dav-grid{grid-template-columns: 1fr;}
}

.dav-field span{
  display:block;
  font-weight:600;
  margin-bottom:6px;
}
.dav-field input{
  width:100%;
  box-sizing:border-box;
  min-height: var(--theme-form-field-height, 50px);
  border-radius: var(--theme-form-field-border-radius, 12px);
  border: var(--theme-form-field-border-width, 2px) solid var(--theme-form-field-border-initial-color, #d5d8dc);
  padding: 12px 14px;
}
.dav-field input:focus{
  outline:none;
  border-color: var(--theme-form-field-border-focus-color, var(--theme-palette-color-1, #BF9461));
}



/* Button: inherits Blocksy/Elementor variables (fallback styling) */
.dav-theme-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  min-height: var(--theme-button-min-height, 54px);
  padding: var(--theme-button-padding, 8px 32px);
  border-radius: var(--theme-button-border-radius, 999px);
  background: var(--theme-button-background-initial-color, #646D86);
  color: var(--theme-button-text-initial-color, #ffffff);
  border: none;
  text-decoration:none;
  font-family: var(--theme-button-font-family, inherit);
  font-weight: var(--theme-button-font-weight, 700);
  font-size: var(--theme-button-font-size, 15px);
  text-transform: var(--theme-button-text-transform, uppercase);
  transition: var(--theme-transition, all .2s ease);
}
.dav-theme-btn:hover{
  background: var(--theme-button-background-hover-color, var(--theme-button-background-initial-color, #646D86));
  color: var(--theme-button-text-hover-color, #ffffff);
}

/* Keep the EAEL structure readable even if EAEL CSS is not present */
.dav-theme-btn .creative-button-inner{display:flex; align-items:center; gap:10px}
.dav-theme-btn .eael-creative-button-icon-right{font-size:18px; line-height:1}

/* Step 2 layout */
.dav-step2 .dr-ali-vitality-root{margin-top: 0}
.dav-save-actions{margin-top: 18px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:16px}
.dav-save-actions > *{width:100%; max-width: 520px; display:flex; justify-content:center}

.dav-submit{margin-top: 22px; display:flex; flex-direction:column; align-items:center; gap:12px}
.dav-status{margin-top: 6px; font-size: 14px}
.dav-status.is-ok{color: #0a875a}
.dav-status.is-err{color: #dc2626}
/* Step 1 CTA spacing */
.dav-actions{margin-top:25px;margin-bottom:15px}

.dav-step1-status{margin-top:10px;font-size:14px}
.dav-step1-status .err{color:#dc2626}
.dav-step1-status .ok{color:#0a875a}

/* Remove outer calculator card background */
.dav-step2 .dr-ali-vitality-root > div{background:transparent !important; box-shadow:none !important}

/* Step 3 Save buttons layout (left-aligned, consistent widths) */
#dav-step3 #dav-save-actions{display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:16px; margin-top:22px}
#dav-step3 #dav-save-actions > *{width:100%; max-width:520px}

/* Step 3 "Send me the report" CTA aligned with save buttons */
#dav-step3 .dav-report-actions{margin-top:16px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start}
#dav-step3 .dav-report-actions > *{width:100%; max-width:520px}

/* Hide export buttons on Step 2 */
.dav-step2 #dav-save-actions{display:none !important}

/* Step 2 required-field validation */
.dav-field-error{
  display:block;
  color:#dc2626;
  font-size:12px;
  font-weight:600;
  margin:0 0 6px 0;
}

.dav-field-invalid{
  border-color:#dc2626 !important;
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.12) !important;
}
