@font-face {
    font-family: 'DIN Next LT Pro';
    src: url('/fonts/din-next-lt-pro-regular.eot');
    /* IE9 Compat Modes */
    src: url('/fonts/din-next-lt-pro-regular.eot?#iefix') format('embedded-opentype'),
        /* IE6?IE8 */
        url('/fonts/din-next-lt-pro-regular.woff2') format('woff2'),
        /* Super Modern Browsers */
        url('/fonts/din-next-lt-pro-regular.woff') format('woff');
    /* Modern Browsers */
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DIN Next LT Pro Bold';
    src: url('/fonts/din-next-lt-pro-bold.eot');
    /* IE9 Compat Modes */
    src: url('/fonts/din-next-lt-pro-bold.eot?#iefix') format('embedded-opentype'),
        /* IE6?IE8 */
        url('/fonts/din-next-lt-pro-bold.woff2') format('woff2'),
        /* Super Modern Browsers */
        url('/fonts/din-next-lt-pro-bold.woff') format('woff');
    /* Modern Browsers */
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

html {
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
}

.hidden {
    visibility: hidden;
}

body {
    font-family: 'DIN Next LT Pro', Arial, sans-serif;
    padding: 20px;
    background: #f9f9f9;
    text-align: center;
    font-size: 16px;
    margin: 0;
    color: #000;
}

header {
    text-align: center;
}

.page0 header {
    /*display: none;*/
}

.page0 #header-bottom {
    padding: 0;
}

#header-top {
    display: grid;
    grid-template-columns: 260px auto;
    gap: 30px;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    height: 100px;
    justify-items: left;
    position: relative;
}

.page0 #header-top {
    height: 80px;
}

#header-top a {
    text-decoration: none;
    display: inline-block;
}

div#app-logo {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 10px;
}

#app-logo-image img {
    height: 100px;
}

#app-logo-text {
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    font-size: 50px;
}

.page0 #app-logo-text {
    background: linear-gradient(90deg, #d5622c, #fccc50);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    /* -webkit-text-stroke: 1px #d5622c; */
    background-clip: text;
    color: transparent;
}

.icon.soccer-ball svg {
    width: 45px;
    height: 45px;
    /* display: inline; */
    margin: 0;
    padding: 0;
    position: relative;
    top: 6px;
}

.icon.soccer-ball svg path {
    /* ici on d�finit la couleur � courante � du SVG */
    fill: currentColor;
    /* si votre SVG a plusieurs paths avec un fill propre, vous pouvez cibler */
    /* path { fill: currentColor; } ou .st0 { fill: currentColor; } */
}

/* ensuite, n?importe o� */
.soccer-ball {
    color: #d5622c;
    display: inline-block;
}

/*.soccer-ball:hover { color: #fccc50; }*/
#league-logo {
    height: 180px;
    position: absolute;
    left: 460px;
    top: -10px;
}

#header-top #league-logo img {
    height: 180px;
}

nav {
    position: absolute;
    right: 0;
    z-index: 1000;
    top: 35px;
    /*background-color: white;*/
    text-align: left;
}

#nav-btn {
    position: absolute;
    right: 0;
    top: 0;
    cursor: pointer;
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    text-transform: uppercase;
    font-size: 20px;
}

.page0 #nav-btn {
    background: linear-gradient(90deg, #d5622c, #fccc50);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    /* -webkit-text-stroke: 1px #d5622c; */
    background-clip: text;
    color: transparent;
}

#nav-btn i {
    margin-right: 5px;
}

#leagues-nav {
    width: 280px;
    font-family: Arial, sans-serif;
    display: none;
    background-color: #f9f9f9;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

#leagues-nav.leagues-home-list {
    display: block !important;
}

/* remise � z�ro des listes */
#leagues-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#leagues-nav .level1 {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    margin-bottom: 10px;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    height: fit-content;
}

/* Niveau 1 : cat�gories */
#leagues-nav .level1>li {
    color: #fff;
    padding: 10px 10px;
    /* border-radius: 4px; */
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    margin-top: 8px;
    background: #fff;
    font-size: 22px;
    /* border: #00000017 1px solid; */
    border-bottom: 0;
    text-transform: uppercase;
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    /* background: linear-gradient(90deg, rgba(0, 0, 97, 1) 0%, rgba(0, 0, 156, 1) 100%); */
    background: linear-gradient(90deg, #d5622c, #fccc50);
    border-bottom: #d5622c 5px solid;
    line-height: 22px;
    height: 40px;
    box-sizing: border-box;
}

/* Premier �l�ment sans marge haute */
#leagues-nav .level1>li:first-child {
    margin-top: 0;
}

/* Niveau 2 : sous-�l�ments */
#leagues-nav .level2 {
    margin-top: 0px;
    padding-left: 46px;
    background-color: #fff;
}

