/* ==========================================================================
   Patch Quote Form ([patch_quote_form]) — scoped styles
   Fully independent from .pof-form (the [patch_order_form] styles) so the
   two forms can sit on the same site without any visual bleed.
   ========================================================================== */

.pqf-form-wrapper {
	--pqf-accent: #3fae49;
	--pqf-field-bg: #f2f1ee;
	--pqf-border: #e5e4e0;
	--pqf-text: #17181a;
	--pqf-muted: #8f8f89;
	--pqf-radius: 12px;
	--pqf-btn-bg: #10190f;
	--pqf-btn-text: #d9ff5c;
	--pqf-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	all: unset;
	display: block !important;
	box-sizing: border-box !important;
	max-width: 560px !important;
	width: 100% !important;
	margin: 0 auto !important;
	font-family: var(--pqf-font) !important;
	color: var(--pqf-text) !important;
	background: #ffffff !important;
	border-radius: 22px !important;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06) !important;
	padding: 36px 32px !important;
}

.pqf-form-wrapper *,
.pqf-form-wrapper *::before,
.pqf-form-wrapper *::after {
	box-sizing: border-box !important;
}

.pqf-form {
	all: unset;
	display: block !important;
	width: 100% !important;
}

.pqf-title {
	all: unset;
	display: block !important;
	font-family: var(--pqf-font) !important;
	font-size: 21px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	text-align: center !important;
	line-height: 1.3 !important;
	color: var(--pqf-text) !important;
	margin-bottom: 24px !important;
}

.pqf-row {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 14px !important;
	margin-bottom: 14px !important;
}

.pqf-row--2col > .pqf-field {
	flex: 1 1 0 !important;
	min-width: 200px !important;
}

.pqf-field {
	all: unset;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.pqf-field--full {
	width: 100% !important;
}

.pqf-label {
	all: unset;
	display: block !important;
	font-family: var(--pqf-font) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: var(--pqf-text) !important;
	margin-bottom: 4px !important;
}

.pqf-optional {
	font-size: 12px !important;
	font-weight: 500 !important;
	color: var(--pqf-muted) !important;
}

/* ---- Inputs / selects / textarea share one look ---- */
.pqf-input,
.pqf-select,
.pqf-textarea {
	all: unset;
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	font-family: var(--pqf-font) !important;
	font-size: 14.5px !important;
	font-weight: 500 !important;
	color: var(--pqf-text) !important;
	background: var(--pqf-field-bg) !important;
	border: 1.5px solid transparent !important;
	border-radius: var(--pqf-radius) !important;
	padding: 14px 16px !important;
	transition: border-color 0.15s ease, background 0.15s ease !important;
}

.pqf-select {
	appearance: none !important;
	-webkit-appearance: none !important;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238f8f89' stroke-width='2' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 16px center !important;
	padding-right: 40px !important;
	cursor: pointer !important;
}

.pqf-input::placeholder,
.pqf-textarea::placeholder {
	color: #9b9a95 !important;
	font-weight: 500 !important;
}

.pqf-input:focus,
.pqf-select:focus,
.pqf-textarea:focus {
	outline: none !important;
	background: #ffffff !important;
	border-color: var(--pqf-accent) !important;
}

.pqf-input.pqf-input--error,
.pqf-select.pqf-input--error {
	border-color: #d94b4b !important;
}

.pqf-error {
	all: unset;
	display: block !important;
	font-family: var(--pqf-font) !important;
	font-size: 12px !important;
	color: #d94b4b !important;
	min-height: 14px !important;
}

.pqf-textarea {
	min-height: 90px !important;
	resize: vertical !important;
	line-height: 1.5 !important;
}

/* ---- Date field helper text ---- */
.pqf-help {
	all: unset;
	display: block !important;
	font-family: var(--pqf-font) !important;
	font-size: 12px !important;
	color: var(--pqf-muted) !important;
	line-height: 1.5 !important;
	margin-top: 6px !important;
}

/* ---- Upload dropzone ---- */
.pqf-dropzone {
	all: unset;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	gap: 8px !important;
	width: 100% !important;
	padding: 26px 16px !important;
	border: 1.5px dashed #cfcfc9 !important;
	border-radius: var(--pqf-radius) !important;
	background: #fafaf8 !important;
	cursor: pointer !important;
	transition: background 0.15s ease, border-color 0.15s ease !important;
}

.pqf-dropzone:hover,
.pqf-dropzone.pqf-dropzone--dragover {
	background: #f2f7f0 !important;
	border-color: var(--pqf-accent) !important;
}

.pqf-dropzone__input {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	overflow: hidden !important;
}

.pqf-dropzone__icon {
	font-size: 20px !important;
	line-height: 1 !important;
	color: var(--pqf-muted) !important;
}

.pqf-dropzone__title {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--pqf-text) !important;
}

.pqf-dropzone__btn {
	all: unset;
	display: inline-block !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	color: var(--pqf-text) !important;
	background: #ffffff !important;
	border: 1.5px solid var(--pqf-border) !important;
	border-radius: 999px !important;
	padding: 8px 18px !important;
	margin-top: 2px !important;
}

.pqf-dropzone__filename {
	font-size: 12px !important;
	font-weight: 700 !important;
	color: var(--pqf-accent) !important;
	margin-top: 4px !important;
	word-break: break-all !important;
}

/* ---- Submit ---- */
.pqf-submit {
	all: unset;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
	background: var(--pqf-btn-bg) !important;
	color: var(--pqf-btn-text) !important;
	font-family: var(--pqf-font) !important;
	font-size: 14.5px !important;
	font-weight: 800 !important;
	letter-spacing: 0.03em !important;
	text-transform: uppercase !important;
	padding: 18px 20px !important;
	border-radius: 999px !important;
	cursor: pointer !important;
	transition: opacity 0.15s ease, transform 0.05s ease !important;
}

.pqf-submit:hover {
	opacity: 0.9 !important;
}

.pqf-submit:active {
	transform: scale(0.99) !important;
}

.pqf-submit:disabled {
	opacity: 0.6 !important;
	cursor: not-allowed !important;
}

/* ---- Status ---- */
.pqf-status {
	all: unset;
	display: none;
	margin-top: 16px !important;
	padding: 14px 16px !important;
	border-radius: var(--pqf-radius) !important;
	font-family: var(--pqf-font) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	box-sizing: border-box !important;
}

.pqf-status.pqf-status--visible {
	display: block !important;
}

.pqf-status.pqf-status--success {
	background: #eefbea !important;
	color: #1f7a34 !important;
	border: 1.5px solid #b7e4c1 !important;
}

.pqf-status.pqf-status--error {
	background: #fdecec !important;
	color: #b3261e !important;
	border: 1.5px solid #f3b8b4 !important;
}

/* ==========================================================================
   Responsive — stack side-by-side rows on mobile
   ========================================================================== */
@media (max-width: 768px) {

	.pqf-form-wrapper {
		padding: 28px 20px !important;
		border-radius: 16px !important;
	}

	.pqf-row--2col {
		flex-direction: column !important;
	}

	.pqf-row--2col > .pqf-field {
		width: 100% !important;
		min-width: 0 !important;
	}

	.pqf-title {
		font-size: 18px !important;
	}
}
