/* Vistar LED Pitch Advisor - styles */

.vpa-app {
	--vpa-ink: #0b1220;
	--vpa-ink-soft: #4a5568;
	--vpa-line: #e3e8ef;
	--vpa-line-strong: #cdd6e2;
	--vpa-bg: #ffffff;
	--vpa-bg-soft: #f7f9fc;
	--vpa-accent: #0f62fe;
	--vpa-accent-dark: #0b4bc4;
	--vpa-wa: #1faa53;
	--vpa-wa-dark: #178943;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 20px 48px;
	color: var(--vpa-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	line-height: 1.6;
}

.vpa-head {
	text-align: center;
	padding: 40px 0 28px;
}

.vpa-title {
	font-size: 32px;
	line-height: 1.2;
	font-weight: 700;
	margin: 0 0 10px;
	letter-spacing: -0.01em;
}

.vpa-sub {
	font-size: 17px;
	color: var(--vpa-ink-soft);
	margin: 0;
}

/* Form */

.vpa-form {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	background: var(--vpa-bg-soft);
	border: 1px solid var(--vpa-line);
	border-radius: 10px;
	padding: 26px 22px;
}

.vpa-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.vpa-field label {
	font-size: 14px;
	font-weight: 600;
	color: var(--vpa-ink);
}

.vpa-field label span {
	font-weight: 400;
	color: var(--vpa-ink-soft);
}

.vpa-field input {
	width: 100%;
	padding: 12px 14px;
	font-size: 16px;
	border: 1px solid var(--vpa-line-strong);
	border-radius: 6px;
	background: #fff;
	color: var(--vpa-ink);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.vpa-field input:focus {
	outline: none;
	border-color: var(--vpa-accent);
	box-shadow: 0 0 0 3px rgba(15, 98, 254, 0.12);
}

.vpa-field input.vpa-invalid {
	border-color: #d93025;
	box-shadow: 0 0 0 3px rgba(217, 48, 37, 0.1);
}

.vpa-field small {
	font-size: 12.5px;
	color: var(--vpa-ink-soft);
}

.vpa-actions {
	margin-top: 4px;
}

.vpa-error {
	color: #d93025;
	font-size: 14px;
	font-weight: 500;
	min-height: 0;
}

.vpa-error:not(:empty) {
	padding: 10px 12px;
	background: #fdf2f1;
	border: 1px solid #f5c9c4;
	border-radius: 6px;
}

/* Buttons */

.vpa-btn {
	display: inline-block;
	padding: 13px 26px;
	font-size: 15px;
	font-weight: 600;
	border-radius: 6px;
	text-align: center;
	text-decoration: none;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
	font-family: inherit;
}

.vpa-btn-primary {
	background: var(--vpa-accent);
	color: #fff;
}

.vpa-btn-primary:hover {
	background: var(--vpa-accent-dark);
	color: #fff;
}

.vpa-btn-wa {
	background: var(--vpa-wa);
	color: #fff;
}

.vpa-btn-wa:hover {
	background: var(--vpa-wa-dark);
	color: #fff;
}

.vpa-btn-ghost {
	background: #fff;
	color: var(--vpa-ink);
	border-color: var(--vpa-line-strong);
}

.vpa-btn-ghost:hover {
	border-color: var(--vpa-ink);
}

/* Results */

.vpa-results {
	margin-top: 32px;
	scroll-margin-top: 90px;
}

.vpa-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 22px;
}

.vpa-card {
	background: var(--vpa-bg);
	border: 1px solid var(--vpa-line);
	border-radius: 10px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.vpa-card-hd {
	border-color: #b9cdf5;
	box-shadow: 0 2px 14px rgba(15, 98, 254, 0.07);
}

.vpa-card-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 14px 18px;
	background: var(--vpa-bg-soft);
	border-bottom: 1px solid var(--vpa-line);
}

.vpa-card-hd .vpa-card-head {
	background: #eef4ff;
}

.vpa-badge {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--vpa-ink);
}

