/* "Was koche ich heute?" (26.09.2026, static/js/today.js). Nur Theme-Variablen,
   damit alle drei Designs (salat-fresh, sporty-steel, color-kids) passen. */
.today-card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-card);
  box-shadow:var(--shadow); padding:1rem; margin:0 0 1.6rem;
}
.today-head{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.3rem .8rem;}
.today-title{font-size:1.1rem; font-weight:800; color:var(--ink); margin:0;}
.today-sub{font-size:.8125rem; color:var(--ink-muted);}
.today-filters{display:flex; flex-direction:column; gap:.5rem; margin:.8rem 0 1rem;}
.today-filter-row{display:flex; flex-wrap:wrap; align-items:center; gap:.4rem;}
.today-filter-label{font-size:.75rem; font-weight:700; color:var(--ink); text-transform:uppercase; letter-spacing:.04em; min-width:4.6rem;}
.today-filters .chip{padding:.4rem .8rem; min-height:36px;}
/* Kontrast in allen Designs (der Standard-Chip liegt in color-kids unter 4.5:1) */
.today-filters .chip, .today-filters .chip.active{color:var(--ink);}
.today-filters .chip.active{box-shadow:inset 0 0 0 1px var(--accent-strong);}
.today-list{display:grid; grid-template-columns:1fr; gap:.8rem;}
@media (min-width:760px){ .today-list{grid-template-columns:repeat(3, minmax(0, 1fr));} }
.today-item{
  display:flex; flex-direction:column; border:1px solid var(--border); border-radius:calc(var(--radius-card) - 4px);
  background:var(--bg); overflow:hidden; min-width:0;
}
.today-item-img{width:100%; aspect-ratio:16/9; object-fit:cover; background:var(--surface-hover); display:block;}
.today-item-img.placeholder{display:flex; align-items:center; justify-content:center; color:var(--ink-muted); font-size:1.6rem;}
.today-item-body{padding:.7rem .8rem .8rem; display:flex; flex-direction:column; gap:.45rem; flex:1;}
.today-item-name{font-weight:700; color:var(--ink); line-height:1.3; overflow-wrap:anywhere;}
.today-item-meta{font-size:.8125rem; color:var(--ink); opacity:.8;}
.today-reasons{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.25rem;}
.today-reasons li{font-size:.8125rem; color:var(--ink); padding-left:1.1rem; position:relative; line-height:1.35;}
.today-reasons li::before{content:"✓"; position:absolute; left:0; color:var(--ok); font-weight:700;}
.today-reasons li.warn{color:var(--warn);}
.today-reasons li.warn::before{content:"!"; color:var(--warn);}
.today-actions{display:flex; flex-wrap:wrap; gap:.4rem; margin-top:auto; padding-top:.3rem;}
.today-actions .btn{flex:1 1 auto; min-height:40px; justify-content:center;}
.today-ai{border-top:1px dashed var(--border); margin-top:1rem; padding-top:.9rem; display:flex; flex-wrap:wrap; align-items:center; gap:.5rem;}
.today-ai-hint{font-size:.78rem; color:var(--ink-muted); flex:1 1 100%;}
.today-ai-list{margin-top:.8rem;}
.today-badge{display:inline-block; font-size:.7rem; font-weight:700; padding:.1rem .45rem; border-radius:var(--radius-pill);
  background:var(--accent-soft); color:var(--accent-strong); margin-right:.3rem; vertical-align:middle;}
.today-ingredients{font-size:.78rem; color:var(--ink-muted);}
.today-ingredients summary{cursor:pointer;}
.today-empty{font-size:.875rem; color:var(--ink-muted); padding:.6rem 0;}
.today-item a{color:var(--accent-strong); overflow-wrap:anywhere;}
.today-more{display:flex; justify-content:center; margin-top:.8rem;}
.today-more .btn{min-height:40px; min-width:10rem;}
