/* ==========================================================================
   WooCommerce Specific Styles
   ========================================================================== */

/* --- Shop Archive --- */
.woocommerce .products { margin: 0; padding: 0; list-style: none; }
.woocommerce .product { margin: 0; }
.woocommerce .product-category { margin: 0; }

/* Category archive header */
.woocommerce .page-header--category {
  background: linear-gradient(180deg, var(--accent-current-10) 0%, transparent 100%);
  padding-top: var(--space-10);
}
.woocommerce .page-header--category .page-header__inner {
  padding-bottom: var(--space-8);
}

/* Product sorting */
.woocommerce-ordering {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-6);
}
.woocommerce-ordering label { font-size: var(--text-sm); font-weight: 500; color: var(--color-text); white-space: nowrap; }
.woocommerce-ordering select {
  max-width: 280px;
  padding: var(--space-2) var(--space-10) var(--space-2) var(--space-4);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B6964' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--space-3) center;
  transition: all var(--duration-fast);
}
.woocommerce-ordering select:focus { border-color: var(--accent-current); outline: none; box-shadow: 0 0 0 3px var(--accent-current-10); }

/* Result count */
.woocommerce-result-count { font-size: var(--text-sm); color: var(--color-text-muted); }

/* Product Card (overrides loop) */
.woocommerce .product-card { position: relative; }
.woocommerce .product-card__link { display: block; text-decoration: none; }
.woocommerce .product-card__image { position: relative; }
.woocommerce .product-card__sale { position: absolute; top: var(--space-3); left: var(--space-3); z-index: 1; }
.woocommerce .product-card__category { position: absolute; top: var(--space-3); right: var(--space-3); z-index: 1; }
.woocommerce .product-card__wishlist {
  position: absolute;
  bottom: var(--space-3);
  right: var(--space-3);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 50%;
  color: var(--color-text-muted);
  cursor: pointer;
  opacity: 0;
  transform: translateY(8px);
  transition: all var(--duration-normal) var(--easing-standard);
  z-index: 2;
}
.woocommerce .product-card:hover .product-card__wishlist,
.woocommerce .product-card:focus-within .product-card__wishlist { opacity: 1; transform: translateY(0); }
.woocommerce .product-card__wishlist:hover { color: var(--color-error); border-color: var(--color-error); background: var(--color-error-10); }
.woocommerce .product-card__wishlist[aria-pressed="true"] { color: var(--color-error); background: var(--color-error-10); border-color: var(--color-error); }
.woocommerce .product-card__wishlist svg { width: 20px; height: 20px; }

.woocommerce .product-card__content { padding: var(--space-4); }
.woocommerce .product-card__cat { font-size: var(--text-xs); font-weight: 600; color: var(--accent-current); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: var(--space-1); }
.woocommerce .product-card__title {
  font-family: var(--font-display);
  font-size: var(--text-body);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: var(--space-2);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: var(--leading-tight);
  transition: color var(--duration-fast);
}
.woocommerce .product-card__link:hover .product-card__title { color: var(--accent-current); }
.woocommerce .product-card__price { margin-bottom: var(--space-3); }
.woocommerce .product-card__add {
  width: 100%;
  opacity: 0;
  transform: translateY(8px);
  transition: all var(--duration-normal) var(--easing-standard);
}
.woocommerce .product-card:hover .product-card__add,
.woocommerce .product-card:focus-within .product-card__add { opacity: 1; transform: translateY(0); }

