/* OCC wizard — step-by-step configuration */

body.occ-wizard-active #updater > form > .bindcart_js,
body.occ-wizard-active #updater .bindcart_js {
  /* nodes moved into wizard panels */
}

body.occ-wizard-active .occ-wizard {
  --occ-wiz-accent: #000e9c;
  --occ-wiz-muted: #6b7280;
  --occ-wiz-border: #e5e7eb;
  --occ-wiz-soft: #eef2ff;
  width: 100%;
  max-width: none;
  margin: 0 0 1.25rem;
  padding: 0;
}

.occ-wiz-progress {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.25rem;
  width: 100%;
  margin: 0 0 1.5rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.occ-wiz-pip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  gap: 0.4rem;
  border: 0;
  background: transparent;
  padding: 0.35rem 0.25rem;
  border-radius: 0;
  cursor: pointer;
  color: var(--occ-wiz-muted);
  font-size: 0.82rem;
  font-weight: 600;
  min-width: 0;
}

.occ-wiz-pip:disabled {
  cursor: default;
  opacity: 0.55;
}

.occ-wiz-pip-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 999px;
  background: #f3f4f6;
  color: #6b7280;
  font-size: 0.75rem;
  font-weight: 750;
}

.occ-wiz-pip.is-current {
  background: transparent;
  color: var(--occ-wiz-accent);
}

.occ-wiz-pip.is-current .occ-wiz-pip-num,
.occ-wiz-pip.is-done .occ-wiz-pip-num {
  background: var(--occ-wiz-accent);
  color: #fff;
}

.occ-wiz-pip.is-done {
  color: var(--occ-wiz-accent);
}

.occ-wiz-pip-sep {
  flex: 0 0 auto;
  width: 1.25rem;
  max-width: 2rem;
  height: 1px;
  background: #d1d5db;
  margin: 0;
}

.occ-wiz-panel {
  min-height: 12rem;
}

.occ-wiz-step-title {
  margin: 0 0 0.35rem;
  font-size: 1.55rem;
  font-weight: 750;
  letter-spacing: -0.02em;
  color: #111827;
}

.occ-wiz-step-lead {
  margin: 0 0 1.15rem;
  color: var(--occ-wiz-muted);
  font-size: 0.95rem;
  max-width: 40rem;
}

.occ-wiz-nav {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 1.35rem 0 1.5rem;
  padding-top: 0.25rem;
}

.occ-wiz-btn {
  min-height: 2.75rem;
  padding: 0.65rem 1.35rem;
  border-radius: 0.65rem;
  font-weight: 700;
  cursor: pointer;
  border: 1px solid transparent;
}

.occ-wiz-back {
  background: #fff;
  border-color: var(--occ-wiz-border);
  color: #111827;
}

.occ-wiz-back:disabled {
  opacity: 0.4;
  cursor: default;
}

.occ-wiz-next {
  margin-left: auto;
  background: var(--occ-wiz-accent);
  color: #fff;
  border-color: var(--occ-wiz-accent);
}

.occ-wiz-next:hover:not(:disabled) {
  background: #0018a8;
}

.occ-wiz-next:disabled {
  opacity: 0.45;
  cursor: default;
}

/* Windows license step */
.occ-win-card {
  max-width: 40rem;
  border: 1px solid var(--occ-wiz-border);
  border-radius: 0.9rem;
  padding: 1.1rem 1.15rem;
  background: #fff;
}

.occ-win-card-head {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 0.9rem;
}

.occ-win-card-head i {
  font-size: 1.6rem;
  color: #0078d4;
  margin-top: 0.1rem;
}

.occ-win-card-head strong {
  display: block;
  font-size: 1.05rem;
  color: #111827;
}

.occ-win-card-head span {
  color: var(--occ-wiz-muted);
  font-size: 0.88rem;
}

.occ-win-fee {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 0.95rem;
  border-radius: 0.65rem;
  background: var(--occ-wiz-soft);
  margin-bottom: 0.85rem;
  font-weight: 650;
}

.occ-win-fee strong {
  color: var(--occ-wiz-accent);
  font-size: 1.05rem;
}

.occ-win-bullets {
  margin: 0 0 1rem;
  padding-left: 1.15rem;
  color: var(--occ-wiz-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.occ-win-ack {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  font-size: 0.9rem;
  color: #111827;
  cursor: pointer;
}

.occ-win-ack input {
  margin-top: 0.2rem;
}

/* When wizard mounts, hide stray empty updater row gaps */
body.occ-wizard-active #updater .bindcart_js {
  display: none !important;
}

body.occ-wizard-active .occ-loc-next,
body.occ-wizard-active .occ-location-stephead,
body.occ-wizard-active .occ-location-title,
body.occ-wizard-active .occ-location-lead,
body.occ-wizard-active .occ-plans-lead {
  display: none !important;
}

/* Wizard owns step chrome — hide HostBill counters & module section titles */
body.occ-wizard-active [data-occ-wiz-panel] .cart-products-scount,
body.occ-wizard-active [data-occ-wiz-panel] .option-val:not(.occ-res-slider) > .d-flex.flex-row.align-items-center.mb-3,
body.occ-wizard-active [data-occ-plans-root] > .d-flex.flex-row.align-items-center.mb-3,
body.occ-wizard-active .cf-searchselect > .d-flex.flex-row.align-items-center.mb-3,
body.occ-wizard-active .cf-servergroupselector > .d-flex.flex-row.align-items-center.mb-3,
body.occ-wizard-active .input-coupon_js > .d-flex.flex-row.align-items-center.mb-3 {
  display: none !important;
}

/* Custom plan resource sliders keep their labeled headers (CPU / RAM / Disk) */
body.occ-wizard-active [data-occ-wiz-panel] .occ-res-slider > .d-flex.flex-row,
body.occ-wizard-active [data-occ-wiz-panel] .occ-res-slider > .occ-res-head-row {
  display: flex !important;
  align-items: center;
  width: 100%;
  margin-bottom: 0.45rem !important;
}

/* Coupon UI lives in the billing summary — hide HostBill duplicate block */
/* Wizard owns checkout CTA — hide redundant sticky summary bar */
body.occ-wizard-active #orderpage-summary {
  display: none !important;
}

body.occ-wizard-active #orderpage.orderpage {
  padding-bottom: 2rem !important;
}

body.occ-wizard-active #orderpage-lastblock {
  min-height: 0;
  display: none !important;
}

body.occ-wizard-active .input-coupon_js,
body.occ-wizard-active [data-occ-promo-native] {
  display: none !important;
}

@media (max-width: 720px) {
  .occ-wiz-pip-label {
    display: none;
  }

  .occ-wiz-pip.is-current .occ-wiz-pip-label {
    display: inline;
  }

  .occ-wiz-progress {
    justify-content: space-between;
  }

  .occ-wiz-pip-sep {
    display: none;
  }
}
