.custom-checkbox {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  position: relative;
}

/* Hide Checkbox */
.custom-checkbox input[type="checkbox"] {
  opacity: 0;
  position: absolute;
  z-index: -1;
}

.custom-checkbox label {
  display: block;
  width: 32px;
  height: 32px;
  border: 2px solid #A975F8;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
  background-color: transparent;
  position: relative;
  line-height: 150%;
}

/* Checked Style */
.custom-checkbox input[type="checkbox"]:checked + label {
  background: linear-gradient(135deg, #66bb6a, #4dd0e1);
  border: none;
  box-shadow: 0 0 8px rgba(0,0,0,0.1);
}

/* Check Icon */
.custom-checkbox input[type="checkbox"]:checked + label::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 19px;
  height: 15px;
  background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxOSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEuNTA3ODEgNi4zMDg1OUw1LjU3NDE3IDEyLjQ3MjUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CjxwYXRoIGQ9Ik01LjU0Mjk3IDEyLjU4NEwxNi44MDM2IDEuNDg4OTEiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPgo=) no-repeat center;
  background-size: contain;
}

.custom-checkbox .pseudo-label {
    color:#7C7C7C;
    font-size: 16px;
    line-height: 34px;
}

/* CHECKBOX UP */

.multistep-form {
    font-family: 'Poppins', sans-serif;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    outline: none !important;
}

.ms-title {
    display: flex;
    flex-direction: row;
    margin-bottom: 30px;
}

.ms-title h2 {
    font-size: 38px;
    font-weight: 600;
    color:#6B60AD;
    line-height: 48px;
    font-family: 'Poppins', sans-serif;
}

.ms-content h3 {
    font-size: 20px;
    line-height: 11px;
    color: #6B60AD;
    margin-bottom: 25px;
    font-weight: 600;
}

.ms-content p {
    color:#7C7C7C;
    font-size: 14px;
    line-height: 23px;
}

a.bt-submit {
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    background-color: #8367C8 !important;
    color: #FFFFFF !important;
    border-style: none !important;
    border-radius: 36px !important;
    box-shadow: 2.78px 2.78px 0px 0px #71C9EC !important;
    padding: 18px 70px 18px 70px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}

a.bt-submit:hover {
    color: #FFFFFF !important;
    background: #A975F8 !important;
}
a.bt-submit:active {
    margin: 2px -2px 0 0;
    box-shadow: none !important;
}

a.bt-schedule:hover {
    color: #FFFFFF !important;
    background: #A975F8 !important;
}
a.bt-schedule:active {
    margin: 2px -2px 0 0;
    box-shadow: none !important;
}

a.bt-submit.disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.ms-form {
    background: #A7ACDD;
    padding: 0 0 200px 0;
    margin-bottom: -150px;
}


.ms-navigation {
    display: flex;
    flex-direction: row;
    margin-bottom: 30px;
}

.ms-navigation .left {
    width: 50%;
    text-align: left;
}

.ms-navigation .left a {
    text-decoration: none;
    line-height: 32px;
}

.ms-navigation .left span {
    color: #676767;
    margin-left: 3px;
}

.ms-navigation .right {
    width: 50%;
    text-align: right;
    display: flex;
}

.ms-navigation .numbers-list {
    display: flex;
    flex-direction: row;
    gap: 5px;
    margin-left: auto;
}

.ms-navigation .numbers-list a {
    background: #FFFFFF;
    border: solid 1px #F2F4F8;
    color:#C7C9CB;
    width: 32px;
    min-width: 32px;
    height: 32px;
    border-radius: 32px;
    line-height: 32px;
    text-align: center;
    justify-content: center;
    display: inline-flex;
    transition: all ease .3s;
    text-decoration: none;
}

.ms-navigation .numbers-list a.active {
    background: #8F82E8;
    color: #FFFFFF;
}

.ms-twocol {
    display: grid;
    grid-template-columns: 65% 1fr;
    gap: 40px;
}


.ms-right  {
    display: flex;
    align-items: center;

}

.ms-header {
    margin-bottom: 10px;
}

.ms-header span {
    text-transform: uppercase;
    color:#A7ACDD;
    font-weight: 700;
    letter-spacing: 1px;
}

.ms-title h2 span {
    color:#009DCE;
}

.ms-subtitle {
    margin-bottom: 60px;
}

.ms-subtitle h3 {
    font-weight: 400;
    font-size: 16px;
    line-height: 25px;
    color:#7C7C7C;
    font-family: 'Poppins', sans-serif;
}

.step {
    background: #F4F7FF;
    border-radius:0 0 30px 120px ;
    padding: 60px 80px;
    margin-bottom: 40px;
    position: relative;
    transition: transform 0.5s ease-out, opacity 0.5s ease-out; 
    transform: translateX(0);  
    overflow: hidden; 
}

