/* === MODE AUTH (pages d'auth) : fond gris clair, carte à ombre propre, footer en bas ===
   `.mode-auth` est posé sur `.mon-container` — structure UNIFIÉE sur toutes les pages d'auth
   (login, forget*, register, first, noway). `.mon-container` fait déjà min-height:100vh +
   flex column → `.content{flex:1}` pousse le footer en bas ; la carte (.container_connexion)
   porte sa propre ombre. */
.mon-container.mode-auth {
    background: var(--text-color-light);   /* fond gris clair type ram2022 → la carte blanche ressort */
}
.mode-auth header {
    max-width: none;
}

/* admin */
#liste-derniers-inscrits {
    font-size: 1.3rem;
}
#liste-derniers-inscrits a {
    margin-bottom: 1px;
}
#liste-derniers-inscrits a:hover {
    text-decoration: none;
    color: inherit;
    background-color: var(--gris-leger);
}

#liste-derniers-inscrits .date {
    margin: 0 3px;
    width: 7.5rem;
}
#liste-derniers-inscrits .prix {
    width: 7rem;
    margin: 0 3px;
    text-align: right;
}
#liste-derniers-inscrits .type_inscr_1 {
    border-left: 4px solid var(--grp-color) ;
}
#liste-derniers-inscrits .type_inscr_2 {
    border-left: 4px solid var(--ind-color) ;
}
#liste-derniers-inscrits .type_inscr_9 {
    border-left: 4px solid var(--int-color) ;
}


/* Partie inscription structure */
#grp_voirie, #mode_paiement {
    margin-bottom: 0 !important; /* Supprime la marge sous cet input */
    padding-bottom: 0 !important; /* Supprime un éventuel padding sous cet input */
}

#bloc_adresse {
    display: flex;
    flex-wrap: wrap; /* Permet aux éléments de s'ajuster sans forcer de retour à la ligne */
    gap: 5px;
}

#bloc_rue {
    width: 100%;
}

#bloc_cp {
    width: 80px; /* Largeur fixe pour le code postal */
    flex-shrink: 0; /* Empêche la réduction de taille */
}

#bloc_commune {
    flex-grow: 1; /* Prend tout l'espace restant sur la ligne */
}

#cocol1 {
    width: 40%;
}

#cocol2 {
    margin-left: 2rem;
    width: 60%;
}
select {
    height: 3rem;
}
.cadre-responsable-container,
.cadre-modalite-container,
.cadre-participant-container,
.cadre-acceptation-cgv,
.cadre-reservation-repas {
    display: block;
    padding: 2rem;
    border: 1px solid var(--border-ctrl);
    border-radius: 5px;
    margin-bottom: 2rem;
}
.cadre-responsable-container {

}
.gpage-form-corps h1 {
    font-size: 3rem;
}

.cadre_responsable {
    display: flex;
}


.cadre_identite,
.cadre_telmel,
.cadre_adresse {
    flex: 1;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--gris-leger);
    border-radius: 5px;
    padding: 1rem; /* ajustez selon les besoins pour l'espacement */
}
.cadre_telmel {
    margin-left: 1rem;
}
#ind_atelier_seance_1_DIV{
    margin-right: 1rem;
}
#mode_paiement_DIV {
    display: inline;
}
.cadre_responsable .bc-groupe {
    display: flex; /* Active Flexbox pour le conteneur de chaque paire label-input */
}

.cadre_responsable .bc-groupe label {
    flex: 0 0 80px; /* Largeur fixe de 80px sans grandir ou rétrécir */
    text-align: right;
    white-space: nowrap; /* Empêche le label de passer à la ligne */
}

.cadre_responsable .bc-groupe input,
.cadre_responsable .bc-groupe textarea,
.cadre_responsable .bc-groupe select {
    flex: 1; /* Prend tout l'espace restant */
    /* Vous pouvez ajouter une largeur minimale si nécessaire */
    min-width: 0; /* Pour les navigateurs qui appliquent une largeur minimale par défaut */
}

#struc_part_detail .bc-groupe {
    display: inline-block;
}

