/* ============================================================
   3D Print Lite - Modern Premium Quoter Styles
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* --- CSS Variables (Design Tokens) --- */
:root {
	--p3d-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--p3d-bg: #f8f9fb;
	--p3d-card-bg: #ffffff;
	--p3d-border: #e2e6ee;
	--p3d-border-focus: #6c5ce7;
	--p3d-primary: #6c5ce7;
	--p3d-primary-light: #a29bfe;
	--p3d-primary-dark: #5a4bd1;
	--p3d-accent: #00cec9;
	--p3d-text: #2d3436;
	--p3d-text-muted: #636e72;
	--p3d-success: #00b894;
	--p3d-error: #d63031;
	--p3d-warning: #fdcb6e;
	--p3d-shadow-sm: 0 2px 8px rgba(108,92,231,0.08);
	--p3d-shadow-md: 0 4px 20px rgba(108,92,231,0.12);
	--p3d-shadow-lg: 0 8px 40px rgba(108,92,231,0.15);
	--p3d-radius: 16px;
	--p3d-radius-sm: 10px;
	--p3d-radius-xs: 6px;
	--p3d-transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}

/* --- Container --- */
.p3dlite-container {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	width: 100%;
	font-family: var(--p3d-font);
	color: var(--p3d-text);
	line-height: 1.6;
	background: transparent;
	padding: 0;
	box-sizing: border-box;
}

/* --- Images / Viewer Panel --- */
div.p3dlite-images {
	float: none;
	flex: 1 1 48%;
	min-width: 420px;
	background: transparent;
	box-sizing: border-box;
}

/* --- Details Panel --- */
div.p3dlite-details {
	float: none;
	flex: 1 1 48%;
	min-width: 420px;
	background: transparent;
	box-sizing: border-box;
}

/* --- Canvas --- */
#p3dlite-cv {
	width: 100% !important;
	height: auto !important;
	display: block;
	border: none;
	border-radius: var(--p3d-radius-sm);
	background: linear-gradient(135deg, #dfe6e9 0%, #f1f2f6 100%);
}

.p3dlite-canvas-wrapper {
	position: relative;
	width: 100%;
	height: auto;
	display: flex;
	border-radius: var(--p3d-radius-sm);
	overflow: hidden;
}

/* --- Viewer --- */
#p3dlite-viewer {
	float: none;
	width: 100%;
	position: relative;
}

/* --- Upload Area --- */
#p3dlite-model-message {
	position: absolute;
	width: 100%;
	float: none;
	left: 0;
	bottom: 0;
	background: rgba(255,255,255,0.92);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	opacity: 1;
	filter: none;
	-ms-filter: none;
	-moz-opacity: 1;
	-khtml-opacity: 1;
	border-radius: 0 0 var(--p3d-radius-sm) var(--p3d-radius-sm);
	padding: 12px 0;
	transition: var(--p3d-transition);
}

.p3dlite-model-message {
	margin-left: 16px;
	display: none;
	font-size: 14px;
	color: var(--p3d-text-muted);
}

#p3dlite-model-message #p3dlite-model-message-upload {
	display: flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
	margin-bottom: 0;
	padding: 8px 16px;
	font-weight: 500;
	color: var(--p3d-primary);
	transition: var(--p3d-transition);
}

#p3dlite-model-message #p3dlite-model-message-upload:hover {
	color: var(--p3d-primary-dark);
}

#p3dlite-model-message #p3dlite-model-message-upload-icon {
	width: 36px;
	height: 36px;
	float: none;
	margin-right: 0;
	opacity: 0.7;
}

/* --- Upload Button --- */
#p3dlite-pickfiles {
	width: 100%;
	white-space: nowrap;
	text-align: center;
	margin: 0 0 12px;
	padding: 14px 24px;
	border: 2px dashed var(--p3d-border);
	border-radius: var(--p3d-radius-sm);
	background: var(--p3d-bg);
	color: var(--p3d-primary);
	font-family: var(--p3d-font);
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
	transition: var(--p3d-transition);
}