/* Star rating in card */
.woocommerce .product-card__rating { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-2); }
.woocommerce .product-card__stars { display: flex; gap: 1px; }
.woocommerce .product-card__star { width: 16px; height: 16px; color: var(--color-border); }
.woocommerce .product-card__star--filled { color: #F59E0B; }
.woocommerce .product-card__count { font-size: var(--text-xs); color: var(--color-text-faint); }

/* Product tags on single product */
.woocommerce .product_meta { font-size: var(--text-sm); color: var(--color-text-muted); margin-top: var(--space-6); padding-top: var(--space-6); border-top: 1px solid var(--color-border); }
.woocommerce .product_meta > span { display: block; margin-bottom: var(--space-2); }
.woocommerce .product_meta a { color: var(--color-text-muted); transition: color var(--duration-fast); }
.woocommerce .product_meta a:hover { color: var(--accent-current); }
.woocommerce .product_meta .sku { font-family: var(--font-mono); }

/* Product tabs */
.woocommerce .woocommerce-tabs { margin-top: var(--space-12); }
.woocommerce .tabs { border-bottom: 2px solid var(--color-border); }
.woocommerce .tabs__trigger { padding: var(--space-3) var(--space-5); }
.woocommerce .tabs__trigger[aria-selected="true"] { border-bottom-color: var(--accent-current); }
.woocommerce .tabs__panel { padding-top: var(--space-6); }
.woocommerce .tabs__panel .woocommerce-Tabs-panel--description { line-height: var(--leading-relaxed); }
.woocommerce .tabs__panel h2,
.woocommerce .tabs__panel h3,
.woocommerce .tabs__panel h4 { font-family: var(--font-display); margin: var(--space-6) 0 var(--space-3); }

/* Review tab */
.woocommerce .commentlist { list-style: none; padding: 0; margin: 0; }
.woocommerce .comment_container { padding: var(--space-6) 0; border-bottom: 1px solid var(--color-border); }
.woocommerce .comment_container:last-child { border-bottom: none; }
.woocommerce .comment-text { margin-top: var(--space-3); line-height: var(--leading-relaxed); }
.woocommerce .star-rating { float: none; display: inline-flex; gap: 2px; margin-bottom: var(--space-2); }
.woocommerce .star-rating::before { content: none; }
.woocommerce .star-rating span { display: flex; gap: 2px; }
.woocommerce .star-rating span::before { content: "★"; color: var(--color-border); font-size: 18px; }
.woocommerce .star-rating span::after { display: none; }

/* Review form */
.woocommerce #review_form_wrapper { margin-top: var(--space-8); }
.woocommerce #review_form { background: var(--color-bg); padding: var(--space-6); border-radius: var(--radius-lg); }
.woocommerce #review_form .comment-form-rating { margin-bottom: var(--space-4); }
.woocommerce #review_form .comment-form-comment { margin-bottom: var(--space-4); }
.woocommerce #review_form textarea { min-height: 120px; }
.woocommerce #review_form .form-submit { margin-top: var(--space-4); }
.woocommerce #review_form .stars { display: flex; gap: var(--space-2); margin-bottom: var(--space-2); }
.woocommerce #review_form .stars a { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; font-size: var(--text-h3); color: var(--color-border); border: 1px solid var(--color-border); border-radius: var(--radius-sm); transition: all var(--duration-fast); }
.woocommerce #review_form .stars a:hover,
.woocommerce #review_form .stars a.active { color: #F59E0B; border-color: #F59E0B; background: #FEF3C7; }
.woocommerce #review_form .stars a::before { content: "★"; }

/* Related products */
.woocommerce .related.products { margin-top: var(--space-16); padding-top: var(--space-12); border-top: 1px solid var(--color-border); }
.woocommerce .related.products h2 { font-family: var(--font-display); font-size: var(--text-h2); margin-bottom: var(--space-8); }
.woocommerce .related.products .products { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); }
@media (max-width: 1024px) { .woocommerce .related.products .products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .woocommerce .related.products .products { grid-template-columns: 1fr; } }

/* Upsells */
.woocommerce .upsells.products { margin-top: var(--space-12); }
.woocommerce .upsells.products h2 { font-family: var(--font-display); font-size: var(--text-h2); margin-bottom: var(--space-6); }
.woocommerce .upsells.products .products { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); }

/* Cart page */
.woocommerce-cart .cart-empty { text-align: center; padding: var(--space-16); }
.woocommerce-cart .cart-empty .wc-forward { margin-top: var(--space-6); }

