body {
  padding:0px;
  margin:0px;
font-family: Verdana;
background-color: #f4f4f4;
}


.Bouton {
  display: inline-block;
  margin-bottom: 2px;
  text-decoration: none;
  padding: 5px 10px;
  padding-right: 20px;
  border-radius: 3px;
  background: #88b61a;
  color:#fff;
  height:24px;
}

.Bouton span {
position:relative;
vertical-align: middle;
width:16px;
height:16px;  
display: inline-block;  
margin-right:10px;
background: url(/images/sprite-bouton.png);

}



.Bouton.SansTexte span{
margin-right: 0px;
}
.Bouton.SansTexte {
padding: 7px;
}
.Bouton.SansFond {
  background: none;
}
.Bouton.Noir {
    color:#333!important;
}
.Bouton.Noir span {
  filter:invert(1)
}
.Bouton.Orange {
  background: #fc8e1e;
}
.Bouton.Vert {
  background: #00aa00;
}
.Bouton.Rouge {
  background: #dd0000;
  color:#fff;

}
.Bouton.Bleu {
  background: #386dff;
  Color:#FFF;
}
.Bouton.Orange:hover {
  background-color: #df770f;
}
.Bouton.Vert:hover {
  background-color: #008800;
}
.Bouton.Rouge:hover {
  background-color: #bb0000;
}

.Bouton.SansFond:hover,
.Bouton.SansFond.Active  {
  background-color: #ddd;
}

.Bouton.Disabled {
  background: #cecece;
  cursor:default;
}
.Bouton.Mini {
  padding:2px;
  padding-right:10px;
  font-size: 12px;
}
.Bouton.Mini span {
  margin-top:-2px;
  margin-right:2px;
}
.Bouton.Mini.SansTexte {
  padding:2px;
}
.Bouton span.Editer {
  background-position: 0px -16px;
}
.Bouton span.Rechercher {
  background-position: 0px -32px;
}

.Bouton span.Valider {
  background-position: 0px -48px;
}

.Bouton span.Imprimer {
  background-position: 0px -64px;
}

.Bouton span.Email {
  background-position: 0px -80px;
}

.Bouton span.Voir {
  background-position: 0px -96px;
}

.Bouton span.Supprimer {
  background-position: 0px -112px;
}

.Bouton span.Recharger {
  background-position: 0px -128px;
}

.Bouton span.WaterMarkOn {
background-position: -32px -80px;
}

.Bouton span.WaterMarkOff {
background-position: -32px -96px;
}

.Bouton span.Sauvegarder {
  background-position: 0px -144px;
}

.Bouton span.Telecharger {
  background-position: 0px -160px;
}

.Bouton span.Upload {
  background-position: 0px -160px;
  transform: rotate(180deg);
}
.Bouton span.Back {
  background-position: 0px -160px;
  transform: rotate(90deg);
}
.Bouton span.Historique {
  background-position: -16px -112px;
}

.Bouton span.Deplier {
  background-position: 0px -176px;
}
.Bouton span.Retirer {
  background-position: 16px 0px;
}
.Bouton span.Interdit {
  background-position: 16px -16px;
}
.Bouton span.Copier {
  background-position: 16px -96px;
}
.Bouton span.Envoyer {
  background-position: 16px -176px;
}
.Bouton span.Verouiller {
  background-position: 16px -48px;
}
.Bouton span.Deverouiller {
  background-position: 16px -32px;
}

.Bouton span.Retour {
  background-position: 0px -176px;
  transform: rotate(90deg);
}
.Bouton span.RotRight {
background-position: -32px -160px;
}
.Bouton span.RotLeft {
background-position: -32px -176px;
}
.Bouton span.Rot180 {
transform: rotate(180deg);
}
.Bouton span.Parametres {
background-position: -32px -144px;
}
.Bouton span.Fermer {
transform: rotate(45deg);
}
.Bouton span.AjouterPhoto {
  background-position: 32px -48px;
}
.Bouton span.AjouterPhotos {
  background-position: 32px -64px;
}

