/* ============================================================
   PGHLPW × WooCommerce theme compliance overrides
   ============================================================
   WooCommerce ships its own default frontend styles (light
   background, default purple/pink buttons, default fonts) that
   never got restyled to match the dark PGHLPW theme when
   add_theme_support('woocommerce') was added. This file re-themes
   the shop, single product, cart, checkout, and account pages
   using the same CSS custom properties and .btn/.form-input
   patterns already established in style.css, instead of
   introducing a second visual language.

   Only enqueued on WooCommerce pages (see inc/woocommerce.php) —
   never loaded on the rest of the site.
   ============================================================ */

/* ---- Page-level ---- */
.woocommerce,
.woocommerce-page {
  color: var(--color-body-text);
}

/* Belt-and-suspenders: the theme has no sidebar.php and the woocommerce_sidebar
   hook is removed in inc/woocommerce.php, but if a leftover widget area ever
   renders again (theme/plugin update, etc.), hide it outright rather than let
   an unstyled default WordPress widget list (Search, Pages) show up next to
   the shop grid. Full-bleed single column everywhere WooCommerce renders. */
.woocommerce #secondary,
.woocommerce-page #secondary,
.woocommerce .widget-area,
.woocommerce-page .widget-area {
  display: none !important;
}
.woocommerce #content-area,
.woocommerce-page #content-area,
.woocommerce #primary,
.woocommerce-page #primary {
  width: 100% !important;
  float: none !important;
}

.woocommerce h1,
.woocommerce h2,
.woocommerce h3 {
  font-family: var(--font-display);
  color: var(--color-parchment);
  letter-spacing: 0.03em;
}

.woocommerce nav.woocommerce-breadcrumb {
  font-family: var(--font-condensed);
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-bone);
  margin-bottom: var(--space-lg);
}
.woocommerce nav.woocommerce-breadcrumb a {
  color: var(--color-spark);
}

/* ---- Notices (added to cart, errors, info) ---- */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.woocommerce-notice {
  background: var(--color-forge) !important;
  border: 1px solid var(--color-steel) !important;
  border-left: 3px solid var(--color-ember) !important;
  border-radius: var(--radius-card);
  color: var(--color-parchment) !important;
  padding: var(--space-md) var(--space-lg) !important;
  list-style: none !important;
}
.woocommerce-error { border-left-color: var(--color-blood) !important; }
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
  float: none !important;
  margin-top: var(--space-sm);
}

/* ---- Shop archive / product grid ---- */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--space-lg);
  margin: 0 !important;
  list-style: none !important;
}
.woocommerce ul.products li.product {
  background: var(--color-forge);
  border: 1px solid var(--color-steel);
  border-top: 2px solid var(--color-ember);
  border-radius: var(--radius-card);
  padding: var(--space-lg);
  text-align: left !important;
  width: auto !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product img {
  border-radius: var(--radius-card);
  margin-bottom: var(--space-md) !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-condensed);
  font-weight: 700;
  font-size: 1.0625rem;
  color: var(--color-parchment);
  margin: 0 0 var(--space-xs) !important;
  letter-spacing: 0.02em;
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-Price-amount {
  font-family: var(--font-condensed);
  font-weight: 700;
  color: var(--color-ember) !important;
}
.woocommerce span.onsale {
  background: var(--color-blood) !important;
  font-family: var(--font-condensed);
  font-weight: 700;
  letter-spacing: 0.06em;
  border-radius: var(--radius-card) !important;
}
.woocommerce .star-rating { display: none; } /* no reviews on this site */

/* ---- Buttons (add to cart, checkout, submit) — match .btn-primary ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.checkout-button,
.woocommerce #place_order {
  display: inline-block;
  font-family: var(--font-condensed) !important;
  font-weight: 700 !important;
  font-size: 0.8125rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 13px 30px !important;
  border-radius: var(--radius-btn) !important;
  border: 2px solid var(--color-blood) !important;
  background: var(--color-blood) !important;
  color: var(--color-parchment) !important;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.checkout-button:hover,
.woocommerce #place_order:hover {
  background: var(--color-ember) !important;
  border-color: var(--color-ember) !important;
  color: var(--color-parchment) !important;
}
.woocommerce a.button.disabled,
.woocommerce button.button.disabled,
.woocommerce input.button.disabled {
  background: var(--color-steel) !important;
  border-color: var(--color-iron) !important;
  color: var(--color-bone) !important;
  cursor: not-allowed;
}

/* ---- Single product page ---- */
.woocommerce div.product .summary .product_title {
  font-family: var(--font-display);
  font-size: 2rem;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--color-body-text);
  line-height: 1.7;
}
.woocommerce div.product form.cart .quantity {
  margin-right: var(--space-sm);
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid var(--color-steel) !important;
  padding-left: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  font-family: var(--font-condensed);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.8125rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--color-bone) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--color-parchment) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
  border: none !important;
  color: var(--color-body-text);
  padding-top: var(--space-md);
}

/* ---- Quantity input, generic text/number/email/tel inputs, selects ---- */
.woocommerce .quantity .qty,
.woocommerce table.shop_table input[type="number"],
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-additional-fields textarea,
.select2-container--default .select2-selection--single {
  background: var(--color-obsidian) !important;
  border: 1px solid var(--color-border-input) !important;
  border-radius: var(--radius-card) !important;
  color: var(--color-parchment) !important;
  font-family: var(--font-body);
  padding: 0.65rem 0.85rem !important;
  height: auto !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--color-parchment) !important;
  line-height: 2.2 !important;
}
.select2-dropdown {
  background: var(--color-forge) !important;
  border-color: var(--color-border-input) !important;
}
.select2-container--default .select2-results__option {
  color: var(--color-parchment) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--color-blood) !important;
}
.woocommerce form .form-row label {
  font-family: var(--font-condensed);
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--color-bone);
}

/* ---- Cart & checkout tables ---- */
.woocommerce table.shop_table {
  border: 1px solid var(--color-steel) !important;
  border-radius: var(--radius-card);
  background: var(--color-forge);
  color: var(--color-body-text);
}
.woocommerce table.shop_table th {
  font-family: var(--font-condensed);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.75rem;
  color: var(--color-bone) !important;
  border-bottom: 2px solid var(--color-steel) !important;
}
.woocommerce table.shop_table td {
  border-top: 1px solid var(--color-steel) !important;
  color: var(--color-body-text);
}
.woocommerce-checkout-review-order-table,
.woocommerce-cart-form,
#order_review {
  background: transparent !important;
}
.woocommerce-checkout #payment,
.woocommerce-checkout #payment ul.payment_methods {
  background: var(--color-forge) !important;
  border-radius: var(--radius-card);
}
.woocommerce-checkout #payment div.payment_box {
  background: var(--color-coal) !important;
  color: var(--color-body-text) !important;
}
.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--color-coal) !important;
}

/* ---- My account page ---- */
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
}
.woocommerce-MyAccount-navigation a {
  color: var(--color-bone);
  font-family: var(--font-condensed);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.8125rem;
}
.woocommerce-MyAccount-navigation li.is-active a {
  color: var(--color-ember);
}
