.logo img{
height:45px;
width:auto;
display:block;
}


/* ===== GALERIE SIMPLE ===== */

.gallery img{
width:250px;
margin:10px;
cursor:pointer;
border-radius:5px;
}


/* ========================= */
/* LIGHTBOX */
/* ========================= */

.lightbox{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.9);
display:flex;
justify-content:center;
align-items:center;
flex-direction:column;
opacity:0;
pointer-events:none;
transition:opacity 0.3s ease;
z-index:9999;
}

.lightbox.show{
opacity:1;
pointer-events:auto;
}

#lightbox-img{
max-width:80%;
max-height:80%;
object-fit:contain;
opacity:0;
transform:scale(0.95);
transition:all 0.3s ease;
}

#lightbox-img.show{
opacity:1;
transform:scale(1);
}

.close{
position:absolute;
top:20px;
right:40px;
font-size:40px;
color:white;
cursor:pointer;
}

.arrow{
position:absolute;
top:50%;
font-size:60px;
color:white;
cursor:pointer;
user-select:none;
}

.arrow.left{
left:30px;
}

.arrow.right{
right:30px;
}

.thumbs{
margin-top:20px;
display:flex;
gap:10px;
}

.thumbs img{
width:100px;
cursor:pointer;
opacity:0.7;
}

.thumbs img:hover{
opacity:1;
}


/* ========================= */
/* HERO SLIDER */
/* ========================= */

.hero-gallery{
position:relative;
width:100%;
height:calc(100vh - 90px);
overflow:hidden;
z-index:1;
}

.hero-slide{
position:absolute;
width:100%;
height:100%;
object-fit:cover;
opacity:0;
transform:scale(1);
transition:opacity 1.2s ease, transform 8s ease;
cursor:pointer;
z-index:1;
}

.hero-slide.active{
opacity:1;
}

.hero-overlay{
position:absolute;
bottom:120px;
left:120px;
color:white;
z-index:5;
}



@media (max-width:768px){

.hero-overlay h1{
font-size:36px;
}

.hero-overlay p{
font-size:16px;
}

}

.hero-overlay p{
font-size:22px;
margin-top:10px;
}

.hero-arrow{
position:absolute;
top:50%;
transform:translateY(-50%);
font-size:50px;
color:white;
cursor:pointer;
z-index:5;
padding:10px;
}

.hero-arrow.left{
left:30px;
}

.hero-arrow.right{
right:30px;
}

.hero-arrow:hover{
opacity:0.7;
}


/* ========================= */
/* GALERIE PINTEREST */
/* ========================= */

.gallery-grid{
column-count:3;
column-gap:20px;
margin-top:40px;
}


.chantier{
position:relative;
overflow: hidden;
break-inside: avoid;
margin-bottom:20px;
cursor: pointer;
}

.chantier img{
width:100%;
border-radius:8px;

transition:transform 0.4s ease;
display:block;
}


/* overlay sombre */

.chantier-overlay{
position:absolute;
bottom:0;
left:0;
width:100%;
height:100%;

background:linear-gradient(
to top,
rgba(0,0,0,0.7),
rgba(0,0,0,0.0)
);

display:flex;
align-items:flex-end;

opacity:0;

transition:opacity 0.4s ease;
border-radius:8px;
}

/* texte */

.chantier-overlay p{
color:white;
font-size:16px;
padding:15px;
margin:0;
}

/* hover */

.chantier:hover img{
transform:scale(1.05);
}

.chantier:hover .chantier-overlay{
opacity:1;
transform: translateY(0);
}



.chantier p{
margin-top:10px;
font-size:14px;
padding-left: 5px;
line-height:1.4;
}

.gallery-grid img{
width:100%;
margin-bottom:20px;
border-radius:8px;
break-inside:avoid;
transition:transform 0.3s ease;
cursor:pointer;
}

.gallery-grid img:hover{
transform:scale(1.05);
}


/* ========================= */
/* PREVIEW REALISATIONS */
/* ========================= */

.gallery-preview{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
margin-top:40px;
overflow:hidden;
}

.gallery-preview .chantier{
position:relative;
overflow:hidden;
border-radius: 8px;
will-change: opacity, transform; /* perf GPU */
}

.gallery-preview .chantier img{
width:100%;
border-radius:8px;
display: block;
cursor:pointer;
transition:transform 0.3s ease;
}

.gallery-preview .chantier p {
  text-align: center;
  margin-top: 8px;
  font-size: 0.95rem;
  color: #e6e0d6;
}

@media (max-width: 768px) {
  .gallery-preview {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .gallery-grid {
    column-count: 2;
  }
}

@media (max-width: 480px) {
  .gallery-preview {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .gallery-grid {
    column-count: 1;
  }
}

.gallery-preview img:hover{
transform:scale(1.05);
}


/* animation pinterest */

.slide-out{
transform:translateY(-12px);
opacity:0;
transition: transform 0.8s ease, opacity 0.8s ease;
}

.slide-in{
transform:translateY(20px);
opacity:0;
}


/* ========================= */
/* FLECHE SCROLL */
/* ========================= */

.scroll-arrow{
font-size:40px;
text-align:center;
margin:40px auto;
cursor:pointer;
color:#d4af37;
animation:bounce 2s infinite;
 transition: transform 0.3s ease, color 0.3s ease;
}
.scroll-arrow:hover {
  color: #ffffff;
  transform: scale(1.2);
}

@keyframes bounce{

0%,20%,50%,80%,100%{
transform:translateY(0);
}

40%{
transform:translateY(-10px);
}

60%{
transform:translateY(-5px);
}

}


/* ========================= */
/* SOCIAL */
/* ========================= */

.social a{
font-size:28px;
margin:10px;
color:white;
transition:0.3s;
}

.social a:hover{
transform:scale(1.2);
color:#D4AF37;
}


/* ========================= */
/* BADGE PROJET */
/* ========================= */

.chantier-coming{
position:relative;
opacity:0.85;
}

.badge{
position:absolute;
top:10px;
left:10px;
background:#c84b31;
color:white;
padding:5px 10px;
font-size:12px;
border-radius:4px;
}


/* ========================= */
/* PROJETS SPECIAUX */
/* ========================= */

#projets .chantier img{
width:100%;
max-width:400px;
height:auto;
display:block;
margin:auto;
}


/* ========================= */
/* TITRES REALISATIONS */
/* ========================= */

#galerie .section-title{
color:#ffffff;
}

#galerie .section-subtitle{
color:#e6e0d6;
}

#galerie .section-title::after{
background:#d4af37;
}


/* ========================= */
/* MASQUER GALERIE COMPLETE */
/* ========================= */

#galerie-complete{
display:none;
}

.google-business{
margin-top:20px;
border-radius:8px;
overflow:hidden;
}