

@font-face {
  font-family: 'RJHexa';
  src: url('../assets/fonts/RJHexa-Regular.woff2') format('woff2'),
       url('../assets/fonts/RJHexa-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
    font-family: 'ABC Display Condensed';
    src: url('C/Users/pjpg/Documents/Alexis/site_alexis/assets/fonts/ABCDisplay-Condensed.woff2') format('woff2'),
        url('C/Users/pjpg/Documents/Alexis/site_alexis/assets/fonts/ABCDisplay-Condensed.woff') format('woff');
		
    font-weight: normal;   /* ⬅ CRITIQUE */
    font-style: normal;
    font-display: swap;
}
html {
	box-sizing: border-box;
	margin:0 ;
	padding: 0;
	font-size: 16px;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
	margin: 0px;
	background-color: #e0e2ea;
	font-family: 'RJHexa', Arial, sans-serif;
	font-size: 1rem;  /* = 16px */
}
body p {
	color: #000000;
	background-position: 0 0;
	text-align: justify;
}



header,
.menu,
.logo {
  font-family: "ABC Display Condensed", Arial, sans-serif;
  font-weight: 400;

}

 a,
 a:visited,
 a:hover,
 a:active {
  text-decoration: none;
  color: inherit;
}
 a:hover {
	 font-style: italic;
	 font-size: 1rem;
 }
.logo :hover {
	 font-style: italic;
	  font-size: 1.1rem;

 }
.a_footer :hover {
	 font-style: italic;

 }


/* HEADER + GRILLE */
header {
  width: 100%;
  color: black;
  position: sticky;
	top: 0;                 /* colle en haut */
	z-index: 1000;          /* passe au-dessus du contenu*/
	background: #e0e2ea;       /* indispensable pour éviter la transparence*/
	border-bottom: 0.15em solid #4c5998;
}

.header-grid {
  display: grid;
  grid-template-columns:
    minmax(18%, 18%)   /* marge gauche fixe 20% */
    auto               /* logo */
    minmax(10%, 1fr)   /* espace central */
    auto               /* nav */
    minmax(18%, 18%);  /* marge droite fixe 20% */
  align-items: center;
  width: 100%;
}


.logo { 
	grid-column: 2; 
	font-size: 1.2rem; 
	background: #e0e2ea;
	
	margin: 0;
	color: #000000;
	white-space: nowrap; /* ⬅ empêche le retour à la ligne */
	}
 div .logo :hover {
	font-weight: 400;

}
	
.espace { grid-column: 3; }

.site-nav { 
  grid-column: 4; 
  position: static;       /* IMPORTANT */
  width: auto; 
  background: transparent;
}

/* MENU HORIZONTAL */
.menu {
  display: flex;           /* items sur une ligne */
  gap: 0.5em;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 1rem;  /* = 16px */
}

.menu > li {
  position: relative;      /* pour les sous-menus */

}

.menu a {
  text-decoration: none;
  color: #000;
  display: block;
  white-space: nowrap;     /* empêche retour à la ligne */
  padding: 10px 5px;
}

.menu a:hover {
  background: black;
  color: white;
}

/* SOUS-MENU */
.submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  flex-direction: column;
  background: #e0e2ea;
  min-width: max-content;
  list-style: none;
  padding: 0;
}

.has-submenu:hover .submenu {
  display: flex;
}

.submenu a {
  padding: 10px 15px;
  white-space: nowrap;
}



/* ------------------- APRES BANDEAU NAV - PAGE ACCUEIL ------------------*/
/* ------------------- APRES BANDEAU NAV - PAGE ACCUEIL ------------------*/
/* ------------------- APRES BANDEAU NAV - PAGE ACCUEIL ------------------*/
/* ------------------- APRES BANDEAU NAV - PAGE ACCUEIL ------------------*/


