/*
 * DamnModz product configurator v2
 *
 * A deliberately isolated rebuild for the three products enabled in
 * functions.php. The reset at the top prevents earlier generations of WCPA
 * overrides from leaking into this component; native form semantics and the
 * add-on plugin's conditional logic remain untouched.
 */

body.dm-configurator-v2 {
  color-scheme: dark;
  --dmv2-surface: #0b1018;
  --dmv2-surface-raised: #111824;
  --dmv2-surface-option: #151d29;
  --dmv2-border: rgba(255, 255, 255, 0.11);
  --dmv2-border-strong: rgba(255, 255, 255, 0.18);
  --dmv2-text: #f6f8fc;
  --dmv2-muted: #98a4b6;
  --dmv2-accent: #ff7427;
  --dmv2-accent-strong: #ff4b2b;
  --dmv2-blue: #41b6ff;
  --dmv2-success: #21d69b;
}

/* Remove the stacked custom presentation without touching form semantics. */
body.dm-configurator-v2.single-product .dm-sticky-form.dm-product-buy-card,
body.dm-configurator-v2.single-product .dm-sticky-form .dm-add-to-cart-wrap,
body.dm-configurator-v2.single-product .dm-sticky-form form.cart,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_form_outer,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_wrap,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_section,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_section_body,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_row,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_field_wrap,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_left_wrap,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_group_field,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_field_bottom {
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .dm-select,
body.dm-configurator-v2.single-product .dm-sticky-form .dm-wcpa-package-select,
body.dm-configurator-v2.single-product .dm-sticky-form .dm-wcpa-accordion-toggle {
  display: none !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .dmz-tiles {
  display: none !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form select.dm-select__native,
body.dm-configurator-v2.single-product .dm-sticky-form select.dm-wcpa-package-select__native {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  clip: auto !important;
  clip-path: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.dm-configurator-v2.single-product .dm-product-purchase-column {
  max-height: none !important;
  overflow: visible !important;
  scrollbar-width: auto !important;
}

body.dm-configurator-v2.dmv2-form-in-view .xoo-wsc-basket,
body.dm-configurator-v2.dmv2-form-in-view .dm-chat-launcher-wrap {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.dm-configurator-v2.single-product .dm-product-purchase-column.dmv2-is-long {
  position: relative !important;
  top: auto !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form.dm-product-buy-card {
  position: relative !important;
  isolation: isolate;
  width: 100% !important;
  padding: 18px !important;
  max-height: none !important;
  overflow: visible !important;
  color: var(--dmv2-text) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 116, 39, 0.14), transparent 32%),
    linear-gradient(180deg, #111722 0%, var(--dmv2-surface) 100%) !important;
  border: 1px solid var(--dmv2-border) !important;
  border-radius: 20px !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.055) !important;
  font-size: 13px !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form.dm-product-buy-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  z-index: -1 !important;
  display: block !important;
  width: auto !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--dmv2-accent-strong), #ff9d24 56%, transparent) !important;
  opacity: 1 !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card__heading {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card__heading-icon {
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  color: #ff9b59 !important;
  background: rgba(255, 116, 39, 0.1) !important;
  border: 1px solid rgba(255, 116, 39, 0.28) !important;
  border-radius: 11px !important;
  box-shadow: none !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card__heading-copy {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card__heading-copy strong {
  color: var(--dmv2-text) !important;
  font-family: var(--font-heading, inherit) !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card__heading-copy span {
  color: var(--dmv2-muted) !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card__status {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  min-height: 24px !important;
  padding: 0 8px !important;
  color: #baf7df !important;
  background: rgba(33, 214, 155, 0.09) !important;
  border: 1px solid rgba(33, 214, 155, 0.23) !important;
  border-radius: 999px !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card__status > span {
  width: 6px !important;
  height: 6px !important;
  background: var(--dmv2-success) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 9px rgba(33, 214, 155, 0.8) !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card__price {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 62px !important;
  margin: 0 0 15px !important;
  padding: 11px 13px !important;
  background: rgba(255, 255, 255, 0.035) !important;
  border: 1px solid var(--dmv2-border) !important;
  border-radius: 13px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card__price-copy {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card__price-label {
  color: #cbd4e2 !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card__price-copy small {
  color: var(--dmv2-muted) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card__price .price,
body.dm-configurator-v2.single-product .dm-product-buy-card__price .dm-product-price {
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin: 0 !important;
  color: #ff9a4f !important;
  font-family: var(--font-heading, inherit) !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card__price del {
  color: #747f90 !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  opacity: 1 !important;
  text-decoration: line-through !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card__price ins {
  color: #ff9a4f !important;
  background: transparent !important;
  text-decoration: none !important;
  font-size: inherit !important;
}

body.dm-configurator-v2 .dm-product-buy-card.is-configured .dm-product-buy-card__price del {
  display: none !important;
}

html body.dm-configurator-v2.single-product .dm-product-purchase-column .dm-product-buy-card .dm-product-buy-card__price .woocommerce-Price-amount,
html body.dm-configurator-v2.single-product .dm-product-purchase-column .dm-product-buy-card .dm-product-buy-card__price bdi,
html body.dm-configurator-v2.single-product .dm-product-purchase-column .dm-product-buy-card .dm-product-buy-card__price .woocommerce-Price-currencySymbol {
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form form.cart,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_wrap,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_section_body {
  display: grid !important;
  width: 100% !important;
  gap: 12px !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_row {
  display: block !important;
  width: 100% !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_field_wrap {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  color: var(--dmv2-text) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 13px !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_field_wrap.dmv2-field--optional {
  padding: 12px !important;
  border: 1px solid rgba(255, 116, 39, 0.28) !important;
  background: linear-gradient(145deg, rgba(255, 116, 39, 0.075), rgba(7, 11, 18, 0.56)) !important;
  border-color: rgba(255, 116, 39, 0.28) !important;
  box-shadow: inset 3px 0 0 rgba(255, 116, 39, 0.7) !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_left_wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  gap: 9px !important;
}

/* WCPA stores a 120px "label-left" preference in the form data. The new
 * component deliberately makes every narrow-rail field a single vertical
 * flow, so long labels and prices always have room. */
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_wrap .wcpa_field_wrap.wcpa_label_pos_left .wcpa_left_wrap,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_wrap .wcpa_label_pos_left > .wcpa_left_wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 9px !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_wrap .wcpa_field_wrap.wcpa_label_pos_left .wcpa_field_label,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_wrap .wcpa_field_wrap.wcpa_label_pos_left .wcpa_field {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Win over the plugin's high-specificity left-label layout rule. */
body.dm-configurator-v2.single-product .dm-product-purchase-column .dm-sticky-form.dm-product-buy-card .dm-add-to-cart-wrap form.cart .wcpa_form_outer .wcpa_wrap .wcpa_section .wcpa_section_body .wcpa_row .wcpa_field_wrap.wcpa_label_pos_left .wcpa_left_wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 9px !important;
}

body.dm-configurator-v2.single-product .dm-product-purchase-column .dm-sticky-form.dm-product-buy-card .dm-add-to-cart-wrap form.cart .wcpa_form_outer .wcpa_wrap .wcpa_section .wcpa_section_body .wcpa_row .wcpa_field_wrap.wcpa_label_pos_left .wcpa_field_label,
body.dm-configurator-v2.single-product .dm-product-purchase-column .dm-sticky-form.dm-product-buy-card .dm-add-to-cart-wrap form.cart .wcpa_form_outer .wcpa_wrap .wcpa_section .wcpa_section_body .wcpa_row .wcpa_field_wrap.wcpa_label_pos_left .wcpa_field {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

body.dm-configurator-v2.single-product .dm-product-purchase-column .dm-sticky-form.dm-product-buy-card .dm-add-to-cart-wrap form.cart .wcpa_form_outer .wcpa_wrap .wcpa_section .wcpa_section_body .wcpa_row .wcpa_field_wrap.wcpa_label_pos_left .wcpa_field_label {
  display: flex !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_field_label {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  width: 100% !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  color: #dce4ef !important;
  font-family: var(--font-body, inherit) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_required_ast {
  color: #ff805f !important;
  font-size: 13px !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .dmv2-optional-badge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 20px !important;
  padding: 0 7px !important;
  color: #ffd7be !important;
  background: rgba(255, 116, 39, 0.13) !important;
  border: 1px solid rgba(255, 116, 39, 0.26) !important;
  border-radius: 999px !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_group_field:not([hidden]) {
  display: grid !important;
  width: 100% !important;
  gap: 7px !important;
}

/* No nested scrolling or old group shells. The document owns the scroll. */
html body.dm-configurator-v2.single-product .dm-product-purchase-column .dm-sticky-form.dm-product-buy-card .wcpa_form_outer .wcpa_group_field {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body.dm-configurator-v2.single-product .dm-product-purchase-column .dm-sticky-form.dm-product-buy-card .wcpa_form_outer .wcpa_group_field label {
  background: transparent !important;
  box-shadow: none !important;
}

html body.dm-configurator-v2.single-product .dm-product-purchase-column .dm-sticky-form.dm-product-buy-card .wcpa_form_outer .wcpa_option_price {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: auto !important;
  max-width: 100% !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_radio,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_group_field > .wcpa_checkbox,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_quantity_wrap,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_checkbox_wrap {
  display: grid !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--dmv2-surface-option) !important;
  border: 1px solid rgba(255, 255, 255, 0.085) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  transition: border-color 0.16s ease, background-color 0.16s ease, transform 0.16s ease !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_radio:hover,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_group_field > .wcpa_checkbox:hover,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_quantity_wrap:hover,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_checkbox_wrap:hover {
  background: #192331 !important;
  border-color: rgba(65, 182, 255, 0.3) !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_radio:has(input:checked),
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_group_field > .wcpa_checkbox:has(input:checked),
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_quantity_wrap:has(input:checked),
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_checkbox_wrap:has(input:checked) {
  background: rgba(65, 182, 255, 0.1) !important;
  border-color: rgba(65, 182, 255, 0.48) !important;
  box-shadow: inset 0 0 0 1px rgba(65, 182, 255, 0.1) !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_radio > label,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_checkbox label,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_checkbox_wrap label {
  display: grid !important;
  grid-template-columns: 19px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 43px !important;
  margin: 0 !important;
  padding: 9px 10px !important;
  color: var(--dmv2-text) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 10px !important;
  cursor: pointer !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_radio input[type="radio"],
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_checkbox input[type="checkbox"] {
  position: static !important;
  appearance: auto !important;
  -webkit-appearance: auto !important;
  accent-color: var(--dmv2-blue);
  grid-column: 1 !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  clip: auto !important;
  clip-path: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_radio_custom,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_checkbox_custom {
  position: relative !important;
  display: none !important;
  place-items: center !important;
  grid-column: 1 !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 0 !important;
  background: #0b1018 !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  box-shadow: none !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_radio_custom {
  border-radius: 50% !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_checkbox_custom {
  border-radius: 5px !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form input:focus-visible + .wcpa_radio_custom,
body.dm-configurator-v2.single-product .dm-sticky-form input:focus-visible + .wcpa_checkbox_custom {
  outline: 2px solid var(--dmv2-blue) !important;
  outline-offset: 2px !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form label:has(input:focus-visible) {
  outline: 2px solid var(--dmv2-blue) !important;
  outline-offset: 2px !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form input:checked + .wcpa_radio_custom,
body.dm-configurator-v2.single-product .dm-sticky-form input:checked + .wcpa_checkbox_custom {
  background: var(--dmv2-blue) !important;
  border-color: var(--dmv2-blue) !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form input:checked + .wcpa_radio_custom::after {
  content: "" !important;
  display: block !important;
  width: 6px !important;
  height: 6px !important;
  background: #07111a !important;
  border: 0 !important;
  border-radius: 50% !important;
  transform: none !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form input:checked + .wcpa_checkbox_custom::after {
  content: "" !important;
  display: block !important;
  width: 8px !important;
  height: 4px !important;
  background: transparent !important;
  border: solid #07111a !important;
  border-width: 0 0 2px 2px !important;
  transform: translateY(-1px) rotate(-45deg) !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_radio label > span:not(.wcpa_option_price),
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_checkbox label > span:not(.wcpa_option_price) {
  min-width: 0 !important;
  color: #eef3fa !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  overflow-wrap: anywhere !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_option_price {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 7px !important;
  color: #ccecff !important;
  background: rgba(65, 182, 255, 0.1) !important;
  border: 1px solid rgba(65, 182, 255, 0.2) !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.dm-configurator-v2.single-product .dm-product-purchase-column .dm-sticky-form.dm-product-buy-card form.cart.dm-product-cart .wcpa_form_outer .wcpa_option_price:not([data-clean]) {
  color: #ccecff !important;
  font-size: 10px !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_option_price[data-clean] {
  font-size: 0 !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_option_price[data-clean]::after {
  content: attr(data-clean) !important;
  display: inline !important;
  color: inherit !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_option_desc,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_option_desc p {
  margin: -2px 10px 9px 38px !important;
  color: var(--dmv2-muted) !important;
  font-size: 10.5px !important;
  font-weight: 550 !important;
  line-height: 1.42 !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form select.wcpa_field,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_field_wrap select {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 42px 0 12px !important;
  color: var(--dmv2-text) !important;
  background-color: var(--dmv2-surface-option) !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #9eabba 50%),
    linear-gradient(135deg, #9eabba 50%, transparent 50%) !important;
  background-position: calc(100% - 17px) 19px, calc(100% - 12px) 19px !important;
  background-repeat: no-repeat !important;
  background-size: 5px 5px, 5px 5px !important;
  border: 1px solid var(--dmv2-border-strong) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  font-family: var(--font-body, inherit) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 44px !important;
  text-overflow: ellipsis !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form select.wcpa_field:hover {
  background-color: #192331 !important;
  border-color: rgba(65, 182, 255, 0.38) !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form select.wcpa_field:focus-visible {
  outline: 2px solid rgba(65, 182, 255, 0.7) !important;
  outline-offset: 2px !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form select.wcpa_field option {
  color: #f5f7fb !important;
  background: #101722 !important;
}

/* Searchable multi-selects are native WCPA controls, not ordinary text boxes. */
body.dm-configurator-v2.single-product .dm-product-buy-card .wcpa_advanced_select .wcpa__control {
  min-height: 44px !important;
  padding: 0 !important;
  background: var(--dmv2-surface-option) !important;
  border: 1px solid var(--dmv2-border-strong) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card .wcpa_advanced_select .wcpa__control--is-focused {
  border-color: var(--dmv2-blue) !important;
  box-shadow: 0 0 0 2px rgba(65,182,255,.15) !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card .wcpa_advanced_select .wcpa__value-container {
  padding: 6px 10px !important;
  gap: 3px !important;
  min-width: 0 !important;
}

body.dm-configurator-v2.single-product .dm-product-buy-card .wcpa_advanced_select .wcpa__input-container {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--dmv2-text) !important;
  font-size: 13px !important;
  line-height: 26px !important;
}

html body.dm-configurator-v2.single-product .dm-product-buy-card .wcpa_advanced_select input.wcpa__input[type="text"] {
  min-height: 0 !important;
  height: auto !important;
  min-width: 2px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  font: inherit !important;
  color: inherit !important;
}

body.dm-configurator-v2 .wcpa__placeholder {
  color: var(--dmv2-muted) !important;
  font-size: 13px !important;
  margin: 0 !important;
}

body.dm-configurator-v2 .wcpa__multi-value {
  max-width: 100% !important;
  margin: 0 !important;
  background: #22354a !important;
  border-radius: 5px !important;
}

body.dm-configurator-v2 .wcpa__multi-value__label {
  color: #eef5ff !important;
  font-size: 12px !important;
  white-space: normal !important;
}

body.dm-configurator-v2 .wcpa__multi-value__remove {
  min-width: 28px !important;
  color: #eef5ff !important;
  cursor: pointer;
}

html.dm-wcpa-menu-open body.dm-configurator-v2 .wcpa__menu {
  padding: 4px !important;
  max-height: none !important;
  overflow: hidden !important;
  color: var(--dmv2-text) !important;
  background: #151d29 !important;
  border: 1px solid #354154 !important;
  border-radius: 10px !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.45) !important;
}

html.dm-wcpa-menu-open body.dm-configurator-v2 .wcpa__menu-list {
  max-height: min(40vh,280px) !important;
  padding: 0 !important;
  overscroll-behavior: contain !important;
  scrollbar-color: #65758d #151d29 !important;
  scrollbar-width: thin !important;
}

body.dm-configurator-v2 .wcpa__option {
  min-height: 42px !important;
  padding: 11px 10px !important;
  font-size: 13px !important;
  line-height: 20px !important;
  color: #eef3fa !important;
  background: transparent !important;
  cursor: pointer !important;
  border-radius: 6px;
}

body.dm-configurator-v2 .wcpa__option--is-focused,
body.dm-configurator-v2 .wcpa__option--is-selected {
  background: #26415b !important;
}

body.dm-configurator-v2 .dmv2-selection-detail {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  margin: 9px 0 0 !important;
  padding: 10px 12px !important;
  color: #dce8f7 !important;
  background: rgba(65,182,255,.07) !important;
  border-left: 2px solid var(--dmv2-blue) !important;
  border-radius: 0 6px 6px 0 !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}

/* FH6 uses an OS-native package menu. JS shortens its mobile labels; 16px
   input text also avoids iPhone focus zoom without disabling user zoom. */
@media (max-width: 1024px) {
  body.dm-configurator-v2.single-product.postid-186099 .dm-sticky-form select.wcpa_field,
  body.dm-configurator-v2.single-product.postid-186099 .dm-sticky-form .wcpa_field_wrap select,
  body.dm-configurator-v2.single-product.postid-186099 .dm-sticky-form input.qty {
    max-width: 100% !important;
    font-size: 16px !important;
  }
}

body.dm-configurator-v2 .dmv2-field--optional .wcpa_field_label::after {
  content: "Optional";
  padding: 3px 7px;
  color: #ffd7be;
  background: rgba(255,116,39,.13);
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_quantity_wrap {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_quantity_wrap > .wcpa_checkbox {
  min-width: 0 !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_label_wrap {
  display: none !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
  margin: 0 9px 0 0 !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_quantity_wrap:has(input[type="checkbox"]:checked) .wcpa_label_wrap {
  display: flex !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_label_wrap > label {
  display: none !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_qty_style_custom_1 {
  display: grid !important;
  grid-template-columns: 26px 34px 26px !important;
  align-items: center !important;
  width: 88px !important;
  height: 32px !important;
  overflow: hidden !important;
  background: #0b111b !important;
  border: 1px solid var(--dmv2-border) !important;
  border-radius: 8px !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_minus_btn,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_plus_btn,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_quantity_field {
  width: auto !important;
  height: 32px !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--dmv2-text) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 32px !important;
  text-align: center !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_quantity_field {
  border-right: 1px solid var(--dmv2-border) !important;
  border-left: 1px solid var(--dmv2-border) !important;
  -moz-appearance: textfield !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_field_bottom {
  display: block !important;
  width: 100% !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_field_price {
  display: none !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_field_error:not(:empty) {
  display: block !important;
  margin-top: 7px !important;
  padding: 7px 9px !important;
  color: #ffd9dc !important;
  background: rgba(255, 75, 43, 0.1) !important;
  border: 1px solid rgba(255, 75, 43, 0.25) !important;
  border-radius: 8px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_price_summary {
  display: block !important;
  width: 100% !important;
  margin: 2px 0 0 !important;
  padding: 12px 13px !important;
  overflow: visible !important;
  background: linear-gradient(135deg, rgba(65, 182, 255, 0.09), rgba(255, 255, 255, 0.025)) !important;
  border: 1px solid rgba(65, 182, 255, 0.19) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_price_summary::before,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_price_summary::after,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_total::before,
body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_total::after {
  content: none !important;
  display: none !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_total {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_total > span:first-child {
  color: #cbd5e2 !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_price_outer {
  width: auto !important;
  color: #fff !important;
  font-family: var(--font-heading, inherit) !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_price_outer del {
  margin-right: 5px !important;
  color: #758193 !important;
  font-size: 11px !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form form.cart > .quantity,
body.dm-configurator-v2.single-product .dm-sticky-form .dm-product-cta-row > .quantity {
  display: grid !important;
  grid-template-columns: 28px 36px 28px !important;
  flex: 0 0 94px !important;
  width: 94px !important;
  min-width: 94px !important;
  height: 46px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #0b111b !important;
  border: 1px solid var(--dmv2-border) !important;
  border-radius: 11px !important;
  box-shadow: none !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .quantity .minus,
body.dm-configurator-v2.single-product .dm-sticky-form .quantity .plus,
body.dm-configurator-v2.single-product .dm-sticky-form .quantity .qty {
  width: auto !important;
  min-width: 0 !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--dmv2-text) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 46px !important;
  text-align: center !important;
}

body.dm-configurator-v2.single-product .dm-sticky-form .quantity .qty {
  border-right: 1px solid var(--dmv2-border) !important;
  border-left: 1px solid var(--dmv2-border) !important;
}

body.dm-configurator-v2.single-product .dm-product-cart__actions,
body.dm-configurator-v2.single-product .dm-product-cart__actions .dm-product-cta-row,
body.dm-configurator-v2.single-product .dm-product-cart__actions .dm-product-cta-extras {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.dm-configurator-v2.single-product .dm-product-purchase-column .dm-sticky-form.dm-product-buy-card .dm-add-to-cart-wrap form.cart.dm-product-cart .dm-product-cart__actions {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}

body.dm-configurator-v2.single-product .dm-product-cart__actions .dm-product-cta-row {
  display: flex !important;
  align-items: stretch !important;
  gap: 8px !important;
}

body.dm-configurator-v2.single-product .dm-product-purchase-column .dm-sticky-form.dm-product-buy-card .dm-add-to-cart-wrap form.cart.dm-product-cart .dm-product-cart__actions .dm-product-cta-row {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.dm-configurator-v2.single-product .dm-product-cart__actions .single_add_to_cart_button {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 15px !important;
  color: #170d08 !important;
  background: linear-gradient(135deg, #ffbd35, var(--dmv2-accent)) !important;
  border: 0 !important;
  border-radius: 11px !important;
  box-shadow: 0 10px 24px rgba(255, 116, 39, 0.22) !important;
  font-family: var(--font-heading, inherit) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  transition: filter 0.16s ease, transform 0.16s ease !important;
}

body.dm-configurator-v2.single-product .dm-product-cart__actions .single_add_to_cart_button:hover {
  filter: brightness(1.08) !important;
  transform: translateY(-1px) !important;
}

body.dm-configurator-v2.single-product .dm-product-cart__actions .single_add_to_cart_button:focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 2px !important;
}

body.dm-configurator-v2.single-product .dm-product-cart__actions .dm-product-cta-extras {
  display: grid !important;
  gap: 8px !important;
  margin-top: 10px !important;
}

body.dm-configurator-v2.single-product .dm-product-cart__actions .dm-product-cta-wallet-label {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 !important;
  color: #7f8a9a !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.dm-configurator-v2.single-product .dm-product-cart__actions .dm-product-cta-wallet-label::before,
body.dm-configurator-v2.single-product .dm-product-cart__actions .dm-product-cta-wallet-label::after {
  content: "" !important;
  flex: 1 1 auto !important;
  height: 1px !important;
  background: var(--dmv2-border) !important;
}

body.dm-configurator-v2.single-product .dm-sidebar-payments {
  margin-top: 14px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--dmv2-border) !important;
}

/* These supporting elements lived in the removed legacy stylesheet. */
body.dm-configurator-v2 .dm-product-trustpilot-banner {
  display: grid !important;
  grid-template-columns: 28px minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 14px 0 !important;
  padding: 12px !important;
  color: #eafbf4 !important;
  background: rgba(0,182,122,.07) !important;
  border: 1px solid rgba(0,182,122,.25) !important;
  border-radius: 10px !important;
  text-decoration: none !important;
}
body.dm-configurator-v2 .dm-product-trustpilot-banner__mark,
body.dm-configurator-v2 .dm-product-trustpilot-banner__mark svg {
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  fill: #00b67a !important;
}
body.dm-configurator-v2 .dm-product-trustpilot-banner__copy { display:grid; gap:3px; }
body.dm-configurator-v2 .dm-product-trustpilot-banner__copy strong { color:#fff; font-size:13px; line-height:1.2; }
body.dm-configurator-v2 .dm-product-trustpilot-banner__copy > span { color:#b1c8bf; font-size:11px; line-height:1.3; }
body.dm-configurator-v2 .dm-product-trustpilot-banner__action { display:flex; align-items:center; gap:4px; font-size:10px; }
body.dm-configurator-v2 .dm-product-trustpilot-banner__action svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; }
body.dm-configurator-v2 .dm-product-trustpilot-banner:focus-visible { outline:2px solid #00b67a; outline-offset:3px; }

@media(max-width:520px) {
  body.dm-configurator-v2 .dm-product-trustpilot-banner__action > span { display:none; }
}

@media (min-width: 1025px) {
  body.dm-configurator-v2.single-product .dm-product-purchase-column:not(.dmv2-is-long) {
    position: sticky !important;
    top: 148px !important;
  }
}

@media (max-width: 1024px) {
  body.dm-configurator-v2.single-product .dm-sticky-form.dm-product-buy-card {
    max-width: 720px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

@media (max-width: 520px) {
  body.dm-configurator-v2.single-product .dm-sticky-form.dm-product-buy-card {
    padding: 14px !important;
    border-radius: 16px !important;
  }

  body.dm-configurator-v2.single-product .dm-product-buy-card__heading {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 9px !important;
  }

  body.dm-configurator-v2.single-product .dm-product-buy-card__heading-icon {
    width: 34px !important;
    height: 34px !important;
  }

  body.dm-configurator-v2.single-product .dm-product-buy-card__status {
    grid-column: 2 !important;
    justify-self: start !important;
  }

  body.dm-configurator-v2.single-product .dm-product-buy-card__price {
    min-height: 56px !important;
    padding: 10px 11px !important;
  }

  body.dm-configurator-v2.single-product .dm-product-buy-card__price .price,
  body.dm-configurator-v2.single-product .dm-product-buy-card__price .dm-product-price {
    font-size: 20px !important;
  }

  body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_field_wrap {
    padding: 0 !important;
  }

  body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_radio > label,
  body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_checkbox label,
  body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_checkbox_wrap label {
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
  }

  body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_option_price {
    grid-column: 3 !important;
    justify-self: end !important;
  }

  body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_quantity_wrap {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_label_wrap,
  body.dm-configurator-v2.single-product .dm-sticky-form .wcpa_quantity_wrap:has(input[type="checkbox"]:checked) .wcpa_label_wrap {
    justify-content: flex-start !important;
    margin: 0 0 9px 37px !important;
  }

  body.dm-configurator-v2.single-product .dm-product-cart__actions .dm-product-cta-row {
    gap: 7px !important;
  }

  body.dm-configurator-v2.single-product .dm-sticky-form form.cart > .quantity,
  body.dm-configurator-v2.single-product .dm-sticky-form .dm-product-cta-row > .quantity {
    flex-basis: 90px !important;
    width: 90px !important;
    min-width: 90px !important;
  }
}
