* {
    margin: 0;
    padding: 0;
    font-family: 'Plus Jakarta Sans';
}

html {
    height: 100%
}

body {
    background-image: url("../images/form_bg.webp");
    overflow-x: hidden;
    background-size: cover;
}

p {
    color: grey
}

#heading {
    text-transform: uppercase;
    color: #183374;
    font-weight: normal
}

#msform {
    text-align: center;
    position: relative;
}

#msform fieldset {
    background: transparent;
    border: 0 none;
    border-radius: 0.5rem;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding:40px 40px 0;
    position: relative;
    height: 100vh;
    overflow-y: scroll;
}

.form-card {
    text-align: left;
}

#msform fieldset:not(:first-of-type) {
    display: none
}

#msform input,
#msform textarea {
    /* padding: 15px; */
    border: 1px solid #204296;
    border-radius: 6px;
    margin-bottom: 25px;
    margin-top: 2px;
    width: 100%;
    box-sizing: border-box;
    font-family: 'Plus Jakarta Sans';
    color: #2C3E50;
    background-color: transparent;
    font-size: 16px;
    letter-spacing: 1px
}

#msform input:focus,
#msform textarea:focus {
    -moz-box-shadow: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border: 1px solid #183374;
    outline-width: 0
}

#msform .action-button,
.popup_btn2 {
    width: 50%;
    background: #204296;
    font-weight: bold;
    color: white;
    border: 0 none;
    /* border-radius: 30px; */
    cursor: pointer;
    padding: 10px 5px;
    margin: 10px 0px 10px 5px;
    float: right
}

#msform .action-button:hover,
#msform .action-button:focus {
    background-color: #311B92
}

#msform .action-button-previous,
.popup_btn1 {
    width: 49%;
    background: #616161;
    font-weight: bold;
    color: white;
    border: 0 none;
    /* border-radius: 30px; */
    cursor: pointer;
    padding: 10px 5px;
    margin: 10px 5px 10px 0px;
    float: right
}

#msform .action-button-previous:hover,
#msform .action-button-previous:focus {
    background-color: #000000
}

.card {
    z-index: 0;
    border: none;
    position: relative;
    background: transparent;
}

.fs-title {
    font-size: 42px;
    color: #010205;
    margin-bottom: 15px;
    text-align: left;
    font-weight: 600;
    line-height: 62px;
}


.purple-text {
    color: #183374;
    font-weight: normal
}

.steps {
    font-size: 25px;
    color: gray;
    margin-bottom: 10px;
    font-weight: normal;
    text-align: right
}

.fieldlabels {
    color: gray;
    text-align: left
}

#progressbar {
    width: 100%;
    margin-bottom: 30px;
    overflow: hidden;
    color: lightgrey;
    padding-top: 100px;
    padding-left: 0;
    display: flex;
    justify-content: space-between;
}

ul#progressbar li {
    position: relative;
    height: 12vh;
    justify-content: center;
}

/* ul#progressbar li img {
    position: absolute;
    top: -90px;
    left: 50%;
    transform: translateX(-50%);
} */

#progressbar .active {
    color: #183374
}

/*#progressbar .active img {*/
/*    filter: grayscale(0);*/
/*}*/

/*#progressbar img {*/
/*    filter: grayscale(1);*/
/*}*/

#progressbar li {
    list-style-type: none;
    font-size: 15px;
    /* width: 16.67%; */
    position: relative;
    font-weight: 400;
}

/* 
#progressbar #account:before {
    font-family: FontAwesome;
    content: "1"
}

#progressbar #payment:before {
    font-family: FontAwesome;
    content: "2"
}
#progressbar #interior:before {
    font-family: FontAwesome;
    content: "3"
}
#progressbar #Relevant-Doc:before {
    font-family: FontAwesome;
    content: "4"
}
#progressbar #confirm:before {
    font-family: FontAwesome;
    content: "5"
}

#progressbar #step5:before {
    font-family: FontAwesome;
    content: "6"
} */

