.hg-cart-feedback {
  position: fixed;
  z-index: 100002;
  right: 20px;
  bottom: 88px;
  max-width: min(360px, calc(100vw - 40px));
  padding: 12px 18px;
  border-radius: 8px;
  background: #302b37;
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
  box-shadow: 0 3px 15px #0002;
}
.hg-cart-feedback[hidden], .hg-review-status[hidden] { display: none; }
.hg-cart-pending { opacity: .65; }
.hg-feedback-error { background: #863c30; }
.hg-review-status { margin: 0 0 14px; padding: 12px 14px; border: 1px solid #cbb5f1; border-radius: 6px; background: #f5f0ff; font-size: 14px; font-weight: 600; line-height: 1.5; color: #514166; }
.hg-review-status button { padding: 4px 10px; font-size: inherit; }
/* Скрываем только слои пересчёта; обработка отправки заказа сохраняет штатную блокировку. */
form.hg-review-updating:not(.processing) .woocommerce-billing-fields > .blockUI,
form.hg-review-updating:not(.processing) .woocommerce-checkout-review-order-table > .blockUI,
form.hg-review-updating:not(.processing) .woocommerce-checkout-payment > .blockUI { display: none !important; }
form.hg-review-updating #place_order,
form.hg-review-failed #place_order { pointer-events: none; opacity: .6; }
form.hg-review-updating .order-total { opacity: .6; }
.hg-line-updating { position: relative; }
.hg-line-progress, .hg-cart-update-message { padding: 8px 10px; margin: 7px 0; border-radius: 5px; background: #f5f0ff; color: #514166; font-size: 13px; line-height: 1.45; clear: both; }
.hg-line-progress { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; display: flex; align-items: center; gap: 8px; margin: 0; pointer-events: none; }
.hg-line-progress::before, .hg-review-status:not([hidden])::before { content: ''; display: inline-block; width: 13px; height: 13px; flex: 0 0 13px; border: 2px solid #d5c1f6; border-top-color: #725a9b; border-radius: 50%; animation: hg-cart-spin .8s linear infinite; }
.hg-review-status:not([hidden])::before { margin-right: 9px; vertical-align: -2px; }
.hg-cart-writing .quantity, .hg-cart-writing .hygpq-cart-quantity { opacity: .55; cursor: wait; }
form.hg-review-updating .shipping-wrapper { position: relative; overflow: hidden; min-height: 150px; }
form.hg-review-updating .shipping-wrapper > * { visibility: hidden; }
form.hg-review-updating .shipping-wrapper::after { content: var(--hg-shipping-message, 'Обновляем доставку…'); position: absolute; inset: 0; z-index: 10; display: flex; align-items: center; justify-content: center; padding: 30px; background: #faf8ff; color: #514166; font-size: 15px; font-weight: 600; text-align: center; border: 1px solid #d7c6f4; border-radius: inherit; }
form.hg-review-updating .shipping-wrapper::before { content: ''; position: absolute; left: calc(50% - 12px); top: calc(50% - 48px); z-index: 11; width: 24px; height: 24px; border: 3px solid #d5c1f6; border-top-color: #725a9b; border-radius: 50%; animation: hg-cart-spin .8s linear infinite; }
@keyframes hg-cart-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .hg-line-progress::before, .hg-review-status::before, form.hg-review-updating .shipping-wrapper::before { animation: none; } }
