@charset "UTF-8";

/* ==========================================================================
   1. RESET & STYLES DE BASE (Ordinateur & Général)
   ========================================================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: #FFFFFF;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.6;
    color: #666;
}

/* Titres principaux */
.titre1 {
    display: block;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(14px, 2vw, 16px);
    font-style: normal;
    font-variant: normal;
    color: #666;
    padding: 10px 0;
    text-align: left; /* Aligné à gauche par défaut sur ordinateur */
}

/* Légendes sous les œuvres */
.legende {
    color: #888;
    font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
    font-size: clamp(8px, 1.2vw, 10px);
    font-weight: normal;
    line-height: 1.4;
    margin-top: 8px;
}

/* Paragraphes de texte standards */
.helvetica {
    color: #666;
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: clamp(11px, 1.5vw, 13px);
    font-weight: normal;
    text-transform: none;
    line-height: 1.5;
}

/* Bordures décoratives historiques */
.bordurebasoff {
    border-top: 0.5px solid #333;
    border-right: 0.5px solid #333;
    border-bottom: none;
    border-left: 0.5px solid #333;
    padding: 5px 0;
}

.bordurehautoff {
    border-top: none;
    border-right: 0.5px solid #333;
    border-bottom: 0.5px solid #333;
    border-left: 0.5px solid #333;
    padding: 5px 0;
}


/* ==========================================================================
   2. MISE EN PAGE DES GRILLES SUR ORDINATEUR (Par défaut)
   ========================================================================== */

/* --- STRUCTURE DU PORTFOLIO (3 Colonnes) --- */
.page-portfolio {
    display: flex;
    flex-direction: row;
    max-width: 1301px;
    margin-left: 100px;
}

.colonne-menu { width: 243px; flex-shrink: 0; }
.colonne-texte { width: 525px; flex-shrink: 0; padding-right: 29px; }
.colonne-galerie { width: 500px; flex-shrink: 0; text-align: center; padding-right: 29px; }

/* --- STYLE DU LOGO --- */
.bloc-logo {
    margin-top: 20px;
    margin-bottom: 25px;
    margin-left: 100px;
}

.bloc-logo img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* Éléments masqués sur ordinateur par défaut */
.bouton-hamburger { display: none; }
.image-accroche-mobile { display: none; }

/* --- GRILLE DE LA LANDING PAGE (Accueil - 2 Portes) --- */
.page-landing {
    display: flex;
    flex-direction: row;
    justify-content: center; /* centre les blocs horizontalement*/
    max-width: 1100px;
    margin: 50px auto !important;
    padding: 0 20px;
    gap: 30px;
}

a.bloc-entree {
    text-decoration: none; 
    color: inherit;
    display: block;
    flex: 1;
}

.bloc-entree .contenu-bloc {
    background-color: #FFFFFF;
    border: 1px solid #EAEAEA;
    padding: 60px 40px;
    text-align: center;
    transition: all 0.3s ease;
    cursor: pointer;
}

.bloc-entree h2 {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    color: #444;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.bloc-entree p {
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: 12px;
    color: #888;
}

.bloc-entree:hover .contenu-bloc {
    background-color: #FAFAFA;
    border-color: #666;
    transform: translateY(-4px);
}

.contenu-bloc img {
	width: 100%
	height: 280px				/* aligne les deux rectangles à la même hauteur*/
	object-fit: cover;			/* recadre les peintures san jamais les écrasser*/
	margin-bottom: 20px;		/* espace sous la photo*/
}	


/* --- GRILLE DE LA PAGE EXPOSITIONS (Actualités) --- */
.page-expositions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
    gap: 30px;
}

a.bloc-actualite {
    text-decoration: none;
    color: inherit;
    display: block;
    width: calc(33.33% - 20px); /* 50% - 15px = 2 colonnes sur ordinateur, 33.33% - 20px 3 blocs par lignes, 25% - 22.5px passe à 4 blocs par ligne */
}

.contenu-actu {
    background-color: #FFFFFF;
    border: 1px solid #EAEAEA;
    padding: 15px;
	height: 220px !important /* fixe une hauteur absolue et identique pour toutes les boîtes*/
	display: flex;
	flex-direction:column;
	justify-content: space-between; /* aligne le texte proprement en bas du carré*/
    transition: all 0.3s ease;
    cursor: pointer;
}

