/* Calorie Calculator Pro styles */
.calpro-wrap{ border:1px solid #e5e7eb; border-radius:16px; padding:16px; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.04); max-width:960px; margin:0 auto; }
.calpro-header h2{ margin:0 0 12px; font-size:1.3rem; }
.calpro-sect{ margin-top:14px; }
.calpro-sect h3{ margin:0 0 8px; font-size:1.05rem; }
.calpro-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:10px; }
.calpro-inline{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.calpro-wrap label{ display:flex; flex-direction:column; gap:6px; }
.calpro-wrap input, .calpro-wrap select{ padding:10px; border:1px solid #e5e7eb; border-radius:10px; background:#fafafa; }
.calpro-results{ display:flex; flex-direction:column; gap:10px; }
.calpro-cards{ display:grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); gap:10px; }
.card{ border:1px solid #e5e7eb; border-radius:14px; padding:10px; background:#fdfdfd; text-align:center; }
.card .h{ font-size:.9rem; color:#6b7280; }
.card .v{ font-size:1.4rem; font-variant-numeric:tabular-nums; }
.card .s{ font-size:.75rem; color:#6b7280; }
.calpro-macros{ display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:8px; border-top:1px dashed #e5e7eb; padding-top:10px; }
.muted{ color:#6b7280; font-size:.85rem; }

.calpro-chart-wrap{ border:1px solid #e5e7eb; border-radius:14px; padding:8px; background:#fff; }
.calpro-chart{ width:100%; height:280px; display:block; }

.metric[hidden], .imperial[hidden]{ display:none !important; }

@media (max-width:560px){
  .calpro-wrap{ padding:12px; }
}