/* Porte 🌿 « abondance »: carte d'accueil assiette -> verdict -> ajout, sans aucun chiffre.
   Feuille dediee (pindee a part dans guest.html) pour ne pas imposer un bump de styles.css
   aux neuf pages qui le servent. Tokens du design system (styles.css). */
.abundance{margin:0 0 14px}
.abd-card{border:2px solid var(--ink);border-radius:var(--r-lg);background:color-mix(in oklab, var(--paper) 88%, #c9ff3b);box-shadow:var(--sh-card);padding:16px;display:flex;flex-direction:column;gap:10px}
.abd-title{margin:0;font-size:19px;letter-spacing:-.01em}
.abd-hint{margin:0;color:var(--muted);font-size:13px;font-weight:700}
.abd-row{display:flex;gap:8px}
.abd-row input[type=text]{flex:1;min-width:0;border:2px solid var(--ink);border-radius:var(--r-sm);background:var(--paper);padding:10px 12px;font-size:14px;font-weight:600;color:var(--ink)}
.abd-photo{flex:0 0 auto;border:2px solid var(--ink);border-radius:var(--r-sm);background:var(--paper);padding:0 14px;font-size:17px;cursor:pointer;box-shadow:var(--sh-int)}
.abd-photo:active{transform:translate(1px,1px);box-shadow:none}
.abd-chips{display:flex;flex-wrap:wrap;gap:8px}
.abd-chip{border:2px solid var(--ink);border-radius:var(--r-pill);background:var(--paper);padding:6px 12px;font-size:12.5px;font-weight:700;color:var(--ink);cursor:pointer}
.abd-chip.on{background:var(--ink);color:var(--bone)}
.abd-go{align-self:flex-start}
.abd-go:disabled{opacity:.6;cursor:default}
.abd-status{margin:0;min-height:16px;color:var(--muted);font-size:12.5px;font-weight:700}
.abd-verdict{display:flex;flex-direction:column;gap:10px;border-top:2px dashed var(--line);padding-top:12px}
.abd-hero b{display:block;font-size:16px;letter-spacing:-.01em}
.abd-hero p{margin:4px 0 0;font-size:13.5px;font-weight:600}
.abd-pils{display:flex;flex-wrap:wrap;gap:8px}
.abd-pil{display:flex;flex-direction:column;gap:2px;border:2px solid var(--line);border-radius:var(--r-md);padding:8px 11px;font-size:12px;font-weight:700;color:var(--muted)}
.abd-pil b{color:var(--ink);font-size:13px}
.abd-pil small{font-size:10px;font-weight:600}
.abd-pil span{font-size:11px;font-weight:800}
.abd-pil.ok{border-color:var(--ink);background:var(--lime);color:var(--ink)}
.abd-pil.ok span{color:var(--ink)}
.abd-add{display:flex;flex-direction:column;gap:3px;border:2px solid var(--ink);border-radius:var(--r-md);background:var(--paper);box-shadow:var(--sh-int);padding:10px 12px}
.abd-add small{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.abd-add b{font-size:14.5px}
.abd-add span{font-size:12.5px;font-weight:600;color:var(--muted)}
.abd-recipe-card{display:flex;flex-direction:column;gap:4px;border:2px dashed var(--line);border-radius:var(--r-md);padding:9px 12px}
.abd-recipe-card small{color:var(--muted);font-size:11px;font-weight:800}
.abd-recipe{align-self:flex-start;margin-top:4px;font-size:12.5px;font-weight:800;color:var(--cobalt)}
.abd-save{align-self:flex-start;border:0;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;font-weight:800;text-decoration:underline;cursor:pointer;padding:4px 0}
.abd-save:disabled{opacity:.6;cursor:default}
@media(max-width:560px){.abd-card{padding:14px}.abd-go{align-self:stretch}}

/* Mode sans chiffres (prefs.features_off contient 'chiffres', classe posee par applyFeatureToggles).
   Le JS ne rend plus les chiffres; ces regles cachent les controles qui n'ont plus d'objet. */
body.feat-off-chiffres .suivi-tabs,
body.feat-off-chiffres #suivi-bilan, body.feat-off-chiffres #suivi-poids, body.feat-off-chiffres #suivi-objectif,
body.feat-off-chiffres #daySummary:empty, body.feat-off-chiffres #dayComplement, body.feat-off-chiffres #dayActivity,
body.feat-off-chiffres #dayDetail, body.feat-off-chiffres #weeklyRecap, body.feat-off-chiffres #coachCard,
body.feat-off-chiffres #suivi-journal > .health-disclaimer,
body.feat-off-chiffres #modeSportif, body.feat-off-chiffres .sport-hint, body.feat-off-chiffres #customTargetsBanner,
body.feat-off-chiffres #customTargetsMet, body.feat-off-chiffres #healthifyBtn,
body.feat-off-chiffres #prepChips button[data-c^="chaque repas ultra"],
/* feuille d'ajout: les captures qui ne rendent que des valeurs nutritionnelles (code-barres et fiche
   produit, carte de resto comparee en kcal, saisie en kcal) se taisent; recherche, photo, description
   et listes restent, sans leurs kcal */
body.feat-off-chiffres [data-cap="scan"], body.feat-off-chiffres [data-cap="menu"], body.feat-off-chiffres [data-cap="manuel"],
body.feat-off-chiffres #addScan, body.feat-off-chiffres #addMenuScan, body.feat-off-chiffres #addManuel,
body.feat-off-chiffres #addProductCapture, body.feat-off-chiffres .pm-kcal, body.feat-off-chiffres .pm-dish-kcal,
body.feat-off-chiffres .photo-meal-total, body.feat-off-chiffres .num-only,
body.feat-off-chiffres .off-capture, body.feat-off-chiffres .alcohol-calc,
/* la barre de filtres peut se dessiner avant les prefs: le CSS couvre ce premier rendu */
body.feat-off-chiffres .kcal-slider, body.feat-off-chiffres .filter-dd[data-type="nutri"]{display:none !important}
/* :has() dans sa propre regle: un moteur qui ne le connait pas rejette la regle entiere */
body.feat-off-chiffres .sport-row .switchline:has(#proteinBoost),
body.feat-off-chiffres .advanced .adv-group:has(#nutritionGoal),
body.feat-off-chiffres .autofill-settings label:has(#planGoal),
body.feat-off-chiffres .autofill-settings label:has(#planMaxKcal),
body.feat-off-chiffres .pf-row:has(#prepKcalP){display:none !important}
.nonum-only{display:none}
body.feat-off-chiffres .nonum-only{display:inline}
body.feat-off-chiffres #suivi-journal.hidden{display:block !important}
.nonum-panel{display:flex;flex-direction:column;gap:8px;padding:14px 16px}
.nonum-panel small{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.nonum-panel b{font-size:17px;letter-spacing:-.01em}
.tag-pill.satiety{background:var(--ink);color:var(--bone)}
/* Suggestion d'ajout sur la fiche, avant de cuisiner (les deux modes) */
.recipe-view .recipe-insights .fiche-add{grid-column:1/-1}
.fiche-add{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);padding:14px 16px}
.fiche-add small{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.fiche-add-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fiche-add-row b{font-size:17px;letter-spacing:-.01em}
.fiche-add-actions{display:flex;flex-wrap:wrap;gap:8px}
.recipe-view .fiche-add-actions button{width:auto;margin:0;padding:7px 14px;font-size:13px;background:var(--paper);color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
