:root {
  --color-bg: #F3F2F2;
  --color-surface: #EAE9E9;
  --color-ink: #201E1D;
  --color-accent: #EC3013;
  --color-accent-600: #DD2B0F;
  --color-accent-700: #AE1800;
  --color-divider: rgba(32,30,29,0.4);
  --color-neutral-600: #7D7979;
  --color-neutral-700: #605D5D;
  --color-neutral-800: #444141;
  --font-family-base: "Archivo", system-ui, sans-serif;
}
/* ProTools Modernist — WooCommerce restyle. Colors/fonts reference the same CSS custom properties Elementor's kit defines (--color-*, --font-family-base), so this stays in sync with the design's global variables. */

.woocommerce-page #secondary,
.single-product #secondary,
.woocommerce-cart #secondary,
.woocommerce-checkout #secondary { display: none; }

.woocommerce-page #primary,
.single-product #primary,
.woocommerce-cart #primary,
.woocommerce-checkout #primary { width: 100%; float: none; }

.woocommerce-page .ast-container,
.single-product .ast-container,
.woocommerce-cart .ast-container,
.woocommerce-checkout .ast-container { max-width: 1280px; padding: 32px 24px; }

.woocommerce-page *, .single-product *, .woocommerce-cart *, .woocommerce-checkout * { font-family: var(--font-family-base, 'Archivo', system-ui, sans-serif); }

.woocommerce-breadcrumb { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-neutral-600); margin-bottom: 16px !important; }
.woocommerce-breadcrumb a { color: var(--color-neutral-600); }

.woocommerce-products-header__title.page-title,
.single-product .product_title,
.woocommerce-cart h1.entry-title,
.woocommerce-checkout h1.entry-title,
h1.woocommerce-products-header__title { font-family: var(--font-family-base); font-weight: 800; font-size: 42px; line-height: 1.12; letter-spacing: -0.015em; color: var(--color-ink); margin-bottom: 8px; }

.woocommerce-result-count, .woocommerce-ordering select { font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-neutral-600); border-radius: 0; }
.woocommerce-ordering select { border: 1px solid var(--color-divider); background: var(--color-surface); padding: 6px 10px; }

/* Product grid */
.woocommerce ul.products { display: flex; flex-wrap: wrap; gap: 16px; list-style: none; margin: 0 0 32px; padding: 0; }
.woocommerce ul.products li.product { width: calc(25% - 12px); margin: 0 !important; border: 2px solid var(--color-ink); background: var(--color-bg); padding: 0 !important; display: flex; flex-direction: column; }
@media (max-width: 1024px) { .woocommerce ul.products li.product { width: calc(50% - 8px); } }
@media (max-width: 600px) { .woocommerce ul.products li.product { width: 100%; } }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { text-decoration: none; color: inherit; display: flex; flex-direction: column; flex: 1; }
.woocommerce ul.products li.product img { border-radius: 0 !important; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-weight: 700; font-size: 15px; line-height: 1.3; color: var(--color-ink); padding: 12px 12px 0; margin: 0; }
.woocommerce ul.products li.product .price { font-weight: 800; font-size: 22px; letter-spacing: -0.02em; color: var(--color-ink); padding: 4px 12px 0; margin-top: auto; }
.woocommerce ul.products li.product .price del { color: var(--color-neutral-600); font-weight: 400; font-size: 14px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button { background: var(--color-accent); color: var(--color-bg); border-radius: 0; font-weight: 800; font-size: 14px; text-transform: none; margin: 12px; padding: 8px 14px; border: 1px solid transparent; box-shadow: none; }
.woocommerce ul.products li.product .button:hover { background: var(--color-accent-600); color: var(--color-bg); }
.woocommerce span.onsale { background: var(--color-accent); border-radius: 0; font-weight: 700; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; top: 8px; left: 8px; }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul { border: none; }
.woocommerce nav.woocommerce-pagination ul li { border-right: none; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border: 2px solid var(--color-divider); border-radius: 0; color: var(--color-ink); font-weight: 600; }
.woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li span.current { background: var(--color-ink); color: var(--color-bg); border-color: var(--color-ink); }

/* Single product */
.single-product div.product { display: flex; flex-wrap: wrap; gap: 32px; }
.single-product div.product .woocommerce-product-gallery { flex: 1 1 380px; border: 2px solid var(--color-ink); }
.single-product div.product .summary { flex: 1 1 380px; }
.single-product div.product .product_title { margin-bottom: 8px; }
.single-product div.product p.price, .single-product div.product span.price { font-family: var(--font-family-base); font-weight: 800; font-size: 34px; letter-spacing: -0.02em; color: var(--color-ink); }
.single-product div.product .woocommerce-product-details__short-description { font-size: 15px; line-height: 1.6; color: var(--color-neutral-800); margin: 16px 0; }
.single-product div.product form.cart .button,
.single-product div.product button.single_add_to_cart_button { background: var(--color-accent); color: var(--color-bg); border-radius: 0; font-weight: 800; font-size: 16px; padding: 12px 24px; border: none; box-shadow: none; }
.single-product div.product form.cart .button:hover { background: var(--color-accent-600); }
.single-product div.product .quantity input.qty { border: 2px solid var(--color-ink); border-radius: 0; height: 48px; }
.single-product .woocommerce-tabs ul.tabs { border-bottom: 2px solid var(--color-ink); padding: 0; margin: 32px 0 0; }
.single-product .woocommerce-tabs ul.tabs li { border-radius: 0; background: transparent; border: none; margin: 0 24px 0 0; padding: 0; }
.single-product .woocommerce-tabs ul.tabs li a { font-weight: 700; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-neutral-600); padding: 12px 0; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--color-ink); box-shadow: inset 0 -2px 0 var(--color-ink); }
.single-product .woocommerce-tabs .panel { border: none; padding: 24px 0; }
.related.products { border-top: 2px solid var(--color-divider); margin-top: 48px; padding-top: 32px; }
.related.products > h2 { font-family: var(--font-family-base); font-weight: 800; font-size: 32px; color: var(--color-ink); }

/* Checkout */
.woocommerce-checkout #customer_details .form-row input.input-text,
.woocommerce-checkout #customer_details .form-row select { border: 1px solid var(--color-divider); border-radius: 0; background: var(--color-surface); }
.woocommerce-checkout #order_review { border: 2px solid var(--color-ink); padding: 24px; }

/* Generic remove-icon fix for any leftover default WooCommerce markup (e.g. inside the Shop mini-cart) */
.woocommerce a.remove { border-radius: 0 !important; width: auto !important; height: auto !important; line-height: normal !important; background: transparent !important; color: var(--color-accent-700) !important; font-size: 18px !important; }
.woocommerce a.remove:hover { color: var(--color-accent) !important; background: transparent !important; }
