body {
	
background-color: white;
max-width:840px;
width:90%;
margin-left:auto;
margin-right:auto;
text-align:center;
font-family: arial;
font-size: 13pt;
}

@font-face {
font-family: "alegreya";
src: url(../font/alegreya.ttf);
}

/*  1. === liens === */

a {
color: #595353;
text-decoration: none;
}

a:hover {
color: red;
text-decoration: none;
}

a:visited {
color: #595353;
}

/*  1. === titrage === */

h1 {
font-family: alegreya, serif;
text-align: left;
font-size: 36pt;
font-style: normal;
line-height: 40pt;
color:#938e8d;
margin-bottom:35px;
}
		
h2 {
font-family: alegreya, serif;
font-size: 35pt;
text-align: left;
line-height: 90%;
color:#938e8d;
}

h3 {
font-family:alegreya,serif;
font-size: 18pt;
line-height: 20pt;
color:#938e8d;
}

h4 {
font-family: alegreya, serif;
font-size: 16pt;
font-style: italic;
text-align: left;
line-height: 90%;
}

/*  3. === menu haut === */

{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.menu_haut {
  background: #f1f1f1;
  border-radius: 4px;
  padding: 0;
  margin: 10px auto;
  max-width: 840px;
  font-size: 1rem;
}

/* bouton mobile */
.menu-toggle {
  display: none;
  background: #004080;
  color: #fff;
  padding: 10px;
  cursor: pointer;
  text-align: center;
  font-weight: bold;
  border-radius: 4px;
}

/* liste principale */
.menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}

.menu-list li {
  position: relative;
}

/* boutons principaux */
.dropbtn {
  padding: 8px 12px;
  cursor: pointer;
  color: #004080;
  text-decoration: none;
  display: inline-block;
}

.dropbtn:hover {
  background: #004080;
  color: #fff;
  border-radius: 3px;
}

.dropdown-content {
  display: none;
  opacity: 0;
  transform: translatey(5px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.dropdown-content.show {
  display: block;
  opacity: 1;
  transform: translatey(0);
}
/* sous-menus */
.dropdown-content {
  display: none;
  position: absolute;
  background: white;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  list-style: none;
  margin: 0;
  padding: 0;
  z-index: 1000;
}

.dropdown-content li a {
  display: block;
  padding: 8px 12px;
  color: #333;
  text-decoration: none;
}

.dropdown-content li a:hover {
  background: #004080;
  color: white;
}

.dropdown-content.show {
  display: block;
}

/* === responsive === */
@media (max-width: 768px) {
  .menu-toggle {
    display: block;
  }

  .menu-list {
    display: none;
    flex-direction: column;
    background: #f1f1f1;
    border-radius: 4px;
    margin-top: 5px;
    padding: 10px;
  }

  .menu-list.active {
    display: flex;
  }

  .dropdown-content {
    position: relative;
    box-shadow: none;
    background: #e9e9e9;
    border-radius: 4px;
  }

  .dropdown-content li a {
    padding-left: 20px;
  }
}


/*  5. === traitement du texte === */

.lettrine {
font-family: alegreya;
font-weight: 400;
font-size: 70pt;
line-height: 60pt;  
float: left;
margin-right: 5px;
color: #938e8d;;
}

.italique {
font-family: times;
font-style: italic;
font-size: 15pt;
}

.cap {
font-variant: small-caps;
}

.cap_ital {
font-family: times;
font-variant: small-caps;
font-style: italic;
}

.droite{
text-align:right;
}

.citation {
margin-left: 10px;
font-family: times;
font-style: italic;
font-size: 14pt;
}

.retrait {margin-left: 5%} 


/* bloc annonces/dons */
.soutenir {
display:block;
float:right;
width:210px;
text-align:center;
border-radius: 10px;
margin-left:20px;
}

@media screen and (max-width: 450px) {
  .soutenir {
    float: none;
    margin: 10px auto;
  }
}


/*  5. === bloc et traitement contenu === */

#bloc570 {
margin-top:1%;
max-width:570px;
width: 90%;
height: auto;
margin-left: auto;
margin-right: auto;
font-family: arial;
font-size: 14pt;
text-align: justify;
line-height: 150%;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}


.imagecentre {
display:block;
max-width: 100%;
height:auto;
width:auto;
margin-left: auto;
margin-right: auto;
}  

.imagegauche {
  float: left;
  margin-right: 10px;
  display: block;
}

.responsive {
  width: 100%;
  height: auto;
}


.legende_570 {
display: block;
width:100%;
max-width:556px;
border-width:2px;
padding: 5px;
border-color:dimgray;
border-style: hidden hidden solid hidden; 
margin-left: auto;
margin-right: auto;
text-align:justify;
text-align-last: left;
font-family: arial;
font-size:12pt;
line-height: 120%;
}
	
.legende450 {
display: block;
border-width:2px;
padding: 5px;
border-color:dimgray;
border-style: hidden hidden solid hidden; 
margin-left: auto;
margin-right: auto;
max-width:450px;
width:100%;
text-align:left;
font-family: arial;
font-size:11pt;
line-height: 120%;
}


/* version mobile : image au-dessus du texte */
@media (max-width: 480px) {
  .signature {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }
}

.col_droite {
display:block;
float: right; 
width:205px;
height:auto;
margin-left:10px;
font-size:11pt;
line-height:100%;
margin-bottom: 10px;
}

@media screen and (max-width:450px) {
.col_droite {
display:block;
float:center;
width:200px;
height:auto;
font-size:11pt;
margin-bottom:10px;
padding-left:35px;
padding-right:35px;
line-height:100%;
}
}

.col_gauche {
display:block;
float: left; 
width:200px;
height:auto;
margin-right:10px;
font-size:11pt;
margin-bottom: 10px;
line-height:100%;
}

@media screen and (max-width:450px) {
.col_gauche {
display:block;
float:center;
width:200px;
height:auto;
font-size:11pt;
margin-bottom:10px;
padding-left: 35px;
padding-right: 35px;
line-height:100%;
}
}
  

/* section publicités — 2 colonnes fixes, proportions conservées */

.publicites {
  text-align: center;
  line-height: 0; /* évite les petits espaces blancs entre images */
}

.vignettes {
  width: 49%;
  height: auto;
  display: inline-block;
  vertical-align: top;
}


/* signature auteur */
.signature {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  gap: 10px;
  padding: 5px 0;
  font-size: 0.9em;
  flex-wrap: wrap;
}

.signature img {
  flex-shrink: 0;
  max-width: 150px;
  height: auto;
  align-self: flex-start;
 
}

.cul {
  display: block;
  width: 33%;
  height: auto;
  margin: 1rem auto;
}


/* === 10. pied de page === */
footer {
  font-size: 0.9rem;
  text-align: center;
  margin-top: 2rem;
}