/* --- SECTION 2 LIVRES --- */
.section_2_livres {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Deux colonnes égales */
    gap: 4%;                        /* Espace entre les deux livres */
    padding: 0 18%;                 /* 18% à gauche et à droite */
    margin-bottom: 40px;            /* Espace entre les sections de lignes */
	align-items: start; /* Aligne le haut des articles sur la même ligne */
   
}

/* On s'assure qu'il n'y a pas d'espace sous le header */
header + .catalogue_accueil .section_2_livres:first-child {
    margin-top: 0;
}

.livre {
    display: flex;
    flex-direction: column;
    height: 100%; /* Important pour que le "push" vers le bas fonctionne */
}

.livre img {
    width: 100%;
    
    display: block;
	/* L'image reste naturellement collée au haut */
}

.infos_livre {
    margin-top: auto;   /* C'est la clé : pousse ce bloc tout en bas de l'article */
    padding-top: 15px;  /* Espace entre l'image et le texte */
    min-height: 50px;   /* Assure un alignement visuel si les titres font 1 ou 2 lignes */
}

.infos_livre a {
    text-decoration: none;
    color: inherit;
    display: block;
}

/* --- PAGINATION --- */
.pagination_container {
    padding: 40px 18%;
    text-align: center;
}

.btn_pagination {
    display: inline-block;
    padding: 15px 30px;
    border: 1px solid #000;
    text-decoration: none;
    color: #000;
    transition: 0.3s;
}

.btn_pagination:hover {
    background: #000;
    color: #fff;
}

/* --- SECTION EDITEUR --- */
.section_editeur {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4%;
    padding: 80px 18%;
    background-color: #e0e2ea; /* Optionnel : pour distinguer la section */
}

.bloc_description p {
    line-height: 1.6;
    text-align: justify;
}

.bloc_info {
    display: flex;
    justify-content: center; /* Centre le bloc .inner horizontalement */
    align-items: center;
}

.bloc_info .inner {
    text-align: left;        /* Les lignes de texte sont alignées à gauche */
}



















/* ---------------- ARTICLES DOUBLE COUVERTURE DE LIVRE SUR UNE LIGNE---------------- */

.articles-section {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  padding: 0 18%;
  margin-top: 0rem;

}

.livre {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-bottom: 1em;
}

.livre img {
  width: 100%;
  display: block;
}

.livre h2 {
  margin-top: 0.6rem;
}

.livre p {
  margin: 0;
}






/* ---------------- BLOCS BAS descriptif - contact - réseaux sociaux ---------------- */
.section_editeur {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  padding:80px 18%  50px 18%;
  
}

.bloc_description {
  text-align: left;
}

.bloc_info {
  display: flex;
  justify-content: center;   /* centre horizontalement le .inner */
}

..bloc_info .inner {
  text-align: left;          /* texte aligné à gauche */
  max-width:;          /* optionnel : limite la largeur */
}


/* --------------------------------- Bloc deux livres ------------------------*/
.section_2_livres {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  padding: 0 18%;
  margin-top: 0rem;

}

.livre {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-bottom: 1em;
}

.livre img {
  width: 100%;
  display: block;
}

.livre h2 {
  margin-top: 0.6rem;
}

.livre p {
  margin: 0;
}



article a:hover {
	font-style: italic;
}

article a,
article a:visited,
article a:active {
  text-decoration: none;
  color: inherit;
   font-weight: 400;
}
/*article a:hover {
	font-style: italic;
} */

article a:hover {
    font-style: normal; /* On enlève l'italique */
    text-decoration: underline; /* On souligne */
    opacity: 0.96; /* Ou on change légèrement la couleur */
}

/* ---------------- BLOCS BAS  version PHP  descriptif - contact - réseaux sociaux ---------------- */
.section_editeur {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  padding:80px 18%  50px 18%;
  
}

.bloc_description {
  text-align: left;
}

.bloc_info {
  display: flex;
  justify-content: center;   /* centre horizontalement le .inner */
}

..bloc_info .inner {
  text-align: left;          /* texte aligné à gauche */
  max-width:;          /* optionnel : limite la largeur */
}



