.wf-configurator {
	--wf-config-ink: var(--dark, #111);
	--wf-config-muted: #737373;
	--wf-config-line: #e5e5e5;
	--wf-config-soft: #f8f8f8;
	--wf-config-focus: #1f5fa9;
	--wf-admin-offset: 0px;
	min-height: calc(100dvh - var(--wf-admin-offset));
	color: var(--wf-config-ink);
	background: var(--light, #fff);
	font-family: inherit;
	font-size: 16px;
	line-height: 1.5;
}

body.admin-bar .wf-configurator {
	--wf-admin-offset: 32px;
}

.wf-configurator *,
.wf-configurator *::before,
.wf-configurator *::after {
	box-sizing: border-box;
}

.wf-configurator button,
.wf-configurator input,
.wf-configurator textarea {
	font: inherit;
	caret-color: var(--wf-config-ink);
}

.wf-configurator button {
	cursor: pointer;
}

.wf-configurator button:disabled {
	cursor: not-allowed;
}

.wf-configurator [hidden] {
	display: none !important;
}

.wf-configurator :focus-visible {
	outline: 2px solid var(--wf-config-focus);
	outline-offset: 3px;
}

.wf-configurator ::selection {
	color: #fff;
	background: var(--wf-config-ink);
}

.wf-configurator__skip {
	position: absolute;
	top: -100px;
	left: 16px;
	z-index: 40;
	padding: 10px 16px;
	color: #fff;
	background: var(--wf-config-ink);
}

.wf-configurator__skip:focus {
	top: calc(var(--wf-admin-offset) + 8px);
}

.wf-configurator__preview-notice {
	margin: 0;
	padding: 9px 20px;
	color: #292620;
	background: #f0e8d8;
	font-size: 12px;
	text-align: center;
}

.wf-configurator__header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
	height: 76px;
	padding: 0 36px;
	border-bottom: 1px solid var(--wf-config-line);
}

.wf-configurator__brand {
	justify-self: start;
	color: var(--wf-config-ink);
	font-weight: 700;
	text-decoration: none;
}

.wf-configurator__brand img {
	display: block;
	width: 180px;
	max-height: 42px;
	object-fit: contain;
}

.wf-configurator__tagline {
	color: #777;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	white-space: nowrap;
}

.wf-configurator__header-actions {
	display: flex;
	align-items: center;
	justify-self: end;
	gap: 27px;
}

.wf-configurator__model-link,
.wf-configurator__contact-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: var(--wf-config-ink);
	font-size: 14px;
	font-weight: 400;
	text-decoration: none;
	white-space: nowrap;
}

.wf-configurator__model-link:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.wf-configurator__model-link span {
	font-size: 16px;
}

.wf-configurator__contact-link {
	min-height: 42px;
	padding: 8px 17px;
	border: 1px solid #d5d5d5;
	border-radius: 999px;
}

.wf-configurator__contact-link:hover {
	border-color: var(--wf-config-ink);
	background: var(--wf-config-soft);
}

.wf-configurator__contact-link svg {
	width: 18px;
	height: 18px;
}

.wf-configurator__progress {
	height: 76px;
	border-bottom: 1px solid var(--wf-config-line);
	background: #fff;
}

.wf-configurator__progress-list {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	align-items: center;
	gap: 0;
	width: min(1320px, calc(100% - 128px));
	height: 100%;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.wf-configurator__progress-item {
	position: relative;
	min-width: 0;
}

.wf-configurator__progress-item:not(:last-child)::after {
	position: absolute;
	top: 50%;
	right: 13px;
	width: 20px;
	height: 1px;
	background: #dedede;
	content: "";
}

.wf-configurator__progress-button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	max-width: calc(100% - 30px);
	padding: 0;
	border: 0;
	color: #999;
	background: transparent;
	font-size: 13px;
	white-space: nowrap;
}

.wf-configurator__progress-button:disabled {
	cursor: default;
}

.wf-configurator__progress-number {
	display: grid;
	place-items: center;
	flex: 0 0 29px;
	width: 29px;
	height: 29px;
	border: 1px solid #e0e0e0;
	border-radius: 50%;
	color: #aaa;
	font-size: 11px;
	font-variant-numeric: tabular-nums;
}

