.harry-product-readmore-toggle {
  display: none;
}

@media (max-width: 868px) {
  body.harry-page-product .harry-product-readmore-text.harry-has-overflow:not(.harry-is-expanded) {
    position: relative;
    max-height: 4.5em;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  }

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

  body.harry-page-product .harry-product-readmore-text.harry-has-overflow.harry-is-expanded {
    position: relative;
    max-height: 30rem;
    transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  }

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

  body.harry-page-product .harry-product-readmore-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0.45rem 0 0;
    padding: 0.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-product .harry-product-readmore-toggle[hidden] {
    display: none;
  }

  body.harry-page-product .harry-product-readmore-toggle svg {
    width: 0.9rem;
    height: 0.9rem;
    transition: transform 0.25s ease;
  }

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

  body.harry-page-product #harry-widget-intro + .harry-product-readmore-toggle {
    margin-top: -1.35rem;
    margin-bottom: 1.35rem;
  }
}
/* 4.1.3 — Harry-Score : équilibre et transparence. */
.harry-score-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:1.35rem;padding:1rem 0;border:0;border-top:2px dashed var(--harry-border-dotted,#DDE4E5);background:#fff;color:var(--harry-text-main,#2D3032);font:800 1rem "Space Grotesk",sans-serif;text-align:left;cursor:pointer}.harry-score-toggle__button,.harry-transparency-detail__action{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--harry-accent-yellow,#F4CC58);font:800 1rem/1 "DM Sans",sans-serif}.harry-equilibrium-panel{position:relative;max-height:215px;overflow:hidden;cursor:pointer;transition:max-height .4s cubic-bezier(.4,0,.2,1)}.harry-equilibrium-panel::after{position:absolute;right:0;bottom:0;left:0;height:7.5rem;background:linear-gradient(to bottom,rgb(255 255 255 / 0%),#fff 88%);content:"";pointer-events:none}.harry-equilibrium-panel.is-open{max-height:5000px;cursor:default}.harry-equilibrium-panel.is-open::after{display:none}.harry-equilibrium-panel__inner{padding-top:1.25rem}.harry-equilibrium-why{margin:1.4rem 0 1rem;color:var(--harry-text-muted,#6D7375);font-size:.84rem;line-height:1.45}.harry-transparency-score{margin-top:1.65rem;padding-top:1.15rem;border-top:2px dashed var(--harry-border-dotted,#DDE4E5)}.harry-transparency-score h3{margin:0 0 .45rem;font:800 1rem "Space Grotesk",sans-serif}.harry-transparency-detail+.harry-transparency-detail{border-top:1px dashed var(--harry-border-dotted,#DDE4E5)}.harry-transparency-detail>summary{display:flex;align-items:center;gap:.65rem;padding:.82rem 0;list-style:none;cursor:pointer;font:500 1rem "DM Sans",sans-serif}.harry-transparency-detail>summary::-webkit-details-marker,.harry-transparency-element>summary::-webkit-details-marker{display:none}.harry-transparency-detail__action{margin-left:auto}.harry-transparency-detail[open]>.harry-transparency-detail__action{font-size:0}.harry-transparency-detail[open]>.harry-transparency-detail__action::after{content:'−';font-size:1rem}.harry-transparency-detail__content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.harry-transparency-detail[open]>.harry-transparency-detail__content{grid-template-rows:1fr}.harry-transparency-detail__content>*{min-height:0;overflow:hidden}.harry-transparency-element>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:.6rem;padding:.38rem .1rem;list-style:none;cursor:pointer;font-size:.86rem;font-weight:500}.harry-additive-category{padding:.16rem .42rem;border-radius:99px;background:#f2f4f4;color:#6d7375;font-size:.72rem;font-weight:600}.harry-transparency-pill{width:12px;height:12px;border-radius:50%}.harry-transparency-pill--green{background:#259a68}.harry-transparency-pill--yellow{background:var(--harry-score-caution,#D6A83A)}.harry-transparency-pill--orange{background:#df7f2b}.harry-transparency-pill--red{background:#d86058}.harry-transparency-arrow{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#f4faf7;color:var(--harry-brand-teal,#007C78);font-size:1rem}.harry-transparency-element[open] .harry-transparency-arrow{transform:rotate(90deg)}.harry-transparency-element p{margin:.1rem .1rem .7rem;color:var(--harry-text-muted,#6D7375);font-size:.84rem;line-height:1.5}
/* Le bouton se trouve dans le summary, et non directement sous details. */
.harry-transparency-detail[open] > summary .harry-transparency-detail__action {
  font-size: 0;
}

.harry-transparency-detail[open] > summary .harry-transparency-detail__action::after {
  content: "−";
  font-size: 1rem;
}

/* Le signe moins est positionné indépendamment de sa ligne de texte. */
.harry-transparency-detail__action {
  position: relative;
}

.harry-transparency-detail[open] > summary .harry-transparency-detail__action::after {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  line-height: 1;
}

/* Top X : lien méthodologie directement sous le cercle de score intégré. */
body.harry-page-topx .harry-top-score-method-wrap {
  display: flex;
  flex: 0 0 122px;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
}

body.harry-page-topx .harry-top-score-method-wrap .harry-score-method-link {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--harry-brand-teal, #007C78);
  font: 800 0.75rem/1.3 "DM Sans", sans-serif;
  text-align: center;
  cursor: pointer;
}

body.harry-page-topx .harry-top-score-method-wrap .harry-score-method-link:hover,
body.harry-page-topx .harry-top-score-method-wrap .harry-score-method-link:focus-visible {
  color: var(--harry-text-main, #2D3032);
  text-decoration: underline;
}

@media (max-width: 700px) {
  body.harry-page-topx .harry-top-score-method-wrap { flex-basis: auto; }
}

/* Sélecteur de gabarit adulte dans la grille de ration Chiot. */
.harry-puppy-weight-label {
  margin-top: 0.7rem;
  font: 700 0.75rem/1.2 "DM Sans", sans-serif;
  color: #DDE7E7;
}

.harry-puppy-weight-select {
  width: min(100%, 16rem);
  margin-top: 0.35rem;
  padding: 0.58rem 2.2rem 0.58rem 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 0.55rem;
  background: #FFFFFF;
  color: #2D3032;
  font: 700 0.9rem/1.2 "DM Sans", sans-serif;
}

.harry-puppy-weight-select:focus-visible {
  outline: 3px solid #F6C744;
  outline-offset: 2px;
}

/* 4.1.45 — Les libellés de critères longs ne doivent pas élargir la grille mobile. */
@media (max-width: 640px) {
  body.harry-page-product #harry-criteria-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.harry-page-product #harry-criteria-grid .harry-criterion-item,
  body.harry-page-product #harry-criteria-grid .harry-criterion-body,
  body.harry-page-product #harry-criteria-grid .harry-criterion-head,
  body.harry-page-product #harry-criteria-grid .harry-criterion-title {
    min-width: 0;
  }

  body.harry-page-product #harry-criteria-grid .harry-criterion-title {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
  }

  body.harry-page-product #harry-criteria-grid .harry-criterion-desc {
    overflow-wrap: anywhere;
  }
}

/* Le texte courant des analyses suit la teinte des introductions et pages standard. */
body .harry-analysis-section .harry-analysis-paragraph,
body .harry-analysis-section .harry-analysis-block li {
  color: var(--harry-text-muted, #6D7375);
}

/* Les passages en gras gardent la couleur de mise en valeur habituelle. */
body .harry-analysis-section .harry-analysis-paragraph strong,
body .harry-analysis-section .harry-analysis-block li strong {
  color: var(--harry-text-main, #2D3032);
  font-weight: 700;
}

/* CC / CD : distinguer les sous-parties successives de chaque analyse. */
body .harry-analysis-section .harry-analysis-block h3 {
  margin-top: 1.5rem;
}

body .harry-analysis-section .harry-analysis-block h3:first-child {
  margin-top: 0;
}
/* Sur mobile, replier aussi les listes et les autres contenus de l’analyse. */
@media (max-width: 868px) {
  body .harry-analysis-block:has(> .harry-subblock-title):not(.harry-mobile-open) > :not(.harry-subblock-title) {
    display: none;
  }
}