.Bouton span.Assistant {
  background-position: -64px -16px;
}
.Bouton.DropDown {
display: inline-block;
cursor:pointer;
}
.Bouton.Droite {
float:right;
margin-right:10px;
}
.Bouton div.DropDown {
  display: none;
  position:absolute;
  background: #fff;
    box-shadow: 2px 2px 5px #333;
    color:#333;
    font-size: 12px;
    min-width:150px;
    z-index:999;
}
.Bouton:hover div.DropDown {
  display: block;
}

h1 {
  font-size: 20px;
  text-align: center;
  color:#666;
}
header {
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: #fff;
  border-bottom:1px solid #cecece;
}
header a#Logo {
  display: inline-block;  
  height:40px;
  margin:auto;
  margin-top:5px;
  width:80%;  
  background: url(/images/logo-akisiweb-fond-clair.png) no-repeat 50%;
  background-size:auto 80%;
}
header a#MenuBtn {
  width:40px;
  height:40px;
  background: #b6b6b6;
  display: block;
  float:right;
  margin:5px;
  border-radius: 5px;;
  
}
header a#MenuBtn img {
  width:25px;
}
header ul#MenuPan {
  list-style: none;
  padding:0px;
  margin:0px;
  position:absolute;
  width:50%;
  max-width:400px;
  right:0px;
  background: #b6b6b6;
  top:50px;
  display: none;
  z-index: 999;
}
#MenuPan a {
  text-decoration: none;
  color:#fff;
}
.Logged header a#Logo {
  float:left;
  margin-left:5px;
  width:280px;
}

.Mobile header a#Logo {
  background-size:auto 60%;

}

.Mobile.Logged header a#Logo {
  float:left;
  margin-left:10px;
  background-position:0px; 
}
@keyframes Loading {
  from {    
    margin-left:0%;
    width: 0%;
  }
  50% {
    margin-left:0%;
    width: 100%;
  }
  to {
    margin-left:100%;
    width: 0%;    
  }
}

div#LoadingBar {
  width:100%;
  height:10px;
  position: absolute;
  overflow: hidden;
  display: none;
  top:0px;
}

div#LoadingBar div {
  height:0px;
  border:1px solid #ff0000;
  box-shadow: 0px 0px 5px #f00;
  animation-duration:5s;
  animation-iteration-count: infinite;
  animation-name: Loading;
}

#LoginPan {
  width: 25%;
  max-width: 300px;
  border: 1px solid #999;
  box-shadow: 3px 3px 1px #999;
  margin:auto;
  margin-top: 150px;
  border-radius: 5px;
}
.Mobile div#LoginPan {
  width:95%;
  border:0px;
  box-shadow: none;
  margin-top:50px;
}


#LoginPan form {
  padding:10px;
}
#LoginPan b {
  display: block;
  background: #87b619;
  padding:5px 15px;
  border-radius: 5px 5px 0px 0px;
  color:#fff;
font-size:14px;
  height:25px;
  line-height:25px;
  text-shadow:1px 1px 1px #333;
}
.Mobile div#LoginPan b {
  display: none;
}


#LoginPan label {
  display: block;
  font-size:12px;
margin-left:5%;
margin-bottom:5px;
}
#LoginPan input[type=submit],
#LoginPan input[type=text],
#LoginPan input[type=password] {
  display: block;
  width: 80%;
  margin-left:5%;
  margin-bottom:5%;
  padding: 5%;
  border-radius: 5px;
  border-width:1px;
  border-color:#cecece;
  border-style: solid;
}

#LoginPan input[type=submit] {
  width:90%;
  background-color: #222a35;
  color:#FFFFFF;
}

p#LoginInfos {
  width:50%;
  margin:auto;
margin-top:50px;
text-align: center;
}
.Mobile p#LoginInfos {
  width:100%;
}
p#LoginInfos span {
  display: block;
  font-size: 25px;
  margin-bottom: 15px;
}

