.magnetika-photo-uploader ~ .single_add_to_cart_button {
  display: flex !important;
  float: right !important;
  clear: both !important;
  width: min(280px, 100%) !important;
  margin: 18px 0 24px auto !important;
}

form.cart:has(.magnetika-photo-uploader) .single_add_to_cart_button {
  display: flex !important;
  float: right !important;
  clear: both !important;
  margin-right: 0 !important;
  margin-left: auto !important;
}

/* Required-photo products must follow the uploader -> cart flow. */
body.magnetika-upload-enabled-product #wc-stripe-payment-request-wrapper,
body.magnetika-upload-enabled-product #wc-stripe-payment-request-button-separator,
body.magnetika-upload-enabled-product #wc-stripe-express-checkout-element,
body.magnetika-upload-enabled-product .wc-stripe-express-checkout-element,
body.magnetika-upload-enabled-product .wc-stripe-express-checkout-container,
body.magnetika-upload-enabled-product .wc-stripe-product-checkout,
body.magnetika-upload-enabled-product .wc-stripe-product-checkout-container,
body.magnetika-upload-enabled-product #wcpay-payment-request-wrapper,
body.magnetika-upload-enabled-product .wcpay-express-checkout-wrapper,
body.magnetika-upload-enabled-product #fkwcs_stripe_smart_button,
body.magnetika-upload-enabled-product #fkwcs-payment-request-separator,
body.magnetika-upload-enabled-product .fkwcs_smart_button_wrapper,
body.magnetika-upload-enabled-product .fkwcs-express-checkout {
  display: none !important;
}

/* Clear interaction feedback for every clickable uploader control. */
.magnetika-photo-uploader__drop,
.magnetika-photo-uploader button,
.magnetika-photo-card__quantity button,
.magnetika-photo-card__remove,
.magnetika-photo-uploader__more {
  cursor: pointer !important;
}

.magnetika-photo-card__quantity button,
.magnetika-photo-card__remove,
.magnetika-photo-uploader__more {
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

.magnetika-photo-card__quantity button:hover {
  background: #ead9dd !important;
  color: #601328 !important;
}

.magnetika-photo-card__remove:hover {
  border-color: #a13c49 !important;
  background: #a13c49 !important;
  color: #fff !important;
  transform: scale(1.06);
}

.magnetika-photo-uploader__more:hover {
  border-color: #7b1f35 !important;
  background: #fff2f3 !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(123,31,53,.08) !important;
}

.magnetika-photo-uploader__drop:hover .magnetika-photo-uploader__icon {
  transform: scale(1.07);
}

.magnetika-photo-uploader__icon {
  transition: transform .18s ease;
}

@media (max-width: 680px) {
  .magnetika-photo-uploader ~ .single_add_to_cart_button {
    float: none !important;
    width: 100% !important;
    margin: 16px 0 24px !important;
  }

  form.cart:has(.magnetika-photo-uploader) .single_add_to_cart_button {
    float: none !important;
    margin: 16px 0 24px !important;
  }
}

.magnetika-photo-uploader__status[data-message]:not([data-message=""])::after {
  content: attr(data-message);
  display: block;
  color: #7b1f35;
  font-size: .72rem;
  font-weight: 750;
}

.magnetika-upload-progress {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px 12px;
  align-items: center;
  color: #7b1f35;
  font-size: .72rem;
  font-weight: 800;
}

.magnetika-upload-progress[hidden] {
  display: none !important;
}

.magnetika-upload-progress > div {
  grid-column: 1 / -1;
  overflow: hidden;
  height: 8px;
  border-radius: 999px;
  background: #eadde0;
}

.magnetika-upload-progress i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #7b1f35, #b44963);
  box-shadow: 0 2px 8px rgba(123, 31, 53, .24);
  transition: width .18s ease;
}

.magnetika-photo-card {
  grid-template-columns: 148px minmax(0, 1fr) !important;
  min-height: 140px;
  gap: 20px !important;
  padding: 10px 54px 10px 10px !important;
}

.magnetika-photo-card > img {
  width: 148px !important;
  height: 120px !important;
  border-radius: 12px !important;
}

.magnetika-photo-card__quantity-row {
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  width: 100%;
  font-size: .78rem;
}

@media (max-width: 680px) {
  .magnetika-photo-card {
    grid-template-columns: 116px minmax(0, 1fr) !important;
    min-height: 132px;
    gap: 14px !important;
    padding: 8px 42px 8px 8px !important;
  }

  .magnetika-photo-card > img {
    width: 116px !important;
    height: 116px !important;
    border-radius: 11px !important;
  }

  .magnetika-photo-card__quantity-row {
    align-items: flex-start !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
}

@media (max-width: 380px) {
  .magnetika-photo-card {
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 11px !important;
  }

  .magnetika-photo-card > img {
    width: 104px !important;
    height: 110px !important;
  }
}
