/* Quote form (design: home, "Get pricing for your project"). */
.psb-qf__grid { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.psb-qf__intro { flex: 1 1 380px; min-inline-size: 0; }
.psb-qf__title { font-size: clamp(36px, 4.4vw, 56px); margin-block-end: 16px; }
.psb-quote-form .psb-lead { margin-block-end: 28px; }
.psb-qf__list { background: var(--psb-ground); border-radius: var(--psb-radius-card, 12px); padding: 20px 22px; margin-block-end: 24px; }
.psb-dark .psb-qf__list { background: var(--psb-navy-panel); }
.psb-qf__list-title { margin: 0 0 6px; font-size: 14px; color: var(--psb-muted); }
.psb-dark .psb-qf__list-title,
.psb-dark .psb-qf__item-options,
.psb-dark .psb-qf__empty { color: var(--psb-on-dark); }
.psb-qf__items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.psb-qf__item { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.psb-qf__item-name { font-family: var(--psb-font-code); font-size: 28px; font-weight: 700; line-height: 1.1; flex: 1 1 auto; }
.psb-qf__item-options { flex-basis: 100%; order: 3; font-size: 15px; color: var(--psb-muted); }
.psb-qf__remove {
	inline-size: 44px;
	block-size: 44px;
	border: 1px solid currentColor;
	border-radius: var(--psb-radius-button, 6px);
	background: transparent;
	color: inherit;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}
.psb-qf__empty { margin: 0; font-size: 15px; color: var(--psb-muted); }
.psb-qf__contact { margin: 0; line-height: 1.9; font-size: 17px; }

.psb-qf__form {
	position: relative;
	flex: 1 1 560px;
	min-inline-size: 0;
	background: var(--psb-white);
	color: var(--psb-ink);
	border-radius: var(--psb-radius-panel, 16px);
	padding: 32px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}
.psb-qf__field { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 15px; }
.psb-qf__field--wide,
.psb-qf__status,
.psb-qf__submit { grid-column: 1 / -1; }
.psb-qf__field input,
.psb-qf__field select,
.psb-qf__field textarea {
	padding: 13px;
	border: 1px solid #9AA5A0;
	border-radius: var(--psb-radius-button, 6px);
	font-weight: 400;
	background: var(--psb-white);
	color: var(--psb-ink);
	min-block-size: 48px;
	inline-size: 100%;
}
.psb-qf__field textarea { resize: vertical; }
.psb-qf__field [aria-invalid="true"] { border-color: #B3261E; box-shadow: 0 0 0 1px #B3261E; }
.psb-qf__req { color: #B3261E; }
.psb-qf__submit {
	background: var(--psb-teal);
	color: var(--psb-white);
	border: 0;
	border-radius: 8px;
	padding: 17px;
	font-weight: 700;
	font-size: 18px;
	cursor: pointer;
	min-block-size: 44px;
}
.psb-qf__submit:hover { background: var(--psb-navy); }
.psb-qf__submit[disabled] { opacity: .7; cursor: progress; }
.psb-qf__status:empty { display: none; }
.psb-qf__status { border-radius: var(--psb-radius-button, 6px); padding: 12px 16px; font-weight: 600; }
.psb-qf__status[data-type="success"] { background: #E6F2F3; color: #0B4F56; border-inline-start: 4px solid var(--psb-teal); }
.psb-qf__status[data-type="error"] { background: #FBEAEA; color: #8C1D18; border-inline-start: 4px solid #B3261E; }
/* Honeypot: off-screen for people, still in the form for bots. */
.psb-qf__hp { position: absolute !important; inset-inline-start: -10000px; inline-size: 1px; block-size: 1px; overflow: hidden; }
@media (max-width: 767px) {
	.psb-qf__grid { gap: 28px; }
	.psb-qf__form { padding: 20px; }
}
