/* assets/css/components/_woo-shop.css
 * WooCommerce cart / checkout / order-received markup inside the design
 * (woocommerce/cart/*, woocommerce/checkout/*). Scoped to .pivot-woo.
 * WooCommerce's own CSS is not loaded on these pages (inc/hooks/checkout.php).
 */

/* --- Notices ------------------------------------------------------- */
.pivot-woo .woocommerce-notices-wrapper:empty { display: none; }
.pivot-woo--cart > .woocommerce > .woocommerce-notices-wrapper,
.pivot-woo--cart .cart-empty ~ .woocommerce-notices-wrapper { max-width: 1322px; margin: 0 auto; }
.pivot-woo .woocommerce-message,
.pivot-woo .woocommerce-info,
.pivot-woo .woocommerce-error {
  list-style: none;
  margin: 0 0 24px;
  padding: 14px 20px;
  border: 0;
  border-radius: 14px;
  background: #E0EBE2;
  color: #183B51;
  font-family: var(--font-main);
  font-size: 16px;
  line-height: 1.5;
  text-align: right;
}
.pivot-woo .woocommerce-error { background: #FBE3E6; }
.pivot-woo .woocommerce-error li + li { margin-top: 4px; }
.pivot-woo .woocommerce-message a,
.pivot-woo .woocommerce-info a,
.pivot-woo .woocommerce-error a { color: #000080; font-weight: 600; }
.pivot-woo .woocommerce-NoticeGroup { width: 100%; }
/* checkout.js prepends its error list INSIDE the (flex) form — give it a full row of its own */
.pivot-woo form.checkout.signin-layout { flex-wrap: wrap; }
.pivot-woo form.checkout > .woocommerce-NoticeGroup { flex: 1 1 100%; order: -1; }
.pivot-woo-message { font-size: 18px; color: #183B51; }

/* --- Cart ------------------------------------------------------------ */
.pivot-woo a.cart-item-remove { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: inherit; }
.pivot-woo .cart-item-image img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.pivot-woo .cart-item-title a { color: inherit; text-decoration: none; }
.pivot-woo .cart-item-title a:hover { text-decoration: underline; }
.pivot-woo .cart-item .variation { margin: 4px 0 0; font-size: 14px; color: #434656; }

.pivot-woo .qty-stepper input.qty {
  width: 34px;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: center;
  font: 500 16px/1 var(--font-main);
  color: #183B51;
  -moz-appearance: textfield;
}
.pivot-woo .qty-stepper input.qty::-webkit-outer-spin-button,
.pivot-woo .qty-stepper input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.pivot-woo .coupon-remove { margin-inline-start: 8px; color: #C22DAF; font-size: 14px; }
.pivot-woo a.btn-checkout { text-decoration: none; }
.pivot-woo .cart-layout--empty .cart-empty-card { display: flex; flex-direction: column; align-items: center; gap: 16px; }

/* --- Checkout fields (woocommerce_form_field output) ----------------- */
.pivot-woo .form-row-group { display: grid; gap: 16px 24px; width: 100%; }
.pivot-woo .form-row-group--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pivot-woo .form-row-group--3 { grid-template-columns: minmax(0, 240px) minmax(0, 1fr) minmax(0, 1fr); }
.pivot-woo .form-row-group[hidden] { display: none; }
.pivot-woo .form-row-group + .form-row-group,
.pivot-woo .form-row-group + .woocommerce-account-fields,
.pivot-woo .woocommerce-account-fields + .form-row { margin-top: 16px; }

.pivot-woo p.form-row.field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2, 8px);
  margin: 0;
  width: 100%;
}
.pivot-woo p.form-row.field label { font: 400 16px/20px var(--font-main); color: #434656; text-align: right; }
.pivot-woo .woocommerce-input-wrapper { display: block; width: 100%; }
.pivot-woo .form-row abbr.required { color: #C22DAF; text-decoration: none; border: 0; }
.pivot-woo .form-row .optional { display: none; } /* "(אופציונלי)" — the design has no marker */
.pivot-woo .form-row .description { display: block; margin-top: 6px; font-size: 14px; color: #183B51; }

.pivot-woo .form-row.woocommerce-invalid input.input-text,
.pivot-woo .form-row.woocommerce-invalid select {
  outline: 2px solid #C22DAF;
  outline-offset: 1px;
}

/* Inline error under a field (cart-signin.js / server errors) */
.pivot-woo .field-error {
  display: block;
  min-height: 0;
  font: 400 14px/1.4 var(--font-main);
  color: #C22DAF;
  text-align: right;
}
.pivot-woo .field-error:empty { display: none; }
.pivot-woo .form-row.woocommerce-invalid .field-error { margin-top: 2px; }
.pivot-woo input[aria-invalid="true"] { outline: 2px solid #C22DAF; outline-offset: 1px; }

/* checkbox rows (business purchase, create account, terms) */
.pivot-woo p.form-row.checkbox-row,
.pivot-woo .woocommerce-form__label-for-checkbox,
.pivot-woo label.checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font: 400 16px/1.4 var(--font-main);
  color: #183B51;
  cursor: pointer;
}
.pivot-woo p.form-row.checkbox-row { align-self: end; min-height: 56px; }
.pivot-woo input[type="checkbox"] { width: 18px; height: 18px; accent-color: #000080; flex-shrink: 0; }

.pivot-woo .woocommerce-terms-and-conditions-wrapper { margin: 20px 0 16px; }
.pivot-woo .woocommerce-terms-and-conditions-wrapper a { color: #000080; }
.pivot-woo .woocommerce-privacy-policy-text { font-size: 14px; color: #434656; margin-bottom: 12px; }
.pivot-woo .woocommerce-privacy-policy-text p { margin: 0; }

/* --- Payment methods = design tabs -------------------------------- */
.pivot-woo ul.payment-tabs { list-style: none; margin: 0 0 20px; padding: 0; gap: 16px; }
.pivot-woo .payment-tab-item { display: contents; }
.pivot-woo .payment-tab-radio { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pivot-woo .payment-tab-item.is-selected .payment-tab,
.pivot-woo .payment-tab-radio:checked + .payment-tab { background: #A1CEE1; }
.pivot-woo .payment-tab-radio:focus-visible + .payment-tab { outline: 2px solid #C22DAF; outline-offset: 2px; }
.pivot-woo .payment-tab img { max-height: 24px; width: auto; }
.pivot-woo .payment_box {
  order: 10;
  flex: 1 1 100%;
  margin-top: 4px;
  padding: 24px;
  border: 1.5px dashed rgba(0, 0, 128, 0.25);
  border-radius: var(--radius-input, 8px);
  font-size: 16px;
  color: #183B51;
  text-align: right;
}
.pivot-woo .payment_box p { margin: 0; }
.pivot-woo #place_order { width: 100%; }
.pivot-woo .place-order { display: flex; flex-direction: column; gap: 16px; }

/* --- Checkout summary ---------------------------------------------- */
.pivot-woo .pivot-review-order { display: flex; flex-direction: column; gap: 16px; }
.pivot-woo .summary-shipping ul { list-style: none; margin: 0; padding: 0; }
.pivot-woo .signin-layout { align-items: flex-start; }

/* WooCommerce's blockUI overlay while it recalculates — the global loader covers placing the order */
.pivot-woo .blockUI.blockOverlay { background: rgba(252, 248, 243, 0.6) !important; }

@media (max-width: 767px) {
  .pivot-woo .form-row-group--2,
  .pivot-woo .form-row-group--3 { grid-template-columns: 1fr; }
}

/* Steps scrolled into view land below the fixed header */
.pivot-woo details[data-step] { scroll-margin-top: 120px; }

/* Order received — no access (template-parts/shop/order-access.php) */
.confirmation-banner--access .banner-header svg { color: #C22DAF; }
