.quote-box{background-position:center;background-repeat:no-repeat;background-size:cover;position:relative}
.quote-box::before{content:'';position:absolute;left:0;top:0;bottom:0;right:0;background:rgba(0,0,0,.35);z-index:1}
.quote-container{padding:10vw 0;display:flex;justify-content:flex-start;position:relative;z-index:10}
.quote-form{background:#fff;padding:2.6vw;border-radius: 0.5vw;box-shadow:0 2px 15px rgba(0,0,0,0.08);width:100%;max-width:45vw;box-sizing:border-box}
.quote-form h2{text-align:center;color:#2c3e50;margin-bottom:1.875vw;font-size:1.1458333vw;font-weight:600}
.form-row{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}
.form-group{flex:1;min-width:280px}
.form-group label{display:block;margin-bottom:0.8vw;color:#34495e;font-weight:500;font-size:0.8333vw}
.form-group label span{color:#e74c3c}
.form-group input,.form-group textarea{width:100%;border:1px solid #ddd;border-radius: 0.2604169vw;font-size:0.8333vw;transition:border-color 0.3s,box-shadow 0.3s;box-sizing:border-box;padding:0.5vw 1vw;line-height:1.5vw}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--zt-color);box-shadow:0 0 0 3px rgba(52,152,219,0.1)}
.form-group textarea{min-height:120px;resize:vertical}
.error-message{color:#e74c3c;font-size:12px;margin-top:5px;display:none}
.form-group.error input,.form-group.error textarea{border-color:#e74c3c}
.form-group.error .error-message{display:block}
.upload-area{border-radius: 0.5vw;padding:2.08333vw 1.875vw;text-align:center;margin:1.6vw 0;transition:border-color 0.3s,background-color 0.3s;cursor:pointer;position:relative;background:#f7fafc;border:2px dashed #cbd5e0;z-index:10}
.upload-area:hover{border-color:var(--zt-color);background:#edf2f7}
.upload-area.drag-over{border-color:var(--zt-color);background-color:rgba(52,152,219,0.05)}
.upload-area input[type="file"]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}
.upload-icon i{font-size:2vw;color:var(--zt-color)}
.upload-area h3{color:#2c3e50;font-size:18px;margin-bottom:0.5vw;margin-top:0.5vw}
.upload-area p{color:#7f8c8d;font-size:14px;margin-bottom:12px}
.upload-area .file-types{color:var(--zt-color);font-size:0.72917vw}
.upload-area .upload-link{color:var(--zt-color);text-decoration:none;font-weight:500}
.submit-btn{background:var(--zt-color);color:#fff;border:none;padding:0.8vw 1.6vw;border-radius: 0.2604169vw;font-size:0.8333vw;font-weight:600;cursor:pointer;transition:opacity 0.3s,transform 0.2s;display:block;margin:0 auto;gap: 10px;display: flex;}
.submit-btn:hover{opacity:0.9;transform:translateY(-2px)}
.submit-btn:active{transform:translateY(0)}
.file-list{margin-top:15px;text-align:left;padding:0 20px;display:none;position:relative;z-index:90}
.file-list h4{color:#2c3e50;font-size:14px;margin-bottom:8px}
.file-item{display:flex;align-items:center;gap: 0.555vw;padding: 0.555vw 0;font-size: 0.72917vw;}
.file-item .file-name{flex:1;color: var(--zt-color);}
.file-item .file-size{color: #111;font-size: 0.67708333vw;}
.file-item .remove-file{cursor:pointer;width: 3vw;text-align: center;background: #c51212;border-radius: 3vw;color: #FFF;line-height: 1.4vw;}



@media (max-width:900px){
	.quote-container {padding: 80px 0 30px;}
	.quote-form{padding: 35px 20px;max-width: 100%;}
	.quote-form h2 {font-size: 4.830917vw;line-height: 1.2em;margin-bottom: 8vw;}
	.form-row{gap:15px}
	.upload-area{padding:30px 15px;margin-top: 8vw;}
	.form-group label {font-size: 3.2vw; line-height: 1.8em; margin-bottom: 1vw;}
	.form-group input, .form-group textarea { padding: 3vw;  font-size: 3.5vw;}
	.upload-icon i {font-size: 8vw}
	.upload-area .file-types {font-size: 3.2vw;}
	.submit-btn {margin-top: 5vw; padding: 2vw 5vw; font-size: 3.8vw;}
}