/* ---------------- FOOTER ---------------- */



.site-footer {
  width: 100%;
  background: #e0e2ea;
  padding: 20px 0;
}

.footer-content {
  display: flex;
  gap: 30px;
  padding-left: 5%;
  align-items: center;
  flex-wrap: wrap;
}

.footer-content span {
  display: inline-block;
}


footer div  a,
footer div a:visited,
footer div a :active 
{
	text-decoration: none;
	color: inherit;
	font-weight: 400;
}
footer div a :hover {
	text-decoration: none;
	color: inherit;
	font-weight: 400;
	font-style: italic;
}


/* ---------------- DIVERS ---------------- */

.construction {
  font-size: 5rem;
  text-align: center;
}





/* ---------------fin page d'accueil---------------*/
/* ---------------fin page d'accueil---------------*/
/* ---------------fin page d'accueil---------------*/
/* ---------------fin page d'accueil---------------*/








/* --------------- code css de la page 2 ------------- */
/* --------------- code css de la page 2 ------------- */
/* --------------- code css de la page 2 ------------- */
/* --------------- code css de la page 2 ------------- */


.photodroitehaut   { 
	
	margin-left: 10%;
	margin-right: 10%;
	margin-bottom: 0em;
	margin-top: 2em;
	-webkit-box-shadow: 0.7em 0.7em 1.3em #4c5998;
	box-shadow: 0.7em 0.7em 1.3em #4c5998;
	border: 0.1em solid #4c5998;
	}

.photodroitehaut_1   { 
	
	margin-left: 10%;
	margin-right: 10%;
	margin-bottom: 0em;
	margin-top: 2em;
	-webkit-box-shadow: 0.7em 0.7em 1.3em #4c5998;
	box-shadow: 0.7em 0.7em 1.3em #4c5998;

	}/* ---------------début page livre ----------------*/



.section_livre_details {
    display: flex;
    padding: 0 18%; /* On garde tes 18% de marge */
    gap: 50px;
    margin-bottom: 50px;
    align-items: flex-start;
}

.bloc_5_couverture {
	width:15%;
	display: flex;
	flex: 0 0 35%; /* La couverture prend 35% de la largeur */
	flex-direction: column;
	align-items: flex-start;
	justify-content:center;
	gap: 1%;
	justify-content:center;

	height: auto;
	padding: 0%;
	margin: 0;	
	border-radius: 0.35em;
	background-color: ;
	color: #000000;	
	font-size: 1.5em;
}

.bloc_5_texte {
	flex: 1; /* Le texte prend le reste */
	justify-content:center;
	width: 40%;

	padding: 0%;
	margin: 0;	
	border-radius: 0.35em;
	background-color: ;
	color: #000000;	
	font-size: 1.4em;
}
.commentaire {
	max-width:100%;
	display: flex;
	align-items: flex-start;
	gap: 20%;
	margin-left: 4%;
	margin-bottom: 0em;
	margin-top: 1em;
	padding-left: 50px;
	text-align: justify;
}
.commentaire_2 {
	margin-left: 4%;
	margin-bottom: 0em;
	margin-top: 1.5em;
	padding-left: 50px;
	text-align: justify;
}

.couverture_gauche   { 
display: block;
	width: 100%;
	height: auto;
	margin-left: 0%;
	margin-right: 0%;
	margin-bottom: 0em;
	margin-top: 2em;
	-webkit-box-shadow: 0.7em 0.7em 1.3em #000000;
	box-shadow: 0.7em 0.7em 1.3em #000000;
	border: 0.1em solid #000000;
	}
.conteneur_bouton_acheter {
    margin-top: 2em;
    padding: 1em; /* On crée un "coussin" tout autour pour que l'ombre ne touche pas les bords du bloc */
    display: block;
    width: fit-content; /* Le bloc s'adapte à l'image mais ne bouge plus */
}

