/* Enhanced address field styling for popup integration */
.cdw-plc-buy-now-popup .woocommerce-address-fields #billing_address_2_field label,
.cdw-plc-buy-now-popup .woocommerce-address-fields #shipping_address_2_field label,
.cdw-plc-buy-now-popup .woocommerce-checkout #billing_address_2_field label,
.cdw-plc-buy-now-popup .woocommerce-checkout #shipping_address_2_field label {
  width: 100%;
  opacity: 1;
  font-weight: 500;
  color: #374151;
  margin-bottom: 6px;
  font-size: 14px;
}

.woocommerce-address-fields #billing_address_2_field label,
.woocommerce-address-fields #shipping_address_2_field label,
.woocommerce-checkout #billing_address_2_field label,
.woocommerce-checkout #shipping_address_2_field label {
  width: auto;
  opacity: 1;
  font-size: 14px;
}

.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #shipping_address_1_field {
  width: 100%;
  padding: 0;
  margin: 0;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper p,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper p {
  width: 48%;
  overflow: hidden;
}

.woocommerce-checkout #billing_address_2_field label,
.woocommerce-checkout #shipping_address_2_field label {
  width: auto;
  opacity: 1;
  font-size: 14px;
}

/* Select2 container styling */
.woocommerce-checkout
  .woocommerce-billing-fields__field-wrapper
  .select2-container,
.woocommerce-checkout
  .woocommerce-shipping-fields__field-wrapper
  .select2-container {
  width: 100% !important;
}

/* Global Select2 dropdown styling - applies to all Select2 instances */
.select2-container--default .select2-dropdown {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  z-index: 999999 !important;
  background: white;
}

.select2-container--default .select2-results__option {
  padding: 12px 16px;
  font-size: 14px;
  color: #374151;
  background: white;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #4f46e5 !important;
  color: white !important;
}

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #e0e7ff;
  color: #4f46e5;
}

/* Ensure dropdown has proper z-index */
.select2-dropdown {
  z-index: 999999 !important;
}

.select2-container--open .select2-dropdown--below {
  z-index: 999999 !important;
}

.select2-container--open .select2-dropdown--above {
  z-index: 999999 !important;
}

/* Popup specific Select2 container styling */
.cdw-plc-buy-now-popup .select2-container {
  width: 100% !important;
}

.cdw-plc-buy-now-popup .select2-container .select2-selection--single {
  height: 48px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: white;
}

.cdw-plc-buy-now-popup .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 12px 16px;
  line-height: 24px;
  color: #374151;
  font-size: 14px;
}

.cdw-plc-buy-now-popup .select2-container .select2-selection--single .select2-selection__arrow {
  height: 46px;
  right: 12px;
}
@media (max-width: 549px) {
  #billing_address_2_field > label,
  #shipping_address_2_field > label {
    display: block;
  }
}

/* Loading animation */
.cdw-loading:after {
  -webkit-animation: select2_spin_pro 500ms infinite linear;
  animation: select2_spin_pro 500ms infinite linear;
  border: 2px solid #9e9e9e;
  border-radius: 32px;
  border-right-color: transparent !important;
  border-top-color: transparent !important;
  content: "";
  display: block;
  height: 16px;
  top: 50%;
  margin-top: -8px;
  left: 50%;
  margin-left: -8px;
  position: absolute;
  width: 16px;
}

.cdw-loading {
  position: relative;
  opacity: 0.5;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.cdw-loading:before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
  display: inherit !important;
  z-index: 2;
  border-radius: inherit;
}

@-webkit-keyframes select2_spin_pro {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes select2_spin_pro {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
