/* Final configurator pass: compact hierarchy and product-grade typography. */
body.landing-rebuild #programs .configurator-shell[data-configurator] {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 22px !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(70% 90% at 100% 0%, rgba(239, 48, 43, 0.12), transparent 58%),
    linear-gradient(180deg, #1b1c1e 0%, #17181a 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025) !important;
}

body.landing-rebuild #programs .configurator-controls {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.1fr) minmax(300px, 1fr) minmax(220px, 0.65fr) !important;
  gap: 14px !important;
  align-items: end !important;
  margin: 0 0 20px !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.075) !important;
}

body.landing-rebuild #programs .configurator-control-group {
  min-width: 0 !important;
}

body.landing-rebuild #programs .configurator-control-label {
  display: block !important;
  margin: 0 0 8px !important;
  color: rgba(255, 255, 255, 0.48) !important;
  font-family: "Friday Roboto", "Roboto", Arial, sans-serif !important;
  font-size: 0.7rem !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

body.landing-rebuild #programs .configurator-model-row,
body.landing-rebuild #programs .configurator-size-row,
body.landing-rebuild #programs .configurator-currency-row {
  position: static !important;
  z-index: auto !important;
  grid-column: auto !important;
  grid-row: auto !important;
  margin: 0 !important;
}

body.landing-rebuild #programs .configurator-model-row {
  width: 100% !important;
  height: 48px !important;
  padding: 3px !important;
  border-radius: 13px !important;
  background: #101113 !important;
}

body.landing-rebuild #programs .configurator-model {
  min-height: 40px !important;
  height: 40px !important;
  max-height: 40px !important;
  border-radius: 10px !important;
  font-family: "Friday Roboto", "Roboto", Arial, sans-serif !important;
  font-style: normal !important;
}

body.landing-rebuild #programs .configurator-model.is-active {
  background: #f5f4f1 !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.24) !important;
}

body.landing-rebuild #programs .configurator-model-kicker {
  color: rgba(255, 255, 255, 0.72) !important;
  font-family: "Friday Roboto", "Roboto", Arial, sans-serif !important;
  font-size: 0.84rem !important;
  font-style: normal !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
}

body.landing-rebuild #programs .configurator-model.is-active .configurator-model-kicker {
  color: #101113 !important;
}

body.landing-rebuild #programs .configurator-size-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 6px !important;
  width: 100% !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.landing-rebuild #programs .configurator-size-chip {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  height: 48px !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: rgba(255, 255, 255, 0.64) !important;
  font-family: "Friday Roboto", "Roboto", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  font-style: normal !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

body.landing-rebuild #programs .configurator-size-chip.is-active {
  border-color: #ef3832 !important;
  background: #ef3832 !important;
  color: #fff !important;
  box-shadow: 0 9px 24px rgba(239, 56, 50, 0.2) !important;
}

body.landing-rebuild #programs .configurator-currency-row {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
}

body.landing-rebuild #programs .configurator-currency-switch {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: none !important;
  height: 48px !important;
  padding: 3px !important;
  gap: 3px !important;
  border-radius: 13px !important;
  background: #101113 !important;
  box-shadow: none !important;
}

body.landing-rebuild #programs .configurator-currency-chip {
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  gap: 6px !important;
  padding: 0 10px !important;
  border-radius: 10px !important;
  font-family: "Friday Roboto", "Roboto", Arial, sans-serif !important;
  font-size: 0.78rem !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

body.landing-rebuild #programs .configurator-currency-chip.is-active {
  color: #101113 !important;
  background: #f5f4f1 !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.24) !important;
}

body.landing-rebuild #programs .configurator-currency-flag {
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: rgba(127, 127, 127, 0.14) !important;
  font-family: "Friday Roboto", "Roboto", Arial, sans-serif !important;
  font-size: 0.7rem !important;
  font-style: normal !important;
  font-weight: 900 !important;
}

body.landing-rebuild #programs .configurator-card-rail {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.landing-rebuild #programs .configurator-offer-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 360px !important;
  padding: 18px !important;
  border-radius: 18px !important;
  background: rgba(11, 12, 13, 0.56) !important;
  opacity: 0.54 !important;
  transition: border-color 180ms ease, background 180ms ease, opacity 180ms ease !important;
}

body.landing-rebuild #programs .configurator-offer-card.is-active {
  border-color: rgba(239, 56, 50, 0.78) !important;
  background:
    linear-gradient(180deg, rgba(239, 56, 50, 0.12), transparent 40%),
    rgba(11, 12, 13, 0.92) !important;
  opacity: 1 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025) !important;
}

body.landing-rebuild #programs .configurator-offer-head {
  gap: 5px !important;
  justify-items: center !important;
  text-align: center !important;
}

