/* ==========================================================================
   PAGE : DOMAINE DE VIEUX MAREUIL & MOULIN DE VIGONAC (STYLE MAISON)
   ========================================================================== */

.overflow-hidden { overflow: hidden; position: relative; }

/* --- 1. HERO (CORRIGÉ : MEME CROP QUE LES AUTRES PAGES) --- */
.maison-hero {
    position: relative; width: 100%; 
    height: 85vh;       /* MODIFIÉ: 75vh -> 85vh pour plus de hauteur */
    min-height: 600px;  /* MODIFIÉ: 500px -> 600px pour assurer une hauteur minimale confortable */
    display: flex; align-items: center; justify-content: center;
    text-align: center; margin-top: 120px;
}

.maison-parallax-bg {
    position: absolute; top: -10%; left: 0; width: 100%; height: 120%;
    background-size: cover; 
    background-position: bottom; /* MODIFICATION CLÉ : Aligner l'image en bas du conteneur pour voir le bas */
    background-repeat: no-repeat;
    z-index: 0; will-change: transform;
}
.maison-overlay {
    content: ''; position: absolute; top:0; left:0; width:100%; height:100%;
    background: rgba(0,0,0,0.2); 
    pointer-events: none; z-index: 1;
}
.maison-hero-content {
    position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center;
    padding: 0 20px;
}

/* LOGO HERO */
.maison-hero-logo {
    width: 240px; 
    height: auto;
    margin-bottom: 30px;
    filter: drop-shadow(0 2px 10px rgba(0,0,0,0.3));
}

/* TEXTE BLANC HERO */
.maison-hero-text {
    font-family: var(--font-serif);
    font-size: 1.8rem;
    color: #fff;
    text-transform: none; 
    letter-spacing: 3px;
    font-weight: 400;
    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
    line-height: 1.4;
}

/* --- 2. IDENTITÉ --- */
.maison-identity-section {
    padding: 100px 0;
    background-color: #fff;
    text-align: center;
}

/* AJOUT : Réduction du padding bottom pour cibler l'espace avant la photo */
.maison-identity-section.pb-50 {
    padding-bottom: 50px;
}

.maison-section-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    color: #000;
    margin-bottom: 60px;
    text-transform: none; 
}

/* BLOC TEXTE IDENTITÉ */
.identity-block {
    max-width: 800px;
    margin: 0 auto 60px auto;
    text-align: left; 
}

/* AJOUT : STYLE UNIFIÉ AVEC LES LISTES */
.identity-intro {
    font-family: var(--font-avenir) !important; /* Force police Avenir */
    font-size: 1.1rem;      /* Même taille que .identity-list li */
    font-weight: 300;       /* Même graisse fine */
    line-height: 1.8;       /* Même interligne */
    color: var(--color-text-main);
    margin-bottom: 30px;
    text-align: center;     /* Centré comme demandé dans le design original */
}

/* LISTE IDENTITÉ */
.identity-list {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    display: inline-block; 
    text-align: left;
}
.identity-list li {
    font-family: var(--font-avenir);
    font-size: 1.1rem;
    line-height: 1.8;
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
    font-weight: 300; /* Assure la cohérence */
}
.identity-list li::before {
    content: '•';
    position: absolute; left: 0; top: 0;
    color: var(--color-accent); 
    font-size: 1.2rem;
}

/* TEXTE EN GRAS NOIR ET ITALIQUE (+ 500 ans) */
.history-highlight {
    font-family: var(--font-serif);
    font-size: 1.8rem;
    font-weight: 700;
    font-style: italic; 
    color: #000;
    margin-top: 40px;
}

/* --- 3. IMAGE FULL --- */
.maison-full-img-section {
    width: 100%;
    margin: 0; padding: 0;
    line-height: 0;
}
.maison-full-img {
    width: 100%;
    height: auto;
    display: block;
}

/* --- 4. DÉTAILS (Valeurs, Savoir-faire, Adresse) --- */
.maison-details-section {
    padding: 100px 0;
    background-color: #fff;
    text-align: center;
}

.detail-block {
    margin-bottom: 0; 
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

/* DIVIDER "VISION" */
.maison-divider {
    width: 1px;
    height: 30px; 
    background-color: var(--color-accent);
    margin: 30px auto; 
    opacity: 0.6;
}

/* TITRES DE DETAILS */
.detail-subtitle {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    font-weight: 700;
    font-style: italic;
    color: #000;
    text-transform: none; 
    margin-bottom: 30px;
    letter-spacing: 1px;
}

.detail-content-centered {
    font-family: var(--font-avenir);
    font-size: 1.1rem;
    color: var(--color-text-main);
    line-height: 1.6;
}

/* LISTE SAVOIR-FAIRE */
.sf-list-centered {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    text-align: left; 
    display: inline-block;
}
.sf-list-centered li {
    font-family: var(--font-avenir);
    font-size: 1.05rem;
    line-height: 1.8;
    position: relative;
    padding-left: 25px;
    margin-bottom: 15px;
}
.sf-list-centered li::before {
    content: '•';
    position: absolute; left: 0; top: 0;
    color: var(--color-accent); 
    font-size: 1.2rem;
}

.address-text {
    font-style: normal;
    font-size: 1.2rem;
}

/* --- RESPONSIVE MOBILE --- */
@media (max-width: 991px) {
    .maison-hero { height: 65vh; min-height: 450px; } /* Ajusté pour mobile */
    
    /* Assure que l'alignement est conservé en mobile */
    .maison-parallax-bg {
        background-position: bottom !important; 
    }
    
    .maison-hero-logo { width: 140px; }
    
    .maison-hero-text { font-size: 1.2rem; letter-spacing: 2px; }

    /* AJOUT : Réduction du padding bottom pour cibler l'espace avant la photo en mobile aussi */
    .maison-identity-section { padding: 60px 0; }
    .maison-identity-section.pb-50 { padding-bottom: 30px; }
    
    .maison-details-section { padding: 60px 0; }
    
    .identity-intro { 
        text-align: left; 
        font-size: 1rem !important; /* Taille mobile unifiée */
    }
    
    .sf-list-centered, .identity-list { display: block; }
    
    .history-highlight { font-size: 1.4rem; }
    
    .maison-divider { height: 25px; margin: 25px auto; }
}