.lpc-progress {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0 0 18px;
}

.lpc-options {
  min-width: 0;
  overflow: hidden;
}

.lpc-options .l3d-options__heading {
  border-bottom: 1px solid #d8e2de;
  margin: 0;
}

.lpc-options .l3d-option-group,
.lpc-options .l3d-price-panel {
  margin: 0;
}

.lpc-options .l3d-input-grid input {
  width: 100%;
}

.lpc-progress button {
  font-size: 11px;
}

.lpc-options .l3d-options__heading h2 {
  font-size: 26px;
}

.lpc-options .l3d-options__heading [data-step-price] {
  font-size: 18px;
}

.lpc-options .l3d-option-title h3 {
  font-size: 17px;
}

.lpc-options .l3d-option-title p {
  font-size: 12px;
  line-height: 1.4;
  max-width: 58%;
}

.lpc-options .l3d-choice-list button {
  padding: 13px 14px;
}

.lpc-options .l3d-choice-list strong {
  font-size: 14px;
}

.lpc-options .l3d-choice-list small {
  font-size: 11px;
  line-height: 1.45;
  margin-top: 4px;
}

.lpc-options .l3d-choice-list b,
.lpc-options .l3d-swatches button,
.lpc-options .l3d-step-nav .btn,
.lpc-options .l3d-config-actions .btn {
  font-size: 11px;
}

.lpc-options .l3d-input-grid label > span,
.lpc-options .l3d-input-grid output,
.lpc-options .l3d-charge-band span {
  font-size: 11px;
}

.lpc-options .l3d-help,
.lpc-options .l3d-price-note,
.lpc-options .l3d-save-status,
.lpc-operation-note {
  font-size: 12px;
  line-height: 1.55;
}

.lpc-options .l3d-price-total span,
.lpc-options .l3d-price-panel li {
  font-size: 12px;
  line-height: 1.4;
}

.lpc-options .l3d-note strong,
.lpc-options .l3d-note p {
  font-size: 12px;
}

.lpc-frame-swatches {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lpc-whole-colour {
  grid-template-columns: minmax(0, 1fr);
}

.lpc-charge-band {
  margin-top: 8px;
}

.lpc-actual-band.is-minimum {
  background: #eef3f1;
  border: 1px solid #c7d6d1;
  color: #405b54;
}

.lpc-billable-band.is-minimum {
  background: #f4c65b;
  border: 2px solid #bd8110;
  box-shadow: 0 0 0 3px rgba(189,129,16,.16);
  color: #173d35;
  padding: 11px 12px;
}

.lpc-billable-band.is-minimum strong {
  color: #173d35;
  font-size: 15px;
}

.lpc-minimum-charge-note,
.lpc-custom-note,
.lpc-invalid-note,
.lpc-operation-note {
  border-radius: 12px;
  margin-top: 10px;
  padding: 12px 14px;
}

.lpc-minimum-charge-note {
  background: #fff6df;
  border: 1px solid #dfb552;
  border-left: 6px solid #bd8110;
  color: #604817;
}

.lpc-minimum-charge-note[hidden],
.lpc-custom-note[hidden],
.lpc-invalid-note[hidden] {
  display: none;
}

.lpc-minimum-charge-note strong,
.lpc-minimum-charge-note span,
.lpc-custom-note strong,
.lpc-custom-note span,
.lpc-invalid-note strong {
  display: block;
}

.lpc-minimum-charge-note strong {
  color: #5b3e08;
  font-size: 14px;
}

.lpc-minimum-charge-note span,
.lpc-custom-note span {
  font-size: 12px;
  line-height: 1.5;
  margin-top: 4px;
}

.lpc-custom-note {
  background: #fff6df;
  border: 1px solid #e7cc8c;
  color: #6f521c;
}

.lpc-invalid-note {
  background: #fff0ed;
  border: 1px solid #e0aaa1;
  color: #7d3027;
}

.lpc-structure-card {
  background: linear-gradient(145deg, #17483f, #286157);
  border-radius: 14px;
  color: #dce9e4;
  margin-top: 12px;
  padding: 14px 15px;
}

.lpc-structure-card small,
.lpc-structure-card strong,
.lpc-structure-card span {
  display: block;
}

.lpc-structure-card small {
  color: #f4c65b;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.lpc-structure-card strong {
  color: #fff;
  font-size: 15px;
  margin-top: 4px;
}

.lpc-structure-card span {
  font-size: 11px;
  line-height: 1.5;
  margin-top: 5px;
}

.lpc-drive-result {
  margin: 0 0 12px;
}

.lpc-series-list button.is-custom b {
  color: #8b6420;
}

.lpc-options .l3d-choice-list button:disabled {
  background: #eef2f0;
  border-color: #d8e1dd;
  box-shadow: none;
  color: #8d9a96;
  cursor: not-allowed;
  opacity: .7;
}

.lpc-operation-note {
  background: #f3f7f5;
  border: 1px solid #d4dfdb;
  color: #526a63;
}

.lpc-secondary-title {
  border-top: 1px solid #d8e2de;
  margin-top: 18px;
  padding-top: 17px;
}

.lpc-custom-frame {
  background: #f6f9f7;
  border: 1px solid #d4dfdb;
  border-radius: 12px;
  color: #536762;
  display: block;
  font-size: 11px;
  font-weight: 700;
  margin-top: 10px;
  padding: 10px;
}

.lpc-custom-frame[hidden] {
  display: none;
}

.lpc-custom-frame > span,
.lpc-custom-frame small {
  display: block;
}

.lpc-custom-frame input {
  background: #fff;
  border: 1px solid #c9d7d2;
  border-radius: 8px;
  color: #183d35;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  margin: 7px 0;
  padding: 8px 9px;
  text-transform: uppercase;
  width: 100%;
}

.lpc-custom-frame small {
  color: #71817c;
  font-weight: 400;
  line-height: 1.45;
}

.lpc-continue-button {
  border-color: #b1842d;
  color: #6c511d;
}

.lpc-shell .lp3d-stage {
  height: 620px;
}

.lpc-shell .l3d-model__price small,
.lpc-shell .l3d-model__price span,
.lpc-shell .l3d-live small {
  font-size: 10px;
}

.lpc-shell .l3d-live strong {
  font-size: 12px;
}

.lpc-shell.is-night .lp3d-stage__profile {
  background: rgba(14,28,30,.78);
  border-color: rgba(255,255,255,.12);
  color: #c7d7d2;
}

.lpc-shell.is-night .lp3d-stage__profile strong {
  color: #fff3cf;
}

@media (max-width: 1050px) {
  .lpc-progress { margin-top: 0; }
  .lpc-shell .lp3d-stage { height: 560px; }
}

@media (max-width: 700px) {
  .lpc-progress { gap: 5px; }
  .lpc-progress button { min-width: 0; padding: 7px 3px; }
  .lpc-progress button b { font-size: 10px; }
  .lpc-shell .lp3d-stage { height: 430px; }
  .lpc-frame-swatches { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lpc-frame-swatches button { align-items: center; flex-direction: column; gap: 5px; text-align: center; }
  .lpc-frame-swatches i { flex-basis: 24px; height: 24px; width: 24px; }
}
