/* ============================================================
   WOOCOMMERCE OVERRIDES
   ============================================================ */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-5);
  width: 100%;
  margin: 0;
  padding: 0;
}
.woocommerce ul.products li.product {
  padding: 0; border: 1px solid var(--color-border); border-radius: var(--radius-md);
  background: var(--color-surface); box-shadow: var(--shadow-sm);
  display: flex; flex-direction: column; margin: 0; overflow: hidden;
  transition: var(--duration-base) var(--ease-out);
}
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.woocommerce ul.products li.product .woocommerce-loop-product__link { display: block; }
.woocommerce ul.products li.product .woocommerce-loop-product__image,
.woocommerce ul.products li.product .woocommerce-loop-product__link { display: block; }
.woocommerce ul.products li.product a img {
  width: 100%; height: auto; display: block; border-radius: 0; margin: 0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: var(--text-base); font-weight: 700; padding: var(--space-4) var(--space-4) var(--space-2); margin: 0; }
.woocommerce ul.products li.product .price { color: var(--color-primary); font-weight: 800; font-size: var(--text-base); padding: 0 var(--space-4) var(--space-2); display: block; }
.woocommerce ul.products li.product .button { margin: var(--space-3); padding: 11px 24px; min-height: 44px; }

/* Bento card wishlist heart */
.product-card-bento { position: relative; }
.product-card-bento__wishlist {
	position: absolute; inset-inline-end: var(--space-3); top: var(--space-3);
	width: 36px; height: 36px; border-radius: var(--radius-full);
	background: rgba(255,255,255,.9); border: 1px solid var(--color-border);
	box-shadow: var(--shadow-sm); display: grid; place-items: center;
	cursor: pointer; z-index: 2; transition: var(--duration-fast) var(--ease-out);
}
.product-card-bento__wishlist:hover { background: var(--color-surface); border-color: var(--color-primary-soft); transform: scale(1.1); }
.product-card-bento__wishlist.is-active { background: var(--color-primary-soft); color: var(--color-primary); }
.product-card-bento__wishlist svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #respond input#submit {
  color: #fff; background: var(--color-primary); border: 0; border-radius: var(--radius-sm);
  min-height: 48px; padding: 11px 24px; font-weight: 800; font-family: var(--font-sans);
  transition: var(--duration-fast) var(--ease-out); cursor: pointer; font-size: var(--text-sm);
}
.woocommerce button.button:hover, .woocommerce a.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover { color: #fff; background: var(--color-primary-hover); transform: translateY(-2px); }
.woocommerce button.button.alt { background: var(--color-primary); }
.woocommerce button.button.alt:hover { background: var(--color-primary-hover); }

.woocommerce .star-rating span::before { color: var(--color-gold); }
.woocommerce .star-rating { color: var(--color-gold); }

.woocommerce form .form-row { padding: 0; margin: 0 0 var(--space-4); }
.woocommerce form .form-row label { display: block; font-weight: 700; margin-bottom: var(--space-2); }
.woocommerce form .form-row.form-row-wide,
.woocommerce form .form-row { width: 100%; }
.woocommerce form .form-row.form-row-first { width: 100%; }
.woocommerce form .form-row.form-row-last { width: 100%; }
.woocommerce-checkout form .form-row.form-row-first { width: calc(50% - var(--space-2)); float: inline-start; }
.woocommerce-checkout form .form-row.form-row-last { width: calc(50% - var(--space-2)); float: inline-end; clear: inline-end; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
  width: 100%; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface);
  min-height: 48px; padding: 11px 14px; color: var(--color-text);
}
.woocommerce form .form-row textarea { min-height: 120px; }
@media (max-width: 768px) {
  .woocommerce-checkout form .form-row.form-row-first,
  .woocommerce-checkout form .form-row.form-row-last {
    width: 100%; float: none; clear: none;
  }
}

.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-radius: var(--radius-sm); padding: var(--space-4); border-inline-start: 4px solid var(--color-primary-soft);
  background: var(--color-surface); margin-bottom: var(--space-5); list-style: none;
}
.woocommerce-error { border-inline-start-color: var(--color-error); background: #fff3ef; }
.woocommerce-info { border-inline-start-color: var(--color-primary); background: var(--color-primary-pale); }

/* Cart */
.woocommerce table.shop_table { border-collapse: collapse; width: 100%; border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border: 0; border-bottom: 1px solid var(--color-border); padding: var(--space-3) var(--space-4); text-align: right; }
.woocommerce table.shop_table th { color: var(--color-text-tertiary); font-size: var(--text-sm); background: var(--color-surface-alt); }
.woocommerce-cart-form .actions { padding: var(--space-4); }
.woocommerce .quantity .qty { width: 64px; text-align: center; border: 1px solid var(--color-border); border-radius: var(--radius-sm); min-height: 48px; }

/* Checkout */
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); }
.woocommerce-checkout .col2-set .col { padding: var(--space-4); }
.woocommerce-checkout #order_review {
  background: var(--color-surface); border: 1px solid var(--color-border);
  border-radius: var(--radius-lg); padding: var(--space-6);
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
  text-align: right; padding: var(--space-3) var(--space-4);
}
.woocommerce-checkout #order_review .product { display: flex; align-items: center; gap: var(--space-3); justify-content: flex-end; }
.woocommerce-checkout #order_review .product img { max-width: 64px; height: auto; border-radius: var(--radius-sm); }
.woocommerce-checkout #order_review .product a { font-weight: 700; color: var(--color-text); }
.woocommerce-checkout #order_review .product .quantity { color: var(--color-text-secondary); }
.woocommerce-checkout #order_review .cart-subtotal,
.woocommerce-checkout #order_review .order-total { font-weight: 800; }
.woocommerce-checkout #order_review .cart-subtotal td,
.woocommerce-checkout #order_review .order-total td { text-align: left; font-size: var(--text-base); }
.woocommerce #payment #place_order { width: 100%; margin-top: var(--space-4); }
.woocommerce-checkout .form-row { margin-bottom: var(--space-4); }
.woocommerce-checkout .required-field::after,
.woocommerce-checkout label abbr { color: var(--color-error); }