.acheter_2 {
    width: 35%;
    height: auto;
    display: block;
    
    /* On remplace les EM par des PX pour l'ombre, c'est plus stable pour le processeur */
    box-shadow: 0.7em 0.7em 1.3em rgba(0,0,0,0.5); 
    border: 0.1em solid #a9471b;
    border-radius: 10px;
    
    /* On force l'accélération matérielle pour éviter les vibrations au scroll */
    transform: translateZ(0);
    will-change: transform;
}
/* Si tu as un effet au survol sur les images, on le neutralise pour celle-ci */
.acheter_2:hover {
    font-style: normal !important; 
    transform: none !important;
}

/* ---------------- BLOCS BAS descriptif - contact - réseaux sociaux 2 COLONNES---------------- */

.section_editeur_page {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  padding: 100px 16%;
  font-size:1.3em;
}





/* ------------------ CODE CSS PAGES LIVRE BLOC AUTEUR ---------------------*/
/* ------------------ CODE CSS PAGES LIVRE BLOC AUTEUR ---------------------*/
/* ------------------ CODE CSS PAGES LIVRE BLOC AUTEUR ---------------------*/
/* ------------------ CODE CSS PAGES LIVRE BLOC AUTEUR ---------------------*/


.bloc_auteur {
    display: flex; 
    padding: 50px 18%; /* Padding haut à 50px, côtés à 18% */
    gap: 50px; 
    align-items: flex-start; 
    margin-bottom: 80px;
    border-top: 1px solid #eee;
    margin-top: 50px;
    overflow: hidden; /* Sécurité pour contenir les flottants */
}
    
.auteur_photo {
    flex: 0 0 15%; /* Ne grandit pas, ne rétrécit pas, base 15% */
    max-width: 15%; /* Sécurité supplémentaire */
}

.auteur_photo img {
    width: 100%;
    aspect-ratio: 1 / 1; /* Force un carré si tes photos le sont, sinon enlève cette ligne */
    object-fit: cover;   /* Évite de déformer l'image */
    height: auto; 
    border-radius: 0.35em; 
    filter: grayscale(100%);
    display: block;
}
.auteur_biographie {   
		display: block;
		height: auto !important; /* Laisse le texte prendre toute sa place */
		flex: 1; 
		font-size: 1.1em; 
		line-height: 1.6; 
		text-align: justify;
}
       







/* ------------------ CODE CSS PAGES CONTACT ET CONSTRUCTION ---------------------*/
/* ------------------ CODE CSS PAGES CONTACT ET CONSTRUCTION ---------------------*/
/* ------------------ CODE CSS PAGES CONTACT ET CONSTRUCTION ---------------------*/
/* ------------------ CODE CSS PAGES CONTACT ET CONSTRUCTION ---------------------*/




.bloc_4 {

	font-size: 1.6em;
}

/* On cible le bloc qui contient tout votre texte de contact */
.bloc_4 {
    max-width: 600px;
    margin: 60px auto !important; /* Centre le bloc sur la page */
    text-align: left; /* Aligne le texte à gauche à l'intérieur */
}