body.landing-rebuild #programs .configurator-offer-head span,
body.landing-rebuild #programs .configurator-offer-fee span,
body.landing-rebuild #programs .configurator-offer-rule > span,
body.landing-rebuild #programs .configurator-offer-rule > strong,
body.landing-rebuild #programs .configurator-offer-rule-value,
body.landing-rebuild #programs .configurator-offer-phase em,
body.landing-rebuild #programs .configurator-offer-phase strong,
body.landing-rebuild #programs .configurator-offer-cta {
  font-family: "Friday Roboto", "Roboto", Arial, sans-serif !important;
  font-style: normal !important;
}

body.landing-rebuild #programs .configurator-offer-head span {
  color: rgba(255, 255, 255, 0.45) !important;
  font-size: 0.66rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.landing-rebuild #programs .configurator-offer-head strong {
  color: #fff !important;
  font-family: "Friday Roboto", "Roboto", Arial, sans-serif !important;
  font-size: clamp(2rem, 2.5vw, 2.75rem) !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -0.045em !important;
  font-variant-numeric: tabular-nums !important;
}

body.landing-rebuild #programs .configurator-offer-fee {
  gap: 4px !important;
  margin-top: 16px !important;
  padding: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.035) !important;
}

body.landing-rebuild #programs .configurator-offer-fee span {
  font-size: 0.66rem !important;
  font-weight: 600 !important;
}

body.landing-rebuild #programs .configurator-offer-fee strong {
  font-family: "Friday Roboto", "Roboto", Arial, sans-serif !important;
  font-size: 1.3rem !important;
  font-style: normal !important;
  font-weight: 900 !important;
  letter-spacing: -0.03em !important;
}

body.landing-rebuild #programs .configurator-offer-rules {
  margin-top: 12px !important;
}

body.landing-rebuild #programs .configurator-offer-rule {
  min-height: 36px !important;
  padding: 8px 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.07) !important;
}

body.landing-rebuild #programs .configurator-offer-rule > span,
body.landing-rebuild #programs .configurator-offer-rule > strong,
body.landing-rebuild #programs .configurator-offer-rule-value {
  font-size: 0.72rem !important;
  line-height: 1.2 !important;
}

body.landing-rebuild #programs .configurator-offer-rule > span {
  color: rgba(255, 255, 255, 0.58) !important;
  font-weight: 600 !important;
}

body.landing-rebuild #programs .configurator-offer-rule > strong,
body.landing-rebuild #programs .configurator-offer-rule-value {
  color: rgba(255, 255, 255, 0.9) !important;
  font-weight: 800 !important;
}

body.landing-rebuild #programs .configurator-offer-phase {
  gap: 1px !important;
}

body.landing-rebuild #programs .configurator-offer-phase em {
  color: rgba(255, 255, 255, 0.4) !important;
  font-size: 0.56rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

body.landing-rebuild #programs .configurator-offer-cta {
  order: 9 !important;
  min-height: 48px !important;
  margin-top: auto !important;
  border-radius: 12px !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

body.landing-rebuild #programs .configurator-addon-footer {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 18px !important;
  padding: 16px 0 0 !important;
}

body.landing-rebuild #programs .configurator-addon-label,
body.landing-rebuild #programs .configurator-addon-list span {
  font-family: "Friday Roboto", "Roboto", Arial, sans-serif !important;
  font-style: normal !important;
}

@media (max-width: 1120px) {
  body.landing-rebuild #programs .configurator-controls {
    grid-template-columns: 1fr 1fr !important;
  }

  body.landing-rebuild #programs .configurator-control-currency {
    grid-column: 1 / -1 !important;
  }

  body.landing-rebuild #programs .configurator-currency-switch {
    width: min(320px, 100%) !important;
  }

  body.landing-rebuild #programs .configurator-card-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  body.landing-rebuild #programs .configurator-shell[data-configurator] {
    padding: 16px !important;
    border-radius: 20px !important;
  }

  body.landing-rebuild #programs .configurator-controls {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
  }

  body.landing-rebuild #programs .configurator-control-currency {
    grid-column: auto !important;
  }

  body.landing-rebuild #programs .configurator-currency-switch {
    width: 100% !important;
  }

  body.landing-rebuild #programs .configurator-size-row {
    display: flex !important;
    gap: 6px !important;
    overflow-x: auto !important;
  }

  body.landing-rebuild #programs .configurator-size-chip {
    flex: 1 0 64px !important;
  }

  body.landing-rebuild #programs .configurator-card-rail {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(252px, 88%) !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
  }

  body.landing-rebuild #programs .configurator-offer-card {
    min-height: 348px !important;
    scroll-snap-align: start !important;
  }

  body.landing-rebuild #programs .configurator-addon-footer {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
}
