/* Native disclosure keeps the article in HTML and works without JS. */
.home-seo {
  padding: 24px 16px;
  color: #4b5563;
  font-size: 14px;
  line-height: 2;
}
.home-seo__title {
  margin: 0 0 12px;
  color: #171717;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.8;
}
.home-seo__summary { display: block; list-style: none; cursor: pointer; border-radius: 4px; }
.home-seo__summary::marker { content: ""; }
.home-seo__summary::-webkit-details-marker { display: none; }
.home-seo__summary:focus-visible { outline: 2px solid #171717; outline-offset: 5px; }
.home-seo__preview {
  --preview-clear-height: 4em;
  position: relative;
  display: block;
  height: 6em;
  overflow: hidden;
  overflow-wrap: anywhere;
  /* Fade the glyphs themselves; a clipped backdrop blur leaves a visible seam. */
  --preview-mask: linear-gradient(to bottom,
    #000 0%,
    #000 var(--preview-clear-height),
    rgb(0 0 0 / 90%) calc(var(--preview-clear-height) + .35em),
    rgb(0 0 0 / 55%) calc(var(--preview-clear-height) + .9em),
    rgb(0 0 0 / 15%) calc(var(--preview-clear-height) + 1.5em),
    transparent 100%);
  -webkit-mask-image: var(--preview-mask);
  mask-image: var(--preview-mask);
}
.category-description .home-seo__preview {
  /* Match the expanded CMS typography; reserve six lines and fade the seventh. */
  font-size: .95rem;
  line-height: 1.9;
  height: calc(13.3em + 8px);
  --preview-clear-height: calc(11.4em + 8px);
}
.category-description:has(.home-seo__details[open]) > .home-seo__preview { display: none; }
.home-seo.product-description { padding: 0; font-size: inherit; line-height: 1.9; }
.product-description .home-seo__preview {
  line-height: 1.9;
  height: auto;
  max-height: calc(20.9em + 8px);
  --preview-clear-height: calc(19em + 8px);
}
.product-description:has(.home-seo__details[open]) > .home-seo__preview { display: none; }
.pdp-short-copy.cms-prose {
  width: 100%;
  max-width: none;
  text-align: justify;
  text-align-last: start;
}
.home-seo__toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin-top: 4px;
  color: #171717;
  font-weight: 600;
}
.home-seo__summary:hover .home-seo__toggle { text-decoration: underline; }
.home-seo__less { display: none; }
.home-seo__details[open] .home-seo__preview,
.home-seo__details[open] .home-seo__more { display: none; }
.home-seo__details[open] .home-seo__less { display: inline; }
.home-seo__details[open] .home-seo__toggle svg { transform: rotate(180deg); }
.home-seo__body { padding-top: 8px; overflow-wrap: anywhere; }
.home-seo .home-seo__body { width: 100%; max-width: none; }
.home-seo__preview,
.home-seo__body p,
.home-seo__body li {
  text-align: justify;
  text-align-last: start;
}
.home-seo__body p { margin: 0 0 16px; }
.home-seo__body h3 { margin: 20px 0 8px; color: #171717; font-size: 15px; font-weight: 700; }
.home-seo__body a { color: #171717; text-decoration: underline; text-underline-offset: 4px; }
.home-seo__body a:hover { color: #4b5563; }
.home-seo__body a:focus-visible { outline: 2px solid #171717; outline-offset: 3px; }
.home-seo__body ul, .home-seo__body ol { padding-inline-start: 24px; margin-bottom: 16px; }
.home-seo__body ul { list-style: disc; }
.home-seo__body ol { list-style: decimal; }
@media (min-width: 1024px) {
  .home-seo { padding: 32px 24px; }
}

/* Full text is the no-JavaScript default; enhancement clips the same block. */
.expandable-copy.is-collapsible:not(.is-expanded) > [data-copy-body] {
  max-height: var(--copy-preview-height);
  overflow: hidden;
  mask-image: linear-gradient(to bottom, #000 75%, transparent);
}
.expandable-copy > [data-copy-toggle] { background: none; border: 0; cursor: pointer; }
.expandable-copy > [data-copy-toggle][hidden] { display: none; }
.expandable-copy > [data-copy-toggle]:focus-visible { outline: 2px solid #171717; outline-offset: 4px; }
