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

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

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

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

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

/* Keep customer-facing configurator text consistent with the formal HAZO configurators. */
.rrc-progress button {
  font-size: 11px;
}

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

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

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

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

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

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

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

.rrc-options .l3d-choice-list b {
  font-size: 11px;
}

.rrc-options .l3d-swatches button {
  font-size: 11px;
  line-height: 1.35;
  padding: 10px 6px;
}

.rrc-options .l3d-segmented button,
.rrc-options .l3d-step-nav .btn,
.rrc-options .l3d-config-actions .btn {
  font-size: 12px;
}

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

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

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

.rrc-options .l3d-note strong {
  font-size: 12px;
}

.rrc-options .l3d-note p {
  font-size: 12px;
  line-height: 1.55;
}

.rrc-options .rrc-custom-frame,
.rrc-options .rrc-custom-frame small {
  font-size: 11px;
}

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

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

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

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

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

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

.rrc-custom-frame input {
  background: white;
  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%;
}

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

.rrc-custom-frame small strong {
  color: #8a5e1d;
}

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

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

.rrc-actual-band.is-minimum strong {
  color: #26473f;
}

.rrc-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;
}

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

.rrc-minimum-charge-note {
  background: #fff6df;
  border: 1px solid #dfb552;
  border-left: 6px solid #bd8110;
  border-radius: 12px;
  color: #604817;
  margin-top: 10px;
  padding: 12px 14px;
}

.rrc-minimum-charge-note[hidden] {
  display: none;
}

.rrc-minimum-charge-note strong,
.rrc-minimum-charge-note span {
  display: block;
}

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

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

.rrc-series-list button {
  min-height: 58px;
}

.rrc-fabric-swatches {
  grid-template-columns: repeat(3, 1fr);
}

.rrc-fabric-swatches i {
  background-color: #e8e6df;
  background-image: var(--fabric-image);
  background-position: center;
  background-size: cover;
  border-radius: 10px;
  height: 54px;
  width: 54px;
}

.rrc-custom-note,
.rrc-invalid-note {
  border-radius: 12px;
  margin-top: 12px;
  padding: 11px 12px;
}

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

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

.rrc-custom-note strong,
.rrc-custom-note span,
.rrc-invalid-note strong {
  display: block;
}

.rrc-custom-note strong,
.rrc-invalid-note strong {
  font-size: 11px;
}

.rrc-custom-note span {
  font-size: 11px;
  line-height: 1.5;
  margin-top: 3px;
}

.rrc-stage__profile {
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(19,61,52,.12);
  border-radius: 12px;
  bottom: 14px;
  color: #58716a;
  max-width: 300px;
  padding: 9px 12px;
  position: absolute;
  right: 14px;
  text-align: right;
  z-index: 2;
}

.rrc-stage__profile small,
.rrc-stage__profile strong {
  display: block;
}

.rrc-stage__profile small {
  font-size: 8px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.rrc-stage__profile strong {
  color: #183d35;
  font-size: 9px;
  line-height: 1.4;
  margin-top: 2px;
}

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

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

.rrc-temperature-title {
  margin-top: 14px;
}

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

@media (max-width: 1050px) {
  .rrc-progress {
    margin-top: 0;
  }
}

@media (max-width: 700px) {
  .rrc-progress {
    gap: 5px;
  }

  .rrc-progress button {
    min-width: 0;
    padding: 7px 3px;
  }

  .rrc-progress button b {
    font-size: 10px;
  }

  .rrc-stage__profile {
    display: none;
  }

  .rrc-fabric-swatches i {
    height: 44px;
    width: 44px;
  }
}


.rrc-structure-note {
  background: #eef6f2;
  border: 1px solid #b9d1c8;
  border-left: 6px solid #2d6258;
  border-radius: 12px;
  color: #35564e;
  margin-top: 10px;
  padding: 12px 14px;
}

.rrc-structure-note strong,
.rrc-structure-note span,
.rrc-structure-note small {
  display: block;
}

.rrc-structure-note strong {
  color: #173d35;
  font-size: 15px;
}

.rrc-structure-note span {
  font-size: 13px;
  line-height: 1.5;
  margin-top: 4px;
}

.rrc-structure-note small {
  color: #6c511d;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 5px;
}

.rrc-model-accuracy-note {
  border-top: 1px solid #d8e2de;
  margin-top: 10px;
  padding-top: 10px;
}

@media (max-width: 700px) {
  .rrc-progress button b { font-size: 11px; }
  .rrc-options .l3d-option-title p,
  .rrc-options .l3d-choice-list small,
  .rrc-options .l3d-help,
  .rrc-options .l3d-price-note,
  .rrc-options .l3d-save-status { font-size: 13px; }
  .rrc-options .l3d-choice-list strong { font-size: 15px; }
  .rrc-stage__profile {
    bottom: 8px;
    display: block;
    max-width: 72%;
    padding: 6px 8px;
    right: 8px;
  }
  .rrc-stage__profile strong { font-size: 9px; }
  .rrc-structure-note { padding: 11px 12px; }
}
