/* ==========================================================
   Quote Form Widget
   ========================================================== */

.qfw-wrapper {
	box-sizing: border-box;
	background: #fff;
	padding: 50px 45px;
	border-radius: 8px;
	width: 100%;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.qfw-wrapper *,
.qfw-wrapper *::before,
.qfw-wrapper *::after {
	box-sizing: border-box;
}

.qfw-form .qfw-field {
	margin-bottom: 28px;
}

.qfw-form .qfw-input {
	width: 100%;
	border: none;
	border-bottom: 1px solid #d0d5dd;
	padding: 14px 0;
	font-size: 15px;
	color: #333;
	background: transparent;
	outline: none;
	transition: border-color 0.25s;
	font-family: inherit;
}

.qfw-form .qfw-input::placeholder {
	color: #8a8f99;
}

.qfw-form .qfw-input:focus {
	border-bottom-color: #1a2e5a;
}

/* Select */
.qfw-form select.qfw-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 1px solid #d0d5dd !important;
	border-radius: 6px;
	padding: 14px 40px 14px 14px !important;
	cursor: pointer;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M6 8L0 0h12z'/%3E%3C/svg%3E") no-repeat right 16px center;
	background-size: 10px;
}

.qfw-form select.qfw-select:focus {
	border-color: #1a2e5a !important;
}

.qfw-form select.qfw-select option {
	font-style: normal;
}

/* Upload */
.qfw-upload-wrap {
	position: relative;
	display: inline-block;
	margin-bottom: 28px;
}

.qfw-upload-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 2px solid #1a5276;
	color: #1a5276;
	background: transparent;
	font-size: 14px;
	font-weight: 600;
	padding: 10px 22px;
	border-radius: 25px;
	cursor: pointer;
	transition: background 0.25s, color 0.25s;
}

.qfw-upload-btn:hover {
	background: #1a5276;
	color: #fff;
}

.qfw-upload-btn i {
	font-size: 13px;
}

.qfw-upload-wrap .qfw-file-input {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
	width: 100%;
	height: 100%;
}

/* File List */
.qfw-file-list {
	margin-top: 12px;
	font-size: 13px;
	color: #555;
}

.qfw-file-list:empty {
	margin-top: 0;
}

.qfw-file-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 0;
	border-bottom: 1px dashed #e0e0e0;
}

.qfw-file-item i {
	color: #1a5276;
}

.qfw-file-remove {
	margin-left: auto;
	color: #c0392b;
	cursor: pointer;
	font-size: 12px;
	transition: opacity 0.2s;
}

.qfw-file-remove:hover {
	opacity: 0.7;
}

/* Submit */
.qfw-submit-wrap {
	text-align: right;
}

.qfw-submit {
	display: inline-block;
	background: #1a2e5a;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	padding: 15px 38px;
	border: none;
	border-radius: 30px;
	cursor: pointer;
	transition: background 0.25s, transform 0.2s;
}

.qfw-submit:hover {
	background: #142248;
	transform: translateY(-2px);
}
