@font-face {
    font-family: 'Montserrat';
    src: url('static/montserrat.woff2') format('woff2');
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    list-style: none;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    
}

/* ===========================
   BASE
   =========================== */

   html, body {
    height: 100%;
    overflow: hidden !important;
}

.cycle-text.hidden {
    display: none;
}


body {
  margin: 0;
  padding: 0;
  /* Mets ici l'URL de ton image (celle de la forêt) */
  background-image: url("landes_foret.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed; /* effet "parallaxe" léger */
  background-size: 100%;       /* l'image couvre tout l'écran */
  
}

/* Fond animé assombri */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;

    /* assombrit l’ensemble (image + couleur) */
    filter: brightness(0.9);
    transition: 0.5s;

    /* COULEUR DU FOND (derrière l’image) */
    background-image: url("landes_foret.jpg");

    /* PARAMÈTRES D’AFFICHAGE DE L’IMAGE */
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;

    /* ANIMATION QUI CHANGE JUSTE L’IMAGE */
    animation: anime 15s infinite;
}

/* ===========================
   TEXTES
   =========================== */

.pronostic li a {
    font-size: 1.2rem;
    color: white;
}

.text-cycle {
    /* color: rgb(141, 219, 219); */
    /* text-shadow: 2px 2px 4px rgb(136, 7, 136); */
    font-size: 2rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    border-radius: 10px;
    white-space: nowrap;
}

/* Titre (si tu le réactives un jour) */
h1 {
    font-size: 0;
    transition: font-size 2.3s;
    letter-spacing: 2px;
}

/* ===========================
   HEADER / LOGO / MENU
   =========================== */

/* Conteneur du header */
.site-header {
    display: flex;
    flex-direction: column;   /* logo au-dessus du menu */
    align-items: center;      /* centré horizontalement */
    justify-content: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
}

/* Zone logo */
.logo-area {
    text-align: center;
}

.logo-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    text-decoration: none;
    color: white;
}

#text1 {
    font-weight: bold;
    font-size: 1.8em;
    
} 

.logo-img {
    height: 110px;       /* ajuste si besoin */
    width: 90px;
    display: block;
    border-radius: 6px;
}

.logo-text {
    font-size: 1.6rem;
    line-height: 1.1;
    color: red;
    text-shadow: 2px 2px 4px black;
    text-align: left;
}

/* Menu principal */
.menu {
    list-style: none;
    display: flex;
    justify-content: center;  /* centré */
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin: 0;
    padding: 0;
}

.filter-group{
    display: flex;
    align-items: center;
    text-decoration: none;
    font-size: 1rem;
    color:red;
    font-weight: bold;
    border: 50px solid red;
    position: relative;
}

.menu li a {
    text-decoration: none;
    font-size: 1rem;
    color:red;
    font-weight: bold;
    position: relative;
}

/* Effet soulignement au hover */
.menu li a::before {
    position: absolute;
    bottom: -3px;
    left: 0;
    content: "";
    height: 3px;
    width: 0;
    background-color: black;
    border-radius: 6px;
    transition: width 0.4s;
}

.menu li a:hover::before {
    width: 100%;
}

