.tv-page{
	height:100svh;
	display:flex;
	flex-direction:column;
	overflow:hidden;
}
.tv-header{
	flex:0 0 78px; /* ou ta vraie hauteur */
}
.tv-main{
	flex:1 1 auto;
	min-height:0;
	overflow:hidden;
}

.bracket-board{
	height:100%;
	min-height:0;
	display:flex;
	flex-direction:column;
}
.bracket-head{
	display:grid;
	gap:18px;
}

.bracket-body{
	flex:1 1 auto;
	min-height:0;
	display:grid;
    gap: 18px;
    margin-top: 10px;
}

.bracket-head.has-round16,
.bracket-body.has-round16{
	grid-template-columns: 1.35fr 1.15fr 1fr 1fr;
}

.bracket-head.no-round16,
.bracket-body.no-round16{
	grid-template-columns: 1.15fr 1fr 1fr;
}

.bracket-head-title{
	background:#4b5563;
	color:#fff;
	font-weight:700;
	font-size:22px;
	padding:10px 14px;
	border-radius:10px;
	text-align:center;
	white-space:nowrap;
}

.bracket-round{
	display:grid;
	grid-template-rows: repeat(11, 1fr);
	gap:6px;
	min-height:0;
}

.slot{
	display:flex;
	align-items:center;
}

/* 1/8 */
.bracket-round16{
	display:grid;
	grid-template-rows:
		1fr
		1fr
		0.25fr
		1fr
		1fr
		1fr
		1fr
		1fr
		0.25fr
		1fr
		1fr;
	gap:8px;
}

.bracket-round16 .r16-1{ grid-row:1; }
.bracket-round16 .r16-2{ grid-row:2; }
.bracket-round16 .r16-3{ grid-row:4; }
.bracket-round16 .r16-4{ grid-row:5; }
.bracket-round16 .r16-5{ grid-row:7; }
.bracket-round16 .r16-6{ grid-row:8; }
.bracket-round16 .r16-7{ grid-row:10; }
.bracket-round16 .r16-8{ grid-row:11; }

/* 1/4 centrés entre 1/8 */
.bracket-quarter .q1{ grid-row:1 / span 2; transform: translateY(12%); }
.bracket-quarter .q2{ grid-row:4 / span 2; transform: translateY(-12%); }
.bracket-quarter .q3{ grid-row:7 / span 2; transform: translateY(12%); }
.bracket-quarter .q4{ grid-row:10 / span 2; }

/* 1/2 centrés entre 1/4 */
.bracket-semi .s1{ grid-row:3; }
.bracket-semi .s2{ grid-row:9;}

/* finales */
.bracket-finals .pf{  grid-row:6; transform: translateY(-50%);  }
.bracket-finals .fin{ grid-row:7  }

.bracket-match{
	width:100%;
	background:#ffffff;
	border-radius:10px;
	padding:6px 8px;
	box-shadow:0 1px 3px rgba(0,0,0,.08);
	border:1px solid #dde3ea;
}

.bracket-time{
	font-size:11px;
	font-weight:700;
	margin-bottom:4px;
    display: flex;
    color: #2563eb;
}
.bracket-time SPAN {
    margin-left: auto;
    margin-right: 10px;
    
}

.bracket-team-row{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:8px;
	padding:4px 6px;
	font-size:14px;
	border-radius:8px;
}

.bracket-team-row + .bracket-team-row{
	margin-top:2px;
}

.bracket-score{
	min-width:20px;
	text-align:right;
	font-weight:800;
	font-size:17px;
    display: flex;
}

.bracket-tab{
	margin-top:4px;
	font-size:11px;
	opacity:.7;
	text-align:right;
    margin-left: 5px;
}

.bracket-head-title{
	font-size: clamp(16px, 1.5vw, 22px);
	padding: 8px 10px;
}

.bracket-time{
	font-size: clamp(10px, 0.9vw, 13px);
}

.bracket-team-row{
	font-size: clamp(12px, 1.1vw, 16px);
}

.bracket-score{
	font-size: clamp(14px, 1.4vw, 20px);
}



.bracket-match{
	box-sizing:border-box;
}
.slot{
	min-height:0;
}


.is-live{
	background:#fff3cd;
}


.tv-p2-chrono-wrap{
	position:absolute;
	top:100px;
	right:10px;
	z-index:20;
}

.tv-p2-chrono-box{
	background:rgba(255,255,255,.92);
	border:1px solid #d7dde5;
	border-radius:12px;
	padding:8px 12px;
	min-width:140px;
	text-align:center;
	box-shadow:0 2px 8px rgba(0,0,0,.10);
    
}
.tv-side-title{
	font-size:20px;
	letter-spacing:1px;
	margin-bottom:14px;
}
.tv-p2-chrono-time{
	font-size:72px;
	font-weight:800;
	line-height:1;
    
}

.tv-p2-chrono-label{
	margin-top:4px;
	font-size:14px;
	font-weight:700;
}

.tv-p2-chrono-next{
	margin-top:2px;
	font-size:12px;
	opacity:.7;
}