#p3dlite-pickfiles:hover {
	border-color: var(--p3d-primary);
	background: rgba(108,92,231,0.04);
	box-shadow: var(--p3d-shadow-sm);
	transform: translateY(-1px);
}

/* --- Loading --- */
#p3dlite-file-loading {
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(255,255,255,0.7);
	backdrop-filter: blur(4px);
	border-radius: var(--p3d-radius-sm);
	z-index: 10;
}

#p3dlite-file-loading img {
	width: 48px !important;
	height: auto;
	animation: p3d-pulse 1.5s ease-in-out infinite;
}

@keyframes p3d-pulse {
	0%, 100% { transform: scale(1); opacity: 1; }
	50% { transform: scale(1.1); opacity: 0.7; }
}

/* --- Info blocks --- */
div.p3dlite-info {
	float: none;
	margin-bottom: 8px;
	width: 100%;
	white-space: normal;
}

/* --- Fieldsets (Material, Infill, Coating, Printer) --- */
fieldset.p3dlite-fieldset {
	border: 1px solid var(--p3d-border);
	border-radius: var(--p3d-radius-sm);
	padding: 16px;
	margin-bottom: 12px;
	background: var(--p3d-card-bg);
	transition: var(--p3d-transition);
}

fieldset.p3dlite-fieldset:hover {
	border-color: var(--p3d-primary-light);
	box-shadow: var(--p3d-shadow-sm);
}

fieldset.p3dlite-fieldset legend {
	padding: 4px 14px;
	border: 1px solid var(--p3d-border);
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--p3d-primary);
	background: var(--p3d-card-bg);
	text-align: left;
	width: auto;
}

/* --- Step Labels --- */
.p3dlite-step-label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	font-weight: 600;
	font-size: 15px;
	color: var(--p3d-text);
}

.p3dlite-step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--p3d-primary), var(--p3d-primary-light));
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	flex-shrink: 0;
	box-shadow: 0 2px 8px rgba(108,92,231,0.25);
}

/* --- Selectable Lists (Materials, Infills, etc.) --- */
ul.p3dlite-list {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

ul.p3dlite-list li {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border: 2px solid var(--p3d-border);
	border-radius: var(--p3d-radius-xs);
	background: var(--p3d-card-bg);
	font-size: 14px;
	font-weight: 500;
	transition: var(--p3d-transition);
	user-select: none;
}

ul.p3dlite-list li:hover {
	border-color: var(--p3d-primary-light);
	background: rgba(108,92,231,0.04);
	transform: translateY(-1px);
	box-shadow: var(--p3d-shadow-sm);
}

ul.p3dlite-list li:has(input:checked) {
	border-color: var(--p3d-primary);
	background: rgba(108,92,231,0.08);
	box-shadow: 0 0 0 3px rgba(108,92,231,0.15);
}

/* --- Color Sample --- */
div.color-sample {
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 4px;
	border-radius: 50%;
	border: 2px solid rgba(0,0,0,0.1);
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.15);
}

/* --- Color List (Swatches) --- */
ul.p3dlite-colors {
	float: none;
	list-style: none;
	width: 100%;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

ul.p3dlite-colors li {
	float: none;
	height: auto;
	padding: 6px;
	list-style: outside none none;
	cursor: pointer;
	border-radius: 50%;
	transition: var(--p3d-transition);
}

ul.p3dlite-colors li div {
	background-size: 22px auto;
	border: 2px solid rgba(0,0,0,0.12);
	border-radius: 50%;
	width: 32px;
	height: 32px;
}

ul.p3dlite-colors li.p3dlite-active div {
	border: 3px solid var(--p3d-primary);
	box-shadow: 0 0 0 3px rgba(108,92,231,0.25);
}

ul.p3dlite-colors li:hover div {
	transform: scale(1.15);
	box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.p3dlite-color-item.p3dlite-active {
	outline: none;
}

.p3dlite-inactive-color-item {
	display: none !important;
}

/* --- Price Section --- */
#price-wrapper {
	margin: 0 0 16px;
}

/* --- Material Type/Color Selector --- */
.p3dlite-material-type-item.p3dlite-selected-type {
	border-color: var(--p3d-primary) !important;
	background: rgba(108,92,231,0.08) !important;
	box-shadow: 0 0 0 3px rgba(108,92,231,0.15) !important;
}

.p3dlite-material-type-item.p3dlite-selected-type input[type=radio] {
	accent-color: var(--p3d-primary);
}

#material_color_fieldset {
	margin-top: 12px;
	border-color: var(--p3d-primary-light);
	animation: p3d-fadeIn 0.3s ease;
}

