/* ****************************************

	Code created by Serge Soudoplatoff
	Copyright 2018 to 2026
	*/

:root {
	--golf-vert: #1f5e3b;
	--golf-vert-2: #2f7d4f;
	--golf-vert-clair: #e9f3ec;
	--golf-sable: #f6f3ea;
	--bs-link-color-rgb: 31, 94, 59;
	--bs-link-hover-color-rgb: 20, 64, 40;
}

html, body {
	width: 100%;
	min-height: 100%;
}

body {
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Verdana, sans-serif;
	background: var(--golf-sable);
}

/* boutons "success" aux couleurs du golf */
.btn-success {
	--bs-btn-bg: var(--golf-vert);
	--bs-btn-border-color: var(--golf-vert);
	--bs-btn-hover-bg: #174a2e;
	--bs-btn-hover-border-color: #174a2e;
	--bs-btn-active-bg: #123c25;
	--bs-btn-disabled-bg: var(--golf-vert);
	--bs-btn-disabled-border-color: var(--golf-vert);
}

.form-control:focus, .form-select:focus {
	border-color: var(--golf-vert-2);
	box-shadow: 0 0 0 .2rem rgba(47, 125, 79, .2);
}


/***** nav *****/
.golf-nav {
	background: var(--golf-vert);
	padding: .5rem 0;
}
.golf-nav .navbar-brand {
	color: #fff;
	font-weight: 600;
	padding: 0;
}
.golf-nav .navbar-brand img {
	border: 2px solid rgba(255,255,255,.6);
	object-fit: cover;
	width: 48px;
}
.golf-menu {
	gap: .25rem;
	margin-top: .5rem;
	flex-wrap: nowrap;
	overflow-x: auto;
}
.golf-menu .nav-link {
	color: rgba(255,255,255,.85);
	border-radius: 2rem;
	padding: .35rem 1rem;
	white-space: nowrap;
}
.golf-menu .nav-link:hover {
	color: #fff;
	background: rgba(255,255,255,.12);
}
.golf-menu .nav-link.active {
	background: #fff;
	color: var(--golf-vert);
	font-weight: 600;
}
@media (min-width: 992px) {
	.golf-menu {
		width: auto !important;
		margin-top: 0;
		margin-left: 2rem;
	}
}