.vpa-badge-sub {
	font-size: 12px;
	color: var(--vpa-ink-soft);
	padding-left: 8px;
	border-left: 1px solid var(--vpa-line-strong);
}

.vpa-pixel-art {
	height: 132px;
	background-color: #0d1626;
	background-image: radial-gradient(circle, rgba(120, 190, 255, 0.85) 1px, transparent 1.4px);
	background-size: 8px 8px;
	background-position: center;
	border-bottom: 1px solid var(--vpa-line);
}

.vpa-card-body {
	padding: 20px 18px 22px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	flex: 1;
}

.vpa-card-name {
	font-size: 20px;
	line-height: 1.3;
	margin: 0;
	font-weight: 700;
}

.vpa-card-pitch {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.vpa-pitch-label {
	font-size: 13px;
	color: var(--vpa-ink-soft);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.vpa-pitch-value {
	font-size: 18px;
	font-weight: 700;
	color: var(--vpa-accent);
}

.vpa-card-desc {
	margin: 0;
	font-size: 14.5px;
	color: var(--vpa-ink-soft);
}

.vpa-stats {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 7px 16px;
	margin: 0;
	padding: 14px 16px;
	background: var(--vpa-bg-soft);
	border-radius: 8px;
	font-size: 14px;
}

.vpa-stats dt {
	color: var(--vpa-ink-soft);
	margin: 0;
}

.vpa-stats dd {
	margin: 0;
	font-weight: 600;
	text-align: right;
	color: var(--vpa-ink);
}

.vpa-fit-note {
	margin: 0;
	font-size: 13px;
	color: #8a5a00;
	background: #fff8e6;
	border-left: 3px solid #e8b33a;
	padding: 10px 12px;
	border-radius: 0 6px 6px 0;
}

.vpa-why {
	margin: 0;
	font-size: 13.5px;
	color: var(--vpa-ink-soft);
	border-top: 1px dashed var(--vpa-line-strong);
	padding-top: 12px;
}

.vpa-price-box {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px;
	border: 1px solid var(--vpa-line);
	border-radius: 8px;
	background: #fff;
}

.vpa-price-label {
	font-size: 12.5px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--vpa-ink-soft);
	font-weight: 600;
}

.vpa-price-value {
	font-size: 24px;
	font-weight: 700;
	color: var(--vpa-ink);
	line-height: 1.2;
}

.vpa-price-note {
	font-size: 12px;
	color: var(--vpa-ink-soft);
	line-height: 1.5;
}

.vpa-card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: auto;
}

.vpa-card-actions .vpa-btn {
	flex: 1 1 auto;
	padding: 12px 18px;
	font-size: 14.5px;
}

.vpa-empty {
	background: var(--vpa-bg-soft);
	border: 1px solid var(--vpa-line);
	border-radius: 10px;
	padding: 26px 22px;
	text-align: center;
	margin-bottom: 22px;
}

.vpa-empty h3 {
	margin: 0 0 8px;
	font-size: 19px;
}

.vpa-empty p {
	margin: 0 0 16px;
	color: var(--vpa-ink-soft);
	font-size: 14.5px;
}

/* v2.8.0: the blue explanation boxes (.vpa-far-note) were removed. */

.vpa-notice {
	background: #fff8e6;
	border: 1px solid #f0d9a3;
	border-radius: 10px;
	padding: 20px 22px;
	margin-bottom: 24px;
}

.vpa-notice p {
	margin: 6px 0 0;
	color: var(--vpa-ink-soft);
}

.vpa-disclaimer {
	margin: 28px 0 0;
	font-size: 12.5px;
	color: var(--vpa-ink-soft);
	text-align: center;
}

.vpa-contact {
	margin-top: 26px;
	text-align: center;
}

/* Product page */

.vpa-product {
	max-width: 1080px;
	margin: 0 auto;
}

.vpa-product-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 26px;
	align-items: start;
}

.vpa-product-media .vpa-pixel-art {
	height: 260px;
	border-radius: 10px;
	border: 1px solid var(--vpa-line);
}

.vpa-media-note {
	font-size: 12px;
	color: var(--vpa-ink-soft);
	text-align: center;
	margin: 8px 0 0;
}

