/* RESET & BASE */
*{margin:0;padding:0;box-sizing:border-box;}
html,body{width:100%;height:100%;min-height:100vh;overflow-x:hidden;font-family:'Times New Roman',Times,serif;letter-spacing:0.05em;line-height:1.4;background-color:#f2f0e8;}

/* ============================================
   TAILLES DE POLICE (modifier ici)
   ============================================ */
body{font-size:18px;}
h1{font-size:20px;}
h2{font-size:18px;}
h3{font-size:16px;}
h4{font-size:16px;}
p{font-size:18px;}
.menu-principal > li > a{font-size:13px;}
.sous-menu li a{font-size:13px;}
.bloc-tiers p{font-size:20px;}
.contact p{font-size:16px;}
.copyright p{font-size:14px;}

/* ============================================
   POLICES ET TEXTES (styles)
   ============================================ */
h1{text-transform:uppercase;width:100%;text-align:left;font-weight:normal;padding:5% 0% 0% 0%;}
h2{text-transform:uppercase;width:100%;text-align:left;font-weight:normal;padding:5% 0% 1% 0%;}
h3{text-transform:uppercase;width:100%;text-align:left;font-weight:normal;padding:2% 0% 1% 0%;}
h4{font-weight:300;}
p{padding-top:0.5em;}
hr{width:50%;height:1px;margin:0 0 1% 0;margin-left:0;border:none;}
ul{list-style:none;margin:0;padding:0;}
li{position:relative;margin:0.5em 0;padding-left:1.5em;}
li::before{content:"\2752";position:absolute;left:0;top:0.2em;line-height:1;}
.lien-sans-decoration{text-decoration:none;color:inherit;}

/* ============================================
   MENU UNIFIÉ (DESKTOP + MOBILE)
   ============================================ */
.menu{position:sticky;top:0;padding:1% 5%;z-index:20;box-shadow:4px 4px 6px rgba(161,160,160,0.3);background-color:rgba(242,240,232,1);display:flex;align-items:center;justify-content:space-between;}
.menu-hamburger{cursor:pointer;display:none;}
.menu-principal{display:flex;gap:2em;align-items:center;}
.menu-principal > li{position:relative;margin:0;padding:0;}
.menu-principal > li::before{display:none;}
.menu-principal > li > a{text-decoration:none;color:#292424;text-transform:uppercase;padding:0.5em 0;display:block;transition:color 0.3s;}
.menu-principal > li > a:hover{color:#1A72BB;}
.menu-principal > li > a i{font-size:70%;margin-left:0.3em;transition:transform 0.3s;}
.menu-principal > li.open > a i{transform:rotate(180deg);}

/* Sous-menus (desktop) */
.sous-menu{position:absolute;top:100%;left:0;min-width:200px;background-color:rgba(242,240,232,1);box-shadow:4px 4px 6px rgba(0,0,0,0.3);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all 0.3s ease;}
.sous-menu li{margin:0;padding:0;}
.sous-menu li::before{display:none;}
.sous-menu li a{display:block;padding:0.8em 1.2em;text-decoration:none;color:#292424;transition:background-color 0.3s;}
.sous-menu li a:hover{background-color:rgba(26,114,187,0.1);}
.has-submenu.open .sous-menu{opacity:1;visibility:visible;transform:translateY(0);}

/* ============================================
   ÉLÉMENTS FIXES
   ============================================ */
iframe{border:none;}
.logo{width:300px;margin:20px auto 20px auto;text-align:center;}
.logo img{width:100%;height:auto;}
.contenu{width:100%;background-color:rgba(242,240,232,1);padding:1% 5%;max-width:100%;box-sizing:border-box;}
.contact,.copyright{text-align:center;padding:2%;}

/* GALERIE */
.galerie{text-align:center;}
.galerie img{width:90%;padding:1% 0;display:block;margin:0 auto;}

/* BLOC 3 COLONNES */
.triple-bloc{display:flex;flex-wrap:wrap;gap:2%;width:100%;}
.bloc-tiers{flex:1 1 30%;text-align:center;}
.bloc-tiers img{width:100%;height:auto;}
.bloc-tiers p{font-family:'Times New Roman',Times,serif;color:#3a3a3a;padding:1em 0;}

/* IMAGE PLEINE LARGEUR */
.image-full{width:100%;margin:0 auto;}
.image-full img{width:100%;height:auto;display:block;}

/* ============================================
   ANIMATIONS
   ============================================ */
@keyframes fadeZoomIn{0%{opacity:0;transform:scale(0.8);}100%{opacity:1;transform:scale(1);}}
.apparition-droite{animation:fadeZoomIn 1s ease forwards;opacity:0;}
@keyframes slideInRight{from{transform:translateX(10%);opacity:0;}to{transform:translateX(0);opacity:1;}}
.slide-in-right{opacity:0;transition:opacity 0.5s ease-in-out;}
@keyframes pulse{0%{transform:scale(1);}50%{transform:scale(1.5);}100%{transform:scale(1);}}
.pulse-effect{animation:pulse 2s ease-in-out infinite;animation-delay:2.4s;color:rgb(16,97,169);}

/* ============================================
   COULEURS
   ============================================ */
.menu,.contenu,.galerie,.tableau,.contact,.copyright{background-color:rgba(242,240,232,1);}
h1,h2,h3,h4{color:#4F3416;}
.menu, .mail-contact{color:#4F3416;}
hr{background-color:#faee42;}
.pulse-effect,li::before{color:#faee42;}
body,p,a,li{color:#1f1f1f;}

/* ============================================
   RESPONSIVE MOBILE (<=768px)
   ============================================ */
@media(max-width:768px){
  /* Tailles de police mobile */
  body{font-size:16px;}
  h1{font-size:24px;}
  h2{font-size:20px;}
  h3{font-size:18px;}
  .bloc-tiers p{font-size:18px;}
  
  .menu{flex-wrap:wrap;padding:2% 5%;}
  .menu-hamburger{display:block;}
  .menu-nav{display:none;width:100%;margin-top:1em;}
  .menu-nav.open{display:block;}
  .menu-principal{flex-direction:column;gap:0;align-items:flex-start;width:100%;}
  .menu-principal > li{width:100%;border-top:1px solid rgba(0,0,0,0.1);}
  .menu-principal > li > a{padding:1em 0;}
  .sous-menu{position:static;box-shadow:none;background-color:rgba(0,0,0,0.05);max-height:0;overflow:hidden;opacity:1;visibility:visible;transform:none;transition:max-height 0.3s ease;}
  .has-submenu.open .sous-menu{max-height:500px;}
  .sous-menu li a{padding:0.8em 1.5em;}
  .logo{width:200px;margin:20px auto 20px auto;}
  .bloc-tiers{flex:1 1 100%;}
}

/* SALLES PARTENAIRES */
.salle-partenaire{display:flex;gap:20px;align-items:flex-start;margin:20px 0;}
.salle-partenaire img{width:300px;height:auto;flex-shrink:0;}
.salle-texte{flex:1;}
.salle-texte h2{margin:0 0 10px 0;padding-top:0;}
.salle-separator{width:100%;margin:30px 0;background-color:#6E615B;height:1px;}

@media(max-width:768px){
  .salle-partenaire{flex-direction:column;}
  .salle-partenaire img{width:100%;}
}

/* GALERIE PHOTOS */
.galerie{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0;}
.galerie img{width:100%;height:auto;object-fit:cover;}

@media(max-width:768px){
  .galerie{grid-template-columns:repeat(2,1fr);}
}