.page0 h1 {
    font-size: 30px;
    background: linear-gradient(90deg, #d5622c, #d06431);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    /* -webkit-text-stroke: 1px #d5622c; */
    background-clip: text;
    color: transparent;
    display: inline-block;
}

.page0 h1 strong {
    text-transform: none;
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
}

.page0 #intro strong {
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
}

.page0 #intro {
    font-size: 18px;
    color: #000000bf;
    margin-bottom: 40px;
}

.page0 #main {
    display: block !important;
}

.page0 #main #leagues-nav.leagues-home-list {
    display: block !important;
    width: 100%;
    margin-top: 22px;
}

.page0 #main #leagues-nav .level2 {
    padding-left: 120px;
}

.page0 #main #leagues-nav .level2 li {
    height: 120px;
}

.page0 #main #leagues-nav .level2 div::before {
    width: 100px;
    height: 100px;
    left: -120px;
    top: 11px;
}

#leagues-nav .level2 li {
    margin-top: 0px;
    font-family: 'DIN Next LT Pro', Arial, sans-serif;
}

.page0 #main #leagues-nav .level2 div {
    height: 120px;
    box-sizing: border-box;
    padding-top: 18px;
}

.page0 #main #leagues-nav .level2 div {
    font-size: 40px;
}

.page0 #main #leagues-nav .level2 a span {
    font-size: 28px;
}

#leagues-nav .level2 div {
    display: block;
    text-decoration: none;
    background: #ECF0F1;
    color: #fff;
    padding: 8px 12px;
    /* border-radius: 4px; */
    transition: background 0.3s, color 0.3s;
    position: relative;
    font-size: 20px;
}

#leagues-nav .level2 div::before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 46px;
    margin-right: 0px;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    position: absolute;
    left: -51px;
}

#leagues-nav .level2 div.league2::before {
    background-image: url('/assets/images/logos_ligues/favicon-ligue1_v2.png');
}

#leagues-nav .level2 div.league2 {
    background: #fac877;
    background: linear-gradient(90deg, rgba(250, 200, 119, 1) 0%, rgba(214, 171, 108, 1) 100%);
    border-left: #21255e 8px solid;
}

#leagues-nav .level2 div.league2:hover {
    background: #d6ab6c;
    background: linear-gradient(90deg, rgba(214, 171, 108, 1) 0%, rgba(250, 200, 119, 1) 100%);
    border-left: #d6ab6c 8px solid;
}

#leagues-nav .level2 div.league4::before {
    background-image: url('/assets/images/logos_ligues/favicon-ligue2_v2.png');
}

#leagues-nav .level2 div.league4 {
    background: #00d6ff;
    background: linear-gradient(90deg, rgba(0, 214, 255, 1) 0%, rgba(0, 183, 230, 1) 100%);
    border-left: #21255e 8px solid;
}

#leagues-nav .level2 div.league4:hover {
    background: #00a3e6;
    background: linear-gradient(90deg, rgba(0, 183, 230, 1) 0%, rgba(0, 214, 255, 1) 100%);
    border-left: #00a3e6 8px solid;
}

#leagues-nav .level2 div.league5::before {
    background-image: url('/assets/images/logos_ligues/favicon-plsjq.png');
}

/*#leagues-nav .level2 div.league5 {*/
/*    background: #2d3c91;*/
/*    background: linear-gradient(90deg, rgba(45, 60, 145, 1) 0%, rgba(24, 34, 112, 1) 100%);*/
/*    border-left: #c49d3e 8px solid;*/
/*}*/
/*#leagues-nav .level2 div.league5:hover {*/
/*    background: #182270;*/
/*    background: linear-gradient(90deg, rgba(24, 34, 112, 1) 0%, rgba(45, 60, 145, 1) 100%);*/
/*    border-left: #182270 8px solid;*/
/*}*/
#leagues-nav .level2 div.league5 {
    background: #dab83d;
    background: linear-gradient(90deg, rgba(218, 184, 61, 1) 0%, rgba(178, 142, 20, 1) 100%);
    border-left: #313c98 8px solid;
}

#leagues-nav .level2 div.league5:hover {
    background: #b28e14;
    background: linear-gradient(90deg, rgba(178, 142, 20, 1) 0%, rgba(218, 184, 61, 1) 100%);
    border-left: #b28e14 8px solid;
}

#leagues-nav .level2 div.league1::before {
    background-image: url('/assets/images/logos_ligues/favicon-ldp.png');
}

#leagues-nav .level2 div.league1 {
    background: #334494;
    background: linear-gradient(90deg, rgba(51, 68, 148, 1) 0%, rgba(32, 39, 85, 1) 100%);
    border-left: #8e8d9e 8px solid;
}

#leagues-nav .level2 div.league1:hover {
    background: #202755;
    background: linear-gradient(90deg, rgba(32, 39, 85, 1) 0%, rgba(51, 68, 148, 1) 100%);
    border-left: #202755 8px solid;
}

#leagues-nav .level2 div.league3::before {
    background-image: url('/assets/images/logos_ligues/favicon-tournoi-exp-showcase.png');
}