.vpa-product-name {
	font-size: 26px;
	line-height: 1.25;
	margin: 0 0 10px;
	font-weight: 700;
}

.vpa-product-desc {
	color: var(--vpa-ink-soft);
	margin: 0 0 18px;
	font-size: 15px;
}

.vpa-spec {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 18px;
	font-size: 14.5px;
}

.vpa-spec th,
.vpa-spec td {
	text-align: left;
	padding: 9px 12px;
	border-bottom: 1px solid var(--vpa-line);
}

.vpa-spec th {
	width: 42%;
	color: var(--vpa-ink-soft);
	font-weight: 500;
	background: var(--vpa-bg-soft);
}

.vpa-spec td {
	font-weight: 600;
}

.vpa-product-info .vpa-price-box {
	margin-bottom: 18px;
}

.vpa-product-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* Datasheet download */

.vpa-download {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 0 18px;
}

.vpa-btn-spec {
	background: #0b1220;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.vpa-btn-spec::before {
	content: "";
	width: 15px;
	height: 15px;
	flex: 0 0 15px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v10.6l3.9-3.9 1.4 1.4L12 16.5l-5.3-5.4 1.4-1.4L12 13.6V3h0zM5 19h14v2H5z'/%3E%3C/svg%3E") no-repeat center/contain;
	mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v10.6l3.9-3.9 1.4 1.4L12 16.5l-5.3-5.4 1.4-1.4L12 13.6V3h0zM5 19h14v2H5z'/%3E%3C/svg%3E") no-repeat center/contain;
}

.vpa-btn-spec:hover {
	background: #1d2b45;
	color: #fff;
}

.vpa-download-note {
	font-size: 12px;
	color: var(--vpa-ink-soft);
}

/* Full specification table on product pages */

.vpa-spec-full {
	margin-top: 34px;
	padding-top: 26px;
	border-top: 1px solid var(--vpa-line);
}

.vpa-spec-title {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 16px;
}

.vpa-spec-two th {
	width: 34%;
}

.vpa-spec-two tr:last-child th,
.vpa-spec-two tr:last-child td {
	border-bottom: none;
}

.vpa-spec-source {
	font-size: 12px;
	color: var(--vpa-ink-soft);
	margin: 12px 0 0;
}

/* Desktop */

@media (min-width: 780px) {
	.vpa-title {
		font-size: 38px;
	}

	.vpa-form {
		grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
		align-items: start;
	}

	.vpa-actions {
		grid-column: 1 / -1;
	}

	.vpa-error {
		grid-column: 1 / -1;
	}

	.vpa-grid {
		grid-template-columns: 1fr 1fr;
	}

	.vpa-product-grid {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	}
}

@media (max-width: 480px) {
	.vpa-card-actions .vpa-btn {
		flex: 1 1 100%;
	}

	.vpa-stats {
		font-size: 13px;
	}

	.vpa-price-value {
		font-size: 21px;
	}
}

/* Indicative price list (server rendered, readable by AI crawlers) */

.vpa-section-title {
	font-size: 22px;
	font-weight: 700;
	margin: 40px 0 8px;
	letter-spacing: -0.01em;
}

.vpa-section-intro {
	font-size: 14.5px;
	color: var(--vpa-ink-soft);
	margin: 0 0 16px;
	max-width: 72ch;
}

.vpa-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--vpa-line);
	border-radius: 10px;
}

.vpa-price-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14.5px;
	min-width: 560px;
	background: #fff;
}

.vpa-price-table th,
.vpa-price-table td {
	text-align: left;
	padding: 12px 14px;
	border-bottom: 1px solid var(--vpa-line);
	white-space: nowrap;
}

.vpa-price-table thead th {
	background: var(--vpa-bg-soft);
	font-size: 12.5px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--vpa-ink-soft);
	border-bottom: 1px solid var(--vpa-line-strong);
}

.vpa-price-table tbody tr:last-child td {
	border-bottom: none;
}

.vpa-price-table td a {
	color: var(--vpa-accent);
	text-decoration: none;
	font-weight: 600;
}