#progressbar li:before {
    width: 50px;
    height: 50px;
    line-height: 45px;
    display: block;
    font-size: 20px;
    color: #ffffff;
    background: lightgray;
    border-radius: 50%;
    margin: 0 auto 10px auto;
    padding: 2px
}

#progressbar li:after {
    content: '';
    width: 100%;
    height: 2px;
    background: lightgray;
    position: absolute;
    left: 0;
    top: 25px;
    z-index: -1
}

#progressbar li.active:before,
#progressbar li.active:after {
    background: #183374
}

.progress {
    height: 20px
}

.progress-bar {
    background-color: #183374
}

.fit-image {
    width: 100%;
    object-fit: cover
}

select {
    padding: 15px 40px 15px 15px;
    border: 1px solid #204296;
    border-radius: 6px;
    margin-bottom: 25px;
    margin-top: 2px;
    width: 100%;
    box-sizing: border-box;
    font-family: 'Plus Jakarta Sans';
    color: grey;
    background-color: transparent;
    font-size: 16px;
    letter-spacing: 1px;
    z-index: 2;
}

input::placeholder {
    font-family: 'Plus Jakarta Sans';
    font-size: 16px;
}

.radio-option {
    display: flex;
    align-items: center;
    margin: 10px 0;
    width: max-content;
    align-items: center;
}

.radio-option input {
    margin-left: 10px;
}

.radio-option img {
    width: 30px;
    /* Adjust size of the icon */
    height: 30px;
    /* Adjust size of the icon */
    margin-right: 10px;
}

.radio-wrap {
    width: 100%;
    justify-content: space-between;
}

.radio-option input {
    width: max-content !important;
    margin-bottom: 0 !important;
}

.type-of-sec p {
    width: 100%;
    margin-bottom: 0px;
}

.type-of-sec.d-flex {
    align-items: center;
    margin-bottom: 20px;
    border: 1px solid #204296;
    padding: 6px;
    border-radius: 8px;
}



/* S-CSS  */

.main-bg {
    width: 100%;
    height: 100vh;
}

.select-option {
    border: 1px solid #204296;
    border-radius: 6px;
    padding: 12px 30px 12px 20px;
    display: flex;
    align-items: center;
}

.radio-container {
    display: block;
    position: relative;
    width: 100%;
    padding-left: 16px;
    cursor: pointer;
    font-size: 20px;
    font-weight: 400;
    color: grey;
}

.form-floating>label {
    color: grey !important;
    font-size: 14px;
}

/* Hide the browser's default radio button */
.radio-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Create a custom radio button */
.checkmark {
    position: absolute;
    top: 11px;
    transform: translateY(-50%);
    right: 0;
    height: 20px;
    width: 20px;
    background-color: #eee;
    border-radius: 50%;
    border: 1px solid #204296;
}

.product-group {
    gap: 20px;
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    gap: 20px;
    width: 100%;
}

.type-of-sec span.checkmark {
    left: -10px;
}

/* When the radio button is checked, add a blue background */
.radio-container input:checked~.checkmark {
    background-color: #204296;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the indicator (dot/circle) when checked */
.radio-container input:checked~.checkmark:after {
    display: block;
}

/* Style the indicator (dot/circle) */
.radio-container .checkmark:after {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: white;
}
.submit-btn {
    background-color: #204296;
    text-align: center;
    padding: 10px 0px;
    margin-top: 10px;
}

.login-select-wrap p {
    margin-top: 5px;
    margin-bottom: 5px;
}

.submit-btn a {
    display: block;
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 500;
    text-decoration: none;
}


/* Product Selection Section */
.product-selection {
    padding: 20px 0px;
}

.product-selection h2 {
    font-size: 20px;
    color: #1E1E1F;
    font-weight: 500;
}

.zwc-choose-same h4 {
    font-size: 18px;
    text-transform: capitalize;
}

.product-selection-inner {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    gap: 20px;
    width: 100%;
}

.product {
    width: 18%;
}

.product-img {
    position: relative;
    border: 1px solid #204296;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    border-bottom: none;
}

.product-img img {
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    height: 100px;
    border-bottom: none !important;
}

.product-img p {
    position: absolute;
    margin: 0;
    bottom: 7px;
    left: 15px;
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 500;
}

.product-category {
    border: 1px solid #204296;
    padding: 15px;
    border-bottom-right-radius: 12px;
    border-bottom-left-radius: 12px;
    border-top: none;
}

.product-category .radio-container {
    font-size: 14px;
    color: #959595;
    /* padding-left: 36px; */
    align-items: start;
    display: -webkit-box;
    text-overflow: ellipsis;
    max-width: 300px;
    z-index: 0;
}

label.form-label {
    color: gray;
        font-size: 14px;
}

#msform input,
#msform textarea {
    color: grey;
        font-size: 14px;
}

