/*
 * WooCommerce overrides — Onlinemeersucces Theme
 */

/* Cart & Checkout forms */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  padding: 2rem 0;
}

/* Form fields */
.woocommerce form .form-row {
  margin-bottom: 1rem;
}

.woocommerce form .form-row label {
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-secondary);
  margin-bottom: 0.375rem;
  display: block;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  width: 100%;
  padding: 0.625rem 0.875rem;
  border: 1px solid var(--card-border);
  border-radius: var(--radius-sm);
  background: var(--card-bg);
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  color: var(--text-primary);
  transition: border-color 0.2s;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--brand-amber);
  outline: none;
}

/* Buttons */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-color: var(--brand-terracotta);
  color: #ffffff !important;
  font-family: 'Bebas Neue', 'Impact', sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.12em;
  padding: 0.65rem 1.5rem;
  border-radius: var(--radius-sm);
  border: 2px solid var(--brand-terracotta);
  transition: all 0.2s ease;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover {
  background-color: var(--brand-terracotta-dark);
  border-color: var(--brand-terracotta-dark);
  transform: translateY(-1px);
}

.woocommerce .button.alt,
.woocommerce button.button.alt {
  background-color: var(--brand-terracotta);
  border-color: var(--brand-terracotta);
}

.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover {
  background-color: var(--brand-terracotta-dark);
  border-color: var(--brand-terracotta-dark);
}

/* Cart table */
.woocommerce-cart-form table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-cart-form th {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  color: var(--text-primary);
  text-align: left;
  padding: 0.75rem;
  border-bottom: 2px solid var(--card-border);
}

.woocommerce-cart-form td {
  padding: 1rem 0.75rem;
  border-bottom: 1px solid var(--card-border);
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  color: var(--text-secondary);
  vertical-align: middle;
}

.woocommerce-cart-form .product-thumbnail img {
  width: 80px;
  height: 100px;
  object-fit: cover;
  border-radius: var(--radius-sm);
}

.woocommerce-cart-form .product-name a {
  font-family: var(--font-body);
  font-weight: 600;
  color: var(--text-primary);
}

.woocommerce-cart-form .product-name a:hover {
  color: var(--brand-terracotta);
}

.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-subtotal {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.1rem;
  color: var(--text-primary);
}

.woocommerce-cart-form .quantity input {
  width: 60px;
  text-align: center;
  padding: 0.375rem;
  border: 1px solid var(--card-border);
  border-radius: var(--radius-sm);
}

.woocommerce-cart-form .product-remove a {
  color: var(--text-muted);
  font-size: 1.2rem;
}

.woocommerce-cart-form .product-remove a:hover {
  color: var(--brand-red);
}

/* Cart totals */
.cart_totals {
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--radius-md);
  padding: 1.5rem;
  margin-top: 2rem;
}

.cart_totals h2 {
  font-family: 'Bebas Neue', sans-serif;
  margin-bottom: 1rem;
}

.cart_totals table {
  width: 100%;
}

.cart_totals th {
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  text-align: left;
  padding: 0.75rem 0;
  color: var(--text-secondary);
}

.cart_totals td {
  text-align: right;
  padding: 0.75rem 0;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.1rem;
  color: var(--text-primary);
}

.cart_totals .order-total td {
  font-size: 1.5rem;
  color: var(--brand-terracotta);
}

.cart_totals .wc-proceed-to-checkout .button {
  width: 100%;
  margin-top: 1rem;
}

/* Checkout — Order Review in sidebar (styled as our own design) */
.oms-order-review {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  padding-top: 0.75rem !important;
}

/* Hide product rows (we show them in our own sidebar-item cards above) */
.oms-order-review .woocommerce-checkout-review-order-table thead,
.oms-order-review .woocommerce-checkout-review-order-table .cart_item {
  display: none;
}

/* Hide payment section inside order_review (we have it in a separate form-block) */
.oms-order-review #payment {
  display: none;
}

/* Style the totals table */
.oms-order-review .woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
}

.oms-order-review .woocommerce-checkout-review-order-table tfoot th {
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  font-weight: 400;
  color: #7a6a5a;
  text-align: left;
  padding: 0.6rem 0;
  border-bottom: 1px solid #e8e0d0;
}