.vpa-price-table td a:hover {
	text-decoration: underline;
}

.vpa-pt-price {
	font-weight: 700;
	color: var(--vpa-ink);
}

/* FAQ */

.vpa-faq {
	margin-top: 40px;
}

.vpa-faq-item {
	border: 1px solid var(--vpa-line);
	border-radius: 8px;
	margin-bottom: 10px;
	background: #fff;
	padding: 0 16px;
}

.vpa-faq-item summary {
	cursor: pointer;
	font-weight: 600;
	font-size: 15px;
	padding: 14px 0;
	list-style: none;
	position: relative;
	padding-right: 28px;
}

.vpa-faq-item summary::-webkit-details-marker {
	display: none;
}

.vpa-faq-item summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 20px;
	font-weight: 400;
	color: var(--vpa-ink-soft);
	line-height: 1;
}

.vpa-faq-item[open] summary::after {
	content: "\2013";
}

.vpa-faq-a {
	padding: 0 0 14px;
}

.vpa-faq-a p {
	margin: 0;
	font-size: 14.5px;
	color: var(--vpa-ink-soft);
	line-height: 1.65;
	max-width: 72ch;
}

@media (max-width: 480px) {
	.vpa-section-title {
		font-size: 19px;
	}
}

/* Quote bar under the calculator (leads a finished calculation to the enquiry form) */

.vpa-quote-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	align-items: center;
	justify-content: space-between;
	margin-top: 28px;
	padding: 22px 24px;
	border: 1px solid var(--vpa-line);
	border-left: 4px solid var(--vpa-accent);
	border-radius: 10px;
	background: var(--vpa-bg-soft);
}

.vpa-quote-copy {
	flex: 1 1 380px;
	min-width: 240px;
}

.vpa-quote-title {
	margin: 0 0 6px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

.vpa-quote-text {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--vpa-ink-soft);
	max-width: 64ch;
}

.vpa-quote-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

@media (max-width: 780px) {
	.vpa-quote-actions {
		width: 100%;
	}

	.vpa-quote-actions .vpa-btn {
		flex: 1 1 100%;
		text-align: center;
	}
}

/* ------------------------------------------------------------------ */
/* Key figures on the recommendation cards                            */
/* ------------------------------------------------------------------ */

.vpa-keyfigs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.vpa-kfig {
	display: flex;
	flex-direction: column;
	gap: 2px;
	background: var(--vpa-bg-soft);
	border: 1px solid var(--vpa-line);
	border-radius: 8px;
	padding: 10px 12px;
}

.vpa-kfig-label {
	font-size: 11.5px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--vpa-ink-soft);
	font-weight: 600;
}

.vpa-kfig-value {
	font-size: 15.5px;
	font-weight: 700;
	color: var(--vpa-ink);
	line-height: 1.3;
}

.vpa-kfig-price {
	background: #eef4ff;
	border-color: #c9dcfb;
}

.vpa-kfig-price .vpa-kfig-value {
	color: var(--vpa-accent);
	font-size: 18px;
}

/* ------------------------------------------------------------------ */
/* Cabinet layout drawing block                                       */
/* ------------------------------------------------------------------ */

.vpa-layout {
	border: 1px solid var(--vpa-line);
	border-radius: 8px;
	background: #fff;
	padding: 0 14px;
}

.vpa-layout summary {
	cursor: pointer;
	font-weight: 600;
	font-size: 14px;
	padding: 12px 0;
	list-style: none;
	position: relative;
	padding-right: 24px;
}

.vpa-layout summary::-webkit-details-marker {
	display: none;
}

.vpa-layout summary::after {
	content: "+";
	position: absolute;
	right: 2px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 18px;
	color: var(--vpa-ink-soft);
	line-height: 1;
}

.vpa-layout[open] summary::after {
	content: "\2013";
}

.vpa-layout-svg svg {
	width: 100%;
	height: auto;
	display: block;
	border: 1px solid var(--vpa-line);
	border-radius: 6px;
}