#leagues-nav .level2 div.league3 {
    background: #d61f36;
    background: linear-gradient(90deg, rgba(214, 31, 54, 1) 0%, rgba(186, 19, 41, 1) 100%);
    border-left: #000000 8px solid;
}

#leagues-nav .level2 div.league3:hover {
    background: #BA1329;
    background: linear-gradient(90deg, rgba(186, 19, 41, 1) 0%, rgba(214, 31, 54, 1) 100%);
    border-left: #BA1329 8px solid;
}

#leagues-nav .level2 a {
    text-decoration: none;
    color: #ffffffdd;
    position: relative;
}

#leagues-nav .level2 a:hover {
    /*text-decoration-style: double;*/
    color: #ffffff;
}

/* Texte secondaire en plus petit */
#leagues-nav .level2 a span {
    display: block;
    font-size: 0.85em;
    color: #ffffffdd;
    margin-top: 2px;
    font-size: 16px;
    text-transform: uppercase;
}

.season_wrapper {
    display: grid;
    grid-template-columns: max-content max-content;
    gap: 30px;
}

.season_wrapper a span::before {
    content: "";
    width: 30px;
    /* background-color: #fff; */
    height: 2px;
    display: inline-block;
    position: absolute;
    border-bottom: #fff 2px dashed;
    bottom: -2px;
    opacity: 0.5;
}

.page0 #main .season_wrapper a span::before {
    width: 70px;
    height: 4px;
    bottom: -1px;
    left: 1px;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* 2) Au survol du lien, on anime l?ic�ne */
.season_wrapper a:hover i.fa-futbol {
    display: inline-block;
    /* pour que transform fonctionne */
    animation: spin 1.5s linear infinite;
}

/* Effet au survol */
/*#leagues-nav .level2 a:hover {*/
/*    background: #BDC3C7;*/
/*    color: #1A242F;*/
/*}*/

/* (Optionnel) Indiquer l?�l�ment actif */
#leagues-nav .level2 div.active {
    background: #3498DB;
    color: #fff;
}

#header-bottom {
    width: 100%;
    max-width: 1200px;
    display: inline-block;
    text-align: left;
    padding: 20px 0;
}

#header-bottom a {
    text-decoration: none;
    display: inline-block;
}

#league-name {
    text-align: left;
    font-size: 26px;
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    line-height: 31px;
    margin-top: 16px;
    color: #444;
    display: none;
}

h1 em {
    /*display: inline-block;*/
    font-style: normal;
    color: #ffffffdd;
    text-transform: uppercase;
    font-size: 20px;
}

/*h1 {*/
/*    text-align: left;*/
/*    font-size: 28px;*/
/*    line-height: 33px;*/
/*    margin-top: 30px;*/
/*    margin-bottom: 25px;*/
/*}*/
/*h1 span:nth-child(1) {*/
/*    color: #334494;*/
/*    position: relative;*/
/*    line-height: 35px !important;*/
/*    margin-bottom: 10px!important;*/
/*    display: inline-block;*/
/*}*/
/*h1 span:nth-child(1)::after {*/
/*    content: '';*/
/*    background-color: #334494;*/
/*    height: 3px;*/
/*    width: 80px;*/
/*    display: inline-block;*/
/*    position: absolute;*/
/*    left: 0;*/
/*    !* border: 0; *!*/
/*    bottom: -6px;*/
/*    margin-bottom: 3px;*/
/*}*/
/*h1 span:nth-child(2),h1 span:nth-child(4) {*/
/*    color: #334494;*/
/*}*/
/*h1 span:nth-child(3) {*/
/*    font-size: 25px;*/
/*    color: #555;*/
/*}*/
/*h1 span:last-child {*/
/*    font-size: 22px;*/
/*    color: #222;*/
/*    text-transform: uppercase;*/
/*}*/
h1 {
    /* facultatif : pour virer le margin par d�faut et centrer */
    margin: 0;
    font-size: 1.5rem;
    position: relative;
}

h1 span {
    display: inline-block;
    position: relative;
    /*padding: 0.5em 1em;*/
    padding: 12px 24px 10px 24px;
    margin-right: 0em;
    color: #fff;
    /* ici on cr�e des bords obliques :
       top-left � 10px, bottom-right � 10px */
    clip-path: polygon(10px 0,
            /* top-left indent */
            100% 0,
            /* top-right */
            calc(100% - 10px) 100%,
            /* bottom-right indent */
            0 100%
            /* bottom-left */
        );
}

.sep {
    display: none;
}

/* exemples de fonds diff�rents */
h1 span:nth-of-type(1) {
    background: #3498db;
}

/* bleu */
h1 span:nth-of-type(1) {
    line-height: 1;
}

h1 span:nth-of-type(3) {
    background: #e74c3c;
    position: relative;
    left: -10px;
}

/* rouge */
h1 span:nth-of-type(5) {
    background: #f1c40f;
    position: relative;
    left: -20px;
}

