.woocommerce .woocommerce-breadcrumb { margin: 2.5rem 0 1.5rem; color: var(--color-muted); font-size: 0.75rem; }
.woocommerce .woocommerce-breadcrumb a { color: inherit; }
.woocommerce-products-header { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 6vw; align-items: end; padding: clamp(4rem, 8vw, 7rem) 0; }
.woocommerce-products-header__title { max-width: 12ch; margin: 0; }
.term-description { color: var(--color-muted); }
.woocommerce .woocommerce-ordering { margin: 0 0 2rem; }
.shop-discovery { display: flex; gap: 0; margin-bottom: 2rem; overflow-x: auto; border-bottom: 1px solid var(--color-line); }
.shop-discovery a { flex: 0 0 auto; padding: 0.8rem 1.1rem; color: var(--color-muted); font-size: 0.8rem; white-space: nowrap; }
.shop-discovery a:first-child { padding-left: 0; }
.shop-discovery a.is-current { color: var(--color-ink); font-weight: 650; }
.catalog-tools { display: flex; justify-content: space-between; gap: 2rem; align-items: center; margin-bottom: 2rem; }
.catalog-tools p { margin: 0; color: var(--color-muted); font-size: 0.8rem; }
.catalog-filter-toggle { display: flex; align-items: center; gap: 1.2rem; padding: 0.75rem 0; border: 0; border-bottom: 1px solid var(--color-ink); background: transparent; color: var(--color-ink); font-weight: 650; }
.catalog-filter-toggle span { font-size: 1.2rem; font-weight: 400; }
.catalog-filter-panel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4rem; margin: -0.5rem 0 3rem; padding: 2rem; border: 1px solid var(--color-line); background: var(--color-surface); }
.catalog-filter-panel[hidden] { display: none; }
.catalog-filter-panel p { font-weight: 650; }
.catalog-filter-panel ul { margin: 0; padding: 0; list-style: none; }
.catalog-filter-panel li { margin-block: 0.45rem; }
.catalog-filter-panel a { color: var(--color-muted); }
.catalog-filter-panel a:hover { color: var(--color-ink); }
.woocommerce .woocommerce-ordering select { min-height: 2.75rem; padding: 0 2.5rem 0 0.75rem; border: 1px solid var(--color-line); border-radius: var(--radius-control); background: var(--color-canvas); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.5rem, 2.4vw, 2.75rem) clamp(1rem, 2vw, 2rem); margin: 0 0 var(--space-7); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { width: auto; float: none; margin: 0; }
.woocommerce ul.products li.product a img { aspect-ratio: 4 / 5; margin: 0 0 1.1rem; border-radius: var(--radius-media); background: var(--color-surface); object-fit: cover; transition: transform 0.55s var(--ease-out); }
.woocommerce ul.products li.product:hover a img { transform: translateY(-0.3rem); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; margin: 0 0 0.35rem; color: var(--color-ink); font-size: 1rem; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; }
.product-card__descriptor { min-height: 2.6em; margin: 0 0 0.55rem; color: var(--color-muted); font-size: 0.78rem; line-height: 1.4; }
.woocommerce ul.products li.product .price { margin: 0.75rem 0; color: var(--color-ink); font-size: 0.86rem; }
.woocommerce ul.products li.product .price del { color: var(--color-muted); opacity: 1; }
.woocommerce span.onsale { top: 0.75rem; right: auto; left: 0.75rem; min-width: auto; min-height: auto; padding: 0.35rem 0.55rem; border-radius: var(--radius-control); background: var(--color-ink); color: var(--color-canvas); font-size: 0.65rem; line-height: 1; }
.woocommerce ul.products li.product .button { min-height: 2.75rem; width: 100%; margin-top: 0.5rem; border: 1px solid var(--color-ink); border-radius: var(--radius-control); background: transparent; color: var(--color-ink); }
.woocommerce ul.products li.product .button:is(:hover, :focus-visible) { background: var(--color-ink); color: var(--color-canvas); }
.woocommerce .button.is-feedback-loading { opacity: 0.62; cursor: wait; }
.woocommerce .button.is-feedback-added { background: var(--color-ink); color: var(--color-canvas); }
.woocommerce nav.woocommerce-pagination { margin-bottom: var(--space-7); }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 2.8rem; min-height: 2.8rem; display: grid; place-items: center; padding: 0; }
.woocommerce nav.woocommerce-pagination ul li span.current { border-radius: 50%; background: var(--color-accent); color: var(--color-accent-ink); }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(20rem, 0.8fr); gap: clamp(3rem, 7vw, 7rem); padding-block: clamp(3rem, 7vw, 6rem); }
/* Share the existing responsive columns, but contain sticky positioning within
 * the gallery/summary row rather than the reviews and related-product rows. */
