/* ============================================================
 * nutrition.css — Macro calculator, grocery list
 * ============================================================ */

.screen-title{font-size:28px;font-weight:700;letter-spacing:-.03em;color:#1a1917;margin-bottom:4px;}
.screen-sub{font-size:14px;color:#9e9b91;margin-bottom:20px;line-height:1.5;}
.goal-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:18px;}
.goal-card{background:#fff;border:2px solid #e4e2db;border-radius:12px;padding:14px 10px;text-align:center;cursor:pointer;transition:all .2s;}
.goal-card:active{transform:scale(.97);}
.goal-card.sel{border-color:#1a1917;background:#f8f7f3;}
.gc-icon{font-size:20px;margin-bottom:5px;}
.gc-name{font-size:12px;font-weight:700;color:#1a1917;margin-bottom:2px;}
.gc-desc{font-size:10px;color:#9e9b91;line-height:1.3;}
.form-section{background:#fff;border-radius:14px;padding:16px;margin-bottom:14px;}
.form-lbl{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9e9b91;}
.form-inp{background:#f0efe9;border:1.5px solid #e4e2db;border-radius:8px;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;color:#1a1917;padding:10px 12px;outline:none;width:100%;}
.form-inp:focus{border-color:#1a1917;background:#fff;}
.form-select{background:#f0efe9;border:1.5px solid #e4e2db;border-radius:8px;font-family:'Inter',sans-serif;font-size:13px;font-weight:500;color:#1a1917;padding:10px 12px;outline:none;width:100%;}
.calc-btn{width:100%;background:#1a1917;color:#fff;border:none;border-radius:10px;padding:14px;font-family:'Inter',sans-serif;font-size:15px;font-weight:600;cursor:pointer;margin-top:4px;}
.macro-result-card{background:#fff;border-radius:14px;overflow:hidden;margin-bottom:14px;display:none;}
.macro-result-card.visible{display:block;}
.mrc-head{background:#1a1917;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;}
.mrc-goal{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:4px;}
.mrc-kcal{font-size:38px;font-weight:700;color:#fff;line-height:1;}
.mrc-sub{font-size:12px;color:rgba(255,255,255,.4);}
.mrc-body{padding:16px 18px;}
.mbar{margin-bottom:12px;}
.mbar-top{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px;}
.mbar-name{color:#6b6860;}
.mbar-val{font-weight:700;color:#1a1917;}
.mbar-track{height:6px;background:#f0efe9;border-radius:3px;overflow:hidden;}
.mbar-fill{height:6px;border-radius:3px;}
.mboxes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;}
.mbox{background:#f0efe9;border-radius:8px;padding:10px 6px;text-align:center;}
.mbox-val{font-size:18px;font-weight:700;color:#1a1917;line-height:1;}
.mbox-lbl{font-size:9px;color:#9e9b91;margin-top:2px;text-transform:uppercase;letter-spacing:.06em;}
.grocery-lock-card{background:#fff;border-radius:14px;padding:30px 20px;text-align:center;margin-bottom:14px;}
.glc-icon{opacity:.25;margin-bottom:10px;}
.glc-title{font-size:17px;font-weight:700;color:#1a1917;margin-bottom:6px;}
.glc-sub{font-size:13px;color:#9e9b91;line-height:1.5;margin-bottom:16px;max-width:280px;margin-left:auto;margin-right:auto;}
.glc-row{display:flex;gap:8px;justify-content:center;}
.glc-input{font-family:'Inter',sans-serif;font-size:13px;padding:10px 14px;background:#f0efe9;border:1.5px solid #e4e2db;border-radius:8px;color:#1a1917;outline:none;width:200px;}
.grocery-content{display:none;}
.grocery-content.visible{display:block;}
.grocery-cat{background:#fff;border-radius:12px;padding:14px;margin-bottom:10px;}
.grocery-cat-h{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9e9b91;margin-bottom:10px;}
.grocery-foot{background:#fff;border-radius:12px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.grocery-cost{font-size:28px;font-weight:700;color:#1a1917;}
.nut-block{background:#f8f7f3;border-radius:10px;padding:14px;margin-top:14px;}
.nut-block-h{font-size:13px;font-weight:700;color:#1a1917;margin-bottom:8px;}
.nut-4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.nut-box{text-align:center;}
.nut-box-v{font-size:16px;font-weight:700;color:#1a1917;}
.nut-box-l{font-size:9px;color:#9e9b91;}