#material_color_fieldset legend {
	color: var(--p3d-primary);
}

#p3dlite-material-color-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.p3dlite-material-color-option {
	cursor: pointer;
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	padding: 8px 14px !important;
	border: 2px solid var(--p3d-border) !important;
	border-radius: var(--p3d-radius-xs) !important;
	background: var(--p3d-card-bg);
	transition: var(--p3d-transition);
	font-size: 13px;
	font-weight: 500;
}

.p3dlite-material-color-option:hover {
	border-color: var(--p3d-primary-light) !important;
	background: rgba(108,92,231,0.04);
	transform: translateY(-1px);
	box-shadow: var(--p3d-shadow-sm);
}

.p3dlite-material-color-option.p3dlite-active {
	border-color: var(--p3d-primary) !important;
	background: rgba(108,92,231,0.08);
	box-shadow: 0 0 0 3px rgba(108,92,231,0.15);
}

.p3dlite-material-color-option .color-sample {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 2px solid rgba(0,0,0,0.1);
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.15);
	flex-shrink: 0;
}

.p3dlite-color-label {
	white-space: nowrap;
}

#p3dlite-material-hidden-radios {
	display: none !important;
}

#price-container {
	background: linear-gradient(135deg, rgba(108,92,231,0.06) 0%, rgba(162,155,254,0.06) 100%);
	border-radius: var(--p3d-radius-sm);
	padding: 20px;
	text-align: center;
	border: 1px solid rgba(108,92,231,0.15);
	transition: var(--p3d-transition);
}

#price-container p.price {
	margin: 0;
	font-size: 14px;
	color: var(--p3d-text-muted);
	font-weight: 500;
}

#price-container p.price span.amount {
	display: block;
	font-size: 32px;
	font-weight: 800;
	color: var(--p3d-primary);
	margin-top: 6px;
	letter-spacing: -0.5px;
	transition: var(--p3d-transition);
}

/* --- Prompt message when user needs to select --- */
#p3dlite-select-prompt {
	text-align: center;
	padding: 16px 20px;
	background: linear-gradient(135deg, #fff9e6, #fffdf5);
	border: 1px solid #ffeaa7;
	border-radius: var(--p3d-radius-sm);
	color: #6c5ce7;
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 14px;
	display: none;
	animation: p3d-fadeIn 0.4s ease;
}

@keyframes p3d-fadeIn {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: translateY(0); }
}

/* --- Print Time --- */
#p3dlite-print-time-wrapper {
	background: rgba(0,206,201,0.08);
	border-radius: var(--p3d-radius-xs);
	padding: 10px 14px;
	font-size: 13px;
	color: var(--p3d-text);
}

/* --- Stats Table --- */
table.p3dlite-stats {
	border-collapse: separate;
	border-spacing: 0;
	border-width: 0;
	table-layout: fixed;
	display: none;
	width: 100%;
	margin-top: 12px;
	border-radius: var(--p3d-radius-xs);
	overflow: hidden;
	background: var(--p3d-card-bg);
	border: 1px solid var(--p3d-border);
}

table.p3dlite-stats td {
	border: none !important;
	border-bottom: 1px solid var(--p3d-border) !important;
	padding: 8px 12px;
	font-size: 13px;
	color: var(--p3d-text-muted);
}

table.p3dlite-stats tr:last-child td {
	border-bottom: none !important;
}

table.p3dlite-stats td:first-child {
	font-weight: 600;
	color: var(--p3d-text);
	width: 55%;
}

