/***************************************
 * STYLE GLOBAL DU CORPS
 ***************************************/
body {
    position: relative; /* Positionnement relatif pour la mise en page flexible */
    z-index: auto; /* Z-index par défaut */
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; /* Police générale du corps */
    background-color: #f5f2e7; /* Couleur de fond claire */
    color: #4B3C2D; /* Couleur brun foncé du texte */
    line-height: 1.6; /* Hauteur de ligne pour la lisibilité */
    margin: 0; /* Suppression des marges par défaut */
    display: flex; /* Mise en page flexible en colonne */
    flex-direction: column; /* Orientation verticale */
    min-height: 100vh; /* Hauteur minimale à la taille de la fenêtre */
}

html, body {
    overflow-x: hidden; /* Empêche le défilement horizontal */
    margin: 0; /* Marges nulles */
    padding: 0; /* Padding nul */
}

/***************************************
 * STYLE DU HEADER
 ***************************************/
header {
    background-color: #f5f2e7; /* Fond identique au corps */
    padding: 0; /* Padding interne nul */
    text-align: center; /* Centrage du texte */
    color: white; /* Texte en blanc (attention sur fond blanc) */
    font-size: 24px; /* Taille de police */
    margin-top: 90px; /* Espace supérieur (pour décaler) */
    display: flex; /* Flexbox pour alignement */
    justify-content: center; /* Centrage horizontal */
    margin-left: auto; /* Centrage automatique */
    margin-right: auto;
    width: 65%; /* Largeur relative */
    max-width: 1200px; /* Limite maximale de largeur */
}

/***************************************
 * BANDEAU FIXE EN HAUT DE PAGE
 ***************************************/
.bandeau {
    position: fixed; /* Fixé en haut de la fenêtre */
    top: 0; /* En haut */
    width: 100%; /* Pleine largeur */
    background-color: #ecc070; /* Couleur chaude */
    box-shadow: 0 2px 4px rgba(0,0,0,0.5); /* Ombre portée */
    z-index: 1000; /* Sur tous les autres éléments */
    padding: 1rem; /* Espacement intérieur */
}

/***************************************
 * NAVIGATION ET MENU
 ***************************************/
nav {
    display: flex; /* Flex pour disposition horizontale */
    justify-content: center; /* Centrage du menu */
    align-items: center; /* Alignement vertical */
}

/* Menu principal sans puces, en ligne */
ul.menu {
    list-style: none; /* Suppression des puces */
    display: flex; /* Ligne horizontale */
    margin: 0; /* Marges nulles */
    padding: 0; /* Padding nul */
}

/* Éléments du menu */
ul.menu li {
    position: relative; /* Pour positionner sous-menus */
    margin: 0 15px; /* Espacement horizontal */
}

/* Liens du menu principal */
ul.menu li a {
    text-decoration: none; /* Pas de soulignement */
    color: #4B3C2D; /* Couleur brun foncé du texte */
    font-weight: bold; /* Gras */
    padding: 8px 12px; /* Padding interne */
    transition: background 0.3s, color 0.3s; /* Transition pour hover */
}
ul.menu li a:hover {
    background-color: #d6a358; /*Couleur beige chaud au Survol */
    border-radius: 4px; /* Coins arrondis */
    color: #4B3C2D; /* Couleur brun foncé du texte au hover */
}

/* Sous-menu déroulant */
ul.menu li ul.submenu {
    display: none; /* Masqué par défaut */
    position: absolute; /* Position absolue par rapport au parent */
    top: 30px; /* Position verticale */
    left: 0; /* Aligné à gauche */
    background-color: #ecc070; /* Couleur jaune doré clair de fond */
    box-shadow: 0 2px 8px rgba(0,0,0,0.5); /* Ombre portée */
    list-style: none; /* Sans puces */
    padding: 0; /* Sans padding */
    margin: 0; /* Sans marges */
    width: 140px; /* Largeur initiale */
    border-radius: 4px; /* Coins arrondis */
    z-index: 1001; /* Sur le menu principal */
    transition: width 0.3s ease; /* Transition pour largeur */
}
ul.menu li:hover ul.submenu {
    display: block; /* Affichage au survol */
    width: 200px; /* Largeur étendue au hover */
}