.cadre-modalite-container legend {
    background-color: var(--blanc-casse);
    color: var(--text);
    padding: 0.5rem 1rem;
    border: 1px solid var(--gris-leger);
}
.cadre-modalite-container fieldset{
    border: 1px solid var(--gris-leger);
}
.cadre_ind_profil_prec .bc-groupe {
    display: flex;
}
.cadre_ind_profil_prec .bc-groupe input {
    flex: 1;
}

/* PUBLIC partie commune */
/* border et border-radius gérés via inline style depuis le back-office (adm_accueil) */
.organise_par{
    padding: 1rem;
    width: 250px;
}

.contenu_com_mail {
    min-height: 400px;
}

/* .gros_bouton : style déplacé/unifié dans gpage/_admin.css (grille de cartes) */
.cadre_rond {
    border-radius: 5px;
    background-color: var(--gpage-background-light);
    border: 1px solid var(--gris-leger);
    padding: 1rem 2rem 1rem 2rem;
    margin-bottom: 1rem;
}

.cadre_rond2 {
    border-radius: 5px;
    border: 1px solid var(--gris-leger);
    padding: 1rem 2rem 1rem 2rem;
    margin-bottom: 1rem;
}

/* les autres */
.rond {
    display: inline-block;
    border-radius: 100%;
    background: var(--noir-badge);
    color: white;
    width: 20px;
    padding: 0 5px;
    margin-left: 0.5rem;
}

.adm_mel {
    font-size: 12px;
}

.presence {
    font-size: 12px;
}

div.presence {
    padding: 0;
    padding-top: 8px;
}

div.presence input {
    margin-right: 8px;
}

.cadre_particip:nth-child(2n+1) {
    background: var(--gris-tres-pale);
    padding: 5px 3px;
}

.cadre_particip:nth-child(2n) {
    background: var(--background-light);
    padding: 5px 3px;
}


.adm_log {
    display: block;
    border: 1px solid var(--gris-leger);
    padding: 0.5rem;
    min-height: 10rem;
    max-height: 20rem;
    font-size: 1.3rem;
    border-radius: 3px;
    overflow-y: scroll;
}


.civilite, .p_nom, .p_prenom, .p_fonction, .p_mel {
    font-size: 1.2rem;
}


#struc_part_detail {
    width: 100%;
}

.cadre_contact, .cadre_atelier {
    width: 100%;
}

TEXTAREA.aide_participant {
    margin: 0;
    padding: 0;
}

.cadre_atelier {
    margin: 0;
    padding: 0;
}

.cadre_atelier td {
    width: 50%;
}

.atelier_participant_ind_adm {
    width: 100%;
}
.atelier_participant {
    width: 50%;
}
.select2-results__option {
    white-space: normal !important;
    word-wrap: break-word;
}
.select2-container .select2-results__option {
    max-width: 100%;
    overflow-wrap: break-word;
}

.width-atl {
    font-size: 1.2rem;
    width: 360px;
    margin: 0;
    padding: 0;
}

td#p_civilite {
    /*width: 20px;*/
}

td#p_nom, td#p_prenom, td#p_fonction, td#p_mel {
    /*width: 150px;*/
}

.titre_atelier_md {
    font-size: 2rem;
    font-weight: bold;
}

.tab_contenu_liste_atelier {
    width: 100%;
    margin: 5px;
    flex: max-content;
}

.tab_contenu_liste_atelier td {
    padding: 3px;
    border-top: 1px dashed var(--marron-fonce);
}

.libelle {
    width: 480px;
}

.resumee {
    font-size: 1rem;
    color: grey;
    line-height: 1rem;
}

.places {
    align-content: center;
}

.titre_atelier {
    display: inline;
    background: none;
    border: none;
    text-display: none;
}

.titre_atelier:hover {
    background-color: whitesmoke;
    /* Override la règle générale BUTTON:hover { color: white !important }
       de _form.css qui rendrait le texte illisible (blanc sur gris clair). */
    color: inherit !important;
}

.titre_participant {
    margin: 2rem 0 1rem 0;
    font-size: 2rem;
    text-align: center;
    width: 100%;
}

.export-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    padding: 1.5rem 0;
}

.export-item {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-width: 26rem;
}

.export-desc {
    margin: 0;
    font-size: 1.3rem;
    color: var(--gris-desc);
    line-height: 1.5;
}