/* jaune */
h3 {
    margin-bottom: 0px;
}

.column.roster h3 {
    margin-bottom: 5px;
}

#main {
    max-width: 1200px;
    width: 100%;
    padding: 0 0px;
    display: inline-block;
    text-align: left;
}

#page1 #main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 30px;
    margin: 0 auto;
}

.season-nav-header {
    position: relative;
    margin-top: 2px;
}

.gm-style-iw-chr {
    height: 30px;
}

.gm-style-iw-chr button {
    right: -10px;
    top: -10px;
}

.season-switcher {
    position: absolute;
    top: -5px;
    right: 0;
    z-index: 100;
    font-family: 'DIN Next LT Pro', Arial, sans-serif;
    font-size: 18px;
}

.season-switcher-trigger {
    border: 0;
    padding: 5px 20px 2px 20px;
    font: inherit;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #fff;
    clip-path: polygon(10px 0,
            /* top-left indent */
            100% 0,
            /* top-right */
            calc(100% - 10px) 100%,
            /* bottom-right indent */
            0 100%
            /* bottom-left */
        );
}

.season-switcher-caret {
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid currentColor;
}

.season-switcher-list {
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 100%;
    left: 0;
    /* min-width: 100%; */
    display: none;
    color: #fff;
    width: 142px;
}

li.season-switcher-item {
    padding: 5px 0px 10px 20px;
}

.season-switcher.is-open .season-switcher-list {
    display: block;
}

.season-switcher-link {
    display: block;
    text-decoration: none;
    color: inherit;
    white-space: nowrap;
}

h2 {
    /*color: #334494;*/
    font-size: 24px;
    margin-bottom: 10px;
    margin-top: 0;
}

.owl-carousel .owl-stage-outer {
    background-color: #fff;
}

.owl-carousel .item {
    box-shadow: unset !important;
}

table.standings {
    margin-top: 10px;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border-collapse: separate;
    /* imp�ratif pour border-radius */
    border-spacing: 0;
    /* pour que les bordures collent bien */
    border-radius: 4px 4px 0 0;
    /* top-left, top-right, bottom-right, bottom-left */
    overflow: hidden;
    /* cache les coins des cellules qui d�passent */
}

th,
td {
    padding: 10px 12px;
    text-align: right;
    border-bottom: 1px solid #e0e0e0;
}

th {
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
}

tr:nth-child(even) {
    background: #fff;
}

tr:hover {
    /*background: #e8f0fb;*/
}

.rank {
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    color: #334494;
}

.standing-club-logo,
.result-club-logo,
.player-club-logo {
    width: 40px;
    height: 40px;
    object-fit: contain;
    display: inline-block;
}

.result-club-logo,
.player-club-logo {
    width: 30px;
    height: 30px;
}

.standing-club-logo img,
.result-club-logo img,
.player-club-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#standingNotes {
    margin-top: 15px;
    padding: 8px 10px 5px 10px;
    width: 100%;
    box-sizing: border-box;
    min-width: 565px;
    font-size: 14px;
}

.club-name a,
.result-club-name a,
.scorers .club {
    text-align: left;
    padding-left: 0px;
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    display: grid;
    grid-template-columns: 40px auto;
    align-items: center;
    column-gap: 10px;
    /*width: 250px;*/
}

.scorers .club {
    font-family: 'DIN Next LT Pro', Arial, sans-serif;
}

.club-name a {
    text-decoration: none;
    color: #000;
}

.scorers .club {
    font-weight: 500;
}

.result-club-name a {
    grid-template-columns: 30px auto;
    text-decoration: none;
    color: #000000;
}

.result-club-name.left a {
    padding-right: 2px;
}

.result-club-name.right a {
    grid-template-columns: auto 30px;
    text-align: right;
    padding-left: 2px;
}

.result-club-name a .result-club-name-wrapper {
    position: relative;
    top: 1px;
    text-wrap: balance;
}

.page12 .result-club-name a .result-club-name-wrapper {
    max-width: 186px;
}

.club-nickname {
    background-color: #ff20001a;
    color: #ff2000;
    font-weight: 400 !important;
    display: inline-block;
    font-family: 'DIN Next LT Pro', Arial, sans-serif;
    font-size: 13px !important;
    padding: 3px 5px 0px 6px;
    border-radius: 3px;
}

.standings .club-nickname {
    margin-left: 0;
    position: relative !important;
    top: 0px;
}

.team-header .club-nickname {
    font-size: 20px !important;
    position: relative;
    top: -4px;
}

.scorers .club {
    grid-template-columns: 30px auto;
}

.club-name .name {
    text-align: left;
    white-space: normal;
    width: 182px;
    position: relative;
    top: 0px;
}

.club-name .name>span {
    bottom: 3px;
    font-weight: 800;
    font-size: 16px;
    position: absolute;
    padding-left: 5px;
}

.club-name .name>span:nth-child(2) {
    padding-left: 15px;
}

.points {
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
}