div#LoginInfoPan {
  display: none;
  margin:30px;
  color:#cc0000;
  line-height: 1.5em;
}
p.Infos {
  width:90%;
  max-width:600px;
  margin:auto;
  margin-top:20px;
  margin-bottom:30px;
  line-height: 30px;
  
}
.Pan,
.Tuile {
  width:90%;
   background: #fff; 
   margin:auto;
   padding:15px;
   border: 1px solid #cecece;
   margin-bottom: 10px;
   border-radius: 10px;
   max-width: 600px;
   font-size:12px;
   overflow: hidden;
 }
 .Tuile.Derniere {
  line-height: 25px;
  background: #006eff;
  Color:#eeeeee;
font-size:16px;
}
 .Pan b.Titre {
   display: block;
   text-align: center;
   border-bottom: 1px solid #cecece;
   margin-bottom: 15px;
   height:25px;  
 }
 b.Titre em {
  float:left;
 background: #cecece;
  padding:5px 15px;
  border-radius: 3px 3px 0px 0px;
  color:#666;
}
 .ReponseTuile {
  width:80%;
  padding:10px;
  display: block;
  margin:auto;
  margin-bottom:10px;
  border: 1px solid #cecece;
  border-radius: 5px;
}
 #InitDemandeRappelPan a,
 .Tuile a {
   display: block;
   width:80%;
   padding:10px;
   text-align: center;
   background: #eee;
   margin:auto;
   margin-bottom:5px;
   border: 1px solid #cecece;
   border-radius: 5px;
   text-decoration: none;
   color:#666;
 }

 #InitDemandeRappelPan a.Selected,
 .Tuile a.Selected {
  background: #87b619;
  color:#333b30;
}

#Tuiles {
  margin-bottom:50px;
} 

div.Demande {
  font-size: 12px;
}
div.Demande span.Etat {
  background: #eee;
  padding:3px 7px;
  width:85px;
  display: inline-block;
  text-align: center;
  
  border-radius:5px;
  
}

div.Detail {
  margin: 10px;
}
div.Questions {
  margin-top:10px;
  margin-left:20px;
}

div.Detail {
  margin: 10px;
}
div.Questions {
  margin-top:10px;
  margin-left:20px;
}
div.Reponse {
  margin-top:10px;
  margin-left:20px;
  background: #eee;
  font-size: 12px;
  padding: 5px;
}

.Tuile.encours {
  background: #8bbeff33;
}

.Tuile.encours span.Etat {
  background: #8bbeff;
  color:#333;
}

.Tuile.traitee {
  background: #60d63533;
}

.Tuile.traitee span.Etat {
  background: #60d635;
  color:#333;
}


.Tuile.messagerie {
  background: #ffa70033;
}

.Tuile.messagerie span.Etat {
  background: #ffa700;
  color:#333;
}

.Tuile.probleme {
  background: #ff7a7a33;
}

.Tuile.probleme span.Etat {
  background: #ff7a7a;
  color:#333;
}

div.Big {
  height:48px;
  line-height:24px;
  font-size: 12px;
  font-weight: bold;
}
div.Big span {
  font-size:12px;
  font-weight: normal;
}

a.GrosBouton {
  min-height: 48px;
  line-height: 48px;
  width:90%;
  background: #eee;
  display: block;
  margin:auto;
  text-decoration: none;
  color:#555;
  font-size:14px;
  border-radius:5px;
}
#HomePan a.GrosBouton, 
#PhotosInAlbum a.GrosBouton {
  margin-bottom:2%;
}

a.GrosBouton span {
  display: inline-block;
  width:48px;
  height:48px;  
  vertical-align: middle;
  margin-right:10px;
  background-image: url(../images/sprites.png?V=2.4);
}
a.GrosBouton.SansTexte {
  width:48px;
}

.GrosBouton.SansFond {
  background: transparent;
}

a.GrosBouton.Droite {
  float:right;
}
a.GrosBouton.LeftRound {
  border-radius: 24px 5px 5px 24px;;
}
span.Bulle {
  background-position: -96px 0px;
}
span.Historique {
  background-position: 0px -48px;
}

span.Photos {
  background-position: -48px 0px;
}

span.Documents {
  background-position: -144px 0px;
}

span.Site {
  background-position: -48px -48px;
}
span.Annuler {
  background-position: -96px -48px;
}

span.QrCodes {
  background-position: -144px -48px;
}
span.Flyers {
  background-position: -48px -96px;
}
span.BatVal {
  background-position: -96px -96px;
}
span.Valider {
  background-position: 0px -96px;
}