.btn-exporter {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    border: 2px solid var(--vert-export);
    color: var(--vert-export);
    background: var(--background-light);
    padding: 1.2rem 2.4rem;
    border-radius: 5px;
    font-size: 1.6rem;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.15s, color 0.15s, box-shadow 0.15s;
}

.btn-exporter i {
    font-size: 2rem;
}

.btn-exporter:hover {
    background: var(--vert-export);
    color: var(--color-primary-text);
    box-shadow: var(--bouton-shadow);
    text-decoration: none;
}

.liste_atl {
    margin-bottom: 2rem !important;
}

.liste_atl_titre {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.liste_atl_descriptif {
    font-size: 1.8rem;
}

.liste_atl_infosalle {
    font-size: 1.4rem;
    color: var(--gris-fonce);
}

/* Modale détail ateliers */
.modal-body .liste_atl {
    padding: 0.5rem 0;
}
.modal .modal-content {
    padding: 1rem;
}
.modal .modal-header .close {
    font-size: 2.5rem;
    padding: 0.5rem 1rem;
}

.atelier1 {
    padding: 0px;
    width: 10px;
    background-color: var(--gris-dadada);
    color: var(--noir-badge);
    cursor: none;
}

.atelier2 {
    color: white;
    padding: 0px;
    width: 10px;
    background-color: grey;
    cursor: none;
}

.numfacture {
    display: inline-block;
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1rem;
}

.ville_inscr {
    text-transform: uppercase;
    font-weight: bold;
}

.date_inscr {
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1rem;
}

.paiement_valide,
.paiement_attente,
.paiement_partiel,
.paiement_aucun,
.paiement_intervenant,
.paiement_gratuit,
.inscr_struct,
.inscr_indiv {
    /*font-size: 1.2rem;*/
    padding: 1px 2px 0 2px;
    margin: 0;
    border-radius: 3px;
    color: var(--color-primary-text);
    /*line-height: 1.5rem;*/
    font-weight: normal;
}

.inscr_struct {
    background-color: var(--color-accent);
    color: var(--noir-badge);
}

.insc_cp {
    color: blue;
}

.insc_pas_cp {
    color: var(--gris-tres-clair);
}

.inscr_indiv {
    background-color: var(--vert-google);
}

.paiement_attente {
    background-color: var(--rouge-paiement-attente);
}

.paiement_partiel{
    background-color: var(--color-warning);
}

.paiement_aucun {
    background-color: var(--background-light);
    border: 1px solid darkgrey;
}

.paiement_valide {
    background-color: var(--color-success);
}
.paiement_attente_bg {
    background-color: var(--rouge-paiement-attente);
    color: white;
}

.paiement_partiel_bg {
    background-color: var(--color-warning);
    color: white;
}

.paiement_valide_bg  {
    background-color: var(--color-success);
    color: white;
}
.paiement_aucun_bg  {
    background-color: var(--int-color);
    color: white;
}
.paiement_intervenant {
    background-color: var(--int-color);
    color: white;
    text-align: center;
}
.paiement_intervenant_bg {
    background-color: var(--int-color);
    color: white;
}
.paiement_gratuit {
    background-color: var(--color-accent);
    color: var(--noir-badge);
    text-align: center;
}

.fiche_inscription_lecture {
    padding: 1rem;
}

/* === BANDEAU IMAGE (public) === */
.gpage-bandeau-image {
    width: 100%;
    line-height: 0;
}
.gpage-bandeau-image img {
    width: 100%;
    height: auto;
}
.bandeau-tablette {
    display: none;
}

/* === LAYOUT PUBLIC (accueil inscription) === */
#en_corps_public {
    padding: 2rem 3rem;
}
.public-layout {
    display: flex;
    flex-direction: row;
    gap: 2rem;
}
.public-layout .droite_texte {
    flex: 1;
    min-width: 0;
}
.public-layout .gauche_affiche {
    flex: 0 0 270px;
    text-align: center;
}

.cadre_apart {
    background-color: var(--gris-clair);
    border-radius: 5px;
    padding: 1rem;
    margin-bottom: 1rem;
}

.cadre_sousmenu {
    border: 1px solid var(--gris-clair);
    border-radius: 5px;
    padding: 1rem;
    margin-bottom: 1rem;
}

.cadre_sousmenu2 {
    border: 1px solid var(--gris-clair);
    border-radius: 5px;
    margin: 1rem;
}