.woocommerce-cart .shop_table { width: 100%; border-collapse: collapse; }
.woocommerce-cart .shop_table th,
.woocommerce-cart .shop_table td { padding: var(--space-4); text-align: left; border-bottom: 1px solid var(--color-border); vertical-align: middle; }
.woocommerce-cart .shop_table th { font-size: var(--text-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-text-muted); background: var(--color-bg); }
.woocommerce-cart .shop_table .product-thumbnail { width: 80px; }
.woocommerce-cart .shop_table .product-thumbnail img { width: 60px; height: 60px; object-fit: contain; border-radius: var(--radius-md); }
.woocommerce-cart .shop_table .product-name { font-weight: 500; }
.woocommerce-cart .shop_table .product-name a:hover { color: var(--accent-current); }
.woocommerce-cart .shop_table .product-price .amount { font-family: var(--font-mono); font-weight: 600; }
.woocommerce-cart .shop_table .product-quantity .qty-stepper { max-width: 140px; }
.woocommerce-cart .shop_table .product-subtotal .amount { font-family: var(--font-mono); font-weight: 600; font-size: var(--text-h3); }
.woocommerce-cart .shop_table .product-remove a { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; color: var(--color-text-faint); border-radius: var(--radius-sm); transition: all var(--duration-fast); }
.woocommerce-cart .shop_table .product-remove a:hover { color: var(--color-error); background: var(--color-error-10); }
.woocommerce-cart .shop_table .product-remove a::before { content: "×"; font-size: var(--text-h3); line-height: 1; }

.woocommerce-cart .cart-collaterals { display: grid; grid-template-columns: 1fr 380px; gap: var(--space-10); margin-top: var(--space-10); align-items: start; }
@media (max-width: 768px) { .woocommerce-cart .cart-collaterals { grid-template-columns: 1fr; } }

.woocommerce-cart .cart-coupon { background: var(--color-bg); padding: var(--space-6); border-radius: var(--radius-lg); }
.woocommerce-cart .cart-coupon .coupon { display: flex; gap: var(--space-3); }
.woocommerce-cart .cart-coupon .coupon input { flex: 1; }
.woocommerce-cart .cart-coupon .coupon .btn { white-space: nowrap; }

.woocommerce-cart .cart_totals { background: var(--color-bg); padding: var(--space-6); border-radius: var(--radius-lg); position: sticky; top: 90px; }
.woocommerce-cart .cart_totals h2 { font-family: var(--font-display); font-size: var(--text-h3); margin-bottom: var(--space-5); padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-border); }
.woocommerce-cart .cart_totals tr { display: flex; justify-content: space-between; padding: var(--space-3) 0; border-bottom: 1px solid var(--color-border); }
.woocommerce-cart .cart_totals tr:last-child { border-bottom: none; }
.woocommerce-cart .cart_totals th { font-size: var(--text-sm); color: var(--color-text-muted); }
.woocommerce-cart .cart_totals td { font-family: var(--font-mono); font-weight: 600; text-align: right; }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td { font-family: var(--font-display); font-size: var(--text-h3); color: var(--accent-current); font-weight: 600; }
.woocommerce-cart .cart_totals .wc-proceed-to-checkout { margin-top: var(--space-6); }
.woocommerce-cart .cart_totals .wc-proceed-to-checkout .btn { width: 100%; }

/* Checkout */
.woocommerce-checkout .checkout { display: grid; grid-template-columns: 1fr 380px; gap: var(--space-10); }
@media (max-width: 768px) { .woocommerce-checkout .checkout { grid-template-columns: 1fr; } }

