body {
	background: #edf1f6;
}

h2 {
	margin-top: 5px;
	margin-bottom: 5px;
}


.fixturePage {
	margin: 10px;
}


.vsIcon {
	width: 16px;
	height: 16px;
}

.p_lg {
    display: flex;
    flex-direction: column;
    grid-template-rows: auto 1fr auto;
    gap: 16px;
	width: 100%;
    padding: 16px;
    border-radius: 12px;
    background: #fff;
    box-sizing: border-box;
}

.p_lgTop {
    display: grid;
    grid-template-columns:160px max-content auto;
    align-items: center;
    gap: 24px;
    width: 100%;
}

.p_lgCol--crest {
    display: flex;
    align-items: center;
    justify-content: center;
}

.p_lgMiddle {
    flex: 1;
}

.p_lgCol--crest img {
    width:120px;
    height:120px;
    object-fit:contain;
}

.p_lgCol--fixtures {
    display:flex;
    flex: 0 0 auto;
    gap:16px;
    justify-content:flex-end;
}

.p_lgCol--meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.fxClubName {
    font-size: 3em;
    font-weight: 700;
}

[data-field="ground"] {
    align-content: center;
}

[data-field="coach-period"] {
    display: none;
}

[data-field="club-country"] {
    font-size: 0.9em;
    color: #777;
}

[data-field="coach"] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85em;
    color: #555;
}


button[data-field^="filter-"] {
	border-radius: 10px;
  	padding: 4px 6px;
  	border: 1px solid #ddd;
  	background: #f5f5f5;
  	color: #888;
  	cursor: pointer;
  	transition: 0.2s ease;
}

button[data-field^="filter-"].active {
    background: var(--primary);
    color: #fff;
    border-color: var(--secondary);
}

button[data-field^="filter-"]:hover {
    border-color: var(--primary);
    color: var(--primary);
    background: var(--secondary);
}


.p_lgCol--fixtures {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.p_lgFooter {
    display: flex;
    justify-content: space-between;
    align-items: center;
	margin-top: auto;
    font-size: 0.85em;
    color: #777;
}

.footerLeft {
	display: flex;
	align-items: center;
	gap: 6px;
}

.competition {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.fxseasonHolder {
    overflow: hidden;
    background: white;
    height: 80px;          /* outer height */
    margin-bottom: 10px;
    border-radius: 10px;
    border: 1px solid var(--primary);
    padding: 10px;
}

.seasonCarousel {
    width: 100%;
    height: 100%;          /* fill holder */
    display: flex;
    align-items: center;   /* center track vertically */
    overflow-x: auto;
    scroll-snap-type: none;
    scrollbar-width: none;
    justify-content: center;
}

.seasonCarousel::-webkit-scrollbar {
    display: none;
}

#fxseasonLinks {
    display: flex;
    flex-wrap: nowrap;
    width: max-content;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    height: 90px;
    overflow: visible;
}

#fxseasonLinks a {
    flex: 0 0 auto;
    scroll-snap-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    box-sizing: content-box;
    overflow: visible;
}

#fxseasonLinks a img {
    width: 45px;
    height: auto;
    transform-origin: center;
    transition: none;
}

#fxseasonLinks a.activeSeason {
    margin: 0 12px;
}

#fxseasonLinks a.activeSeason .fxseasonImgWrapper {
    transform: scale(1.8);
}

