/* Quote Modal */
.quote-modal-overlay{
    position:fixed;
    inset:0;
    background:rgba(7, 20, 50, 0.55);
    backdrop-filter:blur(4px);
    z-index:2000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    opacity:0;
    visibility:hidden;
    transition:0.3s ease;
}

.quote-modal-overlay.open{
    opacity:1;
    visibility:visible;
}

.quote-modal{
    width:100%;
    max-width:560px;
    max-height:90vh;
    overflow-y:auto;
    background:#fff;
    border-radius:18px;
    box-shadow:0 30px 60px rgba(0,0,0,.2);
    transform:translateY(24px) scale(0.98);
    transition:0.3s ease;
}

.quote-modal-overlay.open .quote-modal{
    transform:translateY(0) scale(1);
}

.quote-modal-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:28px 28px 12px;
    border-bottom:1px solid #eef2f8;
}

.quote-modal-header h3{
    margin:0 0 6px;
    font-size:24px;
    font-weight:700;
    color:#0D3D8F;
}

.quote-modal-header p{
    margin:0;
    font-size:14px;
    color:#636b78;
}

.quote-modal-close{
    width:40px;
    height:40px;
    border:0;
    border-radius:50%;
    background:#f4f7fc;
    color:#0D3D8F;
    font-size:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    transition:0.25s;
}

.quote-modal-close:hover{
    background:#0D3D8F;
    color:#fff;
}

.quote-modal-body{
    padding:24px 28px 28px;
}

.quote-form .form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.quote-form .form-group{
    margin-bottom:14px;
}

.quote-form label{
    display:block;
    margin-bottom:6px;
    font-size:13px;
    font-weight:600;
    color:#1f2937;
}

.quote-form input,
.quote-form select,
.quote-form textarea{
    width:100%;
    border:1px solid #e8edf5;
    border-radius:12px;
    background:#f9fafc;
    padding:12px 14px;
    font-size:14px;
    font-family:inherit;
    color:#101010;
    outline:none;
    transition:0.25s;
}

.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus{
    border-color:#1B56C5;
    background:#fff;
    box-shadow:0 0 0 3px rgba(27,86,197,.12);
}

.quote-form textarea{
    min-height:110px;
    resize:vertical;
}

.quote-form .btn-submit{
    width:100%;
    margin-top:8px;
}

.quote-form .btn-submit:disabled{
    opacity:0.7;
    cursor:not-allowed;
    transform:none;
}

body.quote-open{
    overflow:hidden;
}

@media(max-width:576px){
    .quote-form .form-row{
        grid-template-columns:1fr;
    }
    .quote-modal-header,
    .quote-modal-body{
        padding-left:18px;
        padding-right:18px;
    }
}
