/* ==========================================================================
   NULIFECARE × WooCommerce
   Styles Woo's own classes to the theme's ink, type and pill buttons.
   Woo's markup is never rewritten — only targeted.
   ========================================================================== */

.woocommerce, .woocommerce-page { font-family: var(--font-body); color: var(--color-text); }
.nlc-shop { max-width: 1320px; }

/* ---------- Headings & breadcrumb ---------- */
.woocommerce-products-header__title,
.woocommerce div.product .product_title {
  font-family: var(--font-heading); font-weight: 800; letter-spacing: -.03em;
  font-size: clamp(34px, 4.4vw, 60px); line-height: 1; margin: 0 0 var(--space-4);
}
.woocommerce .woocommerce-breadcrumb {
  font-size: 14px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--color-neutral-700); margin-bottom: var(--space-4);
}
.woocommerce .woocommerce-breadcrumb a { color: var(--color-accent-700); }

/* ---------- Product grid ---------- */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-8); margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; text-align: center; }
.woocommerce ul.products li.product a img {
  border-radius: 50%; aspect-ratio: 1/1; object-fit: cover; margin-bottom: var(--space-3);
  transition: transform .45s cubic-bezier(.2,.7,.3,1), box-shadow .45s ease;
}
.woocommerce ul.products li.product:hover a img {
  transform: scale(1.04);
  box-shadow: 0 18px 44px color-mix(in srgb, var(--color-accent-700) 26%, transparent);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-heading); font-size: 24px; font-weight: 600; line-height: 1.1;
  letter-spacing: -.02em; color: var(--color-text); padding: 0 0 6px;
}
.woocommerce ul.products li.product .price {
  color: var(--color-neutral-800); font-size: 19px; font-weight: 600; font-family: var(--font-body);
}
.woocommerce ul.products li.product .price del { color: var(--color-neutral-600); font-weight: 400; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--color-accent-700); }
.woocommerce span.onsale {
  background: var(--color-accent); color: #fff; border-radius: var(--radius-pill);
  font-family: var(--font-body); font-weight: 600; font-size: 14px;
  min-height: 0; min-width: 0; line-height: 1; padding: 9px 16px; top: 8px; left: 8px; margin: 0;
}

@media (max-width: 1000px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: var(--space-6); } }
@media (max-width: 560px) { .woocommerce ul.products { grid-template-columns: 1fr; } }

/* ---------- Buttons ---------- */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
  background: var(--color-accent); color: #fff;
  font-family: var(--font-body); font-weight: 600; letter-spacing: -.01em; font-size: 17px;
  border-radius: var(--radius-pill); border: 2px solid transparent;
  padding: 13px 28px; line-height: 1.2;
  transition: background .2s ease, color .2s ease;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover { background: var(--color-accent-700); color: #fff; }
.woocommerce a.button.disabled, .woocommerce button.button:disabled { opacity: .45; }

.woocommerce .cart .button, .woocommerce .cart input.button { float: none; }
.woocommerce a.added_to_cart { display: inline-block; margin-top: var(--space-2); font-size: 16px; }

/* ---------- Single product ---------- */
.woocommerce div.product div.images img { border-radius: 40px; }
.woocommerce div.product p.price, .woocommerce div.product span.price {
  color: var(--color-accent-700); font-family: var(--font-heading); font-size: 34px; font-weight: 800; letter-spacing: -.03em;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 19px; line-height: 1.6; color: var(--color-neutral-800); max-width: 34em;
}
.woocommerce div.product form.cart div.quantity input.qty {
  border-radius: var(--radius-pill); border: 1px solid var(--color-neutral-400);
  padding: 12px 10px; font-family: var(--font-body); font-size: 18px; height: auto;
}
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin-bottom: var(--space-6); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom-color: var(--color-divider); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent; border: none; border-radius: 0; padding: 0 var(--space-4) var(--space-2) 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--font-heading); font-weight: 600; font-size: 21px; color: var(--color-neutral-700); padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--color-text); }
.woocommerce div.product .woocommerce-tabs .panel { font-size: 18px; line-height: 1.7; color: var(--color-neutral-800); }
.woocommerce .related > h2, .woocommerce .upsells > h2, .woocommerce-cart-form + h2 {
  font-family: var(--font-heading); font-size: 34px; letter-spacing: -.03em; margin: var(--space-8) 0 var(--space-6);
}

/* ---------- Cart, checkout, account ---------- */
.woocommerce table.shop_table {
  border: none; border-radius: 0; font-size: 17px;
}
.woocommerce table.shop_table th {
  font-family: var(--font-heading); font-weight: 800; letter-spacing: -.01em;
  font-size: 14px; text-transform: uppercase; color: var(--color-neutral-700);
  border-bottom: 1px solid var(--color-divider);
}
.woocommerce table.shop_table td { border-top: 1px solid var(--color-divider); padding: var(--space-4) var(--space-2); }
.woocommerce table.shop_table_responsive tr td::before { font-weight: 600; }
.woocommerce-cart table.cart img { width: 72px; border-radius: 50%; }
.woocommerce .cart-collaterals .cart_totals > h2,
.woocommerce-checkout h3, .woocommerce-account h2, .woocommerce-account h3 {
  font-family: var(--font-heading); font-weight: 800; letter-spacing: -.03em; font-size: 27px;
}
.woocommerce .cart-collaterals .cart_totals {
  background: var(--color-surface); border-radius: 40px; padding: var(--space-6);
}
.woocommerce-checkout #payment { background: var(--color-surface); border-radius: 40px; }
.woocommerce-checkout #payment div.payment_box { background: var(--color-bg); border-radius: 20px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--color-bg); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-container .select2-selection {
  border: 1px solid var(--color-neutral-400); border-radius: var(--radius-pill);
  padding: 12px 20px; font-family: var(--font-body); font-size: 17px; background: #fff; height: auto;
}
.woocommerce form .form-row textarea { border-radius: 24px; }
.woocommerce form .form-row label { font-size: 16px; color: var(--color-neutral-800); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.woocommerce-account .woocommerce-MyAccount-navigation a { font-size: 18px; color: var(--color-text); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--color-accent-700); font-weight: 600; }

/* ---------- Notices ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top: none; border-radius: 24px; background: var(--color-surface);
  font-size: 17px; color: var(--color-text); padding: var(--space-4) var(--space-6);
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { color: var(--color-accent); top: var(--space-4); }
.woocommerce-error { background: var(--color-accent-100); }

/* ---------- Misc ---------- */
.woocommerce nav.woocommerce-pagination ul { border: none; display: flex; gap: var(--space-2); }
.woocommerce nav.woocommerce-pagination ul li { border: none; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
  padding: 8px 16px; border-radius: var(--radius-pill); border: 1px solid var(--color-divider); color: var(--color-text);
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--color-accent); color: #fff; border-color: var(--color-accent); }
.woocommerce .star-rating span::before, .woocommerce p.stars a::before { color: var(--color-accent); }
.woocommerce .woocommerce-ordering select, .woocommerce-result-count { font-family: var(--font-body); font-size: 16px; }
