.lab-product-page{font-family:DinPro,sans-serif;color:#000}.lab-product-hero,.lab-product-details{display:flex;border-top:1px solid #000;border-bottom:1px solid #000}.lab-product-gallery,.lab-product-copy,.lab-product-accordion,.lab-product-video{width:50%}.lab-product-gallery{position:relative;min-height:100vh;overflow:hidden;border-right:1px solid #000}.lab-product-main{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s}.lab-product-main.is-next{opacity:0}.lab-product-thumbs{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:10px;padding:10px 15px;background:#ffffffe6;border-radius:10px;box-shadow:0 10px 20px #0000001a}.lab-product-thumb{width:60px;height:60px;padding:0;border:2px solid transparent;background:none;border-radius:4px}.lab-product-thumb.is-active{border-color:transparent}.lab-product-thumb:hover{border-color:#444}.lab-product-thumb img{width:100%;height:100%;object-fit:cover}.lab-product-copy{padding:0 100px;display:flex;flex-direction:column;justify-content:center}.lab-product-copy h1{font:600 40px/1.4 DinPro,sans-serif}.lab-product-copy h2,.lab-product-related h2{font:600 25px/1.3 DinPro,sans-serif}.lab-product-description{font:400 16px/1.65 DinPro,sans-serif;text-align:justify}.lab-product-details{border-top:0}.lab-product-accordion{padding:0 50px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #000}.lab-product-accordion details{border-bottom:1px solid #000}.lab-product-accordion summary{padding:20px 10px;font:600 25px/1.3 DinPro,sans-serif;cursor:pointer}.lab-product-accordion details>div{padding:0 10px 15px;font:400 16px/1.65 DinPro,sans-serif}.lab-product-video{position:relative;aspect-ratio:1/1;overflow:hidden}.lab-product-video video{width:100%;height:100%;object-fit:cover}.lab-product-video span{position:absolute;bottom:0;left:0;right:0;padding:.5rem 1rem;background:#0008;color:#fff;text-align:center;font:14px/1.2 system-ui}.lab-product-related{padding:100px 50px}.lab-product-related h2{margin-left:30px}@media(max-width:1024px){.lab-product-hero{flex-direction:column}.lab-product-gallery,.lab-product-copy{width:100%}.lab-product-gallery{height:110vh}.lab-product-copy{padding:30px 25px 30px 30px}.lab-product-details{flex-direction:row}.lab-product-accordion{padding:0 20px 0 30px}.lab-product-related{padding:10% 20px}}@media(max-width:767px){.lab-product-gallery{height:75svh}.lab-product-copy{padding:30px 15px 10px}.lab-product-copy h1{font-size:25px}.lab-product-copy h2{font-size:20px}.lab-product-description{font-size:16px}.lab-product-details{flex-direction:column}.lab-product-accordion,.lab-product-video{width:100%}.lab-product-accordion{padding:10px}.lab-product-accordion summary{font-size:20px}.lab-product-video{aspect-ratio:9/16}.lab-product-thumbs{bottom:10px;gap:6px;padding:8px 12px}.lab-product-thumb{width:50px;height:50px}.lab-product-related{padding:10%}} 
.lab-product-gallery .lab-product-main[src*="/muselina-"] {
  box-sizing: border-box;
  padding: 0;
  transform: scale(1.01);
  background: #fff;
}

/* Explicit text colors prevent Astra heading/link colors from taking over. */
.lab-product-page.lab-product-muselina,
.lab-product-page.lab-product-muselina :is(h1, h2, h3, p, a, span, strong, em, summary, details, li, button) {
  color: #000;
}

.lab-product-page .lab-product-copy h1 {
  margin-bottom: 20px;
}

.lab-product-page .lab-product-copy .lab-product-meta {
  margin-top: 0;
  font-weight: 600;
}

.lab-product-page.lab-product-muselina .lab-product-copy > hr {
  width: 100%;
  height: 1px;
  min-height: 1px;
  flex-shrink: 0;
  margin-top: 4px;
  margin-bottom: 7px;
  padding: 0;
  border: 0;
  background: #000;
  opacity: 1;
}

.lab-product-page .lab-product-copy > h2 {
  padding-bottom: 16px;
}

/* Move the description without recentering the copy or moving its divider. */
.lab-product-page .lab-product-copy > h2,
.lab-product-page .lab-product-copy > .lab-product-description {
  position: relative;
  top: 26px;
}

/* Preserve the original translucent video caption. */
.lab-product-page.lab-product-muselina .lab-product-video span {
  background: rgba(0, 0, 0, 0.53);
  color: #fff;
}

/* Tighten only the spacing between description paragraphs. */
.lab-product-page .lab-product-description > p:not(:last-child) {
  margin-bottom: 0.8em;
}

/* Match the reference tray and prevent theme button hover fills. */
.lab-product-page .lab-product-thumbs {
  background: #ffffffd9;
}
.lab-product-page .lab-product-thumb,
.lab-product-page .lab-product-thumb:hover,
.lab-product-page .lab-product-thumb:focus,
.lab-product-page .lab-product-thumb:active {
  background: transparent;
  padding: 0;
  box-sizing: border-box;
  flex-shrink: 0;
}
.lab-product-page .lab-product-thumb:hover {
  border-color: #444;
}

/* Preserve justification without distributing space between letters. */
.lab-product-page .lab-product-description,
.lab-product-page .lab-product-description p,
.lab-product-page .lab-product-description strong {
  letter-spacing: normal;
  word-spacing: normal;
}
.lab-product-page .lab-product-description p {
  text-align: justify;
  text-align-last: start;
  text-justify: inter-word;
  -webkit-hyphens: none;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

@media (max-width: 767px) {
  .lab-product-page .lab-product-copy .lab-product-meta {
    font-size: 18px;
  }
}

/* Show the entire soap cover on mobile, including during gallery fades. */
@media (max-width: 767px) {
  .lab-product-page.lab-product-muselina .lab-product-gallery .lab-product-main[src*="/muselina-"] {
    object-fit: contain;
    object-position: center;
  }
}

.lab-product-colors { display:flex; gap:10px; margin:0 0 20px; flex-wrap:wrap; }
.lab-product-page .lab-product-color { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid #ccc; border-radius:4px; background:#fff; font:inherit; cursor:pointer; }
.lab-product-page .lab-product-color:hover, .lab-product-page .lab-product-color.is-selected { border-color:#000; background:#fff; }
.lab-product-color:focus-visible { outline:2px solid #000; outline-offset:3px; }
.lab-color-dot { width:16px; height:16px; border-radius:50%; border:1px solid #0002; }
.lab-color-pink { background:#e8b3c3; }
.lab-color-green { background:#adc8c1; }