.oms-order-review .woocommerce-checkout-review-order-table tfoot td {
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  text-align: right;
  padding: 0.6rem 0;
  border-bottom: 1px solid #e8e0d0;
  color: #2a1a0a;
}

/* Order total row — bold + amber top border */
.oms-order-review .woocommerce-checkout-review-order-table tfoot .order-total th,
.oms-order-review .woocommerce-checkout-review-order-table tfoot .order-total td {
  font-weight: 700;
  font-size: 1rem;
  font-family: 'Bebas Neue', sans-serif;
  letter-spacing: 0.03em;
  border-top: 2px solid #c8922a;
  border-bottom: none;
  padding-top: 0.75rem;
}

/* Shipping row: left-aligned, no double border */
.oms-order-review .woocommerce-checkout-review-order-table .shipping td {
  text-align: left;
  border-bottom: none;
}
.oms-order-review .woocommerce-checkout-review-order-table .shipping th {
  border-bottom: none;
}

/* Shipping methods list */
.oms-order-review .woocommerce-shipping-methods {
  list-style: none;
  padding: 0;
  margin: 0;
}
.oms-order-review .woocommerce-shipping-methods li {
  margin: 0;
  padding: 0.3rem 0;
}
.oms-order-review .woocommerce-shipping-methods li label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  color: #4A3A2A;
  cursor: pointer;
  padding: 0.35rem 0.6rem;
  border-radius: 6px;
  transition: background 0.15s;
}
.oms-order-review .woocommerce-shipping-methods li label:hover {
  background: rgba(200, 146, 42, 0.06);
}
.oms-order-review .woocommerce-shipping-methods input[type="radio"] {
  accent-color: #c8922a;
  margin: 0;
  flex-shrink: 0;
}

/* Standalone order_review (non-sidebar context) */
.woocommerce-checkout #order_review:not(.oms-order-review) {
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--radius-md);
  padding: 1.5rem;
}

.woocommerce-checkout #order_review table {
  width: 100%;
}

.woocommerce-checkout #order_review th {
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  text-align: left;
  padding: 0.5rem 0;
}

.woocommerce-checkout #order_review td {
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  text-align: right;
  padding: 0.5rem 0;
}

/* Payment methods */
.woocommerce-checkout #payment {
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--radius-md);
  padding: 1.5rem;
  margin-top: 1.5rem;
}

.woocommerce-checkout #payment ul.payment_methods {
  margin-bottom: 1rem;
}

.woocommerce-checkout #payment ul.payment_methods li {
  margin-bottom: 0.75rem;
  padding: 0.75rem;
  border: 1px solid var(--card-border);
  border-radius: var(--radius-sm);
}

.woocommerce-checkout #payment ul.payment_methods li label {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
}

/* Notices — constrain to page width */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  border-radius: var(--radius-sm);
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.woocommerce-message {
  background: #f0f9f4;
  border-left: 4px solid #38a169;
  color: #276749;
}

.woocommerce-info {
  background: #ebf8ff;
  border-left: 4px solid #4299e1;
  color: #2b6cb0;
}

.woocommerce-error {
  background: #fff5f5;
  border-left: 4px solid #e53e3e;
  color: #c53030;
  list-style: none;
}

/* My Account */
.woocommerce-MyAccount-navigation {
  margin-bottom: 2rem;
}

.woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  border-bottom: 2px solid var(--card-border);
}

.woocommerce-MyAccount-navigation li {
  list-style: none;
}

.woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 0.75rem 1rem;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 0.2s;
}

.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
  color: var(--text-primary);
  border-bottom-color: var(--brand-amber);
}

/* Price display */
.woocommerce .price {
  font-family: 'Bebas Neue', sans-serif;
  color: var(--text-primary);
}

.woocommerce .price del {
  color: var(--text-muted);
  font-size: 0.85em;
}

.woocommerce .price ins {
  text-decoration: none;
  color: var(--brand-terracotta);
}

/* Quantity input */
.woocommerce .quantity .qty {
  width: 70px;
  text-align: center;
  padding: 0.5rem;
  border: 1px solid var(--card-border);
  border-radius: var(--radius-sm);
  font-family: 'Inter', sans-serif;
}

/* Ordering select */
.woocommerce-ordering select {
  appearance: auto;
}

/* Result count */
.woocommerce-result-count {
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  color: var(--text-muted);
}

/* Star rating */
.star-rating {
  color: #f59e0b;
}