/* === MODE PUBLIC : header masqué, bandeau image visible === */
.mode-public header {
    display: none;
}
/* Le container ne s'étire pas en hauteur en mode public.
   `max-width: 1024px` est un plafond souple — s'adapte si viewport < 1024. */
.mode-public .gpage-container {
    flex: none;
    max-width: 1024px;
    width: 100%;
}
.mode-public .gpage-main {
    flex: none;
}

/* === BOUTON INSCRIPTION (CTA public) === */
.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}
.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
}
/* bandeau géré par .gpage-bandeau-image, pas en background */

.form-container-journees {
    margin: 1rem 2rem;
    max-width: 100%;
}

.display_none {
    display: none;
}

.display_block {
    display: flex;
}

.t_invisible {
    display: none;
}


.flex-container {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.flex-item:nth-child(1) {
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
}

.flex-item:nth-child(2) {
    width: 100px;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center;
}

.cadre_arrondi {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-shadow: 0px 0px 3px var(--gris-ombre);
    -moz-box-shadow: 0px 0px 3px var(--gris-ombre);
    box-shadow: 0px 0px 3px var(--gris-ombre);
    padding: 4px;
    margin-bottom: 10px;
}

.cadre_arrondi:nth-child(2n+1) {
    background: var(--background-light);
}

.cadre_arrondi:nth-child(2n) {
    background: var(--background-light);
}

BODY table.cadre_participant {
    padding: 0;
    margin: 0;
    width: 100%;
}

BODY table.cadre_participant td {
    margin: 3px;
}

/* Checkboxes gPage - permettre le retour à la ligne du texte */
/* Les checkboxes gPage utilisent un <span> pour le label (pas <label>) */
/* Structure: <span id="xxx_ENT">Texte</span><input type="checkbox"> */
input[type="checkbox"] {
    flex-shrink: 0;
    vertical-align: top;
    margin-top: 3px;
}

/* Le span label avant la checkbox - permet au texte de wrapper */
span[id$="_ENT"] {
    display: inline;
    white-space: normal;
}


BUTTON.titre_atelier {
    display: inline-flex;
    text-align: left;
}

/**
Partie Admin
 */
.flexAdmin-container {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: start;
    -moz-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-box-align: start;
    -moz-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.flexAdmin-item:nth-child(1) {
    -webkit-box-ordinal-group: 1;
    -moz-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-box-flex: 0;
    -moz-box-flex: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
}

.flexAdmin-item:nth-child(2) {
    -webkit-box-ordinal-group: 1;
    -moz-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-box-flex: 0;
    -moz-box-flex: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
}

.flexAdmin-item:nth-child(3) {
    -webkit-box-ordinal-group: 1;
    -moz-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    margin-left: 5px;
}

@-moz-document url-prefix() {
    .flexAdmin-container {
        width: 100%;
        -moz-box-sizing: border-box;
    }

}

.parentheses::before {
    content: "(";
}

.parentheses::after {
    content: ")";
}

.ulpoint{

}
.ulpoint li{
    margin-left: 15px;
}

.ulpoint li::before {
    content: '•'; /* Symbole du point */
    margin-right: 8px; /* Espace entre le point et le texte */
    color: black; /* Couleur du point */
}

.poster_img{
    height: 150px;
    width: auto ;
    margin-right: 10px;
    padding: 0 20px ;
}

.info_poster, .table_poster {
    background-color: var(--jaune-poster);
    padding: 15px;
    border-radius: 10px;
    margin-bottom: 5px;
}

div.w-100 div.bc-groupe,
div.w-50 div.bc-groupe {
    width: 100%;
}
div.w-50 div.bc-groupe:first-child {
    padding-right: 1rem;
}
div.mode-paiement {
    display: inline;
}
div.mode-paiement div.bc-groupe {
    display: inline-block;
}

.info_heberg {
    display: block;
    background-color: lightgoldenrodyellow;
    margin-top: 1rem;
    border-radius: 3px;
    border: 1px solid var(--gris-bordure-claire);
    font-size: 1.6rem;
    padding: 1rem;
}

.info_heberg i {
    float: left;
    font-size: 2rem;
    color: var(--color-warning);
    margin: 0 1rem 0 0;
}
