.fct-lpc {
	--fct-lpc-accent: var(--wd-primary-color, #f28c28);
	--fct-lpc-accent-soft: #fff5ea;
	--fct-lpc-accent-soft: color-mix(in srgb, var(--fct-lpc-accent) 10%, #fff);
	--fct-lpc-border: #e2e5ea;
	--fct-lpc-muted: #697180;
	background: #fff;
	border: 1px solid var(--fct-lpc-border);
	border-radius: 16px;
	box-shadow: 0 10px 34px rgba(24, 31, 43, .07);
	box-sizing: border-box;
	clear: both;
	margin: 0 0 22px;
	padding: 20px;
	width: 100%;
}

.fct-lpc *,
.fct-lpc *::before,
.fct-lpc *::after {
	box-sizing: border-box;
}

.fct-lpc__header {
	align-items: flex-start;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 14px;
}

.fct-lpc__header h3 {
	font-size: 20px;
	line-height: 1.35;
	margin: 2px 0 0;
}

.fct-lpc__eyebrow {
	color: var(--fct-lpc-accent);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fct-lpc__unit {
	background: #f4f5f7;
	border-radius: 999px;
	color: var(--fct-lpc-muted);
	font-size: 12px;
	padding: 6px 10px;
	white-space: nowrap;
}

.fct-lpc__notice {
	background: #f5f7fb;
	border-inline-start: 3px solid #8b95a5;
	border-radius: 7px;
	color: #4d5665;
	font-size: 13px;
	margin-bottom: 16px;
	padding: 9px 11px;
}

.fct-lpc__notice[data-type="ready"] {
	background: #effaf4;
	border-inline-start-color: #2f9e62;
	color: #256f48;
}

.fct-lpc__notice[data-type="error"] {
	background: #fff1f0;
	border-inline-start-color: #d63638;
	color: #9f282a;
}

.fct-lpc__dimensions {
	align-items: end;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(120px, 1fr) auto minmax(120px, 1fr) minmax(110px, .72fr);
}

.fct-lpc__field > span:first-child {
	display: block;
	font-size: 13px;
	font-weight: 700;
}

.fct-lpc__field > small {
	color: var(--fct-lpc-muted);
	display: block;
	font-size: 11px;
	min-height: 17px;
}

.fct-lpc__input-wrap {
	align-items: center;
	background: #fff;
	border: 1px solid #bfc5cf;
	border-radius: 9px;
	display: flex;
	margin-top: 5px;
	overflow: hidden;
}

.fct-lpc__input-wrap:focus-within {
	border-color: var(--fct-lpc-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--fct-lpc-accent) 16%, transparent);
}

.fct-lpc__input-wrap input {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-size: 16px;
	font-weight: 650;
	height: 44px;
	min-width: 0;
	padding: 7px 10px;
	width: 100%;
}

.fct-lpc__input-wrap input:disabled {
	background: #f0f1f3 !important;
	cursor: not-allowed;
	opacity: .65;
}

.fct-lpc__input-wrap b {
	color: var(--fct-lpc-muted);
	font-size: 12px;
	padding-inline-end: 10px;
}

.fct-lpc__multiply {
	color: #8a919e;
	font-size: 19px;
	padding-bottom: 10px;
}

.fct-lpc__options {
	border: 0;
	border-top: 1px solid var(--fct-lpc-border);
	margin: 18px 0 0;
	padding: 16px 0 0;
}

.fct-lpc__options legend {
	font-size: 14px;
	font-weight: 750;
	margin-bottom: 10px;
	padding: 0;
}

.fct-lpc__options legend span {
	color: #d63638;
	margin-inline-start: 3px;
}

.fct-lpc__option-grid {
	display: grid;
	gap: 9px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fct-lpc__option {
	align-items: center;
	background: #fafbfc;
	border: 1px solid var(--fct-lpc-border);
	border-radius: 10px;
	cursor: pointer;
	display: flex;
	gap: 9px;
	margin: 0;
	padding: 10px 11px;
	transition: border-color .16s ease, background-color .16s ease;
}

.fct-lpc__option:has(input:checked) {
	background: var(--fct-lpc-accent-soft);
	border-color: var(--fct-lpc-accent);
}

.fct-lpc__option input {
	accent-color: var(--fct-lpc-accent);
	flex: 0 0 auto;
	height: 17px;
	margin: 0;
	width: 17px;
}

.fct-lpc__option strong,
.fct-lpc__option small {
	display: block;
}

.fct-lpc__option strong {
	font-size: 13px;
}

.fct-lpc__option small {
	color: var(--fct-lpc-muted);
	font-size: 11px;
	margin-top: 2px;
}

.fct-lpc__summary {
	background: #f7f8fa;
	border-radius: 12px;
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 18px;
	padding: 11px;
}

.fct-lpc__summary > div {
	border-inline-end: 1px solid #e1e4e9;
	min-width: 0;
	padding: 5px 9px;
}

.fct-lpc__summary > div:nth-child(4) {
	border-inline-end: 0;
}

.fct-lpc__summary span,
.fct-lpc__summary strong {
	display: block;
}

.fct-lpc__summary span {
	color: var(--fct-lpc-muted);
	font-size: 11px;
}

.fct-lpc__summary strong {
	font-size: 14px;
	margin-top: 3px;
	overflow-wrap: anywhere;
}

.fct-lpc__summary .fct-lpc__grand-total {
	align-items: center;
	background: var(--fct-lpc-accent);
	border: 0;
	border-radius: 9px;
	color: #fff;
	display: flex;
	grid-column: 1 / -1;
	justify-content: space-between;
	margin-top: 3px;
	padding: 11px 13px;
}

.fct-lpc__grand-total span {
	color: rgba(255,255,255,.82);
	font-size: 13px;
}

.fct-lpc__grand-total strong {
	font-size: 22px;
	margin: 0;
}

.fct-lpc__formula {
	color: var(--fct-lpc-muted);
	font-size: 11px;
	margin: 9px 0 0;
	text-align: center;
}

.fct-lpc-cart-total {
	align-items: center;
	background: var(--wd-primary-color, #f28c28);
	border-radius: 10px;
	box-sizing: border-box;
	clear: both;
	color: #fff;
	display: flex;
	justify-content: center;
	margin: 14px 0;
	min-height: 72px;
	padding: 14px 18px;
	text-align: center;
	width: 100%;
}

.fct-lpc-cart-total strong {
	font-size: clamp(28px, 5vw, 38px);
	font-weight: 800;
	line-height: 1.15;
}

.fct-lpc-cart-total .woocommerce-Price-amount,
.fct-lpc-cart-total .woocommerce-Price-currencySymbol {
	color: inherit;
}

@media (max-width: 640px) {
	.fct-lpc {
		border-radius: 12px;
		padding: 15px;
	}

	.fct-lpc__header {
		flex-direction: column;
		gap: 7px;
	}

	.fct-lpc__dimensions {
		grid-template-columns: 1fr 20px 1fr;
	}

	.fct-lpc__field--quantity {
		grid-column: 1 / -1;
	}

	.fct-lpc__option-grid,
	.fct-lpc__summary {
		grid-template-columns: 1fr 1fr;
	}

	.fct-lpc__summary > div:nth-child(2),
	.fct-lpc__summary > div:nth-child(4) {
		border-inline-end: 0;
	}
}

@media (max-width: 400px) {
	.fct-lpc__dimensions,
	.fct-lpc__option-grid {
		grid-template-columns: 1fr;
	}

	.fct-lpc__multiply {
		display: none;
	}
}
