 .disabled {
     opacity: 0.5;
     cursor: not-allowed;
     pointer-events: none;
 }

 .elCluster_pricing {
     position: relative;
     margin-bottom: 1em;
 }

 .elCluster_pricing.is-loading>form {
     opacity: 0.5;
 }

 .ccPackage_pricing {
    color: white;
 }

 .elCluster_header {
     display: flex;
     align-items: center;
     justify-content: space-between;
 }

 .elCluster_buttons {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     grid-gap: 1em;
     list-style: none;
     padding: 0;
     margin: 0 0 1em 0;
 }

legend.elCluster_label {
    color: white !important;
 }

 .elCluster_button {
     position: relative;
     width: 100%;
     padding: 1em;
     border: 0;
     outline: 0;
     border-radius: 5px;
     cursor: pointer;
     font-size: 18px !important;
     line-height: 1 !important;
     background: rgb(var(--theme-area_background_light));
     font-weight: 500;
     text-align: left;
     overflow: hidden;
 }

 .elCluster_button.active {
     pointer-events: none;
 }

 .elCluster_button:hover,
 .elCluster_button.active {
     background: rgb(var(--theme-brand_primary));
 }

 .elClusterButton_header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-bottom: 0.5em;
 }

 .elClusterButton_type {
     flex: 1;
     text-transform: uppercase;
     font-size: 12px;
     color: #9ea4b1;
     font-weight: 500;
     letter-spacing: 1px;
 }

 .elCluster_button.active .elClusterButton_type,
 .elCluster_button:hover .elClusterButton_type,
 .elCluster_button.active .elClusterButton_header>.stock,
 .elCluster_button:hover .elClusterButton_header>.stock {
     color: #fff;
 }

 .elClusterButton_header>.stock {
     text-transform: uppercase;
     font-size: 11px;
     color: #9ea4b1;
 }

 .elClusterButton_number {
     color: #fff;
     display: flex;
     align-items: center;
     gap: 0.5em;
     line-height: 1;
 }

 .elCluster_button.active .elClusterButton_number {
     color: #fff;
 }

 .elClusterButton_number>.priceDiscounted {
     position: relative;
     top: 1px;
     border: 0;
     font-size: 12px;
     background: rgb(231, 36, 36);
     color: #fff;
     font-weight: 500;
     padding: 5px 10px;
     border-radius: 100vw;
 }

 .elCluster_header {
     display: flex;
     align-items: center;
     justify-content: space-between;
 }

 #elClusterLoading {
     position: absolute;
     right: 0;
     opacity: 0;
     visibility: hidden;
 }

 .elCluster_pricing.is-loading #elClusterLoading {
     opacity: 1;
     visibility: visible;
 }

 .elCluster_loading {
     display: flex;
     height: 20px;
     text-align: center;
     font-size: 10px;
 }

 .elCluster_loading>div {
     background: rgb(var(--theme-brand_primary));
     height: 100%;
     width: 2px;
     animation: clusterLoading 1.2s ease-in-out infinite;
     border-radius: var(--box--radius);
 }

 .elCluster_loading>*+* {
     margin-left: 2px;
 }

 .elCluster_loading .rect2 {
     animation-delay: -1.1s
 }

 .elCluster_loading .rect3 {
     animation-delay: -1s
 }

 .elCluster_loading .rect4 {
     animation-delay: -.9s
 }

 .elCluster_loading .rect5 {
     animation-delay: -.8s
 }

 @-webkit-keyframes clusterLoading {

     0%,
     40%,
     to {
         -webkit-transform: scaleY(.4)
     }

     20% {
         -webkit-transform: scaleY(1)
     }
 }

 @keyframes clusterLoading {

     0%,
     40%,
     to {
         transform: scaleY(.4)
     }

     20% {
         transform: scaleY(1)
     }
 }

 .elCluster_quantity_manager {
     padding: 2em !important;
 }

 .elCluster_quantity_manager>li>span {
     font-size: 14px;
     font-weight: 500;
     margin-bottom: 1em;
     display: block;
 }

 .quantity_manager {
     display: flex;
     background-color: rgb(var(--theme-area_background_reset));
     border: 1px solid var(--form-field--borderColor);
     border-radius: var(--form-field--radius);
     width: 100%;
     max-width: 150px;
     padding: var(--sp-2);
     color: inherit;
     margin-bottom: 1em;
 }

 .quantity_manager:hover,
 .quantity_manager:focus {
     box-shadow: var(--form-field--focusShadow);
     border-color: var(--form-field--focusBorder, rgb(var(--theme-active_input_border)));
     outline: 0;
 }

 .quantity_manager>input {
     border: 0 !important;
     padding: 0 !important;
     text-align: center;
     outline: none;
     font-size: 14px;
     font-weight: 600;
     min-width: 30px;
     height: 30px;
 }

 .quantity_manager>input:hover,
 .quantity_manager>input:focus {
     box-shadow: unset !important;
     border-color: unset !important;
     outline: 0;
 }

 .quantity_manager>* {
     height: 30px;
 }

 .quantity_manager>.quantity_down,
 .quantity_manager>.quantity_up {
     width: 50px;
     display: flex;
     align-items: center;
     justify-content: center;
     background: rgb(var(--theme-area_background_dark));
     color: rgb(var(--theme-text_very_light));
     border-radius: 5px;
     cursor: pointer;
 }

 .elCluster_quantity_manager {
     padding: 2em !important;
     margin-top: -10px !important;
     opacity: 0;
     visibility: hidden;
     transition: ease-in-out 0.3s;
     transform: translateY(15px);
 }

 .elCluster_quantity_manager::before,
 .elCluster_quantity_manager::after {
     left: 55px !important;
 }

 .elCluster_quantity_manager.clusterMenu_active {
     opacity: 1;
     visibility: visible;
     transition: ease-in 0.3s;
     transform: translateY(0);
 }

 .elCluster_quantity_manager>li>span {
     font-size: 14px;
     font-weight: 500;
     margin-bottom: 1em;
     display: block;
 }

 #elCluster_quantity_selector {
     background: rgb(var(--theme-area_background_dark));
     border: 0;
     outline: 0;
     padding: 1em;
     border-radius: 100vw;
     color: rgb(var(--theme-text_very_light));
     font-size: 11px;
     letter-spacing: 1px;
     font-weight: 500;
     transition: 0.25s ease;
     cursor: pointer;
     margin-bottom: 1em;
 }

 .elCluster_quantity_selector {
     position: relative;
 }

 .elClusterForm_loading {
     position: absolute;
 }