.woocommerce-checkout .checkout__form { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-8); }
.woocommerce-checkout .checkout__steps { display: flex; gap: var(--space-4); margin-bottom: var(--space-8); padding-bottom: var(--space-6); border-bottom: 1px solid var(--color-border); }
.woocommerce-checkout .checkout__step { flex: 1; display: flex; flex-direction: column; align-items: center; gap: var(--space-2); position: relative; }
.woocommerce-checkout .checkout__step::before { content: ""; position: absolute; top: 12px; left: 50%; right: -50%; height: 2px; background: var(--color-border); z-index: -1; }
.woocommerce-checkout .checkout__step:last-child::before { display: none; }
.woocommerce-checkout .checkout__step-number { width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; background: var(--color-surface); border: 2px solid var(--color-border); border-radius: 50%; font-size: var(--text-xs); font-weight: 600; color: var(--color-text-muted); z-index: 1; }
.woocommerce-checkout .checkout__step--current .checkout__step-number { background: var(--accent-current); border-color: var(--accent-current); color: #fff; }
.woocommerce-checkout .checkout__step--current .checkout__step-label { color: var(--accent-current); font-weight: 600; }
.woocommerce-checkout .checkout__step--completed .checkout__step-number { background: var(--color-success); border-color: var(--color-success); color: #fff; }
.woocommerce-checkout .checkout__step-label { font-size: var(--text-xs); color: var(--color-text-muted); text-align: center; white-space: nowrap; }

.woocommerce-checkout .checkout-section { display: none; }
.woocommerce-checkout .checkout-section.active { display: block; animation: fade-in var(--duration-normal) var(--easing-standard); }

.woocommerce-checkout .form-row { margin-bottom: var(--space-5); }
.woocommerce-checkout .form-row-wide { width: 100%; }
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last { width: 49%; }
@media (max-width: 480px) {
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last { width: 100%; }
}

.woocommerce-checkout label { display: block; margin-bottom: var(--space-2); font-size: var(--text-sm); font-weight: 500; color: var(--color-text); }
.woocommerce-checkout .required { color: var(--color-error); }
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  font-family: var(--font-ui);
  font-size: var(--text-body);
  color: var(--color-text);
  background: var(--color-surface);
  border: 2px solid var(--color-border);
  border-radius: var(--radius-md);
  transition: border-color var(--duration-fast), box-shadow var(--duration-fast);
}
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  border-color: var(--accent-current);
  box-shadow: 0 0 0 3px var(--accent-current-10);
  outline: none;
}
.woocommerce-checkout select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B6964' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right var(--space-3) center; padding-right: var(--space-10); }

.woocommerce-checkout .form-row .select2-container { width: 100% !important; }
.woocommerce-checkout .select2-selection { height: 48px !important; padding: 0 var(--space-4) !important; border: 2px solid var(--color-border) !important; border-radius: var(--radius-md) !important; background: var(--color-surface) !important; }
.woocommerce-checkout .select2-selection--single .select2-selection__rendered { line-height: 44px !important; font-family: var(--font-ui) !important; font-size: var(--text-body) !important; color: var(--color-text) !important; }
.woocommerce-checkout .select2-selection__arrow { height: 44px !important; }
.woocommerce-checkout .select2-container--open .select2-selection { border-color: var(--accent-current) !important; box-shadow: 0 0 0 3px var(--accent-current-10) !important; }

.woocommerce-checkout .woocommerce-NoticeGroup { margin-bottom: var(--space-6); }

/* Payment methods */
.woocommerce-checkout #payment { margin-top: var(--space-8); padding-top: var(--space-6); border-top: 1px solid var(--color-border); }
.woocommerce-checkout .payment_methods { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.woocommerce-checkout .payment_methods li { border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; transition: border-color var(--duration-fast); }
.woocommerce-checkout .payment_methods li:hover { border-color: var(--accent-current); }
.woocommerce-checkout .payment_methods input { position: absolute; opacity: 0; pointer-events: none; }
.woocommerce-checkout .payment_methods label { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4); cursor: pointer; width: 100%; font-weight: 500; }
.woocommerce-checkout .payment_methods input:checked + label { background: var(--accent-current-10); }
.woocommerce-checkout .payment_methods .payment_box { margin: var(--space-4) 0 0; padding: var(--space-4); background: var(--color-bg); border-radius: var(--radius-md); border: 1px solid var(--color-border); font-size: var(--text-sm); color: var(--color-text-muted); line-height: var(--leading-normal); }
.woocommerce-checkout .payment_methods .payment_box::before { border-color: var(--color-border) transparent transparent; margin-left: var(--space-4); }

