/* Native product composition. All brand values remain editor-controlled presets. */
.slimwoo-product {
  --slimwoo-product-radius: var(--wp--custom--product--radius);
  /* Existing plugin interface, resolved from the editable native palette. */
  --slimwoo-primary: var(--wp--preset--color--primary);
  --slimwoo-secondary: var(--wp--preset--color--secondary);
  --slimwoo-accent: var(--wp--preset--color--primary);
  --slimwoo-text: var(--wp--preset--color--contrast);
  --slimwoo-text-muted: var(--wp--preset--color--muted);
  --slimwoo-border: var(--wp--preset--color--border);
  --slimwoo-bg: var(--wp--preset--color--surface-light);
  --slimwoo-bg-light: var(--wp--preset--color--surface-soft);
  --slimwoo-font-title: var(--wp--preset--font-family--heading);
  --slimwoo-font-ui: var(--wp--preset--font-family--body);
  --slimwoo-title-card: var(--wp--preset--font-size--large);
  --slimwoo-label: var(--wp--preset--font-size--small);
}
.slimwoo-product .woocommerce-breadcrumb {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--muted);
  margin-bottom: var(--wp--preset--spacing--50);
}
.slimwoo-product__layout {
  align-items: flex-start;
}
/* Woo's classic gallery block ships a fixed cap. Keep both wrapper and image fluid. */
.slimwoo-product__gallery {
  min-width: 0;
}
.slimwoo-product__gallery .wp-block-woocommerce-product-image-gallery {
  max-width: none;
  width: 100%;
}
.slimwoo-product__gallery .woocommerce-product-gallery {
  max-width: none;
  width: 100%;
  float: none;
  margin: 0;
}
.slimwoo-product__gallery .woocommerce-product-gallery__image {
  background: var(--wp--preset--color--surface-light);
  border-radius: var(--slimwoo-product-radius);
  overflow: hidden;
}
.slimwoo-product__gallery .woocommerce-product-gallery__image img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
}
.slimwoo-product__gallery .flex-control-thumbs {
  display: flex;
  gap: var(--wp--preset--spacing--20);
  padding-top: var(--wp--preset--spacing--30);
}
.slimwoo-product__gallery .flex-control-thumbs li {
  max-width: 80px;
  border: 1px solid var(--wp--preset--color--border);
  border-radius: var(--wp--custom--product--radius);
  overflow: hidden;
}
.slimwoo-product__purchase > * {
  margin-block: 0 var(--wp--preset--spacing--40);
}
.slimwoo-product__purchase .wp-block-post-title {
  line-height: 1.12;
  text-wrap: balance;
}
.slimwoo-product__category {
  letter-spacing: .08em;
  text-transform: uppercase;
}
.slimwoo-product__category a {
  text-decoration: none;
}
.slimwoo-product__purchase .wp-block-woocommerce-product-price {
  font-weight: 600;
}
.slimwoo-product__purchase .wc-block-components-product-summary {
  line-height: 1.7;
}
.slimwoo-product__purchase .wc-block-components-product-summary ul {
  padding-inline-start: 1.25em;
}
.slimwoo-product__purchase .wc-block-components-product-summary li + li {
  margin-top: var(--wp--preset--spacing--20);
}
.slimwoo-product__purchase .cart {
  padding-block: var(--wp--preset--spacing--40);
  border-top: 1px solid var(--wp--preset--color--border);
  border-bottom: 1px solid var(--wp--preset--color--border);
}
.slimwoo-product__purchase .cart:not(.variations_form), .slimwoo-product__purchase .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--30);
  align-items: stretch;
}
.slimwoo-product__purchase .quantity .qty {
  box-sizing: border-box;
  min-height: 48px;
  width: 5rem;
  border: 1px solid var(--wp--preset--color--border);
  border-radius: var(--wp--custom--product--radius);
  background: var(--wp--preset--color--base);
  color: var(--wp--preset--color--contrast);
  font: inherit;
}
.slimwoo-product__purchase .single_add_to_cart_button {
  flex: 1;
  min-height: 48px;
  cursor: pointer;
}
.slimwoo-product__purchase .single_add_to_cart_button:disabled {
  cursor: not-allowed;
  opacity: .55;
}
.slimwoo-product__purchase :is(button, input, select, a):focus-visible {
  outline: 2px solid var(--wp--preset--color--primary);
  outline-offset: 3px;
}
.slimwoo-product__purchase .variations {
  width: 100%;
  margin-bottom: var(--wp--preset--spacing--40);
}
.slimwoo-product__purchase .variations :is(th, td) {
  padding: .5em 0;
  text-align: start;
}
.slimwoo-product__purchase .variations select {
  width: 100%;
  min-height: 48px;
  padding: .6em;
  border: 1px solid var(--wp--preset--color--border);
  border-radius: var(--wp--custom--product--radius);
  background: var(--wp--preset--color--base);
  color: var(--wp--preset--color--contrast);
  font: inherit;
}
.slimwoo-product__purchase .stock {
  font-size: var(--wp--preset--font-size--small);
}
.slimwoo-product .wp-block-woocommerce-product-details {
  margin-top: var(--wp--preset--spacing--70);
  padding-top: var(--wp--preset--spacing--50);
  border-top: 1px solid var(--wp--preset--color--border);
}
/* Legal notes remain readable supporting text rather than inheriting the price size. */
.slimwoo-product__purchase .slimwoo-product-price-notes {
  display: block;
  margin-top: var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--muted);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
  line-height: 1.5;
}

.slimwoo-product__pricing > * { margin-block: 0 var(--wp--preset--spacing--20); }
.slimwoo-product__pricing .slimwoo-product-price-notes { margin-top: var(--wp--preset--spacing--20); }
@media (max-width: 781px) {
  .slimwoo-product__gallery .woocommerce-product-gallery { margin-bottom: 0; }
  .slimwoo-product__layout { row-gap: var(--wp--preset--spacing--40); }
  .slimwoo-product__purchase { padding-top: 0; }
}