/* Items du sous-menu */
ul.submenu li {
    width: 100%; /* Pleine largeur */
}

/* Liens dans le sous-menu */
ul.submenu li a {
    padding: 4px 8px; /* Padding interne */
    max-width: 180px; /* Limite de largeur */
    display: inline-block; /* Bloc en ligne */
    color: #4B3C2D; /* Couleur brun foncé du texte */
}
ul.submenu li a:hover {
    background-color: #d6a358; /*Couleur beige chaud au Survol */
    color: #fff; /* Texte en blanc */
}

/***************************************
 * ZONE DE CONTENU PRINCIPAL
 ***************************************/
.content {
    margin: 0 auto; /* Centrage horizontal */
    width: 100%; /* Pleine largeur */
}
.content h2 {
    text-align: center; /* Centrage du titre */
    color: #4B3C2D; /* Couleur du titre */
    margin-bottom: 20px; /* Espacement inférieur */
    font-size: 40px; /* Taille de police */
    /* Effet de contour alternatif à -webkit-text-stroke */
    text-shadow:
        1px 1px 0 #999,
        2px 2px 0 #666,
        3px 3px 0 #333; /* Ombres pour effet de relief */
}
.content p {
    text-align: center; /* Centrage des paragraphes */
}

/***************************************
 * SECTION PRÉSENTATION (.intro)
 ***************************************/
.intro {
    width: 100%; /* Pleine largeur */
    box-sizing: border-box; /* Prise en compte du padding/border */
    text-align: center; /* Centrage */
    margin-bottom: 1rem; /* Marges inférieures */
    margin-top: 100px; /* Décalage supérieur */
}
.intro h1 {
    font-size: 2.5rem; /* Taille du titre */
    margin-bottom: 1rem; /* Espace en dessous */
    color: #4B3C2D; /* Couleur du titre */
}
.intro p {
    font-size: 1.2rem; /* Taille du texte */
    max-width: 800px; /* Limite de largeur */
    margin: 0 auto 1.5rem; /* Marges auto pour centrer */
    color: #4B3C2D; /* Couleur du texte */
    text-align: justify; /* Justification */
}

/***************************************
 * SECTIONS DE CARTES (.packs & .cards-section)
 ***************************************/
.packs {
    display: flex; /* Flexbox pour alignement */
    flex-wrap: wrap; /* Multiple lignes si besoin */
    gap: 20px; /* Espacement entre éléments */
    justify-content: center; /* Centrage horizontal */
}
.cards-section {
    display: flex; /* Flexbox */
    flex-wrap: wrap; /* Multiple lignes */
    justify-content: center; /* Centrage */
    gap: 20px; /* Espacement */
    padding: 20px; /* Padding intérieur */
    color: #4B3C2D; /* Couleur générale */
}

/* Cartes individuelles */
.card {
    background-color: #ecc070; /* Fond couleur chaude */
    border-radius: 8px; /* Coins arrondis */
    box-shadow: 0 4px 12px rgba(0,0,0,0.7); /* Ombre portée */
    width: 100%; /* Largeur flexible */
    max-width: 320px; /* Limite de taille */
    display: flex; /* Flex pour contenu vertical */
    flex-direction: column; /* Orientation colonne */
    align-items: center; /* Centrage interne */
    padding: 15px; /* Padding intérieur */
    box-sizing: border-box; /* Considérer padding/border */
    transition: transform 0.3s, box-shadow 0.3s, background-color 0.3s; /* Transitions */
}
.card:hover {
    transform: translateY(-5px); /* Légère montée au survol */
    box-shadow: 0 8px 20px rgba(0,0,0,0.9); /* Ombre renforcée */
    background-color: #f5c86a; /* Changement de fond */
}
.card-large {
    max-width: 400px; /* Taille plus grande pour certains */
}

/***************************************
 * DESCRIPTION DANS CARTES
 ***************************************/
.description {
    text-align: center; /* Centrage */
}
.description h3 {
    font-size: 1.2rem; /* Taille du sous-titre */
    margin-bottom: 0.5rem; /* Marges */
    color: #4B3C2D; /* Couleur */
}
.description p {
    font-size: 16px; /* Taille de la description */
    color: #4B3C2D; /* Couleur */
}