.woocommerce-checkout #place_order { width: 100%; margin-top: var(--space-8); padding: var(--space-4); font-size: var(--text-h3); }

/* Order review */
.woocommerce-checkout .checkout__order-review { background: var(--color-bg); padding: var(--space-6); border-radius: var(--radius-lg); position: sticky; top: 90px; }
.woocommerce-checkout .checkout__order-title { font-family: var(--font-display); font-size: var(--text-h3); margin-bottom: var(--space-5); padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-border); }
.woocommerce-checkout .shop_table { width: 100%; }
.woocommerce-checkout .shop_table th,
.woocommerce-checkout .shop_table td { padding: var(--space-2) 0; border-bottom: 1px solid var(--color-border); font-size: var(--text-sm); }
.woocommerce-checkout .shop_table .product-name { font-weight: 500; }
.woocommerce-checkout .shop_table .product-total .amount { font-family: var(--font-mono); font-weight: 600; }
.woocommerce-checkout .order-total th,
.woocommerce-checkout .order-total td { font-family: var(--font-display); font-size: var(--text-h3); color: var(--accent-current); font-weight: 600; padding-top: var(--space-4); }

/* My Account */
.woocommerce-account .account-layout { display: grid; grid-template-columns: 240px 1fr; gap: var(--space-10); }
@media (max-width: 768px) { .woocommerce-account .account-layout { grid-template-columns: 1fr; } }

.woocommerce-account .account-nav { display: flex; flex-direction: column; gap: var(--space-1); }
.woocommerce-account .account-nav a { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); font-size: var(--text-sm); font-weight: 500; color: var(--color-text-muted); border-radius: var(--radius-md); transition: all var(--duration-fast); }
.woocommerce-account .account-nav a:hover,
.woocommerce-account .account-nav a.is-active { color: var(--accent-current); background: var(--accent-current-10); }

.woocommerce-account .account-content { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-8); }
.woocommerce-account .account-content h2 { font-family: var(--font-display); font-size: var(--text-h2); margin-bottom: var(--space-6); padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-border); }
.woocommerce-account .account-content h3 { font-family: var(--font-display); font-size: var(--text-h3); margin: var(--space-6) 0 var(--space-4); }

/* Orders table */
.woocommerce-account .orders-table { width: 100%; }
.woocommerce-account .orders-table th,
.woocommerce-account .orders-table td { padding: var(--space-4); text-align: left; border-bottom: 1px solid var(--color-border); }
.woocommerce-account .orders-table th { font-size: var(--text-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-text-muted); background: var(--color-bg); }
.woocommerce-account .orders-table .order-number { font-family: var(--font-mono); }
.woocommerce-account .orders-table .order-date { white-space: nowrap; }
.woocommerce-account .orders-table .order-status { display: inline-flex; align-items: center; padding: var(--space-1) var(--space-3); font-size: var(--text-xs); font-weight: 600; border-radius: var(--radius-full); text-transform: capitalize; }
.woocommerce-account .orders-table .status-completed { background: var(--color-success-10); color: var(--color-success); }
.woocommerce-account .orders-table .status-processing { background: var(--color-info-10); color: var(--color-info); }
.woocommerce-account .orders-table .status-on-hold { background: var(--color-warning-10); color: var(--color-warning); }
.woocommerce-account .orders-table .status-cancelled { background: var(--color-error-10); color: var(--color-error); }
.woocommerce-account .orders-table .status-refunded { background: var(--color-text); color: var(--color-surface); }
.woocommerce-account .orders-table .order-total .amount { font-family: var(--font-mono); font-weight: 600; }
.woocommerce-account .orders-table .order-actions { display: flex; gap: var(--space-2); }
.woocommerce-account .orders-table .btn { font-size: var(--text-xs); padding: var(--space-1) var(--space-3); }

