/* components/ProductGallery.astro */
.ls-gallery__stage {
    display: grid;
    overflow: hidden;
    aspect-ratio: 1;
    place-items: center;
    margin: 0;
    border-radius: var(--ls-radius-card);
    background: var(--ls-color-subtle);
  }

  .ls-gallery__stage img {
    width: 100%;
    height: 100%;
    padding: clamp(.75rem, 2vw, 1.5rem);
    object-fit: contain;
    background: var(--ls-color-paper);
  }

  .ls-gallery__empty {
    display: grid;
    aspect-ratio: 1;
    place-items: center;
    border-radius: var(--ls-radius-card);
    color: var(--ls-color-ink-soft);
    background: var(--ls-color-subtle);
  }

  .ls-gallery__thumbs {
    display: flex;
    gap: var(--ls-space-3);
    margin-top: var(--ls-space-3);
    overflow-x: auto;
  }

  .ls-gallery__thumbs button {
    flex: 0 0 5rem;
    padding: 0;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: var(--ls-radius-control);
    background: var(--ls-color-paper);
  }

  .ls-gallery__thumbs button[aria-pressed='true'] {
    border-color: var(--ls-color-ink);
  }

  .ls-gallery__thumbs img {
    width: 100%;
    aspect-ratio: 1;
    padding: .25rem;
    object-fit: contain;
  }

/* components/ProductDetail.astro */
.product-breadcrumbs { padding-block: var(--ls-space-5); }
  .product-hero { display: grid; grid-template-columns: 1fr; align-items: start; gap: clamp(2rem, 6vw, 6rem); padding-block: var(--ls-space-5) var(--ls-space-9); }
  .product-summary h1 { margin-bottom: var(--ls-space-5); font-size: var(--ls-text-3xl); line-height: var(--ls-leading-tight); }
  .product-summary__category { display: inline-block; text-decoration: none; }
  .product-summary__copy { color: var(--ls-color-ink-soft); font-size: var(--ls-text-lg); }
  .product-summary__copy p:last-child { margin-bottom: 0; }
  .product-summary__meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ls-space-4); padding-block: var(--ls-space-5); margin-block: var(--ls-space-5); border-block: 1px solid var(--ls-color-line); }
  .product-summary__meta div { display: grid; gap: var(--ls-space-1); }
  .product-summary__meta dt { color: var(--ls-color-ink-soft); font-size: var(--ls-text-caption); font-weight: 600; letter-spacing: var(--ls-tracking-label); text-transform: uppercase; }
  .product-summary__meta dd { margin: 0; }
  .product-summary__actions { display: flex; flex-wrap: wrap; gap: var(--ls-space-3); }
  .product-details { padding-block: var(--ls-space-8); background: var(--ls-color-brand-soft); }
  .product-details__grid { display: grid; gap: clamp(2rem, 7vw, 7rem); }
  .product-details header > p:last-child { color: var(--ls-color-ink-soft); }
  .product-content { min-width: 0; max-width: 100%; overflow: hidden; }
  .product-content img { max-width: 100%; width: auto; height: auto; margin-block: var(--ls-space-5); border-radius: var(--ls-radius-control); }
  .product-content .table-box { width: 100%; max-width: 100%; }
  .product-content table { width: 100% !important; max-width: 100%; table-layout: fixed; border-collapse: collapse; background: var(--ls-color-paper); }
  .product-content tr { border-bottom: 1px solid var(--ls-color-line); }
  .product-content td { min-width: 0; width: auto !important; padding: var(--ls-space-3) var(--ls-space-4); vertical-align: top; white-space: normal; overflow-wrap: anywhere; }
  .product-content td * { max-width: 100%; white-space: normal !important; overflow-wrap: anywhere; }
  .product-content td:first-child { width: 34% !important; color: var(--ls-color-ink-soft); font-size: var(--ls-text-sm); }
  .product-content [style*='font-family'] { font-family: inherit !important; }
  .product-content [style*='font-size'] { font-size: inherit !important; }
  .product-related__heading { display: grid; gap: var(--ls-space-5); margin-bottom: var(--ls-space-6); }
  .product-related__heading h2 { margin-bottom: 0; }
  .product-related__grid { display: grid; grid-template-columns: 1fr; gap: var(--ls-space-5); }
  @media (min-width: 48rem) { .product-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .product-related__heading { display: flex; align-items: end; justify-content: space-between; } }
  @media (min-width: 64rem) { .product-hero { grid-template-columns: minmax(0, 56fr) minmax(20rem, 44fr); } .product-summary { position: sticky; top: 8rem; padding-top: var(--ls-space-5); } .product-details__grid { grid-template-columns: minmax(14rem, 44fr) minmax(0, 56fr); } .product-related__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
