/* =========================================================
   WooCommerce re-skin — restyles WooCommerce's own (functionally
   battle-tested) templates to the Artaaj design system rather than
   replacing their markup/JS. Shop archive card grid is replaced by
   content-product.php (uses artaaj-product-card directly); everything
   else here is CSS-only re-skinning of native WC output.
   ========================================================= */

.artaaj-wc-page { padding-block: 28px clamp(48px,6vw,90px); }
.artaaj-wc-layout { display: grid; grid-template-columns: 260px 1fr; gap: 28px; align-items: start; }
.artaaj-wc-sidebar { position: sticky; top: calc(var(--header-h) + 16px); }
@media (max-width: 900px) { .artaaj-wc-layout { grid-template-columns: 1fr; } .artaaj-wc-sidebar { position: static; } }

/* Breadcrumb */
.artaaj-breadcrumb__inner, .woocommerce-breadcrumb { font-size: var(--fs-xs); color: var(--artaaj-muted); margin-bottom: 20px; }
.artaaj-breadcrumb__inner a, .woocommerce-breadcrumb a { color: var(--artaaj-muted); }
.artaaj-breadcrumb__inner a:hover, .woocommerce-breadcrumb a:hover { color: var(--artaaj-blue); }
.artaaj-breadcrumb__sep { margin: 0 8px; opacity: .5; }

/* Page title */
.woocommerce-products-header__title.page-title,
.page-title { font-size: var(--fs-xl); font-weight: 800; margin: 0 0 6px; color: var(--artaaj-navy); }
.term-description, .archive-description { color: var(--artaaj-muted); font-size: var(--fs-sm); margin-bottom: 20px; max-width: 70ch; }

/* Toolbar: result count + sort */
.woocommerce-notices-wrapper { grid-column: 1/-1; }
.woocommerce-result-count { color: var(--artaaj-muted); font-size: var(--fs-sm); margin: 0; }
.woocommerce-ordering { margin: 0 0 0 auto; }
.woocommerce-ordering select {
  height: 42px; border: 1px solid var(--artaaj-border); border-radius: var(--artaaj-radius-sm);
  padding: 0 34px 0 14px; font-size: var(--fs-sm); background: #fff;
}
form.woocommerce-ordering, .woocommerce > .woocommerce-result-count { display: inline-flex; align-items: center; }
.woocommerce > *:has(.woocommerce-result-count) { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; flex-wrap: wrap; gap: 12px; }

/* Product grid (shop loop) — matches homepage cards */
ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 18px; list-style: none; padding: 0; margin: 0 0 32px;
}
ul.products li.product { padding: 0; margin: 0; }
ul.products::before, ul.products::after { display: none !important; }

/* Pagination */
.woocommerce-pagination ul.page-numbers { display: flex; gap: 8px; list-style: none; padding: 0; justify-content: center; }
.woocommerce-pagination .page-numbers li { list-style: none; }
.woocommerce-pagination .page-numbers a, .woocommerce-pagination .page-numbers span {
  display: flex; align-items: center; justify-content: center; width: 40px; height: 40px;
  border-radius: var(--artaaj-radius-sm); border: 1px solid var(--artaaj-border); font-size: var(--fs-sm); font-weight: 600;
}
.woocommerce-pagination .page-numbers .current { background: var(--artaaj-blue); border-color: var(--artaaj-blue); color: #fff; }
.woocommerce-pagination .page-numbers a:hover { border-color: var(--artaaj-blue); color: var(--artaaj-blue); }

/* Sidebar widgets (filters) */
.artaaj-wc-page .widget { background: #fff; border: 1px solid var(--artaaj-border); border-radius: var(--artaaj-radius-md); padding: 18px; margin-bottom: 16px; }
.artaaj-wc-page .widget-title { font-size: var(--fs-sm); font-weight: 700; margin: 0 0 14px; text-transform: uppercase; letter-spacing: .03em; color: var(--artaaj-text-soft); }
.artaaj-wc-page .widget ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.artaaj-wc-page .widget ul a { font-size: var(--fs-sm); color: var(--artaaj-text-soft); }
.artaaj-wc-page .widget ul a:hover { color: var(--artaaj-blue); }
.price_slider_wrapper .ui-slider { background: var(--artaaj-border); height: 4px; border-radius: 4px; }
.price_slider_wrapper .ui-slider .ui-slider-range { background: var(--artaaj-blue); }
.price_slider_wrapper .ui-slider-handle { width: 16px; height: 16px; background: var(--artaaj-blue); border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--artaaj-blue); top: -6px; }
.price_slider_amount .button { float: right; }

/* Star ratings (native WC) */
.star-rating { color: var(--artaaj-warning); font-size: 13px; }
.star-rating::before { color: var(--artaaj-border-strong); }
.star-rating span::before { color: var(--artaaj-warning); }

/* Buttons */
.artaaj-wc-page .button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce-page .button {
  background: var(--artaaj-blue); color: #fff; border-radius: var(--artaaj-radius-sm);
  padding: 12px 22px; font-weight: 600; font-size: var(--fs-sm); border: none; transition: background-color .18s ease, transform .18s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--artaaj-blue-hover); transform: translateY(-1px); }
