.ls-super-configurator,
    .ls-super-configurator * { box-sizing: border-box; }

    .ls-super-configurator {
      --ls-blue: #0057b8;
      --ls-blue-dark: #003f88;
      --ls-navy: #0f2233;
      --ls-orange: #ff7900;
      --ls-text: #17212b;
      --ls-muted: #66788a;
      --ls-border: #d8e3ef;
      --ls-border-strong: #b9cde2;
      --ls-soft: #f8fbff;
      --ls-soft-blue: #eef6ff;
      --ls-white: #ffffff;
      --ls-success: #198754;
      width: 100%;
      color: var(--ls-text);
      background: transparent;
      font-family: inherit, Arial, Helvetica, sans-serif;
      line-height: 1.45;
    }

    .ls-super-configurator button,
    .ls-super-configurator input,
    .ls-super-configurator select,
    .ls-super-configurator textarea { font: inherit; }

    .ls-super-configurator button { cursor: pointer; }
    .ls-super-configurator [hidden] { display: none !important; }

    .ls-super-configurator .lss-wrap {
      width: 100%;
      max-width: 1230px;
      margin: 0 auto;
      padding: 54px 0 70px;
    }

    .ls-super-configurator .lss-intro {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 30px;
      margin-bottom: 25px;
    }

    .ls-super-configurator .lss-eyebrow {
      display: block;
      margin: 0 0 8px;
      color: var(--ls-blue);
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .055em;
    }

    .ls-super-configurator .lss-intro h2 {
      margin: 0;
      color: var(--ls-navy);
      font-size: clamp(28px, 3vw, 39px);
      font-weight: 800;
      line-height: 1.13;
      letter-spacing: -.025em;
    }

    .ls-super-configurator .lss-intro p {
      max-width: 690px;
      margin: 10px 0 0;
      color: var(--ls-muted);
      font-size: 14px;
      line-height: 1.65;
    }

    .ls-super-configurator .lss-time {
      flex: 0 0 auto;
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 11px 15px;
      border: 1px solid var(--ls-border);
      border-radius: 7px;
      background: var(--ls-soft);
      color: var(--ls-blue);
      font-size: 12px;
      font-weight: 700;
      white-space: nowrap;
    }

    .ls-super-configurator .lss-time svg { width: 20px; height: 20px; }

    .ls-super-configurator .lss-steps {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      overflow: hidden;
      margin-bottom: 20px;
      border: 1px solid var(--ls-border);
      border-radius: 7px;
      background: var(--ls-white);
    }

    .ls-super-configurator .lss-step-tab {
      position: relative;
      display: flex;
      align-items: center;
      gap: 11px;
      min-height: 66px;
      padding: 13px 17px;
      border: 0;
      border-right: 1px solid var(--ls-border);
      background: var(--ls-white);
      color: #8190a0;
      text-align: left;
      transition: background .15s ease, color .15s ease;
    }

    .ls-super-configurator .lss-step-tab:last-child { border-right: 0; }

    .ls-super-configurator .lss-step-tab::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 3px;
      background: transparent;
    }

    .ls-super-configurator .lss-step-number {
      display: grid;
      place-items: center;
      width: 31px;
      height: 31px;
      flex: 0 0 31px;
      border: 1px solid var(--ls-border-strong);
      border-radius: 50%;
      background: var(--ls-white);
      color: inherit;
      font-size: 12px;
      font-weight: 800;
    }

    .ls-super-configurator .lss-step-tab b {
      display: block;
      color: inherit;
      font-size: 13px;
      line-height: 1.25;
    }

    .ls-super-configurator .lss-step-tab small {
      display: block;
      margin-top: 2px;
      color: #9aa7b5;
      font-size: 10px;
      line-height: 1.2;
    }

    .ls-super-configurator .lss-step-tab.is-active {
      color: var(--ls-blue);
      background: var(--ls-soft-blue);
    }

    .ls-super-configurator .lss-step-tab.is-active::after { background: var(--ls-blue); }
    .ls-super-configurator .lss-step-tab.is-active .lss-step-number,
    .ls-super-configurator .lss-step-tab.is-done .lss-step-number {
      border-color: var(--ls-blue);
      background: var(--ls-blue);
      color: #fff;
    }
    .ls-super-configurator .lss-step-tab.is-done { color: var(--ls-blue); }

    .ls-super-configurator .lss-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 350px;
      gap: 20px;
      align-items: start;
    }

    .ls-super-configurator .lss-panel {
      overflow: hidden;
      border: 1px solid var(--ls-border);
      border-radius: 7px;
      background: var(--ls-white);
    }

    .ls-super-configurator .lss-form-head {
      padding: 23px 27px 20px;
      border-bottom: 1px solid var(--ls-border);
      background: var(--ls-soft);
    }

    .ls-super-configurator .lss-form-head-row {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 20px;
    }

    .ls-super-configurator .lss-form-head h3 {
      margin: 0;
      color: var(--ls-navy);
      font-size: 22px;
      font-weight: 800;
      line-height: 1.25;
    }

    .ls-super-configurator .lss-form-head p {
      margin: 6px 0 0;
      color: var(--ls-muted);
      font-size: 12px;
    }

    .ls-super-configurator .lss-step-count {
      flex: 0 0 auto;
      padding: 6px 9px;
      border: 1px solid var(--ls-border);
      border-radius: 5px;
      background: #fff;
      color: var(--ls-blue);
      font-size: 10px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .04em;
    }

    .ls-super-configurator .lss-form-body { padding: 26px 27px 30px; }
    .ls-super-configurator .lss-step { display: none; }
    .ls-super-configurator .lss-step.is-active { display: block; animation: lssFade .18s ease; }
    @keyframes lssFade { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }

    .ls-super-configurator .lss-section + .lss-section {
      margin-top: 27px;
      padding-top: 25px;
      border-top: 1px solid var(--ls-border);
    }

    .ls-super-configurator .lss-section-title {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 15px;
      margin-bottom: 13px;
    }

    .ls-super-configurator .lss-section-title h4 {
      margin: 0;
      color: var(--ls-navy);
      font-size: 14px;
      font-weight: 800;
    }

    .ls-super-configurator .lss-section-title span {
      color: #8795a4;
      font-size: 10px;
    }

    .ls-super-configurator .lss-choice-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 9px;
    }

    .ls-super-configurator .lss-choice-grid.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .ls-super-configurator .lss-choice { position: relative; display: block; }
    .ls-super-configurator .lss-choice > input { position: absolute; opacity: 0; pointer-events: none; }

    .ls-super-configurator .lss-choice-card {
      position: relative;
      display: flex;
      align-items: center;
      gap: 12px;
      min-height: 78px;
      padding: 13px 37px 13px 13px;
      border: 1px solid var(--ls-border);
      border-radius: 6px;
      background: #fff;
      transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
    }

    .ls-super-configurator .lss-choice-card::after {
      content: "";
      position: absolute;
      top: 13px;
      right: 13px;
      width: 15px;
      height: 15px;
      border: 1px solid var(--ls-border-strong);
      border-radius: 50%;
      background: #fff;
    }

    .ls-super-configurator .lss-choice:hover .lss-choice-card { border-color: #91b5dc; background: var(--ls-soft); }
    .ls-super-configurator .lss-choice > input:focus-visible + .lss-choice-card { outline: 2px solid rgba(0,87,184,.25); outline-offset: 2px; }
    .ls-super-configurator .lss-choice > input:checked + .lss-choice-card {
      border-color: var(--ls-blue);
      background: var(--ls-soft-blue);
      box-shadow: inset 3px 0 0 var(--ls-blue);
    }
    .ls-super-configurator .lss-choice > input:checked + .lss-choice-card::after {
      border-color: var(--ls-blue);
      box-shadow: inset 0 0 0 4px var(--ls-blue);
    }

    .ls-super-configurator .lss-choice-icon {
      display: grid;
      place-items: center;
      width: 39px;
      height: 39px;
      flex: 0 0 39px;
      border-radius: 5px;
      background: var(--ls-soft-blue);
      color: var(--ls-blue);
    }

    .ls-super-configurator .lss-choice-icon svg { width: 22px; height: 22px; }
    .ls-super-configurator .lss-choice-copy strong { display: block; color: var(--ls-navy); font-size: 12px; font-weight: 800; }
    .ls-super-configurator .lss-choice-copy small { display: block; margin-top: 3px; color: var(--ls-muted); font-size: 10px; line-height: 1.35; }

    .ls-super-configurator .lss-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
    .ls-super-configurator .lss-field.is-full { grid-column: 1 / -1; }
    .ls-super-configurator .lss-field label { display: block; margin-bottom: 6px; color: var(--ls-navy); font-size: 11px; font-weight: 700; }
    .ls-super-configurator .lss-required { color: #d82c2c; }

    .ls-super-configurator .lss-field input,
    .ls-super-configurator .lss-field select,
    .ls-super-configurator .lss-field textarea {
      width: 100%;
      min-height: 46px;
      padding: 10px 12px;
      border: 1px solid var(--ls-border-strong);
      border-radius: 5px;
      background: #fff;
      color: var(--ls-text);
      font-size: 13px;
      outline: none;
      transition: border-color .15s ease, box-shadow .15s ease;
    }

    .ls-super-configurator .lss-field textarea { min-height: 100px; resize: vertical; }
    .ls-super-configurator .lss-field input:focus,
    .ls-super-configurator .lss-field select:focus,
    .ls-super-configurator .lss-field textarea:focus {
      border-color: var(--ls-blue);
      box-shadow: 0 0 0 3px rgba(0,87,184,.10);
    }

    .ls-super-configurator .lss-dimensions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
    .ls-super-configurator .lss-dimension {
      padding: 13px;
      border: 1px solid var(--ls-border);
      border-radius: 6px;
      background: var(--ls-soft);
    }
    .ls-super-configurator .lss-dimension label { display: block; margin-bottom: 7px; color: var(--ls-navy); font-size: 11px; font-weight: 800; }
    .ls-super-configurator .lss-input-unit { position: relative; }
    .ls-super-configurator .lss-input-unit input {
      width: 100%;
      height: 52px;
      padding: 8px 40px 8px 11px;
      border: 1px solid var(--ls-border-strong);
      border-radius: 5px;
      color: var(--ls-navy);
      background: #fff;
      font-size: 21px;
      font-weight: 800;
      outline: none;
    }
    .ls-super-configurator .lss-input-unit input:focus { border-color: var(--ls-blue); box-shadow: 0 0 0 3px rgba(0,87,184,.10); }
    .ls-super-configurator .lss-input-unit span { position: absolute; right: 11px; top: 50%; transform: translateY(-50%); color: #8090a0; font-size: 11px; font-weight: 700; }

    .ls-super-configurator .lss-preset-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
    .ls-super-configurator .lss-preset {
      padding: 7px 10px;
      border: 1px solid var(--ls-border);
      border-radius: 4px;
      background: #fff;
      color: var(--ls-blue);
      font-size: 10px;
      font-weight: 800;
    }
    .ls-super-configurator .lss-preset:hover { border-color: var(--ls-blue); background: var(--ls-soft-blue); }

    .ls-super-configurator .lss-service-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      overflow: hidden;
      border: 1px solid var(--ls-border);
      border-radius: 6px;
    }

    .ls-super-configurator .lss-service {
      position: relative;
      min-height: 76px;
      padding: 15px 55px 14px 15px;
      border-right: 1px solid var(--ls-border);
      border-bottom: 1px solid var(--ls-border);
      background: #fff;
    }
    .ls-super-configurator .lss-service:nth-child(2n) { border-right: 0; }
    .ls-super-configurator .lss-service:nth-last-child(-n+2) { border-bottom: 0; }
    .ls-super-configurator .lss-service strong { display: block; color: var(--ls-navy); font-size: 12px; }
    .ls-super-configurator .lss-service small { display: block; margin-top: 4px; color: var(--ls-muted); font-size: 10px; line-height: 1.35; }
    .ls-super-configurator .lss-service input {
      appearance: none;
      position: absolute;
      top: 17px;
      right: 16px;
      width: 33px;
      height: 19px;
      margin: 0;
      border: 1px solid var(--ls-border-strong);
      border-radius: 20px;
      background: #dfe8f1;
      transition: .15s ease;
    }
    .ls-super-configurator .lss-service input::after {
      content: "";
      position: absolute;
      top: 2px;
      left: 2px;
      width: 13px;
      height: 13px;
      border-radius: 50%;
      background: #fff;
      box-shadow: 0 1px 3px rgba(15,34,51,.20);
      transition: .15s ease;
    }
    .ls-super-configurator .lss-service input:checked { border-color: var(--ls-blue); background: var(--ls-blue); }
    .ls-super-configurator .lss-service input:checked::after { transform: translateX(14px); }

    .ls-super-configurator .lss-info {
      display: flex;
      gap: 11px;
      margin-top: 16px;
      padding: 13px 14px;
      border-left: 3px solid var(--ls-blue);
      border-radius: 0 5px 5px 0;
      background: var(--ls-soft-blue);
      color: #45627e;
      font-size: 10px;
      line-height: 1.5;
    }
    .ls-super-configurator .lss-info svg { width: 17px; height: 17px; flex: 0 0 17px; color: var(--ls-blue); }

    .ls-super-configurator details {
      margin-top: 17px;
      border: 1px solid var(--ls-border);
      border-radius: 6px;
      background: #fff;
    }
    .ls-super-configurator summary {
      padding: 13px 15px;
      color: var(--ls-blue);
      font-size: 11px;
      font-weight: 800;
      cursor: pointer;
    }
    .ls-super-configurator .lss-advanced-body { padding: 0 15px 15px; }

    .ls-super-configurator .lss-upload {
      padding: 17px;
      border: 1px dashed #9eb8d4;
      border-radius: 6px;
      background: var(--ls-soft);
      text-align: center;
    }
    .ls-super-configurator .lss-upload input { width: 100%; font-size: 11px; }
    .ls-super-configurator .lss-upload p { margin: 7px 0 0; color: var(--ls-muted); font-size: 10px; }

    .ls-super-configurator .lss-consent {
      display: flex;
      align-items: flex-start;
      gap: 9px;
      margin-top: 15px;
      color: var(--ls-muted);
      font-size: 10px;
      line-height: 1.45;
    }
    .ls-super-configurator .lss-consent input { margin-top: 2px; accent-color: var(--ls-blue); }

    .ls-super-configurator .lss-message {
      display: none;
      margin-bottom: 16px;
      padding: 12px 14px;
      border: 1px solid #badbcc;
      border-radius: 5px;
      background: #edf9f2;
      color: #12623b;
      font-size: 11px;
      font-weight: 700;
    }
    .ls-super-configurator .lss-message.is-visible { display: block; }
    .ls-super-configurator .lss-message.is-error { border-color: #f0c3c3; background: #fff2f2; color: #a32020; }

    .ls-super-configurator .lss-actions {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 17px 27px;
      border-top: 1px solid var(--ls-border);
      background: var(--ls-soft);
    }

    .ls-super-configurator .lss-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 43px;
      padding: 9px 16px;
      border: 1px solid transparent;
      border-radius: 5px;
      font-size: 11px;
      font-weight: 800;
      transition: .15s ease;
    }
    .ls-super-configurator .lss-btn svg { width: 16px; height: 16px; }
    .ls-super-configurator .lss-btn-secondary { border-color: var(--ls-border-strong); background: #fff; color: var(--ls-blue); }
    .ls-super-configurator .lss-btn-secondary:hover { border-color: var(--ls-blue); background: var(--ls-soft-blue); }
    .ls-super-configurator .lss-btn-primary { min-width: 158px; border-color: var(--ls-blue); background: var(--ls-blue); color: #fff; }
    .ls-super-configurator .lss-btn-primary:hover { border-color: var(--ls-blue-dark); background: var(--ls-blue-dark); }
    .ls-super-configurator .lss-btn-submit { min-width: 205px; border-color: var(--ls-orange); background: var(--ls-orange); color: #fff; }
    .ls-super-configurator .lss-btn-submit:hover { border-color: #e66d00; background: #e66d00; }
    .ls-super-configurator .lss-btn[disabled] { opacity: .5; cursor: not-allowed; }

    .ls-super-configurator .lss-sidebar { position: sticky; top: 20px; }
    .ls-super-configurator .lss-summary-head { padding: 18px 20px; border-bottom: 1px solid var(--ls-border); background: var(--ls-soft); }
    .ls-super-configurator .lss-summary-head strong { display: block; color: var(--ls-navy); font-size: 15px; font-weight: 800; }
    .ls-super-configurator .lss-summary-head span { display: block; margin-top: 3px; color: var(--ls-muted); font-size: 10px; }

    .ls-super-configurator .lss-metrics {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      overflow: hidden;
      margin-top: 5px;
      border: 1px solid var(--ls-border);
      border-radius: 5px;
      background: #fff;
    }
    .ls-super-configurator .lss-metric { padding: 9px 6px; border-right: 1px solid var(--ls-border); text-align: center; }
    .ls-super-configurator .lss-metric:last-child { border-right: 0; }
    .ls-super-configurator .lss-metric strong { display: block; color: var(--ls-navy); font-size: 13px; }
    .ls-super-configurator .lss-metric span { display: block; margin-top: 2px; color: var(--ls-muted); font-size: 8px; text-transform: uppercase; letter-spacing: .035em; }

    .ls-super-configurator .lss-summary { padding: 18px 20px 20px; }
    .ls-super-configurator .lss-summary h4 { margin: 0 0 13px; color: var(--ls-navy); font-size: 15px; font-weight: 800; }
    .ls-super-configurator .lss-summary dl { margin: 0; }
    .ls-super-configurator .lss-summary-row {
      display: grid;
      grid-template-columns: 43% 57%;
      gap: 9px;
      padding: 9px 0;
      border-bottom: 1px solid var(--ls-border);
      font-size: 10px;
    }
    .ls-super-configurator .lss-summary-row dt { color: var(--ls-muted); }
    .ls-super-configurator .lss-summary-row dd { margin: 0; color: var(--ls-navy); font-weight: 800; text-align: right; }

    .ls-super-configurator .lss-parts {
      margin-top: 15px;
      padding: 12px;
      border: 1px solid var(--ls-border);
      border-radius: 5px;
      background: var(--ls-soft);
    }
    .ls-super-configurator .lss-parts-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }
    .ls-super-configurator .lss-parts-title strong { color: var(--ls-blue); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
    .ls-super-configurator .lss-parts-title span { color: var(--ls-muted); font-size: 8px; }
    .ls-super-configurator .lss-parts-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
    .ls-super-configurator .lss-part { padding: 8px; border-radius: 4px; background: #fff; }
    .ls-super-configurator .lss-part strong { display: block; color: var(--ls-navy); font-size: 13px; }
    .ls-super-configurator .lss-part span { display: block; color: var(--ls-muted); font-size: 8px; }
    .ls-super-configurator .lss-summary-note { margin: 13px 0 0; color: #8190a0; font-size: 8px; line-height: 1.45; }



    .ls-super-configurator .lss-system-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
    }

    .ls-super-configurator .lss-system-option { position: relative; display: block; }
    .ls-super-configurator .lss-system-option input { position: absolute; opacity: 0; pointer-events: none; }
    .ls-super-configurator .lss-system-card {
      display: flex;
      align-items: center;
      gap: 13px;
      min-height: 84px;
      padding: 14px;
      border: 1px solid var(--ls-border);
      border-radius: 6px;
      background: #fff;
      transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
    }
    .ls-super-configurator .lss-system-option:hover .lss-system-card { border-color: var(--ls-border-strong); background: var(--ls-soft); }
    .ls-super-configurator .lss-system-option input:focus-visible + .lss-system-card { outline: 2px solid rgba(0,87,184,.28); outline-offset: 2px; }
    .ls-super-configurator .lss-system-option input:checked + .lss-system-card { border-color: var(--ls-blue); background: var(--ls-soft-blue); box-shadow: inset 0 0 0 1px var(--ls-blue); }
    .ls-super-configurator .lss-system-number {
      display: grid;
      place-items: center;
      width: 48px;
      height: 48px;
      flex: 0 0 48px;
      border: 1px solid var(--ls-border-strong);
      border-radius: 5px;
      background: var(--ls-soft);
      color: var(--ls-blue);
      font-size: 20px;
      font-weight: 800;
    }
    .ls-super-configurator .lss-system-option input:checked + .lss-system-card .lss-system-number { border-color: var(--ls-blue); background: var(--ls-blue); color: #fff; }
    .ls-super-configurator .lss-system-copy strong { display: block; color: var(--ls-navy); font-size: 12px; font-weight: 800; }
    .ls-super-configurator .lss-system-copy small { display: block; margin-top: 4px; color: var(--ls-muted); font-size: 9px; line-height: 1.35; }

    .ls-super-configurator .lss-nojs {
      display: block;
      margin-bottom: 14px;
      padding: 10px 12px;
      border: 1px solid #efc3c3;
      border-radius: 5px;
      background: #fff4f4;
      color: #9d2020;
      font-size: 11px;
    }

    @media (max-width: 1000px) {
      .ls-super-configurator .lss-grid { grid-template-columns: minmax(0,1fr) 315px; }
      .ls-super-configurator .lss-choice-grid.is-3,
      .ls-super-configurator .lss-system-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    @media (max-width: 820px) {
      .ls-super-configurator .lss-grid { grid-template-columns: 1fr; }
      .ls-super-configurator .lss-sidebar { position: static; display: block; }
    }

    @media (max-width: 650px) {
      .ls-super-configurator .lss-wrap { padding: 32px 0 50px; }
      .ls-super-configurator .lss-intro { display: block; padding: 0 16px; }
      .ls-super-configurator .lss-intro h2 { font-size: 28px; }
      .ls-super-configurator .lss-time { display: inline-flex; margin-top: 15px; }
      .ls-super-configurator .lss-steps { grid-template-columns: repeat(4, minmax(0,1fr)); margin-top: 22px; border-left: 0; border-right: 0; border-radius: 0; }
      .ls-super-configurator .lss-step-tab { justify-content: center; min-height: 58px; padding: 10px 4px; text-align: center; }
      .ls-super-configurator .lss-step-number { width: 27px; height: 27px; flex-basis: 27px; }
      .ls-super-configurator .lss-step-tab div { display: none; }
      .ls-super-configurator .lss-panel { border-left: 0; border-right: 0; border-radius: 0; }
      .ls-super-configurator .lss-form-head { padding: 21px 17px 18px; }
      .ls-super-configurator .lss-form-head h3 { font-size: 20px; }
      .ls-super-configurator .lss-form-body { padding: 22px 17px 25px; }
      .ls-super-configurator .lss-choice-grid,
      .ls-super-configurator .lss-choice-grid.is-3,
      .ls-super-configurator .lss-system-grid,
      .ls-super-configurator .lss-fields,
      .ls-super-configurator .lss-dimensions,
      .ls-super-configurator .lss-service-grid { grid-template-columns: 1fr; }
      .ls-super-configurator .lss-service { border-right: 0; border-bottom: 1px solid var(--ls-border) !important; }
      .ls-super-configurator .lss-service:last-child { border-bottom: 0 !important; }
      .ls-super-configurator .lss-actions { padding: 14px 17px; }
      .ls-super-configurator .lss-btn-primary,
      .ls-super-configurator .lss-btn-submit { min-width: 0; flex: 1; }
      .ls-super-configurator .lss-sidebar { display: block; }
    }

/* Version 1.1 – individual side configuration */
.ls-super-configurator .lss-side-count-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}
.ls-super-configurator .lss-side-count { position: relative; display: block; }
.ls-super-configurator .lss-side-count input { position: absolute; opacity: 0; pointer-events: none; }
.ls-super-configurator .lss-side-count > span {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 84px;
  padding: 12px;
  border: 1px solid var(--ls-border);
  border-radius: 6px;
  background: #fff;
  text-align: center;
  transition: .15s ease;
}
.ls-super-configurator .lss-side-count strong { color: var(--ls-blue); font-size: 25px; line-height: 1; }
.ls-super-configurator .lss-side-count small { margin-top: 7px; color: var(--ls-muted); font-size: 10px; font-weight: 700; }
.ls-super-configurator .lss-side-count:hover > span { border-color: #91b5dc; background: var(--ls-soft); }
.ls-super-configurator .lss-side-count input:checked + span { border-color: var(--ls-blue); background: var(--ls-soft-blue); box-shadow: inset 0 -3px 0 var(--ls-blue); }
.ls-super-configurator .lss-side-count input:focus-visible + span { outline: 2px solid rgba(0,87,184,.25); outline-offset: 2px; }

.ls-super-configurator .lss-side-configs { display: grid; gap: 13px; }
.ls-super-configurator .lss-side-card {
  overflow: hidden;
  border: 1px solid var(--ls-border);
  border-radius: 6px;
  background: #fff;
}
.ls-super-configurator .lss-side-card-head {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--ls-border);
  background: var(--ls-soft);
}
.ls-super-configurator .lss-side-badge {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--ls-blue);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}
.ls-super-configurator .lss-side-card-head strong { display: block; color: var(--ls-navy); font-size: 12px; }
.ls-super-configurator .lss-side-card-head small { display: block; margin-top: 2px; color: var(--ls-muted); font-size: 9px; }
.ls-super-configurator .lss-side-result {
  padding: 6px 9px;
  border: 1px solid var(--ls-border);
  border-radius: 4px;
  background: #fff;
  color: var(--ls-blue);
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}
.ls-super-configurator .lss-side-fields {
  display: grid;
  grid-template-columns: 1.15fr .85fr .85fr 1fr;
  gap: 10px;
  padding: 14px;
}
.ls-super-configurator .lss-input-unit.is-compact input {
  height: 46px;
  padding-right: 34px;
  font-size: 15px;
  font-weight: 700;
}
.ls-super-configurator .lss-side-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--ls-border);
  background: var(--ls-soft-blue);
}
.ls-super-configurator .lss-side-metrics > div { padding: 9px 12px; border-right: 1px solid var(--ls-border); }
.ls-super-configurator .lss-side-metrics > div:last-child { border-right: 0; }
.ls-super-configurator .lss-side-metrics span { display: block; color: var(--ls-muted); font-size: 8px; text-transform: uppercase; letter-spacing: .03em; }
.ls-super-configurator .lss-side-metrics strong { display: block; margin-top: 3px; color: var(--ls-navy); font-size: 12px; }
.ls-super-configurator .lss-technical-fields { padding-top: 2px; }

.ls-super-configurator .lss-side-summary {
  margin-top: 15px;
  border: 1px solid var(--ls-border);
  border-radius: 5px;
  overflow: hidden;
}
.ls-super-configurator .lss-side-summary-title {
  padding: 9px 11px;
  border-bottom: 1px solid var(--ls-border);
  background: var(--ls-soft);
  color: var(--ls-blue);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.ls-super-configurator .lss-side-summary-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 10px 11px;
  border-bottom: 1px solid var(--ls-border);
}
.ls-super-configurator .lss-side-summary-row:last-child { border-bottom: 0; }
.ls-super-configurator .lss-side-summary-row > div:last-child { text-align: right; }
.ls-super-configurator .lss-side-summary-row strong { display: block; color: var(--ls-navy); font-size: 9px; }
.ls-super-configurator .lss-side-summary-row span { display: block; margin-top: 2px; color: var(--ls-muted); font-size: 8px; }
.ls-super-configurator .lss-side-summary-empty { margin: 0; padding: 11px; color: var(--ls-muted); font-size: 9px; line-height: 1.4; }

@media (max-width: 1000px) {
  .ls-super-configurator .lss-side-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .ls-super-configurator .lss-side-count-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ls-super-configurator .lss-side-card-head { grid-template-columns: 30px minmax(0, 1fr); }
  .ls-super-configurator .lss-side-result { grid-column: 1 / -1; width: 100%; text-align: center; }
  .ls-super-configurator .lss-side-fields { grid-template-columns: 1fr; }
  .ls-super-configurator .lss-side-metrics > div { padding: 8px 6px; text-align: center; }
}

/* Version 1.2 – simplified dimensions and customer-friendly details */
.ls-super-configurator .lss-side-fields.is-simple {
  grid-template-columns: 1.2fr .9fr .9fr;
}
.ls-super-configurator .lss-optional {
  margin-left: 6px;
  color: var(--ls-muted);
  font-size: 9px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}
@media (max-width: 1000px) {
  .ls-super-configurator .lss-side-fields.is-simple { grid-template-columns: 1fr 1fr; }
  .ls-super-configurator .lss-side-fields.is-simple .lss-field:first-child { grid-column: 1 / -1; }
}
@media (max-width: 650px) {
  .ls-super-configurator .lss-side-fields.is-simple { grid-template-columns: 1fr; }
  .ls-super-configurator .lss-side-fields.is-simple .lss-field:first-child { grid-column: auto; }
}

/* Version 1.3 – WordPress inquiry storage and thank-you state */
.ls-super-configurator [hidden] { display: none !important; }
.ls-super-configurator .lss-honeypot {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.ls-super-configurator .lss-success {
  padding: 56px 28px;
  text-align: center;
}
.ls-super-configurator .lss-success-icon {
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: var(--ls-soft-blue);
  color: var(--ls-blue);
}
.ls-super-configurator .lss-success-icon svg {
  width: 34px;
  height: 34px;
}
.ls-super-configurator .lss-success h3 {
  margin: 7px 0 10px;
  color: var(--ls-navy);
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.2;
}
.ls-super-configurator .lss-success p {
  max-width: 560px;
  margin: 0 auto 22px;
  color: var(--ls-muted);
  font-size: 13px;
  line-height: 1.65;
}
.ls-super-configurator.is-submitted .lss-steps,
.ls-super-configurator.is-submitted .lss-sidebar,
.ls-super-configurator.is-submitted .lss-form-head,
.ls-super-configurator.is-submitted .lss-form-body,
.ls-super-configurator.is-submitted .lss-actions {
  display: none !important;
}
.ls-super-configurator.is-submitted .lss-grid {
  grid-template-columns: minmax(0, 1fr);
  max-width: 760px;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 650px) {
  .ls-super-configurator .lss-success { padding: 38px 18px; }
}


/* v1.3.1: reliable manual dimension entry on desktop browsers */
.ls-super-configurator .lss-input-unit span {
  pointer-events: none;
  user-select: none;
}
.ls-super-configurator .lss-input-unit input[data-lss-decimal] {
  cursor: text;
  -webkit-appearance: none;
  appearance: none;
  touch-action: manipulation;
}
.ls-super-configurator .lss-input-unit input[data-lss-decimal]::placeholder {
  font-size: 12px;
  font-weight: 500;
  color: #9aa8b5;
}