.product-category .checkmark {
    left: 0;
    right: auto;
    width: 22px;
    height: 22px;
    display: none;
}

.product-category .radio-container .checkmark:after {
    width: 8px;
    height: 8px;
}

.radio-wrap.d-flex .radio-option .radio-container {
    font-size: 16px;
    padding-right: 30px;
}

.radio-wrap.d-flex .radio-option .radio-container .checkmark {
    width: 20px;
    height: 20px;
}

.radio-wrap.d-flex .radio-option .radio-container .checkmark:after {
    width: 8px;
    height: 8px;
}


/* V-css */
.form-check {
    background: #ffff;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding-left: 0px !important;
}

.form-check-input {
    width: 20px !important;
    height: 20px !important;
    border: #353535 1px solid !important;
    padding: 0 !important;
    appearance: auto !important;
    position: absolute;
    top: 15px;
    left: 35px;
    accent-color: orangered;
}

.form-check-label {
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.form-check-input:focus {
    border: 0 0 0 .25rem #e38648b9;
}

.form-check-label {
    display: flex;
    justify-content:center;
    padding: 10px;
    /* background-color: #f1f1f1;  */
    border-radius: 5px;
    transition: background-color 0.3s ease;
    width: 100%;
    height: 160px;
    text-align: center;
    border: 1px solid #959595;
    text-transform: capitalize;
}

/* Change background color when the checkbox is checked */
.choosen-amenties input[type="checkbox"]:checked+.form-check-label {
    background-color: #E4EAF9;
    color: #204296;
}

/* Optional: Style the checkbox itself (hidden for design purposes) */
input[type="checkbox"] {
    display: none;
}

label.form-check-label img {
    display: block;
    width: auto;
    margin-inline: auto;
    filter: grayscale(1);
    width: 65px;
}

.choosen-amenties input[type="checkbox"]:checked+.form-check-label img {
    filter: grayscale(0);
}

.default-amenties .form-check-label {
    background-color: #E4EAF9;
    color: #204296;
}

.default-amenties .form-check-label img {
    filter: grayscale(0);
}

.popup {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(7, 7, 7, 0.6);
    text-align: center;

}

.popup-content {
    background: white;
    padding: 50px 75px;
    border-radius: 8px;
    width: 60%;
    height: 92%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: relative;
}

.decorate_left,
.decorate_right {
    position: absolute;
}

.decorate_left {
    left: 0;
    bottom: 0;
}

.decorate_right {
    right: 0;
    bottom: 0;
}

.popup_btn a {
    text-decoration: none;
    z-index: 11;
}

.popup_btn:hover a {
    color: white;
}

.textarea-container {
    /*display: none;*/
    /* margin-top: 5px; */
    line-height:36px;
}

.product-selection.steel .radio-wrap {
    justify-content: flex-start;
    gap: 20px;
}

/*.product-category label {*/
/*    height: 50px;*/
/*    overflow: hidden;*/
/*}*/
.custom-file-input::-webkit-file-upload-button {
    padding: 8px 16px;
    /* Top/Bottom, Left/Right */
    color: grey;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.custom-file-input::-moz-file-upload-button {
    padding: 8px 16px;
    color: grey;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.custom-file-input {
    line-height: 36px;
    /* Optional: removes padding around input box */
}

textarea {
    padding: 10px;
}

.different-choosed .original {
    display: none;
}

.zwc-choose-same {
    display: flex;
    width: 100%;
    /* margin-bottom: 20px; */
    margin-top: 20px;
    align-items: center;
}

.zwc-duplicate.newSelect {
    padding-bottom: 40px;
    padding-top: 20px;
}

.zwc-choose-same span {
    left: 0;
    width: 20px;
    height: 20px;
    top: 15px;
    font-size: 16px;
}

.zwc-choose-same label {
    padding-left: 30px;
    width: max-content;
    margin-left: 30px;
}

.select-container {
    position: relative;
    display: inline-block;
    z-index: 1;
}

.select-container .select-icon {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-100%);
    z-index: 0;
    color: #204296;
}

.select-container select {
    appearance: none;
    font-size: 14px;
    height: 58px;

}

.row.choosen-amenties h3 {
    margin: 30px 0;
}

textarea#customTextarea {
    max-width: 97%;
    height: 100px;
}

textarea#VitrifiedTextarea {
    max-width: 97%;
    height: 100px;
}

