/* skip-a-beat shop theme — reskins WooCommerce's default cart/checkout/notice
   markup to match the v2 design system (colors, type, buttons), since those
   flows use WooCommerce's own templates rather than fully custom ones. */

body.woocommerce-cart main.v2-wrap,
body.woocommerce-checkout main.v2-wrap,
body.woocommerce-account main.v2-wrap {
  max-width: var(--maxw);
  margin: 0 auto;
}

/* Buttons everywhere WooCommerce renders its own — includes both the classic
   .add_to_cart_button markup and the block-based .wp-block-button__link
   markup used by WC Blocks (e.g. the empty-cart cross-sells widget). */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce-page a.button,
.woocommerce-cart-form .actions .button, .wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order, .wp-block-button__link.add_to_cart_button {
  background: var(--accent) !important;
  color: var(--paper) !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-family: var(--font) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  transition: opacity 0.3s !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #place_order:hover, .wp-block-button__link.add_to_cart_button:hover {
  opacity: 0.8 !important;
  background: var(--accent) !important;
  color: var(--paper) !important;
}

/* Product add-to-cart form (quantity + button) on single product pages */
.product-buy-box form.cart {
  margin-top: 16px;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.product-buy-box .quantity { display: inline-block; }
.product-buy-box .quantity .qty {
  width: 64px;
  padding: 12px;
  background: transparent;
  border: 1px solid rgba(242,239,232,0.4);
  color: var(--paper);
  font-family: var(--font);
  font-size: 14px;
}

/* Inputs — checkout billing/shipping fields, cart quantity boxes */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce table.shop_table td.product-quantity .qty,
.woocommerce select {
  border: 1px solid var(--rule) !important;
  border-radius: 4px !important;
  padding: 10px 12px !important;
  font-family: var(--font) !important;
  font-size: 14px !important;
  background: var(--paper) !important;
  color: var(--ink) !important;
}
.woocommerce form .form-row label { font-family: var(--font); font-size: 13px; color: var(--muted-fg); }

/* Tables — cart line items, order review on checkout */
.woocommerce table.shop_table {
  border: 1px solid var(--rule);
  border-collapse: collapse;
  font-family: var(--font);
}
.woocommerce table.shop_table th, .woocommerce table.shop_table td {
  border-bottom: 1px solid var(--rule);
  padding: 14px 12px;
}
.woocommerce table.shop_table th { text-transform: uppercase; font-size: 11px; letter-spacing: 0.1em; color: var(--muted-fg); }

/* Totals box, notices */
.woocommerce-checkout-review-order, .cart_totals { font-family: var(--font); }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top-color: var(--accent) !important;
  font-family: var(--font);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--accent) !important; }

/* Page titles WooCommerce injects (Cart, Checkout) */
.woocommerce-cart main.v2-wrap h1, .woocommerce-checkout main.v2-wrap h1 {
  font-size: 44px;
  font-weight: 700;
  letter-spacing: -0.045em;
  text-transform: lowercase;
  margin-bottom: 32px;
}

/* Cross-sells ("you may also like") grid on the empty/filled cart page —
   restyle WooCommerce's raw <ul class="products"> markup to match the
   site's .v2-shop-grid card look instead of the unstyled default. */
.cross-sells {
  margin-top: 192px;
  padding-top: 48px;
  border-top: 1px solid var(--rule);
}
.cross-sells > h2 {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: lowercase;
  margin-bottom: 28px;
}
.cross-sells ul.products {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 640px) {
  .cross-sells ul.products { grid-template-columns: repeat(3, 1fr); }
}
.cross-sells ul.products li.product {
  font-family: var(--font);
}
.cross-sells ul.products li.product a.woocommerce-LoopProduct-link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.cross-sells ul.products li.product img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  background: var(--muted);
  margin-bottom: 16px;
}
.cross-sells ul.products li.product h2.woocommerce-loop-product__title {
  font-size: 15px;
  font-weight: 700;
  text-transform: lowercase;
  margin: 0 0 6px;
}
.cross-sells ul.products li.product .price {
  display: block;
  font-size: 13px;
  color: var(--muted-fg);
  margin-bottom: 14px;
}
.cross-sells ul.products li.product a.add_to_cart_button {
  display: inline-block !important;
  padding: 10px 20px !important;
  font-size: 11px !important;
}