/* On s'assure que le paragraphe et la div n'ont pas de décalage */
.commentaire_contact p.contact, 
.commentaire_contact div.contact {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* TRÈS IMPORTANT : On retire le décalage automatique des listes <ul> */
.ul_contact {
    list-style: none !important;
    padding-left: 0 !important; /* Aligne "Instagram" pile sous "Contact / Infos" */
    margin-top: 15px;
}

blockquote {
	font-style: italic;
}



/* ------------------ PAGE CXATALOGUE BOUTONS ---------------------*/
/* ------------------ PAGE CXATALOGUE BOUTONS ---------------------*/
/* ------------------ PAGE CXATALOGUE BOUTONS ---------------------*/
/* ------------------ PAGE CXATALOGUE BOUTONS ---------------------*/

/* Centrer la recherche et les boutons */
.search-container, .filtres-container {
    text-align: center;
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 20px 0;
}

/* Le look des boutons */
.btn-cat {
    padding: 10px 20px;
    text-decoration: none;
    border: 1px solid #ccc; /* C'est ça qui fait le cadre ! */
    border-radius: 5px;
    display: inline-block;
    transition: 0.3s;
}

/* Couleurs selon l'état */
.btn-cat-on {
    background-color: #333;
    color: #fff;
}

.btn-cat-off {
    background-color: #eee;
    color: #333;
}

/* Le titre */
.titre-catalogue {
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 40px 0;
}


/* REGLES POUR MOBILE (Écrans de moins de 768px) */
/* REGLES POUR MOBILE (Écrans de moins de 768px) */
/* REGLES POUR MOBILE (Écrans de moins de 768px) */
/* REGLES POUR MOBILE (Écrans de moins de 768px) */
/* ==========================================================
   VOTRE CSS ORDINATEUR (reste en haut, sans changement)
   ========================================================== */

/* ... (vos styles habituels) ... */


/* ==========================================================
   LE BLOC MOBILE (Uniquement pour les écrans < 768px)
   ========================================================== */
/* ==========================================================
   LE BLOC MOBILE CORRIGÉ
   ========================================================== */
@media screen and (max-width: 768px) {

    /* 1. SÉCURITÉ GLOBALE */
    * {
        box-sizing: border-box !important;
        max-width: 100vw !important;
    }

    html, body {
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden !important;
        width: 100% !important;
    }

    /* 2. HEADER & MENU */
    .header-grid, .menu {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
    }
	
	/* 1. On réduit l'espace interne de chaque lien du menu */
    .menu a {
        padding: 5px 0 !important; /* 5px en haut/bas au lieu de 10px ou 15px */
        margin: 0 !important;
    }

  /* On réduit le menu au minimum vital */
    .menu {
        gap: 0 !important; /* Supprime l'espace automatique entre les éléments */
    }

    .menu li {
        margin: 0 !important;
        padding: 0 !important;
    }

    .menu a {
        padding: 2px 0 !important; /* Un tout petit espace pour la lisibilité */
        margin: 0 !important;
        line-height: 1.1 !important; /* Rapproche les lignes de texte */
    }

    /* Si vous avez des sous-menus qui créent du vide */
    .submenu a {
        padding: 2px 10px !important;
    }
	
	

    /* 3. GRILLE DE LIVRES (Index) */
    .section_2_livres, .catalogue_accueil {
        display: flex !important;
        flex-direction: column !important;
        padding: 0 10px !important;
    }

    /* 4. PAGE LIVRE UNIQUE (livre.php) */
    .section_livre_details {
        display: flex !important;
        flex-direction: column !important; /* Empile Couverture puis Texte */
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        gap: 0 !important;
    }

    /* LA COUVERTURE : Centrage et taille */
    .bloc_5_couverture {
        width: 100% !important;
        flex: none !important; /* Annule le 35% du PC */
        display: block !important;
        text-align: center !important;
        padding: 20px 0 !important;
    }

    .couverture_gauche {
        width: 70% !important;
        max-width: 220px !important;
        height: auto !important;
        margin: 0 auto !important;
        display: inline-block !important;
        box-shadow: 0.5em 0.5em 1em rgba(0,0,0,0.3) !important;
    }

    /* LE TEXTE DU LIVRE : Recalage total à gauche */
    .bloc_5_texte {
        width: 100% !important;
        flex: none !important;
        padding: 10px 20px !important; /* Marges G et D égales (20px) */
        margin: 0 !important; /* Supprime le margin-left: 4% du PC */
    }

    .commentaire_2 {
        margin: 0 !important;
        padding: 0 !important; /* Supprime le padding-left: 50px du PC */
        text-align: left !important;
    }

    .commentaire_2 h2 {
        font-size: 1.3em !important;
        margin-bottom: 10px !important;
    }

    .commentaire_2 p {
        width: 100% !important;
        margin: 0 0 10px 0 !important;
        line-height: 1.4 !important;
        text-align: left !important;
    }

    /* 5. LE BOUTON ACHETER : Taille 140px */
    .conteneur_bouton_acheter {
        width: 100% !important;
        text-align: center !important;
        margin: 15px 0 0 0 !important;
        padding: 0 !important;
    }

    .acheter_2 {
        width: 140px !important;
        height: auto !important;
        display: inline-block !important;
        box-shadow: 0.3em 0.3em 0.6em rgba(0,0,0,0.2) !important;
    }

    /* 6. BLOC AUTEUR : On préserve la structure en colonne */
    .bloc_auteur {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        padding: 30px 20px !important;
        gap: 20px !important;
        margin-top: 30px !important; /* Espace entre texte livre et auteur */
    }

    .auteur_photo {
        max-width: 120px !important; /* Photo plus grande sur mobile */
        flex: none !important;
    }

    .auteur_biographie {
        width: 100% !important;
        text-align: left !important;
        height: auto !important; /* Libère la hauteur bridée sur PC */
    }

    /* 7. FOOTER DISCRET */
    .site-footer {
        padding: 20px 10px !important;
    }

    .footer-content {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        padding: 0 !important;
        text-align: center !important;
        justify-content: center !important;
    }

    /* Nettoyage final */
    main p:empty, br {
        display: none !important;
    }
	
	/* 8. HARMONISATION INDEX ET CATALOGUE */
    
    /* On s'assure que le conteneur de pagination ne crée pas de vide immense */
    .pagination_container {
        padding: 20px 10px !important;
        width: 100% !important;
    }

    /* On aligne les sections éditeurs (bas de page accueil) comme le reste */
    .section_editeur, .section_editeur_page {
        display: flex !important;
        flex-direction: column !important;
        padding: 20px !important;
        gap: 20px !important;
    }

    /* On s'assure que le footer est bien identique partout */
    .site-footer {
        width: 100% !important;
        margin-top: 30px !important;
        border-top: 1px solid #ccc !important;
        background: #e0e2ea !important; /* On garde votre couleur de fond */
    }

    .footer-content {
        display: flex !important;
        flex-direction: column !important; /* On empile les lignes */
        align-items: center !important;
        text-align: center !important;
        padding: 20px 0 !important;
        gap: 10px !important; /* Espace entre les lignes du footer */
    }

    /* On réduit la taille des liens du footer pour le mobile */
    .footer-content a, .footer-content span {
        font-size: 0.9em !important;
        margin: 0 !important;
    }
	
	/* 9. PAGE CONTACT */
    .contact {
        width: 100% !important;
        padding: 20px !important; /* Crée l'espace indispensable sur les côtés */
        margin: 0 !important;
    }

 /* On réduit la taille globale du bloc contact */
    .bloc_4 {
        font-size: 1.1em !important; /* On divise par 1.5 la taille actuelle */
        width: 100% !important;
        padding: 0 20px !important;
        margin: 20px 0 !important;
    }

    /* On s'assure que les paragraphes et liens suivent cette taille */
    p.contact, 
    .div.contact, 
    .li_contact, 
    .li_contact a {
        font-size: 1em !important; /* 1em ici = 1.1em du parent .bloc_4 */
        line-height: 1.4 !important;
    }

    /* On ajuste le titre "Contact / Infos" s'il paraît encore trop gros */
    .contact br + b, /* Si vous utilisez du gras */
    .contact {
        text-align: left !important;
    }

    /* On s'assure que les citations (blockquote) ne touchent pas les bords non plus */
    blockquote {
        margin: 20px 0 !important;
        padding: 10px 20px !important;
        border-left: 3px solid #4c5998;
        font-size: 1em !important;
    }
	
} /* FIN DU MODE MOBILE (Une seule accolade ici !) */  /* FIN DU MODE MOBILE */

/* ==========================================================
   FIN DU FICHIER
   ========================================================== */
	
	
	
	
	
	