/* Bloc adhérent (input + bouton) */
.menu-adh {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* ===========================
   INPUT & BOUTONS
   =========================== */

input {
    width: 93px;
    border: 2px solid red;
    background-color: rgba(6, 1, 6, 0.96);
    padding: 5px 10px;
    text-transform: uppercase;
    border-radius: 6px;
    text-align: center;
    color: red;
    font-weight: bold;
    margin: 0; /* géré par .menu-adh */
}

::placeholder {
    text-transform: capitalize;
    color:red;
    font-weight: bold;
}

button {
    width: 82px;
    height: 32px;
    font-size: 16px;
    border: 2px solid black;
    text-align: center;
    border-radius: 6px;
    background: transparent;
    color: white;
    cursor: pointer;
}

.menu button {
    text-transform: capitalize;
    background: linear-gradient(135deg, #c00000, #ff4b4b);
    color: white;
}

button:hover {
    border: 2px solid transparent;
    color: rgb(136, 7, 136);
}

/* ===========================
   ZONE TEXTE CYCLIQUE
   =========================== */

.container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(100vh - -100px); /* plein écran moins la hauteur du header */
    padding: 1rem;
}

/* Centrage éventuel d'un h1 si tu l'actives */
.centered {
    position: relative;
}

/* ===========================
   ANIMATION DE FOND
   =========================== */


@keyframes anime {
    0%,
    100% {
        background-image: url("image/PHOTOLANDES.png");
    }

    50% {
        /* background-image: url("image/HOMME.png"); */
    }
}

/* ===========================
   MENU BURGER & RESPONSIVE
   =========================== */

.responsive_menu {
    display: none; /* visible seulement sur mobile */
}

/* Mobile & petit écran */
@media (max-width: 700px) {

    .site-header {
        padding: 0.5rem;
    }

    .text-cycle {
    color: rgb(141, 219, 219);
    text-shadow: 2px 2px 4px rgb(136, 7, 136);
    font-size: clamp(1.4rem, 4vw, 3rem); /* s’adapte selon la taille d'écran */
    text-transform: uppercase;
    letter-spacing: 2px;
    border-radius: 10px;
    white-space: nowrap; /* on va le casser en mobile plus bas */
    text-align: center;
}

.menu li a {
    
    font-size: 1.5rem;
    
}

#text1 {
    font-weight: bold;
    font-size: 1.2em;
    
} 




    /* Menu masqué par défaut sur mobile */
    .menu {
        display: none;
        flex-direction: column;
        text-align: center;
    }

    /* Bouton burger */
    .responsive_menu {
         position: absolute !important;
        top: 10px;       /* remonte le burger */
        right: 10px;     /* colle à droite */
        width: 50px;
        height: 50px;
        cursor: pointer;
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        z-index: 2;
        
    }

    .responsive_menu::before,
    .responsive_menu::after {
        content: "";
        position: absolute;
        width: 50px;
        height: 5px;
        background-color: #fff; 
        border-radius: 6px;
        transition: transform 0.5s;
    }

    .responsive_menu::before {
        transform: translateY(-12px);
    }

    .responsive_menu::after {
        transform: translateY(7px);
    }

    .responsive_menu.active::before {
        transform: translateY(0) rotate(45deg);
    }

    .responsive_menu.active::after {
        transform: translateY(0) rotate(-45deg);
    }

    /* Menu affiché quand la classe .responsive est ajoutée par ton JS */
    header .menu.responsive {
        display: flex;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        backdrop-filter: blur(100px);
        align-items: center;
        justify-content: center;
        z-index: 1;
        flex-direction: column;
    }

    .menu.responsive li {
        margin: 10px;
    }

    .text-cycle {
        font-size: 1rem;      /* plus petit sur téléphone */
        white-space: normal;    /* autorise les retours à la ligne */
        line-height: 1.3;
        max-width: 90%;         /* évite de coller les bords */
        margin: 0 auto;         /* centré */
    }

    .container {
        padding: 0 10px;
        height: calc(100vh - 120px);
        font-size: 100px,
    }

    .logo-img {
        height: 80px;       
        width: 70px;
    }

   

    .bottom-text {
    position: fixed;
    top: 120px;      /* distance du bas (tu peux mettre 0 pour coller) */
    left: 50%;
    transform: translateX(-50%);
    color: red;
    font-size: 40px;
    font-weight: bold;
    text-align: center;
}

}

/* Un petit ajustement tablette */
@media (max-width: 900px) {
    .logo-text {
        font-size: 2rem;
    }
    body{
         /* background-image: none; */
        background-color: black;
    }

    .container {
       
    height: calc(100vh - -150px); /* plein écran moins la hauteur du header */
    
}

.menu li a {
   
    font-size: 1.15rem;
   
}
}