/* Escopo exclusivo das calculadoras: preserva os estilos do manual. */
.food-tools { max-width:820px; margin:55px auto 80px; font-family:"Open Sans",Arial,sans-serif; color:#071b34; }
.food-tools *, .food-tools *::before, .food-tools *::after { box-sizing:border-box; }
.food-tools section + section { margin-top:55px; }
.food-tools h2 { font-family:"Raleway",Arial,sans-serif; font-size:25px; line-height:1.35; font-weight:800; margin:0 0 18px; letter-spacing:0; }
.food-tools h3, .food-tools legend { font-family:"Open Sans",Arial,sans-serif; font-size:18px; line-height:1.5; font-weight:700; margin:0 0 14px; color:#071b34; }
.food-tools p { font-size:17px; line-height:1.65; margin:0 0 22px; }
.food-tools .food-card { border:1px solid #dedbd4; border-top:3px solid #901734; border-radius:14px; padding:24px; margin:20px 0; background:#fff; }
.food-tools fieldset { border:0; padding:0; margin:20px 0; min-width:0; }
.food-tools label { display:block; font-size:14px; line-height:1.5; font-weight:400; color:#334455; margin:0; }
.food-tools .food-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px 16px; margin:18px 0; }
.food-tools select,.food-tools input:not([type=range]):not([type=radio]),.food-tools textarea { display:block; width:100%; max-width:100%; min-height:44px; border:1px solid #ccd1d5; border-radius:8px; padding:9px 12px; font:inherit; font-size:15px; color:#071b34; background:#fff; margin-top:5px; }
.food-tools input[type=range] { display:block; width:100%; height:30px; min-height:30px; padding:0; margin:8px 0; cursor:pointer; accent-color:#901734; background:transparent; }
.food-tools input[type=radio] { width:19px; height:19px; min-height:19px; margin:0; flex:0 0 auto; accent-color:#901734; }
.food-tools .food-radio,.food-tools .food-radio-inline label { display:flex; align-items:center; gap:10px; min-height:40px; font-size:15px; color:#071b34; cursor:pointer; }
.food-tools .food-radio-inline { display:flex; gap:18px; flex-wrap:wrap; }
.food-tools .food-range-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:15px; color:#071b34; }
.food-tools .food-range-heading span { font-size:13px; color:#626b73; }
.food-tools output { font-weight:600; white-space:nowrap; }
.food-tools .food-range-row { display:grid; grid-template-columns:minmax(0,1fr) 64px; gap:16px; align-items:center; }
.food-tools .food-range-row output { text-align:right; font-size:14px; }
.food-tools .food-item { margin-bottom:15px; }
.food-tools .food-step { border-top:1px solid #e5e9ed; padding-top:24px; margin-top:24px; }
.food-tools .food-note { font-size:13px; line-height:1.5; color:#626b73; margin:14px 0 0; }
.food-tools .food-results { background:#f8f7f4; border-radius:9px; padding:18px; margin:20px 0; }
.food-tools .food-results span,.food-tools .food-results small { display:block; font-size:12px; color:#52616c; line-height:1.5; }
.food-tools .food-results strong { display:block; font-size:25px; color:#071b34; line-height:1.4; margin:4px 0; }
.food-tools .food-primary { border-bottom:1px solid #dedbd4; padding-bottom:15px; }
.food-tools .food-primary strong { font-size:32px; color:#901734; }
.food-tools .food-primary span { text-transform:uppercase; letter-spacing:.5px; }
.food-tools .food-totals { margin:20px 0 0; }
.food-tools .food-totals div { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid #dedbd4; padding:10px 0; }
.food-tools .food-totals dt { font-size:14px; font-weight:400; }
.food-tools .food-totals dd { font-size:14px; margin:0; text-align:right; white-space:nowrap; font-weight:600; }
.food-tools #menu-alert { padding:12px; margin:20px 0; font-size:14px; background:#fff5e5; border-left:3px solid #b27314; }
.food-tools #menu-alert[data-status=ok] { background:#edf4ef; border-color:#347448; }
.food-tools button { border:1px solid #901734; border-radius:8px; background:#901734; color:#fff; font:600 14px "Open Sans",Arial,sans-serif; padding:12px 18px; min-height:44px; cursor:pointer; text-transform:none; line-height:1.4; }
.food-tools button:hover { background:#711129; }
.food-tools button:disabled { opacity:.4; cursor:default; }
.food-tools :is(button,input,select,textarea,summary):focus-visible { outline:3px solid #c89a2c; outline-offset:3px; }
.food-tools #copy-menu { width:100%; }
.food-tools #copy-status { font-size:14px; margin:10px 0; }
.food-tools .food-counter { display:flex; gap:8px; align-items:center; }
.food-tools .food-counter button { width:44px; padding:0; font-size:22px; }
.food-tools .food-counter input { width:65px!important; margin:0!important; text-align:center; }
.food-tools .food-packs { margin:25px 0; }
.food-tools .food-packs > label { margin-bottom:10px; }
.food-tools .food-custom { border:1px solid #e5e9ed; padding:14px; border-radius:8px; margin:18px 0; }
.food-tools summary { font-size:15px; cursor:pointer; font-weight:600; }
.food-tools .food-secondary { background:#fff; color:#901734; margin-top:15px; }
.food-tools .food-secondary:hover { background:#faf3f5; }
.food-tools .food-custom-row { display:flex; gap:12px; align-items:end; border-bottom:1px solid #e5e9ed; padding:12px 0; }
.food-tools .food-custom-row label { flex:1; overflow-wrap:anywhere; }
.food-tools [hidden] { display:none!important; }
@media(max-width:600px) {
 .food-tools .food-card { padding:16px; }
 .food-tools h2 { font-size:22px; }
 .food-tools .food-grid { gap:16px 10px; }
 .food-tools .food-packs .food-range-heading { align-items:start; flex-direction:column; }
 .food-tools .food-results { padding:12px; }
 .food-tools .food-results strong { font-size:22px; }
 .food-tools .food-totals div { gap:10px; }
}
@media(max-width:380px) { .food-tools .food-grid { grid-template-columns:1fr; } }