.select-option .checkmark {
    top: 12px;
}




#progressbar {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /* distributes items vertically */
    height: 100vh;
    list-style: none;
    padding: 0;
    margin: 0;
    /* optional vertical line */
    width: 80px;
    /* or as needed */
    background-color: #fff;
    /* optional background */
}

i.fa-solid.fa-caret-down {
    position: absolute;
    bottom: 25px;
    transform: translateY(50px);
}

#progressbar li {
    display: flex;
    align-items: center;
    padding: 10px;
    /* for active highlight */
    transition: all 0.3s ease;
}

.product-selection-inner h3 {
    font-size: 18px;
    font-weight: 600;
    text-transform: capitalize;
    display: block;
    width: 100%;
}

#progressbar li.active {
    /* active step highlight */
    /* background-color: #e6f0ff; */
    /* optional */
}

#progressbar li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: #333;
    font-size: 14px;
    text-decoration: none;
}

#progressbar li a img {
    width: 48px;
    height: 48px;
    margin-bottom: 8px;
    filter: grayscale(1);
    opacity: 0.3;
}

#progressbar li.active img {
    filter: grayscale(0);
    opacity: 1;
}

div#textarea1 textarea {
    padding: 15px;
}

.form-main-inner .col-md-6 {
    width: 49%;
}

input#main_pincode {
    height: 50px;
    background: #FBFFFE;
    border: 1px solid #204296;
}

.form-inner-input.pincode label {
    padding: 10px;
    font-size: 16px;
}

.form-main-inner .radio-container {
    font-size: 16px;
}

.form-main-inner .select-option {
    padding: 10px;
}

.form-main-inner .col-md-4 {
    width: 32%;
}

.form-main-inner img {
    height: 30px;
}

.main-cont h2 {
    font-size: 16px;
    color: #1F1F1F;
    text-transform: capitalize;
}

.form-main-inner>.row {
    width: 99%;
    margin: 0 auto;
}

img.login-logo {
    height: 120px;
}







.select-card {
    border: 1px solid #ccc;
    border-radius: 8px;
    text-align: center;
    padding: 20px 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    height: 100%;
    background-color: #fff;
}

.select-card img {
    max-height: 50px;
    margin-bottom: 10px;
}

.select-card.selected {
    /* border: 2px solid #007bff; */
    background-color: #eaf4ff;
}

.login-select-wrap {
    width: 18%;
}

.logo-wrap p {
    font-size: 14px;
    color: #878C91;
}

/* .row.form-top-cont-wrap {
    height: max-content;
    position: sticky;
    top: 0;
} */

.form-card {
    height: 85vh;
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
}

.form-card h4 {
    font-size: 16px;
    color: #1F1F1F;
    text-transform: capitalize;
    margin-bottom: 10px;
}
.zwc-choose-same h4{
   margin-bottom: 0px !important; 
}
.product-category {
    white-space: nowrap;
    overflow: hidden;
    transition: all 0.3s ease;
    max-width: 100%; /* ensure container limits the width */
}

