/* ============================================================
   LEXODDY — WooCommerce Stylesheet
   Overrides WooCommerce default styles to match Lexoddy design
   ============================================================ */

/* ── General WooCommerce Layout ── */
.woocommerce,
.woocommerce-page { font-family: var(--font-sans); }

.woocommerce .woocommerce-breadcrumb {
  font-size: 12px;
  color: var(--charcoal-lt);
  margin-bottom: 24px;
  padding: 0;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--charcoal-lt); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--dusty-rose); }

/* ── Product Archive / Shop Page ── */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
  float: none;
  width: 100%;
}
.woocommerce ul.products li.product {
  margin: 0;
  float: none;
  width: auto;
}
.woocommerce ul.products li.product a {
  display: block;
}
.woocommerce ul.products li.product {
  background: var(--white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(42,37,35,0.06);
  transition: all var(--transition);
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lift);
  border-color: rgba(201,129,159,0.2);
}
.woocommerce ul.products li.product a img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
  border-radius: 0;
  margin: 0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-serif);
  font-size: 17px;
  font-weight: 400;
  color: var(--charcoal);
  padding: 14px 18px 6px;
  line-height: 1.3;
  margin: 0;
}
.woocommerce ul.products li.product .price {
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 300;
  color: var(--dusty-rose);
  padding: 0 18px;
  display: block;
}
.woocommerce ul.products li.product .price del {
  color: var(--charcoal-lt);
  font-size: 14px;
  margin-right: 6px;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none;
  color: var(--deep-rose);
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  display: block;
  margin: 12px 18px 18px;
  background: var(--charcoal);
  color: var(--ivory);
  border-radius: var(--radius-pill);
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  padding: 10px 20px;
  text-align: center;
  transition: all var(--transition);
  border: none;
  cursor: pointer;
}
.woocommerce ul.products li.product .button:hover { background: var(--dusty-rose); }
.woocommerce ul.products li.product .onsale {
  background: var(--dusty-rose);
  color: white;
  border-radius: var(--radius-pill);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.08em;
  padding: 4px 10px;
  line-height: 1;
  top: 12px;
  left: 12px;
  min-height: auto;
  min-width: auto;
}
.woocommerce span.onsale { min-height: auto; min-width: auto; }

/* ── Shop Toolbar ── */
.woocommerce-products-header { text-align: center; padding: 48px 0 32px; }
.woocommerce-products-header h1 {
  font-family: var(--font-serif);
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 300;
  color: var(--charcoal);
}
.woocommerce-result-count {
  font-size: 12px;
  color: var(--charcoal-lt);
  margin: 0 0 24px;
}
.woocommerce-ordering select {
  padding: 8px 14px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(42,37,35,0.15);
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--charcoal);
  background: var(--white);
  cursor: pointer;
  outline: none;
}
.woocommerce-ordering select:focus { border-color: var(--dusty-rose); }

/* ── Single Product Page ── */
.woocommerce div.product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
  padding: 48px 0;
}
.woocommerce div.product .woocommerce-product-gallery {
  grid-column: 1;
}
.woocommerce div.product .summary {
  grid-column: 2;
}
.woocommerce div.product .woocommerce-product-gallery__wrapper img {
  border-radius: var(--radius-lg);
}
.woocommerce div.product .product_title {
  font-family: var(--font-serif);
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 300;
  color: var(--charcoal);
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin-bottom: 16px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: 300;
  color: var(--dusty-rose);
  margin-bottom: 20px;
  display: block;
}
.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: 16px;
}
.woocommerce div.product .woocommerce-review-link {
  font-size: 12px;
  color: var(--charcoal-lt);
}
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 15px;
  line-height: 1.75;
  color: var(--charcoal-mid);
  margin-bottom: 24px;
}
.woocommerce div.product form.cart { margin-bottom: 24px; }
.woocommerce div.product form.cart .qty {
  padding: 10px 14px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(42,37,35,0.15);
  font-family: var(--font-sans);
  font-size: 16px;
  width: 70px;
  text-align: center;
  margin-right: 12px;
}
.woocommerce .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button {
  background: var(--charcoal) !important;
  color: var(--ivory) !important;
  border-radius: var(--radius-pill) !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  padding: 14px 36px !important;
  border: none !important;
  transition: all var(--transition) !important;
  cursor: pointer !important;
  text-transform: none !important;
}
.woocommerce .single_add_to_cart_button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--dusty-rose) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(201,129,159,0.3);
}
.woocommerce .single_add_to_cart_button.alt,
.woocommerce a.button.alt {
  background: var(--dusty-rose) !important;
}
.woocommerce .single_add_to_cart_button.alt:hover { background: var(--deep-rose) !important; }

