a {
font-size:20px; 
text-decoration:none; 
margin-left:0px;
color:#3399cc;
}
  
a:hover {
font-size:22px; 
color:#E3000B;
transition: all 0.3s ease;
text-decoration:none;
}

td {
width:5vw;
font-size; 0.5vw
}
li {
color:grey
}
	
li:hover {
color:#E3000B;
}

/* Focus visible pour les utilisateurs clavier */


.info-btn:focus-visible,
.info-btnbis:focus-visible,
.btn-clignote-hard:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(230, 57, 70, 0.55); /* halo rouge communal */
    border-radius: 6px; /* cohérence avec tes boutons */
    transition: box-shadow 0.25s ease;
}



@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* portfolios */

.mySlides {display:none;}



/* page résultat sondage*/
.tm-logo-container h1 {
    margin-left:0 !important;
    text-align:left;
}

/* PDF VIEWER RESPONSIVE */
#pdf-viewer canvas {
    display:block;
    margin:20px auto;
    width:100% !important;
    height:auto !important;
    max-width:700px;
    box-shadow:0 0 10px rgba(0,0,0,0.2);
}

/* IFRAME RESPONSIVE */
.responsive-iframe {
    position:relative;
    width:100%;
    padding-bottom:140%;
    height:0;
}
.responsive-iframe iframe {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border:none;
}




/* TABLEAU ADMINISTRATION */
.admin-table {
            width:100%;
            border-collapse:collapse;
        }
.admin-table td {
            padding:8px 4px;
            vertical-align:top;
        }
 .admin-table tr {
            border-bottom:1px solid #ccc;
        }

@media (max-width:768px) {
            .admin-table td {
                display:block;
                width:100%;
            }
        }

 /* LOGO HEADER */
.tm-logo-container h1 {
            margin-left:0 !important;
            text-align:left;
        }
@media (max-width:768px) {
            .tm-logo-container h1 {
                font-size:22px;
            }
        }


  /* ---animation des images --- */
.anim-image {
  width: 100%;
  max-width: 1000px;
  display: block;
  margin: 40px auto;
  border-radius: 12px;

  /* Animation */
  animation: zoomFade 2s ease forwards;
}




/* Animation keyframes */
@keyframes zoomFade {
  0% {
    opacity: 0;
    transform: scale(0.85);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}


	  /* --- Parlons fusion --- */

		  
	  /* --- CONTAINER SWOT --- */
	  .swot-container {
		display: grid;
		grid-template-columns: 1fr 1fr;
		width: 80%;
		max-width: 800px;

		
		
		margin: 40px auto;
		border: 0px solid #333;
	  }
	  
	  .swot-item {
		padding: 40px;
		text-align: center;
		font-size: 1.4rem;
		font-weight: bold;
		cursor: pointer;
		transition: 0.3s;
				max-height:250px;
		line-height:170px;
	  }
	  
	  /* Couleurs */
	  .strength { background: #c8f7c5;border-radius:10px; margin:5px }
	  .weakness { background: #f7c5c5;border-radius:10px; margin:5px }
	  .opportunity { background: #c5e0f7; border-radius:10px; margin:5px}
	  .threat { background: #f7e6c5;border-radius:10px; margin:5px }
	  
	  .swot-item:hover {
		filter: brightness(0.9);
	  }
	  
	  /* --- POPUP --- */
	  .popup {
		display: none;
		position: fixed;
		z-index: 1000;
		left: 0; top: 0;
		width: 100%; height: 100%;
		background: rgba(0,0,0,0.6);
		justify-content: center;
		align-items: center;
		padding: 20px;
	  }
	  
	  .popup-content {
		background: #fff;
		padding: 25px;
		border-radius: 10px;
		max-width: 900px;
		width: 100%;
		max-height: 90vh;          /* Limite la hauteur */
		overflow-y: auto;          /* Scroll vertical */
		animation: fadeIn 0.3s ease;
	  }
	  
	  .close {
		float: right;
		font-size: 28px;
		cursor: pointer;
	  }
	  
	  /* --- GRILLE 3 COLONNES --- */
	  .popup-columns {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
		margin-top: 20px;
	  }
	  
	  /* --- RESPONSIVE --- */
	  @media (max-width: 900px) {
		.popup-columns {
		  grid-template-columns: 1fr 1fr; /* 2 colonnes tablette */
		}
	  }
	  
	  @media (max-width: 600px) {
		.swot-container {
		  grid-template-columns: 1fr; /* SWOT en colonne sur smartphone */
		}
		.popup-columns {
		  grid-template-columns: 1fr; /* 1 colonne smartphone */
		}
		.swot-item {
		  padding: 25px;
		  font-size: 1.2rem;
		}
	  }
	  
	  /* --- ANIMATION --- */
	  @keyframes fadeIn {
		from { opacity: 0; transform: scale(0.9); }
		to { opacity: 1; transform: scale(1); }
	  }
	  
	</style>
	
	
<style>
/* --- Conteneur du bouton --- */
.container {
    width: 100%;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
	background-color:none
}

/* --- Bouton adaptatif --- */
.btn-modal {
    width: 80%;
    max-width: 900px;
    padding: 15px 15px;
    font-size: 1.2rem;
    cursor: pointer;
    border: none;
    border-radius: 8px;
    background-color: #2a6f97;
    color: white;
    transition: background 0.3s;
margin-left:10%
}

.btn-modal:hover {
    background-color: #1b4d66;
}

/* --- Fond de la modale --- */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    justify-content: center;
    align-items: center;
    padding: 10px; /* Pour Ã©viter que la modale touche les bords sur mobile */
    box-sizing: border-box;
}

/* --- Contenu de la modale --- */
.modal-content {
    background: white;
    padding: 25px;
    border-radius: 10px;
    width: 100%;
    max-width: 900px;

    /* Hauteur max pour tous les Ã©crans */
    max-height: 90vh;

    /* Scroll interne si contenu trop long */
    overflow-y: auto;

    animation: fadeIn 0.3s ease;
    box-sizing: border-box;
}

/* --- Bouton de fermeture --- */
.close {
   
    font-size: 48px;
    cursor: pointer;
	color:red;
	text-align:right
}

/* --- Animation --- */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-20px); }
    to   { opacity: 1; transform: translateY(0); }
}



	

/* TIMELINE VERTICALE – VÉROSSAZ */
.timeline {
  position: relative;
  margin: 0 auto;
  padding: 20px 0;
  max-width: 900px;
}

.timeline::before {
  content: "";
  position: absolute;
  left: 25px;
  top: 0;
  bottom: 0;
  width: 4px;
  background: #f2f3f4;
}

.timeline-item {
  position: relative;
  margin-bottom: 40px;
  padding-left: 70px;
}

.timeline-dot {
  position: absolute;
  left: 17px;
  width: 18px;
  height: 18px;
  background: #3399cc;
  border-radius: 50%;
  border: 3px solid white;
}

.timeline-content {
  background: white;
  padding: 18px 22px;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  font-family: Arial, Helvetica, sans-serif;
}

.timeline-date {
  font-size: 1.8rem;
  font-weight: bold;
  color: #e63946;
  margin-bottom: 10px;
}

/* Responsive */
@media (max-width: 600px) {
  .timeline::before {
    left: 15px;
  }
  .timeline-item {
    padding-left: 55px;
  }
  .timeline-date {
    font-size: 1.4rem;
  }
}



/* Animation svg icônes*/
	
.svg-icon {
    transition: transform 0.20s ease;
}

.svg-icon:hover {
    transform: translateY(-3px);
}
