/* Spectrum two-part quote form. Shared layout, per-site accent. */
.sqf {
	--sqf-ink: var(--sa-ink, #0e1a2b);
	--sqf-text: var(--sa-text, #2a3a4a);
	--sqf-mute: var(--sa-mute, #5b6b7a);
	--sqf-line: rgba(15, 30, 50, .14);
	--sqf-field-bg: #ffffff;
	--sqf-accent: #174b73;
	--sqf-accent-hover: #0f3553;
	--sqf-focus: #2d9caf;
	--sqf-radius: 8px;
	--sqf-label: var(--sqf-ink);
	box-sizing: border-box;
	font-family: inherit;
	color: var(--sqf-text);
	text-align: left;
}
.sqf[data-site="spectrum"] { --sqf-accent: #1a8fbf; --sqf-accent-hover: #0e6f99; --sqf-focus: #1a8fbf; --sqf-field-bg: #f6f8fa; }
.sqf[data-site="radiant"]  { --sqf-accent: #174b73; --sqf-accent-hover: #0d3552; --sqf-focus: #20808d; --sqf-label: #174b73; --sqf-line: #cbd2db; --sqf-radius: 6px; }
.sqf[data-site="aegis"]    { --sqf-accent: #8A4F1F; --sqf-accent-hover: #6d3e18; --sqf-focus: #B16A2A; --sqf-ink: #0E1620; --sqf-label: #0E1620; }
.sqf[data-site="fluoron"]  { --sqf-accent: #174b73; --sqf-accent-hover: #0f3553; --sqf-focus: #2d9caf; }

.sqf *, .sqf *::before, .sqf *::after { box-sizing: border-box; }
.sqf-form { margin: 0; }
.sqf-part { border: 0; margin: 0; padding: 0; min-width: 0; }
.sqf-legend { display: block; padding: 0; margin: 0 0 14px; font-size: 1.25rem; font-weight: 700; letter-spacing: -.01em; color: var(--sqf-ink); }

.sqf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.sqf-span-2 { grid-column: 1 / -1; }
.sqf-field { display: flex; flex-direction: column; min-width: 0; }
.sqf-field > label, .sqf-label { font-size: .9rem; font-weight: 600; color: var(--sqf-label); margin: 0 0 6px; line-height: 1.3; }
.sqf-req { color: var(--sqf-focus); }
.sqf-unit { font-weight: 400; color: var(--sqf-mute); }

.sqf input[type="text"], .sqf input[type="email"], .sqf input[type="tel"], .sqf input[type="date"],
.sqf select, .sqf textarea {
	width: 100%; font: inherit; font-size: 16px; line-height: 1.35; color: var(--sqf-ink);
	background: var(--sqf-field-bg); border: 1px solid var(--sqf-line); border-radius: var(--sqf-radius);
	padding: 11px 12px; margin: 0; min-height: 46px; box-shadow: none; appearance: auto;
}
.sqf textarea { min-height: 96px; resize: vertical; }
.sqf input:focus, .sqf select:focus, .sqf textarea:focus { outline: 2px solid var(--sqf-focus); outline-offset: 1px; border-color: var(--sqf-focus); background: #fff; }
.sqf input[type="file"] { font-size: 14px; padding: 8px 0; color: var(--sqf-text); }
.sqf [aria-invalid="true"] { border-color: #b23b3b; }
.sqf-err { color: #b23b3b; font-size: .82rem; margin-top: 4px; min-height: 0; }
.sqf-help { font-size: .82rem; color: var(--sqf-mute); margin-top: 4px; }

.sqf br { display: none; }
.sqf > p:empty, .sqf form > p:empty { display: none; }
/* Fluoron's card already carries a "Quick Connect" heading above the form. */
.sqf[data-site="fluoron"] .sqf-legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sqf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.sqf-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 18px; }
.sqf-btn {
	appearance: none; border: 0; cursor: pointer; font: inherit; font-size: 1rem; font-weight: 700; line-height: 1;
	color: #fff; background: var(--sqf-accent); border-radius: var(--sqf-radius); padding: 14px 30px; min-height: 46px;
	transition: background .15s ease;
}
.sqf-btn:hover, .sqf-btn:focus-visible { background: var(--sqf-accent-hover); color: #fff; }
.sqf-btn:disabled { opacity: .7; cursor: default; }
.sqf-status { font-size: .9rem; color: var(--sqf-mute); }
.sqf-status[data-state="error"] { color: #b23b3b; }

.sqf-bridge {
	margin: 18px 0 0; padding: 14px 16px; font-size: .95rem; line-height: 1.5; color: var(--sqf-text);
	background: rgba(23, 75, 115, .06); border-left: 3px solid var(--sqf-accent); border-radius: 4px;
}

.sqf-part2 { margin-top: 18px; border: 1px solid var(--sqf-line); border-radius: calc(var(--sqf-radius) + 2px); background: rgba(255,255,255,.6); }
.sqf-summary {
	list-style: none; cursor: pointer; padding: 16px 18px; font-size: 1.05rem; font-weight: 700; color: var(--sqf-ink);
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.sqf-summary::-webkit-details-marker { display: none; }
.sqf-summary::after { content: "+"; font-size: 1.4rem; font-weight: 400; line-height: 1; color: var(--sqf-accent); }
.sqf-part2[open] > .sqf-summary::after { content: "\2212"; }
.sqf-part2-body { padding: 0 18px 18px; }
.sqf-section { padding-top: 6px; margin-bottom: 18px; }
.sqf-section[hidden] { display: none !important; }
.sqf-h3 {
	margin: 0 0 12px; padding: 0 0 6px; font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	color: var(--sqf-mute); border-bottom: 1px solid var(--sqf-line);
}

.sqf-units, .sqf-radios { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sqf-units { margin: 0 0 12px; }
.sqf-units-label { font-size: .9rem; font-weight: 600; color: var(--sqf-label); margin-right: 4px; }
.sqf-pill {
	display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 9px 14px; min-height: 42px;
	border: 1px solid var(--sqf-line); border-radius: 999px; background: #fff; font-size: .92rem; font-weight: 500;
	color: var(--sqf-ink); cursor: pointer;
}
.sqf-pill input { margin: 0; accent-color: var(--sqf-accent); }
.sqf-pill:has(input:checked) { border-color: var(--sqf-accent); box-shadow: inset 0 0 0 1px var(--sqf-accent); }
.sqf-actions-2 { margin-top: 4px; }
.sqf-actions-2 .sqf-btn { background: transparent; color: var(--sqf-accent); box-shadow: inset 0 0 0 2px var(--sqf-accent); }
.sqf-actions-2 .sqf-btn:hover { background: var(--sqf-accent); color: #fff; }

.sqf-confirm {
	padding: 26px 24px; border: 1px solid var(--sqf-line); border-radius: 10px; background: #f5f7f9;
	color: var(--sqf-ink); font-size: 1.05rem; line-height: 1.55; outline: none;
}
.sqf-confirm strong { display: block; font-size: 1.2rem; margin-bottom: 6px; color: var(--sqf-accent); }

/* Spectrum parent wrapper (replaces the old scf block). */
.sqf-spectrum-wrap { background: #fff; padding: 8px 0 88px; }
.sqf-spectrum-inner { max-width: 760px; margin: 0 auto; padding: 0 24px; }
.sqf-spectrum-intro { text-align: center; margin: 0 0 24px; }
.sqf-spectrum-intro .scf-eyebrow { color: #7a8696; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 6px; }
.sqf-spectrum-intro h2 { color: #0e1a2b; font-size: clamp(1.5rem, 2.4vw, 1.85rem); font-weight: 700; margin: 0 0 10px; }
.sqf-spectrum-intro p { color: #5b6471; margin: 0; }
.sqf-spectrum-card { background: #fff; border: 1px solid rgba(15,30,50,.08); border-radius: 12px; padding: 32px; }

/* AEGIS: sit cleanly inside the existing contact-form-wrap column. */
.sqf[data-site="aegis"] { margin-top: 18px; }

@media (max-width: 720px) {
	.sqf-grid { grid-template-columns: 1fr; }
	.sqf-spectrum-card { padding: 22px 18px; }
	.sqf-btn { width: 100%; }
	.sqf-part2-body { padding: 0 14px 14px; }
	.sqf-summary { padding: 14px; }
}

/* v2 additions */
.sqf-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sqf-reveal[hidden] { display: none !important; }
.sqf-reveal { margin-top: 10px; }
.sqf-grid.sqf-reveal { margin-top: 0; }
.sqf-dims { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.sqf-dims input[type="text"] { flex: 1 1 120px; width: auto; min-width: 0; }
.sqf-x { color: var(--sqf-mute); font-weight: 600; }
.sqf-dims .sqf-units { margin: 0; display: inline-flex; gap: 6px; }
.sqf-inline { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.sqf-inline input[type="date"] { flex: 1 1 180px; width: auto; }
.sqf-need { margin-bottom: 14px; }
.sqf-section { padding-top: 0; }
.sqf-radios .sqf-pill { font-size: .9rem; }
.sqf-head { margin: 0 0 14px; }
.sqf-head-h { margin: 0 0 6px; font-size: 1.3rem; color: var(--sa-ink, #0e1a2b); }
.sqf-head-sub { margin: 0; color: var(--sa-mute, #5b6b7a); }
.sqf-summary { line-height: 1.35; }
.sqf p:empty { display: none !important; margin: 0 !important; }
/* AEGIS /contact/: the theme keeps form + info side by side on phones; stack them. */
@media (max-width: 860px) {
	.contact-grid:has([data-sqf-root]) { display: block !important; grid-template-columns: 1fr !important; }
	.contact-grid:has([data-sqf-root]) > * { width: auto !important; max-width: none !important; margin-bottom: 20px; }
}

/* v2.1: optional message + faster-quote prompt */
.sqf-opt { font-weight: 400; color: var(--sqf-mute); }
.sqf-nudge[hidden] { display: none !important; }
.sqf-nudge { margin-top: 14px; padding: 16px; border: 1px solid var(--sqf-accent); border-radius: calc(var(--sqf-radius) + 2px); background: #f7f9fb; }
.sqf-nudge-t { margin: 0 0 12px !important; font-weight: 700; font-size: 1.02rem; color: var(--sqf-ink); }
.sqf-nudge-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.sqf-btn-ghost { background: transparent !important; color: var(--sqf-accent) !important; box-shadow: inset 0 0 0 2px var(--sqf-accent); }
.sqf-btn-ghost:hover { background: var(--sqf-accent) !important; color: #fff !important; }
@media (max-width: 720px) { .sqf-nudge-btns .sqf-btn { width: 100%; } }