/* --- Console / Errors --- */
#p3dlite-console {
	display: none;
	width: 100%;
	background: #fff3f3;
	border: 1px solid var(--p3d-error);
	border-radius: var(--p3d-radius-xs);
	padding: 10px 14px;
	font-size: 13px;
	color: var(--p3d-error);
}

/* --- Mail Status --- */
span.p3dlite-mail-success {
	color: var(--p3d-success);
	font-weight: 600;
}

span.p3dlite-mail-error {
	color: var(--p3d-error);
	font-weight: 600;
}

/* --- Add to Cart / Quote Section --- */
#add-cart-wrapper {
	margin-top: 20px;
}

#add-cart-container {
	width: 100%;
}

.variations_button.p3dlite-info {
	float: none;
}

.p3dlite-cart-container {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

/* Quantity Field */
.p3dlite-cart-container input.qty-field,
.price-request-field[type="number"] {
	width: 70px;
	height: 44px;
	border: 2px solid var(--p3d-border);
	text-align: center;
	border-radius: var(--p3d-radius-xs);
	font-size: 16px;
	font-family: var(--p3d-font);
	font-weight: 600;
	transition: var(--p3d-transition);
}

.p3dlite-cart-container input.qty-field:focus,
.price-request-field:focus {
	border-color: var(--p3d-primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(108,92,231,0.15);
}

/* Primary Action Button */
#p3dlite-add-to-cart,
.p3dlite_form button[type="submit"] {
	border-radius: var(--p3d-radius-sm) !important;
	padding: 16px 36px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	background: linear-gradient(135deg, var(--p3d-primary), var(--p3d-primary-dark)) !important;
	color: #fff !important;
	border: none !important;
	cursor: pointer !important;
	display: block !important;
	width: 100% !important;
	max-width: 400px !important;
	font-size: 15px !important;
	font-family: var(--p3d-font) !important;
	transition: var(--p3d-transition) !important;
	box-shadow: 0 4px 16px rgba(108,92,231,0.3) !important;
}

#p3dlite-add-to-cart:hover,
.p3dlite_form button[type="submit"]:hover {
	background: linear-gradient(135deg, var(--p3d-primary-dark), var(--p3d-primary)) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 24px rgba(108,92,231,0.4) !important;
	color: #fff !important;
}

/* --- Quote Request Fields --- */
.price-request-field {
	border: 2px solid var(--p3d-border) !important;
	padding: 12px 14px !important;
	border-radius: var(--p3d-radius-xs) !important;
	font-family: var(--p3d-font) !important;
	font-size: 14px !important;
	transition: var(--p3d-transition) !important;
}

.price-request-field:focus {
	border-color: var(--p3d-primary) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(108,92,231,0.15) !important;
}

/* --- Scale Controls --- */
#p3dlite-scale-text {
	float: left;
	width: 20%;
	font-size: 13px;
	font-weight: 600;
	color: var(--p3d-text);
}

#p3dlite-scale-slider {
	float: left;
	width: 50%;
	margin-top: 5px;
}

#p3dlite-scale-input {
	float: left;
	width: 30%;
	white-space: nowrap;
	display: flex;
	align-items: center;
}

#p3dlite-slider-range-value {
	width: 3em;
	height: 30px;
	padding: 0;
	margin-left: 10px;
	border: 1px solid var(--p3d-border);
	border-radius: var(--p3d-radius-xs);
	text-align: center;
	font-family: var(--p3d-font);
	font-weight: 600;
}

#scale_x, #scale_y, #scale_z {
	width: 3em;
	height: 30px;
	padding: 0;
	margin: 0 3px;
	border: 1px solid var(--p3d-border);
	border-radius: var(--p3d-radius-xs);
	text-align: center;
	font-family: var(--p3d-font);
}

#p3dlite-scale-dimensions {
	display: flex;
	align-items: center;
}

/* --- Dropdown Styles (applePie/StellarNav) --- */
.p3dlite-dropdown-li {
	border: 1px solid var(--p3d-border) !important;
	background-color: var(--p3d-card-bg);
	white-space: nowrap;
	border-radius: var(--p3d-radius-xs);
}

