/* Flame & Bead — skin for default WooCommerce markup
   (cart, checkout, my-account, single add-to-cart, related, notices). */

/* Buttons */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button,
.woocommerce-page .button {
  background: var(--ink); color: var(--paper);
  font-family: var(--sans); font-size: 12px; font-weight: 600;
  letter-spacing: 1.6px; text-transform: uppercase;
  border-radius: 0; padding: 14px 24px; border: 1px solid var(--ink);
  transition: background .2s, color .2s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .button:hover { background: var(--ink2); color: var(--paper); }
.woocommerce .button.alt,
.woocommerce #respond input#submit.alt { background: var(--copper); border-color: var(--copper); }
.woocommerce .button.alt:hover { background: var(--ink); border-color: var(--ink); }

/* Single product add-to-cart → looks like the design's .cta-add */
.product-info form.cart { display: flex; gap: 10px; align-items: stretch; flex-wrap: wrap; margin: 0; }
/* Quantity on its own row; add-to-cart full-width below it (aligned with the other CTAs). */
.product-info form.cart .quantity { flex: 1 0 100%; }
.product-info form.cart .quantity input.qty {
  width: 110px; min-height: 48px; border: 1px solid var(--ink);
  background: transparent; font-family: var(--sans); text-align: center; color: var(--ink);
}
.product-info form.cart .single_add_to_cart_button {
  flex: 1 0 100%; width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: center;
  background: var(--ink); color: var(--paper); padding: 16px 20px;
}
.product-info .variations { width: 100%; }
.product-info .variations td, .product-info .variations th { padding: 6px 0; }

/* Prices */
.woocommerce .price, .woocommerce-Price-amount { font-family: var(--serif); font-weight: 600; color: var(--ink); }
.woocommerce del { color: var(--muted); }
.woocommerce ins { text-decoration: none; }

/* Sale flash */
.fab-onsale, .woocommerce span.onsale {
  background: var(--copper); color: #fff; font-family: var(--sans);
  font-size: 9.5px; letter-spacing: 1.4px; text-transform: uppercase; font-weight: 600;
  padding: 4px 8px; border-radius: 0; min-height: 0; min-width: 0; line-height: 1.4;
}

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top-color: var(--copper); font-family: var(--serif);
  background: var(--paper-deep); color: var(--ink);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--copper); }

/* Forms */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container .select2-selection,
.woocommerce table.cart td.actions .coupon .input-text {
  border: 1px solid var(--ink); border-radius: 0; background: transparent;
  font-family: var(--serif); color: var(--ink); padding: 12px 14px;
}

/* Cart + checkout tables */
.woocommerce table.shop_table { border-radius: 0; border-color: var(--paper-deep); }
.woocommerce table.shop_table th { font-family: var(--sans); font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--muted); }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review { background: var(--paper-deep); padding: 24px; }

/* My account */
/* Neutralise WooCommerce's float/percent columns — our .account-main grid owns the layout.
   (Higher specificity than core's .woocommerce-account .woocommerce-MyAccount-navigation.) */
.woocommerce-account .account-main .woocommerce-MyAccount-navigation,
.woocommerce-account .account-main .woocommerce-MyAccount-content {
  float: none;
  width: auto;
  margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { border: 1px solid var(--paper-deep); list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--paper-deep); }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block; padding: 12px 16px; font-family: var(--sans); font-size: 12px;
  letter-spacing: .8px; text-transform: uppercase; color: var(--ink);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--ink); color: var(--paper); }

/* Related products → reuse the design grid look */
.related.products, .upsells.products { padding: 56px 56px 64px; border-top: 1px solid var(--ink); }
.related.products > h2, .upsells.products > h2 {
  font-family: var(--display); font-weight: 600; font-size: clamp(28px, 3vw, 44px); margin-bottom: 28px;
}
.woocommerce .products ul, .woocommerce ul.products {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin: 0; list-style: none;
}
.woocommerce ul.products li.product { margin: 0; width: auto; }
/* Related / upsells: force a left-filled grid so a partial row never centres. */
.related.products ul.products, .upsells.products ul.products {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin: 0; list-style: none;
  justify-content: start; justify-items: stretch;
}
.related.products ul.products > *, .upsells.products ul.products > * { width: auto; max-width: none; margin: 0; float: none; }
/* kill WooCommerce clearfix ::before/::after — they become empty grid cells (pushed products to centre / left an empty first card) */
.woocommerce ul.products::before, .woocommerce ul.products::after,
.related.products ul.products::before, .related.products ul.products::after,
.upsells.products ul.products::before, .upsells.products ul.products::after { content: none; display: none; }
.fab-woo-tail { /* wrapper around reviews + related */ }

@media (max-width: 1023px) {
  .woocommerce .products ul, .woocommerce ul.products,
  .related.products ul.products, .upsells.products ul.products { grid-template-columns: repeat(3, 1fr); }
  .related.products, .upsells.products { padding: 48px 24px; }
}
@media (max-width: 599px) {
  .woocommerce .products ul, .woocommerce ul.products,
  .related.products ul.products, .upsells.products ul.products { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .product-info form.cart { flex-direction: column; }
}

/* Prose (product long description) */
.fab-prose { font-family: var(--serif); font-size: 15px; line-height: 1.7; color: var(--ink2); }
.fab-prose p { margin-bottom: 14px; }
