/* LRI Service Configurator wizard.
   Kit globals (verified live on staging, elementor_active_kit custom_colors):
     steel-200 (#E3E7EC) -> general dividers/borders
     steel-300 (#C5CBD3) -> stronger-contrast borders (search dropdown)
     paper (#F4F6F9)     -> light surface fills
   System globals (always present): primary (#0E2233), secondary (#07131F),
     text (#27313C), accent (#F5B820). Custom "danger" (#D94848) used for errors. */

.lri-configurator { max-width: 720px; }
.lri-configurator noscript p {
  margin: 0; padding: 1rem; border: 1px solid var(--e-global-color-danger, #b32d2e);
  border-radius: 6px; color: var(--e-global-color-danger, #b32d2e);
}

/* Cart-block "Modify this build" link (assets/js/cart-modify-links.js) */
.lri-modify-build {
  display: block;
  margin-top: .35rem;
  font-size: .85rem;
  color: var(--e-global-color-accent, #F5B820);
  text-decoration: underline;
}
.lri-modify-build:hover { color: var(--e-global-color-primary, #0E2233); }

.lri-wiz {
  border: 1px solid var(--e-global-color-steel-200, #ddd);
  border-radius: 8px;
  padding: 1rem;
  font-family: var(--e-global-typography-text-font-family, inherit);
  color: var(--e-global-color-text, #27313C);
}

/* ---- progress ---- */
.lri-wiz__progress-holder { margin-bottom: 1rem; }
.lri-wiz__progress { display: none; list-style: none; margin: 0; padding: 0; }
.lri-wiz__progress li {
  padding: .4rem .8rem;
  border-bottom: 3px solid transparent;
  color: var(--e-global-color-text, #27313C);
  font-size: .9rem;
}
.lri-wiz__progress li.is-current { border-color: var(--e-global-color-accent, #F5B820); font-weight: 600; }
.lri-wiz__progress li.is-done { cursor: pointer; opacity: .7; }
.lri-wiz__progress li.is-done:hover { opacity: 1; text-decoration: underline; }
.lri-wiz__progress-compact { font-size: .85rem; opacity: .8; margin-bottom: .75rem; }
@media (min-width: 768px) {
  .lri-wiz__progress { display: flex; gap: .25rem; flex-wrap: wrap; }
  .lri-wiz__progress-compact { display: none; }
}

/* ---- body / intro-outro ---- */
.lri-wiz__body { display: block; }
.lri-wiz__intro, .lri-wiz__outro { margin: 0 0 1rem; opacity: .85; }

/* ---- groups ---- */
.lri-wiz__group {
  border: 0;
  border-top: 1px solid var(--e-global-color-steel-200, #eee);
  padding: 1rem 0;
  margin: 0;
}
.lri-wiz__group:first-child { border-top: 0; padding-top: 0; }
.lri-wiz__group-label {
  font-weight: 600;
  font-family: var(--e-global-typography-primary-font-family, inherit);
  padding: 0;
}
.lri-req { color: var(--e-global-color-accent, #F5B820); }
.lri-wiz__help { margin: .25rem 0 .75rem; font-size: .9rem; opacity: .75; }

/* ---- text / textarea ---- */
.lri-wiz__text {
  width: 100%;
  padding: .55rem .7rem;
  border: 1px solid var(--e-global-color-steel-200, #ccc);
  border-radius: 6px;
  font: inherit;
  color: inherit;
  background: #fff;
}
textarea.lri-wiz__text { min-height: 5rem; resize: vertical; }
.lri-wiz__text:focus { outline: 2px solid var(--e-global-color-accent, #F5B820); outline-offset: 1px; }

/* ---- choice rows (radio / checkbox) ---- */
.lri-wiz__choice {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .5rem .25rem;
  cursor: pointer;
  border-radius: 4px;
}
.lri-wiz__choice:hover { background: var(--e-global-color-paper, #f7f7f7); }
.lri-wiz__choice input { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; accent-color: var(--e-global-color-accent, #F5B820); }
.lri-wiz__choice-label { flex: 1 1 auto; }
.lri-wiz__choice-price {
  margin-left: auto;
  font-variant-numeric: tabular-nums;
  opacity: .85;
  white-space: nowrap;
}

/* ---- searchable select ---- */
.lri-wiz__search { position: relative; }
.lri-wiz__search-input {
  width: 100%;
  padding: .55rem .7rem;
  border: 1px solid var(--e-global-color-steel-200, #ccc);
  border-radius: 6px;
  font: inherit;
}
.lri-wiz__search-input:focus { outline: 2px solid var(--e-global-color-accent, #F5B820); outline-offset: 1px; }
.lri-wiz__search-list {
  position: absolute;
  z-index: 30;
  inset-inline: 0;
  max-height: 320px;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--e-global-color-steel-300, #ccc);
  border-radius: 6px;
  box-shadow: 0 6px 16px rgba(14, 34, 51, .15);
  list-style: none;
  margin: .25rem 0 0;
  padding: 0;
}
.lri-wiz__search-list li { padding: .45rem .7rem; cursor: pointer; }
.lri-wiz__search-list li em { opacity: .7; font-style: normal; }
.lri-wiz__search-list li:hover,
.lri-wiz__search-list li.is-selected { background: var(--e-global-color-paper, #f5f5f5); }

/* ---- validation ---- */
.lri-wiz__error { color: var(--e-global-color-danger, #b32d2e); font-size: .85rem; margin: .25rem 0 0; }

/* ---- review step ---- */
.lri-wiz__review-table { width: 100%; border-collapse: collapse; }
.lri-wiz__review-table td {
  padding: .4rem .5rem;
  border-bottom: 1px solid var(--e-global-color-steel-200, #eee);
}
.lri-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ---- total bar ---- */
.lri-wiz__total {
  position: sticky;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--e-global-color-paper, #f7f7f7);
  padding: .75rem 1rem;
  border-radius: 6px;
  margin-top: 1rem;
  font-size: 1.05rem;
}
.lri-wiz__total strong { font-variant-numeric: tabular-nums; color: var(--e-global-color-primary, #0E2233); }

/* ---- nav ---- */
.lri-wiz__nav { display: flex; justify-content: space-between; gap: .75rem; margin-top: 1rem; }
.lri-wiz__btn {
  font: inherit;
  font-weight: 600;
  padding: .7rem 1.4rem;
  border-radius: 6px;
  border: 2px solid transparent;
  cursor: pointer;
}
.lri-wiz__btn--back {
  background: transparent;
  border-color: var(--e-global-color-steel-200, #ccc);
  color: var(--e-global-color-text, #27313C);
}
.lri-wiz__btn--back:hover { border-color: var(--e-global-color-primary, #0E2233); }
.lri-wiz__btn--next {
  margin-left: auto;
  background: var(--e-global-color-accent, #F5B820);
  border-color: var(--e-global-color-accent, #F5B820);
  color: var(--e-global-color-primary, #0E2233);
}
.lri-wiz__btn--next:hover { filter: brightness(.95); }
.lri-wiz__btn--next:disabled { opacity: .6; cursor: not-allowed; }