/* ── Product Tabs ── */
.woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1;
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid rgba(42,37,35,0.08);
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  margin: 0 0 32px;
  border-bottom: 1px solid rgba(42,37,35,0.08);
  display: flex;
  gap: 0;
  list-style: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0;
  border: none;
  border-radius: 0;
  background: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--charcoal-lt);
  padding: 12px 24px;
  display: block;
  border-bottom: 2px solid transparent;
  transition: all var(--transition);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--charcoal);
  border-bottom-color: var(--dusty-rose);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

/* ── Star Ratings ── */
.woocommerce .star-rating { color: var(--champagne); }
.woocommerce .star-rating span { color: var(--champagne); }
.woocommerce .star-rating::before { color: rgba(201,168,92,0.25); }

/* ── Product Meta ── */
.woocommerce div.product .product_meta {
  font-size: 12px;
  color: var(--charcoal-lt);
  border-top: 1px solid rgba(42,37,35,0.08);
  padding-top: 16px;
  margin-top: 24px;
}
.woocommerce div.product .product_meta a { color: var(--dusty-rose); }

/* ── Related Products ── */
.woocommerce .related.products,
.woocommerce .upsells.products {
  clear: both;
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid rgba(42,37,35,0.08);
}
.woocommerce .related.products h2,
.woocommerce .upsells.products h2 {
  font-family: var(--font-serif);
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 400;
  color: var(--charcoal);
  margin-bottom: 28px;
}
.woocommerce .related ul.products,
.woocommerce .upsells ul.products {
  grid-template-columns: repeat(4, 1fr);
}

/* ── Cart Page ── */
.woocommerce-cart .woocommerce {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 48px 24px;
}
table.shop_table {
  border-collapse: collapse;
  width: 100%;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
table.shop_table th {
  background: var(--charcoal);
  color: var(--ivory);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 14px 16px;
  text-align: left;
}
table.shop_table td {
  padding: 16px;
  border-bottom: 1px solid rgba(42,37,35,0.06);
  vertical-align: middle;
  font-size: 14px;
  color: var(--charcoal-mid);
  background: var(--white);
}
table.shop_table td.product-name a {
  font-family: var(--font-serif);
  font-size: 16px;
  color: var(--charcoal);
}
table.shop_table td.product-name a:hover { color: var(--dusty-rose); }
table.shop_table td.product-price,
table.shop_table td.product-subtotal {
  color: var(--dusty-rose);
  font-family: var(--font-serif);
  font-size: 17px;
}
.woocommerce-cart .cart-collaterals .cart_totals {
  background: var(--ivory-mid);
  border-radius: var(--radius-lg);
  padding: 28px;
}
.woocommerce-cart .cart-collaterals .cart_totals h2 {
  font-family: var(--font-serif);
  font-size: 24px;
  font-weight: 400;
  color: var(--charcoal);
  margin-bottom: 20px;
}

/* ── Checkout Page ── */
.woocommerce-checkout .woocommerce {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 48px 24px;
}
.woocommerce form .form-row label {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--charcoal-lt);
  text-transform: uppercase;
  margin-bottom: 6px;
  display: block;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  width: 100%;
  padding: 12px 16px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(42,37,35,0.15);
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--charcoal);
  background: var(--white);
  transition: border-color var(--transition);
  outline: none;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus { border-color: var(--dusty-rose); }
.woocommerce #order_review { background: var(--ivory-mid); border-radius: var(--radius-lg); padding: 28px; }
.woocommerce #order_review h3 {
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 400;
  color: var(--charcoal);
  margin-bottom: 20px;
}

/* ── My Account ── */
.woocommerce-account .woocommerce {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 48px 24px;
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 40px;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  background: var(--white);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(42,37,35,0.06);
  overflow: hidden;
}
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 14px 20px;
  font-size: 13px;
  color: var(--charcoal-mid);
  border-bottom: 1px solid rgba(42,37,35,0.06);
  transition: all var(--transition);
  letter-spacing: 0.04em;
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--dusty-rose);
  background: var(--petal);
}

/* ── Notices ── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: var(--radius-md);
  border-left-width: 3px;
  padding: 14px 20px;
  font-size: 14px;
  margin-bottom: 20px;
}
.woocommerce-message { border-left-color: var(--dusty-rose); background: var(--petal); color: var(--charcoal); }
.woocommerce-info { border-left-color: var(--champagne); background: var(--champagne-lt); color: var(--charcoal); }
.woocommerce-error { border-left-color: #c0392b; background: #fdf2f2; color: #c0392b; }
.woocommerce-message a.button,
.woocommerce-info a.button { float: right; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
  .woocommerce .related ul.products,
  .woocommerce .upsells ul.products { grid-template-columns: repeat(2, 1fr); }
  .woocommerce div.product { grid-template-columns: 1fr; }
  .woocommerce div.product .woocommerce-product-gallery { grid-column: 1; }
  .woocommerce div.product .summary { grid-column: 1; }
  .woocommerce div.product .woocommerce-tabs { grid-column: 1; }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .woocommerce ul.products { grid-template-columns: 1fr; }
}
