/* ==========================================================================
   Het Genietschap — WooCommerce Overrides
   ========================================================================== */

/* Remove all default WC styling noise */
.woocommerce-notices-wrapper,
.woocommerce-result-count,
.woocommerce-ordering { display: none; }

/* WC messages */
.woocommerce-message, .woocommerce-info {
  background: var(--noir-card); border: 1px solid rgba(184,148,62,0.25);
  color: var(--text-light); padding: 1rem 1.5rem; margin-bottom: 2rem;
  font-size: 0.85rem;
}
.woocommerce-message::before { color: var(--gold); }
.woocommerce-error {
  background: var(--noir-card); border: 1px solid rgba(201,78,78,0.3);
  color: var(--red); padding: 1rem 1.5rem; margin-bottom: 2rem; font-size: 0.85rem;
}
.woocommerce-error li { list-style: none; }

/* Price display overrides */
.woocommerce .price, .woocommerce .amount { color: var(--gold); font-family: var(--serif); }
.woocommerce del .amount { color: var(--text-muted); opacity: 0.5; }
.woocommerce ins { text-decoration: none; }

/* Sale badge */
.woocommerce span.onsale { display: none; } /* We use custom badges */

/* Star rating */
.woocommerce .star-rating { color: var(--gold); font-size: 0.8rem; }

/* Cart page */
.woocommerce-cart .woocommerce { max-width: 1100px; margin: 0 auto; padding: 6rem 3rem; }
.woocommerce table.shop_table {
  border: none; border-collapse: collapse; width: 100%;
}
.woocommerce table.shop_table th {
  font-size: 0.7rem; letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--gold); border-bottom: 1px solid rgba(201,169,110,0.1);
  padding: 1rem 0; font-weight: 400;
}
.woocommerce table.shop_table td {
  border-bottom: 1px solid rgba(0,0,0,0.06);
  padding: 1.25rem 0; vertical-align: middle;
}
.woocommerce table.shop_table .product-thumbnail img {
  width: 70px; height: 90px; object-fit: cover;
  border: 1px solid rgba(0,0,0,0.06);
}
.woocommerce table.shop_table .product-name a {
  color: var(--text-light); text-decoration: none; font-family: var(--serif);
  font-size: 1.05rem; transition: color 0.3s;
}
.woocommerce table.shop_table .product-name a:hover { color: var(--gold); }
.woocommerce table.shop_table .product-quantity .qty {
  width: 60px; text-align: center; padding: 0.5rem;
  background: var(--noir-card); border: 1px solid rgba(0,0,0,0.08);
  color: var(--text-light); font-family: var(--sans);
}

/* Cart totals */
.woocommerce .cart_totals {
  background: var(--noir-card); border: 1px solid rgba(184,148,62,0.12);
  padding: 2rem; max-width: 400px; float: right;
}
.woocommerce .cart_totals h2 {
  font-family: var(--serif); font-weight: 300; font-size: 1.3rem;
  margin-bottom: 1.5rem;
}
.woocommerce .cart_totals table { border: none; }
.woocommerce .cart_totals th, .woocommerce .cart_totals td {
  border: none; padding: 0.75rem 0; font-size: 0.85rem;
}
.woocommerce .cart_totals th { color: var(--text-muted); font-weight: 400; }
.woocommerce .cart_totals .order-total th, .woocommerce .cart_totals .order-total td {
  border-top: 1px solid rgba(201,169,110,0.1); padding-top: 1rem;
}
.woocommerce .cart_totals .order-total .amount {
  font-size: 1.5rem;
}

/* Checkout */
.woocommerce-checkout { max-width: 1100px; margin: 0 auto; padding: 3rem; }
.woocommerce-checkout h3 {
  font-family: var(--serif); font-weight: 300; font-size: 1.5rem;
  margin-bottom: 1.5rem;
}
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
.woocommerce-checkout #order_review_heading { margin-top: 2rem; }
.woocommerce-checkout #order_review {
  background: var(--noir-card); border: 1px solid rgba(184,148,62,0.12);
  padding: 2rem;
}
.woocommerce-checkout table.shop_table th { text-align: left; }

