/* Améliorations communes : navigation mobile et données Supabase. */
.hero .tournament-venue,.banner .tournament-venue,.registration-heading .tournament-venue{display:flex;flex-direction:column;gap:3px;margin:20px 0 0;padding-left:14px;border-left:3px solid var(--ink);color:var(--ink);font-size:15px;line-height:1.5}
.tournament-venue strong{font-size:17px;font-weight:700}
.tournament-venue span{font-size:13px;color:var(--muted)}
.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:700 20px/1 var(--body);cursor:pointer}
.top-in .nav{align-items:center}
.top-in .nav>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1.3;white-space:nowrap}
.top-in>.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1.3;white-space:nowrap}
.field textarea{width:100%;padding:11px 12px;border:1px solid #c7c9d1;border-radius:6px;background:#fff;color:var(--ink);font:inherit;line-height:1.4;resize:vertical}
.data-status{padding:18px;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted);text-align:center}
.dynamic-block{margin-top:24px}
.team{min-width:0;overflow-wrap:anywhere}
.team h3{letter-spacing:0}
.team.team-selected{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink);scroll-margin-top:100px}
.team .team-owner{display:table;margin-bottom:12px;padding:5px 10px;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;line-height:1.4}
.game{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-width:0;border-radius:8px}.game .t,.game-foot{min-width:0;overflow-wrap:anywhere;letter-spacing:0}
.standing-group{margin-top:26px}
.standing-group:first-child{margin-top:0}
.standing-group h3{font-size:18px;margin-bottom:10px}
.table-scroll{overflow-x:auto;border-radius:var(--r)}
.ticket-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.ticket-card{border:1px solid var(--line);border-radius:var(--r);padding:24px;background:var(--card)}
.ticket-card .date{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ticket-card h3{font-size:22px;margin:8px 0 5px}
.ticket-card p{font-size:14px;color:var(--muted)}
.ticket-card .btn{margin-top:18px}
.ticket-card .unavailable{display:inline-block;margin-top:18px;padding:10px 16px;border-radius:999px;background:var(--soft2);color:var(--muted);font-size:13px;font-weight:600}
.legal-main{padding:56px 0 76px}
.legal-card{max-width:820px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(24px,5vw,48px)}
.legal-card h1{margin:0 0 10px;font-size:clamp(32px,5vw,48px)}
.legal-card h2{font-size:21px;margin:30px 0 8px}
.legal-card p,.legal-card li{color:var(--muted)}
.legal-card ul{padding-left:22px;margin-top:8px}
.legal-card a{text-decoration:underline;text-underline-offset:3px;color:#000}
.legal-updated{font-size:13px;color:var(--muted);margin-bottom:28px}
.payment-result{text-align:center}
.payment-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 20px;border-radius:50%;background:#0a0a0a;color:#fff;font-size:30px;font-weight:700}
.payment-result.error .payment-icon{background:#9b1c1c}
.payment-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}

@media(min-width:1101px) and (max-width:1200px){
  .top-in{gap:16px}
  .top-in .nav{gap:16px;font-size:14px}
  .top-in .nav a{white-space:nowrap}
}
@media(max-width:1100px){
  .hero .season-pill{max-width:100%;flex-direction:column;align-items:flex-start;gap:3px;border-radius:14px;line-height:1.4;white-space:normal}
  .hero .season-pill .season-location{display:block;text-wrap:balance}
  .top-in{position:relative}
  .menu-toggle{display:block;flex:none;margin-left:auto}
  .top-in .nav{display:none}
  .nav.site-nav-open{display:flex;position:absolute;top:calc(100% + 1px);left:0;right:0;z-index:80;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:10px;background:#fff;border:1px solid var(--line);border-radius:0 0 16px 16px;box-shadow:0 20px 40px rgba(11,17,33,.14)}
  .nav.site-nav-open a{justify-content:flex-start;padding:12px 14px;border-radius:10px}
  .nav.site-nav-open a:hover{background:var(--soft)}
  .ticket-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .hero .tournament-venue,.banner .tournament-venue,.registration-heading .tournament-venue{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:10px;row-gap:3px;width:100%;max-width:100%;margin:18px 0 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left}
  .tournament-venue::before{content:"";grid-column:1;grid-row:1 / span 3;align-self:center;width:34px;height:34px;border-radius:50%;background:#f5f5f7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a0a0a' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center/18px 18px no-repeat}
  .tournament-venue>span,.tournament-venue>strong{grid-column:2;min-width:0}
  .tournament-venue>span:first-child{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.4}
  .tournament-venue>strong{font-size:15px;line-height:1.4;color:var(--ink);text-wrap:balance}
  .tournament-venue>span:last-child{font-size:12px;line-height:1.4}
  .top-in>.btn{display:none}
  .menu-toggle{margin-left:auto}
  .legal-main{padding:30px 0 52px}
  .legal-card{border-radius:16px;padding:24px 20px}
}
