* { box-sizing: border-box; margin: 0; padding: 0; }
#wc2026 { font-family: Arial, sans-serif; font-size: 14px; color: #222; background: #fff; max-width: 780px; margin: 0 auto; }
#wc2026 .tabs { display: flex; gap: 3px; padding: 12px 0 0; border-bottom: 1px solid #ddd; margin-bottom: 16px; flex-wrap: wrap; }
#wc2026 .tab { padding: 7px 14px; font-size: 13px; border: none; background: none; cursor: pointer; color: #666; border-bottom: 2px solid transparent; margin-bottom: -1px; font-family: Arial, sans-serif; }
#wc2026 .tab.active { color: #1a4f9c; border-bottom-color: #1a4f9c; font-weight: bold; }
#wc2026 .section { display: none; }
#wc2026 .section.active { display: block; }
#wc2026 .stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 16px; }
#wc2026 .stat { background: #f5f5f5; border-radius: 8px; padding: 12px; text-align: center; }
#wc2026 .stat-n { font-size: 26px; font-weight: bold; color: #1a4f9c; }
#wc2026 .stat-l { font-size: 11px; color: #777; margin-top: 3px; }
#wc2026 .conf-section { margin-bottom: 16px; }
#wc2026 .conf-title { font-size: 11px; font-weight: bold; color: #888; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 7px; }
#wc2026 .team-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 5px; }
#wc2026 .team-card { background: #fff; border: 1px solid #e0e0e0; border-radius: 7px; padding: 7px 9px; font-size: 12px; display: flex; align-items: center; gap: 5px; }
#wc2026 .team-card .flag { font-size: 17px; line-height: 1; }
#wc2026 .team-card .name { color: #222; font-size: 11px; font-weight: bold; }
#wc2026 .team-card .rank { font-size: 10px; color: #888; }
#wc2026 .host-badge { background: #dbeafe; color: #1e40af; font-size: 9px; padding: 1px 4px; border-radius: 3px; margin-left: auto; white-space: nowrap; }
#wc2026 .debut-badge { background: #dcfce7; color: #166534; font-size: 9px; padding: 1px 4px; border-radius: 3px; margin-left: auto; white-space: nowrap; }
#wc2026 .playoff-badge { background: #fef3c7; color: #92400e; font-size: 9px; padding: 1px 4px; border-radius: 3px; margin-left: auto; white-space: nowrap; }
#wc2026 .groups-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
#wc2026 .group-card { background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; overflow: hidden; }
#wc2026 .group-header { background: #1a4f9c; color: #fff; padding: 6px 10px; font-size: 12px; font-weight: bold; display: flex; align-items: center; justify-content: space-between; }
#wc2026 .group-header.death { background: #991b1b; }
#wc2026 .group-tag { font-size: 9px; background: rgba(255,255,255,0.2); padding: 1px 5px; border-radius: 3px; }
#wc2026 .group-body { padding: 6px; }
#wc2026 .g-team { display: flex; align-items: center; gap: 5px; padding: 4px 3px; border-bottom: 1px solid #f0f0f0; font-size: 11px; color: #222; }
#wc2026 .g-team:last-child { border-bottom: none; }
#wc2026 .g-team .f { font-size: 15px; }
#wc2026 .g-team .r { margin-left: auto; font-size: 10px; color: #999; }
#wc2026 .sched-day { margin-bottom: 14px; }
#wc2026 .day-title { font-size: 13px; font-weight: bold; color: #1a4f9c; margin-bottom: 6px; padding-bottom: 3px; border-bottom: 1px solid #e0e0e0; }
#wc2026 .match-row { display: flex; align-items: center; gap: 7px; padding: 6px 0; border-bottom: 1px solid #f0f0f0; font-size: 12px; }
#wc2026 .match-row:last-child { border-bottom: none; }
#wc2026 .match-gr { color: #fff; font-size: 9px; font-weight: bold; padding: 2px 5px; border-radius: 3px; min-width: 22px; text-align: center; white-space: nowrap; }
#wc2026 .match-teams { flex: 1; color: #222; font-weight: bold; }
#wc2026 .match-venue { font-size: 10px; color: #888; text-align: right; max-width: 150px; }
#wc2026 .stage-badge { background: #f5f5f5; border-radius: 6px; padding: 9px 12px; margin-bottom: 6px; display: flex; justify-content: space-between; align-items: center; font-size: 12px; }
#wc2026 .stage-name { font-weight: bold; color: #222; }
#wc2026 .stage-date { color: #777; font-size: 11px; }
#wc2026 .phase-title { font-size: 14px; font-weight: bold; color: #222; margin: 14px 0 8px; }
#wc2026 .filter-row { display: flex; gap: 5px; flex-wrap: wrap; margin-bottom: 12px; }
#wc2026 .filter-btn { padding: 4px 11px; font-size: 11px; border: 1px solid #ccc; border-radius: 20px; background: #fff; color: #666; cursor: pointer; font-family: Arial, sans-serif; }
#wc2026 .filter-btn.active { background: #1a4f9c; color: #fff; border-color: #1a4f9c; }
#wc2026 .info-box { background: #fffbeb; border: 1px solid #fcd34d; border-radius: 7px; padding: 10px 13px; font-size: 12px; color: #78350f; margin-bottom: 12px; line-height: 1.6; }
#wc2026 .mini-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-top: 10px; }
@media (max-width: 500px) {
#wc2026 .stat-row { grid-template-columns: repeat(2, 1fr); }
#wc2026 .groups-grid { grid-template-columns: repeat(2, 1fr); }
#wc2026 .match-venue { display: none; }
#wc2026 .mini-grid { grid-template-columns: repeat(2, 1fr); }
#wc2026 .tab { padding: 6px 10px; font-size: 12px; }
}
Έναρξη: 11 Ιουνίου 2026 |
Τελικός: 19 Ιουλίου 2026, MetLife Stadium, New Jersey |
Πρώτος αγώνας: Μεξικό – Νότια Αφρική, Estadio Azteca
Η Ιταλία χάνει το Μουντιάλ για 3η συνεχόμενη φορά.
(function(){
var allTeams=[
{flag:’🇺🇸’,name:’ΗΠΑ’,rank:16,conf:’host’,note:’host’},
{flag:’🇲🇽’,name:’Μεξικό’,rank:15,conf:’host’,note:’host’},
{flag:’🇨🇦’,name:’Καναδάς’,rank:30,conf:’host’,note:’host’},
{flag:’🏴’,name:’Αγγλία’,rank:4,conf:’UEFA’},
{flag:’🇫🇷’,name:’Γαλλία’,rank:1,conf:’UEFA’},
{flag:’🇪🇸’,name:’Ισπανία’,rank:2,conf:’UEFA’},
{flag:’🇩🇪’,name:’Γερμανία’,rank:10,conf:’UEFA’},
{flag:’🇵🇹’,name:’Πορτογαλία’,rank:5,conf:’UEFA’},
{flag:’🇳🇱’,name:’Ολλανδία’,rank:7,conf:’UEFA’},
{flag:’🇧🇪’,name:’Βέλγιο’,rank:9,conf:’UEFA’},
{flag:’🇭🇷’,name:’Κροατία’,rank:11,conf:’UEFA’},
{flag:’🇨🇭’,name:’Ελβετία’,rank:19,conf:’UEFA’},
{flag:’🇦🇹’,name:’Αυστρία’,rank:24,conf:’UEFA’},
{flag:’🏴’,name:’Σκωτία’,rank:43,conf:’UEFA’},
{flag:’🇳🇴’,name:’Νορβηγία’,rank:32,conf:’UEFA’},
{flag:’🇧🇦’,name:’Βοσνία-Ερζ.’,rank:71,conf:’UEFA’,note:’playoff’},
{flag:’🇸🇪’,name:’Σουηδία’,rank:37,conf:’UEFA’,note:’playoff’},
{flag:’🇹🇷’,name:’Τουρκία’,rank:22,conf:’UEFA’,note:’playoff’},
{flag:’🇨🇿’,name:’Τσεχία’,rank:41,conf:’UEFA’,note:’playoff’},
{flag:’🇦🇷’,name:’Αργεντινή’,rank:3,conf:’CONMEBOL’},
{flag:’🇧🇷’,name:’Βραζιλία’,rank:6,conf:’CONMEBOL’},
{flag:’🇺🇾’,name:’Ουρουγουάη’,rank:17,conf:’CONMEBOL’},
{flag:’🇨🇴’,name:’Κολομβία’,rank:13,conf:’CONMEBOL’},
{flag:’🇪🇨’,name:’Εκουαδόρ’,rank:23,conf:’CONMEBOL’},
{flag:’🇵🇾’,name:’Παραγουάη’,rank:38,conf:’CONMEBOL’},
{flag:’🇲🇦’,name:’Μαρόκο’,rank:8,conf:’CAF’},
{flag:’🇸🇳’,name:’Σενεγάλη’,rank:14,conf:’CAF’},
{flag:’🇪🇬’,name:’Αίγυπτος’,rank:33,conf:’CAF’},
{flag:’🇩🇿’,name:’Αλγερία’,rank:36,conf:’CAF’},
{flag:’🇹🇳’,name:’Τυνησία’,rank:47,conf:’CAF’},
{flag:’🇿🇦’,name:’Ν. Αφρική’,rank:60,conf:’CAF’},
{flag:’🇨🇮’,name:’Ακτή Ελεφ.’,rank:39,conf:’CAF’},
{flag:’🇬🇭’,name:’Γκάνα’,rank:73,conf:’CAF’},
{flag:’🇨🇻’,name:’Πράσινο Ακρ.’,rank:70,conf:’CAF’,note:’debut’},
{flag:’🇨🇩’,name:’ΛΔ Κονγκό’,rank:55,conf:’CAF’,note:’playoff’},
{flag:’🇯🇵’,name:’Ιαπωνία’,rank:18,conf:’AFC’},
{flag:’🇮🇷’,name:’Ιράν’,rank:21,conf:’AFC’},
{flag:’🇰🇷’,name:’Ν. Κορέα’,rank:25,conf:’AFC’},
{flag:’🇦🇺’,name:’Αυστραλία’,rank:27,conf:’AFC’},
{flag:’🇸🇦’,name:’Σ. Αραβία’,rank:58,conf:’AFC’},
{flag:’🇶🇦’,name:’Κατάρ’,rank:53,conf:’AFC’},
{flag:’🇺🇿’,name:’Ουζμπεκιστάν’,rank:57,conf:’AFC’,note:’debut’},
{flag:’🇯🇴’,name:’Ιορδανία’,rank:64,conf:’AFC’,note:’debut’},
{flag:’🇮🇶’,name:’Ιράκ’,rank:56,conf:’AFC’,note:’playoff’},
{flag:’🇵🇦’,name:’Παναμάς’,rank:51,conf:’CONCACAF’},
{flag:’🇨🇼’,name:’Κουρασάο’,rank:81,conf:’CONCACAF’,note:’debut’},
{flag:’🇭🇹’,name:’Αϊτή’,rank:79,conf:’CONCACAF’},
{flag:’🇳🇿’,name:’Ν. Ζηλανδία’,rank:88,conf:’OFC’}
];
var groups=[
{id:’A’,label:’Μέτριος’,teams:[{f:’🇲🇽’,n:’Μεξικό’,r:15,host:true},{f:’🇿🇦’,n:’Ν. Αφρική’,r:60},{f:’🇰🇷’,n:’Ν. Κορέα’,r:25},{f:’🇨🇿’,n:’Τσεχία’,r:41}]},
{id:’B’,label:’Μέτριος’,teams:[{f:’🇨🇦’,n:’Καναδάς’,r:30,host:true},{f:’🇨🇭’,n:’Ελβετία’,r:19},{f:’🇶🇦’,n:’Κατάρ’,r:53},{f:’🇧🇦’,n:’Βοσνία-Ερζ.’,r:71}]},
{id:’C’,label:’Δυνατός’,teams:[{f:’🇧🇷’,n:’Βραζιλία’,r:6},{f:’🇲🇦’,n:’Μαρόκο’,r:8},{f:’🇭🇹’,n:’Αϊτή’,r:79},{f:’🏴’,n:’Σκωτία’,r:43}]},
{id:’D’,label:’Μέτριος’,teams:[{f:’🇺🇸’,n:’ΗΠΑ’,r:16,host:true},{f:’🇵🇾’,n:’Παραγουάη’,r:38},{f:’🇦🇺’,n:’Αυστραλία’,r:27},{f:’🇹🇷’,n:’Τουρκία’,r:22}]},
{id:’E’,label:’Εύκολος’,teams:[{f:’🇩🇪’,n:’Γερμανία’,r:10},{f:’🇨🇼’,n:’Κουρασάο’,r:81,debut:true},{f:’🇨🇮’,n:’Ακτή Ελεφ.’,r:39},{f:’🇪🇨’,n:’Εκουαδόρ’,r:23}]},
{id:’F’,label:’Δυνατός’,teams:[{f:’🇳🇱’,n:’Ολλανδία’,r:7},{f:’🇯🇵’,n:’Ιαπωνία’,r:18},{f:’🇸🇪’,n:’Σουηδία’,r:37},{f:’🇹🇳’,n:’Τυνησία’,r:47}]},
{id:’G’,label:’Μέτριος’,teams:[{f:’🇧🇪’,n:’Βέλγιο’,r:9},{f:’🇪🇬’,n:’Αίγυπτος’,r:33},{f:’🇮🇷’,n:’Ιράν’,r:21},{f:’🇳🇿’,n:’Ν. Ζηλανδία’,r:88}]},
{id:’H’,label:’Δυνατός’,teams:[{f:’🇪🇸’,n:’Ισπανία’,r:2},{f:’🇨🇻’,n:’Πράσινο Ακρ.’,r:70,debut:true},{f:’🇸🇦’,n:’Σ. Αραβία’,r:58},{f:’🇺🇾’,n:’Ουρουγουάη’,r:17}]},
{id:’I’,label:’Group of Death’,death:true,teams:[{f:’🇫🇷’,n:’Γαλλία’,r:1},{f:’🇸🇳’,n:’Σενεγάλη’,r:14},{f:’🇳🇴’,n:’Νορβηγία’,r:32},{f:’🇮🇶’,n:’Ιράκ’,r:56}]},
{id:’J’,label:’Δυνατός’,teams:[{f:’🇦🇷’,n:’Αργεντινή’,r:3},{f:’🇩🇿’,n:’Αλγερία’,r:36},{f:’🇦🇹’,n:’Αυστρία’,r:24},{f:’🇯🇴’,n:’Ιορδανία’,r:64,debut:true}]},
{id:’K’,label:’Δυνατός’,teams:[{f:’🇵🇹’,n:’Πορτογαλία’,r:5},{f:’🇨🇩’,n:’ΛΔ Κονγκό’,r:55},{f:’🇺🇿’,n:’Ουζμπεκιστάν’,r:57,debut:true},{f:’🇨🇴’,n:’Κολομβία’,r:13}]},
{id:’L’,label:’Ισορροπημένος’,teams:[{f:’🏴’,n:’Αγγλία’,r:4},{f:’🇭🇷’,n:’Κροατία’,r:11},{f:’🇬🇭’,n:’Γκάνα’,r:73},{f:’🇵🇦’,n:’Παναμάς’,r:51}]}
];
var schedule=[
{phase:’group’,day:’Πέμπτη 11 Ιουν’,matches:[
{gr:’A’,t:’Μεξικό 🇲🇽 vs 🇿🇦 Ν. Αφρική’,v:’Estadio Azteca, CDMX’},
{gr:’A’,t:’Ν. Κορέα 🇰🇷 vs 🇨🇿 Τσεχία’,v:’Estadio Akron, Ζαποπάν’}]},
{phase:’group’,day:’Παρασκευή 12 Ιουν’,matches:[
{gr:’B’,t:’Καναδάς 🇨🇦 vs 🇧🇦 Βοσνία-Ερζ.’,v:’BMO Field, Τορόντο’},
{gr:’D’,t:’ΗΠΑ 🇺🇸 vs 🇵🇾 Παραγουάη’,v:’SoFi Stadium, Ινγκλγουντ’}]},
{phase:’group’,day:’Σάββατο 13 Ιουν’,matches:[
{gr:’B’,t:’Κατάρ 🇶🇦 vs 🇨🇭 Ελβετία’,v:”Levi’s Stadium, Σάντα Κλάρα”},
{gr:’C’,t:’Βραζιλία 🇧🇷 vs 🇲🇦 Μαρόκο’,v:’MetLife Stadium, Ν. Τζέρσεϊ’},
{gr:’C’,t:’Αϊτή 🇭🇹 vs 🏴 Σκωτία’,v:’Gillette Stadium, Φόξμπορο’}]},
{phase:’group’,day:’Κυριακή 14 Ιουν’,matches:[
{gr:’D’,t:’Αυστραλία 🇦🇺 vs 🇹🇷 Τουρκία’,v:’BC Place, Βανκούβερ’},
{gr:’E’,t:’Γερμανία 🇩🇪 vs 🇨🇼 Κουρασάο’,v:’NRG Stadium, Χιούστον’},
{gr:’F’,t:’Ολλανδία 🇳🇱 vs 🇯🇵 Ιαπωνία’,v:’AT&T Stadium, Άρλινγκτον’},
{gr:’E’,t:’Ακτή Ελεφ. 🇨🇮 vs 🇪🇨 Εκουαδόρ’,v:’Lincoln Financial, Φιλαδέλφεια’},
{gr:’F’,t:’Σουηδία 🇸🇪 vs 🇹🇳 Τυνησία’,v:’Estadio BBVA, Μοντερέι’}]},
{phase:’group’,day:’Δευτέρα 15 Ιουν’,matches:[
{gr:’H’,t:’Ισπανία 🇪🇸 vs 🇨🇻 Πράσινο Ακρ.’,v:’Mercedes-Benz Stadium, Ατλάντα’},
{gr:’G’,t:’Βέλγιο 🇧🇪 vs 🇪🇬 Αίγυπτος’,v:’Lumen Field, Σιάτλ’},
{gr:’H’,t:’Σ. Αραβία 🇸🇦 vs 🇺🇾 Ουρουγουάη’,v:’Hard Rock Stadium, Μαϊάμι’},
{gr:’G’,t:’Ιράν 🇮🇷 vs 🇳🇿 Ν. Ζηλανδία’,v:’SoFi Stadium, Ινγκλγουντ’}]},
{phase:’group’,day:’Τρίτη 16 Ιουν’,matches:[
{gr:’I’,t:’Γαλλία 🇫🇷 vs 🇸🇳 Σενεγάλη’,v:’MetLife Stadium, Ν. Τζέρσεϊ’},
{gr:’I’,t:’Ιράκ 🇮🇶 vs 🇳🇴 Νορβηγία’,v:’Gillette Stadium, Φόξμπορο’},
{gr:’J’,t:’Αργεντινή 🇦🇷 vs 🇩🇿 Αλγερία’,v:’Arrowhead Stadium, Κ. Σίτι’}]},
{phase:’group’,day:’Τετάρτη 17 Ιουν’,matches:[
{gr:’J’,t:’Αυστρία 🇦🇹 vs 🇯🇴 Ιορδανία’,v:”Levi’s Stadium, Σάντα Κλάρα”},
{gr:’K’,t:’Πορτογαλία 🇵🇹 vs 🇨🇩 ΛΔ Κονγκό’,v:’NRG Stadium, Χιούστον’},
{gr:’L’,t:’Αγγλία 🏴 vs 🇭🇷 Κροατία’,v:’AT&T Stadium, Άρλινγκτον’},
{gr:’L’,t:’Γκάνα 🇬🇭 vs 🇵🇦 Παναμάς’,v:’BMO Field, Τορόντο’},
{gr:’K’,t:’Ουζμπεκιστάν 🇺🇿 vs 🇨🇴 Κολομβία’,v:’Estadio Azteca, CDMX’}]},
{phase:’group’,day:’Πέμπτη 18 Ιουν’,matches:[
{gr:’A’,t:’Τσεχία 🇨🇿 vs 🇿🇦 Ν. Αφρική’,v:’Mercedes-Benz Stadium, Ατλάντα’},
{gr:’B’,t:’Ελβετία 🇨🇭 vs 🇧🇦 Βοσνία-Ερζ.’,v:’SoFi Stadium, Ινγκλγουντ’},
{gr:’B’,t:’Καναδάς 🇨🇦 vs 🇶🇦 Κατάρ’,v:’BC Place, Βανκούβερ’},
{gr:’A’,t:’Μεξικό 🇲🇽 vs 🇰🇷 Ν. Κορέα’,v:’Estadio Akron, Ζαποπάν’}]},
{phase:’group’,day:’Παρασκευή 19 Ιουν’,matches:[
{gr:’D’,t:’ΗΠΑ 🇺🇸 vs 🇦🇺 Αυστραλία’,v:’Lumen Field, Σιάτλ’},
{gr:’C’,t:’Σκωτία 🏴 vs 🇲🇦 Μαρόκο’,v:’Gillette Stadium, Φόξμπορο’},
{gr:’C’,t:’Βραζιλία 🇧🇷 vs 🇭🇹 Αϊτή’,v:’Lincoln Financial, Φιλαδέλφεια’},
{gr:’D’,t:’Τουρκία 🇹🇷 vs 🇵🇾 Παραγουάη’,v:”Levi’s Stadium, Σάντα Κλάρα”}]},
{phase:’group’,day:’Σάββατο 20 Ιουν’,matches:[
{gr:’F’,t:’Ολλανδία 🇳🇱 vs 🇸🇪 Σουηδία’,v:’NRG Stadium, Χιούστον’},
{gr:’E’,t:’Γερμανία 🇩🇪 vs 🇨🇮 Ακτή Ελεφ.’,v:’BMO Field, Τορόντο’},
{gr:’E’,t:’Εκουαδόρ 🇪🇨 vs 🇨🇼 Κουρασάο’,v:’Arrowhead Stadium, Κ. Σίτι’}]},
{phase:’group’,day:’Κυριακή 21 Ιουν’,matches:[
{gr:’F’,t:’Τυνησία 🇹🇳 vs 🇯🇵 Ιαπωνία’,v:’Estadio BBVA, Μοντερέι’},
{gr:’H’,t:’Ισπανία 🇪🇸 vs 🇸🇦 Σ. Αραβία’,v:’Mercedes-Benz Stadium, Ατλάντα’},
{gr:’G’,t:’Βέλγιο 🇧🇪 vs 🇮🇷 Ιράν’,v:’SoFi Stadium, Ινγκλγουντ’},
{gr:’H’,t:’Ουρουγουάη 🇺🇾 vs 🇨🇻 Πράσινο Ακρ.’,v:’Hard Rock Stadium, Μαϊάμι’},
{gr:’G’,t:’Ν. Ζηλανδία 🇳🇿 vs 🇪🇬 Αίγυπτος’,v:’BC Place, Βανκούβερ’}]},
{phase:’group’,day:’Δευτέρα 22 Ιουν’,matches:[
{gr:’J’,t:’Αργεντινή 🇦🇷 vs 🇦🇹 Αυστρία’,v:’AT&T Stadium, Άρλινγκτον’},
{gr:’I’,t:’Γαλλία 🇫🇷 vs 🇮🇶 Ιράκ’,v:’Lincoln Financial, Φιλαδέλφεια’},
{gr:’I’,t:’Νορβηγία 🇳🇴 vs 🇸🇳 Σενεγάλη’,v:’MetLife Stadium, Ν. Τζέρσεϊ’},
{gr:’J’,t:’Ιορδανία 🇯🇴 vs 🇩🇿 Αλγερία’,v:”Levi’s Stadium, Σάντα Κλάρα”}]},
{phase:’group’,day:’Τρίτη 23 Ιουν’,matches:[
{gr:’K’,t:’Πορτογαλία 🇵🇹 vs 🇺🇿 Ουζμπεκιστάν’,v:’NRG Stadium, Χιούστον’},
{gr:’L’,t:’Αγγλία 🏴 vs 🇬🇭 Γκάνα’,v:’Gillette Stadium, Φόξμπορο’},
{gr:’L’,t:’Παναμάς 🇵🇦 vs 🇭🇷 Κροατία’,v:’BMO Field, Τορόντο’},
{gr:’K’,t:’Κολομβία 🇨🇴 vs 🇨🇩 ΛΔ Κονγκό’,v:’Estadio Akron, Ζαποπάν’}]},
{phase:’group’,day:’Τετάρτη 24 Ιουν — 3η αγωνιστική’,matches:[
{gr:’B’,t:’Ελβετία 🇨🇭 vs 🇨🇦 Καναδάς’,v:’BC Place, Βανκούβερ’},
{gr:’B’,t:’Βοσνία-Ερζ. 🇧🇦 vs 🇶🇦 Κατάρ’,v:’Lumen Field, Σιάτλ’},
{gr:’C’,t:’Σκωτία 🏴 vs 🇧🇷 Βραζιλία’,v:’Hard Rock Stadium, Μαϊάμι’},
{gr:’C’,t:’Μαρόκο 🇲🇦 vs 🇭🇹 Αϊτή’,v:’Mercedes-Benz Stadium, Ατλάντα’},
{gr:’A’,t:’Τσεχία 🇨🇿 vs 🇲🇽 Μεξικό’,v:’Estadio Azteca, CDMX’},
{gr:’A’,t:’Ν. Αφρική 🇿🇦 vs 🇰🇷 Ν. Κορέα’,v:’Estadio BBVA, Μοντερέι’}]},
{phase:’group’,day:’Πέμπτη 25 Ιουν — 3η αγωνιστική’,matches:[
{gr:’E’,t:’Κουρασάο 🇨🇼 vs 🇨🇮 Ακτή Ελεφ.’,v:’Lincoln Financial, Φιλαδέλφεια’},
{gr:’E’,t:’Εκουαδόρ 🇪🇨 vs 🇩🇪 Γερμανία’,v:’MetLife Stadium, Ν. Τζέρσεϊ’},
{gr:’F’,t:’Ιαπωνία 🇯🇵 vs 🇸🇪 Σουηδία’,v:’AT&T Stadium, Άρλινγκτον’},
{gr:’F’,t:’Τυνησία 🇹🇳 vs 🇳🇱 Ολλανδία’,v:’Arrowhead Stadium, Κ. Σίτι’},
{gr:’D’,t:’Τουρκία 🇹🇷 vs 🇺🇸 ΗΠΑ’,v:’SoFi Stadium, Ινγκλγουντ’},
{gr:’D’,t:’Παραγουάη 🇵🇾 vs 🇦🇺 Αυστραλία’,v:”Levi’s Stadium, Σάντα Κλάρα”}]},
{phase:’group’,day:’Παρασκευή 26 Ιουν — 3η αγωνιστική’,matches:[
{gr:’I’,t:’Νορβηγία 🇳🇴 vs 🇫🇷 Γαλλία’,v:’Gillette Stadium, Φόξμπορο’},
{gr:’I’,t:’Σενεγάλη 🇸🇳 vs 🇮🇶 Ιράκ’,v:’BMO Field, Τορόντο’},
{gr:’H’,t:’Πράσινο Ακρ. 🇨🇻 vs 🇸🇦 Σ. Αραβία’,v:’NRG Stadium, Χιούστον’},
{gr:’H’,t:’Ουρουγουάη 🇺🇾 vs 🇪🇸 Ισπανία’,v:’Estadio Akron, Ζαποπάν’},
{gr:’G’,t:’Αίγυπτος 🇪🇬 vs 🇮🇷 Ιράν’,v:’Lumen Field, Σιάτλ’},
{gr:’G’,t:’Ν. Ζηλανδία 🇳🇿 vs 🇧🇪 Βέλγιο’,v:’BC Place, Βανκούβερ’}]},
{phase:’group’,day:’Σάββατο 27 Ιουν — 3η αγωνιστική’,matches:[
{gr:’L’,t:’Παναμάς 🇵🇦 vs 🏴 Αγγλία’,v:’MetLife Stadium, Ν. Τζέρσεϊ’},
{gr:’L’,t:’Κροατία 🇭🇷 vs 🇬🇭 Γκάνα’,v:’Lincoln Financial, Φιλαδέλφεια’},
{gr:’K’,t:’Κολομβία 🇨🇴 vs 🇵🇹 Πορτογαλία’,v:’Hard Rock Stadium, Μαϊάμι’},
{gr:’K’,t:’ΛΔ Κονγκό 🇨🇩 vs 🇺🇿 Ουζμπεκιστάν’,v:’Mercedes-Benz Stadium, Ατλάντα’},
{gr:’J’,t:’Αλγερία 🇩🇿 vs 🇦🇹 Αυστρία’,v:’Arrowhead Stadium, Κ. Σίτι’},
{gr:’J’,t:’Ιορδανία 🇯🇴 vs 🇦🇷 Αργεντινή’,v:’AT&T Stadium, Άρλινγκτον’}]},
{phase:’r32′,day:’Round of 32 — 28 Ιουν – 3 Ιουλ’,matches:[
{gr:’R32′,t:’ Ν. Αφρική 🇿🇦 VS 🇨🇦 Καναδάς ‘,v:’SoFi Stadium (28 Ιουν)’},
{gr:’R32′,t:’ Βραζιλία 🇧🇷 VS 🇯🇵 Ιαπωνία’,v:’NRG Stadium (29 Ιουν)’},
{gr:’R32′,t:’ Γερμανία 🇩🇪 VS 🇵🇾 Παραγουάη’,v:’Gillette Stadium (29 Ιουν)’},
{gr:’R32′,t:’ Ολλανδία 🇳🇱 VS 🇲🇦 Μαρόκο’,v:’Estadio BBVA (29 Ιουν)’},
{gr:’R32′,t:’ Ακτή Ελεφ. 🇨🇮 VS 🇳🇴 Νορβηγία’,v:’AT&T Stadium (30 Ιουν)’},
{gr:’R32′,t:’ Γαλλία 🇫🇷 VS 🇸🇪 Σουηδία’,v:’MetLife Stadium (30 Ιουν)’},
{gr:’R32′,t:’ Μεξικό 🇲🇽 VS 🇪🇨 Εκουαδόρ’,v:’Estadio Azteca (30 Ιουν)’},
{gr:’R32′,t:’ Αγγλία 🏴 VS 🇨🇩 ΛΔ Κονγκό’,v:’Mercedes-Benz Stadium (1 Ιουλ)’},
{gr:’R32′,t:’ Βέλγιο 🇧🇪 VS 🇸🇳 Σενεγάλη’,v:’Lumen Field (1 Ιουλ)’},
{gr:’R32′,t:’ ΗΠΑ 🇺🇸 VS 🇧🇦 Βοσνία-Ερζ.’,v:”Levi’s Stadium (1 Ιουλ)”},
{gr:’R32′,t:’ Ισπανία 🇪🇸 VS 🇦🇹 Αυστρία’,v:’SoFi Stadium (2 Ιουλ)’},
{gr:’R32′,t:’ Πορτογαλία 🇵🇹 VS 🇭🇷 Κροατία’,v:’BMO Field (2 Ιουλ)’},
{gr:’R32′,t:’ Ελβετία 🇨🇭 VS 🇩🇿 Αλγερία’,v:’NRG Stadium (3 Ιουλ)’},
{gr:’R32′,t:’ Αυστραλία 🇦🇺 VS 🇪🇬 Αίγυπτος’,v:’Gillette Stadium (3 Ιουλ)’},
{gr:’R32′,t:’ Αργεντινή 🇦🇷 VS 🇨🇻 Πράσινο Ακρ.’,v:’Arrowhead Stadium (3 Ιουλ)’},
{gr:’R32′,t:’ Κολομβία 🇨🇴 VS 🇬🇭 Γκάνα’,v:’AT&T Stadium (3 Ιουλ)’}]},
{phase:’ko’,day:’Round of 16 — 4–7 Ιουλ’,matches:[
{gr:’R16′,t:’8 αγώνες νοκ-άουτ (αποτελέσματα R32)’,v:’4–7 Ιουλ 2026′}]},
{phase:’ko’,day:’Προημιτελικοί — 9–11 Ιουλ’,matches:[
{gr:’QF’,t:’4 αγώνες (αποτελέσματα R16)’,v:’9–11 Ιουλ 2026′}]},
{phase:’ko’,day:’Ημιτελικοί — 14–15 Ιουλ’,matches:[
{gr:’SF’,t:’Ημιτελικός 1′,v:’14 Ιουλ 2026′},
{gr:’SF’,t:’Ημιτελικός 2′,v:’15 Ιουλ 2026′}]},
{phase:’ko’,day:’Αγώνας 3ης θέσης — 18 Ιουλ’,matches:[
{gr:’3RD’,t:’Αγώνας 3ης θέσης’,v:’18 Ιουλ 2026′}]},
{phase:’ko’,day:’🏆 Τελικός — 19 Ιουλ 2026′,matches:[
{gr:’FIN’,t:’ΤΕΛΙΚΟΣ’,v:’MetLife Stadium, New Jersey’}]}
];
var confNames={host:’Διοργανωτές’,UEFA:’UEFA — Ευρώπη’,CONMEBOL:’CONMEBOL — Νότια Αμερική’,CAF:’CAF — Αφρική’,AFC:’AFC — Ασία’,CONCACAF:’CONCACAF — Κ. Αμερική & Καραϊβική’,OFC:’OFC — Ωκεανία’};
var currentConf=’all’, currentSched=’all’;
window.wc_showTab = function(id, btn){
document.querySelectorAll(‘#wc2026 .section’).forEach(function(s){s.classList.remove(‘active’);});
document.querySelectorAll(‘#wc2026 .tab’).forEach(function(t){t.classList.remove(‘active’);});
document.getElementById(‘wc_’+id).classList.add(‘active’);
btn.classList.add(‘active’);
};
window.wc_filterConf = function(conf, btn){
currentConf=conf;
document.querySelectorAll(‘#wc_confFilters .filter-btn’).forEach(function(b){b.classList.remove(‘active’);});
btn.classList.add(‘active’);
wc_renderTeams();
};
window.wc_filterSched = function(phase, btn){
currentSched=phase;
document.querySelectorAll(‘#wc_schedFilters .filter-btn’).forEach(function(b){b.classList.remove(‘active’);});
btn.classList.add(‘active’);
wc_renderSchedule();
};
function wc_renderTeams(){
var confs=currentConf===’all’?Object.keys(confNames):[currentConf];
var html=”;
confs.forEach(function(conf){
var teams=allTeams.filter(function(t){return t.conf===conf;});
if(!teams.length) return;
html+=’
teams.forEach(function(t){
var badge=”;
if(t.note===’host’) badge=’Διοργ.‘;
else if(t.note===’debut’) badge=’Πρεμιέρα‘;
else if(t.note===’playoff’) badge=’Playoff‘;
html+=’
‘+badge+’
‘;
});
html+=’
‘;
});
document.getElementById(‘wc_teamsList’).innerHTML=html;
}
function wc_renderGroups(){
var html=”;
groups.forEach(function(g){
var hClass=g.death?’group-header death’:’group-header’;
var tag=g.death?’💀 Group of Death’:g.label;
html+=’
g.teams.forEach(function(t){
var badge=”;
if(t.host) badge=’Διοργ.‘;
else if(t.debut) badge=’Πρεμ.‘;
html+=’
‘;
});
html+=’
‘;
});
document.getElementById(‘wc_groupsGrid’).innerHTML=html;
}
function wc_renderSchedule(){
var days=currentSched===’all’?schedule:schedule.filter(function(d){return d.phase===currentSched;});
var html=”;
days.forEach(function(day){
html+=’
‘;
day.matches.forEach(function(m){
var col=m.gr===’FIN’?’#991b1b’:(m.gr===’R32’||m.gr===’R16’||m.gr===’QF’||m.gr===’SF’||m.gr===’3RD’)?’#166534′:’#1a4f9c’;
html+=’
‘;
});
html+=’
‘;
});
document.getElementById(‘wc_scheduleList’).innerHTML=html;
}
wc_renderTeams();
wc_renderGroups();
wc_renderSchedule();
})();
