#jsm-quote-modal{
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.5);
	z-index:99999;
}

.jsm-quote-box{
	background:#fff;
	max-width:500px;
	margin:5% auto;
	padding:25px;
	border-radius:8px;
	position:relative;
}

.jsm-close{
	position:absolute;
	right:15px;
	top:10px;
	font-size:26px;
	cursor:pointer;
}

#jsm-quote-form input,
#jsm-quote-form textarea{
	width:100%;
	margin-bottom:12px;
}
#jsm-response {
	margin-top: 15px;
	font-size: 14px;
}

#jsm-response.jsm-success {
	padding: 12px;
	background: #f0fff4;
	border: 1px solid #b7ebc6;
}

#jsm-response.jsm-error {
	padding: 12px;
	background: #fff2f2;
	border: 1px solid #f1b5b5;
}

#jsm-quote-form button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* front end CSS */
.jsm-quote-wrapper{

    max-width:700px;

    margin:30px auto;

    padding:25px;

    border:1px solid #ddd;

    border-radius:12px;

    background:#fff;

    max-height:700px;

    overflow-y:auto;

}

.jsm-product-card{

    display:flex;

    gap:20px;

    margin-bottom:25px;

    border-bottom:1px solid #eee;

    padding-bottom:20px;

}

.jsm-product-image{

    width:160px;

    flex-shrink:0;

}

.jsm-product-image img{

    width:100%;

    border-radius:8px;

}

.jsm-product-info{

    flex:1;

}

.jsm-product-info h3{

    margin:0 0 10px;

}

.jsm-product-info p{

    color:#666;

    line-height:1.7;

}

#jsm-quote-response{

    margin-bottom:20px;

}

#jsm-quote-response .success{

    background:#ecfdf3;

    border:1px solid #9ee6b3;

    padding:15px;

    border-radius:8px;

}

#jsm-quote-response .error{

    background:#fff3f3;

    border:1px solid #f0b2b2;

    padding:15px;

    border-radius:8px;

}

.jsm-quote-button {
	margin: 0 !important;
	padding: 0 !important;
	display: block;
}

.jsm-quote-button + .jsm-quote-button {
	margin-top: 8px !important;
}

/* .jsm-quote-button .button {
	margin: 0 !important;
} */
.jsm-quote-button p {
	margin-bottom: initial !important;
}