.labelworks-configurator {
	--csc-ink: #333333;
	--csc-muted: #696969;
	--csc-line: #e1e1e1;
	--csc-surface: #ffffff;
	--csc-soft: #f8f7f5;
	--csc-accent: #126cb5;
	--csc-primary: #008338;
	--csc-primary-strong: #006f31;
	margin: 18px 0 0;
	color: var(--csc-ink);
	font-family: "Nunito Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.labelworks-configurator * {
	box-sizing: border-box;
}

.labelworks-configurator__header {
	margin-bottom: 14px;
}

.labelworks-configurator__section {
	margin-bottom: 14px;
}

.labelworks-configurator__grid {
	display: grid;
	gap: 12px;
	grid-template-columns: 1fr;
}

.labelworks-configurator .csc-field {
	display: grid;
	gap: 6px;
	margin: 0;
}

.labelworks-configurator .csc-field > span {
	color: var(--csc-muted);
	font-size: 0.88rem;
	font-weight: 700;
}

.labelworks-configurator select,
.labelworks-configurator input,
.labelworks-configurator textarea {
	width: 100%;
	min-height: 46px;
	border: 1px solid var(--csc-line);
	border-radius: 8px;
	background: #ffffff;
	color: var(--csc-ink);
	font: inherit;
	padding: 10px 12px;
	box-shadow: none;
}

.labelworks-configurator .csc-native-select {
	clip: rect(1px, 1px, 1px, 1px) !important;
	height: 1px !important;
	margin: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

.labelworks-configurator .csc-field .labelworks-select-shell,
.labelworks-configurator .labelworks-select-shell {
	grid-column: auto;
	width: 100%;
}

.labelworks-configurator .labelworks-select-shell .csc-select-trigger {
	min-height: 46px;
	border-color: #d9d9d9;
	box-shadow: none;
}

.labelworks-configurator .labelworks-select-shell.has-value .csc-select-trigger,
.labelworks-configurator .labelworks-select-shell.is-open .csc-select-trigger {
	border-color: var(--csc-primary);
}

.labelworks-configurator .labelworks-select-shell .csc-select-option.is-selected {
	background: #f4f4f4;
	box-shadow: none;
}

.labelworks-configurator input[type="file"] {
	min-height: auto;
	padding: 12px;
}

.labelworks-configurator textarea {
	min-height: 104px;
	resize: vertical;
}

.labelworks-configurator select:focus,
.labelworks-configurator input:focus,
.labelworks-configurator textarea:focus {
	border-color: var(--csc-accent);
	box-shadow: 0 0 0 3px rgba(18, 108, 181, 0.16);
	outline: none;
}

.labelworks-button-group {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.labelworks-option-button {
	min-height: 52px;
	position: relative;
	border: 2px solid #d9d9d9;
	border-radius: 4px;
	background: #ffffff;
	color: var(--csc-ink);
	cursor: pointer;
	font: inherit;
	font-weight: 800;
	line-height: 1.2;
	padding: 10px 12px;
	text-align: center;
	transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease, color 140ms ease, opacity 140ms ease;
}

.labelworks-option-button:hover:not(:disabled),
.labelworks-option-button:focus-visible:not(:disabled) {
	border-color: var(--csc-primary);
	box-shadow: none;
	outline: none;
}

.labelworks-option-button.is-selected {
	border-color: var(--csc-primary);
	background: #ffffff;
	color: #111827;
	box-shadow: none;
}

.labelworks-option-button.is-selected::before {
	content: none;
}

.labelworks-option-button:disabled,
.labelworks-option-button.is-disabled {
	background: #f1f1f1;
	color: #9a9a9a;
	cursor: not-allowed;
	opacity: 0.62;
	text-decoration: line-through;
}

.labelworks-configurator__conditional[hidden] {
	display: none;
}

.labelworks-estimate {
	margin-top: 0;
	position: static;
}

.labelworks-estimate .csc-summary-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2px 12px;
	align-items: baseline;
	padding: 6px 0 0;
	background: #ffffff;
	color: #333333;
	box-shadow: none;
}

.labelworks-estimate .csc-summary-label {
	margin: 0;
	color: #4a4a4a;
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: 0;
	text-transform: none;
}

.labelworks-estimate .csc-price-total {
	margin: 0;
	color: var(--csc-primary);
	font-size: 1.18rem;
	text-align: right;
}

.labelworks-estimate .csc-price-each {
	grid-column: 2;
	margin: 0 0 14px;
	color: #555555;
	font-size: 0.9rem;
	font-weight: 700;
	text-align: right;
}

.labelworks-quote-status {
	border-left: 3px solid #c2410c;
	color: #8a2a0b;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	margin: 12px 0 0;
	padding: 0 0 0 10px;
}

.labelworks-quote-status[hidden] {
	display: none;
}

.lw-config-card form.cart {
	margin-bottom: 0;
}

.lw-config-card .labelworks-configurator__grid {
	grid-template-columns: 1fr;
}

.lw-config-card form.cart::before,
.lw-config-card form.cart::after {
	content: "";
	display: table;
}

.lw-config-card form.cart::after {
	clear: both;
}

.lw-config-card form.cart .quantity {
	display: none;
}

.lw-config-card form.cart button.single_add_to_cart_button {
	width: 100%;
	min-height: 60px;
	border: 0;
	border-radius: 0;
	background: var(--csc-primary, #008338);
	color: #ffffff;
	font-family: "Nunito Sans", ui-sans-serif, system-ui, sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	box-shadow: none;
}

.lw-config-card form.cart button.single_add_to_cart_button:disabled {
	background: #8a96a3;
	cursor: not-allowed;
}

.lw-config-card form.cart button.single_add_to_cart_button:hover,
.lw-config-card form.cart button.single_add_to_cart_button:focus {
	background: var(--csc-primary-strong, #006f31);
	box-shadow: none;
	outline: none;
}

@media (min-width: 720px) {
	.labelworks-configurator__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.labelworks-configurator__wide {
		grid-column: 1 / -1;
	}
}

@media (max-width: 560px) {
	.labelworks-button-group {
		grid-template-columns: 1fr;
	}

	.labelworks-estimate .csc-summary-inner {
		grid-template-columns: 1fr;
	}

	.labelworks-estimate .csc-price-total,
	.labelworks-estimate .csc-price-each {
		grid-column: auto;
		text-align: left;
	}
}

.lw-config-card .labelworks-configurator__grid {
	grid-template-columns: 1fr !important;
}