/***************************************
 * PIED DE PAGE
 ***************************************/
footer {
    width: 100%; /* Pleine largeur */
    background-color: #ecc070; /* Couleur de fond */
    padding: 5px 0; /* Padding vertical */
    margin-top: 40px; /* Espace supérieur */
    display: flex; /* Flexbox */
    flex-direction: column; /* Orientation verticale */
    align-items: center; /* Centrage horizontal */
    color: #4B3C2D !important; /* Couleur du texte (important) */
}
footer p {
    text-align: center; /* Centrage du texte */
    color: #4B3C2D !important; /* Couleur (important) */
}

/***************************************
 * POLICE PERSONNALISÉE
 ***************************************/
@font-face {
    font-family: 'FairWaterScript'; /* Nom de la police */
    src: url('fonts/FairWaterScript.woff2') format('woff2'), /* Source woff2 */
         url('fonts/FairWaterScript.woff') format('woff'), /* Source woff */
         url('fonts/FairWaterScript.ttf') format('truetype'); /* Source ttf */
    font-weight: normal; /* Poids normal */
    font-style: normal; /* Style normal */
}

/***************************************
 * TITRES (h1, h3, h4)
 ***************************************/
h1 {
    font-family: 'FairWaterScript', cursive, Arial, sans-serif; /* Police personnalisée */
    font-size: 3em; /* Taille importante */
    color: #222; /* Couleur foncée */
    margin-bottom: 20px; /* Marges inférieures */
    /* Remplacement de -webkit-text-stroke par effets de texte pour compatibilité */
    /* Si nécessaire, ajouter des effets de contour via text-shadow ou autres techniques */
}
h3 {
    font-family: 'FairWaterScript', cursive, Arial, sans-serif; /* Police personnalisée */
    font-size: 1.5em; /* Taille */
    color: #222; /* Couleur */
}
h4 {
    font-family: 'FairWaterScript', cursive, Arial, sans-serif; /* Police personnalisée */
    font-size: 1.2em; /* Taille */
    color: #222; /* Couleur */
}

/***************************************
 * IMAGE AVEC BORDURE FIXE
 ***************************************/
.image-argentee {
    border: 4px solid silver; /* Bordure argentée */
    width: 300px; /* Largeur fixe */
    height: 200px; /* Hauteur fixe */
    object-fit: cover; /* Couvre sans déformer */
    display: block; /* Bloc pour centrage */
    margin: 10px auto; /* Marges auto pour centrage */
}
img {
    max-width: 100%; /* Limite en largeur */
    height: auto; /* Hauteur automatique */
    display: block; /* Bloc */
}

/***************************************
 * CONTAINER BOUTONS SOCIAUX
 ***************************************/
.social-buttons {
    display: flex; /* Flexbox */
    gap: 10px; /* Espacement entre boutons */
    margin: 0; /* Pas de marges */
    justify-content: center; /* Centrage horizontal */
    align-items: center; /* Alignement vertical */
}

/* Boutons sociaux individuels */
.social-btn {
    display: flex; /* Flex pour contenu interne */
    align-items: center; /* Centrage vertical */
    padding: 0 15px; /* Padding horizontal */
    font-size: 16px; /* Taille du texte */
    color: #fff; /* Texte blanc */
    text-decoration: none; /* Pas de soulignement */
    border-radius: 5px; /* Coins arrondis */
    transition: background-color 0.3s; /* Transition */
}
/* Couleurs spécifiques pour chaque plateforme */
.social-btn.facebook {
    background-color: #3b5998; /* Facebook bleu */
}
.social-btn.twitter {
    background-color: #55acee; /* Twitter bleu clair */
}
.social-btn:hover {
    opacity: 0.8; /* Légère transparence au hover */
}
.social-btn i {
    margin-right: 8px; /* Espacement entre icône et texte */
    font-size: 20px; /* Taille icône */
}

/***************************************
 * CONTAINER FORMULAIRE DE CONTACT
 ***************************************/