.p3dlite-dropdown-li a {
	font-size: 14px;
	font-weight: 600;
	color: var(--p3d-text) !important;
}

.p3dlite-inactive-dropdown-item {
	text-decoration: line-through !important;
	opacity: 0.4;
}

a.p3dlite-dropdown-item {
	padding: 8px 14px;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	transition: var(--p3d-transition);
}

a.p3dlite-dropdown-item:hover {
	background: rgba(108,92,231,0.04);
}

/* --- Container / General --- */
#p3dlite-container {
	float: none;
	width: 100%;
}

#p3dlite-filelist {
	float: none;
	width: 100%;
	font-size: 13px;
	color: var(--p3d-text-muted);
	margin-top: 4px;
}

#p3dlite-stl-info {
	float: none;
	width: 100%;
}

#p3dlite-weight {
	float: none;
	width: 100%;
}

#p3dlite-price {
	float: none;
	width: 100%;
}

/* --- Radio Buttons (hidden nicely) --- */
.p3dlite-control {
	display: inline;
	height: auto;
	margin-right: 5px;
	vertical-align: middle;
	width: auto !important;
	accent-color: var(--p3d-primary);
}

.p3dlite-control[type=radio] {
	border: none !important;
	font-size: initial !important;
	position: relative !important;
}

input.p3dlite-control[type=radio]:after {
	content: none !important;
}

@supports (-webkit-appearance: none) or (-moz-appearance: none) {
	input.p3dlite-control[type=radio] {
		-webkit-appearance: auto;
		-moz-appearance: auto;
		appearance: auto;
	}
}

/* --- Tooltips --- */
.tooltip_templates {
	display: none;
}

.p3dlite-tooltip-info .p3dlite-tooltip-image {
	display: block;
	position: relative;
}

.p3dlite-tooltip-info .p3dlite-tooltip-image-full {
	max-width: 100%;
}

.p3dlite-tooltip-description {
	white-space: pre;
	font-size: 13px;
}

/* --- Canvas Stats --- */
#canvas-stats {
	position: absolute;
}

.canvas-stats {
	margin: 5px;
	width: auto;
	left: 10px;
	top: 10px;
	font: 12px 'Inter', Courier New, monospace;
	color: var(--p3d-error);
	background: transparent;
	white-space: nowrap;
}

/* --- Quote Loading --- */
#p3dlite-quote-loading {
	display: flex;
	justify-content: center;
	padding: 12px;
}

#p3dlite-quote-loading img {
	width: 32px !important;
	height: auto;
	animation: p3d-pulse 1.5s ease-in-out infinite;
}

/* --- Error Message --- */
#p3dlite-error-message {
	color: var(--p3d-error);
	font-weight: 600;
	font-size: 13px;
}

/* --- Tab description fix --- */
#tab-description h2 {
	display: none;
}

/* --- Inactive group --- */
.p3d-inactive-group {
	display: none !important;
}

/* --- Responsive --- */
@media screen and (max-width: 768px) {
	.p3dlite-container {
		padding: 16px;
		gap: 16px;
	}

	div.p3dlite-images,
	div.p3dlite-details {
		float: none;
		flex: 1 1 100%;
		min-width: 0;
		margin-right: 0;
		width: 100%;
		border: 0;
		border-bottom: none;
	}

	.p3dlite-canvas-wrapper {
		min-height: auto;
	}

	ul.p3dlite-list li {
		padding: 8px 12px;
		font-size: 13px;
	}

	#price-container p.price span.amount {
		font-size: 26px;
	}

	#p3dlite-scale-text {
		width: 100%;
		margin-bottom: 6px;
	}
	#p3dlite-scale-slider {
		width: 60%;
	}
	#p3dlite-scale-input {
		width: 40%;
	}
}

@media screen and (max-width: 480px) {
	.p3dlite-container {
		padding: 12px;
	}

	div.p3dlite-images,
	div.p3dlite-details {
		padding: 14px;
	}

	ul.p3dlite-list {
		gap: 6px;
	}

	ul.p3dlite-list li {
		padding: 6px 10px;
		font-size: 12px;
	}
}