.toSlide {
        position: relative;
    transition: transform 0.5s ease-out, opacity 0.5s ease-out; 
    transform: translateX(0);  
}

.slide-left {
    transform: translateX(-100%); /* Move the element out of view to the left */
}

.slide-right {
    transform: translateX(100%); /* Move the element out of view to the right */
}

.from-left {
    transform: translateX(-100%); /* Immediately place the element out of view on the left */
}

#form_part2,
#form_part3,
#form_part4,
#form_part5 {
    display: none;
}

.ms-flex-side {
    display: flex;
    flex-direction: row;
    gap: 30px;
    margin-bottom: 30px;
}

.ms-flex-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
}

.item-label {
    font-size: 20px;
    color:#6B60AD;
    line-height: 29px;
    letter-spacing: 1px;
    font-weight: 600;
    margin-bottom: 20px;
}

.item-question {
    font-size: 20px;
    color:#6B60AD;
    line-height: 29px;
    letter-spacing: 1px;
    font-weight: 600;
    margin:60px 0 20px 0;
}

.ms-radio-list {
    display: flex;
    gap:20px;
}

.ms-radio-list.list {
    flex-direction: column;
}

.ms-radio-list.side {
    flex-direction: row;
}

.radio-item {
    background-color: #F9FBFF;
    color: #676767;
    display: flex;
    flex-direction: row;
    border-radius: 35px;
    padding: 18px 50px 18px 45px;
    cursor: pointer;
    border:solid 1px #F9FBFF;
    transition: all ease .3s;
    font-size: 17px;
    font-weight: 700;
    line-height: 24px;
    width: fit-content;
}
.radio-item:hover {
    border-color:#A975F8;
}
.radio-item .bullet {
    width: 24px;
    min-width: 24px;
    height: 24px;
    border: solid 2px #A975F8;
    margin-right: 15px;
    border-radius: 24px;
}
.radio-item.active {
    background-color: #6B60AD;
    color: #FFFFFF;
}
.radio-item.active .bullet {
    background-color: #A975F8;
    border-color: #FFFFFF;
}


/* STEP 1 */

.step-1 .ms-title {
    margin-bottom: 10px;
}