.contact-container {
    background-color: #ecc070; /* Fond couleur chaude */
    color: #4B3C2D; /* Texte foncé */
    padding: 40px; /* Padding intérieur */
    border-radius: 10px; /* Coins arrondis */
    max-width: 500px; /* Largeur maximale */
    width: 100%; /* Pleine largeur dans le conteneur */
    box-shadow: 0 4px 12px rgba(0,0,0,0.1); /* Ombre douce */
    margin: auto; /* Centrage horizontal */
    margin-top: 100px; /* Décalage supérieur */
}
.contact-container h2 {
    text-align: center; /* Centrage */
    color: #4B3C2D; /* Couleur */
    margin-bottom: 20px; /* Marges inférieures */
    font-size: 40px; /* Taille du titre */
    /* Effet de contour alternatif (si besoin) via text-shadow */
    text-shadow:
        1px 1px 0 #999,
        2px 2px 0 #666,
        3px 3px 0 #333;
}

/* Taille du textarea par défaut */
textarea {
    font-size: 1.2em; /* Taille du texte */
    padding: 15px; /* Padding intérieur */
    height: 150px; /* Hauteur initiale */
    width: 100%; /* Pleine largeur */
    box-sizing: border-box; /* Inclusion du padding dans la taille */
}

/* Adaptation mobile */
@media (max-width: 600px) {
    .contact-container {
        padding: 20px; /* Moins de padding */
    }
    textarea {
        font-size: 1.4em; /* Taille plus grande */
        height: 180px; /* Hauteur augmentée */
    }
}

/***************************************
 * FORMULAIRE
 ***************************************/
form {
    display: flex; /* Flex vertical */
    flex-direction: column; /* Colonne */
}

/* Labels */
label {
    margin-bottom: 8px; /* Espacement inférieur */
    font-weight: bold; /* Gras */
    color: #4B3C2D; /* Couleur */
}

/* Champs input et textarea */
input[type="text"],
input[type="email"],
textarea {
    padding: 12px; /* Padding interne */
    margin-bottom: 20px; /* Marges entre champs */
    border: 1px solid #ccc; /* Bordure grise claire */
    border-radius: 4px; /* Coins arrondis */
    font-family: inherit; /* Police héritée */
    font-size: 1em; /* Taille classique */
    transition: border-color 0.3s; /* Transition couleur bordure */
}
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
    border-color: #D4AF37; /* Couleur de focus (or) */
    outline: none; /* Pas de contour par défaut */
}

/* Bouton de soumission */
button {
    background-color: #d6a358; /* Couleur de fond */
    color: #fff; /* Texte blanc */
    padding: 14px; /* Padding interne */
    border: none; /* Sans bordure */
    border-radius: 4px; /* Coins arrondis */
    font-size: 1em; /* Taille du texte */
    cursor: pointer; /* Curseur pointeur */
    transition: background-color 0.3s; /* Transition */
}
button:hover {
    background-color: #b58a49; /* Changement au survol */
}

/* Message de confirmation ou erreur */
.message {
    margin-top: 15px; /* Espace supérieur */
    text-align: center; /* Centrage */
    font-weight: bold; /* Gras */
}

/* Liens */
a {
    text-decoration: none; /* Sans soulignement */
    color: #4B3832; /* Couleur foncée */
}

/* Paragraphes */
p {
    max-width: 700px; /* Limite de largeur */
    margin: 20px auto; /* Centrage horizontal et marges verticales */
    font-size: 18px; /* Taille police */
    line-height: 1.8; /* Hauteur de ligne */
    color: #4B3C2D; /* Couleur du texte */
    text-align: justify; /* Justification */
    /* Effet léger d'ombre ou relief si nécessaire */
    hyphens: auto; /* Césure automatique pour meilleure adaptation */
    word-break: break-word; /* Coupe des mots si nécessaire */
}

/* Paragraphe d'intro spécifique */
p.intro {
    font-weight: bold; /* Gras */
    font-size: 20px; /* Taille */
    color: #4B3C2D; /* Couleur */
    margin-bottom: 30px; /* Marges inférieures */
}

/* Citation ou extrait stylisé */
p.quote {
    font-style: italic; /* Italique */
    background-color: #eef9f9; /* Fond léger */
    padding: 15px; /* Padding intérieur */
    border-left: 5px solid #a0c4c4; /* Bordure à gauche */
    margin: 30px 0; /* Marges verticales */
    border-radius: 8px; /* Coins arrondis */
    font-size: 19px; /* Taille du texte */
}