/* Checkout button */
.woocommerce #place_order {
  background: var(--gold); color: #FFFFFF; border: none;
  padding: 1.15rem 2.5rem; font-family: var(--sans); font-size: 0.85rem;
  font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase;
  cursor: pointer; width: 100%; transition: background 0.3s;
}
.woocommerce #place_order:hover { background: var(--gold-light); }

/* Age verify checkbox */
.gnts-age-verify { margin-top: 1rem; }
.gnts-age-verify label { font-size: 0.85rem; color: var(--text-muted); }

/* Thank you page */
.woocommerce-thankyou-order-received { display: none; }
.conf-icon { font-size: 4rem; margin-bottom: 1rem; }
.conf-title { font-family: var(--serif); font-size: 2.5rem; font-weight: 300; margin-bottom: 0.5rem; }
.conf-sub { color: var(--text-muted); font-size: 1rem; margin-bottom: 2rem; }

/* My Account */
.woocommerce-account .woocommerce { max-width: 1000px; margin: 0 auto; padding: 6rem 3rem; }
.woocommerce-MyAccount-navigation {
  background: var(--noir-card); border: 1px solid rgba(184,148,62,0.12);
  padding: 1.5rem;
}
.woocommerce-MyAccount-navigation ul { list-style: none; }
.woocommerce-MyAccount-navigation ul li { margin-bottom: 0.5rem; }
.woocommerce-MyAccount-navigation ul li a {
  color: var(--text-muted); text-decoration: none; font-size: 0.85rem;
  padding: 0.5rem 0; display: block; transition: color 0.3s;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover { color: var(--gold); }

.woocommerce-MyAccount-content { margin-top: 2rem; }
.woocommerce-MyAccount-content p { color: var(--text-muted); line-height: 1.7; }

/* Login form */
.woocommerce form.login, .woocommerce form.register {
  background: var(--noir-card); border: 1px solid rgba(184,148,62,0.12);
  padding: 2rem;
}
.woocommerce form .form-row input.input-text {
  width: 100%; padding: 0.85rem 1rem; background: var(--noir-soft);
  border: 1px solid rgba(0,0,0,0.08); color: var(--text-light);
  font-family: var(--sans); font-size: 0.9rem;
}
.woocommerce form .form-row input.input-text:focus { border-color: var(--gold); outline: none; }
.woocommerce .button, .woocommerce button.button {
  background: var(--gold); color: #FFFFFF; border: none;
  padding: 0.85rem 2rem; font-family: var(--sans); font-size: 0.75rem;
  font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase;
  cursor: pointer; transition: background 0.3s;
}
.woocommerce .button:hover { background: var(--gold-light); }

/* Payment methods */
.woocommerce-checkout-payment { margin-top: 1.5rem; }
.wc_payment_methods { list-style: none; }
.wc_payment_method { padding: 1rem; border: 1px solid rgba(0,0,0,0.08); margin-bottom: 0.5rem; }
.wc_payment_method label { color: var(--text-light); font-size: 0.9rem; cursor: pointer; }
.wc_payment_method .payment_box { padding: 1rem 0 0; font-size: 0.8rem; color: var(--text-muted); }

/* Coupon */
.woocommerce .coupon { display: flex; gap: 0.5rem; margin-bottom: 1rem; }
.woocommerce .coupon input { flex: 1; }
.woocommerce .coupon .button { white-space: nowrap; }

@media (max-width: 768px) {
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr; gap: 2rem; }
  .woocommerce .cart_totals { float: none; max-width: 100%; }
  .woocommerce-cart .woocommerce { padding: 5rem 1.5rem; }
  .woocommerce-checkout { padding: 2rem 1.5rem; }
  .woocommerce-account .woocommerce { padding: 5rem 1.5rem; }
}
