/* ─── LUNNI SOLUTIONS — WOOCOMMERCE STYLES ──────────────── */

/* Product grid */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce ul.products li.product {
  background: var(--bg-card) !important;
  border: 0.5px solid var(--border) !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  margin: 0 !important;
  float: none !important;
  width: auto !important;
  transition: border-color 0.2s !important;
}

.woocommerce ul.products li.product:hover {
  border-color: var(--accent) !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--text-primary) !important;
  padding: 0 !important;
  margin-bottom: 0.5rem !important;
}

.woocommerce ul.products li.product .price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--text-primary) !important;
}

.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button {
  background: var(--cta-bg) !important;
  color: var(--cta-text) !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 10px 20px !important;
  border-radius: 8px !important;
  border: none !important;
  width: 100% !important;
  text-align: center !important;
  margin-top: 1rem !important;
  transition: opacity 0.2s !important;
}

.woocommerce ul.products li.product a.button:hover { opacity: 0.9 !important; }

/* Single product */
.woocommerce div.product .product_title {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(22px, 3vw, 32px) !important;
  font-weight: 500 !important;
  color: var(--text-primary) !important;
}

.woocommerce div.product .price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  color: var(--text-primary) !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  color: var(--text-secondary) !important;
  line-height: 1.75 !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
  background: var(--cta-bg) !important;
  color: var(--cta-text) !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 12px 28px !important;
  border-radius: 8px !important;
  border: none !important;
  transition: opacity 0.2s !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover { opacity: 0.9 !important; }

/* Cart & checkout */
.woocommerce table.shop_table {
  font-family: 'Outfit', sans-serif !important;
  border: 0.5px solid var(--border) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.woocommerce table.shop_table th {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--text-secondary) !important;
  background: var(--bg-page) !important;
  border-bottom: 0.5px solid var(--border) !important;
  padding: 12px 16px !important;
}

.woocommerce table.shop_table td {
  font-size: 14px !important;
  color: var(--text-primary) !important;
  border-bottom: 0.5px solid var(--border) !important;
  padding: 14px 16px !important;
}

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
  background: var(--cta-bg) !important;
  color: var(--cta-text) !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 12px 28px !important;
  border-radius: 8px !important;
  border: none !important;
}

/* Checkout form */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  border: 0.5px solid var(--border) !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  background: var(--bg-page) !important;
  color: var(--text-primary) !important;
}

.woocommerce form .form-row label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--text-primary) !important;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  border-radius: 8px !important;
  border-top: none !important;
  padding: 12px 16px !important;
}

/* Remove default WooCommerce floats */
.woocommerce::after,
.woocommerce-page::after { content: ''; display: table; clear: both; }
