/* ==========================================================================
   WooCommerce screens (Cart + Checkout blocks, My Account, notices, order received)
   brought onto the Amplify design system.
   ========================================================================== */
.page-body--wide { padding-bottom: 0; }
.wc-block-cart, .wc-block-checkout, .woocommerce { font-family: var(--font-sans); color: var(--ink); }

/* headings + text */
.wc-block-cart .wc-block-cart__totals-title,
.wc-block-components-checkout-step__title,
.wc-block-components-title,
.woocommerce h2, .woocommerce h3 { font-weight: 600; letter-spacing: -0.01em; }
.wc-block-components-checkout-step__title { font-size: var(--fs-lg); }
.wc-block-components-product-name { font-weight: 600; text-decoration: none; }

/* buttons */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  background: var(--ink) !important; color: #fff !important; border: 1px solid var(--ink) !important; border-radius: var(--radius) !important;
  min-height: 52px; font-size: var(--fs-sm) !important; font-weight: 600 !important; letter-spacing: .04em; text-transform: uppercase;
  transition: background var(--dur-fast), border-color var(--dur-fast);
}
.wc-block-components-button:not(.is-link):hover,
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--amp-blue-700) !important; border-color: var(--amp-blue-700) !important; }

/* inputs */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-blocks-components-select .wc-blocks-components-select__select,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
  border-radius: var(--radius) !important; border-color: var(--line) !important;
}
.wc-block-components-text-input.is-active input, .wc-block-components-text-input input:focus { border-color: var(--ink) !important; box-shadow: 0 0 0 1px var(--ink) !important; }

/* totals + fees (Set savings, LoyalThread points) */
.wc-block-components-totals-fees .wc-block-components-totals-item__value { color: var(--bz-700); font-weight: 600; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: var(--fs-lg); font-weight: 600; }
.wc-block-components-order-summary-item__image img, .wc-block-cart-item__image img { aspect-ratio: 4/5; object-fit: cover; background: var(--bone); }
.wc-block-components-product-badge { border-radius: 0; font-size: var(--fs-2xs); letter-spacing: .08em; text-transform: uppercase; }

/* notices */
.wc-block-components-notice-banner, .woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: var(--radius); }

/* My Account */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px 1fr; gap: var(--sp-8); align-items: start; }
.woocommerce-account:not(.logged-in) .woocommerce { grid-template-columns: 1fr; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--line); }
.woocommerce-MyAccount-navigation a { display: block; padding: var(--sp-3) 0; font-size: var(--fs-sm); font-weight: 500; }
.woocommerce-MyAccount-navigation .is-active a { font-weight: 700; }
.woocommerce-MyAccount-navigation .is-active a::before { content: "→ "; }
.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-account .u-columns { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); }
.woocommerce-account .u-columns::before, .woocommerce-account .u-columns::after { display: none; }
.woocommerce-account .u-columns > div { width: auto !important; float: none !important; }
.woocommerce form.login, .woocommerce form.register { border: 1px solid var(--line) !important; border-radius: 0 !important; padding: var(--sp-6) !important; margin: 0 !important; }
.woocommerce table.shop_table { border-radius: 0; border-color: var(--line); }
@media (max-width: 899px) {
  .woocommerce-account .woocommerce, .woocommerce-account .u-columns { grid-template-columns: 1fr; gap: var(--sp-6); }
}
