/**
 * Supplementary WooCommerce styling.
 * Core layout lives in style.css — this file covers the smaller native
 * WooCommerce widgets/components that don't have a design-file
 * equivalent (star ratings, quantity steppers, responsive tables).
 */

/* Star ratings (shop loop + single product + reviews). */
.star-rating{
  overflow:hidden;position:relative;height:1em;line-height:1;width:5.4em;
  font-family:'Inter',sans-serif;font-size:13px;
}
.star-rating::before{
  content:"\2605\2605\2605\2605\2605";position:absolute;top:0;left:0;color:var(--line);letter-spacing:2px;
}
.star-rating span{overflow:hidden;float:left;top:0;left:0;position:absolute;padding-top:1.5em;}
.star-rating span::before{
  content:"\2605\2605\2605\2605\2605";position:absolute;top:0;left:0;color:var(--sage-deep);letter-spacing:2px;
}
.woocommerce-product-rating{display:flex;align-items:center;gap:8px;}
.woocommerce-review-link{font-size:12px;color:var(--text-soft);}

/* Quantity input stepper. */
.quantity{display:inline-flex;}
.quantity .qty{
  width:64px;padding:13px 10px;border:1px solid var(--line);border-radius:999px;text-align:center;
  font-family:'Inter',sans-serif;font-size:14px;background:var(--white);
}

/* Notices / messages with action buttons. */
.woocommerce-message,.woocommerce-info{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.woocommerce-message a.button,.woocommerce-info a.button,.woocommerce-error a.button{
  padding:10px 20px;border-radius:999px;background:var(--ink);color:var(--paper)!important;font-size:12.5px;font-weight:600;
}

/* Responsive shop tables (cart / order details) collapse to stacked rows. */
@media (max-width:640px){
  table.shop_table_responsive thead{display:none;}
  table.shop_table_responsive tr{display:block;border-bottom:2px solid var(--line);}
  table.shop_table_responsive td{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:none;padding:10px 4px;text-align:right;}
  table.shop_table_responsive td::before{content:attr(data-title) ": ";font-weight:600;color:var(--text-soft);text-align:left;}
  table.shop_table_responsive td.product-remove::before,
  table.shop_table_responsive td.product-thumbnail::before{content:"";}
}

/* Order-again / view-order tables on My Account. */
.woocommerce-orders-table__cell-order-actions .button{
  display:inline-block;padding:9px 18px;border-radius:999px;border:1px solid var(--ink);font-size:12px;font-weight:600;margin:2px;
}

/* Password strength meter + form validation colors. */
.woocommerce-password-strength{padding:8px 12px;border-radius:6px;font-size:12px;margin:-6px 0 14px;}
.woocommerce-password-strength.strong{background:#E4EEE1;color:#2F5B32;}
.woocommerce-password-strength.short,
.woocommerce-password-strength.bad{background:#F6E4E9;color:var(--plum-deep);}

/* Print-friendly order confirmation. */
@media print{
  #masthead,#colophon,.mini-cart-panel,.mini-cart-overlay{display:none!important;}
}