span.AjouterAlbum {
  background-position: -144px -96px;
}

span.AjouterChantier {
  background-position: 0px -144px;
}

span.AjouterPhotos {
  background-position: -48px -144px;
}

span.AjouterAvantApres {
  background-position: -96px -144px;
}

span.AjouterAvantPendantApres {
  background-position: -144px -144px;
}
span.Delete {
  background-position: -192px -48px;
}

span.Save {
  background-position: -192px -0px;
}

span.Back {
  background-position: -192px -96px;
}

span.Parametres {
  background-position: -192px -144px;
}

#PhotothequePhotos b {
	display: block;
	font-size: 16px;
	padding:10px 10px;
  border-bottom:1px solid #333;
  }
  
  div.Actions {
  display: flex;
}
div.Actions a {
  margin: 0px 5%;
}


    div.PhotoTypePhotos img {
      height:100%!important;
    }

    .PhotothequePhotosPan {
      text-align: center;
      margin-top: 5px;
    }
    
    .PhotothequePhoto a.Control {
      width:30px;
      height:30px;
      line-height:30px;
      color:#fff;
      text-decoration: none;
      font-size: 20px;
      display: block;  
      background:#00000055;  
      position:absolute;
    }

    div.Control {
      background: #000000dd;
      position:absolute;
      width:auto;
      height: 30px;
    }

    .dz-message {
      display: inline-block!important;
      /* background-image: url("/js/dropzone/images/spritemap.png")!important; */
      /* background-size: 94%!important; */
      width: 90%!important;
    height: 100px!important;
    margin-left: 10%!important;
    left: 0%!important;
    }

    .Mobile .dropzone {
      min-height:150px!important;
    }

    .QrCodesPans {      
      display: none;
    }

.QrCodesPans.Active {
  display: block;
}

    div#FlyerCarousel {
      margin:20px auto;
      width:80%;      
      overflow: hidden;
      background: #ddd;
      border:1px solid #fff;
      box-shadow: 0px 0px 5px #999;
    }
    
    
    
    div#FlyerCarousel div img {
      width: 100%;
    }
    #Diapos {      
      position:relative;
    }
    .Diapo {      
      position:relative;
      float: left;
    }
    div.BatImg {
      width:100%;
      /* height: 250px; */
      overflow:auto;
      margin-bottom:10px;     
      background-size: 100%;
      background-repeat: no-repeat;
      background-attachment: local;
      aspect-ratio: 1.5;
    }

    div.BatImg img {
      width:100%;
      height:100%;
    }

div.BatImg.Double img {
      width:200%;
  height:200%;
}


#InitFlyersPan div.Infos div {
  margin-bottom:25px;
}
#InitFlyersPan span.Prix,
#InitFlyersPan span.Quantite {
  font-size: 3em;
  border:2px solid #cecece;
  padding:10px;
  border-radius: 10px;
  display: inline-block;
  transform: rotate(-10deg);
  margin-top:10px;
}
#InitFlyersPan span.Quantite {
  transform: rotate(10deg);
  text-align: center;
  float:right;
}
#InitFlyersPan span.Quantite sup {
  font-size: .6em;
}
#InitFlyersPan span.Quantite em {
  display: block;
  font-size: .4em;
}
#InitFlyersPan span.Prix sup {
  font-size: .6em;
}

#InitFlyersPan b {
  
  font-size: 1.5em;
}

div.AutresInfos {
  text-align: center;
  font-size: 1.3em;
}
div#InfoSite {
  background: #fff;
  font-size: .8em;
  border-bottom: 1px solid #dedede;
  padding:3px;
  padding-left:15px;
  margin-bottom:5px;
}


div.BatImg p {
  width:90%;
  text-align: center;
  background: #ffffffcc;
  padding:5%;
  color:#000;
}

.Pan.Invisible {
  border:0px;
  padding:0px;  
  border-radius:0px;
  margin-bottom:5px;
  background:transparent;
  
}

.Pan.Invisible a.BoutonsCtrl {
  display: inline-block;
  background: #ccc;
  height:45px;
  line-height:45px;
  text-align:center;
  color:#666;
  text-decoration:none;
  font-size: 1.0em;
  border: 1px solid #ccc;
}
.Pan.Invisible a.BoutonsCtrl.Active {
  background: #fefefe;
  border-color: #cecece;
  color:#333
}