table.scorers {
    border-collapse: collapse;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 4px 4px 0 0;
    overflow: hidden;
    padding: 0;
}

table.scorers thead tr,
table.standings thead tr {
    background: #334494;
    background: linear-gradient(90deg, rgba(51, 68, 148, 1) 0%, rgba(32, 39, 85, 1) 100%);
}

table.scorers th,
table.scorers td {
    padding: 10px;
    text-align: center;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: top;
    font-size: 16px;
}

table.scorers th {
    /*background: #334494;*/
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
}

table.scorers tr:nth-child(even) {
    background: #fff;
}

table.scorers tbody tr:hover {
    /*background: #e8f0fb;*/
}

.rank {
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    /*color: #334494;*/
}

.player-cell {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
}

/* Nouveau : conteneur qui met le nom Last, First en ligne */
.name-row {
    /*display: inline-flex;*/
    /*flex-direction: row;*/
    /*align-items: baseline;*/
    overflow: hidden;
    max-width: 235px;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
}

.name-row .lastname,
.name-row .firstname {
    white-space: nowrap;
    /* �vite la c�sure */
}

/* ? reste de votre CSS ? */
.player-cell .lastname {
    font-size: 16px;
    /*font-weight: bold;*/
    color: #333;
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
}

.player-cell .firstname {
    font-size: 14px;
    color: #444;
    margin-left: 4px;
}

.player-cell .club {
    font-size: 14px;
    color: #555;
    margin-top: 2px;
}

.player-cell .club span:last-child {
    position: relative;
    top: 1px;
}

#page3 .player-cell .club {
    display: none;
}

.club.club2 {
    position: absolute;
    right: -130px;
    top: 30px;
}

/* Cacher par d�faut les lignes au-del� de la 10? */
.hidden-row {
    display: none;
}

#games-carousel {
    width: 632px;
    margin-bottom: 30px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.owl-carousel .owl-nav button.owl-next,
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel button.owl-dot {
    line-height: 30px;
}

.owl-carousel .owl-stage {
    margin-top: 37px;
}

.owl-theme .owl-nav {
    margin-top: 0;
    background: #334494;
    background: linear-gradient(90deg, rgba(51, 68, 148, 1) 0%, rgba(32, 39, 85, 1) 100%);
    height: 37px;
    position: absolute;
    top: 0;
    width: 100%;
    color: #fff;
    border-radius: 4px 4px 0 0;
}

.owl-theme .owl-nav [class*=owl-] {
    font-size: 46px !important;
}

.owl-nav button.owl-prev,
.owl-nav button.owl-next {
    top: -5px !important;
}

.owl-nav button.owl-prev {
    left: 60px !important;
}

.owl-nav button.owl-next {
    right: 60px !important;
}

.owl-theme .owl-nav [class*=owl-] {
    color: #FFF;
    text-decoration: none;
    line-height: 32px;
    height: 37px;
    width: 30px;
}

.owl-theme .owl-nav [class*=owl-]:hover {
    background-color: #fff;
    /*color:#034c70;*/
    border-radius: 0;
}

#showAllBtn {
    margin-top: 15px;
    padding: 8px 16px;
    font-size: 16px;
    background: #334494;
    background: linear-gradient(90deg, rgba(51, 68, 148, 1) 0%, rgba(32, 39, 85, 1) 100%);
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

#showAllBtn:hover {
    background: #202755;
    background: linear-gradient(90deg, rgba(32, 39, 85, 1) 0%, rgba(51, 68, 148, 1) 100%);
}

.owl-carousel .item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    box-shadow: 1px 4px 4px rgba(0, 0, 0, 0.3);
}

.result-card {
    position: relative;
    background: #fff;
    padding: 3px;
    text-align: center;
    /*width: 100%;*/
    padding-left: 55px;
}

.result-card .game-name {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    background: #d61f3610;
    border-radius: 2px;
    padding: 3px 5px;
    font-size: 12px;
    color: #d61f36;
}

.result-card .date {
    position: absolute;
    top: 17px;
    left: 8px;
    font-size: 13px;
    color: #888;
    text-transform: uppercase;
}

.result-card .date a {
    text-decoration: none;
    color: #888;
    display: grid;
    grid-template-columns: auto auto;
    justify-items: center;
    line-height: 14px;
    gap: 3px;
}

.result-card .date a span:first-child {}

.result-card .date a span:last-child {
    color: #999;
}

.result-card .clubs {
    font-size: 16px;
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    margin-bottom: 0;
    height: 40px;
    display: grid;
    grid-template-columns: auto min-content auto;
    width: fit-content;
    column-gap: 10px;
    justify-self: center;
    align-items: center;
}

.result-club-name {
    width: 230px;
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}

.score-box {
    display: inline-block;
    background-color: #334494;
    color: #fff;
    width: 56px;
    height: 40px;
    align-content: center;
}

.score-box:hover {
    background-color: #202755;
}