.elCluster_form {
  display: flex;
  flex-direction: column;
}

.elCluster_userfields {
  display: grid;
  gap: 1em;
  margin: 1.5em 0;
}

.elCluster_label {
  display: block;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--theme-text_medium);
  margin-bottom: 0.25em;
}

.elCluster_input {
  width: 100%;
  padding: 0.75em 1em;
  font-size: 1rem;
  border: 1px solid var(--form-field--borderColor);
  border-radius: var(--form-field--radius);
  background: rgb(var(--theme-area_background_reset));
  transition: border-color 0.2s, box-shadow 0.2s;
}

.elCluster_input:focus {
  border-color: rgb(var(--theme-brand_primary));
  box-shadow: var(--form-field--focusShadow);
  outline: none;
}

.elCluster_radio-group {
  border: 0;
  margin: 0;
  padding: 0;
}

.elCluster_radio {
  display: inline-flex;
  align-items: center;
  position: relative;
  padding-left: 1.8em;
  margin-right: 1.5em;
  cursor: pointer;
  user-select: none;
}

.elCluster_radio span {
  font-size: 0.95rem;
  color: var(--theme-text_medium);
}

.elCluster_radio input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 1.2em;
  height: 1.2em;
  border: 2px solid var(--form-field--borderColor);
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  cursor: pointer;
  transition: border-color 0.2s;
}

.elCluster_radio input[type="radio"]:checked {
  border-color: rgb(var(--theme-brand_primary));
}

.elCluster_radio input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  width: 0.6em;
  height: 0.6em;
  border-radius: 50%;
  background: rgb(var(--theme-brand_primary));
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

  .tos-field {
    display: flex;
    align-items: center;
    margin-bottom: 1em;
  }
  .tos-field input[type="checkbox"] {
    margin: 0;
    flex-shrink: 0;
    width: 1.2em;
    height: 1.2em;
  }
  .tos-field span {
    margin-left: 0.5em;
    font-size: 0.95rem;
    color: var(--theme-text_medium);
  }

  /* (optional) highlight the duration buttons when focused */
  .elCluster_button:focus {
    outline: 2px solid rgb(var(--theme-brand_primary));
  }