.Pan.Invisible a.BoutonsCtrl:nth-of-type(1) {
  border-radius:5px 0px 0px 5px;
}
.Pan.Invisible a.BoutonsCtrl:last-child {
  border-radius:0px 5px 5px 0px;
}

.Pan.Invisible.NBB2 a {
  width:48%;
}

.Pan.Invisible.NBB3 a {
  width:31%;
}
.Pan.Invisible.NBB4 a {
  width:23%;
}


.Mobile div#ChoixAlbum {
  display: block;
  margin-top:100px;
  position:absolute
}

.Pan.PhotoEdit img {
  width:auto;
  margin: auto;
  border-radius:10px;
  box-shadow: 0px 3px 5px #999;
}



.Pan fieldset {
  border:0px;
  background:#eee;
  border-radius:10px;
  margin-bottom:10px;
}
.Pan fieldset legend {
  border-bottom:1px solid #cecece;
  display: block;
  background:#fff;
  width:100%;
  padding-bottom:10px;
  padding-top:10px;
  margin:0px;
  text-align: center;
  border-radius: 15px;
}
.Pan fieldset div {
  margin:10px 0px;
}
.Pan fieldset div label {
    padding-top:5px;  
}

.Pan fieldset div .FormField {
  border: 1px solid #cecece;
  border-radius: 5px;
  padding:5px 5%;
  display: block;
  width:90%;
}
.Pan fieldset div textarea.FormField {
  resize: vertical;  
}


input[type=submit] {
  border:0px;
  background-image:url(../images/bouton-save.png);
  background-repeat: no-repeat;
  background-position-y: center;
  background-position-x: 5px;
  padding-left:25px;
  
}



div.Info {
  width: 90%;
  background: #fff;
  margin: auto;
    margin-bottom: auto;
  padding: 15px;
  border: 1px solid #cecece;
  margin-bottom: 10px;
  border-radius: 10px;
  max-width: 600px;
  font-size: 12px;
  overflow: hidden;
  line-height:25px;
}

.PhotothequePhoto.Preview {
  width:23.2%;
  height:75px;
  background-size:cover;
  margin:0px;
}

.PhotothequePhoto.Preview div {
  background: #ffffffcc;
  font-weight: bold;
  font-size: 2em;
  width:100%;
  height:100%;
  line-height: 75px;
  color:#333;
}



div.FixedCmd {
  position: fixed;
  bottom:0px;  
  background:#eee;
  font-size:0.7em;
}
div.FixedCmd div.Titre {
  margin:5px;
}
div.FixedCmd a {
  width:30%;
  white-space: nowrap;
  overflow: hidden;
  padding:3px;
}


#fileElemB, #fileElemD, #fileElemA {
  display: none;
}

.PhotoTypeBDA img {  
   width:32%!important;
  box-shadow: 1px 1px 3px #666;
border:2px solid #fff;
}
.PhotoTypeBA img {  
   width:48%!important;
  box-shadow: 1px 1px 3px #666;
border:2px solid #fff;
}


.file-input-hidden {
  display: none;
}


#PhotosInAlbum {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items:flex-start;    
  flex-wrap:wrap;
  margin:0 auto;
}

#PhotosInAlbum div.PhotothequePhoto {
  border: 1px solid #cecece;
  padding:10px;
  flex: 1 1 44%;
  width:100%;
  height:200px;
  overflow:hidden;
  margin:5px;
  max-width: 300px;
  /* display:flex;
 justify-content: center;  */
  
}

.PhotothequePhoto div.Caption {
  position: relative;
  top:-12px;
  left:-10px;
  width:100%;
  height: 20px;
  line-height: 20px;
  font-size: .9em;
  background: #000000dd;
  color:#fff;
  padding: 0px 5px;
  padding-right:15px;
  
}

#PhotosInAlbum div.PhotothequePhoto.PhotoTypeBDA img {
  flex: 1 1 30%;
  object-fit:cover;
}


div.AlbumPhotos {
  display: flex;
 flex-direction: row;
  justify-content: center;
  
}

