/* ── Make It Plant Based — Calorie & Macro Calculator ── */
/* Uses the same CSS variables defined in form.css (:root) */

#mipb-calc{
    max-width:860px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    color:var(--ink,#1c2b1a);
}
#mipb-calc *{box-sizing:border-box;}

/* ── Pre-fill notice ── */
.mipbc-prefill-notice{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    background:var(--g-pale,#e8f5e3);border:1.5px solid var(--g-mid,#4a8c3f);
    border-radius:10px;padding:12px 16px;margin-bottom:1.25rem;
    font-size:13px;color:var(--g-dark,#2d5a27);font-weight:500;
}
.mipbc-notice-text{flex:1;line-height:1.4;}
.mipbc-notice-close{
    background:none;border:none;cursor:pointer;font-size:18px;line-height:1;
    color:var(--g-mid,#4a8c3f);padding:0 4px;flex-shrink:0;
    transition:color .15s;
}
.mipbc-notice-close:hover{color:var(--g-dark,#2d5a27);}

/* ── Conversion hint (shows equivalent unit below inputs) ── */
.mipbc-conversion-hint{
    display:block;font-size:11px;color:var(--ink-light,#6b8264);
    margin-top:4px;min-height:16px;font-weight:500;
}

/* ── Section cards ── */
.mipbc-section{
    background:#fff;border:1.5px solid var(--border,#cde0c5);
    border-radius:14px;padding:2rem;margin-bottom:1.5rem;
    box-shadow:0 2px 16px rgba(45,90,39,.07);
}

/* ── Section header ── */
.mipbc-section-head{
    display:flex;align-items:flex-start;gap:1rem;
    margin-bottom:1.75rem;flex-wrap:wrap;
}
.mipbc-step-num{
    width:36px;height:36px;border-radius:50%;
    background:var(--g-dark,#2d5a27);color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:15px;font-weight:700;flex-shrink:0;margin-top:2px;
}
.mipbc-section-head > div{ flex:1; }
.mipbc-section-title{
    font-family:inherit;font-size:1.35rem;
    color:var(--g-dark,#2d5a27);line-height:1.2;
}
.mipbc-section-sub{
    font-size:13px;color:var(--ink-light,#6b8264);margin-top:3px;
}

/* ── Unit toggle ── */
.mipbc-unit-toggle{
    display:flex;border:1.5px solid var(--border,#cde0c5);
    border-radius:8px;overflow:hidden;flex-shrink:0;
    align-self:flex-start;
}
.mipbc-unit-btn{
    padding:6px 16px;font-size:13px;font-weight:600;cursor:pointer;
    background:transparent;border:none;color:var(--ink-light,#6b8264);
    transition:all .18s;
}
.mipbc-unit-btn.active{
    background:var(--g-dark,#2d5a27);color:#fff;
}

/* ── DOB + Sex row (desktop: side by side) ── */
.mipbc-dob-sex-row{
    display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;
}
@media(min-width:601px){
    .mipbc-dob-sex-row{ margin-bottom:2.25rem; }
}
.mipbc-dob-field{flex:0 0 auto;width:130px;}
.mipbc-birth-year-input{width:100%;}
.mipbc-dob-input{max-width:220px;}
.mipbc-sex-row{display:flex;gap:12px;flex:1;}
.mipbc-sex-btn{
    flex:1;padding:14px;border:1.5px solid var(--border,#cde0c5);
    border-radius:10px;background:var(--g-xpale,#f4faf2);
    font-size:15px;font-weight:600;color:var(--ink-light,#6b8264);
    cursor:pointer;transition:all .18s;display:flex;
    align-items:center;justify-content:center;gap:8px;
}
.mipbc-sex-btn.active{
    background:var(--g-dark,#2d5a27);color:#fff;
    border-color:var(--g-dark,#2d5a27);
}
.mipbc-sex-icon{font-size:18px;}
@media(min-width:601px){
    .mipbc-dob-sex-row{flex-direction:row;align-items:flex-end;gap:1rem;}
    .mipbc-sex-row{align-self:flex-end;}
}

/* ── Height, Weight & Unit toggle row ── */
.mipbc-hw-group{margin-bottom:1.5rem;}
@media(min-width:601px){
    .mipbc-hw-group{ margin-bottom:2.25rem; }
}
.mipbc-hw-row{
    display:grid;grid-template-columns:1fr 1fr;gap:1rem;
}
.mipbc-unit-toggle-field{display:flex;align-items:center;align-self:center;}
@media(min-width:601px){
    .mipbc-hw-row{grid-template-columns:1fr 1fr auto;}
}
@media(max-width:420px){
    .mipbc-hw-row{grid-template-columns:1fr;}
}

/* ── Fields row ── */
.mipbc-fields-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:0;}
@media(max-width:600px){.mipbc-fields-row{grid-template-columns:1fr 1fr;}}
@media(max-width:420px){.mipbc-fields-row{grid-template-columns:1fr;}}
.mipbc-field-full{margin-bottom:0;}
@media(min-width:601px){
    .mipbc-field-full{ margin-bottom:1rem; }
}

.mipbc-label{
    display:block;font-size:11px;font-weight:700;letter-spacing:.07em;
    text-transform:uppercase;color:var(--ink-light,#6b8264);margin-bottom:6px;
}
.mipbc-req{color:var(--terra,#c4622d);}
.mipbc-input-wrap{display:flex;align-items:center;gap:6px;}
.mipbc-input{
    flex:1;border:1.5px solid var(--border,#cde0c5);border-radius:8px;
    padding:10px 12px;font-size:15px;color:var(--ink,#1c2b1a);
    background:var(--g-xpale,#f4faf2);outline:none;transition:border-color .2s;
    min-width:80px;
}
.mipbc-input:focus{border-color:var(--g-mid,#4a8c3f);background:#fff;}
.mipbc-input.err{border-color:var(--terra,#c4622d)!important;background:var(--terra-pale,#faeee8)!important;}
.mipbc-unit-lbl{font-size:13px;color:var(--ink-light,#6b8264);white-space:nowrap;font-weight:500;}
.mipbc-ft-in{gap:4px;}

/* ── Activity grid ── */
.mipbc-activity-grid{
    display:grid;grid-template-columns:repeat(5,1fr);gap:10px;
}
@media(max-width:700px){.mipbc-activity-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:420px){.mipbc-activity-grid{grid-template-columns:repeat(2,1fr);}}

.mipbc-activity-btn{
    padding:14px 10px;border:1.5px solid var(--border,#cde0c5);
    border-radius:10px;background:var(--g-xpale,#f4faf2);cursor:pointer;
    transition:all .18s;display:flex;flex-direction:column;
    align-items:center;gap:6px;text-align:center;
}
.mipbc-activity-btn.active{
    background:var(--g-dark,#2d5a27);border-color:var(--g-dark,#2d5a27);
}
.mipbc-activity-btn.active .mipbc-act-label{color:#fff;}
.mipbc-activity-btn.active .mipbc-act-desc{color:rgba(255,255,255,.7);}
.mipbc-act-icon{font-size:22px;line-height:1;}
.mipbc-act-label{font-size:12px;font-weight:700;color:var(--g-dark,#2d5a27);line-height:1.2;}
.mipbc-act-desc{font-size:10px;color:var(--ink-light,#6b8264);line-height:1.3;}

/* ── Goal grid ── */
.mipbc-goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media(max-width:500px){.mipbc-goal-grid{grid-template-columns:1fr;}}

.mipbc-goal-btn{
    padding:20px 14px;border:1.5px solid var(--border,#cde0c5);
    border-radius:12px;background:var(--g-xpale,#f4faf2);cursor:pointer;
    transition:all .18s;display:flex;flex-direction:column;
    align-items:center;gap:8px;text-align:center;
}
.mipbc-goal-btn.active{
    background:var(--g-dark,#2d5a27);border-color:var(--g-dark,#2d5a27);
}
.mipbc-goal-btn.active .mipbc-goal-label{color:#fff;}
.mipbc-goal-btn.active .mipbc-goal-desc{color:rgba(255,255,255,.7);}
.mipbc-goal-icon{font-size:28px;line-height:1;}
.mipbc-goal-label{font-size:14px;font-weight:700;color:var(--g-dark,#2d5a27);}
.mipbc-goal-desc{font-size:12px;color:var(--ink-light,#6b8264);}

/* ── Preset grid ── */
.mipbc-preset-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
@media(max-width:700px){.mipbc-preset-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:420px){.mipbc-preset-grid{grid-template-columns:repeat(2,1fr);}}

.mipbc-preset-card{
    padding:14px 10px;border:1.5px solid var(--border,#cde0c5);
    border-radius:10px;background:var(--g-xpale,#f4faf2);cursor:pointer;
    transition:all .18s;text-align:center;
}
.mipbc-preset-card.active{
    background:var(--g-dark,#2d5a27);border-color:var(--g-dark,#2d5a27);
}
.mipbc-preset-card.active .mipbc-preset-name{color:#fff;}
.mipbc-preset-name{
    font-size:14px;font-weight:700;color:var(--g-dark,#2d5a27);
    margin-bottom:6px;line-height:1.3;min-height:28px;
    display:flex;align-items:center;justify-content:center;
}

.mipbc-preset-pcts{display:flex;justify-content:space-around;font-size:13px;}
.mipbc-preset-pcts span{font-weight:600;color:var(--ink-light,#6b8264);}
.mipbc-preset-card.active .mipbc-preset-pcts span{color:rgba(255,255,255,.85);}

/* C / P / F letter labels inside preset pcts */
.mipbc-pct-lbl{
    font-size:10px;font-weight:800;margin-right:2px;
    letter-spacing:.02em;opacity:.75;
}
.mipbc-lbl-c{color:#4a7c35;}
.mipbc-lbl-p{color:#2a68b0;}
.mipbc-lbl-f{color:#a83429;}
/* Active card: brighten labels */
.mipbc-preset-card.active .mipbc-pct-lbl{opacity:.9;}

/* ── Horizontal macro strip ── */
.mipbc-macro-strip{display:flex;height:7px;border-radius:4px;overflow:hidden;margin:5px 0 3px;}
.mipbc-strip-c{background:#7ed321;}
.mipbc-strip-p{background:#4a90d9;}
.mipbc-strip-f{background:#d95c52;}
.mipbc-preset-card.active .mipbc-strip-c{background:#b5e878;}
.mipbc-preset-card.active .mipbc-strip-p{background:#85b8f0;}
.mipbc-preset-card.active .mipbc-strip-f{background:#f0a8a0;}

/* ── Preset fiber row ── */
.mipbc-preset-fiber-row{
    display:flex;align-items:center;gap:5px;
    margin-top:8px;padding-top:7px;
    border-top:1px dashed var(--border,#cde0c5);
}
.mipbc-preset-fiber-lbl{
    font-size:12px;color:var(--ink-light,#6b8264);
    white-space:nowrap;flex-shrink:0;
}
.mipbc-preset-fiber-track{
    flex:1;height:5px;background:var(--border,#cde0c5);
    border-radius:99px;overflow:hidden;
}
.mipbc-preset-fiber-fill{
    height:100%;border-radius:99px;
    background:linear-gradient(90deg,#52b788,#2d6a4f);
    transition:width .3s;
}
.mipbc-preset-fiber-val{
    font-size:12px;font-weight:700;color:var(--g-dark,#2d5a27);
    white-space:nowrap;flex-shrink:0;
}
.mipbc-preset-fiber-unit{font-weight:400;opacity:.75;}
/* Active card overrides */
.mipbc-preset-card.active .mipbc-preset-fiber-row{
    border-top-color:rgba(255,255,255,.25);
}
.mipbc-preset-card.active .mipbc-preset-fiber-lbl,
.mipbc-preset-card.active .mipbc-preset-fiber-val{color:rgba(255,255,255,.85);}
.mipbc-preset-card.active .mipbc-preset-fiber-track{background:rgba(255,255,255,.2);}
.mipbc-preset-card.active .mipbc-preset-fiber-fill{background:rgba(255,255,255,.75);}

/* ── Calculate button ── */
.mipbc-calculate-row{
    display:flex;align-items:center;gap:16px;
    margin:0 0 1.5rem;flex-wrap:wrap;
}
.mipbc-btn-calculate{
    padding:14px 36px;background:var(--g-dark,#2d5a27);color:#fff;
    border:none;border-radius:10px;font-size:16px;font-weight:700;
    cursor:pointer;transition:background .2s,opacity .2s;touch-action:manipulation;
}
.mipbc-btn-calculate:hover:not(:disabled){background:var(--g-mid,#4a8c3f);}
.mipbc-btn-calculate:disabled{
    opacity:.45;cursor:not-allowed;background:var(--g-dark,#2d5a27);
}
.mipbc-calc-locked-hint{
    font-size:13px;color:var(--ink-light,#6b8264);margin:0;
}
.mipbc-calc-error{
    font-size:13px;color:var(--terra,#c4622d);font-weight:600;display:none;
}
.mipbc-calc-error.visible{display:block;}

/* ── Results panel ── */
.mipbc-results{
    background:#fff;border:2px solid var(--g-mid,#4a8c3f);
    border-radius:14px;padding:2rem;
    box-shadow:0 4px 24px rgba(45,90,39,.12);
}
.mipbc-results-head{margin-bottom:1.5rem;text-align:center;}
.mipbc-results-title{
    font-family:inherit;font-size:1.6rem;
    color:var(--g-dark,#2d5a27);
}
.mipbc-results-sub{font-size:13px;color:var(--ink-light,#6b8264);margin-top:4px;}

/* ── Calorie strip ── */
.mipbc-cal-strip{
    display:flex;align-items:center;justify-content:center;
    gap:16px;margin-bottom:2rem;flex-wrap:wrap;
}
.mipbc-cal-block{
    text-align:center;background:var(--g-xpale,#f4faf2);
    border:1.5px solid var(--border,#cde0c5);border-radius:12px;
    padding:18px 28px;min-width:160px;
}
.mipbc-cal-goal{border-color:var(--g-mid,#4a8c3f);background:var(--g-pale,#e8f5e3);}
.mipbc-cal-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-light,#6b8264);margin-bottom:4px;}
.mipbc-cal-val{font-size:2.2rem;font-weight:800;color:var(--g-dark,#2d5a27);line-height:1;}
.mipbc-cal-val-goal{color:var(--g-mid,#4a8c3f);}
.mipbc-cal-unit{font-size:12px;color:var(--ink-light,#6b8264);margin-top:4px;}
.mipbc-cal-arrow{font-size:24px;color:var(--border,#cde0c5);flex-shrink:0;}

/* ── Macro cards ── */
.mipbc-macro-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
    margin-bottom:1.5rem;
}
@media(max-width:640px){.mipbc-macro-grid{grid-template-columns:repeat(2,1fr);}}

.mipbc-macro-card{
    text-align:center;border-radius:12px;padding:20px 14px;
    border:1.5px solid var(--border,#cde0c5);
}
.mipbc-macro-protein{background:#eaf4fb;border-color:#b3d4f0;}
.mipbc-macro-carbs  {background:#f0f9e8;border-color:#b5e08a;}
.mipbc-macro-fat    {background:#fdf0ef;border-color:#f0b8b3;}
.mipbc-macro-icon{font-size:26px;margin-bottom:8px;}
.mipbc-macro-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-light,#6b8264);margin-bottom:4px;}
.mipbc-macro-val{font-size:2rem;font-weight:800;color:var(--g-dark,#2d5a27);line-height:1;}
.mipbc-macro-unit{font-size:12px;color:var(--ink-light,#6b8264);margin-top:4px;}
.mipbc-macro-pct{font-size:12px;font-weight:600;color:var(--ink-light,#6b8264);margin-top:6px;}

/* ── Macro bar ── */
.mipbc-macro-bar-wrap{margin-bottom:1.5rem;}
.mipbc-macro-bar{
    display:flex;height:12px;border-radius:99px;overflow:hidden;
    margin-bottom:8px;
}
.mipbc-bar-protein{background:#4a90d9;transition:width .4s;}
.mipbc-bar-carbs  {background:#7ed321;transition:width .4s;}
.mipbc-bar-fat    {background:#d95c52;transition:width .4s;}
.mipbc-bar-legend{font-size:12px;color:var(--ink-light,#6b8264);display:flex;gap:4px;align-items:center;}
.mipbc-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;}
.mipbc-dot-p{background:#4a90d9;}
.mipbc-dot-c{background:#7ed321;}
.mipbc-dot-f{background:#d95c52;}

/* ── Fiber target card ── */
.mipbc-fiber-wrap{margin-bottom:1.5rem;}
.mipbc-fiber-card{
    display:flex;align-items:center;gap:20px;flex-wrap:wrap;
    background:linear-gradient(135deg,#e0f5ea,#c9edd9);
    border:1.5px solid #52b788;border-radius:12px;padding:18px 24px;
}
.mipbc-fiber-icon{font-size:28px;flex-shrink:0;}
.mipbc-fiber-body{flex:1;min-width:160px;}
.mipbc-fiber-lbl{
    font-size:11px;font-weight:700;text-transform:uppercase;
    letter-spacing:.07em;color:#1b4332;margin-bottom:4px;
}
.mipbc-fiber-main{display:flex;align-items:baseline;gap:6px;}
.mipbc-fiber-val{font-size:2rem;font-weight:800;color:#1b4332;line-height:1;}
.mipbc-fiber-unit{font-size:12px;color:#2d6a4f;font-weight:500;}
.mipbc-fiber-note{font-size:11.5px;color:#2d6a4f;margin-top:6px;line-height:1.4;opacity:.9;}
.mipbc-fiber-netcarbs{
    text-align:center;background:rgba(255,255,255,.55);
    border:1px solid #95d5b2;border-radius:10px;padding:12px 22px;flex-shrink:0;
}
.mipbc-fiber-netlbl{
    font-size:11px;font-weight:700;text-transform:uppercase;
    letter-spacing:.07em;color:#1b4332;margin-bottom:4px;
}
.mipbc-fiber-netval{display:flex;align-items:baseline;gap:5px;justify-content:center;}
.mipbc-fiber-netval span:first-child{font-size:1.6rem;font-weight:800;color:#1b4332;line-height:1;}
.mipbc-fiber-nethint{font-size:11px;color:#2d6a4f;margin-top:5px;opacity:.8;}
@media(max-width:540px){
    .mipbc-fiber-card{flex-direction:column;text-align:center;}
    .mipbc-fiber-main{justify-content:center;}
    .mipbc-fiber-netcarbs{width:100%;}
}

/* ── Bio save row (Section 1) ── */
.mipbc-save-bio-row{
    display:flex;align-items:center;gap:12px;
    padding:1rem 0 0;margin-top:.5rem;
    flex-wrap:wrap;
}
.mipbc-btn-save-bio{
    padding:10px 24px;background:var(--g-dark,#2d5a27);color:#fff;
    border:none;border-radius:8px;font-size:14px;font-weight:600;
    cursor:pointer;transition:background .2s;touch-action:manipulation;
}
.mipbc-btn-save-bio:hover{background:var(--g-mid,#4a8c3f);}
.mipbc-save-bio-status{font-size:13px;color:var(--g-mid,#4a8c3f);font-weight:600;}

/* ── Save row (results panel, kept for legacy) ── */
.mipbc-save-row{
    display:flex;align-items:center;gap:12px;
    padding-top:1.25rem;border-top:1px solid var(--border,#cde0c5);
    flex-wrap:wrap;
}
.mipbc-btn-save{
    padding:10px 24px;background:var(--g-dark,#2d5a27);color:#fff;
    border:none;border-radius:8px;font-size:14px;font-weight:600;
    cursor:pointer;transition:background .2s;touch-action:manipulation;
}
.mipbc-btn-save:hover{background:var(--g-mid,#4a8c3f);}
.mipbc-save-status{font-size:13px;color:var(--g-mid,#4a8c3f);font-weight:600;}
.mipbc-guest-note{
    padding-top:1rem;border-top:1px solid var(--border,#cde0c5);
    font-size:13px;color:var(--ink-light,#6b8264);
}
.mipbc-guest-note a{color:var(--g-mid,#4a8c3f);font-weight:600;}

/* ── Data source attribution ── */
.mipb-data-source {
    margin-top: 1rem;
    font-size: 12px;
    color: var(--ink-light, #6b8264);
    text-align: right;
}
.mipb-data-source a {
    color: var(--g-mid, #4a8c3f);
    text-decoration: none;
}
.mipb-data-source a:hover { text-decoration: underline; }