.woocommerce div.product > .ten10-product-overview { position: relative; display: grid; grid-column: 1 / -1; grid-template-columns: inherit; gap: inherit; min-width: 0; align-items: start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto; float: none; margin: 0; }
.woocommerce div.product div.images img { border-radius: var(--radius-media); background: var(--color-surface); }
.woocommerce div.product div.summary { align-self: start; position: sticky; top: 7.5rem; }
.woocommerce div.product .product_title { margin-bottom: 1.25rem; font-size: clamp(2.4rem, 4vw, 4.6rem); font-weight: 500; }
.woocommerce div.product p.price { color: var(--color-ink); font-size: 1.05rem; }
.woocommerce-product-details__short-description { margin: 1.5rem 0 2rem; color: var(--color-muted); font-size: 1rem; }
.woocommerce div.product form.cart { display: grid; grid-template-columns: auto 1fr; gap: 0.75rem; margin-bottom: 2rem; }
.woocommerce .quantity .qty { min-height: 3.25rem; border: 1px solid var(--color-line); border-radius: var(--radius-control); background: var(--color-canvas); }
.woocommerce div.product form.cart .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce :is(button, a, input).button.alt { min-height: 3.25rem; border-radius: var(--radius-control); background: var(--color-accent); color: var(--color-accent-ink); font-weight: 650; }
.woocommerce div.product form.cart .button:is(:hover, :focus-visible), .woocommerce button.button:is(:hover, :focus-visible), .woocommerce a.button:is(:hover, :focus-visible), .woocommerce input.button:is(:hover, :focus-visible), .woocommerce :is(button, a, input).button.alt:is(:hover, :focus-visible) { background: var(--color-detail); color: var(--color-detail-ink); }
.woocommerce div.product form.cart .button::before, .woocommerce :is(button.button, a.button, input.button)::before { background: var(--color-detail); }
.woocommerce ul.products li.product .button::before { background: var(--color-ink); }
.product_meta { padding-top: 1.5rem; border-top: 1px solid var(--color-line); color: var(--color-muted); font-size: 0.78rem; }
.product_meta > span { display: block; margin-bottom: 0.4rem; }
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; padding-top: var(--space-6); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin-bottom: 2.5rem; border-bottom: 1px solid var(--color-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; border-radius: 0; background: transparent; }
.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.active { border-bottom: 2px solid var(--color-accent); background: transparent; }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 52rem; }
.related.products { grid-column: 1 / -1; padding-top: var(--space-6); border-top: 1px solid var(--color-line); }
.related.products > h2 { margin-bottom: 3rem; }
.ten10-product-story { grid-column: 1 / -1; display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(3rem, 7vw, 7rem); padding-block: var(--space-7); border-top: 1px solid var(--color-line); }
.ten10-product-story__copy h2 { max-width: 12ch; }
.ten10-product-story__copy > div { color: var(--color-muted); }
.ten10-product-story__image img { width: 100%; border-radius: var(--radius-media); }
.ten10-product-facts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--color-line); border: 1px solid var(--color-line); }
.ten10-product-facts > div { min-height: 9rem; padding: 1.4rem; background: var(--color-canvas); }
.ten10-product-facts strong, .ten10-product-facts span { display: block; }
.ten10-product-facts strong { margin-bottom: 1rem; font-size: 0.78rem; }
.ten10-product-facts span { color: var(--color-muted); }
.product-ritual { grid-column: 1 / -1; display: grid; grid-template-columns: 1.2fr 0.8fr; min-height: 65dvh; background: var(--color-dark); color: var(--color-dark-ink); }
.product-ritual__media img { width: 100%; height: 100%; object-fit: cover; }
.product-ritual__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 6vw, 6rem); }
.product-ritual__copy .eyebrow, .product-ritual__copy p { color: var(--color-dark-muted); }
.product-faq { grid-column: 1 / -1; display: grid; grid-template-columns: 0.65fr 1.35fr; gap: 3rem; padding-block: var(--space-7); border-top: 1px solid var(--color-line); }
.product-faq > h2 { max-width: 10ch; }
.product-faq__list { grid-column: 2; }
.product-faq details { border-top: 1px solid var(--color-line); }
.product-faq details:last-child { border-bottom: 1px solid var(--color-line); }
.product-faq summary { position: relative; padding: 1.4rem 3rem 1.4rem 0; cursor: pointer; font-weight: 650; list-style: none; }
.product-faq summary::-webkit-details-marker { display: none; }
.product-faq summary::after { content: '+'; position: absolute; right: 0; font-size: 1.3rem; font-weight: 400; }
.product-faq details[open] summary::after { content: '\2212'; }
.product-faq details > div { max-width: 42rem; padding-bottom: 1.4rem; color: var(--color-muted); }
.catalog-outro { display: grid; grid-template-columns: 1.2fr 0.8fr auto; gap: 3rem; align-items: end; margin: var(--space-7) 0; padding: clamp(2rem, 5vw, 4rem); background: var(--color-dark); color: var(--color-dark-ink); }
.catalog-outro h2 { max-width: 12ch; margin-bottom: 0; }
.catalog-outro > p { color: var(--color-dark-muted); }
.mobile-purchase-bar { display: none; }
.woocommerce table.shop_table { border-color: var(--color-line); border-radius: var(--radius-media); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--color-line); padding: 1rem; }
.woocommerce-cart .cart-collaterals .cart_totals { width: min(100%, 32rem); }
.woocommerce-checkout .col2-set { width: 58%; float: left; }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { width: 38%; float: right; }
.woocommerce form .form-row label { margin-bottom: 0.35rem; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 3rem; padding: 0.7rem 0.85rem; border: 1px solid var(--color-line); border-radius: var(--radius-control); background: var(--color-canvas); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--color-accent); background: var(--color-surface); color: var(--color-ink); }
.woocommerce-info::before, .woocommerce-message::before { color: var(--color-accent); }
.woocommerce-cart .woocommerce-cart-form { margin-bottom: 3rem; }
.woocommerce-cart .cart-collaterals { display: flex; justify-content: flex-end; }
.woocommerce-cart .cart_totals { padding: clamp(1.5rem, 4vw, 3rem); background: var(--color-surface); }
.woocommerce-cart .cart_totals h2, .woocommerce-checkout #order_review_heading { font-size: clamp(1.7rem, 3vw, 2.6rem); }
.woocommerce-checkout form.checkout { margin-top: 3rem; }
.woocommerce-checkout #order_review { padding: 1.5rem; background: var(--color-surface); }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 15rem 1fr; gap: clamp(2rem, 6vw, 6rem); }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-line); }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--color-line); }
.woocommerce-MyAccount-navigation a { display: block; padding: 0.9rem 0; color: var(--color-muted); }
.woocommerce-MyAccount-navigation .is-active a { color: var(--color-ink); font-weight: 650; }