/* Order detail */
.woocommerce-account .order-details { margin-top: var(--space-8); }
.woocommerce-account .order-details h3 { font-family: var(--font-display); font-size: var(--text-h3); margin-bottom: var(--space-4); }
.woocommerce-account .order-details .order-info { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); margin-bottom: var(--space-8); }
@media (max-width: 640px) { .woocommerce-account .order-details .order-info { grid-template-columns: 1fr; } }
.woocommerce-account .order-details .order-info h4 { font-size: var(--text-sm); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-text-muted); margin-bottom: var(--space-3); }
.woocommerce-account .order-details .order-info address { font-style: normal; line-height: var(--leading-relaxed); color: var(--color-text); }
.woocommerce-account .order-details .order-items { margin-bottom: var(--space-8); }
.woocommerce-account .order-details .shop_table { width: 100%; }
.woocommerce-account .order-details .shop_table th,
.woocommerce-account .order-details .shop_table td { padding: var(--space-3); text-align: left; border-bottom: 1px solid var(--color-border); font-size: var(--text-sm); }
.woocommerce-account .order-details .shop_table .product-name { font-weight: 500; }
.woocommerce-account .order-details .shop_table .product-total { font-family: var(--font-mono); font-weight: 600; }

/* Downloads */
.woocommerce-account .digital-downloads { width: 100%; }
.woocommerce-account .digital-downloads th,
.woocommerce-account .digital-downloads td { padding: var(--space-4); text-align: left; border-bottom: 1px solid var(--color-border); }
.woocommerce-account .digital-downloads .download-count { font-family: var(--font-mono); }
.woocommerce-account .digital-downloads .download-expires { color: var(--color-text-muted); }
.woocommerce-account .digital-downloads .btn { font-size: var(--text-xs); padding: var(--space-1) var(--space-3); }

/* Addresses */
.woocommerce-account .addresses { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-6); }
@media (max-width: 640px) { .woocommerce-account .addresses { grid-template-columns: 1fr; } }
.woocommerce-account .address { padding: var(--space-6); background: var(--color-bg); border-radius: var(--radius-lg); border: 1px solid var(--color-border); }
.woocommerce-account .address h3 { font-family: var(--font-display); font-size: var(--text-h3); margin-bottom: var(--space-3); display: flex; align-items: center; justify-content: space-between; }
.woocommerce-account .address address { font-style: normal; line-height: var(--leading-relaxed); color: var(--color-text); margin-bottom: var(--space-4); }
.woocommerce-account .address .btn { font-size: var(--text-xs); padding: var(--space-1) var(--space-3); }

/* Wallet page (custom) */
.woocommerce-account .wallet-balance { display: flex; align-items: baseline; justify-content: space-between; padding: var(--space-6); background: var(--accent-current-10); border-radius: var(--radius-lg); margin-bottom: var(--space-8); }
.woocommerce-account .wallet-balance__label { font-size: var(--text-sm); color: var(--accent-current); font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; }
.woocommerce-account .wallet-balance__amount { font-family: var(--font-mono); font-size: var(--text-display); font-weight: 600; color: var(--accent-current); }
.woocommerce-account .wallet-transactions { width: 100%; }
.woocommerce-account .wallet-transactions th,
.woocommerce-account .wallet-transactions td { padding: var(--space-4); text-align: left; border-bottom: 1px solid var(--color-border); }
.woocommerce-account .wallet-transactions .amount { font-family: var(--font-mono); font-weight: 600; }
.woocommerce-account .wallet-transactions .amount--credit { color: var(--color-success); }
.woocommerce-account .wallet-transactions .amount--debit { color: var(--color-error); }

