/* --- DÉCLARATION DES POLICES LOCALES --- */
@font-face {
    font-family: 'Trocchi';
    src: url('fonts/trocchi-v19-latin-regular.woff2') format('woff2'); /* Remplacez par le nom exact de votre fichier */
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/roboto-v51-latin-regular.woff2') format('woff2'); /* Remplacez par le nom exact de votre fichier */
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/roboto-v51-latin-700.woff2') format('woff2'); /* Remplacez par le nom exact de votre fichier */
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/roboto-v51-latin-300.woff2') format('woff2'); /* Remplacez par le nom exact de votre fichier */
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* --- VARIABLES DE COULEURS & POLICES --- */
:root {
    --couleur-fond: #FFFAC7;
    --couleur-icones: #EE2226;
    --couleur-vert: #28873B;
    --couleur-texte: #525251;
    --police-titres: 'Trocchi', Georgia, serif;
    --police-texte: 'Roboto', sans-serif;
}

/* --- RESET & BASE --- */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--police-texte);
    background-color: var(--couleur-fond);
    color: var(--couleur-texte);
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Polices des Titres */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--police-titres);
    font-weight: normal;
}

/* --- RESPONSIVE CONTAINER --- */
.conteneur {
    width: 100%;
    max-width: 1000px;
    margin: -10px auto -20px;
    padding: 20px;
}

/* --- EN-TÊTE --- */
header {
    text-align: center;
    padding: 30px 20px 20px;
}

.header-visuels {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 200px;
    /*margin-bottom: 20px;*/
	margin-left: 400px;
}

.logo-container img {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 50%;
   /* border: 3px solid #ffffff;*/
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4); 
    transition: box-shadow 0.3s ease;
}

.petit-visuel-header img {
    max-width: 150px;
    width: 100%;
    height: auto;
    display: block;
	margin-top:-50px;
}

header h1 {
    font-size: 2.2rem;
    margin-bottom: 8px;
	color:var(--couleur-vert);
}

/* --- DISPOSITION DES BLOCS AVEC VISUELS EXTERNES --- */
.bloc-externe {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
	margin-top:-30px;
}

.petit-visuel-externe {
    flex-shrink: 0;
    width: 150px;
}

.petit-visuel-externe img {
    width: 100%;
    max-width: 200px;
    height: auto;
    border-radius: 8px;
    display: block;
}

/* --- CARTES DE CONTENU --- */
.carte {
    flex: 1;
    /*background-color: rgba(255, 255, 255, 0.3);*/
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

/* --- SECTION À PROPOS --- */
.a-propos-contenu {
    display: flex;
    align-items: center;
    gap: 25px;
}

.profil-container img {
    width: 150px;
    height: 150px;
    object-fit: cover;
	border-radius: 50%;
    /*border: 3px solid var(--couleur-fond);*/
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
    flex-shrink: 0;
}

.texte-propos {
    font-family: var(--police-titres);
	flex: 1;
	font-size:1rem;
	color:#000000;
	text-align:center;
}
.texte-propos p:first-child {
	font-size:1.3rem;
	font-family: var(--police-texte);
	color:var(--couleur-texte);
}

.signature {
font-family: var(--police-titres);
font-size:0.8rem;
font-style:italic;
text-align:right;
padding-top:10px;
}

/* --- IMAGES CLASSIQUES RESPONSIVES --- */
.image-wrapper img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
}

/* --- RÉSEAUX SOCIAUX */

.reseaux-sociaux {
    display: flex;
    gap: 20px;
    margin-bottom: 15px;
	margin-top: 15px;
	justify-content: center;
}

.reseaux-sociaux a {
    color: var(--couleur-icones);
    font-size: 1.8rem;
    text-decoration: none;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.reseaux-sociaux a:hover {
    transform: translateY(-3px);
    opacity: 0.85;
}
/* PIED DE PAGE --- */
footer {
    text-align: center;
    margin-top: auto;
    padding: 30px 20px;
}
.copyright {
    font-size: 0.9rem;
    opacity: 0.7;
}

/* --- ADAPTATION MOBILE (MEDIA QUERIES) --- */
@media (max-width: 768px) {
    .logo-container img {
    width: 120px;
    height: 120px;
	}
	
	.header-visuels {
        flex-direction: column;
		margin-left: 0px;
    }
	.petit-visuel-header {
	display:none;
	}
	

    .bloc-externe {
        flex-direction: column;
    }

    /* Inversion pour placer le visuel au-dessus ou en dessous proprement sur mobile */
    .visuel-gauche {
        order: -1;
    }

    .petit-visuel-externe {
        width: 40%;
        max-width: 80px;
        margin: -10% 1% -3% 75%;
    }

    .a-propos-contenu {
        flex-direction: column;
        text-align: center;
    }

    .carte {
        width: 100%;
        padding: 20px;
		margin-top: -30px;
    }
	.signature {
text-align:center;
}

    header h1 {
        font-size: 1.8rem;
    }
}