Résultats fédérale 3.
Résultats Fédérale 2 β Retrouvez les premiers résultats fédérale 2 des 8 poules ( matchs a suivre en direct sur notre site ou application sans pub chaque week end , dans le menu π΄EN DIRECT )
.comp-wrap { /* Brand tokens */ βnavy: #003f7c; βnavy-dark: #002a5d; βred: #d62242; βred-dark: #b91c3a; βgold: #f59e0b; βgray: #676767; βgray-light: #e9ecef; βgray-lighter: #f8f9fa; βwhite: #ffffff; βtext: #0f141a; βradius: 8px; βradius-lg: 12px; βradius-pill: 9999px; βshadow-sm: 0 1px 3px rgba(0,0,0,.05); βshadow-md: 0 4px 12px rgba(0, 63, 124, 0.12); βshadow-lg: 0 10px 30px rgba(0, 42, 93, 0.18); βshadow-red: 0 4px 16px rgba(214, 34, 66, 0.22); βfont-display: ‘Barlow Semi Condensed’, ‘Poppins’, -apple-system, sans-serif; βfont-body: ‘Poppins’, -apple-system, BlinkMacSystemFont, ‘Segoe UI’, sans-serif; βease: cubic-bezier(.4, 0, .2, 1); }/* Scoped reset */ .comp-wrap *, .comp-wrap *::before, .comp-wrap *::after { box-sizing: border-box; }.comp-wrap { max-width: 1240px; margin: 0 auto; padding: 20px; font-family: var(βfont-body); background: var(βgray-lighter); color: var(βtext); }/* ============================================== HEADER COMPÉTITION ============================================== */ .comp-title { position: relative; background: linear-gradient(135deg, var(βnavy) 0%, var(βnavy-dark) 100%); color: white; padding: 18px 24px 16px; border-radius: var(βradius-lg); margin-bottom: 18px; overflow: hidden; box-shadow: var(βshadow-lg); } .comp-title::before { content: »; position: absolute; inset: 0; background: repeating-linear-gradient( -45deg, transparent 0 20px, rgba(255,255,255,0.04) 20px 21px ); pointer-events: none; } .comp-title::after { content: »; position: absolute; right: -60px; top: 50%; transform: translateY(-50%); width: 220px; height: 220px; background: radial-gradient(circle, var(βred) 0%, transparent 65%); opacity: 0.28; pointer-events: none; } .comp-title-inner { position: relative; } .comp-title h1 { font-family: var(βfont-display); font-size: 1.55rem; line-height: 1.05; margin: 0; font-weight: 700; color: white; text-transform: uppercase; letter-spacing: 0.02em; } .comp-kicker { display: inline-block; font-family: var(βfont-body); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; color: rgba(255,255,255,0.7); margin-bottom: 5px; } .comp-meta { display: flex; align-items: center; gap: 10px; margin-top: 10px; flex-wrap: wrap; } .comp-live-count { display: inline-flex; align-items: center; gap: 7px; background: var(βred); padding: 5px 12px; border-radius: var(βradius-pill); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; box-shadow: 0 2px 10px rgba(214,34,66,0.4); } .comp-live-count::before { content: »; width: 7px; height: 7px; background: white; border-radius: 50%; animation: blink 1.5s infinite; } .comp-year-pill { display: inline-block; padding: 4px 10px; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.18); border-radius: var(βradius-pill); font-size: 11px; font-weight: 600; letter-spacing: 0.06em; } @keyframes blink { 0%,100%{opacity:1} 50%{opacity:.3} }/* ============================================== SECTION LABELS ============================================== */ .comp-section-label { font-family: var(βfont-display); margin: 22px 0 10px; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(βgray); display: flex; align-items: center; gap: 12px; } .comp-section-label::before { content: »; display: inline-block; width: 3px; height: 16px; background: var(βred); border-radius: var(βradius-pill); } .comp-section-label::after { content: »; flex: 1; height: 1px; background: linear-gradient(to right, var(βgray-light), transparent); } .comp-section-label:first-of-type { margin-top: 14px; }/* ============================================== POULE SELECTOR (sticky) ============================================== */ .poule-selector { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; padding: 10px 12px; background: rgba(255,255,255,0.95); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border: 1px solid var(βgray-light); border-radius: var(βradius); box-shadow: var(βshadow-sm); position: sticky; top: var(βcomp-sticky-top, 0px); z-index: 20; } .poule-btn { padding: 8px 16px; background: white; border: 1.5px solid var(βgray-light); border-radius: var(βradius-pill); font-family: var(βfont-display); font-size: 13px; font-weight: 600; letter-spacing: 0.05em; color: var(βnavy); cursor: pointer; transition: all 0.2s var(βease); text-transform: uppercase; font-family: inherit; } .poule-btn { font-family: var(βfont-display); } .poule-btn:hover { border-color: var(βred); color: var(βred); transform: translateY(-1px); } .poule-btn.active { background: var(βnavy); color: white; border-color: var(βnavy); box-shadow: 0 2px 10px rgba(0,63,124,0.3); }/* ============================================== PHASE CONTAINER ============================================== */ .phase-container { margin-bottom: 28px; } .phase-container.group { display: none; } .phase-container.group.active { display: block; animation: fadeIn 0.3s var(βease); } @keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }/* Phase header (standalone card) */ .phase-header { position: relative; color: white; padding: 12px 20px; border-radius: var(βradius-lg); margin-bottom: 10px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; overflow: hidden; box-shadow: 0 4px 16px rgba(0, 42, 93, 0.1); } .phase-container.group .phase-header { background: linear-gradient(135deg, var(βnavy) 0%, var(βnavy-dark) 100%); } .phase-container.knockout .phase-header { background: linear-gradient(135deg, var(βred) 0%, var(βred-dark) 100%); } .phase-header::before { content: »; position: absolute; inset: 0; background: repeating-linear-gradient( -45deg, transparent 0 18px, rgba(255,255,255,0.04) 18px 19px ); pointer-events: none; } .phase-title { position: relative; font-family: var(βfont-display); font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; } .phase-badge { position: relative; margin-left: auto; display: inline-flex; align-items: center; gap: 6px; background: rgba(0,0,0,0.25); padding: 4px 10px; border-radius: var(βradius-pill); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; } .phase-badge.live { background: rgba(255,255,255,0.2); } .phase-badge.live::before { content: »; width: 6px; height: 6px; background: white; border-radius: 50%; animation: blink 1.5s infinite; }/* Phase subtabs (journées) — standalone card */ .phase-subtabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 12px 14px; background: white; border: 1px solid var(βgray-light); border-radius: var(βradius); margin-bottom: 10px; box-shadow: var(βshadow-sm); } .phase-subtab { position: relative; padding: 6px 13px; background: white; border: 1.5px solid var(βgray-light); border-radius: var(βradius-pill); font-family: var(βfont-body); font-size: 12px; font-weight: 600; color: var(βnavy); cursor: pointer; transition: all 0.2s var(βease); white-space: nowrap; } .phase-subtab:hover { border-color: var(βnavy); transform: translateY(-1px); } .phase-subtab.active { background: var(βnavy); color: white; border-color: var(βnavy); } .phase-subtab.has-live::after { content: »; position: absolute; top: -3px; right: -3px; width: 9px; height: 9px; background: var(βred); border: 2px solid white; border-radius: 50%; animation: blink 1.5s infinite; } .phase-subtab.current .dot-current { display: inline-block; width: 5px; height: 5px; background: var(βred); border-radius: 50%; margin-right: 5px; vertical-align: middle; } .phase-subtab.active .dot-current { background: white; }/* Phase content — standalone card */ .phase-content { background: white; border: 1px solid var(βgray-light); border-radius: var(βradius); padding: 16px; box-shadow: var(βshadow-sm); }/* Phase body: sidebar (standings) + main (matches) */ .phase-body { display: block; } .phase-main { min-width: 0; } .phase-sidebar { min-width: 0; }/* Phases finales : grille 2 colonnes sur desktop */ .knockouts-grid { display: flex; flex-direction: column; gap: 16px; } .knockouts-grid .phase-container { margin-bottom: 0; min-width: 0; } .phase-journee-panel { display: none; } .phase-journee-panel.active { display: block; animation: fadeIn 0.2s var(βease); }/* ============================================== KNOCKOUT — onglets Aller/Retour + rangées compactes ============================================== */ .ko-leg-tabs { display: flex; gap: 8px; margin-bottom: 12px; padding: 4px; background: var(βgray-lighter); border-radius: var(βradius); } .ko-leg-tab { flex: 1; position: relative; padding: 8px 14px; background: transparent; border: none; border-radius: 6px; font-family: var(βfont-display); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(βgray); cursor: pointer; transition: all 0.18s var(βease); display: inline-flex; align-items: center; justify-content: center; gap: 6px; } .ko-leg-tab:hover { color: var(βnavy); } .ko-leg-tab.active { background: white; color: var(βnavy-dark); box-shadow: var(βshadow-sm); } .ko-leg-tab .ko-leg-count { display: inline-block; padding: 1px 7px; background: var(βgray-light); color: var(βnavy); border-radius: var(βradius-pill); font-size: 10px; font-weight: 700; line-height: 1.4; } .ko-leg-tab.active .ko-leg-count { background: var(βnavy); color: white; } .ko-leg-tab .ko-leg-live { display: inline-block; width: 7px; height: 7px; background: var(βred); border-radius: 50%; animation: blink 1.5s infinite; } .ko-leg-panel { display: none; } .ko-leg-panel.active { display: block; animation: fadeIn 0.18s var(βease); }/* Rangées compactes — une ligne par match */ .match-compact { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto minmax(0, 1fr) 22px; column-gap: 10px; align-items: center; padding: 6px 12px; background: white; border: 1px solid var(βgray-light); border-radius: 6px; margin-bottom: 4px; text-decoration: none; color: var(βnavy); font-size: 12.5px; line-height: 1.3; position: relative; transition: border-color 0.15s var(βease), background 0.15s var(βease), transform 0.15s var(βease); } .match-compact:last-child { margin-bottom: 0; } .match-compact:hover { border-color: var(βred); background: white; transform: translateX(2px); text-decoration: none; color: var(βnavy); } .match-compact.live { border-color: rgba(214,34,66,0.4); background: rgba(214,34,66,0.04); } .match-compact.live::before { content: »; position: absolute; left: -1px; top: -1px; bottom: -1px; width: 3px; background: var(βred); border-radius: 6px 0 0 6px; } .match-compact.finished { background: var(βgray-lighter); } .match-compact .team-logo-mini { width: 22px; height: 22px; flex-shrink: 0; } .match-compact .team-logo-mini img { width: 100%; height: 100%; object-fit: contain; display: block; } .match-compact .team-name-mini { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; } .match-compact .team-name-mini.visitor { text-align: right; } .match-compact.finished.local-loser .team-name-mini.local, .match-compact.finished.visitor-loser .team-name-mini.visitor { color: var(βgray); font-weight: 500; } .match-compact.finished.local-winner .team-name-mini.local, .match-compact.finished.visitor-winner .team-name-mini.visitor { color: var(βnavy-dark); font-weight: 700; } .match-compact .match-mid { display: flex; align-items: center; justify-content: center; min-width: 90px; } .match-compact .score-pill { display: inline-flex; align-items: baseline; gap: 3px; padding: 4px 9px; background: var(βnavy); color: white; border-radius: 4px; font-family: var(βfont-display); font-weight: 700; font-size: 13px; font-variant-numeric: tabular-nums; letter-spacing: 0.02em; } .match-compact .score-pill.live { background: var(βred); } .match-compact .score-pill .score-dash { font-weight: 400; opacity: 0.5; } .match-compact .live-mini { margin-left: 6px; padding: 2px 6px; background: var(βred); color: white; border-radius: var(βradius-pill); font-family: var(βfont-display); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; animation: blink 1.5s infinite; } .match-compact .match-time-compact { font-size: 11.5px; color: var(βgray); font-variant-numeric: tabular-nums; white-space: nowrap; } .match-compact .match-time-compact strong { color: var(βnavy); font-weight: 700; margin-left: 4px; } /* Badge « Cumul aller-retour » sur le retour quand les 2 manches sont jouées */ .match-compact .cumul-badge { position: absolute; top: -7px; right: 10px; padding: 2px 7px; background: var(βgold); color: white; border-radius: var(βradius-pill); font-family: var(βfont-display); font-size: 9.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; box-shadow: 0 2px 4px rgba(245,158,11,0.35); pointer-events: none; white-space: nowrap; } .match-compact .cumul-badge .cumul-dash { opacity: 0.7; margin: 0 2px; } .match-compact .cumul-badge.draw { background: var(βgray); }/* ============================================== MATCH ROW ============================================== */ .match-row { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; padding: 14px 18px 14px 21px; background: white; border: 1.5px solid var(βgray-light); border-radius: var(βradius); margin-bottom: 8px; cursor: pointer; transition: all 0.25s var(βease); align-items: center; text-decoration: none; color: inherit; position: relative; overflow: hidden; } .match-row:last-child { margin-bottom: 0; } .match-row:hover { border-color: var(βred); transform: translateY(-2px); box-shadow: var(βshadow-red); text-decoration: none; color: inherit; } .match-row.live { background: linear-gradient(90deg, rgba(214,34,66,0.05) 0%, transparent 60%); border-color: rgba(214,34,66,0.35); } .match-row::after { content: »; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: transparent; transition: background 0.25s var(βease); } .match-row.live::after { background: var(βred); } .match-row.finished::after { background: var(βnavy); }/* Today pill */ .today-pill { display: inline-block; padding: 2px 7px; background: var(βgold); color: white; border-radius: var(βradius-pill); font-family: var(βfont-display); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; }.team-info { display: flex; align-items: center; gap: 12px; min-width: 0; } .team-info.away { flex-direction: row-reverse; text-align: right; } .team-name { font-family: var(βfont-body); font-size: 14px; font-weight: 600; color: var(βnavy); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .team-info.away .team-name { color: var(βgray); } .team-logo { width: 40px; height: 40px; object-fit: contain; flex-shrink: 0; transition: transform 0.25s var(βease); } .match-row:hover .team-logo { transform: scale(1.08); }.match-center { text-align: center; min-width: 84px; } .score-box { display: inline-flex; align-items: center; justify-content: center; gap: 4px; background: var(βnavy); color: white; padding: 7px 12px; border-radius: var(βradius); font-family: var(βfont-display); font-weight: 700; font-size: 1.15rem; line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: 0.02em; min-width: 68px; } .score-box .score-dash { font-weight: 400; opacity: 0.5; margin: 0 2px; } .score-box.live { background: var(βred); animation: pulse 2s infinite; } @keyframes pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(214,34,66,.4); } 50% { box-shadow: 0 0 0 10px rgba(214,34,66,0); } } .live-pill { display: block; font-family: var(βfont-body); font-size: 9px; font-weight: 700; letter-spacing: 0.12em; color: var(βred); margin-top: 4px; text-transform: uppercase; } .live-pill::before { content: »; display: inline-block; width: 5px; height: 5px; background: var(βred); border-radius: 50%; margin-right: 4px; animation: blink 1.5s infinite; vertical-align: middle; } .match-datetime { font-size: 12px; color: var(βgray); line-height: 1.3; } .match-datetime .match-date { display: block; font-weight: 500; } .match-time { display: block; font-family: var(βfont-display); font-weight: 700; color: var(βnavy); font-size: 1.05rem; margin-top: 3px; letter-spacing: 0.02em; font-variant-numeric: tabular-nums; }/* ============================================== STANDINGS ============================================== */ .standings-wrap { background: white; border: 1px solid var(βgray-light); border-radius: var(βradius); overflow: hidden; margin: 0 0 16px; } .comp-standings { width: 100%; border-collapse: collapse; font-size: 13px; } .comp-standings thead tr { background: var(βnavy); color: white; } .comp-standings th { padding: 13px 8px; text-align: center; font-family: var(βfont-display); font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; } .comp-standings th:nth-child(2) { text-align: left; padding-left: 16px; } .comp-standings td { padding: 11px 8px; text-align: center; border-bottom: 1px solid var(βgray-light); font-variant-numeric: tabular-nums; } .comp-standings td:nth-child(2) { text-align: left; padding-left: 16px; } .comp-standings tbody tr:last-child td { border-bottom: 0; } .comp-standings tbody tr { transition: background 0.15s ease; } .comp-standings tbody tr:hover { background: #fafbfd; }.rank { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; font-family: var(βfont-display); font-weight: 700; font-size: 14px; color: var(βnavy); background: var(βgray-lighter); border-radius: 6px; } .comp-standings tbody tr:first-child .rank { background: linear-gradient(135deg, var(βgold), #d97706); color: white; box-shadow: 0 2px 6px rgba(245,158,11,0.4); }.team-cell { display: flex; align-items: center; gap: 10px; } .team-cell img { width: 24px; height: 24px; object-fit: contain; flex-shrink: 0; } .team-cell span { font-family: var(βfont-body); font-weight: 600; color: var(βnavy); } .comp-standings td.pts strong { display: inline-block; background: var(βnavy); color: white; padding: 4px 11px; border-radius: var(βradius); font-family: var(βfont-display); font-size: 14px; font-weight: 700; min-width: 36px; font-variant-numeric: tabular-nums; }/* Forme column */ .forme-cell { display: inline-flex; gap: 3px; justify-content: center; } .forme-dot { width: 18px; height: 18px; border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; font-family: var(βfont-display); font-size: 10px; font-weight: 700; color: white; } .forme-dot.V { background: #16a34a; } .forme-dot.N { background: var(βgray); } .forme-dot.D { background: var(βred); }/* ============================================== TEAM SEARCH ============================================== */ .team-search { position: relative; margin-bottom: 14px; } .team-search input { width: 100%; padding: 11px 38px 11px 40px; background: white; border: 1.5px solid var(βgray-light); border-radius: var(βradius); font-family: var(βfont-body); font-size: 14px; color: var(βtext); outline: none; transition: all 0.2s var(βease); } .team-search input::placeholder { color: #9aa3af; font-family: var(βfont-body); } .team-search input:focus { border-color: var(βnavy); box-shadow: 0 0 0 3px rgba(0, 63, 124, 0.12); } .team-search .ts-icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(βgray); pointer-events: none; width: 16px; height: 16px; } .team-search .ts-clear { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; border: 0; background: var(βgray-light); border-radius: 50%; color: var(βgray); cursor: pointer; display: none; align-items: center; justify-content: center; font-family: inherit; font-size: 14px; line-height: 1; } .team-search .ts-clear:hover { background: var(βred); color: white; } .team-search.has-value .ts-clear { display: inline-flex; } .ts-hint { display: none; margin-top: 6px; font-size: 12px; color: var(βgray); padding: 0 4px; } .team-search.has-value + .ts-hint { display: block; }/* Highlight matching rows/matches */ .comp-standings tbody tr.is-match { background: rgba(245, 158, 11, 0.12); box-shadow: inset 3px 0 0 var(βgold); } .match-row.is-dim { opacity: 0.35; filter: saturate(0.4); } .match-row.is-match { border-color: var(βgold); box-shadow: 0 2px 10px rgba(245, 158, 11, 0.2); } .poule-btn.is-match { border-color: var(βgold); color: var(βgold); } .poule-btn.is-match.active { background: var(βgold); color: white; border-color: var(βgold); box-shadow: 0 2px 10px rgba(245, 158, 11, 0.35); }/* ============================================== DAY GROUPING (inside a journée) ============================================== */ .day-group + .day-group { margin-top: 14px; } .day-header { display: flex; align-items: center; gap: 10px; margin: 4px 0 10px; font-family: var(βfont-display); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; color: var(βgray); } .day-header::before { content: »; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(βnavy); } .day-header.is-today::before { background: var(βred); animation: blink 1.5s infinite; } .day-header.is-today { color: var(βred); } .day-header::after { content: »; flex: 1; height: 1px; background: var(βgray-light); }/* ============================================== EMPTY / LOADING / ERROR ============================================== */ .empty-state { text-align: center; padding: 36px 20px; color: var(βgray); font-size: 14px; } .empty-state::before { content: »; display: block; width: 44px; height: 44px; margin: 0 auto 12px; background: var(βgray-lighter); border-radius: 50%; background-image: radial-gradient(circle, var(βgray-light) 30%, var(βgray-lighter) 31%); }.comp-loading { padding: 8px 0; } .skel { background: linear-gradient(90deg, #eef1f5 0%, #f7f9fb 50%, #eef1f5 100%); background-size: 200% 100%; animation: shimmer 1.4s infinite; border-radius: var(βradius); } .skel-title { height: 110px; margin-bottom: 20px; border-radius: var(βradius-lg); } .skel-row { height: 66px; margin-bottom: 8px; } @keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }.comp-error { padding: 20px; background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; border-radius: var(βradius); }/* ============================================== RESPONSIVE ============================================== */ @media (max-width: 768px) { .comp-wrap { padding: 12px; } .comp-title { padding: 14px 16px; } .comp-title h1 { font-size: 1.25rem; } .comp-kicker { font-size: 9px; } .poule-selector { padding: 8px 10px; gap: 6px; } .poule-btn { padding: 6px 12px; font-size: 12px; } .match-row { padding: 12px 12px 12px 16px; gap: 10px; } .team-info { gap: 8px; } .team-name { font-size: 13px; } .team-logo { width: 32px; height: 32px; } .match-center { min-width: 88px; } .score-box { font-size: 1rem; padding: 6px 11px; min-width: 62px; } .match-time { font-size: 0.95rem; } .match-datetime { font-size: 11px; } .comp-standings { font-size: 12px; } .comp-standings th, .comp-standings td { padding: 9px 4px; } .comp-standings th:nth-child(2), .comp-standings td:nth-child(2) { padding-left: 10px; } .rank { width: 22px; height: 22px; font-size: 12px; } .team-cell { gap: 6px; } .team-cell img { width: 18px; height: 18px; } .comp-standings td.pts strong { padding: 3px 9px; font-size: 12px; min-width: 30px; } .phase-header { padding: 10px 14px; } .phase-title { font-size: 0.95rem; } .phase-content { padding: 12px; } .phase-subtabs { padding: 10px 12px; } .phase-subtab { font-size: 11px; padding: 5px 10px; } .forme-dot { width: 16px; height: 16px; font-size: 9px; } .hide-mobile { display: none; } } @media (max-width: 480px) { .comp-standings th, .comp-standings td { padding: 7px 3px; font-size: 11px; } .team-cell span { font-size: 11px; } }/* ============================================== DESKTOP (≥1024px) — 2-column split ============================================== */ @media (min-width: 1024px) { .comp-title { padding: 24px 28px 22px; } .comp-title h1 { font-size: 1.75rem; }.phase-container.group .phase-body:has(.phase-sidebar) { display: grid; grid-template-columns: minmax(460px, 560px) 1fr; gap: 20px; align-items: start; } .phase-container.group .phase-sidebar { position: sticky; top: calc(var(βcomp-sticky-top, 0px) + 80px); z-index: 5; } .phase-container.group .phase-sidebar .standings-wrap { margin: 0; max-height: calc(100vh β 110px); overflow-y: auto; scrollbar-width: thin; } /* Sidebar standings : on masque seulement PM/PE, on garde N, +/-, Forme */ .phase-container.group .phase-sidebar .comp-standings .col-hide-narrow { display: none; } .phase-container.group .phase-sidebar .comp-standings th, .phase-container.group .phase-sidebar .comp-standings td { padding: 9px 6px; } .phase-container.group .phase-sidebar .comp-standings th:nth-child(2), .phase-container.group .phase-sidebar .comp-standings td:nth-child(2) { padding-left: 12px; } .phase-container.group .phase-sidebar .team-cell span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 160px; display: inline-block; vertical-align: middle; } .phase-container.group .phase-sidebar .forme-dot { width: 16px; height: 16px; font-size: 9px; }/* More generous match row on desktop */ .match-row { padding: 16px 20px 16px 24px; } .team-logo { width: 44px; height: 44px; } .team-name { font-size: 15px; } .score-box { font-size: 1.25rem; padding: 8px 14px; min-width: 72px; } .match-time { font-size: 1.15rem; }/* Phases finales : 2 colonnes */ .knockouts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } /* Match rows en phase finale (single-leg) repassent compacts */ .knockouts-grid .match-row { padding: 14px 16px 14px 18px; } .knockouts-grid .team-logo { width: 36px; height: 36px; } .knockouts-grid .team-name { font-size: 13.5px; } .knockouts-grid .score-box { font-size: 1.05rem; padding: 6px 11px; min-width: 62px; } .knockouts-grid .match-time { font-size: 1rem; } /* Finale plein écran (D) */ .knockouts-grid .phase-container.is-final { grid-column: 1 / -1; } .knockouts-grid .phase-container.is-final .phase-title { font-size: 1.4rem; letter-spacing: 0.06em; } .knockouts-grid .phase-container.is-final .match-compact { padding: 12px 18px; font-size: 14.5px; } .knockouts-grid .phase-container.is-final .match-compact .team-logo-mini { width: 32px; height: 32px; } .knockouts-grid .phase-container.is-final .match-compact .score-pill { font-size: 1.15rem; padding: 7px 14px; } }/* Reduced motion — respect user preference */ @media (prefers-reduced-motion: reduce) { .comp-wrap *, .comp-wrap *::before, .comp-wrap *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } }
data-competition="federale-3" sur #comp-root.| Pos | Équipe | J | G | P | +/- | ${hasForme ? ‘‘ : »}Pts |
|---|---|---|---|---|---|---|
| ${esc(t.rank ?? i + 1)} | ${t.team_img_url ? ` | ${esc(t.matchs_joues ?? 0)} | ${esc(t.matchs_gagnes ?? 0)} | ${esc(t.matchs_perdus ?? 0)} | ${esc(t.diff_buts ?? 0)} | ${hasForme ? `` : »}${esc(t.points ?? 0)} |
${title}
Résultats Fédérale 3
Résultats Fédérale 3 en direct : Cliquez sur le club ou le match de votre choix pour suivre le direct en direct/live, revoir les actions du match, les joueurs qui ont marqué, ainsi que la composition des équipes. Vous pourrez suivre facilement les Résultats Fédérale 3.
Comme chaque journée, nous proposons une couverture en direct des matchs du Résultats Fédérale 3 de rugby à travers toutes les compétitions. Que préfériez suivre les résultats du rugby en écoutant une couverture radio détaillée ou en suivant les scores en temps réel, avons tout ce dont avez besoin pour ne rien manquer de l’action sur le terrain.
Ce service couvre toutes les compétitions majeures, y compris le prestigieux Tournoi des Six Nations, la coupe du monde de rugby , le Top 14, la Pro D2, la Nationale et la Fédérale. Peu importe votre ligue préférée ou votre équipe favorite, trouverez ici une mine d’informations pour vivre chaque instant des Résultats Fédérale 3 rugby en direct.
À lire aussi | Saint-Raphaël / Fréjus champion de France après un sacre historique en Fédérale 3
Pour accéder à couverture en direct du Résultats Fédérale 3, il suffit de naviguer dans le menu convivial. Une fois là-bas, trouverez un onglet dédié intitulé « π΄EN DIRECT«. Cliquez simplement sur cet onglet, et serez transporté virtuellement au stade du Résultats Nationale de votre choix, prêt à suivre le match de rugby en temps réel.
Grâce à l’équipe de commentateurs ou de scoreurs passionnés et experts du rugby, soyez plongé au cœur de l’action. Les commentaires détaillés tiendront informé de tous les événements marquants, des essais spectaculaires aux pénalités cruciales, en passant par les transformations réussies concernant les Résultats Fédérale 3. Nous donnerons également des analyses approfondies, des statistiques clés, et des anecdotes intéressantes sur les joueurs et l’équipe de votre choix pour enrichir votre expérience de visionnage.
Si préférez suivre les résultats plutôt qu’écouter les commentaires en direct, le service de score en temps réel des Résultats Fédérale 3 est là pour vous. Pouvez suivre les résultats pour chaque match, avec des mises à jour régulières pour tenir au courant des développements sur le terrain. Aurez ainsi un aperçu rapide des performances des équipes et de l’évolution des résultats tout au long des matchs.
Écoutez direct sur une des radio dédiée. Suivez les commentaires et les résultats des matchs grâce à nos commentateurs passionnés qui tiendront informé de chaque action sur les Résultats Fédérale 3. Au travail, en déplacement, ou à la maison, la radio permet de rester connecté partout.
À lire aussi | Demi-finales Fédérale 3 : le dernier carré est désormais connu
Pour ne manquer aucune action, suivez les matchs en direct sur la plateforme des radios. Les radios sont disponibles sur tous les appareils, que ce soit sur votre ordinateur, votre tablette ou votre téléphone avec notamment notre application rugby.
Grace à la couverture en direct soyez sûr de ne rien manquer. Alors, rejoignez-nous dès maintenant pour suivre les Résultats Fédérale 3 en direct dans les moindres détails, que ce soit sur la radio, en suivant les résultats. Vivez pleinement votre passion du rugby avec nous et plongez au cœur de l’action !

