/* ==========================================================================
   WooCommerce overrides — restyles WooCommerce's own generated markup
   (checkout fields, quantity inputs, notices, shipping/payment lists,
   price unit suffix) to match assets/css/style.css. WooCommerce's default
   frontend stylesheet is switched off in functions.php
   (woocommerce_enqueue_styles filter), so everything WooCommerce prints
   is styled from here — the shop grid, product card and single-product
   layout reuse style.css's own classes directly (see content-product.php /
   single-product.php) and need nothing extra below.
   ========================================================================== */

/* Price unit suffix, e.g. "$2.00 / each" — matches .price small in style.css */
.arph-unit{ font-family:var(--font-body); font-size:12px; color:var(--ink-soft); font-weight:500; }
.pd-price .arph-unit{ font-size:14px; margin-left:4px; }

/* Notices (out of stock, coupon applied, errors, checkout validation) */
.woocommerce-error, .woocommerce-message, .woocommerce-info{
  list-style:none; margin:0 0 24px; padding:16px 20px; border-radius:var(--r-md);
  background:var(--cream); border:1px solid var(--line-soft); color:var(--ink);
  font-size:14px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
}
.woocommerce-error{ background:#FBEAE8; border-color:#E8B9B3; }
.woocommerce-message{ background:var(--teal-tint); border-color:var(--teal); }
.woocommerce-error .button, .woocommerce-message .button, .woocommerce-info .button{
  background:var(--ink); color:var(--white); padding:9px 16px; border-radius:var(--r-pill); font-size:13px; font-weight:600;
}

/* Quantity inputs (cart table + single product add-to-cart form) */
.quantity{ display:inline-flex; }
.quantity .qty{
  width:64px; text-align:center; padding:11px 8px; border:1.5px solid var(--line); border-radius:var(--r-pill);
  font-weight:600; font-size:15px; font-family:var(--font-body); color:var(--ink); background:var(--white);
}
.quantity .qty:focus{ border-color:var(--teal); outline:none; box-shadow:0 0 0 4px var(--teal-tint); }

/* Add-to-cart form on the single product page */
.pd-actions .cart{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; width:100%; }
.pd-actions .single_add_to_cart_button{ flex:1; min-width:180px; }

/* Checkout billing/shipping fields — WooCommerce prints these as
   .form-row wrapped labels+inputs via its own hooks; style them like the
   .field inputs used on the Contact page. */
.woocommerce-billing-fields h3, .woocommerce-shipping-fields h3, .woocommerce-additional-fields h3{
  font-family:var(--font-display); font-size:19px; margin:28px 0 16px;
}
.woocommerce-billing-fields h3:first-child{ margin-top:0; }
.form-row{ margin-bottom:18px; }
.form-row label{ display:block; font-size:13px; font-weight:600; color:var(--ink); margin-bottom:8px; }
.form-row .required{ color:var(--rose-deep); }
.form-row input.input-text, .form-row select, .form-row textarea{
  width:100%; padding:13px 16px; border:1.5px solid var(--line); border-radius:var(--r-sm);
  font-family:var(--font-body); font-size:14.5px; color:var(--ink); background:var(--white);
}
.form-row input.input-text:focus, .form-row select:focus, .form-row textarea:focus{
  border-color:var(--teal); box-shadow:0 0 0 4px var(--teal-tint); outline:none;
}
.woocommerce-address-fields__field-wrapper .form-row,
.woocommerce-billing-fields .form-row{ display:block; }
.woocommerce-form-login, .woocommerce-form-coupon{
  background:var(--cream); border:1px solid var(--line-soft); border-radius:var(--r-md); padding:22px; margin-bottom:24px;
}

/* Order review table (inside the summary-card on checkout) */
.woocommerce-checkout-review-order-table{ width:100%; border-collapse:collapse; margin-bottom:18px; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td{
  padding:10px 0; border-bottom:1px solid var(--line-soft); font-size:14px; text-align:left;
}
.woocommerce-checkout-review-order-table .product-name{ color:var(--ink-soft); }
.woocommerce-checkout-review-order-table tfoot th, .woocommerce-checkout-review-order-table tfoot td{
  font-weight:600;
}
.order-total th, .order-total td{ font-size:18px; border-bottom:none; padding-top:16px; }

/* Shipping method + payment gateway lists (Pickup/Delivery, Pay on collection) */
ul#shipping_method, ul.wc_payment_methods{ list-style:none; margin:0 0 20px; padding:0; display:flex; flex-direction:column; gap:12px; }
ul#shipping_method li, ul.wc_payment_methods li{
  border:1.5px solid var(--line); border-radius:var(--r-md); padding:16px 18px; font-size:14.5px;
}
ul#shipping_method li label, ul.wc_payment_methods li label{ font-weight:600; }
.payment_box{ background:var(--cream); border-radius:var(--r-sm); padding:16px; margin-top:12px; font-size:13.5px; color:var(--ink-soft); }

/* Place order button */
#place_order{ width:100%; margin-top:10px; }
.woocommerce-terms-and-conditions-wrapper{ margin:18px 0; font-size:13.5px; color:var(--ink-soft); }

/* Star ratings — the shop grid hides these (see inc/woocommerce.php);
   keep the single-product page's rating link (if any real reviews exist)
   unobtrusive and on-brand rather than WooCommerce's default gold stars. */
.star-rating{ color:var(--gold); }

/* Coupon / update-cart row buttons on the Cart page */
.woocommerce-cart-form .actions .btn{ margin-right:10px; }

/* Product gallery placeholder image sizing (no product photo yet) */
.woocommerce-placeholder{ width:100%; height:100%; object-fit:cover; }
