/* =====================================================================
   AOS — formatted program content (includes/aos_rich.php), the
   NUTRITION card label and the daily habit tracker.
   Loaded on public pages and in the learner area.
   ===================================================================== */
.prog-tier.tier-nutrition { background: #2f9e5b; color: #fff; }
.prog-tier.tier-nutrition .bi { color: #fff; }

.rich { line-height: 1.75; }
.rich > :first-child { margin-top: 0; }
.rich p { margin: 0 0 14px; }
.rich .rich-h { font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: .3px; margin: 26px 0 10px; display: flex; align-items: center; gap: 10px; }
.rich h3.rich-h { font-size: 1.05rem; }
.rich h3.rich-h::before { content: ''; width: 22px; height: 2px; background: #e5321f; flex: none; }
.rich h4.rich-h { font-size: .9rem; color: #e5321f; text-transform: uppercase; letter-spacing: 1.2px; }
.rich-table-wrap { overflow-x: auto; margin: 0 0 16px; border-radius: 14px; border: 1px solid rgba(127,127,127,.22); }
.rich-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.rich-table td { padding: 11px 16px; border-bottom: 1px solid rgba(127,127,127,.16); vertical-align: top; }
.rich-table tr:last-child td { border-bottom: 0; }
.rich-table td:last-child { text-align: right; font-weight: 700; white-space: nowrap; font-family: 'Archivo', sans-serif; color: #e5321f; width: 1%; padding-left: 24px; }
.rich-table tr:nth-child(even) td { background: rgba(127,127,127,.05); }
.rich-list { padding-left: 1.2rem; margin: 0 0 16px; display: grid; gap: 6px; }
.rich-list li::marker { color: #e5321f; font-weight: 700; }
.rich-check { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 8px; }
.rich-check li { display: flex; gap: 10px; align-items: flex-start; }
.rich-check i { color: #e5321f; }
.rich-note { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 16px; padding: 14px 16px; border-radius: 14px; background: rgba(229,50,31,.07); border: 1px solid rgba(229,50,31,.25); }
.rich-note > i { color: #e5321f; font-size: 1.1rem; line-height: 1.5; }
.rich-note--warn { background: rgba(232,163,23,.1); border-color: rgba(232,163,23,.4); }
.rich-note--warn > i { color: #c88a0c; }
.rich a { color: #d22a17; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
body.aos-theme:not(.aos-grey) .rich a { color: #ff5c43; }

/* ---------- Daily habit tracker ---------- */
.habit { display: grid; gap: 14px; }
.habit-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.habit-head b { display: block; font-family: 'Archivo', sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: .4px; }
.habit-head small { color: var(--muted, #6a6d70); font-size: .8rem; }
.habit-score { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 2rem; line-height: 1; color: var(--muted, #6a6d70); }
.habit-score span { color: #e5321f; }
.habit-bar { height: 8px; border-radius: 8px; background: rgba(127,127,127,.15); overflow: hidden; }
.habit-bar span { display: block; height: 100%; background: #e5321f; border-radius: 8px; transition: width .4s ease; }
.habit-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.habit-item { display: flex; align-items: center; gap: 14px; padding: 13px 16px; border-radius: 14px; border: 1px solid rgba(127,127,127,.22); cursor: pointer; transition: background .25s, border-color .25s; user-select: none; }
.habit-item:hover { border-color: #e5321f; }
.habit-item input { position: absolute; opacity: 0; pointer-events: none; }
.habit-box { flex: none; width: 26px; height: 26px; border-radius: 8px; border: 2px solid rgba(127,127,127,.45); display: grid; place-items: center; color: transparent; transition: .25s; }
.habit-item.is-done { background: rgba(229,50,31,.06); border-color: rgba(229,50,31,.4); }
.habit-item.is-done .habit-box { background: #e5321f; border-color: #e5321f; color: #fff; }
.habit-item.is-done .habit-text { text-decoration: line-through; text-decoration-color: rgba(229,50,31,.5); opacity: .75; }
.habit-item input:focus-visible + .habit-box { box-shadow: 0 0 0 3px rgba(229,50,31,.35); }
.habit-week { display: flex; gap: 8px; }
.habit-day { flex: 1; display: grid; gap: 5px; justify-items: center; }
.habit-day i { width: 100%; height: 10px; border-radius: 5px; background: rgba(127,127,127,.15); }
.habit-day[data-l="1"] i { background: #f9cdc6; } .habit-day[data-l="2"] i { background: #f3907f; }
.habit-day[data-l="3"] i { background: #e5321f; } .habit-day[data-l="4"] i { background: #a3200f; }
.habit-day small { font-size: .68rem; color: var(--muted, #6a6d70); font-weight: 600; }
.habit-day.is-today small { color: #e5321f; }
.workout-plan-banner { display: flex; gap: 14px; align-items: center; padding: 16px 18px; border-radius: 16px; background: #222021; color: #fff; margin-bottom: 4px; }
.workout-plan-banner > i { font-size: 1.6rem; color: #ff5c43; }
.workout-plan-banner strong { display: block; font-family: 'Archivo', sans-serif; text-transform: uppercase; letter-spacing: .4px; }
.workout-plan-banner span { color: #cfd0cd; font-size: .88rem; }
.workout-plan-banner { flex-wrap: wrap; }
.workout-plan-banner form { margin: 0; }
.workout-plan-banner .btn-accent { border-radius: 50px !important; background: #e5321f !important; color: #fff !important; font-weight: 700; padding: 10px 20px; }
.workout-done-pill { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 50px; background: #16a36a; color: #fff; font-weight: 700; font-size: .85rem; }
