/* NXT Promo Front-end Styles (placeholder)
 * Add custom promo related styling overrides here.
 */

/* Mini-cart custom promo products styling */
.nxt-promo-custom-mini-products__item {
  margin: 6px 0;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.35;
  position: relative;
  background: #f0f0f1;
  padding: 10px;
  border-radius: 8px;
}

.nxt-promo-custom-mini-products__item + .nxt-promo-custom-mini-products__item {
  margin-top: 10px;
}

.nxt-promo-mini-product__name {
  font-size: 12px;
  font-weight: 600;
  display: block;
  margin: 0 0 2px;
  text-decoration: none;
}
.nxt-promo-mini-product__head { display:flex; align-items:start; justify-content:space-between; gap:8px; margin:0 0 2px; }
.nxt-promo-mini-product__price {text-align: left; padding: 4px 3px; font-weight: 700; padding-left: 55px;}
.nxt-promo-mini-product__thumb { flex:0 0 auto; width:50px; height:50px; border-radius:4px; overflow:hidden; background:#fff; display:inline-flex; align-items:center; justify-content:center; }
.nxt-promo-mini-product__thumb img { object-fit: cover; height: 100% !important; display:block; }
.nxt-promo-custom-mini-products__item .nxt-promo-mini-product__name { flex:1 1 auto; margin:0; }
.nxt-promo-message {
  padding: 3px 10px;
      background: rgb(210, 210, 226);
      display: inline-block;
      font-size: 11px;
      color: #e21e51;
      border-radius: 13px;
 }
.nxt-promo-message-wrapper { display:flex; align-items:center; justify-content:space-between;  }
.nxt-promo-message-wrapper .nxt-promo-message { flex:1 1 auto; margin:0; padding-bottom: 0; }
.nxt-promo-mini-product__name:hover { text-decoration: underline; }
.nxt-promo-mini-product__price { font-size: 14px; margin: 0 0 4px; }
.nxt-promo-custom-mini-products__item .nxt-promo-message {
  font-size: 11px;
  margin: 4px 0 6px;
}
.nxt-promo-mini-add.button {
  font-size: 0; /* hide text */
  line-height: 1;
  padding: 6px 8px;
  min-width: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e21e51;
  border-radius: 4px;
  color: #fff;
}
.nxt-promo-mini-add.button svg { display:block; fill: currentColor; }
.nxt-promo-mini-add.button:hover { background:#1b64c2; }
.nxt-promo-mini-add.button:disabled, .nxt-promo-mini-add.button[disabled] { opacity:.55; cursor:not-allowed; }

.nxt-promo-message-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nxt-promo-message-wrapper .button {
  padding: 5px 10px 0 10px;
  border-radius: 5px;
  font-size: 13px;
  width: 100%;
  background: #032075 !important;
}

.nxt-promo-message-wrapper .button:hover { background: #e21e51 !important; }


.add_to_cart_button .kt-btn-text {
  display: inline-block !important;
  text-indent: 0 !important;

  line-height: 7px;
  position: relative;
  top: -2px;
  text-align: center;
  padding-left: 33px;
}

.nxt-mini-qty {
  width: 100%;
  display: flex;
  align-items: center;
  margin: 10px 0;
  padding-left: 78px;
}

.nxt-mini-qty button {
  width: 30px;
  height: 31px;
  border-radius: 0 8px 8px 0;
  padding: 0;
  color: #6d7f91;
  background: #fff;
  border: 1px solid #c1d1e1;
}

.nxt-mini-qty button:hover {
  color: #6d7f91;
  background: #fff;
  box-shadow: none;
}

.nxt-mini-qty button:first-child {
  border-radius: 8px 0 0 8px;
}

.nxt-mini-qty input[type="text"] {
  color: #6d7f91;
  width: 40px;
  text-align: center;
  font-size: 12px;
  border-radius: 0;
  border-color: #c1d1e1;
  border-width: 1px 0;
  background: #fff;
}

.nxt-mini-qty input[type="text"]:focus {
  color: #6d7f91;
  border-color: #c1d1e1;
  box-shadow: none;
}

.nxt-mini-qty.nxt-promo-loading {
  opacity: 0.6;
  pointer-events: none;
}

.nxt-mini-qty.nxt-promo-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border: 2px solid #e21e51;
  border-top-color: transparent;
  border-radius: 50%;
  animation: nxt-promo-spin 0.6s linear infinite;
  z-index: 1;
}

#wc-stripe-express-checkout-button-separator {
  display: none !important;
}

.woocommerce-mini-cart__buttons.buttons .button.checkout.wc-forward {
  display: none;
}

.woocommerce-mini-cart__buttons.buttons a.button:first-child {
  color: #e21e51 !important;
  background: #e21e51 !important;
  position: relative;
}

.woocommerce-mini-cart__buttons.buttons a.button:first-child:before {
  content: 'Поръчка';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
}

.woocommerce-mini-cart__buttons.buttons a.button:first-child:hover {
  color: #032075 !important;
  background: #032075 !important;
}

.woocommerce ul.cart_list li .quantity, .woocommerce ul.product_list_widget li .quantity {
  padding-left: 78px !important;
}

.mini-cart-container .nxt-promo-message {
  margin: 10px 0;
}

/* Loader/spinner styles for add to cart buttons */
.nxt-promo-loading {
  position: relative;
  pointer-events: none;
  opacity: 0.7;
  cursor: wait !important;
}

.nxt-promo-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border: 2px solid #ffffff;
  border-top-color: transparent;
  border-radius: 50%;
  animation: nxt-promo-spin 0.6s linear infinite;
  z-index: 1;
}

.nxt-promo-loading .kt-btn-text,
.nxt-promo-loading svg,
.nxt-promo-loading span:not(.nxt-promo-loader) {
  opacity: 0.3;
}

@keyframes nxt-promo-spin {
  to {
    transform: rotate(360deg);
  }
}

/* Global loader overlay */
.nxt-promo-loader-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}

.nxt-promo-loader-overlay.active {
  opacity: 1;
  visibility: visible;
}

.nxt-promo-loader-overlay .nxt-promo-loader-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid #f3f3f3;
  border-top-color: #e21e51;
  border-radius: 50%;
  animation: nxt-promo-spin 0.8s linear infinite;
}