#fxseasonLinks a .fxseasonImgWrapper {
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.fxseasonImgWrapper {
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible;
    transform-origin: center center;
    transition:transform 4s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.fixtureLayout{
	display: flex;
}

.fixtureStream {
	width: 67%;
  	background: white;
  	display: block;
  	padding: 10px;
  	border-radius: 10px;
  	margin: 10px;
  	border: 1px solid var(--primary);
  	margin-right: 0px;
}



.clubSidebar {
	width: 33%;
	display:block;
}


.fixtureListWrapper .analTable {
    display: flex;
    flex-direction: column;

}

.fixture-row {
    display: grid;
    grid-template-columns:
        36px   /* travel */
        50px   /* date */
        minmax(180px, 1fr)    /* team */
        40px   /* comp */
        100px   /* score */
        40px   /* result */
        40px   /* report */
        160px  /* referee */
        160px  /* venue */
        80px;  /* attendance */

    align-items: center;
    column-gap: 10px;

    padding: 8px 10px;
    border-bottom: 1px solid #e6e6e6;
}


.fixtureList {
	margin: 0 auto;
}


.matchHeader {
	width: 100%;
    margin: 0 auto;
    display: flex;
    border: 1px solid var(--primary);
}


.col.club {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 20px;
    width: 330px;
}



.phaseCard, .resultsCard, .phaseHolder{
	display: block;
	border: 1px solid var(--primary);
	background: white;
	padding: 10px;
	border-radius: 10px;
	margin-top: 10px;
}

.phaseCard {
	border: 1px solid var(--secondary);
	width: 85%;
	padding: 20px;
	margin: 0 auto;
	margin-top: 20px;
	margin-bottom: 20px;
}

.statsGrid {
    display: grid;
    grid-template-columns: 1.2fr repeat(4, 1fr);
    grid-auto-rows: 1fr;
    gap: 3px;
}

/* Base column style */
.statCol {
    background:  #edf1f6;
    border-radius: 10px;
    padding: 7px 5px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Big number */
.statValue,
.winValue, .avgAttValue {
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    color: #333;
    margin-top: 3px;
    margin-bottom: 3px;    
}

.winValue, .avgAttValue {
	color: white;
}

.avgAttValue {
	font-size: 18px;
}


.statValue_s {
    font-size: 20px;
    margin-top: 3px;
    margin-bottom: 3px;
}	

/* Label under number */
.statLabel,
.winLabel {
    font-size: 10px;
    opacity: 0.7;
    letter-spacing: 0.5px;
}

/* WIN RATIO special split layout */
.winRatio {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    grid-row: span 2;
    color: white;
    background: #555;
}

.winTop,
.winBottom {
    display: flex;
    justify-content: center;
    align-items: center;
}

.col.result {
    flex: 1;
    text-align: center;
    background: yellow;
}



.metricRow {
    margin-bottom: 10px;
}

.metricHeader {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 6px;
}

.fixBarTrack {
    display: flex;
    flex: 1;
    height: 22px;
    border-radius: 4px;
    overflow: hidden;
    background: #eee;
  }

.fixBar {
	width: 0%;
    display: flex;
    align-items: center;
    justify-content: initial;
    color: var(--font);
    font-size: 11px;
    transition: width 0.4s ease;
    background: var(--primary);
  }


.fixBar.animate {
    width: var(--target-width);
}

.fixStatRow{
    display: flex;
    align-items: center;
    width: 100%;
    margin: 6px 0;
  }

.fixstMeasure {
    flex: 1;
    font-size: 12px;
    font-weight: 600;
    display: flex;
  }
  
.fxmaxLabel {
    opacity: 0.6;
    font-size: 10px;
}

.fxmaxValue {
    font-size: 10px;
    font-weight: 600;
    opacity: 0.8;
}

.fxmaxClub {
    width: 20px;
    height: 20px;
}

.fixPerMea {
	color: white;
	font-size: 1em;
	font-weight: 800;
	margin-left: 3px;
}




.compSwitcher {
	display: flex;
}

.compButton {
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--competitionColour);
    transition: .2s;
    filter: grayscale(100%);
    opacity: 0.5;
    margin: 5px;
}

.compButton::before {
    content: "";
    width: 25px;
    height: 25px;
    background: white;
    -webkit-mask: var(--competitionIcon) center/contain no-repeat;
    mask: var(--competitionIcon) center/contain no-repeat;
}

.compButton.active {
	filter: grayscale(0%);
    opacity: 1;
}

.compButton:hover {
    opacity: 1;
    filter: grayscale(0%);
    background: var(--competitionColour);
}

.phaseTitle {
	text-transform: capitalize;
}

.phaseTitleHolder {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
}

.phaseLocation {
    font-size: 0.85rem;
    color: #777;
    font-weight: 400;
}

.phase-buttons {
	display: flex;
	gap: 5px;
	padding-bottom: 10px;
	padding-top: 10px;
	justify-content: center;
	font-size: 13px;
	flex-wrap: wrap;
}

.phase-btn {
	border-radius: 10px;
	padding: 4px 6px;
	border: 1px solid #ddd;
	background: #f5f5f5;
	color: #888;
	cursor: pointer;
	transition: 0.2s ease;
}

.phase-btn.active {
	background: var(--phase-color);
	border-color: var(--phase-color);
	color: #fff;
	transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.phase-btn {
	border-radius: 10px;
	padding: 4px 6px;
	border: 1px solid #ddd;
	background: #f5f5f5;
	color: #888;
	cursor: pointer;
	transition: 0.2s ease;
}

.fxtravel, .fxstadium {
    width: 32px;
    height: 32px;
    background: #000;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stadiumHolder {
	display: flex;
    color: #333;
    align-content: center;
    gap: 6px;
    line-height: 1;
}

.travelIcon, .stadiumIcon {
    width: 18px;
    height: 18px;
    background: #fff;
    -webkit-mask: var(--icon) center / contain no-repeat;
    mask: var(--icon) center / contain no-repeat;
}

.fxrepHold img {
	width: 25px;
}

.fxroundNumber {
	position: absolute;
	margin-top: -20px; 
	margin-left: 20px;
}

.fxvenueLocation img{
	width: 25px;
}


.fxclubMeta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 10px;
    align-items: center;
}

.clubMetaLine {
    display: flex;
    align-items: center;
    gap: 16px;   /* space between country and coach block */
    flex-wrap: wrap; /* optional: prevents overflow on small screens */
}

.clubCountry {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.coachHolder {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* avatar circle */
.coachAvatar {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 50%;
    overflow: hidden;
}

.coachAvatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin: 0px;
}

/* text stack */
.coachMeta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.1;
}

.coachName {
    font-size: 0.9em;
    font-weight: 500;
    color: inherit;
}

.coachRole {
    font-size: 0.75em;
    color: #999;
}

.fxclubTop img {
	width: 180px;
	height: 180px;
	display: block;
	margin: 0 auto;
}

.fxclubName {
	font-size: 33px;
	font-family: Impact;
	margin-top: 8px;
    text-align: center;
	}	

.pill {
    background: #f2f2f2;
    border-radius: 999px;
    padding: 12px 20px;
    font-size: 18px;
    color: #444;
    white-space: nowrap;
    display: flex;
	gap: 6px;
}




.fixtureCard {
    border-radius:20px;
    padding:20px;
    border:1px solid #d3d3d3;
    width:clamp(350px, 22vw, 320px);
    box-sizing:border-box;
}


.fixtureHeader {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}


.fixtureTitle {
    font-size:.75rem;
    font-weight:800;
    color:#333;
    text-transform:uppercase;
}

.fxheadTeamName {
    font-size: 0.8rem;
    max-width: 120px;
    font-weight: 800;
    line-height: 1.1;
    white-space: normal;
    overflow-wrap: break-word;
    width: min(12vw, 120px);
}


.competition {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:.75rem;
    margin-left: 12px;
}


.fixtureMain {
    display:grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    gap:12px;
}


.teamBlock {
    display:flex;
    align-items:center;
    gap:12px;
    min-height: 40px;
    min-width: 0px;
}

.teamBlock.home {
    justify-content:flex-end;
    text-align: right;
}


.teamBlock.away {
    justify-content:flex-start;
    text-align: left;
}

.teamBlock:last-child {
    justify-content:flex-end;
}


.matchCentre {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align: center;
}

.score {
    font-size:1.4rem;
    font-weight:900;
    white-space: nowrap;
}


.date {
    font-size:.75rem;
    color:#999;
}


.fixtureDetails {
    margin-top:15px;
    display:flex;
    justify-content:center;
    gap:20px;
    font-size:.75rem;
    color:#777;
}









.fxtravel,
.fxrepHold,
.fxresHold,
.fxcompetitionBlock,
.fxroundNumber {
    justify-content: center;
}

.fxdateHold {
    display: flex;
    justify-content: center;
}
.fxteamBlock {
	min-width: 140px;
}


.fxteamBlock a {
    min-width: 0;
}

.fxteamInner {
    display: grid;
    grid-template-columns: 40px 1fr;
    align-items: center;
    column-gap: 4px;
}

.fxoppoCrestCircle {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    flex: 0 0 34px;
    overflow: hidden;
    align-items: center;
    justify-content: center;
}

.fxoppoCrestCircle img {
    width: 25px;
    height: 25px;
}

.fxtable_crest {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    object-fit: contain;
}

.fxteamName {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.1;
    min-width: 120px;
}

.fxscores {
	min-width: 100px;
    text-align: center;
    padding: 6px;
    vertical-align: middle;
}

.fxhomeScore,
.fxawayScore {
    font-size: 25px;
    color: white;
    text-align: center;
    background-color: #333333;
    border-radius: 6px;
    padding: 3px;
}

.fxresHold svg {
    display: block;
}

.fxrEf a {
    display: flex;
    align-items: center;
    gap: 6px;
}

.fxrefHeada {
    flex-shrink: 0;
}

.fxrefNa {
    font-size: 14px;
    line-height: 1.1;
    white-space: normal;
    overflow-wrap: anywhere;
}

.fxvenueLocation {
    display: flex;
    align-items: center;
    gap: 6px;
}

.fxattendance {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.fxcompetitionBlock {
    display: flex;
    width: 40px;
    height: 40px;
    min-width: 0;
    justify-content: center;
    align-items: center;
}

.fxcompetitionBlock a {
    position: relative;
}

.fxcompIcon {
    width: 40px;
    height: 40px;
    display: block;
}

.fxroundBadge {
    position: absolute;
    bottom: -4px;
    right: -4px;

    width: 18px;
    height: 18px;

    background: #111;
    color: #fff;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 9px;
    font-weight: 600;

    line-height: 1;
    pointer-events: none;
}


.result {
    display:grid;
    grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
    gap:12px;
}

.fxCard {
    background:#fff;
    border:1px solid #ddd;
    border-radius:10px;
    padding:12px;
}

.fxCardTitle {
    font-size:.75rem;
    text-transform:uppercase;
    font-weight:700;
    color:#666;
    margin-bottom:10px;
}

.fxBig {
    font-size:2rem;
    font-weight:700;
}

.fxTriple {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    text-align:center;
}

.fxStatRow {
    display:flex;
    justify-content:space-between;
    padding:4px 0;
}

.fxAttendance {
    grid-column:span 2;
    text-align:center;
    background:#222;
    color:white;
    border-radius:10px;
    padding:16px;
}

.fxAttendanceValue {
    font-size:2rem;
    font-weight:700;
}

.segment-control {
	display: none;
}

.noDataMessage {
	font-size: 0.85rem;
  	color: #777;
  	font-weight: 400;
  	text-align: center;
  	margin-top: 20px;
}

@media (max-width: 768px) {
	
	.matchHeader {
		border: none;
	}
	
	.analTable {
		width: inherit;
	}
	
	.segment-control {
	    display:flex;
	    background:#ddd;
	    border-radius:10px;
	    padding:3px;
	    margin:10px 0;
	    gap:3px;
	}
	
	
	.segment {
	    flex:1;
	    border:0;
	    padding:10px 15px;
	    background:transparent;
	    cursor:pointer;
	    font-weight:bold;
	    border-radius:8px;
	    color:#333;
	}
	
	
	.segment.active {
	    background:var(--primary);
	    color:white;
	    box-shadow:0 2px 4px rgba(0,0,0,.2);
	}
	
	.phaseCard, .resultsCard, .phaseHolder {
		border: none;
	}
	
	.fixtureStream,
	#clubSidebar {
	    transition: opacity 0.25s ease, transform 0.25s ease;
	}
	
	.view-fade {
	    opacity: 0;
	    transform: translateY(8px);
	}
	
	.fixtureView {
    	animation:fadeIn .2s ease;
	}
	
	@keyframes fadeIn {
	    from {
	        opacity:0;
	    }
	    to {
	        opacity:1;
	    }
	}

    .fixtureLayout {
        display:block;
    }
    
    #clubSidebar,
    .fixtureStream {
        width:100%;
    }

    /* hide fixture stream initially */
    .fixtureStream {
        display:none;
		margin: 0;
		border: none;
		width: 95%;
	}
	
	.fxseasonHolder {
		width: inherit;
		border: none;
	}
	
	.p_lgTop {
	  display: grid;
	  grid-template-columns: 70px max-content auto;
	  align-items: center;
	  gap: 0px;
	  width: 100%;
	}
	
	.p_lgCol--fixtures {
		display: none;
	}
	
	.p_lgCol--crest img {
		width: 60px;
		height: 60px;
	}
	
	.footerLeft {
		gap: 3px;
	}

    .fixtureList {
        width: 100vw;
    }

    .fixture-row {
        display: grid;
        grid-template-columns: 30px 1fr 10px 80px 25px 20px;
        grid-template-areas:
            "date team competition score result report";
        row-gap: 4px;
        column-gap: 6px;
    }
    
    .fxtable_crest {
	    width: 28px;
	    height: 28px;
	}
	
	.fxteamName {
		margin-left: 3px;
	}
	
	.fxteamInner {
	    grid-template-columns: 30px 1fr;
	}
	
	.fxhomeScore,
	.fxawayScore {
	    font-size: 18px;
	    color: white;
	    text-align: center;
	    background-color: #333333;
	    border-radius: 6px;
	    padding: 2px;
	}
    
    .fxdateHold { grid-area: date; }
	.fxteamBlock { grid-area: team; }
	.fxcompetitionBlock { grid-area: competition; }
	.fxscores { grid-area: score; }
	.fxresHold { grid-area: result; }
	.fxrepHold { grid-area: report; }

    .fxtravel,
    .fxrEf,
    .fxvenueDetails,
    .fxattendance {
        display: none;
    }
}