/* ==========================================================================
   WooCommerce overrides — restyles default WC markup with EP E-Business tokens
   (loaded after frontend.css; WooCommerce's own stylesheet is dequeued in
   inc/integrations/class-ep-woocommerce.php so there is only one source of truth)
   ========================================================================== */

.woocommerce ul.products{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; list-style:none; padding:0; margin:0; }
@media (max-width:980px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .woocommerce ul.products{ grid-template-columns:1fr; } }

.woocommerce ul.products li.product{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden;
  transition: box-shadow .2s ease, transform .2s ease; text-align:left; padding:0;
}
.woocommerce ul.products li.product:hover{ box-shadow:var(--shadow-md); transform:translateY(-4px); }
.woocommerce ul.products li.product img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:0; margin:0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:'Baloo 2',sans-serif; font-size:17px; color:var(--navy); padding:16px 18px 0; }
.woocommerce ul.products li.product .price{ padding:0 18px; font-family:'Baloo 2',sans-serif; font-weight:700; color:var(--navy); }
.woocommerce ul.products li.product .price del{ color:var(--ink-faint); font-weight:400; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .button{
  margin:14px 18px 18px; display:inline-block; font-family:'JetBrains Mono',monospace; font-size:12.5px; font-weight:600;
  background:var(--navy); color:#fff; border-radius:99px; padding:9px 16px; transition:background .15s ease;
}
.woocommerce ul.products li.product .button:hover{ background:var(--violet); }
.woocommerce span.onsale{ background:var(--amber); color:var(--navy); font-family:'JetBrains Mono',monospace; font-weight:700; border-radius:99px; top:14px; left:14px; }

.woocommerce nav.woocommerce-pagination ul{ border:none; gap:8px; display:flex; }
.woocommerce nav.woocommerce-pagination ul li{ border:none; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--line); border-radius:10px; padding:8px 14px; color:var(--ink); font-family:'JetBrains Mono',monospace; font-size:13px;
}
.woocommerce nav.woocommerce-pagination ul li span.current{ background:var(--navy); color:#fff; border-color:var(--navy); }

/* single product */
.woocommerce div.product div.images{ border-radius:var(--radius-lg); overflow:hidden; }
.woocommerce div.product .summary{ padding-left:10px; }
.woocommerce div.product .summary h1.product_title{ font-size:32px; }
.woocommerce div.product p.price, .woocommerce div.product span.price{ font-family:'Baloo 2',sans-serif; font-size:26px; color:var(--navy); }
.woocommerce div.product form.cart .button{
  background:var(--violet); color:#fff; border-radius:99px; padding:14px 30px; font-family:'Baloo 2',sans-serif; font-weight:600; border:none;
}
.woocommerce div.product form.cart .button:hover{ background:var(--violet-dark); }
.woocommerce div.product .quantity input.qty{ border:1px solid var(--line); border-radius:10px; padding:12px; width:70px; }

.woocommerce table.shop_table{ border-collapse:collapse; width:100%; border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden; }
.woocommerce table.shop_table th{ background:var(--bg-alt); text-align:left; padding:14px 16px; font-family:'JetBrains Mono',monospace; font-size:12.5px; text-transform:uppercase; }
.woocommerce table.shop_table td{ padding:14px 16px; border-top:1px solid var(--line); }

.woocommerce-message, .woocommerce-info, .woocommerce-error{
  border-top-color:var(--violet); background:var(--violet-tint); border-radius:var(--radius-md); padding:16px 20px; list-style:none;
}
.woocommerce-error{ border-top-color:#E14E17; background:#FDEDE7; }

.woocommerce-breadcrumb{ font-size:13px; color:var(--ink-faint); margin-bottom:18px; }
.woocommerce-breadcrumb a{ color:var(--violet-dark); }

.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  background:var(--navy); color:#fff; border-radius:99px; font-family:'Baloo 2',sans-serif; font-weight:600; padding:12px 22px; border:none;
}
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover{ background:var(--violet); }

.woocommerce-checkout #payment{ background:var(--bg-alt); border-radius:var(--radius-md); padding:20px; }
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row select{
  border:1px solid var(--line); border-radius:10px; padding:12px 14px;
}

.header-cart{ position:relative; display:inline-flex; align-items:center; color:var(--navy); }
.header-cart .icon-sm{ width:22px; height:22px; }
.header-cart .cart-count{
  position:absolute; top:-8px; right:-10px; background:var(--amber); color:var(--navy); font-size:10.5px; font-weight:700;
  border-radius:50%; width:18px; height:18px; display:flex; align-items:center; justify-content:center;
}