.vpa-layout-actions {
	padding: 10px 0 14px;
}

.vpa-btn-small {
	padding: 9px 14px;
	font-size: 13px;
}

/* ------------------------------------------------------------------ */
/* Collapsible specification table on the cards                       */
/* ------------------------------------------------------------------ */

.vpa-card-specs {
	border-top: 1px dashed var(--vpa-line-strong);
	padding-top: 4px;
}

.vpa-card-specs summary {
	cursor: pointer;
	font-weight: 600;
	font-size: 14px;
	padding: 10px 0;
	list-style: none;
	position: relative;
	padding-right: 24px;
}

.vpa-card-specs summary::-webkit-details-marker {
	display: none;
}

.vpa-card-specs summary::after {
	content: "+";
	position: absolute;
	right: 2px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 18px;
	color: var(--vpa-ink-soft);
	line-height: 1;
}

.vpa-card-specs[open] summary::after {
	content: "\2013";
}

.vpa-spec-mini {
	font-size: 13px;
	margin-bottom: 10px;
}

.vpa-spec-mini th,
.vpa-spec-mini td {
	padding: 7px 10px;
}

.vpa-spec-mini th {
	width: 46%;
}

.vpa-pending {
	color: #8a5a00;
	font-style: italic;
	font-weight: 500;
}

/* ------------------------------------------------------------------ */
/* Option comparison table                                            */
/* ------------------------------------------------------------------ */

.vpa-compare {
	margin-top: 28px;
}

.vpa-compare-title {
	font-size: 20px;
	margin: 0 0 12px;
	font-weight: 700;
}

.vpa-compare-table th:first-child {
	width: 30%;
}

/* ------------------------------------------------------------------ */
/* Business email modal for the PDF report                            */
/* ------------------------------------------------------------------ */

.vpa-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
}

.vpa-modal.is-open {
	display: block;
}

.vpa-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(11, 18, 32, 0.55);
}

.vpa-modal-card {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(440px, calc(100vw - 32px));
	max-height: calc(100vh - 40px);
	overflow: auto;
	background: #fff;
	border-radius: 12px;
	padding: 26px 24px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.vpa-modal-x {
	position: absolute;
	top: 10px;
	right: 12px;
	background: none;
	border: none;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	color: var(--vpa-ink-soft);
}

.vpa-modal-title {
	margin: 0 0 8px;
	font-size: 20px;
	font-weight: 700;
	padding-right: 20px;
}

.vpa-modal-text {
	margin: 0 0 14px;
	font-size: 14px;
	color: var(--vpa-ink-soft);
}

.vpa-modal-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.vpa-modal-form label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 13px;
	font-weight: 600;
	color: var(--vpa-ink);
}

.vpa-modal-form input {
	padding: 10px 12px;
	font-size: 15px;
	border: 1px solid var(--vpa-line-strong);
	border-radius: 6px;
	background: #fff;
	color: var(--vpa-ink);
}

.vpa-modal-form input:focus {
	outline: none;
	border-color: var(--vpa-accent);
	box-shadow: 0 0 0 3px rgba(15, 98, 254, 0.12);
}

.vpa-modal-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.vpa-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.vpa-modal-note {
	font-size: 12px;
	color: var(--vpa-ink-soft);
	margin: 0;
	line-height: 1.5;
}

.vpa-modal-error {
	color: #d93025;
	font-size: 13px;
}

.vpa-modal-error:not(:empty) {
	padding: 8px 10px;
	background: #fdf2f1;
	border: 1px solid #f5c9c4;
	border-radius: 6px;
}

.vpa-modal-submit {
	width: 100%;
}

body.vpa-no-scroll {
	overflow: hidden;
}

/* Product page: official photo, advantages and applications (v2.2.0) */

.vpa-product-media a {
	display: block;
}

.vpa-product-photo {
	width: 100%;
	height: auto;
	display: block;
	border: 1px solid var(--vpa-line);
	border-radius: 10px;
	background: #fff;
}

.vpa-product-blocks {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin: 34px 0 0;
}