.score-box a {
    color: #fff;
    margin: auto;
    padding: auto;
    text-decoration: none;
    width: 100%;
    height: 100%;
    align-content: center;
    /*background-color: aqua;*/
    display: grid;
}

.score-box.disable {
    background-color: #e2e2ea;
}

.score-box.postponed {
    background-color: #e2e2ea;
    color: #a52834;
    font-size: 9px;
    font-weight: normal;
    text-transform: uppercase;
}

.owl-nav button.owl-prev,
.owl-nav button.owl-next {
    background: #334494;
    color: #fff;
    border: none;
    padding: 6px 12px;
    border-radius: 4px;
    position: absolute;
    top: 45%;
}

.owl-nav button.owl-prev {
    left: -60px;
}

.owl-nav button.owl-next {
    right: -60px;
}

.owl-nav button.owl-prev:hover,
.owl-nav button.owl-next:hover {
    background: #202755;
}

.match-header {
    position: relative;
    background: #fff;
    padding: 16px;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
    position: relative;
    border-top: #334494 5px solid;
}

.match-header .date {
    font-size: 15px;
    color: #555;
    position: absolute;
    top: 16px;
    left: 16px;
}

.match-header .spordle_link,
.team-header .spordle_link {
    font-size: 15px;
    color: #444;
    position: absolute;
    top: 16px;
    right: 16px;
}

.match-header .spordle_link a,
.team-header .spordle_link a {
    color: #959595;
}

.match-header .score {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.team {
    display: inline-flex;
    align-items: center;
}

.team a {
    text-decoration: none;
    color: #000;
}

.column.schedule .teams a {
    display: contents;
}

.team-logo {
    width: 45px;
    height: 45px;
    object-fit: contain;
    display: inline-block;
}

.visitor-logo {
    margin-right: 0px;
    /* logo � gauche */
}

.host-logo {
    margin-left: 0px;
    /* logo � droite */
}

span.score-club-logo {
    border: #ccc 1px solid;
    border-radius: 75px;
    width: 60px;
    height: 60px;
    line-height: 50px;
    margin: 0 10px;
    align-items: center;
    justify-content: center;
    display: flex;
}

.match-header .score .team {
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    width: 350px;
}

.match-header .score .team.host {
    justify-content: end;
}

.vs {
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    font-size: 20px;
}

.vs .postponed {
    color: #da2828;
}

.score-box.disable.postponed a {
    color: #da2828;
}

.match-header .venue {
    text-align: center;
    font-size: 14px;
    color: #555;
    margin-top: 20px;
}

.match-header .venue i {
    font-size: 18px;
    margin-right: 2px;
}

#page2 .scorers {
    background: #fff;
    padding: 16px;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    border-top: #334494 5px solid;
}

.scorers h2 {
    margin-top: 0;
    font-size: 18px;
    /*color: #334494;*/
}

.scorers ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.scorers li {
    padding: 6px 0;
    border-bottom: 1px solid #e0e0e0;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.scorers li:last-child {
    border-bottom: 0;
}