div.AlbumPhotos div.PhotothequePhoto {
  flex: 1 1 25%;
  border:1px solid #cecece;
  text-align: center;
  height:150px;  
}

.dropzone {
  width:100%;
}
div#FixedAlbumPan {
  display: flex;
  position:fixed;
  bottom:0px;
  width:100%;
  height:50px;
}
div#FixedAlbumPan a {
  flex: 1 1 50%;
  white-space: nowrap;
}

select {
  width:100%!important;
  background: #fff;
margin-bottom: 5px;
}


/* 3. La superposition de chargement */
.loading-overlay {
  position: fixed; /* Permet de le superposer sur les autres éléments du conteneur */
  top: 0;
  left: 0;
  width: 100%; /* S'étend sur toute la largeur du parent */
  height: 100%; /* S'étend sur toute la hauteur du parent */
  background-color: rgba(255, 255, 255, 0.9); /* Fond blanc semi-transparent */
  display: flex; /* Pour centrer le contenu (spinner et texte) */
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 10; /* Assure qu'il est au-dessus des autres éléments */
  transition: opacity 0.3s ease; /* Pour une apparition en douceur (si vous utilisez JavaScript) */
}

/* 4. Gestion de l'affichage avec une classe (à toggler avec JavaScript) */
.loading-overlay.hidden {
  display: none; /* Cache la superposition par défaut */
  /* Si vous préférez une transition d'opacité :
  opacity: 0;
  pointer-events: none; */
}

/* 5. Le spinner (Animation de chargement sans % ) */
.spinner {
  border: 4px solid #f3f3f3; /* Gris clair */
  border-top: 4px solid #3498db; /* Bleu (la partie en mouvement) */
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1s linear infinite; /* Lance l'animation */
  margin-bottom: 10px;
}

/* 6. Définition de l'animation */
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}