/* Affiliate dashboard (custom) */
.woocommerce-account .affiliate-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); margin-bottom: var(--space-8); }
@media (max-width: 640px) { .woocommerce-account .affiliate-stats { grid-template-columns: 1fr; } }
.woocommerce-account .affiliate-stat { padding: var(--space-6); background: var(--color-bg); border-radius: var(--radius-lg); text-align: center; }
.woocommerce-account .affiliate-stat__value { font-family: var(--font-mono); font-size: var(--text-h1); font-weight: 600; color: var(--accent-current); }
.woocommerce-account .affiliate-stat__label { font-size: var(--text-sm); color: var(--color-text-muted); margin-top: var(--space-2); }
.woocommerce-account .affiliate-referral-link { display: flex; gap: var(--space-3); margin-bottom: var(--space-8); padding: var(--space-4); background: var(--color-bg); border-radius: var(--radius-lg); }
.woocommerce-account .affiliate-referral-link__input { flex: 1; font-family: var(--font-mono); font-size: var(--text-sm); background: transparent; border: none; color: var(--color-text); }
.woocommerce-account .affiliate-referrals { width: 100%; }
.woocommerce-account .affiliate-referrals th,
.woocommerce-account .affiliate-referrals td { padding: var(--space-4); text-align: left; border-bottom: 1px solid var(--color-border); }
.woocommerce-account .affiliate-referrals .status { display: inline-flex; align-items: center; padding: var(--space-1) var(--space-3); font-size: var(--text-xs); font-weight: 600; border-radius: var(--radius-full); }

/* Wishlist page (custom) */
.woocommerce-account .wishlist-table { width: 100%; }
.woocommerce-account .wishlist-table th,
.woocommerce-account .wishlist-table td { padding: var(--space-4); text-align: left; border-bottom: 1px solid var(--color-border); }
.woocommerce-account .wishlist-table th { font-size: var(--text-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-text-muted); background: var(--color-bg); }
.woocommerce-account .wishlist-table .product-thumbnail { width: 80px; }
.woocommerce-account .wishlist-table .product-thumbnail img { width: 60px; height: 60px; object-fit: contain; border-radius: var(--radius-md); }
.woocommerce-account .wishlist-table .product-name { font-weight: 500; }
.woocommerce-account .wishlist-table .product-price .amount { font-family: var(--font-mono); font-weight: 600; }
.woocommerce-account .wishlist-table .product-stock { font-size: var(--text-sm); }
.woocommerce-account .wishlist-table .product-stock.in-stock { color: var(--color-success); }
.woocommerce-account .wishlist-table .product-stock.out-of-stock { color: var(--color-error); }
.woocommerce-account .wishlist-table .product-actions { display: flex; gap: var(--space-2); }
.woocommerce-account .wishlist-table .btn { font-size: var(--text-xs); padding: var(--space-1) var(--space-3); }

/* Widgets */
.widget { margin-bottom: var(--space-8); }
.widget-title { font-family: var(--font-display); font-size: var(--text-h3); margin-bottom: var(--space-4); padding-bottom: var(--space-3); border-bottom: 2px solid var(--accent-current); display: inline-block; }

.widget_product_categories ul { list-style: none; padding: 0; margin: 0; }
.widget_product_categories li { margin-bottom: var(--space-2); }
.widget_product_categories a { display: flex; justify-content: space-between; align-items: center; padding: var(--space-2) var(--space-3); color: var(--color-text); border-radius: var(--radius-md); transition: all var(--duration-fast); }
.widget_product_categories a:hover { color: var(--accent-current); background: var(--accent-current-10); }
.widget_product_categories .count { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-muted); background: var(--color-bg); padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); }

.widget_layered_nav ul { list-style: none; padding: 0; margin: 0; }
.widget_layered_nav li { margin-bottom: var(--space-2); }
.widget_layered_nav a { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); color: var(--color-text); border-radius: var(--radius-md); transition: all var(--duration-fast); }
.widget_layered_nav a:hover { color: var(--accent-current); background: var(--accent-current-10); }
.widget_layered_nav .count { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-muted); margin-left: auto; }
.widget_layered_nav .chosen a { color: var(--accent-current); font-weight: 500; background: var(--accent-current-10); }

