:root {
	--shade: #C5C6C7;
	--primary: #1F2833;
	--secondary: #45A29E;
	--tertiary: #66FCF1;
    --bg: oklch(0.92 0 264);
    --bg-light: oklch(1 0 264);

    --shadow-s: 0 1px 2px #ffffff30,
    0 1px 2px #00000030,
    0 2px 4px #00000015;
}

@font-face {
  font-family: TitleFont;
  src: url('/assets/fonts/gobold_uplow_italic.otf');
}

.select-auto {
    width: auto;
    flex: 0 0 auto;
}

.title{
    font-family: TitleFont;
    color: var(--secondary);
}
    .title:hover{
        font-family: TitleFont;
        color: var(--secondary);
    }

/* General */

body {
	font-family: 'Abel', sans-serif !important;
	background: var(--bg)
}

.table {
	--bs-table-color: inherit;
	--bs-table-bg: transparent !important;
}

.shadow-s {
    box-shadow: var(--shadow-s);
}

.navlink :hover {
    /*font-size: inherit + 4p*/
    box-shadow: var(--shadow-s);
}

.bg-shade{
	background-color: var(--shade) !important;
}
.bg-primary{
	background-color: var(--primary) !important;
}
.bg-secondary {
	background-color: var(--secondary) !important;
}
.bg-tertiary {
	background-color: var(--tertiary) !important;
}

.text-shade {
	color: var(--shade) !important;
}
.text-primary{
	color: var(--primary) !important;
}
.text-secondary {
	color: var(--secondary) !important;
}
.text-tertiary {
	color: var(--tertiary) !important;
}
.text-white {
	color: #fff;
}

.btn-primary {
	background-color: var(--primary)!important;
	color: white;
}
.btn-secondary {
	background-color: var(--secondary)!important;
	color: white;
	border-color: white;
	font-weight: bold;
}
	.btn-secondary:hover {
		background-color: var(--secondary)!important;
		color: var(--primary);
		border-color: var(--primary);
	}
    .btn-outline-secondary.active,
    .btn-outline-secondary:active,
    .btn-outline-secondary.show { 
        color: #fff; /* text color */
        background-color: var(--secondary); /* the "secondary" background color */
        border-color: var(--secondary); /* border color */
        box-shadow: none; /* optional: remove focus shadow */
    }

.btn-tertiary {
	background-color: var(--tertiary)!important;
	color: var(--primary);
	border-color: var(--secondary) !important;
}
.btn-shade {
	background-color: var(--shade)!important;
	color: white;
	font-weight: bold;
}

.btn-outline-primary {
	border: 1px solid var(--primary) !important;
	color: var(--primary);
}
	.btn-outline-primary:hover {
		background-color: var(--primary)!important;
		color: white;
	}
	
.btn-outline-secondary {
	border: 1px solid var(--secondary) !important;
	color: var(--secondary);
}
	.btn-outline-secondary:hover {
		background-color: var(--secondary)!important;
		color: white;
	}
	
.btn-outline-tertiary {
	border: 1px solid var(--tertiary) !important;
	color: var(--secondary);
}
	.btn-outline-tertiary:hover {
		background-color: var(--tertiary)!important;
		color: var(--primary);
	}
	.btn-outline-tertiary > .active {
		background-color: var(--tertiary)!important;
		color: var(--primary);
	}

.date-btn.active {
    background-color: var(--secondary) !important; /* Bootstrap primary */
    color: #fff !important;
    border-color: var(--secondary) !important;
}

.border-primary {
	border-color: var(--primary)!important;
}
.border-secondary {
	border-color: var(--secondary)!important;
}
.border-tertiary {
	border-color: var(--tertiary) !important;
}
.border-shade {
	border-color: var(--shade) !important;
}
.border-end-dashed-shade {
    border-right: 1px dotted var(--shade) !important;
}

header h1 a {
	text-decoration: none;
}

.page-item {
	width: 50px;
	height: 50px;
	margin: 0 10px;
}

	.page-link {
		padding: 15% 0 0 !important;
		width: 50px;
		height: 50px;
		text-align: center;
	}
	
	.page-link:hover {
		background-color: var(--secondary);
		color: var(--primary);
	}
	
	.page-item.active .page-link {
		background-color: var(--primary);
		color: var(--shade);
		border: 2px solid white;
	}
	
.border-dashed{
	border-style: dashed !important;
}

.border-outline-secondary{
	border-color: var(--secondary) !important;
	color: var(--secondary) !important;
}
.border-outline-secondary:hover{
	background-color: var(--secondary);
	color: white !important;
}
.border-outline-tertiary{
	border-color: var(--tertiary) !important;
	color: var(--tertiary) !important;
}