.ms-submit-color {
    text-align: right;
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

.ms-submit-color a.bt-submit {
    padding:18px 40px 18px 40px !important;
    width: fit-content;
    font-size: 20px !important;
    letter-spacing: 1px !important;
}

.step-1 .ms-submit-color a.bt-submit {
    width: 90%;
}

.step-1 .bottom {
    margin-top: 60px;
}

.step-1 .bottom .step-item {
    display: flex;
    align-items: center;
}

.step-1 .minimal-text {
    border-top:solid 1px #E9E9F6;
    margin-top: 40px;
    padding-top: 20px;
}

.step-1 .minimal-text h3 {
    font-weight: 600;
    font-size: 13px;
    color:#918CC5;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.step-1 .minimal-text p {
    color:#918CC5;
    font-size: 11px;
    letter-spacing: 1px;
}

.step-1 .ms-physical-copy {
    border-radius: 30px;
    margin:20px 0 30px 0;
    transition: all ease .2s;
}
.step-1 .ms-physical-copy.active {
    border: solid 1px #E9E9F6;
    padding: 30px 20px;
}

.step-1 .ms-item-threecol {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.step-1 .checkboxes-area {
    margin-top: 40px;
}

.step-1 .custom-checkbox {
    background: #F4F7FF;
    width: fit-content;
    padding: 0 10px;
    margin-bottom: 20px;
}

.step-1 .custom-checkbox a {
    color: #A975F8;
    font-weight: 600;
    text-decoration: underline;
}


/* STEP 2 */

.step-2 .ms-content {
    padding: 30px 0 0 0;
}

.step-2 input[type=checkbox] + label.agree-sms a {
    font-weight: 600;
    color: #7C7C7C;
    text-decoration: underline;
}

.step-2 .pseudo-label {
    font-size: 12px;
    color:#7C7C7C;
    line-height: 150%;
    margin-bottom: 10px;
}

.step-2 .pseudo-label a {
    color:#7C7C7C;
    font-weight: 700;
}

.step-2 .disclaimer {
    font-size: 16px;
    color: #7C7C7C;
    letter-spacing: 1px;
    margin:5px 0 50px 10px;
}

.step-2 .custom-checkbox {
    margin-top: 20px;
}

.info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.ms-item {
    width: 100%;
    background: #FFFFFF;
    border-radius: 30px;
    display: flex;
    align-items: center;
    padding: 0;
    position: relative;
    border: solid 3px #FFF;
}


.ms-item label {
    padding: 25px 25px 25px 40px;
    margin: 0 !important;
    display: flex;
}


.ms-item input,
.ms-item select {
    width: 90% !important;
    border: none !important;
    padding: 25px 0 !important;
    font-size: 16px !important;
    letter-spacing: 1px;
    color: #676767 !important;
    font-family: 'Poppins', sans-serif;
    border-radius: 30px !important;
    outline: none;
    background: transparent;
    background: #FFFFFF !important;
}

.ms-item select {
    width: 65% !important;
}

.ms-item input ::placeholder {
    color: #A4A4A4 !important;
}

.ms-item.approved {
    border: solid 3px #97DA94;
}

.ms-item.approved label {
    position: relative;
}

.ms-item.approved label::before {
    content: url("data:image/svg+xml,%3Csvg width='19' height='15' viewBox='0 0 19 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.7442 0.431487C16.3343 -0.149898 17.2839 -0.142858 17.8653 0.447112C18.4467 1.03722 18.4398 1.98677 17.8497 2.56821L6.58895 13.6629C5.99884 14.2444 5.04929 14.2374 4.46785 13.6473C4.27197 13.4484 4.14356 13.2086 4.08114 12.9559L0.248128 7.14535C-0.208029 6.45389 -0.0174803 5.52345 0.67391 5.06723C1.36534 4.61109 2.29579 4.80169 2.75203 5.49301L5.84578 10.1834L15.7442 0.431487Z' fill='white'/%3E%3C/svg%3E");
    position: absolute;
    top: 23px;
    left: 39px;
    width: 34px;
    height: 34px;
    text-align: center;
    font-size: 22px;
    line-height: 36px;
    color: #FFFFFF;
    background: linear-gradient(135deg, #66bb6a, #4dd0e1);
    background-size: contain;
    z-index: 1;
    border-radius: 20px;
}

.ms-item.error {
    border: solid 3px #F08080;
}

.ms-item.error label::before {
    content: '✖';
    position: absolute;
    top: 23px;
    left: 39px;
    width: 34px;
    height: 34px;
    text-align: center;
    font-size: 22px;
    line-height: 34px;
    color: #FFFFFF !important;
    background: linear-gradient(135deg, #ff6b6b, #ff8e53);
    background-size: contain;
    z-index: 1;
    border-radius: 20px;
}

.ms-header span.gradient-text {
    background: linear-gradient(to right, #A975F8, #009DCE);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    display: inline-block;
    text-transform: capitalize;
}

/* STEP 3 */ 

.ms-grid-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}

.step-3 .ms-header {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.step-3 .ms-title {
    margin-bottom: 10px;
}

.step-3 .ms-subtitle {
    color: #7C7C7C;
}

.step-3 .ms-title h2 {
    width: 100%;
}

.step-3 .ms-subtitle {
    font-size: 20px;
}

.step-3 .ms-header svg {
    margin:0 auto 30px auto;
}

.step-3 a.bt-submit {
    padding:16px 30px 16px 30px !important;
}

.step-3 a.bt-submit svg {
    width: 35px;
    height: auto;
    margin-right: 10px;
}

.step-3 .disclaimer {
    font-size: 14px;
    letter-spacing: 1px;
    color: #7C7C7C;
}

.button-columns {
    display: grid;
    grid-template-columns: 70% 30%;
    margin-top: 50px;
}

.button-columns .right {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* iPad Pro 1024px */
@media (max-width: 1024px) {

    .ms-form {
        padding:0 40px 200px 40px;
    }

}

/* Tablet & Mobile (max-width: 820px) */
@media (max-width: 820px) {

.ms-grid-3 {
    grid-template-columns: 1fr;
}

.ms-radio-list.side {
    flex-direction: column;
}

.step {
    padding: 60px 30px;
}

.info-grid {
    grid-template-columns: 1fr;
}

.ms-twocol {
    grid-template-columns: 55% 1fr;
}

.button-columns {
    grid-template-columns: 1fr;
}

.button-columns .right {
    width: 100%;
}

.step-1 .ms-submit-color a.bt-submit {
    width: fit-content;
}

}

/* iPad Mini (max-width: 768px) */
@media (max-width: 768px) {

.ms-twocol {
    grid-template-columns: 47% 1fr;
}


}

/* Mobile (max-width: 500px) */
@media (max-width: 500px) {

    .ms-form {
        padding:0 20px 200px 20px;
    }

    .custom-checkbox .pseudo-label {
        line-height: 20px;
    }

    .step {
        padding: 60px 20px;
        border-radius: 0 0 30px 60px;
    }

}

/* Mobile (max-width: 375px) */
@media (max-width: 375px) {

.ms-left {
    width: 85%;
}
    
}
