/* ============================================================
   RESERVE RESEARCH — WOOCOMMERCE OVERRIDES
   ============================================================ */

/* Reset WC defaults to match theme */
.woocommerce-page .woocommerce,
.woocommerce { color: #142b20; }

/* Product title in loop */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--rr-font-head);
  font-size: 1.1rem;
  font-weight: 600;
  color: #142b20;
  padding: 0;
  margin-bottom: 8px;
}

/* Prices */
.woocommerce .price, .woocommerce-page .price { color: #1f5c3a; font-family: var(--rr-font-head); font-weight: 700; }
.woocommerce .price del { color: #4a6655; opacity: 0.6; }
.woocommerce .price ins { text-decoration: none; }

/* Quantity input */
.woocommerce .quantity .qty {
  background: var(--rr-black-4);
  border: 1px solid #c8dece;
  color: #142b20;
  border-radius: var(--rr-radius);
  font-family: var(--rr-font-mono);
  padding: 10px 12px;
  width: 80px;
}
.woocommerce .quantity .qty:focus { border-color: #1f5c3a; outline: none; }

/* Add to cart button */
.woocommerce .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: #1f5c3a !important;
  color: #ffffff !important;
  font-family: var(--rr-font-head) !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border: 1px solid #1f5c3a !important;
  border-radius: var(--rr-radius) !important;
  padding: 12px 28px !important;
  transition: all 0.2s ease !important;
}
.woocommerce .single_add_to_cart_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: #fff !important;
  border-color: #fff !important;
  box-shadow: 0 0 24px rgba(45,232,204,0.35) !important;
}
.woocommerce a.button.alt, .woocommerce button.button.alt { background: #1f5c3a !important; }

/* Variations form */
.variations_form .variations select {
  background: var(--rr-black-4);
  border: 1px solid #c8dece;
  color: #142b20;
  border-radius: var(--rr-radius);
  padding: 10px 14px;
  font-family: var(--rr-font-body);
}
.variations_form .variations label { color: #4a6655; font-size: 0.85rem; font-family: var(--rr-font-mono); text-transform: uppercase; letter-spacing: 0.08em; }
.variations_form .reset_variations { color: #1f5c3a !important; font-size: 0.8rem; }

/* Product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  border-bottom: 1px solid #dce8dc;
  margin-bottom: 24px;
  display: flex; gap: 4px;
  flex-wrap: wrap;
  background: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: 1px solid transparent;
  border-radius: var(--rr-radius) var(--rr-radius) 0 0;
  background: none;
  margin: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--rr-font-head);
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #4a6655;
  padding: 10px 18px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--rr-black-3);
  border-color: #dce8dc;
  border-bottom-color: var(--rr-black-3);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #1f5c3a; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--rr-black-3);
  border: 1px solid #dce8dc;
  border-radius: 0 var(--rr-radius-lg) var(--rr-radius-lg);
  padding: 28px;
  margin: 0;
}

/* Related products */
.woocommerce .related h2,
.woocommerce .upsells h2 {
  font-family: var(--rr-font-head);
  font-size: 1.4rem;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid #dce8dc;
}
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important; }

/* Cart */
.woocommerce-cart table.cart,
.woocommerce-checkout table.cart {
  background: var(--rr-black-3);
  border: 1px solid #dce8dc;
  border-radius: var(--rr-radius-lg);
}
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td { border-color: #dce8dc !important; }
.woocommerce-cart .cart_totals { background: var(--rr-black-3); border: 1px solid #dce8dc; border-radius: var(--rr-radius-lg); padding: 24px; }
.woocommerce-cart .cart_totals h2 { font-size: 1.1rem; margin-bottom: 16px; }
.woocommerce .cart_totals table { color: #4a6655; }

/* Checkout */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading { font-size: 1.1rem; color: #142b20; letter-spacing: 0.06em; text-transform: uppercase; font-family: var(--rr-font-head); border-bottom: 1px solid #dce8dc; padding-bottom: 12px; margin-bottom: 20px; }
.woocommerce-checkout .form-row label { color: #4a6655; font-size: 0.82rem; font-family: var(--rr-font-mono); text-transform: uppercase; letter-spacing: 0.06em; }
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  background: var(--rr-black-4) !important;
  border: 1px solid #c8dece !important;
  color: #142b20 !important;
  border-radius: var(--rr-radius) !important;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus { border-color: #1f5c3a !important; outline: none !important; box-shadow: 0 0 0 3px rgba(31,92,58,0.08) !important; }

/* Rating stars */
.woocommerce .star-rating span::before,
.woocommerce-page .star-rating span::before { color: #1f5c3a !important; }

/* Notices */
.woocommerce-message, .woocommerce-info {
  background: var(--rr-black-3) !important;
  border-top: 3px solid #1f5c3a !important;
  color: #4a6655 !important;
}
.woocommerce-error {
  background: #fef2f2 !important;
  border-top: 3px solid #b91c1c !important;
  color: #142b20 !important;
}
.woocommerce-message a, .woocommerce-info a { color: #1f5c3a !important; }

/* Account pages */
.woocommerce-MyAccount-navigation { background: var(--rr-black-3); border: 1px solid #dce8dc; border-radius: var(--rr-radius-lg); padding: 16px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-MyAccount-navigation ul li a { display: block; padding: 9px 12px; color: #4a6655; font-size: 0.87rem; border-radius: var(--rr-radius); transition: all 0.2s; }
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover { color: #1f5c3a; background: rgba(31,92,58,0.08); }

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
  font-family: var(--rr-font-mono);
  font-size: 0.72rem;
  color: #4a6655;
  margin-bottom: 24px;
}
.woocommerce .woocommerce-breadcrumb a { color: #1f5c3a; }

/* Sale badge */
.woocommerce span.onsale {
  background: #1f5c3a !important;
  color: #ffffff !important;
  font-family: var(--rr-font-mono) !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  min-height: unset !important;
  min-width: unset !important;
  line-height: 1 !important;
  padding: 5px 8px !important;
  border-radius: 4px !important;
}

/* Ordering dropdown */
.woocommerce-ordering select {
  background: var(--rr-black-4);
  border: 1px solid #c8dece;
  color: #4a6655;
  border-radius: var(--rr-radius);
  padding: 7px 12px;
  font-family: var(--rr-font-mono);
  font-size: 0.78rem;
}

/* Result count */
.woocommerce-result-count { font-family: var(--rr-font-mono); font-size: 0.75rem; color: #4a6655; }
