/* Estimation de la part animale : sans note de qualité nutritionnelle. */
.harry-animal-protein-estimate { --hape-green:#259A68; --hape-yellow:#F4CC58; --hape-teal:#007C78; color:var(--harry-text-main,#2D3032); min-width:0; }
.harry-animal-protein-estimate .hape-heading > h2 { grid-column:1; grid-row:1; margin:0; font-family:"Space Grotesk","DM Sans",sans-serif; font-size:clamp(1.3rem,2.3vw,1.65rem); font-weight:800; line-height:1.3; letter-spacing:-.025em; text-wrap:wrap; }
.harry-animal-protein-estimate .hape-signature { grid-column:1; grid-row:2; display:block; width:14px; height:6px; margin-top:.7rem; border-radius:99px; background:var(--hape-teal); box-shadow:18px 0 var(--hape-yellow),36px 0 var(--hape-green); }
.harry-animal-protein-estimate .hape-overview { display:flex; align-items:center; gap:1.5rem; margin:0 0 1.1rem; }
.harry-animal-protein-estimate .hape-value { display:flex; align-items:center; gap:.12em; flex:none; color:var(--hape-value-color,var(--hape-green)); font:700 clamp(2.3rem,5vw,3.2rem)/1.05 "Space Grotesk",sans-serif; letter-spacing:-.04em; white-space:nowrap; }
.harry-animal-protein-estimate .hape-value > span { font-size:.6em; }
.harry-animal-protein-estimate .hape-context p { margin:0; }
.harry-animal-protein-estimate .hape-meaning { font-size:1rem; font-weight:600; line-height:1.4; }
.harry-animal-protein-estimate .hape-context .hape-range { margin-top:.35rem; color:var(--harry-text-muted,#6D7375); font-size:.9rem; }
.harry-animal-protein-estimate .hape-range strong { color:var(--harry-text-main,#2D3032); font-weight:600; }
.harry-animal-protein-estimate .hape-bar { height:12px; border-radius:99px; background:var(--hape-yellow); overflow:hidden; }
.harry-animal-protein-estimate .hape-animal { display:block; height:100%; background:var(--hape-green); }
.harry-animal-protein-estimate .hape-legend { display:flex; justify-content:space-between; gap:1rem; margin-top:.6rem; color:var(--harry-text-muted,#6D7375); font-size:.8rem; }
.harry-animal-protein-estimate .hape-legend span::before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--hape-green); margin-right:.4rem; vertical-align:middle; }
.harry-animal-protein-estimate .hape-legend span:last-child::before { background:var(--hape-yellow); }
.harry-animal-protein-estimate .hape-disclaimer { margin:0; color:var(--harry-text-muted,#6D7375); font-size:.85rem; line-height:1.5; }
.harry-animal-protein-estimate .hape-details { border:0; margin-top:1.25rem; padding:0; }
.harry-animal-protein-estimate .hape-details > summary { display:flex; align-items:center; justify-content:space-between; gap:.65rem; padding:.6rem 0; color:var(--harry-text-main,#2D3032); font-family:inherit; font-size:.95rem; font-weight:600; line-height:1.4; cursor:pointer; list-style:none; }
.harry-animal-protein-estimate .hape-details > summary::-webkit-details-marker { display:none; }
.harry-animal-protein-estimate .hape-details > summary:focus-visible { outline:2px solid var(--hape-teal); outline-offset:4px; }
.harry-animal-protein-estimate .hape-detail-inner { padding-top:1rem; }
.harry-animal-protein-estimate .hape-table-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
.harry-animal-protein-estimate table { width:100%; min-width:460px; border-collapse:collapse; font-size:.875rem; line-height:1.5; }
.harry-animal-protein-estimate th, .harry-animal-protein-estimate td { padding:.8rem .9rem; border-bottom:1px solid #DDE4E5; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.harry-animal-protein-estimate th { background:#F2F7F5; color:var(--hape-teal); font-weight:700; }
.harry-animal-protein-estimate tr:nth-child(even) td { background:#FAFCFC; }
.harry-animal-protein-estimate .hape-explanation { margin-top:1.1rem; font-size:.9rem; line-height:1.65; color:var(--harry-text-muted,#6D7375); }
.harry-animal-protein-estimate .hape-explanation p { margin:0 0 .7rem; }
.harry-animal-protein-estimate .hape-explanation strong { color:var(--harry-text-main,#2D3032); font-weight:600; }
@media(max-width:640px) { .harry-animal-protein-estimate .hape-overview { align-items:flex-start; gap:1rem; } .harry-animal-protein-estimate .hape-value { font-size:2.3rem; } .harry-animal-protein-estimate .hape-meaning { font-size:.9rem; } .harry-animal-protein-estimate .hape-context .hape-range { font-size:.8rem; } .harry-animal-protein-estimate .hape-legend { font-size:.72rem; gap:.5rem; } }

/* Aide méthodologique et lisibilité du détail. */
.harry-animal-protein-estimate .hape-heading { display:grid; grid-template-columns:fit-content(calc(100% - 32px)) 22px; justify-content:start; align-items:center; gap:0 10px; margin-bottom:1.5rem; }
.harry-animal-protein-estimate .hape-help-button { grid-column:2; grid-row:1; align-self:center; box-sizing:border-box; display:inline-flex; justify-content:center; align-items:center; width:22px; height:22px; padding:0; margin:0; border:1px solid #D6D3D1; border-radius:50%; background:#fff; color:#6D7375; font:600 12px/1 "DM Sans",sans-serif; cursor:pointer; }
.harry-animal-protein-estimate .hape-help-button:focus-visible { outline:2px solid var(--hape-teal); outline-offset:3px; }
.harry-animal-protein-estimate .hape-help-panel[hidden] { display:none; }
.harry-animal-protein-estimate .hape-help-inner { padding:1rem 1.2rem; margin-bottom:1.4rem; border-radius:12px; background:#F4F8F7; font-size:.9rem; line-height:1.65; color:var(--harry-text-muted,#6D7375); }
.harry-animal-protein-estimate .hape-help-inner h3 { margin:0 0 .85rem; font:700 1rem/1.4 "Space Grotesk",sans-serif; color:var(--harry-text-main,#2D3032); }
.harry-animal-protein-estimate .hape-help-inner p { margin:0 0 .85rem; }
.harry-animal-protein-estimate .hape-help-inner ul { list-style:disc; padding-left:1.25rem; margin:0 0 1rem; }
.harry-animal-protein-estimate .hape-help-inner li { margin-bottom:.65rem; }
.harry-animal-protein-estimate .hape-help-inner strong { font-weight:700; color:var(--harry-text-main,#2D3032); }
.harry-animal-protein-estimate .hape-product-statement { margin:1rem 0 .5rem; font-size:.9rem; line-height:1.6; color:var(--harry-text-main,#2D3032); }
.harry-animal-protein-estimate .hape-table-scroll table strong { font-weight:800 !important; color:var(--harry-text-main,#2D3032); }

.harry-animal-protein-estimate .hape-comparison { margin:.75rem 0 0; }
.harry-animal-protein-estimate .hape-comparison-trigger[hidden], .harry-animal-protein-estimate .hape-comparison-profile[hidden] { display:none !important; }
.harry-animal-protein-estimate .hape-comparison-panels { max-width:640px; }
.harry-animal-protein-estimate .hape-comparison-panels .harry-comparison-panel[aria-hidden="true"] { pointer-events:none; }

.harry-animal-protein-estimate .hape-value .hape-comparison-trigger { margin-left:.45rem; }

/* Même typographie, diamètre et couleur que le bouton de la matrice existante. */
.harry-animal-protein-estimate .hape-toggle { display:grid; place-items:center; flex:none; box-sizing:border-box; width:28px; height:28px; margin:0; padding:0; border:0; border-radius:50%; color:#34423a; background:var(--harry-accent-yellow,#F4CC58); font-family:inherit; font-size:19px; font-weight:400; line-height:1; }
.harry-animal-protein-estimate .hape-toggle::before { content:"+"; }
.harry-animal-protein-estimate .hape-details[open] .hape-toggle::before { content:"−"; }
.harry-animal-protein-estimate .hape-details[data-hape-expanded="false"] .hape-toggle::before { content:"+"; }
.harry-animal-protein-estimate summary:hover .hape-toggle { background:#f8d879; }
