/* Player-only dining experience; admin reports keep their own presentation. */
.food-player { --ink:#282c35; --muted:#64636c; --line:#e5ded7; --bg:#f8f5ef; --brand:#821e36; background:var(--bg); font-size:15px; }
.food-player .food-page { max-width:1120px; padding:24px 30px 46px; }
.food-player .food-hero { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:32px; align-items:center; padding:10px 0 26px; }
.food-player .eyebrow { font-size:10px; letter-spacing:1.8px; }
.food-player .food-hero h1 { font-size:clamp(32px,4.5vw,48px); letter-spacing:-1.9px; line-height:1.12; margin:10px 0 16px; }
.food-player .food-hero h1 em { color:var(--brand); font-family:Georgia,serif; font-weight:400; }
.food-player .food-hero-copy > p { max-width:480px; color:var(--muted); font-size:14px; margin:8px 0; }
.food-player #tournamentName { color:var(--ink); font-weight:650; }
.food-player .food-day-card { border:1px solid #dfccad; border-radius:18px; background:#f4e9d6; padding:16px 20px; text-align:center; }
.food-player .food-day-card > strong { display:block; font-size:16px; }
.food-player .food-day-card > span:not(.food-plate) { display:block; color:#625343; font-size:11px; margin:4px 0 10px; letter-spacing:.5px; }
.food-player .food-plate { display:block; width:92px; margin:auto; }
.food-player .food-plate svg { width:100%; stroke:#875d35; stroke-width:2.5; stroke-linecap:round; }
.food-player #closing { border-top:1px solid #ddccb0; padding-top:10px; margin:8px 0 0; color:#5e4c39; font-size:12px; }
.food-player .food-card { border-radius:18px; padding:24px; margin-bottom:18px; box-shadow:0 5px 22px #30251c04; }
.food-player .food-card h2 { font-size:21px; letter-spacing:-.5px; margin:6px 0 12px; }
.food-player .food-message { border:1px solid #cddfd4; background:#eef6f0; color:#28503a; font-size:13px; padding:12px 16px; border-radius:12px; }
.food-player .food-message.error { border-color:#ebcbd2; color:#861c33; background:#fff1f3; }
.food-player .food-verification { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:26px; border-left:3px solid var(--brand); }
.food-player .food-verification p { color:var(--muted); font-size:13px; margin:0; }
.food-player .food-verification .food-actions { margin-top:12px; }
.food-player #codeForm { border-top:1px solid var(--line); padding-top:12px; margin-top:16px; }
.food-player #codeForm button { margin-top:12px; }
.food-player .food-player-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
.food-player .food-player-heading h2 { margin:5px 0; }
.food-player .food-player-heading p { margin:0; }
.food-player .food-verified { font-size:11px; color:#285d42; font-weight:700; }
.food-player #receipt { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); font-size:13px; }
.food-player #receipt h3 { color:var(--brand); margin-top:0; }
.food-player .food-order-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:18px; align-items:start; }
.food-player .food-order-layout:has(#checkout[hidden]) { grid-template-columns:minmax(0,1fr); }
.food-player .food-order-layout > * { min-width:0; }
.food-player .food-panel-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.food-player .food-currency { border:1px solid var(--line); color:var(--muted); padding:4px 9px; border-radius:20px; font-size:10px; }
.food-player .food-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:14px; counter-reset:meal; }
.food-player .food-item { position:relative; background:#fffefa; border:1px solid #e6ded2; border-top:3px solid #c89652; border-radius:12px; padding:20px; counter-increment:meal; }
.food-player .food-item::before { content:"MEAL " counter(meal,decimal-leading-zero); display:block; font-size:9px; font-weight:700; letter-spacing:1.5px; color:#7b5937; margin-bottom:12px; }
.food-player .food-item:nth-child(3n+2) { border-top-color:#a75b6f; }
.food-player .food-item:nth-child(3n) { border-top-color:#649178; }
.food-player .food-item h3 { font-size:18px; letter-spacing:-.4px; }
.food-player .food-item p { font-size:13px; color:var(--muted); }
.food-player .food-price { color:var(--brand); font-size:22px; font-variant-numeric:tabular-nums; margin:16px 0; }
.food-player label { font-size:12px; }
.food-player input:not([type=checkbox]),.food-player select,.food-player textarea { border-color:#ccc7c2; border-radius:10px; font-size:15px; padding:11px 12px; }
.food-player input:disabled { background:#f1efec; color:#75706b; }
.food-player button,.food-player .food-button { border-radius:10px; font-size:13px; padding:11px 16px; }
.food-player button:hover:not(:disabled) { background:#63132a; color:white; }
.food-player button.secondary { border-color:#d4c9cc; }
.food-player button.secondary:hover:not(:disabled) { background:#f8eef1; color:#63132a; }
.food-player .food-checkout { position:sticky; top:16px; border-color:#dcc8ce; }
.food-player .food-note { font-size:12px; line-height:1.65; }
.food-player #paymentInstructions { white-space:pre-line; font-size:13px; }
.food-player .food-allergy { display:flex; align-items:flex-start; gap:8px; font-size:12px; font-weight:400; color:var(--muted); line-height:1.6; }
.food-player .food-allergy input { flex:0 0 18px; margin:2px 0 0; accent-color:var(--brand); }
.food-player .food-pickup { white-space:pre-line; overflow-wrap:anywhere; background:#f8f5ef; border-radius:10px; padding:12px; font-size:12px; }
.food-player .food-pickup:empty { display:none; }
.food-player .food-checkout-footer { border-top:1px solid var(--line); margin-top:18px; }
.food-player .food-total { color:var(--brand); font-size:22px; font-variant-numeric:tabular-nums; }
.food-player .food-checkout .food-actions { display:grid; gap:8px; }
.food-player .food-checkout .food-actions button { width:100%; }
@media(max-width:800px) { .food-player .food-order-layout { grid-template-columns:1fr; } .food-player .food-checkout { position:static; } }
@media(max-width:560px) {
  .food-player .food-page { padding:20px 14px 32px; }
  .food-player .food-hero { grid-template-columns:1fr; gap:16px; padding-top:0; }
  .food-player .food-hero h1 { font-size:36px; }
  .food-player .food-day-card { display:grid; grid-template-columns:48px 1fr; text-align:left; gap:0 12px; padding:14px; }
  .food-player .food-plate { width:48px; grid-row:span 2; }
  .food-player #closing { grid-column:1/-1; }
  .food-player .food-card { padding:18px; }
  .food-player .food-verification { grid-template-columns:1fr; gap:14px; }
  .food-player .food-grid { grid-template-columns:1fr; }
  .food-player .food-player-heading button { font-size:12px; }
}