.woocommerce .button.alt { background: var(--artaaj-blue); }

/* ---------------- Single product ---------------- */
.single-product div.product { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px,4vw,56px); align-items: flex-start; }
.woocommerce-product-gallery { background: var(--artaaj-surface-alt); border-radius: var(--artaaj-radius-lg); overflow: hidden; padding: 20px; }
.woocommerce-product-gallery__image { border-radius: var(--artaaj-radius-md); overflow: hidden; }
.flex-control-thumbs { display: flex; gap: 10px; margin-top: 14px; list-style: none; padding: 0; }
.flex-control-thumbs li { width: 64px; }
.flex-control-thumbs img { border-radius: var(--artaaj-radius-xs); border: 2px solid transparent; }
.flex-control-thumbs img.flex-active { border-color: var(--artaaj-blue); }

.single-product .summary { padding-top: 4px; }
.single-product .product_title { font-size: var(--fs-xl); font-weight: 800; color: var(--artaaj-navy); margin: 0 0 10px; }
.single-product p.price, .single-product span.price { font-size: var(--fs-lg); font-weight: 800; color: var(--artaaj-navy); }
.single-product p.price del { font-size: var(--fs-sm); color: var(--artaaj-muted); font-weight: 500; }
.single-product .woocommerce-product-details__short-description { color: var(--artaaj-text-soft); margin: 16px 0; line-height: 1.7; }

.single-product form.cart { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 22px 0; }
.single-product .quantity input.qty { width: 70px; height: 48px; border: 1px solid var(--artaaj-border); border-radius: var(--artaaj-radius-sm); text-align: center; font-size: var(--fs-sm); }
.single-product .single_add_to_cart_button { height: 50px; padding: 0 30px; }

table.variations { width: 100%; margin: 18px 0; }
table.variations td { padding: 8px 0; }
table.variations select { height: 44px; border: 1px solid var(--artaaj-border); border-radius: var(--artaaj-radius-sm); padding: 0 12px; width: 100%; }
.woocommerce-variation-price { font-weight: 700; margin: 10px 0; }

.woocommerce-tabs { margin-top: clamp(40px,5vw,72px); }
.woocommerce-tabs ul.tabs { display: flex; gap: 6px; list-style: none; padding: 0; border-bottom: 1px solid var(--artaaj-border); margin-bottom: 24px; }
.woocommerce-tabs ul.tabs li { list-style: none; }
.woocommerce-tabs ul.tabs li a { display: inline-flex; padding: 12px 18px; font-weight: 600; font-size: var(--fs-sm); color: var(--artaaj-muted); border-bottom: 2px solid transparent; margin-bottom: -1px; }
.woocommerce-tabs ul.tabs li.active a { color: var(--artaaj-blue); border-color: var(--artaaj-blue); }
.woocommerce-tabs table.shop_attributes { width: 100%; border-collapse: collapse; }
.woocommerce-tabs table.shop_attributes th { text-align: left; width: 220px; padding: 12px; background: var(--artaaj-surface-alt); font-weight: 600; font-size: var(--fs-sm); }
.woocommerce-tabs table.shop_attributes td { padding: 12px; font-size: var(--fs-sm); border-bottom: 1px solid var(--artaaj-border); }
.woocommerce-tabs table.shop_attributes tr:nth-child(even) th,
.woocommerce-tabs table.shop_attributes tr:nth-child(even) td { background: var(--artaaj-surface-alt); }