.border-outline-tertiary:hover{
	background-color: var(--tertiary);
	color: white !important;
}

.autosave-message{
	text-align: right;
	color: var(--tertiary);
	font-weight: bold;
}

.autosave-message--saving{
	color: var(--shade);
}

.game{
	background-color: #fff;
}
.game:hover{
	background-color: var(--secondary) !important;
	color: #fff;
}

a.player.game_report{
	color: var(--primary);
	text-decoration: none;
}
	.player.game_report:hover{
		background-color: var(--secondary) !important;
	}

.playoff-tree{
	display: grid;
	grid-template-rows: 60px 40px 10px 50px 10px 40px 10px 50px 10px 40px 10px 50px 50px;
	grid-template-columns: 200px 10px 100px 100px 100px 10px 200px 10px 100px 100px 100px 10px 200px;
	max-width: fit-content;
	margin: 0 auto;
}

.finals{
	height: 100%;
	width: 100%;
	/*display: flex;*/
	border: 1px solid var(--tertiary);
	padding: 5px;
	border-radius: 4px;
}

.r16-1{
	grid-row: 1 / 3;
	grid-column: 1 / 2;
}
.r16-2{
	grid-row: 4 / 7;
	grid-column: 1 / 2;
}
.r16-3{
	grid-row: 8 / 11;
	grid-column: 1 / 2;
}
.r16-4{
	grid-row: 12 / 14;
	grid-column: 1 / 2;
}
.r16-5{
	grid-row: 1 / 3;
	grid-column: 13 / 14;
}
.r16-6{
	grid-row: 4 / 7;
	grid-column: 13 / 14;
}
.r16-7{
	grid-row: 8 / 11;
	grid-column: 13 / 14;
}
.r16-8{
	grid-row: 12 / 14;
	grid-column: 13 / 14;
}
.qf-1{
	grid-row: 2 / 5;
	grid-column: 3 / 5;
}
.qf-2{
	grid-row: 10 / 13;
	grid-column: 3 / 5;
}
.qf-3{
	grid-row: 2 / 5;
	grid-column: 10 / 12;
}
.qf-4{
	grid-row: 10 / 13;
	grid-column: 10 / 12;
}
.sf-1{
	grid-row: 6 / 9;
	grid-column: 4 / 6;
}
.sf-2{
	grid-row: 6 / 9;
	grid-column: 9 / 11;
}
.f-1{
	grid-row: 6 / 9;
	grid-column: 7 / 8;
}
.f-2{
	grid-row: 10 / 13;
	grid-column: 7 / 8;
}

/* ELITE PROSPECTS TABLES */

.table_stats{
	width: 100%;
}

.p_stats{
	margin: 0 0 10px 0;
}

.tdh_stats{
	background-color: var(--primary);
	color: #fff;
}
.tr_stats_odd{
	
}
.tr_stats_even{
	background-color: var(--shade);
}

/* DRAGGABLE ELEMENTS */

.lists {
    border: 1px dashed var(--primary);
    padding: 5px;
    margin: 5px;
}

.player_draggable {
    padding: 10px;
    border: 2px solid var(--secondary);
    margin: 5px 0;
    cursor: move;
}

.player_lines {
    padding: 10px;
    border: 2px solid var(--secondary);
    margin: 5px 0;
}

.dragging {
    border: 1px solid var(--tertiary);
}

.player_placeholder {
	position: relative;
    border: 2px dashed var(--shade);
    margin: 5px;
    padding: 10px;
    min-height: 40px;
    color: var(--shade);
    font-style: italic;
    transition: background 0.2s;
}

.player_placeholder.drop-target {
    background-color: var(--shade);
    border: 2px solid var(--tertiary);
}

.player_placeholder.occupied {
    border: none;
    padding: 0;
    font-style: normal;
    color: inherit;
    text-align: left !important;
}

/* Digital Game Report */

.digital_game_report .player_placeholder {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #999;
    cursor: pointer;
    font-weight: bold;
    transition: background-color 0.3s, opacity 0.3s;
    position: relative;
}

.digital_game_report .player_placeholder {
    border: 1px dashed var(--shade);
    margin: 5px 0;
    padding: 5px;
    color: var(--shade);
    font-style: italic;
    transition: background 0.2s;
}

.valid-drop {
    background-color: #334d33 !important;
}

.invalid-drop {
    opacity: 0.3;
}

.digital_game_report .player_draggable {
    padding: 5px;
    border: 2px solid var(--secondary);
    margin: 5px 0;
    cursor: move;
}

.digital_game_report .player_draggable.disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
}

.remove-btn {
    position: absolute;
    top: 0;
    right: 2px;
    color: red;
    font-size: 12px;
    padding: 0 4px;
    border-radius: 0 4px 0 4px;
    cursor: pointer;
}