/* Tirage au sort d'élèves : même vert que le reste du site */
#features.tir-section { padding-top: 1em; }

.tir-onglets { display: flex; justify-content: center; gap: .6em; margin: 0 0 1.2em 0; }
.tir-onglet {
	font: inherit; padding: .55em 1.6em; border-radius: 2em; cursor: pointer; -webkit-appearance: none; appearance: none;
	border: 2px solid #e5e5e5; color: #878787 !important; background: #fff !important; text-shadow: none;
	transition: background-color .25s, border-color .25s, color .25s;
}
.tir-onglet:hover { border-color: #5cc79a; color: #16855a !important; }
.tir-onglet.actif, .tir-onglet.actif:hover { background: #16855a !important; border-color: #16855a; color: #fff !important; }

.tir-grille { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 1.2em; align-items: start; max-width: 70em; margin: 0 auto; }
.tir-carte { background: #fff; border: 2px solid #e5e5e5; border-radius: 1.2em; padding: 1.4em; text-align: center; }
.tir-liste { text-align: left; }
.tir-liste h3 { text-align: center; margin: 0 0 .8em 0; color: #16855a; }

/* Le nom tiré */
.tir-nom {
	display: flex; align-items: center; justify-content: center; min-height: 2.4em; padding: .1em .3em;
	font-weight: 700; color: #16855a; line-height: 1.1; word-break: break-word;
	font-size: clamp(2.4em, 9vw, 5.5em);
}
.tir-nom.tire { animation: tir-pop .5s ease-out; }
.tir-nom.defile { color: #5cc79a; }
@keyframes tir-pop { 0% { transform: scale(.85); } 60% { transform: scale(1.1); } 100% { transform: scale(1); } }
.tir-info { min-height: 1.5em; margin: .2em 0 1em 0; color: #878787; }

.tir-commandes { display: flex; flex-wrap: wrap; justify-content: center; gap: .6em; }
.tir-commandes .button { margin: 0; }
.tir-case { display: inline-block; margin: 1em 0 0 0; font-size: .9em; color: #666; cursor: pointer; }
.tir-case input { margin-right: .4em; }

.tir-deja { margin-top: 1.2em; padding-top: 1em; border-top: 2px solid #e5e5e5; }
.tir-deja-titre { display: block; font-size: .85em; color: #878787; margin-bottom: .5em; }
.tir-deja ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .4em; }
.tir-deja li { margin: 0; padding: .25em .8em; border-radius: 2em; background: #eaf7f1; color: #16855a; font-size: .9em; }

/* Liste */
.tir-etiquette { display: block; margin: .9em 0 .3em 0; font-size: .85em; color: #878787; }
.tir-liste input[type="text"], .tir-liste select, .tir-liste textarea {
	width: 100%; font: inherit; padding: .5em .7em; border: 2px solid #e5e5e5; border-radius: .6em; background: #fff; color: #555; box-sizing: border-box;
}
.tir-liste textarea { resize: vertical; min-height: 10em; }
.tir-liste input:focus, .tir-liste select:focus, .tir-liste textarea:focus { outline: none; border-color: #16855a; }
.tir-ligne { display: flex; gap: .6em; align-items: center; flex-wrap: wrap; margin-top: .3em; }
.tir-ligne select { flex: 1 1 10em; width: auto; }
.tir-ligne .button { margin: .6em 0 0 0; }
.tir-ok { color: #16855a; font-weight: 700; margin-top: .6em; }
.tir-rgpd { margin: 1em 0 0 0; font-size: .8em; color: #878787; }
#compte { color: #16855a; font-weight: 700; }

.tir-mini, .tir-pm {
	font: inherit; cursor: pointer; -webkit-appearance: none; appearance: none; text-shadow: none;
	border: 2px solid #5cc79a; color: #16855a !important; background: #fff !important; transition: background-color .25s, color .25s;
}
.tir-mini { padding: .3em .9em; border-radius: 2em; font-size: .85em; letter-spacing: 0; text-transform: none; }
.tir-mini:hover, .tir-pm:hover { background: #16855a !important; color: #fff !important; }
.tir-mini.actif { background: #16855a !important; color: #fff !important; border-color: #16855a; }
.tir-pm { width: 2em; height: 2em; padding: 0; border-radius: 50%; line-height: 1; display: inline-flex; align-items: center; justify-content: center; letter-spacing: 0; }

/* Groupes */
.tir-reglage-groupes { margin-bottom: 1em; }
.tir-reglage-groupes > label { font-size: 1.3em; color: #555; display: inline-flex; align-items: center; gap: .5em; flex-wrap: wrap; justify-content: center; }
.tir-champ { display: inline-flex; align-items: center; gap: .5em; }
.tir-champ > span { min-width: 1.4em; font-weight: 700; color: #16855a; }
.tir-bascule { display: flex; gap: .5em; justify-content: center; margin-top: .8em; }
.tir-groupes { display: grid; grid-template-columns: repeat(auto-fill, minmax(11em, 1fr)); gap: .8em; margin-top: 1.2em; text-align: left; }
.tir-groupe { border: 2px solid #5cc79a; border-radius: .9em; padding: .7em .9em; background: #f6fcf9; animation: tir-pop .4s ease-out both; }
.tir-groupe h4 { margin: 0 0 .4em 0; color: #16855a; font-size: 1em; }
.tir-groupe ul { margin: 0; padding: 0; list-style: none; }
.tir-groupe li { margin: 0; padding: .1em 0; color: #555; }

/* Plein écran : le nom tiré en très grand */
.tir-scene:fullscreen { display: flex; flex-direction: column; justify-content: center; border: 0; border-radius: 0; padding: 2em; background: #fff; overflow: auto; }
.tir-scene:fullscreen .tir-nom { font-size: clamp(4em, 16vw, 14em); }
.tir-scene:-webkit-full-screen { display: flex; flex-direction: column; justify-content: center; border: 0; border-radius: 0; padding: 2em; background: #fff; }

@media screen and (max-width: 900px) { .tir-grille { grid-template-columns: minmax(0, 1fr); } }
@media screen and (max-width: 640px) {
	.tir-commandes .button { width: 100%; }
	.tir-onglet { width: auto !important; padding: .5em 1.2em; }
	.tir-carte { padding: 1.1em .8em; }
	.tir-ligne .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .tir-nom.tire, .tir-groupe { animation: none; } }

/* Le thème cache les cases à cocher : on remet celle-ci visible */
.tir-case input[type="checkbox"] {
	-webkit-appearance: checkbox; appearance: auto; opacity: 1; position: static; z-index: auto;
	width: 1.15em; height: 1.15em; margin: 0 .5em 0 0; vertical-align: -.2em; accent-color: #16855a; display: inline-block;
}

/* Import / export */
.tir-fichiers { margin-top: .8em; }
.tir-fichiers .tir-mini i { margin-right: .3em; }
.tir-import { margin-top: .8em; padding: .8em 1em 1em 1em; border: 2px dashed #5cc79a; border-radius: .9em; background: #f6fcf9; }
.tir-import-titre { margin: 0 0 .4em 0; color: #555; font-size: .9em; }
.tir-import .tir-case { margin: .2em 0 0 0; }
.tir-apercu { margin: .8em 0 0 0; font-size: .85em; color: #16855a; }
.tir-commandes .button[disabled] { opacity: .5; cursor: default; }

/* Mise en page : l'affichage en pleine largeur, la liste dessous en paysage */
.tir-grille { grid-template-columns: minmax(0, 1fr); }
.tir-liste-corps { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.6em; align-items: start; }
.tir-liste-g .tir-etiquette { margin-top: 0; }
.tir-liste-g textarea { min-height: 15em; height: 100%; }
.tir-scene { padding: 2em 1.4em; }
.tir-nom { font-size: clamp(2.6em, 10vw, 6.5em); }
@media screen and (max-width: 800px) { .tir-liste-corps { grid-template-columns: minmax(0, 1fr); gap: 0; } .tir-liste-g textarea { min-height: 10em; } }