.related.products, .upsells.products { margin-top: clamp(40px,5vw,72px); }
.related.products > h2, .upsells.products > h2 { font-size: var(--fs-xl); font-weight: 800; margin-bottom: 20px; }

/* Stock messages */
p.stock { font-size: var(--fs-sm); font-weight: 600; }
p.stock.in-stock { color: var(--artaaj-success); }
p.stock.out-of-stock { color: var(--artaaj-danger); }

@media (max-width: 900px) {
  .single-product div.product { grid-template-columns: 1fr; }
}

/* ---------------- Cart / Checkout ---------------- */
.woocommerce-cart table.cart, .woocommerce-checkout table.shop_table {
  width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--artaaj-border); border-radius: var(--artaaj-radius-md); overflow: hidden;
}
.woocommerce-cart table.cart th, .woocommerce-checkout table.shop_table th { text-align: left; padding: 14px; font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .03em; color: var(--artaaj-muted); border-bottom: 1px solid var(--artaaj-border); }
.woocommerce-cart table.cart td, .woocommerce-checkout table.shop_table td { padding: 14px; border-bottom: 1px solid var(--artaaj-border); font-size: var(--fs-sm); }
.woocommerce-cart table.cart img { border-radius: var(--artaaj-radius-xs); width: 64px; }
.cart-collaterals .cart_totals { background: var(--artaaj-surface-alt); border-radius: var(--artaaj-radius-md); padding: 22px; margin-top: 24px; }
.cart_totals table { width: 100%; }
.cart_totals th, .cart_totals td { padding: 10px 0; font-size: var(--fs-sm); }
.cart_totals .order-total .amount { font-weight: 800; font-size: var(--fs-md); }

.woocommerce-checkout #customer_details { display: grid; }
.woocommerce-checkout .form-row { margin-bottom: 14px; }
.woocommerce-checkout input.input-text, .woocommerce-checkout select, .woocommerce-checkout textarea {
  width: 100%; height: 46px; border: 1px solid var(--artaaj-border); border-radius: var(--artaaj-radius-sm); padding: 0 14px; font-size: var(--fs-sm);
}
.woocommerce-checkout textarea { height: auto; padding: 12px 14px; }
.woocommerce-checkout #order_review { background: var(--artaaj-surface-alt); border-radius: var(--artaaj-radius-md); padding: 22px; }
.woocommerce-checkout label { font-size: var(--fs-sm); font-weight: 600; margin-bottom: 6px; display: inline-block; }

/* ---------------- My Account ---------------- */
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px; border-radius: var(--artaaj-radius-sm); font-size: var(--fs-sm); font-weight: 600; color: var(--artaaj-text-soft); }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { background: var(--artaaj-light-blue); color: var(--artaaj-blue); }
.woocommerce-account .woocommerce-MyAccount-content { background: #fff; border: 1px solid var(--artaaj-border); border-radius: var(--artaaj-radius-md); padding: 24px; }
.woocommerce-account-fields .form-row, .woocommerce-address-fields .form-row { margin-bottom: 14px; }

@media (min-width: 782px) {
  .woocommerce-account .woocommerce { display: grid; grid-template-columns: 220px 1fr; gap: 24px; align-items: start; }
}

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {
  border-radius: var(--artaaj-radius-sm); padding: 14px 18px; font-size: var(--fs-sm); list-style: none; margin-bottom: 20px;
}
.woocommerce-message { background: #d6f3e3; color: var(--artaaj-success); }
.woocommerce-error { background: #fbdada; color: var(--artaaj-danger); }
.woocommerce-info { background: var(--artaaj-light-blue); color: var(--artaaj-blue-dark); }