.wf-configurator__progress-button[aria-current="step"] {
	color: var(--wf-config-ink);
	font-weight: 600;
}

.wf-configurator__progress-button[aria-current="step"] .wf-configurator__progress-number {
	border-color: var(--wf-config-ink);
	color: #fff;
	background: var(--wf-config-ink);
}

.wf-configurator__progress-item--done .wf-configurator__progress-number {
	border-color: var(--wf-config-ink);
	color: var(--wf-config-ink);
}

.wf-configurator__progress-item--done .wf-configurator__progress-number::after {
	width: 11px;
	height: 6px;
	margin-top: -3px;
	transform: rotate(-45deg);
	border-bottom: 1.5px solid currentColor;
	border-left: 1.5px solid currentColor;
	content: "";
}

.wf-configurator__progress-compact,
.wf-configurator__progress-bar {
	display: none;
}

.wf-configurator__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) clamp(500px, 37vw, 800px);
	height: calc(100dvh - 152px - var(--wf-admin-offset));
	min-height: 520px;
	overflow: hidden;
}

.wf-configurator__preview {
	min-width: 0;
	padding: 24px 26px 0;
	overflow-y: auto;
	scrollbar-color: #ccc transparent;
	scrollbar-width: thin;
}

.wf-configurator__media {
	position: relative;
	width: 100%;
	height: clamp(360px, calc(100dvh - 302px - var(--wf-admin-offset)), 900px);
	overflow: hidden;
	border-radius: 7px;
	background: #eee;
}