@media (max-width: 1024px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce div.product { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
  .woocommerce-products-header { grid-template-columns: 1fr; }
  .woocommerce ul.products { gap: 2.5rem 0.85rem; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 0.9rem; }
  .product-card__descriptor { display: none; }
  .woocommerce div.product { grid-template-columns: 1fr; }
  .woocommerce div.product div.summary { position: static; }
  .woocommerce div.product .woocommerce-tabs, .related.products { grid-column: auto; }
  .woocommerce #review_form input, .woocommerce #review_form textarea { max-width: 100%; }
  .ten10-product-story { grid-column: auto; grid-template-columns: 1fr; }
  .ten10-product-facts { grid-column: auto; grid-template-columns: 1fr; }
  .catalog-tools { align-items: flex-start; flex-direction: column; gap: 0.5rem; }
  .catalog-filter-panel { grid-template-columns: 1fr; gap: 1.5rem; }
  .product-ritual { grid-column: auto; grid-template-columns: 1fr; min-height: auto; }
  .product-ritual__media { min-height: 55dvh; }
  .product-faq { grid-column: auto; grid-template-columns: 1fr; gap: 0.5rem; }
  .product-faq__list { grid-column: auto; }
  .catalog-outro { grid-template-columns: 1fr; align-items: start; }
  .mobile-purchase-bar { position: fixed; z-index: 32; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; padding: 0.75rem var(--gutter); border-top: 1px solid var(--color-line); background: color-mix(in srgb, var(--color-canvas) 94%, transparent); backdrop-filter: blur(12px); }
  .mobile-purchase-bar { padding-bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px)); }
  /* The widget injects an !important mobile offset; keep the closed launcher
   * above the actual purchase bar without moving the open chat's controls. */
  body.has-mobile-purchase-bar #chattermate-button:not(.active) { bottom: calc(var(--ten10-mobile-purchase-height) + 20px) !important; }
  .mobile-purchase-bar div { min-width: 0; }
  .mobile-purchase-bar strong, .mobile-purchase-bar .price { display: block; overflow: hidden; font-size: 0.75rem; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-purchase-bar button { min-height: 2.8rem; padding: 0 1.1rem; border: 0; border-radius: var(--radius-control); background: var(--color-accent); color: var(--color-accent-ink); font-weight: 650; }
  .mobile-purchase-bar button:is(:hover, :focus-visible) { background: var(--color-detail); color: var(--color-detail-ink); }
  .woocommerce-checkout .col2-set, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { width: 100%; float: none; }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
}