/* Account */
.woocommerce-account .woocommerce-MyAccount-navigation { width: 240px; float: inline-start; margin-inline-end: var(--space-8); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: var(--space-2); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--color-border); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: var(--space-3); font-weight: 700; color: var(--color-text-secondary); border-radius: var(--radius-sm); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { color: #fff; background: var(--color-primary); }
.woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; overflow: hidden; min-height: 300px; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin-top: 0; font-size: var(--text-lg); }
.woocommerce-account .woocommerce-MyAccount-content mark { background: transparent; color: var(--color-primary-soft); font-weight: 800; }
.woocommerce-account .addresses .title { display: flex; justify-content: space-between; align-items: center; }

/* Single product */
.single-product .product { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: start; }
.single-product .product .woocommerce-product-gallery { position: sticky; top: 100px; }
.single-product .product .woocommerce-product-gallery__wrapper { display: grid; gap: var(--space-3); }
.single-product .product .woocommerce-product-gallery__image { border-radius: var(--radius-lg); overflow: hidden; }
.single-product .product .woocommerce-product-gallery__image img { border-radius: var(--radius-lg); }
.single-product .product .flex-control-nav { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.single-product .product .flex-control-thumbs li { width: 72px; height: 72px; border-radius: var(--radius-sm); overflow: hidden; border: 2px solid transparent; }
.single-product .product .flex-control-thumbs li.flex-active { border-color: var(--color-primary); }
.single-product .product .entry-summary .price { color: var(--color-primary); font-size: var(--text-2xl); font-weight: 800; margin: var(--space-3) 0; }
.single-product .product .entry-summary .cart { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.single-product .product .entry-summary .quantity { display: flex; border: 1px solid var(--color-border); border-radius: var(--radius-sm); overflow: hidden; }
.single-product .product .entry-summary .quantity input { border: 0; border-radius: 0; min-height: 48px; width: 60px; text-align: center; }
.single-product .product .product_meta { margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--color-border); }
.single-product .product .product_meta > span { display: block; margin-bottom: var(--space-2); font-size: var(--text-sm); }
.single-product .product .product_meta a { color: var(--color-primary); font-weight: 700; }
.single-product .product .woocommerce-tabs { margin-top: var(--space-10); }
.single-product .product .woocommerce-tabs ul.tabs { list-style: none; padding: 0; margin: 0; display: flex; gap: var(--space-1); border-bottom: 1px solid var(--color-border); }
.single-product .product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; margin: 0; }
.single-product .product .woocommerce-tabs ul.tabs li a { padding: var(--space-3) var(--space-5); font-weight: 700; color: var(--color-text-secondary); display: block; }
.single-product .product .woocommerce-tabs ul.tabs li.active a { color: var(--color-text); border-bottom: 2px solid var(--color-primary); }
.single-product .product .woocommerce-tabs .panel { padding: var(--space-6) 0; }
.single-product .related.products, .single-product .upsells.products { margin-top: var(--space-12); }
.single-product .related.products h2, .single-product .upsells.products h2 { margin-bottom: var(--space-6); }

/* Sticky purchase bar (mobile) */
.mobile-sticky-cta { display: none; }
@media (max-width: 768px) {
  .single-product .product { grid-template-columns: 1fr; }
  .single-product .product .woocommerce-product-gallery { position: static; }
  .woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; float: none; margin: 0 0 var(--space-4); }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; gap: var(--space-1); padding: var(--space-1); }
  .woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; border: 0; }
  .woocommerce-account .woocommerce-MyAccount-navigation a { white-space: nowrap; padding: 8px 12px; font-size: var(--text-sm); }
  .woocommerce ul.products { gap: var(--space-3); }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { padding: var(--space-3) var(--space-3) var(--space-1); }
  .woocommerce ul.products li.product .price { padding: 0 var(--space-3) var(--space-2); }
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr; }
  .single-product .product { padding-bottom: 84px; }
  .mobile-sticky-cta {
    display: flex; position: fixed; bottom: 10px; inset-inline: 10px; z-index: var(--z-sticky);
    padding: var(--space-3); gap: var(--space-3); align-items: center;
    background: rgba(255,255,255,.96); backdrop-filter: blur(12px); border: 1px solid var(--color-border);
    border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);
  }
  .mobile-sticky-cta .price { font-size: var(--text-lg); font-weight: 800; color: var(--color-primary); }
  .mobile-sticky-cta .btn { flex: 1; }
}
@media (max-width: 430px) {
  .single-product .product .woocommerce-product-gallery__image img { border-radius: var(--radius-md); }
  .woocommerce ul.products li.product { padding: var(--space-2); }
}
