.shades-custom {
  background: #FAFAFA;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
form#roiForm {
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.sage-color {
  background: linear-gradient(90deg, #2370e7 0%, #109b9e 100%) !important;
  color: #fff;
  width: 100%;
  font-weight: 600;
  font-size: 18px;
  font-family: "Poppins", sans-serif;
}
.stepper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 10px 0;
  position: relative;
  width: 100%;
  padding: 0 15px;
  border-radius: 8px;
}
.stepper .step {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 0;
  z-index: 1;
}
.stepper .step-circle {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #A9A9A9;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 18px;
    font-family: "Poppins", sans-serif;
    transition: all 0.3s ease;
}
.stepper .step.active .step-circle {
  background: #2C2C2C;  
  color: #fff;
}
.stepper .step.completed .step-circle {
  background: #009247;  
  color: #fff;
}
.stepper .step-label {
  font-size: 14px;
  color: #6B7280;  
  font-weight: 500;
}
.stepper .step.active .step-label {
  color: #2C2C2C;  
  font-weight: 600;
}
.stepper .step.completed .step-label {
  color: #009247;  
  font-weight: 500;
}
.stepper .step:not(:last-child)::after {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23dce0e5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
  position: absolute;
  top: 12px;
  left: calc(100% - 10px);
  z-index: 0;
  transition: all 0.2s;
}
.stepper .step.active:not(:last-child)::after,
.stepper .step.completed:not(:last-child)::after {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232C2C2C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
}
.header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  border-bottom: 1px solid #d3d3d3;
  padding-left: 2rem;
  padding-right: 2rem;
}
.logo {
  width: 200px;
}
#roiForm .form-control:focus,
#roiForm .form-select:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
  outline: 0;
}
#roiForm .form-control.filled,
#roiForm .form-select.filled {
  border-color: #009247 !important;
  background-color: #0092471f;
  font-weight: 500;
  font-family: "Poppins", sans-serif;
}
.form-label {
  font-weight: 500;
  color: #1A1A1A;
  font-size: 15px;
  line-height: 1.35;
  margin-bottom: 10px;
  font-family: "Poppins", sans-serif;
}
.custom-select-height {
  height: 50px;         
}
.boomi-image {
  padding-bottom: 10px;
  margin-right: 15px;
}
.sub-field {
  color: #171717;
  font-weight: 500;
  font-family: "Poppins", sans-serif;
  font-size: 15px;
}
.step {
  text-align: center;
}
.circle {
  display: inline-block;
  background: #cfd8dc;
  color: #fff;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  line-height: 32px;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 6px;
  transition: background 0.3s;
  font-family: "Poppins", sans-serif;
}
.step.active .circle {
  background: #3bbf78 !important;
  color: #fff;
}
.form-section {
  display: none;
}
.form-section {
  background: #FAFAFA;
  padding: 20px;
}
.form-section.active {
  display: block;
}
.table thead th {
  background: #f0f4ff;
  border-bottom: none;
  padding: 10px;
  font-size: 16px;
}
.table td,
.table th {
  vertical-align: middle;
}
.table-responsive {
  font-size: 14px;
}
tbody,
td,
tfoot,
th,
thead,
tr {
  border: transparent;
}
#addRoleBtn {
  background: #ff6158;
  border: none;
  padding: 10px 20px;
}
#addRoleBtn:hover {
  background: #d53a2e;
}
.btn-danger,
.btn-next {
  background: linear-gradient(90deg, #0E75EB 0%, #0E75EB 100%);
  border: none;
  color: #fff !important;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  padding: 15px 35px;
  border-radius: 100px;
}
.btn-danger:hover,
.btn-next:hover {
   background: linear-gradient(90deg, #0E75EB 0%, #0E75EB 100%);
  color: #fff;
}
.btn-next:disabled {
  opacity: 0.6;
  pointer-events: none;
}
.btn-secondary {
  background: #2C2C2C;
  border: none;
  font-weight: 600;
  padding: 15px 35px;
  border-radius: 100px;
}
.btn-secondary:hover {
  background: #2C2C2C;
}
.rounded {
  border-radius: 8px !important;
}
.invalid-feedback {
  display: none;
  color: #d53a2e;
  font-size: 13px;
  font-family: "Poppins", sans-serif;
}
 .small-input {
    max-width: 240px;
  }
input.is-invalid ~ .invalid-feedback,
select.is-invalid ~ .invalid-feedback,
textarea.is-invalid ~ .invalid-feedback {
  display: block;
}
.form-check-input.is-invalid ~ .invalid-feedback {
  display: block;
}
.is-invalid + .invalid-feedback {
  display: block;
}
.form-control.is-invalid {
  border-color: #d53a2e;
}
.results-hero {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  min-height: 420px;
  display: grid;
  place-items: center;
  padding: clamp(24px, 5vw, 48px);
  isolation: isolate;
}
.results-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("https://sageitinc.com/upd/2025/08/boomiroi-result.jpg");
  background-size: cover;
  background-position: center;
  filter: blur(10px);
  transform: scale(1.06);
  z-index: -2;
}
.results-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.15));
  z-index: -1;
}
.result-card {
  width: 100%;
  max-width: 480px;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 10px;
  padding: clamp(18px, 4vw, 28px);
  box-shadow: 0 18px 42px -24px rgba(0, 0, 0, 0.4);
}
.result-card h2 {
  margin: 0 0 6px;
  font-weight: 800;
  letter-spacing: 0.2px;
  font-family: "Poppins", sans-serif;
}
.result-card p {
  margin: 0 0 20px;
  color: #111827;
  opacity: 0.85;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
}
.result-card .form-control {
  border: 1px solid #e3e7ef;
}
.result-card .btn-primary {
  background: linear-gradient(90deg, #1f8dfe, #2f6bff);
  border: none;
  color: #fff;
  font-weight: 700;
  border-radius: 12px;
  padding: 12px 18px;
  width: 100%;
  font-family: "Poppins", sans-serif;
}
.result-card .btn-primary:hover {
  filter: brightness(0.95);
}
.placeholder-option {
  font-weight: bold;
  color: #888;
  font-family: "Poppins", sans-serif;
}
.responsive-margin {
  margin-top: 24px;
}
.responsive-margin-two {
  margin-top: 24px;
}
.custom-margin {
  margin-top: 15px;
  margin-bottom: 15px;
}
.sub-field {
  margin-bottom: 10px;
}
.mlp {
  margin-bottom: 22px;
}
.desktop-response {
  margin-top: 15px !important
}
#roiForm .form-control,
#roiForm .form-select,
#roiForm .form-check-input,
#roiForm textarea,
#roiForm input[type="text"],
#roiForm input[type="number"],
#roiForm input[type="email"],
#roiForm input[type="tel"],
#roiForm input[type="password"] {
  outline: 1px solid #D4D4D4;
}
.title{
  font-size:24px;
}
.input-width-80 {
    width: 80% !important;
}
.input-width-20 {
    width: 20%!important;
    background-color: #EFEFEF;
    text-align: center;
}
.input-width-70 {
    width: 70% !important;
}
.input-width-30 {
    width: 30% !important;
    background-color: #EFEFEF;
     text-align: center;
}
.complexity-rows-input-heights{
   width: 50% !important;
}
td .remove-role {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.table>tbody>tr>th, .table>thead>tr>th {
    text-align: center;
    font-size: 18px;
    
}
.custom-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.custom-row .form-control {
  width: 120px;   
  height: 40px;      
}
.consultation-section.was-validated .form-check-input:invalid {
    border-color: #dc3545;
}

.consultation-section.was-validated .invalid-feedback {
    display: block;
}
.consultation-section .invalid-feedback {
    display: none;
    margin-top: 0.25rem;
    color: #dc3545;
}
.form-control.is-invalid,
.was-validated .form-control:invalid {
    border-color: #dc3545;
    padding-right: calc(1.5em + 0.75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
@media (max-width: 576px) {
  .custom-row {
    flex-direction: row;    
    justify-content: space-between;
  }
  .custom-row .sub-field {
    flex: 1;               
    text-align: left;       
  }
  .custom-row .form-control {
    flex: 0 0 120px;        
    height: 40px;        
  }
}
@media (max-width: 400px) {
  .stepper .step-circle {
    width: 24px;
    height: 24px;
    font-size: 12px;
    font-family: "Poppins", sans-serif;
  }
  .stepper .step-label {
    font-size: 11px;
    font-family: "Poppins", sans-serif;
  }
  .stepper .step:not(:last-child)::after {
    top: 12px;
    width: 16px;
  }
}
@media (max-width: 640px) {
  .results-hero {
    min-height: 360px;
  }
}
@media (min-width: 701px) {
  .stepper {
    justify-content: space-between;
    gap: 0;
    overflow: visible;
  }
  .stepper .step {
    flex: 1 1 0;
    align-items: center;
  }
  .stepper .step-label {
    display: block;
    font-size: 15px;
  }
 .stepper .step:not(:last-child)::after {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23dce0e5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
    position: absolute;
    top: 18px;
    left: calc(100% - 10px);
    z-index: 0;
    transition: all 0.2s;
}
.stepper .step.active:not(:last-child)::after,
.stepper .step.completed:not(:last-child)::after {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232C2C2C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
}
  .stepper .step .step-circle {
    margin-right: 15px;
  }
}
@media (max-width: 700px) {
  .stepper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 16px 0 20px;
    flex-direction: row;
  }
  .stepper .step {
    flex: 0 0 auto;
    text-align: center;
    position: relative;
    margin: 0;
  }
  .stepper .step-label {
    display: none;
    white-space: nowrap;
    font-size: 16px;
  }
  .stepper .step.active .step-label {
    display: inline-block;
    margin-left: 6px;
    vertical-align: middle;
  }
  .stepper .step.active .step-circle {
    margin-right: 4px;
  }
  .stepper .step::after {
    display: none !important;
  }
  .header {
    flex-direction: column;
    align-items: center;
  }
  .logo {
    width: 200px;
  }
  .form-section {
    padding: 1rem;
    border-radius: 15px;
  }
  .form-label {
    font-weight: 500;
    font-size: 16px;
    line-height: 2rem;
    margin-bottom: 10px;
    font-family: "Poppins", sans-serif;
  }
.form-label.form-label-new {
  margin-top: 15px!important;
}
  .sub-field {
    margin-bottom: 10px;
  }
  .responsive-margin {
    margin-top: 10px !important;
  }
  .responsive-margin-two {
    margin-top: 0 !important;
  }
  .custom-margin {
    margin-top: 0px;
  }
  .mobile-response {
    margin-top: 15px !important;
  }
  .mlp {
    margin-bottom: 0px !important;
  }
  .mobile-res {
     margin-top: 15px !important;
  }
  .input-width-80 {
    width: 60% !important;
}
.input-width-70 {
    width: 25% !important;
}
.btn-secondary {
    padding: 15px 20px!important;
}
button#prevBtn5 {
    margin: 0 !important;
}
.custom-row .form-control {
        flex: 0 0 50%!important;
    }
}
