.get-quote {max-width: 36rem; background-color: #fff; padding: 2.18rem 1.25rem; border-radius: 10px; height: fit-content; margin: auto; --_c-primary-drk: #0068d7;}
.get-quote form {display: flex; flex-wrap: wrap; gap: 1.25rem; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px;}
.get-quote form > * {width: 100%;}
.get-quote h2 {font-size: var(--fs-md); color: var(--_c-primary-drk); text-align: center; margin-bottom: 1.95rem;} 
.get-quote form > :nth-child(n+3):nth-child(-n+6) {width: calc(25% - 15px);}
.get-quote :where(input, textarea, select) {margin-bottom: 0;}
.get-quote select {appearance: none;}
.get-quote form label {display: flex; align-items: center; gap: 0.5rem; font-size: var(--fs-2xs);}
.get-quote form > :nth-child(n+8):nth-child(-n+10) {width: calc( 33.33% - 14px);}
.get-quote form input[type="file"] {opacity: 0; border: 1px solid var(--c-border);}
.get-quote .attach-file {position: relative; display: flex; width: 100%; border: 1px solid var(--c-border); border-radius: 1.25rem;}
.get-quote .attach-file > :first-child {display: inline-block;} 
.get-quote .attach-file > :first-child img {position: absolute; top: 11px; left: 10px;}
.get-quote form > :nth-child(n+13):nth-child(-n+15) {width: calc(33.33% - 14px);}
.get-quote form > textarea {height: 4.62rem; padding: 0.625rem 1.25rem 0px; resize: none; margin-bottom: 1.25rem;}
.get-quote .captcha {display: flex; justify-content: space-between; gap: 1.25rem; align-items: center;}
.get-quote .captcha label {flex: none; display: flex; justify-content: center; align-items: center; text-wrap: nowrap; font-size: var(--fs-base);color: var(--_c-primary-drk); font-weight: 800;}
.get-quote .captcha > :first-child span {color: var(--c-lite-text); font-weight: 500; font-size: 0.875rem;}
.get-quote .btn__primary {height: 2.75rem; padding-inline: 2rem; border-radius: 1.875rem;}

#full-screen-loader {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    justify-content: center;
    align-items: center;
    z-index: 9999;
    display: flex;
}

.loader {
    border: 6px solid #f3f3f3;
    border-top: 6px solid #3e9cff;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}


@media only screen and (max-width: 991px) {
    .get-quote .captcha {gap: 10px;}  
    .get-quote form > :nth-child(n+3):nth-child(-n+6) {width: calc(50% - 10px);}  
}
@media only screen and (max-width: 767px) {
     .get-quote .captcha {gap: 20px;}
}
@media only screen and (max-width: 575px) {
    .get-quote {padding: 1.18rem 0.75rem;}
    .get-quote h2 {margin-bottom: 1rem;}
    .get-quote .captcha {flex-wrap: wrap; gap: 10px;}
    .get-quote .btn__primary {width: 100%;}
    .get-quote form {gap: 0.65rem}
    .get-quote form > :nth-child(n+3):nth-child(-n+6) {width: 100%;}  
    .get-quote form > :nth-child(n+8):nth-child(-n+10) {width: 100%;}
    .get-quote form > :nth-child(n+13):nth-child(-n+15) {width: 100%;}
    .get-quote form > textarea {margin-bottom: 0.25rem;}
}
.custom-tooltip {position: absolute;background: #bb2135;color: #fff;border: 1px solid #bb2135;padding: 6px 10px;font-size: 12px;border-radius: 4px;box-shadow: 0 2px 4px rgba(0,0,0,0.2);z-index: 9999;white-space: nowrap;}
input.error {border-color: red;}