.widget_price_filter .price_slider_wrapper { margin-top: var(--space-4); }
.widget_price_filter .price_slider_amount { display: flex; justify-content: space-between; align-items: center; margin-top: var(--space-4); font-size: var(--text-sm); }
.widget_price_filter .price_slider_amount input { width: 80px; padding: var(--space-2) var(--space-3); font-family: var(--font-mono); font-size: var(--text-sm); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.widget_price_filter .ui-slider { height: 4px; background: var(--color-border); border-radius: var(--radius-full); margin: var(--space-4) 0; }
.widget_price_filter .ui-slider-range { background: var(--accent-current); border-radius: var(--radius-full); }
.widget_price_filter .ui-slider-handle { width: 18px; height: 18px; background: var(--accent-current); border: none; border-radius: 50%; top: -7px; cursor: pointer; transition: transform var(--duration-fast); }
.widget_price_filter .ui-slider-handle:hover { transform: scale(1.2); }

/* Search results */
.woocommerce-search .page-header { padding: var(--space-12) 0 var(--space-8); }
.woocommerce-search .page-header__title { font-family: var(--font-display); font-size: var(--text-h1); }

/* 404 */
.error404 .page-header { padding: var(--space-20) 0; text-align: center; }
.error404 .page-header__title { font-family: var(--font-display); font-size: var(--text-display); margin-bottom: var(--space-4); }
.error404 .page-header__subtitle { font-size: var(--text-h3); color: var(--color-text-muted); max-width: 480px; margin: 0 auto var(--space-8); }
.error404 .search-form { max-width: 400px; margin: 0 auto; }

/* Notices */
.woocommerce-notices-wrapper { margin-bottom: var(--space-6); }
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  padding: var(--space-4) var(--space-6);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-4);
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}
.woocommerce-message { background: var(--color-info-10); border: 1px solid var(--color-info); color: var(--color-info); }
.woocommerce-error { background: var(--color-error-10); border: 1px solid var(--color-error); color: var(--color-error); }
.woocommerce-info { background: var(--color-bg); border: 1px solid var(--color-border); color: var(--color-text); }

/* Mini cart widget */
.widget_shopping_cart .cart_list { list-style: none; padding: 0; margin: 0; }
.widget_shopping_cart .cart_list li { display: flex; gap: var(--space-3); padding: var(--space-3) 0; border-bottom: 1px solid var(--color-border); }
.widget_shopping_cart .cart_list li:last-child { border-bottom: none; }
.widget_shopping_cart .cart_list img { width: 50px; height: 50px; object-fit: contain; border-radius: var(--radius-md); }
.widget_shopping_cart .cart_list .product-name { font-weight: 500; font-size: var(--text-sm); }
.widget_shopping_cart .cart_list .quantity { font-size: var(--text-sm); color: var(--color-text-muted); }
.widget_shopping_cart .cart_list .quantity .amount { font-family: var(--font-mono); font-weight: 600; color: var(--color-text); }
.widget_shopping_cart .cart_list .remove { color: var(--color-text-faint); margin-left: auto; font-size: var(--text-lg); transition: color var(--duration-fast); }
.widget_shopping_cart .cart_list .remove:hover { color: var(--color-error); }
.widget_shopping_cart .total { display: flex; justify-content: space-between; padding: var(--space-4) 0; border-top: 1px solid var(--color-border); font-weight: 600; }
.widget_shopping_cart .total .amount { font-family: var(--font-mono); }
.widget_shopping_cart .buttons { display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-4); }
.widget_shopping_cart .btn { width: 100%; }

/* Breadcrumb */
.woocommerce-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--color-text-muted); margin-bottom: var(--space-6); }
.woocommerce-breadcrumb a { color: var(--color-text-muted); transition: color var(--duration-fast); }
.woocommerce-breadcrumb a:hover { color: var(--accent-current); }
.woocommerce-breadcrumb .breadcrumb-separator { color: var(--color-text-faint); }