/***************************************
 * BOUTON BURGER (MENU MOBILE)
 ***************************************/
.burger-menu {
    width: 30px; /* Largeur */
    height: 25px; /* Hauteur */
    cursor: pointer; /* Curseur pointeur */
    display: none; /* Cache par défaut, affiché en mobile */
    flex-direction: column; /* Colonne pour les barres */
    justify-content: space-between; /* Espacement vertical */
    z-index: 1001; /* Sur autres éléments */
}
.burger-menu .bar {
    height: 3px; /* Barres fines */
    background-color: #4B3C2D; /* Couleur sombre */
    border-radius: 2px; /* Coins arrondis */
    width: 100%; /* Pleine largeur */
    transition: 0.3s; /* Transition pour animation éventuelle */
}

/***************************************
 * LISTES PERSONNALISÉES
 ***************************************/
ul.custom-list {
    list-style: none; /* Sans puces */
    padding-left: 0; /* Sans indentation */
}
ul.custom-list li {
    position: relative; /* Pour puce personnalisée */
    padding-left: 20px; /* Espace pour la puce */
    margin-bottom: 10px; /* Espacement entre éléments */
    text-align: justify; /* Justification */
    hyphens: auto; /* Césure automatique */
    overflow-wrap: break-word; /* Coupe des mots si nécessaire */
}
ul.custom-list li::before {
    content: ""; /* Pas de contenu textuel */
    position: absolute; /* Absolu par rapport au parent */
    left: 0; /* Position à gauche */
    top: 50%; /* Centré verticalement */
    transform: translateY(-50%); /* Ajustement */
    width: 6px; /* Taille de la puce */
    height: 6px; /* Taille */
    border: 2px solid #999999; /* Bordure grise */
    border-radius: 50%; /* Cercle */
    background-color: transparent; /* Transparent */
}

/* Liste ordonnée (numérotation) */
ol {
    text-align: left; /* Alignement à gauche */
}

/***************************************
 * LIGNE HORIZONTALE STYLISÉE
 ***************************************/
hr {
    border: none; /* Sans bordure classique */
    height: 2px; /* Hauteur de la ligne */
    background-color: #70c0e5; /* Couleur bleue */
    width: 75%; /* Largeur relative */
    box-shadow: inset 0 0 10px rgba(0,0,0,0.2); /* Ombre intérieure */
}

/***************************************
 * CLASSE CENTRÉE
 ***************************************/
.centered-text {
    text-align: center !important; /* Centrage prioritaire */
}

/***************************************
 * FIN DES STYLES GLOBAUX
 ***************************************/

/***************************************
 * STYLES RESPONSIVE (MOBILE & TABLET)
 ***************************************/

/* Max 600px, Mobile */
@media (max-width: 600px) {
    /* Conteneur contact pour mobile */
    .contact-container {
        padding: 20px; /* Padding réduit */
    }
    /* Textarea en mobile */
    textarea {
        font-size: 1.4em; /* Taille plus grande pour facilité */
        height: 180px; /* Hauteur augmentée */
    }
}

