/* Lamsa Atelier — keeps the theme's own tokens so colour settings still apply. */
.lat-card, .lat-pane {
	background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
	padding: 20px; box-shadow: var(--shadow);
}
.lat-survey { max-width: 760px; margin: 0 auto; }
.lat-field { border: 0; margin: 0 0 18px; padding: 0; }
.lat-field legend { font-family: var(--display); font-weight: 600; margin-bottom: 8px; }
.lat-req { color: var(--sale); }
.lat-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.lat-opt { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.lat-opt input { accent-color: var(--accent); }
.lat-opt > span, .lat-opt-card > span {
	display: inline-flex; flex-direction: column; padding: 8px 14px;
	border: 1px solid var(--line); border-radius: 999px; background: var(--paper);
}
.lat-opt input:checked + span { border-color: var(--accent); background: var(--sand); }
.lat-opt-card > span small { color: var(--muted); }
.lat-opt, .lat-extra { margin-inline-end: 10px; }
.lat-extra { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; cursor: pointer; }
.lat-extra small { color: var(--muted); }
.lat-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lat-survey input[type="text"], .lat-survey input[type="email"], .lat-survey select, .lat-survey textarea,
.lat-pane input[type="text"], .lat-pane select, .lat-pane textarea, .lat-pane input[type="number"],
.lat-submit-box input, .lat-submit-box select, .lat-submit-box textarea {
	width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px;
	background: var(--paper); font: inherit;
}
.lat-survey label, .lat-pane label, .lat-submit-box label { display: block; margin-bottom: 12px; font-weight: 500; }
.lat-ok { color: var(--ok); font-weight: 600; }
.lat-err { color: var(--sale); font-weight: 600; }
.lat-note { font-size: 14px; }

/* Measurements */
.lat-measure-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; margin: 14px 0; }
.lat-measure-grid label { margin: 0; font-size: 14px; }
.lat-measure-grid input {
	width: 100%; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper);
}
.lat-mode { margin-bottom: 12px; }
#lat-size-row { margin: 10px 0; }

/* Resize box on product pages */
.lat-resize { border: 1px dashed var(--line); border-radius: var(--radius); padding: 12px 14px; margin: 14px 0; }

/* Design studio */
.lat-studio { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
.lat-controls h3 { margin: 18px 0 8px; font-size: 17px; }
.lat-controls h3:first-child { margin-top: 0; }
.lat-3d {
	min-height: 320px; border-radius: var(--radius); overflow: hidden; background: var(--sand);
	display: grid; place-items: center;
}
.lat-3d canvas { display: block; width: 100% !important; height: auto !important; }
.lat-3d-fb { color: var(--muted); padding: 24px; text-align: center; }
.lat-pricebar {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	margin: 14px 0; padding: 14px 18px; background: var(--ink); color: #fff; border-radius: var(--radius);
}
.lat-pricebar strong { font-family: var(--display); font-size: 26px; }
.lat-upload input { padding: 8px 0; }
.lat-emb { margin-top: -6px; margin-bottom: 12px; }

/* Marketplace */
.lat-filters {
	display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
	margin-bottom: 20px; padding: 12px; background: var(--sand); border-radius: var(--radius);
}
.lat-filters select, .lat-filters input { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; background: #fff; }
.lat-grid { list-style: none; margin: 0; padding: 0; }
.lat-designer { display: block; color: var(--muted); font-size: 13px; margin: 2px 0; }
.lat-submit-box { margin-top: 26px; }
.lat-meta { border-top: 1px solid var(--line); margin-top: 12px; padding-top: 10px; }

@media (max-width: 860px) {
	.lat-studio { grid-template-columns: 1fr; }
	.lat-preview { order: -1; }
	.lat-grid2 { grid-template-columns: 1fr; }
}

/* Order tracking */
.lat-track-wrap .lat-card { margin-bottom: 14px; }
.lat-track-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.lat-steps { list-style: none; margin: 0 0 8px; padding: 0; display: flex; gap: 6px; counter-reset: latstep; }
.lat-steps li { flex: 1; text-align: center; font-size: 13px; color: var(--muted); position: relative; padding-top: 32px; }
.lat-steps li::before {
	counter-increment: latstep; content: counter(latstep);
	position: absolute; top: 0; left: 50%; transform: translateX(-50%);
	width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center;
	background: var(--sand); border: 1px solid var(--line); font-weight: 600; z-index: 1;
}
.lat-steps li::after {
	content: ""; position: absolute; top: 13px; inset-inline-start: -50%; width: 100%; height: 2px; background: var(--line);
}
.lat-steps li:first-child::after { display: none; }
.lat-steps li.done { color: var(--ink); }
.lat-steps li.now { color: var(--accent); font-weight: 600; }
.lat-steps li.done::before, .lat-steps li.now::before { background: var(--accent); border-color: var(--accent); color: #fff; }
.lat-steps li.done::after, .lat-steps li.now::after { background: var(--accent); }
.lat-eta { font-weight: 600; margin: 10px 0 0; }
.lat-carrier { margin: 8px 0 0; font-size: 14px; }
.lat-track-form { margin-top: 6px; }
.lat-track-form label { display: block; margin-bottom: 12px; font-weight: 500; }
.lat-track-form input {
	width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px;
	background: var(--paper); font: inherit;
}