.vpa-product-block {
	background: var(--vpa-bg-soft);
	border: 1px solid var(--vpa-line);
	border-radius: 10px;
	padding: 22px 24px;
}

.vpa-product-block .vpa-spec-title {
	margin: 0 0 14px;
}

.vpa-adv-list,
.vpa-app-list {
	margin: 0;
	padding-left: 20px;
	display: grid;
	gap: 10px;
	color: var(--vpa-ink);
	font-size: 15px;
}

.vpa-app-note {
	font-size: 13px;
	color: var(--vpa-ink-soft);
	margin: 14px 0 0;
}

@media (max-width: 780px) {
	.vpa-product-blocks {
		grid-template-columns: 1fr;
	}
}

/* ------------------------------------------------------------------
 * v2.3.0 - three-step flow (project -> solution -> report)
 * ------------------------------------------------------------------ */

.vpa-steps{display:flex;gap:8px;list-style:none;margin:0 0 22px;padding:0;flex-wrap:wrap}
.vpa-stepchip{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:#8296ad;background:#f2f6fb;border:1px solid #e2e9f2;border-radius:999px;padding:5px 14px 5px 6px;letter-spacing:.02em}
.vpa-stepchip span{display:flex;width:22px;height:22px;border-radius:50%;background:#dde6f1;color:#5a6b80;align-items:center;justify-content:center;font-size:11.5px;flex:0 0 auto}
.vpa-stepchip.is-active{color:#0b1220;background:#eaf2ff;border-color:#bcd4f8}
.vpa-stepchip.is-active span{background:#0f62fe;color:#fff}
.vpa-stepchip.is-done{color:#0b1220}
.vpa-stepchip.is-done span{background:#0b1220;color:#fff}
.vpa-step[hidden]{display:none!important}
.vpa-stepnote{margin:14px 0 0;font-size:13px;color:#8296ad;text-align:center}

.vpa-step2-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 18px}
.vpa-results-title{margin:0 0 6px;font-size:24px;line-height:1.25;color:#0b1220}
.vpa-results-sub{margin:0;font-size:14.5px;color:#5a6b80;line-height:1.55}
.vpa-btn-small{font-size:13px;padding:8px 14px}

.vpa-step2-cta{margin:26px 0 0;padding:22px 24px;background:#0b1220;border-radius:10px;color:#fff;text-align:center}
.vpa-step2-cta-title{margin:0 0 6px;font-size:18px;font-weight:700;color:#fff}
.vpa-step2-cta-text{margin:0 auto 14px;max-width:60ch;font-size:14px;color:#c9d3e0;line-height:1.55}
.vpa-step2-cta-note{display:block;margin-top:10px;font-size:12px;color:#8fa1b8}

.vpa-gate-form{max-width:660px}
.vpa-gate-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.vpa-gate-form label{display:block;font-size:13px;font-weight:600;color:#22324a;margin:0 0 12px}
.vpa-gate-form input{display:block;width:100%;margin-top:5px;padding:10px 12px;font-size:15px;border:1px solid #cfd9e4;border-radius:6px;background:#fff;box-sizing:border-box}
.vpa-gate-form input:focus{outline:2px solid #0f62fe;outline-offset:1px;border-color:#0f62fe}
.vpa-gate-form input.vpa-invalid{border-color:#d94f2b}
.vpa-optional{font-weight:400;color:#8296ad}
.vpa-gate-note{font-size:12.5px;color:#8296ad;margin:2px 0 12px}
.vpa-gate .vpa-btn-primary{margin-top:4px}

.vpa-ready{padding:26px 26px 22px;background:#f0f7f2;border:1px solid #cfe6d6;border-radius:10px}
.vpa-ready-actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 10px}
.vpa-ready-note{font-size:13px;color:#5a6b80;margin:6px 0 0}

.vpa-price-box-report{border-left:4px solid #0f62fe}
.vpa-advisor-note{margin:12px 0 0;font-size:14px;color:#5a6b80;line-height:1.55}
.vpa-alt-contact{margin:8px 0 0;font-size:13.5px;color:#8296ad}
.vpa-alt-contact a{color:#0f62fe}

@media (max-width:640px){
	.vpa-gate-row{grid-template-columns:1fr}
	.vpa-step2-head{flex-direction:column;align-items:stretch}
	.vpa-results-title{font-size:20px}
	.vpa-step2-cta{padding:18px 16px}
	.vpa-ready{padding:20px 16px 16px}
}

/* ------------------------------------------------------------------
 * v2.3.1 - two-row step-1 form, controller line, packed weight
 * ------------------------------------------------------------------ */

.vpa-size-row{display:flex;align-items:center;gap:10px}
.vpa-size-row input{flex:1;min-width:0}
.vpa-size-x{font-size:18px;font-weight:700;color:#8296ad;flex:0 0 auto}

.vpa-card-proc{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:14px 0 0;padding:10px 14px;background:#eaf2ff;border:1px solid #bcd4f8;border-radius:8px}
.vpa-card-proc .vpa-pitch-value{font-size:14.5px;color:#0b1220}

/* ------------------------------------------------------------------
 * v2.4.0 - step 2 laid out like the printed quotation (A | B columns)
 * ------------------------------------------------------------------ */

.vpa-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin:0 0 22px}
.vpa-col{background:#fff;border:1px solid #e2e9f2;border-radius:10px;overflow:hidden;box-shadow:0 1px 2px rgba(11,37,69,.04)}
.vpa-col-head{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#0b2545;color:#fff;padding:10px 14px}
.vpa-col-headl{display:flex;flex-direction:column;line-height:1.15}
.vpa-col-tag{font-size:15px;font-weight:800;letter-spacing:.04em}
.vpa-col-sub{font-size:10.5px;color:#93aacb;text-transform:uppercase;letter-spacing:.08em;margin-top:2px}
.vpa-col-model{font-size:11.5px;color:#c3d3e8;text-align:right;font-weight:600}

.vpa-est{background:#eaf2ff;border-bottom:1px solid #d6e3f6;padding:11px 14px}
.vpa-est-title{margin:0;font-size:13px;font-weight:800;color:#0b2545}
.vpa-est-text{margin:3px 0 0;font-size:12px;color:#41556e;line-height:1.45}
.vpa-est-note{display:block;margin-top:4px;font-size:10.5px;color:#7b8da3}

.vpa-col-sec{margin:0;padding:10px 14px 4px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#64748b;border-top:1px solid #eef2f7}
.vpa-laybox{padding:2px 12px 0}
.vpa-laybox svg{display:block;width:100%;height:auto}
.vpa-cap{margin:2px 14px 8px;font-size:11.5px;font-weight:700;color:#0b2545;line-height:1.35}
.vpa-col-body{padding:0 14px 8px}

.vpa-mini{width:100%;border-collapse:collapse;font-size:11.5px}
.vpa-mini th{text-align:left;font-weight:400;color:#64748b;padding:4px 6px 4px 0;vertical-align:top}
.vpa-mini td{text-align:right;font-weight:700;color:#1f2d3d;padding:4px 0 4px 8px;vertical-align:top}
.vpa-mini tbody tr:nth-child(odd){background:#f6f9fe}
.vpa-mini-pending{color:#7a4a14;font-weight:600}
.vpa-col-foot{padding:6px 14px 12px}
.vpa-col-link{font-size:11.5px;font-weight:600;color:#0f62fe;text-decoration:none}
.vpa-col-link:hover{text-decoration:underline}

@media (max-width:900px){
	.vpa-grid-2{grid-template-columns:1fr}
	.vpa-col-head{flex-direction:column;align-items:flex-start}
	.vpa-col-model{text-align:left}
}

.vpa-required{color:#d94f2b;font-weight:700}

/* v2.8.0 blurred price + unlock button.
 * "USD" stays clear, the digits sit on a masked strip wider than the text,
 * and the unlock button is centred on top of that strip. */
.vpa-est-row{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;min-height:56px}
.vpa-price-usd{font-size:19px;font-weight:800;color:#0b2545;letter-spacing:.5px}
.vpa-price-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}
.vpa-price-blur{display:inline-block;font-size:20px;font-weight:800;color:#0b2545;letter-spacing:.4px;background:#b9cfeb;padding:13px 40px;border-radius:8px;filter:blur(7px);user-select:none;-webkit-user-select:none;cursor:default}
.vpa-est-unlock{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;padding:8px 16px;font-size:12.5px;box-shadow:0 2px 8px rgba(11,37,69,.28);z-index:2}
@media (max-width:560px){
	.vpa-est-row{gap:8px}
	.vpa-price-usd{font-size:17px}
	.vpa-price-blur{font-size:17px;padding:11px 26px}
}

/* v2.8.0: the option tag doubles as the step-2 title (replaces the old
 * "Your LED Display Solution" heading). */
.vpa-col-head{padding:12px 14px}
.vpa-col-tag{font-size:22px;font-weight:800;letter-spacing:.03em;line-height:1.15}
.vpa-col-sub{font-size:11.5px;color:#93aacb;text-transform:uppercase;letter-spacing:.08em;margin-top:3px}
.vpa-col-model{font-size:12px}

/* v2.8.0: single-option result fills the full page width with larger
 * typography (no big page heading, no blue explanation boxes). */
.vpa-grid-1{grid-template-columns:1fr}
.vpa-grid-1 .vpa-col-head{padding:14px 18px}
.vpa-grid-1 .vpa-col-tag{font-size:26px}
.vpa-grid-1 .vpa-col-sub{font-size:13px}
.vpa-grid-1 .vpa-col-model{font-size:14px}
.vpa-grid-1 .vpa-est{padding:14px 18px}
.vpa-grid-1 .vpa-est-title{font-size:16px}
.vpa-grid-1 .vpa-price-usd{font-size:23px}
.vpa-grid-1 .vpa-price-blur{font-size:24px;padding:14px 48px}
.vpa-grid-1 .vpa-est-note{font-size:12px}
.vpa-grid-1 .vpa-col-sec{font-size:12px;padding:12px 18px 5px}
.vpa-grid-1 .vpa-col-body{padding:0 18px 10px}
.vpa-grid-1 .vpa-mini{font-size:14px}
.vpa-grid-1 .vpa-mini th,.vpa-grid-1 .vpa-mini td{padding:6px 6px 6px 8px}
.vpa-grid-1 .vpa-laybox{padding:4px 18px 0}
.vpa-grid-1 .vpa-cap{margin:2px 18px 10px;font-size:13px}
.vpa-grid-1 .vpa-col-foot{padding:8px 18px 14px}
.vpa-grid-1 .vpa-col-link{font-size:13px}

/* v2.7.0: country select + dial prefix + phone input */
.vpa-phone-wrap{display:flex;gap:6px;margin-top:5px;align-items:stretch}
.vpa-phone-wrap select{flex:1.2;min-width:0;padding:10px 8px;font-size:14px;border:1px solid #cfd9e4;border-radius:6px;background:#fff;box-sizing:border-box;color:#22324a}
.vpa-phone-wrap select:focus{outline:2px solid #0f62fe;outline-offset:1px;border-color:#0f62fe}
.vpa-phone-prefix{display:none;flex:0 0 auto;align-items:center;padding:0 10px;font-size:14.5px;font-weight:700;color:#0b2545;background:#eef3fa;border:1px solid #cfd9e4;border-radius:6px}
.vpa-phone-prefix.is-set{display:flex}
.vpa-phone-wrap input{flex:1.4;min-width:0;margin-top:0;padding:10px 12px;font-size:15px;border:1px solid #cfd9e4;border-radius:6px;background:#fff;box-sizing:border-box}
.vpa-phone-wrap input:focus{outline:2px solid #0f62fe;outline-offset:1px;border-color:#0f62fe}
.vpa-phone-wrap select.vpa-invalid,.vpa-phone-wrap input.vpa-invalid{border-color:#d94f2b}
@media (max-width:560px){.vpa-phone-wrap{flex-wrap:wrap}.vpa-phone-wrap select{flex-basis:100%}}