.Mobile div.Photos div.Actions a,
.Mobile div.PhotoEdit div.Actions a{
  text-align: center;

}
.Mobile div.Photos div.Actions a span,
.Mobile div.PhotoEdit div.Actions a span {
  margin:0 25%;
}

  /* --- Grille de la galerie --- */
       #SelectPhotosInAlbum {
      column-count: 3;
      column-gap: 15px;
      
    }

    #SelectPhotosInAlbum div.photo-card {
  cursor:pointer;
}

    @media (max-width: 1000px) {
      .gallery { column-count: 3; }
    }
    @media (max-width: 700px) {
      .gallery { column-count: 2; }
    }
    @media (max-width: 500px) {
      .gallery { column-count: 1; }
    }

    .photo-card {
      position: relative;
      display: inline-block;
      margin-bottom: 15px;
      width: 100%;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 0 2px 6px rgba(0,0,0,0.15);
      transition: transform 0.25s ease;
    }

    .photo-card:hover {
      transform: scale(1.03);
    }

    .photo-card img {
      width: 100%;
      height: auto;
      display: block;
      border-radius: 10px;
    }

    /* --- Checkbox personnalisé --- */
    .custom-checkbox {
      position: absolute;
      top: 10px;
      right: 10px;
      z-index: 2;
      cursor: pointer;
    }

    .custom-checkbox input[type="checkbox"] {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }

    .custom-checkbox .checkmark {
      width: 24px;
      height: 24px;
      border: 2px solid #fff;
      border-radius: 6px;
      background: rgba(0, 0, 0, 0.35);
      transition: all 0.25s ease;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .custom-checkbox input[type="checkbox"]:checked + .checkmark {
      background-color: #4a90e2;
      border-color: #4a90e2;
    }

    /* .custom-checkbox .checkmark::after {
      content: "";
      width: 6px;
      height: 12px;
      border: solid white;
      border-width: 0 2px 2px 0;
      transform: scale(0) rotate(45deg);
      transition: transform 0.2s ease;
    } */

    /* .custom-checkbox input[type="checkbox"]:checked + .checkmark::after {
      transform: scale(1) rotate(45deg);
    } */

    /* --- Bouton et sélection --- */
    .actions {
      margin-top: 30px;
      text-align: center;
    }

    button {
      background-color: #4a90e2;
      color: white;
      border: none;
      padding: 10px 20px;
      border-radius: 8px;
      cursor: pointer;
      font-size: 16px;
      transition: background 0.2s;
    }

    button:hover {
      background-color: #357ab8;
    }

    .selected-photos {
      margin-top: 20px;
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: center;
    }

    .selected-photos img {
      width: 120px;
      height: auto;
      border-radius: 8px;
      box-shadow: 0 1px 4px rgba(0,0,0,0.2);
    }

div.FixedPan {
  position: fixed;
  bottom:0px;
  width:100%;
  text-align: center;
  z-index: 999;
  background: #eee;
  padding-top:5px;
  border-top:1px solid #cecece;
  display: flex;
}


div.Travaux {
  border: 1px solid #cecece;
  overflow: hidden;  
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin-bottom:5px;  
  height:200px;
}

div.Travaux .TravauxImg {
  flex: 1 1 30%;  
  text-align: center;
  margin:5px;
  overflow: hidden;
}

div.Travaux .TravauxImg img {    
  height:100%;  
}

div.TravauxImg {
  padding-bottom:20px;
}
div.TravauxImg div.Caption {  
  height:20px;
  
  text-align: center;
  width:100%;
  background: #000000;  
  color:#ffffff;  
}

div.Caption select {
  text-align: center;
  border:0px;
  background: transparent;
  color:#fff;
}

div.Caption select option {
  color:#000;
  background: #fff;
  
}
.Mobile .FixedPan a.GrosBouton span {
  display: block;  
  margin: auto;
}
.Mobile .FixedPan a.GrosBouton {
  line-height: initial;
  font-size: .7em;
}



div.CBGroup label.Checkbox {
  display: inline-block;
  min-width: 30%;
  border: 1px solid #666;
  border-radius:5px;
  background:#fff;
  height:25px;
  line-height:25px;
  margin:1%;
  
}

div.CBGroup label:has(input:checked) {
  background-color: #88b61a55;    
}


.Caption .Tag {
  display: inline-block;
  position:relative;
  top:-30px;
  background: #cccc;
  box-shadow: 2px 2px 3px #000;
  border-radius: 3px;
  height:25px;
  text-align: center;
  padding-left:5px;
  padding-right: 5px;
}

.Caption .Tag.Album {
  background: #43A047;
  color:#fff;
  
}
.Caption .Tag.PhotoAvant,
.Caption .Tag.PhotoPendant,
.Caption .Tag.PhotoApres {
  background: #1E88E5;
  color:#fff;
}

.Caption .Tag.Chantier {
  background: #F4511E;
  color:#fff;  
}

.Caption .Tag.PhotoApres::before {
  content: 'Ap: '
}
.Caption .Tag.PhotoPendant::before {
  content: 'Pdt: '
}
.Caption .Tag.PhotoAvant::before {
  content: 'Av: '
}
.Caption .Tag.Album::before {
  content: 'Alb: '
}

.Caption .Tag.Chantier::before {
  content: 'Ch: '
}




#FilterSelectionDiv {
  background: #eeeeee;
  padding:10px;
  margin-bottom:10px;
  border-radius: 5px;
}

#FilterSelectionDiv div {
  padding: 10px 0px;
}

#FilterSelectionDiv div label {
  margin-right:30px;
  display: inline-block;
}

#FilterSelectionDiv div input {
  vertical-align: middle;
}


.PhotoContainer {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width:100%;
}

/* Image normale */
.PhotoContainer img {
  display: block;
  width: 100%;
  transition: filter 1s ease-in-out;
}

/* Effet noir et blanc quand scan actif */
.PhotoContainer.scan-active img {
  filter: grayscale(100%);
}

/* Bande lumineuse du scan */
.scanner {
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0) 0%,
    rgba(0, 255, 0, 0.3) 45%,
    rgba(0, 255, 0, 1) 50%,
    rgba(0, 255, 0, 0.3) 65%,
    rgba(255, 255, 255, 0) 100%
  );
  mix-blend-mode: screen;
  pointer-events: none;
  opacity: 0;
}

/* Quand le scan est activé → animation visible */
.PhotoContainer.scan-active .scanner {
  animation: scan 3s ease-in-out infinite;
  opacity: 1;
}

