/* ============================================================
   MOBILE.CSS — styles UNIQUEMENT pour écrans ≤ 768px
   Chargé après styles.css dans chaque page HTML :
   <link rel="stylesheet" href="styles.css"/>
   <link rel="stylesheet" href="mobile.css"/>
   ============================================================ */
 
@media (max-width: 768px) {
 
 
  /* ==========================================================
     RESET MOBILE
     ========================================================== */
 
  * {
    box-sizing: border-box;
  }
 
  body {
    overflow-x: hidden;
  }
 
 
  /* ==========================================================
     HEADER MOBILE
     ========================================================== */
 
  header {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px 20px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: white;
  }
 
  body.page-index header {
    background-color: transparent;
  }
 
  header span a img {
    width: 200px;
  }
 
  header nav {
    display: none;
  }
 
 
  /* ==========================================================
     HAMBURGER ☰ — CSS PUR, SANS JAVASCRIPT
     ========================================================== */
 
  .hamburger {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 28px;
    height: 20px;
    cursor: pointer;
    position: fixed;
    top: 22px;
    left: 20px;
    z-index: 2000;
  }
 
  .hamburger span {
    display: block;
    height: 2px;
    width: 100%;
    background-color: black;
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
 
  .menu-toggle-input:checked ~ .hamburger span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
  }
  .menu-toggle-input:checked ~ .hamburger span:nth-child(2) {
    opacity: 0;
  }
  .menu-toggle-input:checked ~ .hamburger span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
  }
 
 
  /* ==========================================================
     OVERLAY DU MENU
     ========================================================== */
 
  .nav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.97);
    z-index: 1500;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 40px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }
 
  .menu-toggle-input:checked ~ .nav-overlay {
    opacity: 1;
    pointer-events: auto;
  }
 
  .nav-overlay a {
    font-family: Helvetica, Arial, sans-serif;
    font-weight: bold;
    font-style: italic;
    font-size: 36px;
    color: black;
    text-decoration: none;
    transform: scaleY(0.8);
    transform-origin: center;
    display: inline-block;
    transition: opacity 0.2s ease;
  }
 
  .nav-overlay a:hover {
    opacity: 0.5;
  }
 
 
  /* ==========================================================
     INDEX MOBILE — hero plein écran
     ========================================================== */
 
  .index-hero {
    display: flex;
    height: 100vh;
    align-items: flex-start;
    justify-content: center;
    padding-top: 30px;
  }
 
  .index-hero img {
    width: 260px;
    position: relative;
    z-index: 10;
  }

  body.page-index header span {
  display: none;
}
 
  body.page-index main {
    margin-top: 0;
    padding: 0;
  }
 
 

  /* ==========================================================
     MAIN
     ========================================================== */
 
  main {
    margin-top: 60px;
    padding: 16px;
  }
 
 
  /* ==========================================================
     TRIPTYCHS — 1 colonne
     ========================================================== */
 
  .grille {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 20px;
  }
 
 
  /* ==========================================================
     ABOUT — empilé verticalement
     ========================================================== */
 
  .about-contenu {
    flex-direction: column;
    gap: 30px;
    padding: 20px;
  }
 
  .about-image {
    flex: none;
    width: 100%;
    margin-top: 0;
  }
 
  .about-texte {
    padding-top: 0;
  }
 
 
  /* ==========================================================
     FOOTER MOBILE — liens empilés et tout centré
     ========================================================== */
 
  .footer-inner {
    padding: 28px 20px 24px;
    align-items: center;
    width: 100%;
  }

  .footer-inner nav {
  margin-left: 0;
}
 
  .footer-links {
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: 100%;
  }
 
  .footer-links a {
    font-size: 0.85rem;
    text-align: center;
    width: 100%;
  }
 
  .footer-sep {
    display: none;   /* séparateurs · inutiles en vertical */
  }
 
  .footer-insta {
    justify-content: center;
    width: 100%;
  }
 
  .footer-copy {
    text-align: center;
    width: 100%;
  }

  /* Réaffiche le footer sur index mobile */
body.page-index .site-footer {
  display: flex;
}
 
} /* fin @media (max-width: 768px) */