/* Ajustements du comparateur Top HARRY. */
body.harry-page-topx .harry-product-detail-card .harry-detail-heading {
  flex: 1 1 auto;
  min-width: 0;
}

/* Contenu rédigé dans PAGES_TOP > Contenu_CMS_Liste. */
body.harry-page-topx .harry-topx-editorial-content {
  min-width: 0;
  color: var(--harry-text-main, #252d31);
  font-size: var(--harry-font-copy, 1rem);
  line-height: 1.7;
  overflow-wrap: break-word;
}

body.harry-page-topx .harry-topx-editorial-content h2,
body.harry-page-topx .harry-topx-editorial-content h3,
body.harry-page-topx .harry-topx-editorial-content h4 {
  color: var(--harry-text-main, #252d31);
  font-family: "Space Grotesk", sans-serif;
  font-weight: 800;
  line-height: 1.25;
  text-wrap: balance;
}

body.harry-page-topx .harry-topx-editorial-content h2 {
  margin: 2.8rem 0 1.1rem;
  font-size: clamp(1.65rem, 3vw, 2.15rem);
  letter-spacing: -.035em;
}

body.harry-page-topx .harry-topx-editorial-content h2:first-child {
  margin-top: 0;
}

body.harry-page-topx .harry-topx-editorial-content h2::after {
  display: block;
  width: 14px;
  height: 7px;
  margin-top: .7rem;
  border-radius: 999px;
  background: var(--harry-brand-teal, #008f83);
  box-shadow: 18px 0 0 var(--harry-accent-yellow, #f0c94c), 36px 0 0 var(--harry-score-positive, #57a263);
  content: "";
}

body.harry-page-topx .harry-topx-editorial-content h3 {
  margin: 2rem 0 .7rem;
  font-size: clamp(1.3rem, 2vw, 1.55rem);
}

body.harry-page-topx .harry-topx-editorial-content h3::after {
  display: block;
  width: 32px;
  height: 4px;
  margin-top: .65rem;
  border-radius: 999px;
  background: var(--harry-brand-teal, #008f83);
  content: "";
}

body.harry-page-topx .harry-topx-editorial-content h4 {
  margin: 1.6rem 0 .55rem;
  font-size: clamp(1.1rem, 1.6vw, 1.25rem);
}

body.harry-page-topx .harry-topx-editorial-content p {
  margin: 0 0 1.3rem;
  color: var(--harry-text-muted, #5b676d);
  font-size: inherit;
  line-height: inherit;
}

body.harry-page-topx .harry-topx-editorial-content ul,
body.harry-page-topx .harry-topx-editorial-content ol {
  margin: .4rem 0 1.6rem;
  padding-left: 1.5rem;
  color: var(--harry-text-muted, #5b676d);
  font-size: inherit;
  line-height: inherit;
}

body.harry-page-topx .harry-topx-editorial-content ul {
  list-style: disc outside;
}

body.harry-page-topx .harry-topx-editorial-content ol {
  list-style: decimal outside;
}

body.harry-page-topx .harry-topx-editorial-content li {
  margin: .45rem 0;
  padding-left: .25rem;
  font-size: inherit;
  line-height: inherit;
}

body.harry-page-topx .harry-topx-editorial-content li::marker {
  color: var(--harry-brand-teal, #008f83);
}

body.harry-page-topx .harry-topx-editorial-content strong {
  color: var(--harry-text-main, #252d31);
  font-weight: 700;
}

body.harry-page-topx .harry-topx-table-scroll {
  width: 100%;
  max-width: 100%;
  margin: 2rem 0;
  overflow-x: auto;
  border: 1px solid #D7E0E1;
  border-radius: 12px;
  background: var(--harry-white, #fff);
  -webkit-overflow-scrolling: touch;
}

body.harry-page-topx .harry-topx-editorial-content table {
  width: 100%;
  min-width: 680px;
  margin: 0;
  border-collapse: collapse;
  background: var(--harry-white, #fff);
}

body.harry-page-topx .harry-topx-editorial-content th,
body.harry-page-topx .harry-topx-editorial-content td {
  padding: 1rem 1.05rem;
  border: 0;
  border-bottom: 1px solid var(--harry-border-dotted, #d8e2e3);
  text-align: left;
  vertical-align: top;
}

body.harry-page-topx .harry-topx-editorial-content thead th,
body.harry-page-topx .harry-topx-editorial-content table:not(:has(thead)) tbody > tr:first-child > td {
  background: #F4F7F7;
  color: var(--harry-text-main, #252d31);
  font-family: "Space Grotesk", "DM Sans", sans-serif;
  font-weight: 800;
  line-height: 1.35;
  border-bottom: 1px solid #CBD7D8;
}

body.harry-page-topx .harry-topx-editorial-content table:has(thead) tbody > tr:nth-child(even) > td,
body.harry-page-topx .harry-topx-editorial-content table:not(:has(thead)) tbody > tr:not(:first-child):nth-child(odd) > td {
  background: #FBFCFC;
}

body.harry-page-topx .harry-topx-editorial-content tbody > tr > th,
body.harry-page-topx .harry-topx-editorial-content table:has(thead) tbody > tr > td:first-child,
body.harry-page-topx .harry-topx-editorial-content table:not(:has(thead)) tbody > tr:not(:first-child) > td:first-child {
  color: var(--harry-text-main, #252d31);
  font-weight: 700;
}

body.harry-page-topx .harry-topx-editorial-content tbody > tr {
  transition: background-color .18s ease;
}

@media (hover: hover) and (pointer: fine) {
  body.harry-page-topx .harry-topx-editorial-content table:has(thead) tbody > tr:hover > td,
  body.harry-page-topx .harry-topx-editorial-content table:not(:has(thead)) tbody > tr:not(:first-child):hover > td {
    background: #F5F9F8;
  }
}

body.harry-page-topx .harry-topx-editorial-content tr:last-child td,
body.harry-page-topx .harry-topx-editorial-content tr:last-child th {
  border-bottom: 0;
}

@media (max-width: 640px) {
  body.harry-page-topx .harry-topx-editorial-content h2 {
    margin-top: 2.25rem;
  }

  body.harry-page-topx .harry-topx-editorial-content ul,
  body.harry-page-topx .harry-topx-editorial-content ol {
    padding-left: 1.25rem;
  }

}

body.harry-page-topx .harry-product-detail-card .harry-detail-packshot {
  flex: 0 0 90px;
  width: 90px;
  height: 90px;
  margin: 0 0 0 auto;
}

body.harry-page-topx .harry-product-detail-card .harry-detail-packshot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body.harry-page-topx .harry-product-detail-card .harry-detail-body.harry-embedded-product-content {
  padding-top: 1.5rem;
}

@media (max-width: 868px) {
  body.harry-page-topx .harry-embedded-product-content .harry-summary-text.harry-product-readmore-text.harry-has-overflow:not(.harry-is-expanded) {
    position: relative;
    max-height: 4.5em;
    overflow: hidden;
    transition: max-height .4s cubic-bezier(.16, 1, .3, 1);
  }

  body.harry-page-topx .harry-embedded-product-content .harry-summary-text.harry-product-readmore-text.harry-has-overflow::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1.7em;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 88%);
    content: "";
    pointer-events: none;
    transition: opacity .2s ease;
  }

  body.harry-page-topx .harry-embedded-product-content .harry-summary-text.harry-product-readmore-text.harry-has-overflow.harry-is-expanded {
    position: relative;
    max-height: 30rem;
    transition: max-height .4s cubic-bezier(.16, 1, .3, 1);
  }

  body.harry-page-topx .harry-embedded-product-content .harry-summary-text.harry-product-readmore-text.harry-has-overflow.harry-is-expanded::after {
    opacity: 0;
  }

  body.harry-page-topx .harry-embedded-product-content .harry-product-readmore-toggle {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin: .45rem 0 0;
    padding: .25rem 0;
    border: 0;
    background: transparent;
    color: var(--harry-brand-teal, #008f83);
    font-size: var(--harry-font-copy);
    font-weight: 800;
    cursor: pointer;
  }

  body.harry-page-topx .harry-embedded-product-content .harry-product-readmore-toggle[hidden] {
    display: none;
  }

  body.harry-page-topx .harry-embedded-product-content .harry-product-readmore-toggle svg {
    width: .9rem;
    height: .9rem;
    transition: transform .25s ease;
  }

  body.harry-page-topx .harry-embedded-product-content .harry-product-readmore-toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
  }
}

@media (max-width: 640px) {
  body.harry-page-topx .harry-product-detail-card .harry-detail-header {
    align-items: center;
    gap: .65rem;
  }

  body.harry-page-topx .harry-product-detail-card .harry-detail-packshot {
    flex-basis: 68px;
    width: 68px;
    height: 68px;
  }

  body.harry-page-topx .harry-embedded-product-content .harry-criteria-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.harry-page-topx .harry-embedded-product-content .harry-criterion-item,
  body.harry-page-topx .harry-embedded-product-content .harry-criterion-body,
  body.harry-page-topx .harry-embedded-product-content .harry-criterion-head,
  body.harry-page-topx .harry-embedded-product-content .harry-criterion-title {
    min-width: 0;
  }

  body.harry-page-topx .harry-embedded-product-content .harry-criterion-title {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
  }

  body.harry-page-topx .harry-embedded-product-content .harry-criterion-desc {
    overflow-wrap: anywhere;
  }

}