/* Animation du balayage vertical */
@keyframes scan {
  0% {
    top: -50%;
  }
  50% {
    top: 50%;
  }
  100% {
    top: -50%;
  }
}


.PhotoActions {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding:10px;
}

/* Boutons : largeur fixe de 30px chacun */
.PhotoActions .Bouton {
  width: 30px;
  height: 30px;
  flex: 0 0 30px; /* empêche de grandir/rétrécir */
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right:5px;
}

/* Le span prend le reste de la place */
.PhotoActions #ActionInfos {
  flex: 1;
  min-width: 0; /* pour éviter le débordement de texte */
  padding-left: 8px; /* un peu d’espace si tu veux */
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  text-align: center;
}

.Bouton.WMOff span.WaterMarkOn { display: none; }
.Bouton.WMOff {
  background: #ccc;
}
.Bouton.WMOn span.WaterMarkOff { display: none; }
.Bouton.WMOn {
  
}

div#InitParamPan fieldset {
  background: #ffffff;
}

div#InitParamPan fieldset legend {
  background:#f5f5f5;
}

.Pan div.Ligne {
  border-top: 1px solid #cccccc;  
  overflow: hidden;
  padding-top:10px;  
  background: #fff;  
}


/* Structure générale */
.Ligne {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 10px 0;
}

.Ligne label {
    /* flex: 1; */
}

/* ----- SELECT ----- */
.right-select {
    width: 50%;
}

.styled-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    padding: 10px 40px 10px 15px;
    font-size: 15px;
    border: 1px solid #ccc;
    border-radius: 8px;
    background-color: #fff;
    cursor: pointer;
    transition: 0.2s ease;

    background-image: url("data:image/svg+xml;utf8,<svg fill='gray' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 18px;

    width: 50%!important;;
}

.styled-select:hover {
    border-color: #888;
}

.styled-select:focus {
    border-color: #4CAF50;
    box-shadow: 0 0 5px rgba(76,175,80,0.5);
    outline: none;
}

/* ----- SWITCH ----- */
.switch {
    position: relative;
    display: inline-block;
    width: 55px!important; /* largeur demandée */
    height: 24px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

/* fond du switch */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: 0.4s;
    border-radius: 24px;
}

/* cercle */
.slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 5px;
    bottom: 5px;
    background-color: white;
    transition: 0.4s;
    border-radius: 50%;
}

/* état ON */
input:checked + .slider {
    background-color: #4CAF50;
}

/* distance calculée pour largeur 55px */
input:checked + .slider:before {
    transform: translateX(26px);
}


/* --- SLIDER MODERNE AVEC PARTIE GAUCHE COLORÉE --- */

.styled-range {
    width: 50%;
    cursor: pointer;
    height: 6px;
    border-radius: 5px;

    -webkit-appearance: none;
    background: linear-gradient(
        to right,
        #4CAF50 var(--value-percent),
        #ccc var(--value-percent)
    );
}

/* Chrome / Edge / Safari */
.styled-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #4CAF50;
    cursor: pointer;
}

/* Firefox */
.styled-range::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #4CAF50;
    cursor: pointer;
}

.styled-range::-moz-range-track {
    height: 6px;
    background: transparent;
}

/* PARTIE GAUCHE COLORÉE – Firefox */
.styled-range::-moz-range-progress {
    background-color: #4CAF50;
    height: 6px;
    border-radius: 5px;
}



div#WMPan {
  margin-top:10px;
  background: #fafafa;
  padding:2%;
  width:96%;
  border-radius: 5px;
}
#WMPan em {
  display: block;
  padding-bottom: 10px;
}

div#WMPan span {
  display: inline-block;
width:40%;
vertical-align: top;
}

div#WMPan span.WMPosInfo {
  width:15%;
}

div#WMPan span.WMScaleInfo input,
div#WMPan span.WMOpacityInfo input{
  width: 80%;
}


div.PhotoDateSeparator {
  display: block;
  width:100%;
  font-weight: bold;
  border-bottom: 1px solid #cecece;
  height:25px;
  line-height:25px;
margin-top:10px;
}