/* ========== LA MAISON ========== */

/* Hero */
.maison-hero { position:relative; min-height:70vh; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:0; }
.maison-hero-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 70%; transform:scale(1.06); animation:zoomOut 2.2s .2s ease forwards; }
.maison-hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(26,46,58,.45) 0%,rgba(26,46,58,.65) 100%); z-index:1; }
.maison-hero-content { position:relative; z-index:2; text-align:center; padding:64px; }
.maison-hero-content .hero-eyebrow { color:rgba(248,244,236,.8); }
.maison-hero-content .hero-title { color:var(--cream); }
.maison-hero-content .hero-title .accent { color:var(--orange); }
.maison-hero-content .hero-desc { color:rgba(248,244,236,.85); margin-left:auto; margin-right:auto; }

/* Présentation */
.maison-presentation { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; background:var(--cream-dark); }
.maison-presentation-text p { font-size:1rem; line-height:2; color:var(--text-soft); margin-bottom:18px; font-weight:300; }
.maison-list { list-style:none; margin:0 0 18px; padding:0; }
.maison-list li { font-size:1rem; line-height:2; color:var(--text-soft); font-weight:300; padding-left:18px; position:relative; }
.maison-list li::before { content:'–'; position:absolute; left:0; color:var(--orange); }
.maison-presentation-image { position:relative; overflow:hidden; }
.maison-presentation-image::before { content:''; position:absolute; top:-12px; right:-12px; width:60px; height:60px; border-top:3px solid var(--orange); border-right:3px solid var(--orange); z-index:1; }
.maison-presentation-image::after { content:''; position:absolute; bottom:-12px; left:-12px; width:60px; height:60px; border-bottom:3px solid var(--blue); border-left:3px solid var(--blue); z-index:1; }
.maison-presentation-image img { width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; }

/* Galerie / Diaporama */
.maison-gallery { background:var(--cream); }
.maison-gallery-header { text-align:center; margin-bottom:56px; }
.maison-gallery-header .section-tag { justify-content:center; }
.maison-gallery-header .section-tag::before { display:none; }

.maison-slideshow { position:relative; max-width:960px; margin:0 auto; overflow:hidden; }
.maison-slides { position:relative; width:100%; aspect-ratio:16/9; background:var(--cream-dark); }
.maison-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .8s ease; }
.maison-slide.active { opacity:1; }

.maison-slide-btn { position:absolute; top:50%; transform:translateY(-50%); background:rgba(27,88,118,.7); color:var(--cream); border:none; width:48px; height:48px; font-size:1.2rem; cursor:pointer; transition:background .3s; z-index:2; display:flex; align-items:center; justify-content:center; }
.maison-slide-btn:hover { background:var(--blue); }
.maison-slide-btn.prev { left:16px; }
.maison-slide-btn.next { right:16px; }

.maison-dots { display:flex; justify-content:center; gap:10px; margin-top:24px; }
.maison-dot { width:10px; height:10px; border-radius:50%; border:1.5px solid var(--blue); background:transparent; cursor:pointer; transition:background .3s, border-color .3s; padding:0; }
.maison-dot.active { background:var(--orange); border-color:var(--orange); }

/* Prestations */
.maison-prestations { background:var(--blue); color:var(--cream); padding:120px 64px; }
.maison-prestations-header { text-align:center; margin-bottom:72px; }
.maison-prestations-header .section-tag { justify-content:center; color:var(--orange); }
.maison-prestations-header .section-tag::before { background:var(--orange); display:none; }
.maison-prestations-header .section-title { color:var(--cream); }

.maison-prestations-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.maison-prestation-card { background:rgba(248,244,236,.06); padding:56px 44px; position:relative; overflow:hidden; transition:background .4s; }
.maison-prestation-card:hover { background:rgba(248,244,236,.12); }
.maison-prestation-card::after { content:''; position:absolute; bottom:0; left:0; width:100%; height:3px; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .4s; }
.maison-prestation-card:hover::after { transform:scaleX(1); }
.maison-prestation-num { font-family:'Blackjack',cursive; font-size:3.5rem; color:rgba(248,244,236,.15); line-height:1; margin-bottom:20px; transition:color .4s; }
.maison-prestation-title { font-family:'Blackjack',cursive; font-size:2rem; color:var(--cream); margin-bottom:14px; transition:color .4s; }
.maison-prestation-desc { font-size:.88rem; line-height:1.9; color:rgba(248,244,236,.75); font-weight:300; transition:color .4s; }
.maison-prestation-card:hover .maison-prestation-num { color:rgba(248,244,236,.25); }
.maison-prestation-card:hover .maison-prestation-title { color:var(--orange); }
.maison-prestation-card:hover .maison-prestation-desc { color:rgba(248,244,236,.88); }

/* Localisation */
.maison-localisation { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; background:var(--cream-dark); }
.maison-adresse { margin-top:32px; }
.maison-adresse h4 { font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:var(--orange); font-weight:600; margin-bottom:10px; }
.maison-adresse p { font-size:.95rem; line-height:1.9; color:var(--text-soft); font-weight:300; margin-bottom:8px; }
.maison-map { overflow:hidden; position:relative; }
.maison-map::before { content:''; position:absolute; top:-12px; left:-12px; width:60px; height:60px; border-top:3px solid var(--blue); border-left:3px solid var(--blue); z-index:1; }
.maison-map iframe { display:block; }

/* Active nav link */
.active-link { color:var(--orange)!important; }
.active-link::after { width:100%!important; }

/* Responsive */
@media (max-width:900px) {
  .maison-hero-content { padding:110px 28px 60px; }
  .maison-presentation { grid-template-columns:1fr; gap:48px; }
  .maison-prestations-grid { grid-template-columns:1fr; }
  .maison-localisation { grid-template-columns:1fr; gap:48px; }
  .maison-slide-btn { width:38px; height:38px; font-size:1rem; }
  .maison-slide-btn.prev { left:8px; }
  .maison-slide-btn.next { right:8px; }
}