.wf-configurator__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wf-configurator__image-label {
	position: absolute;
	top: 22px;
	left: 24px;
	display: grid;
	gap: 2px;
	min-width: 120px;
	padding: 11px 13px;
	border-radius: 5px;
	color: #222;
	background: rgb(255 255 255 / 96%);
	font-size: 11px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.wf-configurator__image-label strong {
	font-weight: 600;
}

.wf-configurator__image-label small {
	color: #777;
	font-size: 11px;
	letter-spacing: 0;
	text-transform: none;
}

.wf-configurator__zoom {
	position: absolute;
	top: 22px;
	right: 24px;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	color: #111;
	background: #fff;
}

.wf-configurator__zoom svg {
	width: 20px;
	height: 20px;
}

.wf-configurator__media-message {
	position: absolute;
	bottom: 96px;
	left: 30px;
	display: grid;
	gap: 12px;
	color: #fff;
	text-shadow: 0 1px 15px rgb(0 0 0 / 22%);
	pointer-events: none;
}

.wf-configurator__media-message span {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.wf-configurator__media-message strong {
	font-size: clamp(32px, 3.3vw, 48px);
	font-weight: 300;
	line-height: 1.08;
	letter-spacing: -.035em;
}

.wf-configurator__views {
	position: absolute;
	bottom: 24px;
	left: 24px;
	display: flex;
	align-items: center;
	gap: 0;
	max-width: calc(100% - 115px);
	padding: 4px;
	overflow-x: auto;
	border-radius: 999px;
	background: #fff;
	scrollbar-width: none;
}

.wf-configurator__views::-webkit-scrollbar {
	display: none;
}

.wf-configurator__view {
	flex: 0 0 auto;
	min-height: 34px;
	padding: 6px 17px;
	border: 0;
	border-radius: 999px;
	color: #666;
	background: transparent;
	font-size: 12px;
	white-space: nowrap;
}

.wf-configurator__view[aria-pressed="true"] {
	color: #fff;
	background: #151515;
}

.wf-configurator__view-count {
	position: absolute;
	right: 26px;
	bottom: 32px;
	color: #fff;
	font-size: 11px;
	letter-spacing: .13em;
	font-variant-numeric: tabular-nums;
	text-shadow: 0 1px 8px rgb(0 0 0 / 50%);
}

.wf-configurator__media--plan .wf-configurator__view-count {
	color: #111;
	text-shadow: none;
}

.wf-configurator__house-details {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 0 20px;
	padding-top: 20px;
}

.wf-configurator__house-caption {
	margin: 0 0 5px;
	color: #777;
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.wf-configurator__house-title {
	margin: 0;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -.02em;
	text-transform: uppercase;
}

.wf-configurator__stats {
	display: flex;
	gap: 18px;
	align-items: end;
}

.wf-configurator__stat {
	display: flex;
	align-items: flex-start;
	gap: 5px;
	white-space: nowrap;
}

.wf-configurator__stat svg {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	margin-top: 2px;
}

.wf-configurator__stat span {
	display: grid;
	gap: 2px;
}

.wf-configurator__stat strong {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
}

.wf-configurator__stat small {
	color: #777;
	font-size: 10px;
}

.wf-configurator__visual-note {
	grid-column: 1 / -1;
	margin: 15px 0 0;
	padding-top: 12px;
	border-top: 1px solid var(--wf-config-line);
	color: #888;
	font-size: 11px;
}

.wf-configurator__plan-link {
	grid-column: 1 / -1;
	margin-top: 9px;
	color: var(--wf-config-ink);
	font-size: 11px;
	text-underline-offset: 3px;
}

.wf-configurator__main {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
	border-left: 1px solid var(--wf-config-line);
}

.wf-configurator__stage {
	flex: 1 1 auto;
	min-height: 0;
	padding: 29px 35px 42px;
	overflow-y: auto;
	scrollbar-color: #c7c7c7 transparent;
	scrollbar-width: thin;
}

.wf-configurator__stage-header {
	margin-bottom: 27px;
}

.wf-configurator__stage-kicker {
	display: block;
	margin-bottom: 14px;
	color: #777;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.wf-configurator__stage-title {
	display: grid;
	margin: 0;
	font-size: clamp(38px, 2.6vw, 52px);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -.035em;
}

.wf-configurator__stage-title-accent {
	color: #929292;
}

.wf-configurator__stage-intro {
	max-width: 42ch;
	margin: 20px 0 0;
	color: #747474;
	font-size: clamp(15px, .85vw, 17px);
	line-height: 1.5;
}

.wf-configurator__group {
	margin-bottom: 33px;
}

.wf-configurator__group-heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 13px;
}

.wf-configurator__group-title {
	margin: 0;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -.01em;
}

.wf-configurator__group-title--eyebrow {
	color: #777;
	font-size: clamp(11px, .7vw, 13px);
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.wf-configurator__group-compare {
	padding: 0;
	border: 0;
	color: #222;
	background: transparent;
	font-size: clamp(12px, .7vw, 14px);
	white-space: nowrap;
}

.wf-configurator__group-compare:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wf-configurator__group-description {
	margin: -4px 0 15px;
	color: #777;
	font-size: 13px;
}

.wf-configurator__option-list {
	display: grid;
	gap: 12px;
}

.wf-configurator__option {
	padding: clamp(18px, 1.5vw, 30px) clamp(18px, 1.2vw, 24px);
	border: 1px solid #dedede;
	border-radius: 7px;
	background: #fff;
}

.wf-configurator__option--selected {
	border-color: #111;
	background: #fafafa;
	box-shadow: inset 0 0 0 .5px #111;
}

.wf-configurator__option-label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	margin: 0;
	color: #222;
	cursor: pointer;
}

.wf-configurator__option--box .wf-configurator__option-label {
	justify-content: space-between;
	gap: 20px;
}

.wf-configurator__option-input {
	flex: 0 0 18px;
	width: 18px;
	min-width: 18px;
	max-width: 18px;
	height: 18px;
	margin: 2px 0 0;
	padding: 0;
	appearance: none;
	border: 1px solid #ccc;
	background: #fff;
}

.wf-configurator__option--box .wf-configurator__option-input {
	border-radius: 50%;
}

.wf-configurator__option--checkbox .wf-configurator__option-input {
	border-radius: 2px;
}

.wf-configurator__option-input:checked {
	border-color: #111;
}

.wf-configurator__option--box .wf-configurator__option-input:checked {
	background: radial-gradient(circle at center, #111 0 4px, #fff 4.5px);
}

.wf-configurator__option--checkbox .wf-configurator__option-input:checked {
	background: #111;
}

.wf-configurator__option--checkbox .wf-configurator__option-input:checked::after {
	display: block;
	width: 10px;
	height: 5px;
	margin: 4px 0 0 3px;
	transform: rotate(-45deg);
	border-bottom: 1.5px solid #fff;
	border-left: 1.5px solid #fff;
	content: "";
}

.wf-configurator__option-copy {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.wf-configurator__option-title {
	color: #222;
	font-size: clamp(15px, .9vw, 18px);
	font-weight: 600;
	line-height: 1.35;
}

.wf-configurator__option-description {
	max-width: 55ch;
	color: #777;
	font-size: clamp(13px, .75vw, 15px);
	line-height: 1.45;
}

.wf-configurator__option-price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: clamp(9px, 1vw, 20px);
}

.wf-configurator__option-price-amount {
	font-size: clamp(20px, 1.25vw, 26px);
	font-weight: 400;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

.wf-configurator__option-price-note {
	color: #737373;
	font-size: 11px;
	font-weight: 400;
}

.wf-configurator__option-details {
	margin: 10px 0 0;
	padding: 0;
	border: 0;
	color: #555;
	background: transparent;
	font-size: 11px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wf-configurator__option--quantity {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.wf-configurator__option--checkbox,
.wf-configurator__option--quantity {
	padding: 20px 0;
	border: 0;
	border-bottom: 1px solid var(--wf-config-line);
	border-radius: 0;
	background: transparent;
}

.wf-configurator__option--checkbox.wf-configurator__option--selected,
.wf-configurator__option--quantity.wf-configurator__option--selected {
	border-color: var(--wf-config-line);
	background: transparent;
	box-shadow: none;
}

.wf-configurator__option--checkbox .wf-configurator__option-title,
.wf-configurator__option--quantity .wf-configurator__option-title {
	font-size: 14px;
	font-weight: 500;
}

.wf-configurator__option--checkbox .wf-configurator__option-price,
.wf-configurator__option--quantity .wf-configurator__option-price {
	margin-top: 2px;
}

.wf-configurator__option--checkbox .wf-configurator__option-price-amount,
.wf-configurator__option--quantity .wf-configurator__option-price-amount {
	color: #777;
	font-size: 13px;
	font-weight: 400;
}

.wf-configurator__option--checkbox .wf-configurator__option-price-note,
.wf-configurator__option--quantity .wf-configurator__option-price-note {
	font-size: 12px;
}

.wf-configurator__counter {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	border: 1px solid #d8d8d8;
	border-radius: 6px;
}

.wf-configurator__counter-button {
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	font-size: 19px;
	line-height: 1;
}

.wf-configurator__counter-button:disabled {
	color: #bbb;
}

.wf-configurator__counter-value {
	min-width: 22px;
	font-size: 14px;
	font-variant-numeric: tabular-nums;
	text-align: center;
}

.wf-configurator__footer {
	flex: 0 0 auto;
	padding: 22px 35px 16px;
	border-top: 1px solid var(--wf-config-line);
	background: #fff;
}

.wf-configurator__total {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto;
	align-items: end;
}

.wf-configurator__total > span {
	color: #777;
	font-size: 11px;
}

.wf-configurator__total-details {
	justify-self: start;
	padding: 0;
	border: 0;
	color: #777;
	background: transparent;
	font-size: 11px;
}

.wf-configurator__total-details:hover {
	color: #111;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wf-configurator__total strong {
	grid-column: 1;
	grid-row: 2;
	font-size: 28px;
	font-weight: 400;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

.wf-configurator__total small {
	grid-column: 2;
	grid-row: 1 / 3;
	color: #888;
	font-size: 10px;
	line-height: 1.35;
	text-align: right;
}

.wf-configurator__footer-actions {
	display: flex;
	gap: 8px;
	margin-top: 17px;
}

.wf-configurator__button {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 47px;
	padding: 10px 23px;
	border: 1px solid #111;
	border-radius: 999px;
	color: #fff;
	background: #111;
	font-size: 14px;
	font-weight: 400;
	text-align: left;
}

.wf-configurator__footer-actions > .wf-configurator__button:not(.wf-configurator__button--quiet) {
	flex: 1;
}

.wf-configurator__button svg {
	width: 17px;
	height: 17px;
}

.wf-configurator__button:hover:not(:disabled) {
	background: #333;
}

.wf-configurator__button--quiet {
	justify-content: center;
	min-width: 47px;
	padding: 10px;
	color: #111;
	background: #fff;
}

.wf-configurator__button--quiet span {
	display: none;
}

.wf-configurator__button--quiet:hover:not(:disabled) {
	background: #f5f5f5;
}

.wf-configurator__button:disabled {
	opacity: .55;
}

.wf-configurator__footer-next {
	display: block;
	margin-top: 5px;
	color: #888;
	font-size: 11px;
	text-align: center;
}

.wf-configurator__footer--offer .wf-configurator__footer-next {
	display: none;
}

.wf-configurator__summary {
	margin-bottom: 30px;
}

.wf-configurator__summary-row {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 15px 0;
	border-bottom: 1px solid var(--wf-config-line);
	font-size: 13px;
}

.wf-configurator__summary-copy {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
}

.wf-configurator__summary-price {
	flex: 0 0 auto;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.wf-configurator__change {
	padding: 0;
	border: 0;
	color: #777;
	background: transparent;
	font-size: 11px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wf-configurator__summary-note {
	max-width: 65ch;
	color: #777;
	font-size: 12px;
}

.wf-configurator__summary-section {
	padding: 19px 0;
	border-top: 1px solid var(--wf-config-line);
}

.wf-configurator__summary-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 10px;
}

.wf-configurator__summary-heading h2 {
	margin: 0;
	color: #888;
	font-size: 12px;
	font-weight: 400;
}

.wf-configurator__summary-heading .wf-configurator__change {
	color: #333;
}

.wf-configurator__summary-section .wf-configurator__summary-row {
	padding: 8px 0;
	border: 0;
}

.wf-configurator__summary-copy {
	display: grid;
	gap: 2px;
}

.wf-configurator__summary-copy strong {
	font-size: 14px;
	font-weight: 500;
}

.wf-configurator__summary-copy small {
	color: #888;
	font-size: 12px;
}

.wf-configurator__summary-copy .wf-configurator__change {
	justify-self: start;
}

.wf-configurator__summary-price {
	text-align: right;
}

.wf-configurator__summary-empty {
	margin: 10px 0 0;
	color: #888;
	font-size: 13px;
}

.wf-configurator__estimate {
	display: grid;
	gap: 3px;
	margin: 16px 0 12px;
	padding: 17px 20px;
	border-radius: 7px;
	background: #f5f5f5;
}

.wf-configurator__estimate span,
.wf-configurator__estimate small {
	color: #888;
	font-size: 12px;
}

.wf-configurator__estimate strong {
	font-size: 29px;
	font-weight: 400;
	line-height: 1.15;
	font-variant-numeric: tabular-nums;
}

.wf-configurator__summary-notes {
	margin-top: 28px;
	padding: 16px 0;
	border-top: 1px solid var(--wf-config-line);
	font-size: 13px;
}

.wf-configurator__summary-notes summary {
	cursor: pointer;
}

.wf-configurator__summary-notes p {
	color: #777;
}

.wf-configurator__form {
	display: grid;
	gap: 22px;
}

.wf-configurator__offer-overview {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 26px;
	padding: 16px 18px;
	border-radius: 7px;
	background: #f5f5f5;
}

.wf-configurator__offer-overview-copy {
	display: grid;
	gap: 4px;
}

.wf-configurator__offer-overview-copy small {
	color: #888;
	font-size: 11px;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.wf-configurator__offer-overview-copy strong {
	font-size: 13px;
	font-weight: 500;
}

.wf-configurator__form-section {
	margin: 4px 0 0;
	padding-top: 24px;
	border-top: 1px solid var(--wf-config-line);
}

.wf-configurator__form-section h2 {
	margin: 0;
	font-size: 17px;
	font-weight: 500;
}

.wf-configurator__form-section p {
	margin: 4px 0 19px;
	color: #888;
	font-size: 13px;
}

.wf-configurator__location-grid {
	display: grid;
	grid-template-columns: minmax(100px, .35fr) minmax(0, 1fr);
	gap: 14px;
}

.wf-configurator__submit {
	display: none;
}

.wf-configurator__form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.wf-configurator__field {
	display: grid;
	gap: 7px;
	font-size: 13px;
	font-weight: 500;
}

.wf-configurator__field-caption {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.wf-configurator__field-caption small {
	color: #999;
	font-size: 11px;
	font-weight: 400;
}

.wf-configurator__input {
	width: 100%;
	min-height: 49px;
	padding: 10px 13px;
	border: 1px solid #d8d8d8;
	border-radius: 5px;
	color: #111;
	background: #fff;
	font-size: 14px;
}

.wf-configurator__input::placeholder {
	color: #949494;
}

.wf-configurator textarea.wf-configurator__input {
	min-height: 110px;
	resize: vertical;
}

.wf-configurator__privacy {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 5px;
	font-size: 12px;
	color: #777;
}

.wf-configurator__privacy input {
	width: 18px;
	height: 18px;
	margin: 1px 5px 0 0;
	accent-color: #111;
}

.wf-configurator__privacy a {
	color: #111;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wf-configurator__honeypot {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.wf-configurator__feedback,
.wf-configurator__error {
	margin: 0;
	color: #9c241d;
	font-size: 13px;
}

.wf-configurator__success {
	font-size: 16px;
}

.wf-configurator__empty,
.wf-configurator__notice {
	padding: 22px;
	border: 1px solid var(--wf-config-line);
	border-radius: 7px;
	color: #777;
	font-size: 13px;
}

.wf-configurator__dialog,
.wf-configurator__image-dialog {
	width: min(810px, calc(100vw - 32px));
	max-height: min(88vh, 920px);
	padding: 0;
	overflow: auto;
	border: 0;
	border-radius: 10px;
	color: #111;
	background: #fff;
	box-shadow: 0 18px 50px rgb(0 0 0 / 20%);
}

.wf-configurator__dialog::backdrop,
.wf-configurator__image-dialog::backdrop {
	background: rgb(0 0 0 / 62%);
}

.wf-configurator__dialog-content {
	position: relative;
	padding: clamp(24px, 4vw, 38px);
}

.wf-configurator__dialog--compare {
	width: min(1240px, calc(100vw - 32px));
	max-height: calc(100dvh - 48px);
}

.wf-configurator__dialog--compare .wf-configurator__dialog-content {
	padding: clamp(24px, 3vw, 42px);
}

.wf-configurator__dialog-close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f5f5f5;
}

.wf-configurator__dialog-close::before,
.wf-configurator__dialog-close::after {
	position: absolute;
	top: 18px;
	left: 10px;
	width: 18px;
	height: 1.5px;
	transform: rotate(45deg);
	background: #111;
	content: "";
}

.wf-configurator__dialog-close::after {
	transform: rotate(-45deg);
}

.wf-configurator__dialog-header {
	margin-bottom: 23px;
}

.wf-configurator__dialog-kicker {
	display: block;
	margin-bottom: 16px;
	color: #888;
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.wf-configurator__dialog-title {
	margin: 0 50px 14px 0;
	font-size: clamp(24px, 4vw, 38px);
	font-weight: 400;
	line-height: 1.1;
}

.wf-configurator__dialog-intro {
	margin: 0;
	color: #777;
	font-size: 14px;
}

.wf-configurator__dialog .wf-configurator__summary-section {
	padding: 17px 0;
}

.wf-configurator__dialog .wf-configurator__summary-note {
	margin-top: 12px;
}

.wf-configurator__comparison {
	overflow-x: auto;
}

.wf-configurator__comparison-row {
	display: grid;
	min-width: 690px;
	grid-template-columns: minmax(220px, 2fr) repeat(var(--wf-standard-count), minmax(135px, 1fr));
	align-items: center;
	gap: 16px;
	min-height: 47px;
	padding: 9px 15px;
	border-bottom: 1px solid #333;
	font-size: 14px;
}

.wf-configurator__comparison-row > :not(:first-child) {
	text-align: center;
}

.wf-configurator__comparison-row--header {
	align-items: start;
	min-height: 100px;
	padding-top: 10px;
	border-bottom-width: 2px;
}

.wf-configurator__comparison-row--header > strong {
	font-weight: 500;
}

.wf-configurator__comparison-heading {
	display: grid;
	gap: 2px;
	text-align: left !important;
}

.wf-configurator__comparison-heading strong {
	font-size: 14px;
	font-weight: 500;
}

.wf-configurator__comparison-heading span {
	font-size: 22px;
	font-variant-numeric: tabular-nums;
}

.wf-configurator__comparison-heading small,
.wf-configurator__comparison-no {
	color: #999;
}

.wf-configurator__comparison-yes::after {
	display: inline-block;
	width: 11px;
	height: 6px;
	margin-top: -3px;
	transform: rotate(-45deg);
	border-bottom: 1.5px solid currentColor;
	border-left: 1.5px solid currentColor;
	content: "";
}

.wf-configurator__comparison-row--description {
	align-items: start;
	min-height: 120px;
	line-height: 1.5;
}

.wf-configurator__comparison-row--description > :not(:first-child) {
	text-align: left;
}

.wf-configurator__comparison-row--actions {
	min-height: 78px;
	border: 0;
}

.wf-configurator__comparison-button {
	justify-self: center;
	padding: 9px 18px;
	border: 1px solid #d1d1d1;
	border-radius: 999px;
	color: #111;
	background: #fff;
	font-size: 13px;
}

.wf-configurator__comparison-button--selected {
	border-color: #111;
	color: #fff;
	background: #111;
}

.wf-configurator__dialog-line {
	padding: 13px 0;
	border-bottom: 1px solid var(--wf-config-line);
	font-size: 13px;
	overflow-wrap: anywhere;
}

.wf-configurator__dialog-line p {
	margin: 5px 0;
	color: #777;
}

.wf-configurator__image-dialog {
	width: min(1120px, calc(100vw - 32px));
	max-height: 88vh;
	padding: 18px;
}

.wf-configurator__image-dialog img {
	display: block;
	width: 100%;
	height: auto;
	max-height: calc(88vh - 36px);
	object-fit: contain;
}

@media (min-width: 1600px) {
	.wf-configurator__header {
		padding-right: 30px;
		padding-left: 16px;
	}

	.wf-configurator__preview {
		padding-right: 36px;
		padding-left: 12px;
	}

	.wf-configurator__stage {
		padding-right: 42px;
		padding-left: 42px;
	}

	.wf-configurator__stage-header {
		margin-bottom: 40px;
	}

	.wf-configurator__option {
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.wf-configurator__footer {
		padding-right: 40px;
		padding-left: 42px;
	}
}

@media (max-width: 990px) {
	.wf-configurator__header {
		height: 65px;
		padding: 0 18px;
	}

	.wf-configurator__tagline {
		display: none;
	}

	.wf-configurator__header {
		grid-template-columns: 1fr auto;
	}

	.wf-configurator__brand img {
		width: 154px;
		max-height: 36px;
	}

	.wf-configurator__header-actions {
		gap: 18px;
	}

	.wf-configurator__contact-link {
		width: 30px;
		min-height: 30px;
		padding: 0;
		border: 0;
	}

	.wf-configurator__contact-link span {
		display: none;
	}

	.wf-configurator__progress {
		position: sticky;
		top: var(--wf-admin-offset);
		z-index: 20;
		height: 62px;
	}

	.wf-configurator__progress-list {
		display: none;
	}

	.wf-configurator__progress-compact {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 100%;
		padding: 0 21px 2px;
		font-size: 12px;
	}

	.wf-configurator__progress-compact span {
		color: #777;
	}

	.wf-configurator__progress-compact strong {
		font-weight: 500;
	}

	.wf-configurator__progress-bar {
		position: absolute;
		bottom: -1px;
		left: 0;
		display: block;
		width: 100%;
		height: 2px;
		background: transparent;
	}

	.wf-configurator__progress-fill {
		display: block;
		height: 100%;
		background: #111;
	}

	.wf-configurator__layout {
		display: block;
		height: auto;
		min-height: 0;
		overflow: visible;
	}

	.wf-configurator__preview {
		padding: 14px 14px 0;
		overflow: visible;
	}

	.wf-configurator__media {
		height: auto;
		aspect-ratio: 1.28;
	}

	.wf-configurator__media-message {
		display: none;
	}

	.wf-configurator__image-label {
		top: 14px;
		left: 13px;
		min-width: 108px;
		padding: 9px 11px;
	}

	.wf-configurator__zoom {
		top: 14px;
		right: 13px;
		width: 34px;
		height: 34px;
	}

	.wf-configurator__views {
		bottom: 14px;
		left: 13px;
		max-width: calc(100% - 90px);
		padding: 3px;
	}

	.wf-configurator__view {
		min-height: 29px;
		padding: 5px 11px;
		font-size: 11px;
	}

	.wf-configurator__view-count {
		right: 13px;
		bottom: 23px;
		font-size: 10px;
	}

	.wf-configurator__house-details {
		padding-top: 17px;
	}

	.wf-configurator__house-caption {
		font-size: 10px;
	}

	.wf-configurator__house-title {
		font-size: 16px;
	}

	.wf-configurator__stats {
		gap: 6px;
	}

	.wf-configurator__stat {
		gap: 3px;
	}

	.wf-configurator__stat svg {
		flex-basis: 14px;
		width: 14px;
		height: 14px;
	}

	.wf-configurator__stat strong {
		font-size: 11px;
	}

	.wf-configurator__stat small {
		font-size: 9px;
	}

	.wf-configurator__visual-note {
		margin-top: 14px;
		padding-top: 10px;
		font-size: 11px;
	}

	.wf-configurator__main {
		display: block;
		border-left: 0;
	}

	.wf-configurator__stage {
		min-height: calc(100dvh - 52px);
		padding: 34px 19px 190px;
		overflow: visible;
	}

	.wf-configurator__stage-kicker {
		margin-bottom: 12px;
	}

	.wf-configurator__stage-title {
		font-size: clamp(39px, 10.7vw, 44px);
	}

	.wf-configurator__stage-intro {
		margin-top: 18px;
		font-size: 14px;
	}

	.wf-configurator__group {
		margin-bottom: 34px;
	}

	.wf-configurator__footer {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 30;
		padding: 11px 16px max(12px, env(safe-area-inset-bottom));
		box-shadow: 0 -4px 16px rgb(0 0 0 / 3%);
	}

	.wf-configurator__total strong {
		font-size: 20px;
	}

	.wf-configurator__total small {
		font-size: 10px;
	}

	.wf-configurator__footer-actions {
		margin-top: 10px;
	}

	.wf-configurator__footer-next {
		display: none;
	}
}

@media (max-width: 600px) {
	body.admin-bar .wf-configurator {
		--wf-admin-offset: 46px;
	}

	.wf-configurator__progress {
		top: 0;
	}

	.wf-configurator__model-link {
		gap: 4px;
		font-size: 12px;
	}

	.wf-configurator__option {
		padding: 16px 17px;
	}

	.wf-configurator__option--checkbox,
	.wf-configurator__option--quantity {
		padding: 17px 0;
	}

	.wf-configurator__option-title {
		font-size: 15px;
	}

	.wf-configurator__option-description {
		font-size: 13px;
	}

	.wf-configurator__option-price-amount {
		font-size: 21px;
	}

	.wf-configurator__option--quantity {
		align-items: flex-start;
		flex-direction: column;
	}

	.wf-configurator__counter {
		align-self: flex-end;
	}

	.wf-configurator__summary-row {
		flex-direction: column;
		gap: 6px;
	}

	.wf-configurator__summary-price {
		align-self: flex-start;
		text-align: left;
	}

	.wf-configurator__field-caption {
		flex-wrap: wrap;
		gap: 2px 8px;
	}

	.wf-configurator__location-grid {
		grid-template-columns: minmax(105px, .4fr) minmax(0, 1fr);
	}

	.wf-configurator__form-grid {
		grid-template-columns: 1fr;
	}

	.wf-configurator__dialog-content {
		padding: 28px 20px;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.wf-configurator__button,
	.wf-configurator__option,
	.wf-configurator__view,
	.wf-configurator__contact-link {
		transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
	}
}
