/* ============================================================
   The Mellow Co. — WooCommerce overrides
   Brings the Cart / Checkout blocks, notices and account pages
   onto the design tokens in styles.css. Keep selectors shallow:
   block markup changes between WooCommerce releases.
   ============================================================ */

/* ---------- generic page content ---------- */

.entry-content { padding-bottom: 4rem; }
.page-content--cart .page-banner,
.page-content--checkout .page-banner { padding-bottom: 0.5rem; }

/* WooCommerce's "View cart" link after an AJAX add — the toast covers it */
.added_to_cart { display: none !important; }
.add_to_cart_button.loading { opacity: 0.6; pointer-events: none; }

/* ---------- notices (classic + blocks) ---------- */

.woocommerce-notices-wrapper:not(:empty),
.wc-block-components-notice-banner { margin: 0 auto 1.4rem; }
.woocommerce-notices-wrapper { max-width: 1180px; padding: 0 1.25rem; margin: 0 auto; }
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner {
  list-style: none;
  background: var(--paper) !important;
  border: 1px solid var(--line) !important;
  border-left: 4px solid var(--terracotta) !important;
  border-radius: var(--radius) !important;
  padding: 0.9rem 1.1rem !important;
  color: var(--ink) !important;
  font-size: 0.92rem;
}
.woocommerce-error,
.wc-block-components-notice-banner.is-error { border-left-color: #B3261E !important; }
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a,
.wc-block-components-notice-banner a { color: var(--terracotta); font-weight: 700; }

/* ---------- Cart & Checkout blocks ---------- */

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
  font-family: var(--font-body);
  color: var(--ink);
}
.wc-block-components-sidebar-layout .wc-block-components-main,
.wc-block-components-sidebar {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.4rem !important;
}
.wc-block-components-sidebar { position: sticky; top: calc(var(--header-h, 72px) + 1rem); }

.wp-block-woocommerce-cart h2,
.wp-block-woocommerce-checkout h2,
.wc-block-components-title.wc-block-components-title {
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--ink);
}
.wc-block-components-product-name {
  font-family: var(--font-display);
  font-size: 1.05rem !important;
  color: var(--ink) !important;
  text-decoration: none !important;
}
.wc-block-cart-item__image img { border-radius: 10px; }
.wc-block-components-product-details { font-size: 0.85rem; color: var(--ink-soft); }
.wc-block-components-product-details a { color: var(--terracotta); font-weight: 700; }

.wc-block-components-totals-footer-item,
.wc-block-components-totals-item__value { font-weight: 800; }

/* primary buttons ("Proceed to checkout", "Place order") */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  background: var(--terracotta) !important;
  color: var(--on-accent) !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-family: var(--font-body) !important;
  font-weight: 800 !important;
  box-shadow: var(--shadow-btn);
  transition: background var(--t-fast, 0.15s) var(--ease-out, ease), transform var(--t-fast, 0.15s);
}
.wc-block-components-button:not(.is-link):hover { background: var(--terracotta-dark) !important; }
.wc-block-components-button:not(.is-link):active { transform: scale(0.97); }

/* inputs */
.wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control input,
.wc-blocks-components-select select,
.wc-block-components-textarea {
  border: 1px solid var(--line-strong) !important;
  border-radius: 10px !important;
  background: var(--paper) !important;
  color: var(--ink) !important;
  font-family: var(--font-body) !important;
}
.wc-block-components-text-input input:focus,
.wc-blocks-components-select select:focus {
  outline: 2px solid var(--terracotta) !important;
  outline-offset: 1px;
  border-color: transparent !important;
  box-shadow: none !important;
}
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
  border-radius: 10px;
}

/* empty cart block */
.wc-block-cart__empty-cart__title { font-family: var(--font-display); }

/* ---------- builder: upload overlay ---------- */

.upload-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(var(--scrim-rgb), 0.55);
}
.upload-overlay[hidden] { display: none; }
.upload-overlay__card {
  background: var(--paper);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  padding: 1.8rem;
  width: min(420px, 100%);
  text-align: center;
}
.upload-overlay__card h3 { margin-bottom: 0.4rem; }
.upload-overlay__card .builder-progress__track { margin: 1rem 0 0.8rem; }
.upload-overlay__card .builder-progress__fill { transition: width 0.25s var(--ease-out, ease); }
.upload-overlay__hint { font-size: 0.8rem; color: var(--ink-soft); margin: 0; }