.image-actu {
    width: 100%;
    height: 160px;   /* réduit de 220px à 160 px pour un format plus vignette avec 4 blocs par lignes > cf. a.bloc-actualite*/
    object-fit: cover;
    margin-bottom: 15px;
}

.textes-actu h2 {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    color: #333;
    text-transform: uppercase;
    margin-bottom: 8px;
    letter-spacing: 1px;
}

.lieu-date {
    font-family: Arial, sans-serif;
    font-size: 11px;
    color: #999;
    margin-bottom: 12px;
}

.extrait-actu {
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: 12px;
    color: #666;
    line-height: 1.5;
}

a.bloc-actualite:hover .contenu-actu {
    border-color: #666;
    transform: translateY(-3px);
}

/* --- BOUTON DE RETOUR NAVIGATION --- */
.zone-retour {
    max-width: 1200px;
    margin: 30px auto 0 auto; /* Aligné sur la grille des expos */
    padding: 0 20px;
}

.lien-retour {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #888; /* Un gris discret */
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: color 0.3s ease;
}

/* Effet au survol : le lien s'assombrit légèrement */
.lien-retour:hover {
    color: #333;
}

/* --- LE MUR D'EXPOSITION RESPONSIVE (Grand écran) --- */
.mur-exposition {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap; /* Permet aux vignettes de passer à la ligne */
    gap: 20px;       /* Espace de séparation entre les vignettes */
    width: 100%;
	padding-top: 16px;
}

/* Calibrage des vignettes pour qu'elles se rangent parfaitement par 4 sur le grand mur */
.mur-exposition a.bloc-actualite {
    text-decoration: none;
    color: inherit;
    display: block;
	 width: calc(25% - 15px) !important; /* Vos 4 colonnes parfaites de peintures ! */
}

/* On stabilise la photo paysage sur le grand mur */
.mur-exposition .image-actu {
    width: 100% !important;
    height: 140px !important;
    object-fit: cover !important;
    margin-bottom: 8px;
}

/* --- LA ZONE DE DROITE HYBRIDE --- */
.zone-contenu-droite {
    display: flex;
    flex-direction: column; /* Force le texte à être AU-DESSUS du mur */
    flex-grow: 1;           /* Occupe tout l'espace disponible à droite du menu */
    padding-right: 40px;    /* Sécurité pour le bord droit de l'ordinateur */
}

.presentation-page {
    margin-bottom: 30px;    /* Espace entre votre texte et le début de la grille */
    width: 100%;            /* Le texte utilise toute la largeur disponible */
}



/* ==========================================================================
   3. ADAPTATION RESPONSIVE MOBILE & TABLETTE (Sous 1023px de large)
   ========================================================================== */
