/* Saddlebag Supplies calorie calculator: additions only. Reuses site.css variables (--leather, --rust, --sand,
   --card, --line, --char, --tan, --muted, --slab, --body) and classes (.planner, .opts, .pl-members, .pl-table,
   .note, .note.med, .btn, .btn.sm, .btn.ghost.dark, .kicker, .sr-only). Every selector is prefixed .cc-. */
.cc{padding:44px 0}
.cc-lede{max-width:68ch;font-size:1.05rem}
.cc-disclaimer{max-width:72ch;margin-bottom:18px}
.cc-planner{padding:18px 20px 14px}
.cc-step{display:flex;align-items:center;gap:10px;font-size:1.15rem;margin:18px 0 10px}
.cc-step:first-of-type{margin-top:4px}
.cc-stepn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;border-radius:50%;
  background:var(--leather);color:var(--sand);font-family:var(--slab);font-size:.95rem}
.cc-opt{font-family:var(--body);font-weight:400;font-size:.88rem;color:var(--muted)}
.cc-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 4px}

/* member cards */
.cc-member fieldset{border:0;margin:0;padding:0;min-width:0}
.cc-member legend{font-family:var(--slab);font-weight:700;color:var(--rust);padding:0;margin-bottom:6px}
.cc-mgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px}
.cc-mgrid label:nth-child(3){grid-column:1/-1}
.cc-planner .cc-mgrid label{display:flex;flex-direction:column;align-items:stretch;gap:3px;font-size:.92rem}
.cc-planner .cc-mgrid label[hidden]{display:none}
.cc-preg-wrap{grid-column:1/-1}
.cc-num,.cc-planner .cc-mgrid select{font:inherit;font-family:var(--body);font-weight:400;font-size:1rem;padding:6px 8px;min-height:40px;
  border:1.5px solid var(--leather);background:var(--card);color:var(--char);border-radius:3px;width:100%;max-width:100%}
.cc-num:disabled{opacity:.55}
.cc-help{font-family:var(--body);font-weight:400;font-size:.8rem;color:var(--muted);line-height:1.3}
.cc-mfoot{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:space-between;margin-top:8px;
  border-top:1px dashed var(--line);padding-top:6px}
.cc-each{margin:0;font-size:.92rem;flex:1 1 200px}

/* day presets */
.cc-days{border:0;margin:0;padding:0;min-width:0}
.cc-presets label{align-items:flex-start}
.cc-presets label span{display:flex;flex-direction:column;line-height:1.25}
.cc-presets label strong{font-family:var(--slab);color:var(--leather)}
.cc-presets label small{font-size:.8rem;color:var(--muted)}
.cc-planner .cc-custom{margin-top:10px;font-size:.95rem}
.cc-custom .cc-num{width:7.5em}

/* cans */
.cc-cans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:8px}
.cc-can{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--card);border:1px solid var(--line);padding:8px 10px}
.cc-planner .cc-can label{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:.95rem}
.cc-can small{font-family:var(--body);font-weight:400;font-size:.8rem;color:var(--muted)}
.cc-can .cc-num{width:5.5em;flex:none}

/* results */
.cc-results{margin-top:22px;background:var(--card);border:2px solid var(--leather);padding:16px 18px}
.cc-results h3{margin:4px 0 10px}
.cc-big{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:10px;margin-bottom:14px}
.cc-stat{background:var(--char);color:var(--sand);padding:10px 14px;border-top:5px solid var(--rust);display:flex;flex-direction:column}
.cc-stat-l{font-family:var(--slab);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;color:var(--tan)}
.cc-stat-v{font-family:var(--slab);font-weight:700;font-size:1.7rem;line-height:1.1;font-variant-numeric:tabular-nums}
.cc-stat-s{font-size:.82rem;color:var(--tan)}
.cc-table{margin-bottom:12px}
.cc-scroll{overflow-x:auto;margin-bottom:8px}
.cc-cantable th[scope=col]{font-size:.85rem;white-space:normal;vertical-align:bottom}
.cc-cantable td{vertical-align:top}
.cc-cantable tbody th{min-width:9em}
.cc-cansline{font-weight:600}
.cc-small{font-size:.9rem}
.cc-water{border-left-color:var(--leather)}
.cc-empty{margin:0}
.cc-actions{margin-top:14px}
.cc-copy-msg{font-size:.9rem;color:var(--muted)}
.cc-privacy{font-size:.85rem;color:var(--muted);margin:6px 0 0}
.cc-sources{margin-top:16px;max-width:80ch;font-size:.93rem}
.cc-sources summary{cursor:pointer;font-family:var(--slab);font-weight:700;color:var(--leather)}
.cc-sources li{margin:.35em 0}
.cc-offscreen{position:fixed;left:-9999px;top:0}

@media (max-width:520px){
  .cc-planner{padding:14px 12px}
  .cc-results{padding:12px}
  .cc-stat-v{font-size:1.45rem}
}

@media print{
  .cc-planner > .cc-step,.cc-members,.cc-row,.cc-days,.cc-ration,.cc-cans,.cc-actions,.cc-privacy,.cc-sources summary{display:none}
  .cc-sources{display:block}
  .cc-sources[open] ul,.cc-sources ul{display:block}
  .cc-planner{background:#fff;border:0;padding:0}
  .cc-results{border:1px solid #000}
  .cc-stat{background:#fff;color:#000;border:1px solid #000}
  .cc-stat-l,.cc-stat-s{color:#000}
}