.goal-club-logo {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.scorers li span.minute {
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    margin-right: 8px;
    text-align: right;
    width: 20px;
    display: inline-block;
}

.scorers li span.club {
    color: #334494;
    margin-right: 8px;
}

.scorers li span.name {
    font-style: normal;
    white-space: nowrap;
    position: relative;
    top: 1px;
}

.scorers li span.jersey {
    color: #555;
    margin-left: 0px;
}

.assist {
    background-color: #33449410;
    border-radius: 3px;
    text-align: center;
    width: fit-content;
    padding: 3px 6px 1px 6px;
}

.rosters {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    gap: 30px;
}

.rosters .column {
    width: 48%;
    background: #fff;
    padding: 16px;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.rosters .column h2 {
    margin-top: 0;
    font-size: 18px;
    max-width: 280px;
    /*color: #334494;*/
}

.rosters ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rosters li {
    padding: 14px 0 8px 0;
    border-bottom: 1px solid #e0e0e0;
    font-size: 16px;
}

.rosters li:last-child {
    border-bottom: none;
}

.roster-player-number {
    width: 20px;
    display: inline-block;
    text-align: right;
    padding-right: 5px;
}

.roster-player-lastname {
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
}

/* TEAM DETAILS */
.team-header {
    display: flex;
    align-items: center;
    background: #fff;
    padding: 16px;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
    border-top: #334494 5px solid;
    position: relative;
}

.club-logo {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.team-header .club-name {
    font-size: 27px;
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    margin: 0 12px;
    position: relative;
    line-height: 22px;
}

.team-header .team-header-right {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.team-header .team-header-right .team-name {
    margin-left: 0;
}

.team-header .club-link-btn {
    display: inline-block;
    padding: 6px 14px;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    border-radius: 4px;
    transition: opacity 0.2s;
    position: absolute;
    bottom: 8px;
    /* width: 122px; */
    white-space: nowrap;
    right: 8px;
}

.team-header .club-link-btn:hover {
    opacity: 0.85;
}

.team-header .team-name {
    font-size: 18px;
    /*color: #555;*/
    margin-left: auto;
    text-align: right;
    /*background: linear-gradient(90deg, rgba(51, 68, 148, 1) 0%, rgba(32, 39, 85, 1) 100%);*/
    /*border-bottom: #8e8d9e 8px solid;*/
    display: inline-block;
    position: relative;
    padding: 0.5em 1em;
    margin-right: 0em;
    color: #fff;
    clip-path: polygon(10px 0,
            /* top-left indent */
            100% 0,
            /* top-right */
            calc(110% - 10px) 100%,
            /* bottom-right indent */
            0 100%
            /* bottom-left */
        );
    right: -15px;
}

.team-header #club-city {
    font-size: 16px;
    font-family: 'DIN Next LT Pro', Arial, sans-serif;
    margin-top: 3px;
    color: #888;
    height: 20px;
    text-overflow: ellipsis;
    overflow: hidden;
    display: inline-block !important;
    white-space: nowrap;
    /* cursor: pointer; */
    position: absolute;
    left: 0;
    bottom: -30px;
}

#page4 .club-header,
#page4 .column.teams {
    border-top: #d5622c 5px solid;
}

.club-header .club-performance {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1;
    padding-right: 8px;
}

.club-header .club-performance-value {
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    font-size: 48px;
    color: #d5622c;
    line-height: 1;
}

.club-header .club-performance-unit {
    font-size: 0.6em;
    margin-left: 2px;
    color: #8e8d9e;
}

.club-header .club-performance-label {
    font-size: 15px;
    font-family: 'DIN Next LT Pro', Arial, sans-serif;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 4px;
    padding-left: 10px;
    text-align: right;
    text-wrap: balance;
}

.club-header .club-performance-teams-count {
    color: #d5622c;
}

.club-header .club-performance-note {
    font-size: 14px;
    font-family: 'DIN Next LT Pro', Arial, sans-serif;
    color: #aaa;
    font-style: italic;
    margin-top: 2px;
    text-align: right;
    text-wrap: balance;
    padding-left: 10px;
}

/*.team-header #club-city:hover {*/
/*    font-size: 16px;*/
/*    font-family: 'DIN Next LT Pro', Arial, sans-serif;*/
/*    margin-top: 3px;*/
/*    color: #888;*/
/*    height: unset;*/
/*    text-overflow: ellipsis;*/
/*    overflow: unset;*/
/*    display: block;*/
/*    white-space: unset;*/
/*    width: 233px;*/
/*    background-color: #f7f7f7;*/
/*    position: absolute;*/
/*    top: 25px;*/
/*    left: 0;*/
/*    padding: 10px 10px;*/
/*    border-radius: 6px;*/
/*    box-shadow: 0 1px 3px rgba(0,0,0,0.1);*/
/*    cursor: pointer;*/
/*}*/
#page3 .columns {
    display: grid;
    gap: 20px;
    grid-template-columns: auto auto;
}

.column {
    flex: 1;
    background: #fff;
    padding: 16px;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    border-top: #334494 5px solid;
}

.column h2 {
    margin-top: 0;
    font-size: 18px;
    /*color: #334494;*/
}

/* Roster */
a.player-link {
    text-decoration: none;
    color: #000;
}

.roster ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.roster li {
    padding: 12px 0 8px 0;
    border-bottom: 1px solid #e0e0e0;
    font-size: 16px;
}

.roster li:last-child {
    border-bottom: none;
}

/* Calendar */
.schedule .match {
    padding: 8px 0;
    border-bottom: 1px solid #e0e0e0;
    display: flex;
    align-items: center;
    font-size: 16px;
    line-height: 18px;
}

.schedule .match.victory {
    /*border-right: #079407 5px solid;*/
    /*border-right: #38B013 5px solid;*/
}

.schedule .match.draw {
    /*border-right: #999292 5px solid;*/
    /*border-right: #1d1d1b 5px solid;*/
}

.schedule .match.defeat {
    /*border-right: #d92f2f 5px solid;*/
}

.schedule .match:last-child {
    border-bottom: none;
}

.match .date {
    width: 100px;
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    text-align: right;
    padding-right: 20px;
}

.match .teams {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 5px;
}

.match .team {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: 210px;
    justify-content: end;
}

#page3 .match .team .team-name {
    text-align: right;
}

#page3 .match .team.visitor .team-name {
    text-align: left;
}

.match .team.visitor {
    justify-content: start;
}

.match .team-logo {
    width: 24px;
    height: 24px;
    object-fit: contain;
    position: relative;
    top: -2px;
}

.match .score {
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
    width: 50px;
    text-align: center;
}

.match .score a {}

.match.victory .score a {
    color: #38B013;
}

.match.defeat .score a {
    color: #d92f2f;
}

.match.draw .score a {
    color: #999292;
}

.match.future .score {
    color: #888;
}

