.nvu-configurator { width: 100%; border: 1px solid #e5e5e5; background: #fff; padding: 20px; box-sizing: border-box; }
.nvu-configurator *, .nvu-configurator *:before, .nvu-configurator *:after { box-sizing: border-box; }
.nvu-configurator__steps { display: flex; gap: 10px; overflow-x: auto; margin-bottom: 10px; }
.nvu-step-pill { appearance: none; border: 0; border-radius: 999px; background: #efefef; color: #222; padding: 10px 14px; min-width: 90px; cursor: pointer; white-space: nowrap; }
.nvu-step-pill.is-active { background: #c6e300; color: #000; font-weight: 700; }
.nvu-configurator__mobile-step { font-size: 14px; margin-bottom: 10px; }
.nvu-configurator__progress { height: 6px; background: #ececec; border-radius: 999px; overflow: hidden; margin-bottom: 18px; }
.nvu-configurator__progress-bar { width: 0; height: 100%; background: #c6e300; transition: width .3s ease; }
.nvu-step-panel { display: none; border-top: 1px solid #eee; padding: 18px 0; }
.nvu-step-panel.is-active { display: block; }
.nvu-step-panel h3 { margin: 0 0 8px; }
.nvu-step-panel p { margin: 0 0 12px; }
.nvu-review-box { background: #fafafa; border: 1px solid #eee; padding: 14px; margin-bottom: 14px; }
.nvu-review-box > div { margin-bottom: 8px; }
.nvu-rule-box { padding: 12px 14px; border: 1px solid #e5e5e5; background: #fafafa; margin: 0 0 14px; font-size: 14px; line-height: 1.5; }
.nvu-rule-box.is-hidden { display: none; }
.nvu-rule-box.is-error { border-color: #f1b7b7; background: #fff2f2; color: #9b1c1c; }
.nvu-rule-box.is-success { border-color: #b9dfb4; background: #f3fff1; color: #245c1e; }
.nvu-rule-box.is-info { border-color: #dfe3e8; background: #f8fafc; color: #334155; }
.nvu-configurator__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; align-items: center; justify-content: flex-end; }
.nvu-configurator__actions.is-review { justify-content: space-between; }
.nvu-configurator .single_add_to_cart_button, .nvu-configurator .nvu-next, .nvu-configurator .nvu-prev { min-height: 44px; margin: 0; }
.nvu-configurator .nvu-prev { order: 1; }
.nvu-configurator .single_add_to_cart_button { order: 2; margin-left: auto; }
.nvu-configurator .nvu-next { order: 3; }
.nvu-configurator .single_add_to_cart_button.disabled { opacity: .6; cursor: not-allowed; }
.nvu-configurator-notice { padding: 12px 14px; border: 1px solid #e5e5e5; background: #fafafa; }
@media (max-width: 768px) {
  .nvu-configurator { padding: 14px; }
  .nvu-configurator__actions { position: sticky; bottom: 0; background: #fff; padding-top: 10px; border-top: 1px solid #eee; z-index: 20; justify-content: stretch; }
  .nvu-configurator .single_add_to_cart_button, .nvu-configurator .nvu-next, .nvu-configurator .nvu-prev { width: 100%; }
  .nvu-configurator .single_add_to_cart_button { margin-left: 0; }
}
.nvu-variation-group { margin: 0 0 18px; }
.nvu-variation-group__label { font-weight: 600; margin: 0 0 8px; }
.nvu-variation-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.nvu-variation-button { appearance: none; border: 1px solid #d7d7d7; background: #fff; color: #222; border-radius: 999px; padding: 10px 14px; cursor: pointer; line-height: 1.2; }
.nvu-variation-button:hover { border-color: #c6e300; }
.nvu-variation-button.is-active { background: #c6e300; border-color: #c6e300; color: #000; font-weight: 700; }
.nvu-variation-selects { display: none !important; }
.nvu-configurator .single_variation { margin-top: 12px; }