@media (max-width: 1023px) {
    
    /* --- Portfolio 3 colonnes réordonné --- */
    .page-portfolio {
        flex-direction: column;
        margin-left: 0;         
        padding: 15px;
    }

    .colonne-menu {
        width: 100%;
        text-align: center;
        margin-bottom: 5px !important;
    }

    .colonne-texte {
        width: 100%;
        padding-right: 0;
        margin-bottom: 40px;
    }

    .colonne-galerie {
        width: 100%;
    }

    .colonne-texte img, 
    .colonne-galerie img {
        max-width: 100%;
        height: auto;
    }

    /* --- Rideau de menu flottant --- */
    .menu-liste {
        display: none; 
        position: fixed !important;  
        top: 0 !important;           
        left: 0 !important;          
        width: 100% !important;      
        height: 100vh !important;    
        background-color: rgba(255, 255, 255, 0.6) !important; 
        padding: 80px 20px 20px 20px !important; 
        margin: 0 !important;        
        z-index: 999 !important;     
        overflow-y: auto;            
    }

    .menu-liste.ouvert {
        display: block !important; 
    }

    /* --- Logo & Bouton Hamburger flottant --- */
    .bloc-logo {
        margin-left: 15px !important; 
		margin-right: 15px !important;    
        text-align: center; 
        margin-bottom: 10px !important;
    }

    .bouton-hamburger {
        display: flex !important; 
        flex-direction: column;
        justify-content: space-between;
        width: 30px;
        height: 21px;
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 0;
        position: fixed !important;  
        top: 20px !important;        
        right: 20px !important;      
        margin: 0 !important;        
        z-index: 1000 !important;    
    }

    .bouton-hamburger span {
        width: 100%;
        height: 3px;
        background-color: #666; 
        border-radius: 2px;
        transition: all 0.3s ease;
    }

    /* Animation de la Croix (X) */
    .bouton-hamburger.ouvert span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
    .bouton-hamburger.ouvert span:nth-child(2) { opacity: 0; }
    .bouton-hamburger.ouvert span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

    /* --- Ajustements Typographies & Images d'exposition --- */
    .titre1 {
        text-align: center !important;
        padding-top: 0 !important;
        margin-bottom: 10px !important;
    }

    .helvetica {
        font-size: 16px !important; 
        line-height: 1.5;           
    }
	
    .colonne-texte img, 
    .colonne-galerie img {
        display: block;
        margin: 20px auto; 
    }

    /* Image bandeau d'accroche mobile optionnelle */
    .image-accroche-mobile {
        display: block !important;
        width: 100%;
        max-height: 200px;
        object-fit: cover;
        margin-bottom: 15px;
    }

    /* --- Zoom des œuvres individuelles --- */
    .zoom-oeuvre {
        width: 100%;
        height: 250px;       
        overflow: hidden;    
        position: relative;
    }

    .zoom-oeuvre img {
        width: 100%; 
        height: 100%;
        object-fit:cover; 
        transition: tranform 0.3s ease;
    }
	
	.zoom-oeuvre:hover img {
		transform: scale(1,1);
	   }	
	
	
	

    /* --- AJOUTS SPÉCIFIQUES POUR LES NOUVELLES PAGES --- */

    /* Landing page mobile : les rectangles s'empilent verticalement */
    .page-landing {
        flex-direction: column;
        margin: 20px auto;
        gap: 20px;
    }

    /* Page Expositions mobile : Liste textuelle compacte sans image */
    .page-expositions {
        flex-direction: column;
        gap: 20px;
    }

    a.bloc-actualite {
        width: 100%;
    }

    .contenu-actu {
        padding: 20px;
    }

    .image-actu {
        display: none; /* L'image s'efface totalement sur smartphone */
    }
	


    /* Force l'image de ce bouton à rester visible et bien cadrée sur mobile */
    .image-actu.image-visible {
        display: block; 
        width: 100% ;
        height: 150px ; /* Hauteur compacte pour ne pas saturer l'écran du téléphone */
        object-fit: cover ;
        margin-bottom: 10px ;
    }


    .textes-actu h2 {
        font-size: 14px !important;
    }
    
    .extrait-actu {
        font-size: 13px !important;
    }
/* COUPE MOBILE POUR LA LANDING PAGE*/
	
	.page-landing {
		flex-direction: column;
		margin: 20px auto;
		gap: 20px
		}
	/*on efface l'image sur le mobile pour garder le bloc textuel épuré*/
		
	.contenu-bloc img {
		display: none !important;
		}
		
	.bloc-entree .contenu-bloc {
		padding: 30px 20px !important;
			}
 /* Ajustement du bouton retour sur mobile */
    .zone-retour {
        text-align: center; /* Centre le bouton sous le logo sur mobile */
        margin-top: 15px;
        margin-bottom: 5px;
    }

    .lien-retour {
        font-size: 13px !important; /* Un peu plus grand pour le pouce */
        display: inline-block;
        padding: 10px; /* Zone de clic plus large */
    }

 /* Ajustement du Mur d'exposition sur mobile */
    .mur-exposition {
        flex-direction: column !important; /* Mode empilé vertical */
        width: 100% !important;
        gap: 20px;
    }

    .mur-exposition a.bloc-actualite {
        width: 100% !important; /* Pleine largeur sur smartphone */
    }

    .mur-exposition .image-actu {
        display: none !important; /* Choix stratégique : on efface les photos sur mobile */
    }
 
 /* Force vos carrés de peinture à rester splendides sur mobile */
    .mur-exposition .image-actu.image-visible {
        display: block !important; 
        width: 100% !important;
        height: 200px !important; /* Hauteur de sécurité carrée/paysage sur smartphone */
        object-fit: cover !important;
        margin-bottom: 12px !important;
    }




} /* ================== FIN ABSOLUE DU FICHIER CSS ================== */