/* Jusqu'à 768px, tablette et mobile */
@media (max-width: 768px) {
    html, body {
        overflow-x: hidden; /* Empêche défilement horizontal */
    }
    /* Cartes dans packs */
    .card {
        width: 90%; /* Largeur adaptée */
    }
    /* Padding pour intro */
    .intro {
        padding: 0 20px; /* Padding latéral */
        box-sizing: border-box; /* Inclusion padding dans largeur */
    }
    /* Titre dans intro */
    .intro h1 {
        font-size: 2rem; /* Taille réduite */
    }
    /* Menu burger mobile */
    .burger-menu {
        display: flex !important; /* Affichage en mobile */
        position: fixed; /* Fixé en haut à droite */
        top: 15px; /* Position */
        right: 20px; /* Position */
        width: 35px; /* Largeur */
        height: 30px; /* Hauteur */
        flex-direction: column; /* Colonnes */
        justify-content: space-around; /* Espacement */
        align-items: center; /* Centrage */
        cursor: pointer; /* Curseur */
        z-index: 9999; /* Sur autres éléments */
        background: transparent; /* Transparence */
    }
    /* Barres du burger */
    .burger-menu .bar {
        height: 4px; /* Barres épaisses */
        width: 100%; /* Pleine largeur */
        background-color: #4B3C2D; /* Couleur sombre */
        border-radius: 2px; /* Coins arrondis */
        transition: 0.3s; /* Transition */
    }
    /* Menu mobile déroulant */
    .menu-drawer {
        position: absolute; /* Position absolue */
        top: calc(100% + 2px); /* Juste en dessous du bandeau */
        right: 20px; /* Position à droite */
        width: 250px; /* Largeur */
        background-color: #ecc070; /* Couleur */
        box-shadow: 0 2px 8px rgba(0,0,0,0.5); /* Ombre */
        display: none; /* Masqué par défaut */
        border-radius: 4px; /* Coins arrondis */
        z-index: 1002; /* Sur autres éléments */
    }
    /* Menu actif (affiché) */
    .menu-drawer.active {
        display: block; /* Visible */
    }
    /* Menu mobile dans la classe spécifique */
    .netflix-menu .menu {
        list-style: none; /* Sans puces */
        padding: 0 20px; /* Padding intérieur */
        margin: 0; /* Marges */
        flex-direction: column; /* Colonne */
    }
    /* Items dans menu mobile */
    .netflix-menu .menu li {
        margin: 20px 0; /* Espacement vertical */
    }
    /* Liens dans menu mobile */
    .netflix-menu .menu li a {
        font-size: 1.2em; /* Taille ajustée */
        color: #fff; /* Blanc */
        text-decoration: none; /* Sans soulignement */
    }
    /* Position du burger en mobile */
    #burger {
        position: fixed; /* Fixé en haut à droite */
        top: 15px;
        right: 20px;
        display: flex !important; /* Visible */
    }
    /* Menu général en colonne pour mobile */
    .menu {
        display: flex; /* Flex en colonne */
        flex-direction: column; /* Colonne */
        padding: 0; /* Aucun padding */
        margin: 0; /* Marges nulles */
    }
    /* Liens dans menu mobile */
    .menu li {
        margin: 20px 0; /* Espacement vertical */
    }
    /* Sous-menus dans mobile (si présents) */
    ul.submenu {
        position: absolute; /* Position spécifique */
        top: 0; /* Aligné en haut */
        right: 60px; /* Décalé à droite */
        width: 200px; /* Largeur */
        background-color: #ecc070; /* Fond */
        box-shadow: 0 2px 8px rgba(0,0,0,0.5); /* Ombre */
        display: none; /* Masqué par défaut */
        z-index: 1002; /* Sur autres éléments */
        color: #fff; /* Texte blanc si visible */
    }
    /* Cacher le menu principal dans l'en-tête en mobile */
    .menu-container {
        display: none; /* Masqué en mobile */
    }
    /* Bandeau mobile (si nécessaire) */
    .bandeau {
        height: 40px; /* Hauteur */
        line-height: 40px; /* Alignement vertical */
        display: flex; /* Flexbox pour centrage */
        align-items: center; /* Centrage vertical */
    }
    /* Modifications de l'en-tête pour mobile */
    header {
        display: flex; /* Flex en colonne */
        flex-direction: column; /* Vertical */
        align-items: center; /* Centrage horizontal */
        justify-content: center; /* Centrage vertical */
        margin-top: 0; /* Suppression du décalage */
        padding: 0; /* Pas de padding */
        text-align: center; /* Centrage du texte */
    }
    header img {
        max-width: 670px; /* Limite de largeur */
        height: auto; /* Hauteur automatique */
        display: block; /* Bloc */
        object-fit: contain; /* Contenir l'image sans déformer */
        max-height: 100%; /* Limiter la hauteur */
        margin-top: 0; /* Pas de marge */
        margin-bottom: 0;
    }
    /* Container contact mobile */
    .contact-container {
        max-width: 370px; /* Largeur adaptée */
        margin-top: 120px; /* Décalage en haut */
    }
    /* Textarea mobile (si pas déjà défini) */
    textarea {
        font-size: 1.4em; /* Taille plus grande */
        height: 180px; /* Hauteur augmentée */
    }
}