/* ============================================================
   ASTRA THEME COMPATIBILITY
   ============================================================ */
.p3dlite-container,
.p3dlite-container * { box-sizing: border-box; }

.p3dlite-container input[type="text"],
.p3dlite-container input[type="number"],
.p3dlite-container select {
	height: auto !important;
	line-height: normal !important;
	border-radius: var(--p3d-radius-xs) !important;
	border: 1.5px solid var(--p3d-border) !important;
	padding: 10px 12px !important;
	font-family: var(--p3d-font) !important;
	font-size: 14px !important;
	color: var(--p3d-text) !important;
	background: #fff !important;
	box-shadow: none !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
}
.p3dlite-container input:focus,
.p3dlite-container select:focus {
	border-color: var(--p3d-primary) !important;
	box-shadow: 0 0 0 3px rgba(108,92,231,0.15) !important;
	outline: none !important;
}
.p3dlite-container p { margin-bottom: 6px !important; }
#p3dlite-viewer { overflow: hidden !important; }

/* Hide steps the user doesn't need to see */
#p3dlite-step-printer,
#p3dlite-step-coating { display: none !important; }

/* Hide FPS stats counter */
#canvas-stats { display: none !important; }

/* ============================================================
   CUSTOM COLOUR PICKER
   ============================================================ */
#p3d-custom-color-section {
	margin-top: 16px;
	padding: 16px;
	border: 1px solid var(--p3d-border);
	border-radius: var(--p3d-radius-sm);
	background: var(--p3d-card-bg);
	animation: p3d-fadeIn 0.3s ease;
}
.p3d-color-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}
.p3d-color-swatch {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 14px;
	border: 2px solid var(--p3d-border);
	border-radius: 999px;
	background: var(--p3d-card-bg);
	cursor: pointer;
	transition: var(--p3d-transition);
	font-size: 13px;
	font-weight: 500;
	color: var(--p3d-text);
	user-select: none;
}
.p3d-color-swatch:hover {
	border-color: var(--p3d-primary-light);
	transform: translateY(-1px);
	box-shadow: var(--p3d-shadow-sm);
}
.p3d-color-swatch.p3d-swatch-active {
	border-color: var(--p3d-primary);
	background: rgba(108,92,231,0.08);
	box-shadow: 0 0 0 3px rgba(108,92,231,0.15);
}
.p3d-swatch-dot {
	display: inline-block;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 1.5px solid rgba(0,0,0,0.12);
	flex-shrink: 0;
}
.p3d-swatch-name { white-space: nowrap; }
.p3d-color-hint {
	font-size: 12px;
	color: var(--p3d-text-muted);
	margin-top: 10px !important;
}

/* ============================================================
   PRINT TIME BLOCK
   ============================================================ */
.p3d-print-time-block {
	display: flex !important;
	align-items: center;
	gap: 8px;
	background: rgba(0,206,201,0.08);
	border: 1px solid rgba(0,206,201,0.25);
	border-radius: var(--p3d-radius-xs);
	padding: 10px 14px;
	font-size: 13px;
	color: var(--p3d-text);
	margin-top: 10px;
}
.p3d-clock-icon { font-size: 16px; }

/* Performance: hide heavy extras on mobile */
@media (max-width: 480px) {
	#canvas-stats, #p3dlite-statistics { display: none !important; }
}

/* Custom Selection Highlights */
ul.p3dlite-list li.p3dlite-selected-li,
ul.p3dlite-list li:has(input:checked) {
	border-color: var(--p3d-primary) !important;
	background-color: rgba(108, 92, 231, 0.04) !important;
}

ul.p3dlite-list li.p3dlite-selected-li .color-sample {
	border: 2px solid var(--p3d-primary) !important;
}

/* Material Type Selector Active Highlight */
li.p3dlite-material-type-item.p3dlite-selected-type {
	border-color: var(--p3d-primary) !important;
	background-color: rgba(108, 92, 231, 0.04) !important;
}