/*  les quatre couleurs (les valeurs étaient entre guillemets : CSS invalide) */
.coul_w { background-color: #FFFFFF; }
.coul_y { background-color: #F2C200; }
.coul_b { background-color: #1D4FA8; }
.coul_r { background-color: #CC2B2B; }

.tee {
	display: inline-block;
	width: .85em;
	height: .85em;
	border-radius: 50%;
	vertical-align: -0.05em;
	border: 1px solid rgba(0,0,0,.35);
}
.tee-w { background: #ffffff; }
.tee-y { background: #f2c200; }
.tee-b { background: #1d4fa8; }
.tee-r { background: #cc2b2b; }


/***** listes de gauche *****/
.panneau-liste {
	overflow: hidden;
}
@media (min-width: 992px) {
	.panneau-liste {
		position: sticky;
		top: 1rem;
	}
	.panneau-liste #list_golfs,
	.panneau-liste #list_games {
		max-height: calc(100vh - 12rem);
		overflow-y: auto;
	}
}
.golf-liste .pays-entete {
	display: flex;
	align-items: center;
	gap: .4rem;
	background: var(--golf-vert-clair);
	color: var(--golf-vert);
	font-size: .8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding-top: .35rem;
	padding-bottom: .35rem;
	position: sticky;
	top: 0;
	z-index: 2;
}
.golf-liste .pays-entete .drap {
	font-size: 1rem;
}
.golf-liste .list-group-item-action {
	border-left: 3px solid transparent;
}
.golf-liste .list-group-item-action.active {
	background: #fff;
	color: var(--golf-vert);
	border-color: var(--bs-list-group-border-color);
	border-left: 3px solid var(--golf-vert);
	font-weight: 600;
}
.golf-ville {
	color: var(--bs-secondary-color);
}
.score-liste {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
}

.etat-vide {
	padding: 2.5rem 1rem;
}
.etat-vide i {
	color: var(--golf-vert-2);
	opacity: .5;
}


/***** fiche golf / partie *****/
.golf-card {
	overflow: hidden;
	border: 0;
}
.golf-banner {
	background: linear-gradient(135deg, var(--golf-vert) 0%, var(--golf-vert-2) 100%);
	color: #fff;
	padding: 1.25rem 1.5rem;
}
.golf-icone {
	width: 2.5rem;
	height: 2.5rem;
	flex: 0 0 2.5rem;
	border-radius: 50%;
	background: var(--golf-vert-clair);
	color: var(--golf-vert);
	display: flex;
	align-items: center;
	justify-content: center;
}


/***** la carte du golf *****/
.golf-carte {
	position: relative;
	height: 280px;
	border-radius: .6rem;
	overflow: hidden;
	background: var(--golf-vert-clair);
	border: 1px solid var(--bs-border-color);
}
.golf-carte iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}
.carte-toggle {
	position: absolute;
	top: .5rem;
	right: .5rem;
	box-shadow: 0 2px 6px rgba(0,0,0,.25);
	border-radius: .4rem;
}
.carte-toggle .btn {
	background: #fff;
	color: var(--golf-vert);
	border: 0;
	font-weight: 600;
}
.carte-toggle .btn.active {
	background: var(--golf-vert);
	color: #fff;
}
@media (min-width: 992px) {
	.golf-carte { height: 340px; }
}

/***** parcours *****/
.choix-golf {
	min-width: 220px;
}
.parc-card {
	border: 0;
	overflow: hidden;
}
.parc-head {
	background: var(--golf-vert);
	color: #fff;
	border: 0;
}
.parc-edit .parc-head {
	background: #8a6d1f;
}
.section-titre {
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--golf-vert);
	font-weight: 700;
	margin-top: .5rem;
}
.depart {
	border: 1px solid var(--bs-border-color);
	border-radius: .5rem;
	padding: .5rem .75rem;
	background: #fff;
	height: 100%;
}


/***** la carte de score (horizontale) *****/
.carte {
	font-size: .85rem;
	text-align: center;
	white-space: nowrap;
	margin-bottom: .5rem;
}
.carte th, .carte td {
	padding: .3rem .35rem;
	min-width: 2.4rem;
	vertical-align: middle;
}
.carte thead th {
	background: var(--golf-vert);
	color: #fff;
	font-weight: 600;
}
.carte {
	table-layout: fixed;
	min-width: 640px;
}
.carte .carte-tot, .carte .carte-vide {
	width: 4.2rem;
}
.carte th.carte-h {
	width: calc((100% - 15.4rem) / 9);
}
.carte th.carte-vide, .carte td.carte-vide {
	background: transparent !important;
	border: 0;
}
.carte .carte-lab {
	width: 7rem;
	text-align: left;
	min-width: 4.5rem;
	position: sticky;
	left: 0;
	z-index: 1;
	background: #fff;
}
.carte thead .carte-lab {
	background: var(--golf-vert);
}
.carte .carte-tot {
	background: var(--golf-vert-clair);
	font-weight: 700;
}
.carte thead .carte-tot {
	background: #174a2e;
}
.carte .ligne-par td, .carte .ligne-par th {
	font-weight: 700;
}
.carte .ligne-hcp td {
	color: var(--bs-secondary-color);
	font-size: .8rem;
}
.carte .in-carte {
	width: 3.2rem;
	padding: .15rem .2rem;
	text-align: center;
	margin: 0 auto;
}
/* pas de flèches sur les number : plus lisible dans une grille */
.in-carte::-webkit-outer-spin-button,
.in-carte::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.in-carte {
	-moz-appearance: textfield;
	appearance: textfield;
}


/***** les marques de score *****/
.sc {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.7rem;
	height: 1.7rem;
	font-weight: 700;
	line-height: 1;
}
.sc-birdie {
	border: 2px solid #c0392b;
	border-radius: 50%;
	color: #c0392b;
}
.sc-eagle {
	border: 2px solid #c0392b;
	border-radius: 50%;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px #c0392b;
	color: #c0392b;
}
.sc-bogey {
	border: 2px solid #2c3e50;
}
.sc-double {
	border: 2px solid #2c3e50;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px #2c3e50;
}
.legende {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
}
.legende .sc {
	transform: scale(.75);
}


/***** tuiles de stats *****/
.tuile {
	background: var(--golf-vert-clair);
	border-radius: .6rem;
	padding: .6rem .5rem;
	text-align: center;
	height: 100%;
}
.tuile-lab {
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--golf-vert);
	font-weight: 700;
}
.tuile-val {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.2;
}
.tuile-sub {
	font-size: .72rem;
	color: var(--bs-secondary-color);
	min-height: 1em;
}


/***** la grille de saisie (verticale) *****/
.grille thead th {
	font-size: .75rem;
	text-transform: uppercase;
	color: var(--golf-vert);
	border-bottom: 2px solid var(--golf-vert);
	white-space: nowrap;
}
.grille .grille-trou {
	width: 2.5rem;
	font-size: 1.05rem;
}
.grille .in-carte {
	width: 3.6rem;
	margin: 0 auto;
	text-align: center;
	font-size: 1.05rem;
	padding: .3rem .2rem;
}
.grille .in-carte[data-k="cps"] {
	font-weight: 700;
	border-color: var(--golf-vert-2);
}
.grille .grille-sous th, .grille .grille-sous td {
	background: var(--golf-vert-clair);
	font-weight: 600;
}
.grille .grille-total th, .grille .grille-total td {
	background: var(--golf-vert);
	color: #fff;
	font-weight: 700;
	font-size: 1.05rem;
}
.vspar, .vspar-tot {
	font-weight: 700;
	font-size: .85rem;
}
.vs-moins { color: #c0392b; }
.vs-par   { color: var(--bs-secondary-color); }
.vs-plus  { color: #2c3e50; }
.vs-plus2 { color: #6c3483; }

@media (max-width: 575.98px) {
	.golf-banner { padding: 1rem; }
	.grille .in-carte { width: 3rem; }
	.tuile-val { font-size: 1.3rem; }
}

/***** slope / sss hommes - dames *****/
.reperes {
	width: 100%;
	font-size: .85rem;
}
.reperes thead th {
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--bs-secondary-color);
	font-weight: 600;
	text-align: right;
}
.reperes tbody th {
	color: var(--bs-secondary-color);
	font-weight: 400;
	padding-right: .5rem;
}
.reperes td {
	text-align: right;
	padding: .05rem 0 .05rem .4rem;
}
.reperes-edit td {
	padding: .15rem 0 .15rem .3rem;
}
.reperes-edit .form-control {
	text-align: right;
	min-width: 3.5rem;
}

/***** nom des trous *****/
.carte .ligne-nom td {
	font-size: .7rem;
	font-style: italic;
	color: var(--bs-secondary-color);
	white-space: normal;
	line-height: 1.15;
	word-break: break-word;
}
.carte .ligne-nom .in-nom {
	width: 100%;
	font-size: .72rem;
	padding: .15rem .25rem;
	text-align: center;
}
.grille-nom {
	font-size: .68rem;
	font-weight: 400;
	font-style: italic;
	color: var(--bs-secondary-color);
	max-width: 6rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/***** liste des parties : année > mois > parties *****/
.liste-jeux .mois-entete {
	display: flex;
	align-items: center;
	gap: .5rem;
	padding-left: 1.25rem;
	font-weight: 600;
	font-size: .9rem;
	color: var(--golf-vert);
	background: #fff;
}
.liste-jeux .mois-fleche {
	font-size: .7rem;
	width: .8rem;
	transition: transform .15s ease;
}
.liste-jeux .mois-entete.ouvert .mois-fleche {
	transform: rotate(90deg);
}
.liste-jeux .mois-jeux .b_dsp_game {
	padding-left: 2.5rem;
}
.liste-jeux .mois-entete:hover,
.liste-jeux .mois-entete:focus {
	color: var(--golf-vert);
	background: var(--golf-vert-clair);
}

/***** sélecteur par date / par golf *****/
.liste-mode .btn {
	background: #fff;
	color: var(--golf-vert);
	border: 1px solid var(--golf-vert);
	font-weight: 600;
}
.liste-mode .btn.active {
	background: var(--golf-vert);
	color: #fff;
}
