/* Photo challenges reuse the established food layout and Club palette. */
.venue-game .food-photo-frame { aspect-ratio: 4 / 3; }
.venue-game .food-photo-frame > img { object-fit: contain; background: #dbe7e9; }
.venue-game .food-hint-heading { flex-wrap: wrap; }
.venue-game[data-venue-state="lost"] .food-result-symbol { color: var(--orange); background: var(--soft-orange); }
.venue-bonus-note { display: block; margin-top: 7px; color: var(--muted); font-size: 11px; font-weight: 800; }
.venue-bonus { margin-top: 26px; padding: 25px; background: var(--soft-green); border: 2px solid var(--ink); border-radius: 12px; box-shadow: 4px 4px 0 var(--ink); }
.venue-bonus-heading { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 16px; align-items: start; }
.venue-bonus-heading > div { min-width: 0; }
.venue-bonus-badge { display: grid; place-items: center; width: 51px; height: 51px; color: #fff; background: var(--green); border: 1px solid var(--ink); border-radius: 50%; font-family: var(--font-heading); font-size: 21px; box-shadow: 2px 2px 0 var(--ink); }
.venue-bonus-heading h2 { margin: 5px 0 10px; font-size: 24px; line-height: 1.3; }
.venue-bonus-heading p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.venue-bonus-country { display: flex; gap: 12px; align-items: center; margin: 20px 0; font-size: 13px; color: var(--green); }
.venue-bonus-country img { flex: 0 0 auto; width: 42px; height: 29px; object-fit: contain; padding: 3px; border: 1px solid #44251e50; border-radius: 4px; background: #fff; }
.venue-bonus-country > span { min-width: 0; overflow-wrap: anywhere; }
.venue-team-form > label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 900; }
.venue-team-form select { box-sizing: border-box; width: 100%; min-width: 0; min-height: 46px; padding: 11px 12px; color: var(--ink); background: #fff; border: 1px solid var(--ink); border-radius: 8px; font-family: var(--font-body); font-size: 16px; }
.venue-team-form select:focus { outline: 3px solid #b7422940; outline-offset: 2px; }
.venue-team-form .food-actions .button { min-height: 44px; }
.venue-home-clubs, .venue-bonus-result, .venue-team-answer { margin-top: 10px !important; font-size: 13px !important; }
.venue-bonus-result { color: var(--orange) !important; font-weight: 800; }
.venue-bonus-result.is-correct { color: var(--green) !important; }
.circuit-card .card-art.circuits, .card-art.circuits { background: #dbe7e9; }
.stadium-card .card-art.stadiums, .card-art.stadiums { background: #dfe8d5; }
.circuit-card-art, .stadium-card-art { position: relative; display: grid; place-items: center; width: 100%; height: 100%; min-height: 150px; transform: rotate(-5deg); }
.circuit-card-art > svg, .stadium-card-art > svg { display: block; width: 84%; max-width: 210px; height: auto; overflow: visible; }
.stadium-card-art { transform: rotate(4deg); }
@media (max-width: 700px) {
  .venue-bonus { padding: 21px; }
  .venue-bonus-heading { grid-template-columns: 43px minmax(0,1fr); gap: 13px; }
  .venue-bonus-badge { width: 41px; height: 41px; font-size: 18px; }
  .venue-bonus-heading h2 { font-size: 21px; }
  .venue-bonus-note { max-width: 215px; font-size: 10px; line-height: 1.6; }
}
@media (max-width: 380px) {
  .venue-bonus { padding: 17px; }
  .venue-bonus-heading { grid-template-columns: 34px minmax(0,1fr); gap: 11px; }
  .venue-bonus-badge { width: 32px; height: 32px; font-size: 15px; }
  .venue-bonus-heading h2 { font-size: 18px; }
  .venue-team-form .food-actions { flex-direction: column; }
  .venue-team-form .food-actions .button { width: 100%; justify-content: center; }
}
