/* Occasion Planner and Nourish & Heal browsing. Cards reuse .cat-card from style.css (the Recipe Book look). */
.tcc-jump { display: flex; gap: 8px; overflow-x: auto; padding: 4px 0 14px; margin: 0 0 8px; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.tcc-jump-link { flex: 0 0 auto; min-height: 44px; display: inline-flex; align-items: center; padding: 0 14px; border-radius: 999px; border: 1px solid var(--border); background: var(--text-ghost); font-family: 'DM Sans', sans-serif; font-size: 12px; color: var(--text-mid); text-decoration: none; white-space: nowrap; }
.tcc-jump-link:hover { border-color: var(--accent); color: var(--text-high); }
.tcc-group { margin: 0 0 34px; scroll-margin-top: 80px; }
.tcc-group-head { margin: 0 0 14px; }
.tcc-group-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.4rem, 3vw, 1.8rem); font-weight: 600; color: var(--text-high); margin: 0 0 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tcc-group-blurb { font-family: 'DM Sans', sans-serif; font-size: 13px; color: var(--text-mid); margin: 0; line-height: 1.5; max-width: 70ch; }
.cat-grid.tcc-grid { padding: 0; }
a.cat-card.tcc-tile { display: block; text-decoration: none; color: inherit; }
.tcc-when { font-family: 'DM Sans', sans-serif; font-size: 11px; letter-spacing: 0.04em; color: var(--accent-text, var(--accent)); margin: 0 0 6px; }
.tcc-back { display: inline-flex; align-items: center; min-height: 44px; font-family: 'DM Sans', sans-serif; font-size: 13px; color: var(--text-mid); text-decoration: none; }
.tcc-back:hover { color: var(--accent-text, var(--accent)); }
.tcc-hero { display: flex; gap: 18px; align-items: flex-start; margin: 6px 0 18px; }
.tcc-hero-emoji { font-size: 48px; line-height: 1; flex: 0 0 auto; }
.tcc-kicker { font-family: 'DM Sans', sans-serif; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-text, var(--accent)); margin: 4px 0 6px; }
.tcc-hero-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.7rem, 4vw, 2.3rem); font-weight: 700; color: var(--text-high); margin: 0 0 8px; line-height: 1.1; }
.tcc-hero-blurb { font-family: 'DM Sans', sans-serif; font-size: 14px; color: var(--text-mid); line-height: 1.65; margin: 0; max-width: 70ch; }
.tcc-guidance { border: 1px solid var(--accent-border, var(--border)); background: rgb(from var(--accent) r g b / 0.06); border-radius: 12px; padding: 14px 18px; margin: 0 0 16px; max-width: 1100px; }
.tcc-guidance-title { font-family: 'Cormorant Garamond', serif; font-size: 1.2rem; font-weight: 700; color: var(--text-high); margin: 0 0 6px; }
.tcc-guidance ul { margin: 0; padding-left: 18px; }
.tcc-guidance li { font-family: 'DM Sans', sans-serif; font-size: 13px; color: var(--text-high); line-height: 1.6; margin: 0 0 6px; }
.tcc-note { font-family: 'DM Sans', sans-serif; font-size: 12px; color: var(--text-mid); line-height: 1.55; margin: 0 0 18px; max-width: 820px; }
.tcc-dishes-title { font-family: 'DM Sans', sans-serif; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-mid); margin: 8px 0 12px; font-weight: 600; }
.tcc-dishes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 16px; }
.tcc-dish { display: block; text-decoration: none; background: var(--text-ghost); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; transition: border-color .15s, transform .15s; min-width: 0; }
.tcc-dish:hover { border-color: var(--accent); transform: translateY(-2px); }
.tcc-dish-img { height: 130px; display: flex; align-items: center; justify-content: center; background: var(--text-ghost); border-bottom: 1px solid var(--border); overflow: hidden; }
.tcc-dish-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tcc-icon { font-size: 36px; line-height: 1; }
.tcc-dish-body { padding: 10px 12px 12px; }
.tcc-dish-name { font-family: 'Cormorant Garamond', serif; font-size: 1rem; font-weight: 700; color: var(--text-high); line-height: 1.25; }
.tcc-dish-meta { font-family: 'DM Sans', sans-serif; font-size: 11px; color: var(--text-mid); margin-top: 3px; }
.tcc-empty { font-family: 'DM Sans', sans-serif; font-size: 13px; color: var(--text-mid); line-height: 1.55; grid-column: 1 / -1; padding: 6px 0; }
.tcc-more-wrap { text-align: center; margin: 20px 0 10px; }
.tcc-more { min-height: 44px; padding: 10px 22px; border: 1px solid var(--border); border-radius: 22px; background: none; font-family: 'DM Sans', sans-serif; font-size: 12px; color: var(--text-mid); cursor: pointer; }
.tcc-more:hover { border-color: var(--accent); color: var(--text-high); }
@media (max-width: 600px) {
  .tcc-hero { gap: 12px; }
  .tcc-hero-emoji { font-size: 38px; }
}

/* Health wording (14 Nov 2026). */
.tcc-warn { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 20px; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--border); border-left: 4px solid var(--accent); background: var(--text-ghost); max-width: 1100px; }
.tcc-warn p { margin: 0; font-family: 'DM Sans', sans-serif; font-size: 13px; line-height: 1.6; color: var(--text-high); }
.tcc-warn-ico { font-size: 18px; line-height: 1.3; color: var(--accent); }
.tcc-group-warn { margin: 8px 0 0; font-family: 'DM Sans', sans-serif; font-size: 12px; line-height: 1.55; color: var(--text-mid); max-width: 110ch; padding-left: 10px; border-left: 2px solid var(--border); }
.tcc-group-title { white-space: normal; }
