/* Page banner and feast cards for both planners.
   Every colour comes from the member's chosen theme (house rule: no fixed colours). */
.feast-banner {
  background: var(--text-ghost);
  color: var(--text-high);
  border-radius: 18px;
  padding: 22px 22px 18px;
  margin: 0 0 18px;
  border: 1px solid var(--border);
  box-sizing: border-box;
  max-width: 100%;
}
.feast-kicker {
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-text, var(--accent));
  margin: 0 0 6px;
}
.feast-banner .fp-title,
.feast-banner .tp-title,
.feast-banner h1 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  color: var(--text-high);
  margin: 0;
  line-height: 1.05;
}
.feast-banner .fp-sub,
.feast-banner .feast-lead {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-mid);
  margin: 8px 0 0;
  max-width: none;
}
.feast-journey {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 14px 0 0;
}
.feast-journey li {
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-high);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 6px 10px;
}
.feast-journey li.on {
  background: var(--accent);
  color: var(--on-accent);
  border-color: var(--accent);
}
.feast-panel {
  background: var(--text-ghost, rgba(42, 36, 24, 0.04));
  border: 1px solid var(--border, rgba(42, 36, 24, 0.12));
  border-radius: 16px;
  padding: 16px;
  margin-top: 16px;
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}
.feast-h {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--text-high, #2a2418);
  margin: 14px 0 6px;
}
.feast-panel .feast-h:first-child { margin-top: 0; }
.feast-copy, .feast-miss, .feast-time, .feast-line, .feast-aisle-name {
  font-family: 'DM Sans', sans-serif;
  color: var(--text-high, #2a2418);
}
.feast-copy {
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-mid, rgba(42, 36, 24, 0.7));
  margin: 0 0 10px;
  overflow-wrap: anywhere;
}
.feast-miss, .feast-time {
  list-style: none;
  padding: 0;
  margin: 0 0 8px;
}
.feast-miss li, .feast-time li {
  padding: 8px 0;
  border-bottom: 1px solid var(--border, rgba(42, 36, 24, 0.12));
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.feast-time li span, .feast-miss li {
  display: block;
}
.feast-time li span {
  color: var(--text-mid, rgba(42, 36, 24, 0.65));
  font-size: 12px;
  margin-top: 2px;
}
.feast-aisle { margin: 0 0 12px; min-width: 0; }
.feast-aisle-name {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent-text, #8a5a44);
  margin-bottom: 4px;
}
.feast-line {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  align-items: baseline;
  padding: 6px 0;
  border-bottom: 1px solid var(--border, rgba(42, 36, 24, 0.08));
  font-size: 13px;
  min-width: 0;
}
.feast-amt { font-weight: 700; }
.feast-ing { overflow-wrap: anywhere; }
.feast-price, .feast-kind {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--accent-text, #8a5a44);
}
.feast-search {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: end;
  margin-top: 8px;
}
.feast-search .tp-field, .feast-search .fp-field { flex: 1 1 180px; min-width: 0; margin: 0; }
.feast-results { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.feast-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.feast-pills label {
  display: flex;
  gap: 6px;
  align-items: center;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: var(--text-high);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 8px 12px;
  min-height: 44px;
  box-sizing: border-box;
  background: var(--bg, transparent);
}
@media (max-width: 640px) {
  .feast-banner { padding: 16px 14px; border-radius: 14px; }
  .feast-banner h1, .feast-banner .fp-title, .feast-banner .tp-title { font-size: 1.7rem; }
}
@media print {
  .nav, .tab-nav, .footer, .fp-steps, .fp-actions, .tp-tabs, .tp-savebar, .tcj-fb-btn, .tcj-fb-ov, #fp-server-note { display: none !important; }
  .feast-banner { border: none; background: #fff !important; color: #1a1614 !important; }
  .feast-search, .feast-results { display: none !important; }
  body, .feast-panel, .feast-copy, .feast-line { background: #fff !important; color: #1a1614 !important; }
  .feast-panel, .feast-line, .feast-miss li, .feast-time li { overflow: visible !important; break-inside: auto; }
}

/* Phone width. Taller controls, no sideways page scroll. Layout stays as it is. */
body { --danger-text: #f0b4b4; }
body.theme-cream-gold,
body.theme-pure-white,
body.theme-spring-blossom,
body.theme-soft-linen,
body.theme-sage-cream,
body.theme-blush-rose,
body.theme-silver-morning,
body.theme-lemon-fresh,
body.theme-summer-citrus,
body.theme-winter-frost,
body.theme-onam,
body.theme-easter,
body.theme-wedding-white,
body.theme-birthday-cake,
body.theme-baby-shower,
body.theme-old-cookbook,
body.theme-crystal-pearl,
body.theme-bridal-blush,
body.theme-pure-petals,
body.theme-enchanted-winter,
body.theme-heavens-gate,
body.theme-ocean-breeze,
body.theme-full-bloom { --danger-text: #9f1239; }

.tp-wrap, .fp-wrap {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
  box-sizing: border-box;
}
.tp-btn, .fp-btn, .tp-tab, .tp-input, .tp-select, .fp-input, .fp-select {
  min-height: 44px;
  box-sizing: border-box;
  max-width: 100%;
}
.tp-tab { min-width: 44px; }
.tp-tabs, .tp-canvas-scroll, .tp-table-scroll, .fp-suggest, .fp-fields, .fp-grid {
  max-width: 100%;
  min-width: 0;
}
.tp-input, .fp-input, .tp-select, .fp-select { min-width: 0; }
.tp-print-options label,
.tp-lead:has(input[type="checkbox"]),
.tp-lead:has(input[type="radio"]) {
  min-height: 44px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
.fp-dish { align-items: center; }
.fp-dish input[type="checkbox"],
.feast-pills input[type="checkbox"],
.tp-lead input[type="checkbox"],
.tp-print-options input {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  margin: 0 8px 0 0;
  accent-color: var(--accent);
}
.fp-dish-name { min-height: 44px; display: flex; align-items: center; }
.tp-seat-row, .tp-chip { min-height: 44px; box-sizing: border-box; }
.tp-savebar { max-width: 100%; box-sizing: border-box; }
.feast-banner, .feast-lead, .fp-sub, .fp-name, .tp-title, .fp-title { overflow-wrap: anywhere; }
.tp-event-type, .tp-pill, .fp-count, .fp-section, .fp-badge, .fp-status, .fp-recipe, a.fp-link, .fp-steps li.done {
  color: var(--accent-text, var(--accent));
}
.tp-btn-danger, .fp-btn-danger, .tp-rsvp.declined { color: var(--danger-text, #f0b4b4); }
.tp-sample { color: var(--warn-text, #945e03); }
@media (max-width: 480px) {
  .tp-wrap { padding-bottom: 220px; }
  .tp-grid-2, .tp-print-controls { grid-template-columns: minmax(0, 1fr); }
}