.roster-player-number {
    width: 20px;
    display: inline-block;
    text-align: right;
    padding-right: 5px;
}

.roster-player-lastname {
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
}

/* CLUB DETAILS */
#page4 #header-bottom,
#page5 #header-bottom {
    display: none;
}

#page4 #main {
    max-width: 1440px;
    display: inline-block !important;
}

#page5 #main {
    /* max-width: 1440px; */
    display: inline-block !important;
}

#page4 .column.teams {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px 24px;
    align-items: start;
}

@media (min-width: 1366px) {
    #page4 .column.teams {
        grid-template-columns: 1fr 1fr;
    }
}

#page4 .club-team-block {
    /* border-top: 4px solid #ccc; */
    padding-top: 12px;
}

#page4 .column.teams h2 {
    margin-top: 0;
}

#page4 .column.teams h2 a {
    color: inherit;
    text-decoration: none;
}

#page4 .column.teams h2 a:hover {
    text-decoration: underline;
}

#page4 .column.teams h3 {
    margin: 6px 0 8px 0;
    font-size: 16px;
}

#page4 table.standings tr.current-team {
    font-family: 'DIN Next LT Pro Bold', Arial, sans-serif;
}

#page4 table.standings tr.standings-gap td {
    text-align: center;
    color: #aaa;
    background: #fafafa;
    padding: 2px 0;
    line-height: 1;
}

.score a {
    text-decoration: none;
    /*color: #334494;*/
    font-size: 18px;
}

.score-club-logo a {
    display: contents;
}

.score a.postponed {
    color: #da2828;
    font-size: 15px;
}

#footer-top {
    color: #000;
    margin-top: 80px;
    text-align: center;
    display: grid;
    grid-template-columns: max-content max-content;
    margin: 80px auto 0 auto;
    width: fit-content;
    gap: 40px;
    align-items: center;
}

#footer-top a {
    color: #d5622c;
}

#youtubeLink {
    color: #ff0000 !important;
    font-size: 40px;
}

#footer-top a#youtubeLink {
    position: relative;
    top: 1px;
    display: none;
}

#intro #youtubeLink {
    position: relative;
    top: 8px;
}

/* ============================================================
   Carte des clubs — bouton + modale
============================================================ */
.season-nav-actions {
    position: absolute;
    top: -5px;
    right: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    z-index: 100;
    font-family: 'DIN Next LT Pro', Arial, sans-serif;
    font-size: 18px;
}

.season-nav-actions .season-switcher {
    position: relative;
    top: auto;
    right: auto;
}

.season-map-btn {
    border: 0;
    padding: 5px 20px 2px 20px;
    font: inherit;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
    transition: filter .2s ease;
}

.season-map-btn:hover {
    filter: brightness(1.08);
}

.season-map-btn i {
    font-size: 16px;
}

/* Modale */
.season-map-modal[hidden] {
    display: none;
}

.season-map-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.season-map-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .55);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.season-map-modal-dialog {
    position: relative;
    width: 100%;
    max-width: 1200px;
    height: min(85vh, 800px);
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.season-map-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    border-bottom: 1px solid #e5e7eb;
    background: #fafafa;
}

.season-map-modal-header h2 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1.2;
}


.season-map-modal-subtitle {
    color: #6b7280;
    font-weight: 400;
    font-size: 14px;
    margin-left: 4px;
}

.season-map-modal-close {
    background: transparent;
    border: 0;
    width: 36px;
    height: 36px;
    border-radius: 6px;
    color: #6b7280;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
    font-size: 18px;
}

.season-map-modal-close:hover {
    background: #f3f4f6;
    color: #111827;
}

.season-map-canvas {
    flex: 1;
    min-height: 0;
    width: 100%;
    background: #f3f4f6;
}

.season-map-loader,
.season-map-empty {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #6b7280;
    font-family: Arial, sans-serif;
    font-size: 15px;
}

.season-map-empty i {
    color: #313c98;
}

body.season-map-open {
    overflow: hidden;
}

/* InfoWindow content */
.season-map-pin {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: Arial, sans-serif;
    color: #1f2937;
    min-width: 180px;
}

.season-map-pin img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    flex-shrink: 0;
}

.season-map-pin strong {
    display: block;
    font-size: 14px;
    margin-bottom: 2px;
}

.season-map-pin-city {
    font-size: 12px;
    color: #6b7280;
    margin-bottom: 4px;
}

.season-map-pin a {
    font-size: 13px;
    color: #313c98;
    text-decoration: none;
}

.season-map-pin a:hover {
    text-decoration: underline;
}

@media (max-width: 767px) {
    .season-map-btn span {
        /* display: none; */
        font-size: 12px;
        position: relative;
        top: 2px;
    }

    .season-map-btn {
        padding: 7px 16px 5px 16px;
    }

    .season-map-modal {
        padding: 0;
    }

    .season-map-modal-dialog {
        max-width: 100%;
        height: 100vh;
        border-radius: 0;
    }
}