/* On hover, allow full content to wrap */
.product:hover .product-category {
    white-space: normal;
    overflow: visible;
}

.product-category {
    /* display: -webkit-box; */
    /* -webkit-line-clamp: 1; */
    /* -webkit-box-orient: vertical; */
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    padding: 8px 12px;
    /* background: #f9f9f9; */
    /* max-height: 40px; */
    transition: all 0.5s ease-in-out;
}

/* On hover, expand */
.product:hover .product-category {
    /* -webkit-line-clamp: unset; */
    /* max-height: 200px; */ /* pick a large enough value to fit all content */
    /* padding: 12px; */
}



.product {
  position: relative;
  overflow: hidden;
}

.overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 123, 255, 0.2); /* semi-transparent blue */
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 1;
}

/* Show overlay when radio inside this product is checked */
.product input[type="radio"]:checked ~ .checkmark::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 123, 255, 0.2);
  pointer-events: none;
  z-index: 1;
}
.product {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  z-index: 1;
  transition: all 0.5s ease-in-out;
  cursor: pointer;
  height:max-content;
}

.overlay, .selectedProd::before {
  content:"";
  position: absolute;
  inset: 0;
  background: rgba(0, 123, 255, 0.2);
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 1;
}
.product label > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 200px;
    display: inline-block;
    transition: all 0.5s ease-in-out;
}
.product:hover label > span{
text-overflow: unset;
    white-space: unset;
    width: auto;
}

#mainSection {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}



@media screen and (max-width: 991px) {
    .product {
        width: 45%;
    }

    .form-main-inner .col-md-4 {
        width: 100%;
    }

    .select-option.mb-4.col-md-6 {
        width: 100%;
    }

    .main-cont {
        padding: 15px;
    }

    form#msform {
        flex-wrap: wrap;
    }

    ul#progressbar {
        display: none;
    }

    .form-card>.row {
        flex-wrap: wrap;

    }

    .form-card>.row>.col-6 {
        width: 100%;
    }

    #msform fieldset {
        padding: 20px;
    }

    h2.fs-title {
        font-size: 30px;
        line-height: 48px;
    }

    .type-of-sec.d-flex {
        flex-wrap: wrap;
    }

    .radio-wrap.d-flex .radio-option .radio-container {
        font-size: 12px;
    }

    #msform .action-button,
    .popup_btn2 {
        width: 100%;
    }

    .radio-wrap.d-flex .radio-option .radio-container {
        padding-left: 30px;
    }

    .type-of-sec span.checkmark {
        left: 0;
    }

    .radio-wrap {
        justify-content: flex-start;
    }

    .zwc-choose-same {
        flex-wrap: wrap;
    }

    .zwc-choose-same span {
        top: 50%;
    }

    .product-selection h2 {
        font-size: 18px;
    }

    input.previous.action-button-previous {
        width: 100% !important;
    }

    .main-cont h2 {
        line-height: 30px;
    }
}


@media screen and (max-width: 767px){
    section#mainSection {
    flex-wrap: wrap;
}
.form-card {
    overflow-x: hidden;
}
div#constructionTypeOptions {
    flex-wrap: wrap;
}

.login-select-wrap {
    width: 100%;
}

div#propertyTypeOptions {
    flex-wrap: wrap;
}
.zwc-choose-same label {
    margin-left: 0;
    margin-right: 30px;
}

input.next.action-button {
    margin-left: 0 !important;
}

input.previous.action-button-previous {
    margin-right: 0 !important;
}
.popup-content {
    width: 100%;
    padding: 10px;
}

.popup_btn.d-flex {
    flex-wrap: wrap;
}

img.decorate_left {
    display: none;
}

img.decorate_right {
    display: none;
}

img.w-70 {
    display: none;
}

.popup_btn a {
    width: 100%;
}
span.question-heading,h4 {
    line-height: 26px;
}
}