.fifa-page {
    --fifa-navy: #102f4a;
    --fifa-blue: #32649a;
    --fifa-sky: #ddecf6;
    --fifa-gold: #c9a85e;
    --fifa-muted: #61758a;
    background: linear-gradient(180deg, #eff7fb 0, #fff 35%, #f7fafc 100%);
    color: var(--fifa-navy);
}

.fifa-main { padding: 3rem 1.5rem 5rem; }
.fifa-wrapper { width: min(1180px, 100%); margin: 0 auto; }
.fifa-back { display: inline-flex; gap: .55rem; align-items: center; margin-bottom: 1.5rem; padding: .75rem 1rem; border: 1px solid #ccdde8; border-radius: 999px; background: #fff; color: var(--fifa-navy); font-weight: 800; text-decoration: none; box-shadow: 0 10px 25px rgba(16,47,74,.08); }
.fifa-back:hover { transform: translateY(-2px); }

.fifa-hero { display: grid; grid-template-columns: 250px 1fr; gap: 2.4rem; align-items: center; min-height: 330px; padding: 2.4rem; overflow: hidden; border-radius: 34px; color: #fff; background: radial-gradient(circle at 90% 5%, rgba(255,255,255,.18), transparent 28%), linear-gradient(135deg, #143d67, #32649a); box-shadow: 0 28px 65px rgba(16,47,74,.2); }
.fifa-logo-box { display: grid; place-items: center; height: 245px; padding: 1rem; border-radius: 28px; background: rgba(255,255,255,.96); }
.fifa-logo-box img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.fifa-kicker { margin: 0 0 .55rem; color: #5bc5df; font-size: .83rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.fifa-hero h1 { margin: 0; color: #fff; font-size: clamp(3rem, 7vw, 6.4rem); line-height: .95; letter-spacing: -.055em; }
.fifa-hero-copy > p:not(.fifa-kicker) { max-width: 60ch; font-size: 1.08rem; line-height: 1.7; }
.fifa-hero-meta { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.2rem; }
.fifa-hero-meta span, .fifa-hero-meta a { display: inline-flex; gap: .5rem; align-items: center; padding: .65rem .85rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.1); color: #fff; font-weight: 750; text-decoration: none; }

.fifa-editions, .worldcup-overview { margin-top: 4.5rem; }
.fifa-section-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 1.6rem; }
.fifa-section-heading h2, .worldcup-section-title h2 { margin: 0; color: var(--fifa-navy); font-size: clamp(2.1rem, 5vw, 4.2rem); line-height: 1; letter-spacing: -.05em; }
.fifa-section-heading > p { color: var(--fifa-muted); }
.fifa-edition-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1.25rem; }
.fifa-edition-card { position: relative; display: grid; grid-template-columns: 135px 1fr auto; gap: 1.25rem; align-items: center; min-height: 220px; padding: 1.45rem; overflow: hidden; border: 1px solid #d5e2ea; border-radius: 28px; background: #fff; color: inherit; text-decoration: none; box-shadow: 0 22px 50px rgba(16,47,74,.1); transition: .2s ease; }
.fifa-edition-card:hover { transform: translateY(-5px); box-shadow: 0 30px 60px rgba(16,47,74,.17); }
.fifa-edition-visual { position: relative; display: grid; place-items: center; align-self: stretch; min-height: 170px; overflow: hidden; border: 1px solid #dce7ed; border-radius: 22px; background: #fff; }
.fifa-edition-visual img { display: block; width: 100%; height: 100%; padding: .65rem; object-fit: contain; }
.fifa-edition-visual span { position: absolute; right: .55rem; bottom: .55rem; padding: .3rem .55rem; border-radius: 9px; background: rgba(16,47,74,.9); color: #fff; font-size: .82rem; font-weight: 900; box-shadow: 0 4px 12px rgba(16,47,74,.22); }
.fifa-edition-visual.is-placeholder { border: 0; color: #fff; background: linear-gradient(145deg, var(--fifa-blue), var(--fifa-navy)); }
.fifa-edition-visual.is-placeholder span { position: static; padding: 0; background: transparent; font-size: 2.2rem; box-shadow: none; }
.fifa-card-label { margin: 0; color: var(--fifa-blue); font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.fifa-edition-content h3 { margin: .35rem 0 .65rem; font-size: 1.35rem; }
.fifa-edition-content > p:last-of-type { color: var(--fifa-muted); }
.fifa-edition-stats { display: flex; flex-wrap: wrap; gap: .5rem; }
.fifa-edition-stats span { padding: .5rem .65rem; border-radius: 12px; background: #edf5f9; color: var(--fifa-muted); }
.fifa-edition-stats strong { color: var(--fifa-navy); }
.fifa-card-arrow { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--fifa-sky); color: var(--fifa-blue); }
.fifa-notice, .fifa-not-found { padding: 2rem; border: 1px solid #d5e2ea; border-radius: 24px; background: #fff; box-shadow: 0 20px 45px rgba(16,47,74,.08); }
.fifa-notice { display: flex; gap: .7rem; align-items: center; }
.fifa-not-found { text-align: center; }
.fifa-not-found > i { font-size: 3rem; color: var(--fifa-gold); }

.worldcup-hero { position: relative; display: grid; grid-template-columns: 190px 1fr auto; gap: 2rem; align-items: center; min-height: 340px; padding: 2.6rem; overflow: hidden; border-radius: 34px; background: radial-gradient(circle at 88% 8%, rgba(255,255,255,.2), transparent 30%), linear-gradient(135deg, #0c3f50, #138678); color: #fff; box-shadow: 0 28px 65px rgba(13,84,82,.2); }
.worldcup-mark { position: relative; display: grid; place-items: center; height: 230px; overflow: hidden; border: 2px solid rgba(255,255,255,.55); border-radius: 28px; background: rgba(255,255,255,.96); text-align: center; box-shadow: inset 0 0 0 10px rgba(255,255,255,.06); }
.worldcup-mark img { display: block; width: 100%; height: 100%; padding: 1rem; object-fit: contain; }
.worldcup-mark.is-placeholder { border-radius: 48% 48% 28% 28%; background: rgba(255,255,255,.12); }
.worldcup-mark.is-placeholder>i { color:#fff;font-size:4rem; }
.worldcup-copy h1 { margin: 0; color: #fff; font-size: clamp(2.4rem, 5vw, 4.8rem); line-height: 1; letter-spacing: -.05em; }
.worldcup-copy > p:not(.fifa-kicker) { max-width: 64ch; line-height: 1.65; }
.worldcup-hosts { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }
.worldcup-hosts span { display: inline-flex; align-items: center; gap: .5rem; padding: .6rem .8rem; border-radius: 999px; background: rgba(255,255,255,.14); font-weight: 800; }
.worldcup-hosts img { width: 28px; height: 19px; border: 1px solid rgba(255,255,255,.45); border-radius: 3px; object-fit: cover; }
.worldcup-count { display: grid; place-items: center; width: 110px; height: 110px; border-radius: 24px; background: rgba(255,255,255,.16); }
.worldcup-count strong { font-size: 2.4rem; line-height: 1; }
.worldcup-count span { font-weight: 800; }
.worldcup-section-title { margin-bottom: 1.5rem; }
.worldcup-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.worldcup-stat-grid article { display: grid; gap: .45rem; min-height: 165px; padding: 1.25rem; border: 1px solid #d5e2ea; border-radius: 22px; background: #fff; box-shadow: 0 15px 35px rgba(16,47,74,.08); }
.worldcup-stat-grid i { color: var(--fifa-blue); font-size: 1.4rem; }
.worldcup-stat-grid span { color: var(--fifa-muted); font-size: .85rem; font-weight: 800; text-transform: uppercase; }
.worldcup-stat-grid strong { align-self: end; font-size: 1.15rem; }
.worldcup-next-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 1rem; }
.worldcup-next-card { display: grid; grid-template-columns: 52px 1fr; gap: 1rem; padding: 1.3rem; border: 1px dashed #b8cbd7; border-radius: 22px; background: rgba(255,255,255,.72); color: inherit; text-decoration: none; transition: .2s ease; }
.worldcup-next-card[href]:hover { transform: translateY(-4px); border-color: #138678; box-shadow: 0 16px 35px rgba(16,47,74,.1); }
.worldcup-next-card > i { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--fifa-sky); color: var(--fifa-blue); }
.worldcup-next-card span { color: var(--fifa-muted); font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.worldcup-next-card h3 { margin: .2rem 0; }
.worldcup-next-card p { margin: .35rem 0 0; color: var(--fifa-muted); line-height: 1.55; }
.worldcup-next-card.is-ready { border-style: solid; }
.worldcup-groups { margin-top: 4.5rem; scroll-margin-top: 1.5rem; }
.worldcup-group-nav { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .7rem; margin-bottom: 1.4rem; padding: 1rem; border: 1px solid #d5e2ea; border-radius: 22px; background: #fff; box-shadow: 0 14px 35px rgba(16,47,74,.07); }
.worldcup-group-nav a { display:flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem .8rem;border:1px solid #d7e4ea;border-radius:13px;background:#f5f9fb;color:var(--fifa-navy);font-weight:850;text-align:center;text-decoration:none;transition:.18s ease; }
.worldcup-group-nav a:hover { border-color:#7ebdad;background:#e8f5f1;color:#08735d;transform:translateY(-2px); }
.worldcup-group-nav a.is-active { border-color:#138678;background:linear-gradient(135deg,#0c7669,#15967f);color:#fff;box-shadow:0 8px 18px rgba(19,134,120,.22); }
.worldcup-selected-group { padding: 1.5rem; border: 1px solid #d5e2ea; border-radius: 26px; background: #fff; box-shadow: 0 20px 45px rgba(16,47,74,.08); }
.worldcup-selected-group>header span { color: #138678; font-size: .78rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.worldcup-selected-group>header h3 { margin: .25rem 0 1.15rem; font-size: 1.8rem; }
.worldcup-group-teams { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem; }
.worldcup-group-teams article { display: grid; grid-template-columns: auto 44px minmax(0,1fr); gap: .7rem; align-items: center; padding: 1rem; border: 1px solid #dbe7ec; border-radius: 17px; background: #f7fafc; }
.worldcup-group-teams article>b { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: #dff3ed; color: #08735d; }
.worldcup-group-teams article>img { width: 44px; height: 30px; border: 1px solid #d2dfe4; border-radius: 5px; object-fit: cover; }
.worldcup-group-teams article>strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.worldcup-group-teams article>span { grid-column: 3; color: var(--fifa-muted); font-size: .78rem; }
.worldcup-standing-wrap{overflow-x:auto}.worldcup-standing{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #d5e2ea;border-radius:16px;background:#fff}.worldcup-standing th,.worldcup-standing td{padding:.8rem .7rem;border-bottom:1px solid #dbe5ea;text-align:center;white-space:nowrap}.worldcup-standing th{background:#edf3f6;color:#38566c;font-size:.78rem;font-weight:900;text-transform:uppercase}.worldcup-standing th:nth-child(2),.worldcup-standing td:nth-child(2){text-align:left}.worldcup-standing tbody tr:last-child td{border-bottom:0}.worldcup-standing tbody tr.is-qualified{background:#e8f5df}.worldcup-standing td:nth-child(2){display:flex;align-items:center;gap:.7rem;min-width:190px}.worldcup-standing td img{width:36px;height:24px;border:1px solid #d2dfe4;border-radius:4px;object-fit:cover}.worldcup-standing td:nth-child(3){color:#08735d;font-size:1.05rem}
.worldcup-detail-heading { margin-bottom: 2rem; padding: 2rem; border-radius: 28px; background: linear-gradient(135deg,#0c3f50,#138678); color: #fff; }
.worldcup-detail-heading h1 { margin: 0; color: #fff; font-size: clamp(2.4rem,6vw,4.7rem); line-height: 1; }
.worldcup-detail-heading>p:last-child { margin-bottom: 0; }
.worldcup-pool-matches { margin-top: 2.5rem; }.worldcup-pool-matches>h2 { font-size: 2rem; }
.worldcup-public-match-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.worldcup-public-match-grid>article { padding: 1.2rem; border: 1px solid #d5e2ea; border-radius: 20px; background: #fff; box-shadow: 0 12px 30px rgba(16,47,74,.07); }
.worldcup-public-match-grid time { display: block; margin-bottom: 1rem; color: var(--fifa-muted); font-size: .8rem; font-weight: 800; text-align: center; }
.worldcup-public-score { display: grid; grid-template-columns: 1fr auto 1fr; gap: .8rem; align-items:center; }.worldcup-public-score span { display: grid; justify-items: center; gap: .45rem; text-align:center; }.worldcup-public-score img { width: 45px; height: 31px; border:1px solid #d2dfe4;border-radius:5px;object-fit:cover; }.worldcup-public-score>strong { font-size:1.45rem;white-space:nowrap; }.worldcup-public-score i { color:#91a4af;font-style:normal; }
.worldcup-match-scorers{display:grid;grid-template-columns:1fr 1px 1fr;gap:.8rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid #e1eaee}.worldcup-match-scorers>span{background:#e1eaee}.worldcup-match-scorers ul{margin:0;padding:0;list-style:none;color:var(--fifa-muted);font-size:.85rem;text-align:center}.worldcup-match-scorers li+li{margin-top:.3rem}
.worldcup-knockout-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem; }.worldcup-knockout-grid article { padding:1.4rem;border:1px solid #d5e2ea;border-radius:22px;background:#fff;box-shadow:0 14px 35px rgba(16,47,74,.07); }.worldcup-knockout-grid i { display:grid;place-items:center;width:48px;height:48px;margin-bottom:1rem;border-radius:14px;background:var(--fifa-sky);color:var(--fifa-blue); }.worldcup-knockout-grid span { color:var(--fifa-muted);font-size:.76rem;font-weight:900;text-transform:uppercase; }.worldcup-knockout-grid h2 { margin:.3rem 0; }.worldcup-knockout-grid p { color:var(--fifa-muted); }

@media (max-width: 850px) {
    .fifa-hero, .worldcup-hero { grid-template-columns: 1fr; }
    .fifa-logo-box { width: min(250px, 100%); }
    .worldcup-mark { width: 180px; }
    .worldcup-count { position: absolute; top: 1.2rem; right: 1.2rem; width: 82px; height: 82px; }
    .worldcup-stat-grid { grid-template-columns: repeat(2, 1fr); }
    .worldcup-next-grid { grid-template-columns: 1fr; }
    .worldcup-group-teams { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .worldcup-group-nav { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .worldcup-knockout-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 560px) {
    .fifa-main { padding: 1.5rem .8rem 3rem; }
    .fifa-hero, .worldcup-hero { padding: 1.3rem; border-radius: 24px; }
    .fifa-section-heading { display: block; }
    .fifa-edition-card { grid-template-columns: 90px 1fr; }
    .fifa-edition-visual { min-height: 125px; }
    .fifa-card-arrow { display: none; }
    .worldcup-stat-grid { grid-template-columns: 1fr; }
    .worldcup-group-teams { grid-template-columns: 1fr; }
    .worldcup-group-nav { grid-template-columns:repeat(2,minmax(0,1fr));padding:.7rem; }
    .worldcup-public-match-grid,.worldcup-knockout-grid { grid-template-columns:1fr; }
}
