

*{
margin:0;
padding:0;
box-sizing:border-box;

}

body{
font-family:'Poppins',sans-serif;
line-height:1.7;
color:#222;
background:#fff;
 overflow-x: hidden;
}


/*menu X-------------------.separator{
    color: #a7a7a7;
}----------------------- */

.active-network{
    color:#4f4f4f !important;
    font-weight:700;
}


.network-bar{
background:#111827;background: #ffffff;
height:40px;
display:flex;
align-items:center;
justify-content:center;
gap:25px;
border-bottom:1px solid #e8e8e8;
font-size:16px;
}

.network-bar a{
color:#4f4f4f;
text-decoration:none;
transition:0.3s;
}

.network-bar a:hover


@media(max-width:768px){

```
.network-bar{
    overflow-x:auto;
    justify-content:flex-start;
    padding:0 15px;
    gap:20px;
    white-space:nowrap;
}
```

}



/*______________________*/



.process-section{
padding:80px 20px;
text-align:center;
background:#f8f8f8;
}

.process-section h2{
margin-bottom:50px;
font-size:25px;
}

.process-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
max-width:1200px;
margin:auto;
}

.process-card{
background:white;
padding:35px 25px;
border-radius:15px;
box-shadow:0 5px 20px rgba(0,0,0,.08);
transition:.3s;
}

.process-card:hover{
transform:translateY(-8px);
}

.process-icon{
width:80px;
height:80px;
margin:auto;
margin-bottom:20px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:35px;
background:#0f4c81;
color:white;
}

.process-card h3{
margin-bottom:15px;
font-size:22px;
}

.process-card p{
line-height:1.7;
color:#666;
}
/*
.contact-form {
  max-width: 500px;
  width: 90%;
  margin: 30px auto;
}

.contact-form label {
  display: block;
  margin-top: 15px;
  font-weight: 600;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 10px;
  margin-top: 5px;
  border: 1px solid #ccc;
}

.contact-form button {
  margin-top: 20px;
  padding: 12px;
  background: #000;
  color: #fff;
  border: none;
  cursor: pointer;
}
*/

/* LISTE PERSONNALISÉE 
.custom-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.custom-list li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 14px;
  line-height: 1.6;
}


.custom-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;

  width: 0;
  height: 0;

  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #242424;
}


@media(max-width: 900px) {

  .custom-list li {
    padding-left: 20px;
    font-size: ;
  }

  .custom-list li::before {
    top: 8px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid #242424;
  }
}*/

/* LISTE PERSONNALISÉE */
.custom-list{
    list-style:none;
    padding:0;
    margin:0;
}

.custom-list li{
    position:relative;
    margin-bottom:12px;
}

/* LIENS */
.custom-list li a{
    display:block;
    position:relative;

    /*padding:2px 5px 2px 30px;*/
    padding:2px 5px 2px 0px;
  background:#f1f1f1;
    color:#7b8f7a;
    text-decoration:none;

    

    font-size:17px;
    font-weight:500;

    transition:all .3s ease;
}

/* TRIANGLE
.custom-list li a::before{
    content:"";
    position:absolute;

    left:;
    top:50%;
    transform:translateY(-50%);

    width:0;
    height:0;

    border-top:7px solid transparent;
    border-bottom:7px solid transparent;
    border-left:10px solid  #2d4766;

    transition:all .3s ease;
} */

/* HOVER */
.custom-list li a:hover{
    background:#f8f8f8;
    color: #2d4766;
    transform:translateX(5px);
}

/* Animation triangle */
.custom-list li a:hover::before{
    left:16px;
}

/* Mobile */
@media(max-width:900px){

    .custom-list li a{
        font-size:17px;
        padding:10px 12px 10px 0px;
    }
}
/*containers...*/
.container{
width:90%;
max-width:1200px;
margin:auto;
}

a{
text-decoration:none;
}

img{
max-width:100%;
display:block;
}

/* TOP BAR */

.top-bar{
background:#111;
padding:10px 0;
color:#fff;
font-size:14px;
}

.top-flex{
display:flex;
justify-content:space-between;
align-items:center;
}

.top-flex a{
color:#fff;
margin-left:20px;
}

/* HEADER */

.header{
background:#fff;
box-shadow:0 2px 10px rgba(0,0,0,0.08);
position:sticky;
top:0;
z-index:999;
}

.navbar{
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 0;
}

.logo{
font-size:30px;
font-weight:700;
color:#111;


}

.menu{
display:flex;
gap:30px;
list-style:none;
align-items: center;
}

.menu a{
color:#222;
font-weight:500;
transition:0.3s;
}

.menu a:hover,
.menu a.active{

color:#000000;
color:#70896c;
}

/* HERO */

.hero{
background:url('reno/parquet-carrelage.avif') bottom/cover no-repeat;
/*background: #36312c;*/
padding:170px 0;
position:relative;
}
.renovation{
background:url('reno/appartement-renovation-3.jpg') center/cover no-repeat;
padding:170px 0;
position:relative;
}
.sols{
background:url('reno/appartement-renovation-1.jpg') bottom/cover no-repeat;
padding:170px 0;
position:relative;
}
.sdb{
background:url('reno/salle-de-bain-moderne.jpg') center/cover no-repeat;
padding:170px 0;
position:relative;
}
.cuisine{
background:url('reno/appartement-renovation-4.jpg') center/cover no-repeat;
padding:170px 0;
position:relative;
}
.contact{
background:url('reno/contact.jpg') right/cover no-repeat;
padding:170px 0;
position:relative;
}
.peinture{
background:url('reno/tarif-peinture-interieure.jpg') right/cover no-repeat;
padding:170px 0;
position:relative;
}
.peinture-sols{
background:url('reno/sol-1.jpg') right/cover no-repeat;
padding:170px 0;
position:relative;
}
.plomberie-elec{
background:url('reno/plomberie-elec.jpg') right/cover no-repeat;
padding:170px 0;
position:relative;
}
.electricite{
background:url('reno/electricite.jpg') right/cover no-repeat;
padding:170px 0;
position:relative;
}
.carrelage{
background:url('reno/parquet-carrelage.avif') right/cover no-repeat;
padding:170px 0;
position:relative;
}
.plomberie{
background:url('reno/plombier.jpg') right/cover no-repeat;
padding:170px 0;
position:relative;
}
.energie{
background:url('reno/renovation-energetique.jpg') right/cover no-repeat;
padding:170px 0;
position:relative;
}
.courtage{
background:url('reno/courtage-travaux.jpg') right/cover no-repeat;
padding:170px 0;
position:relative;
}

/**/.hero::before{
content:'';
position:absolute;
inset:0;
background:rgba(0, 0, 0, 0.062);
background:rgba(0, 0, 0, 0.374);
}

.hero-content{
position:relative;
z-index:2;
max-width:760px;
color:#fff;
background: #00000000;
text-align: center;

}

.hero-location {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 10px 0;
}

.hero-location svg {
  width: 72px;
  height: 72px;
  fill: #cd3131; /* adapte à ton hero */
  opacity: ;
   
}

.hero h1{
font-size:45px;
font-weight: 600;
line-height:1.6em;
margin-bottom:25px;
background-color:#00000000 ;
text-shadow: 0 2px 10px rgba(0, 0, 0, 0.062);

 /*opacity:0;
    transform:translateY(50px);

    animation:titleReveal 1.2s ease forwards;*/
}

/* Animation
@keyframes titleReveal{

    from{
        opacity:0;
        transform:translateY(50px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
} */

.hero p{
font-size:20px;
margin-bottom:35px;
}

.btn{
display:inline-block;
padding:16px 34px;

background:#286dae;background:#c0392b; background: #7b8f7a;
color:#fff;
font-weight:600;
border-radius:4px;
transition:0.3s;
margin-right: 9px;
margin-bottom: 9px;
font-size: 16px;
}


.btn:hover{

background:#0c3255;background: #3691e7;background:#a93226; background: #434343;
}

.btn-5{
display:inline-block;
padding:16px 34px;

background:#286dae;background:#c0392b; background: #286dae;
/*background:#134b6b;*/
color:#fff;
font-weight:600;
border-radius:4px;
transition:0.3s;
margin-right: 9px;
margin-bottom: 9px;
}

.btn-5:hover{

background:#286dae;background:#a93226; background: #3691e7;
}


.btn-4{
display:none;
padding-right:20px;
background:#ffffff;
color:#000000;
font-weight:600;
border-radius:4px;
transition:0.3s;

}

.btn-4:hover{

color:#286dae;color:#a93226;
}

.btn-31{
display:inline-block;
padding:12px 34px;
background:#262626; background: #7b8f7a; 


font-weight:600;
border-radius:40px;
transition:0.3s;


}

.btn-31:hover{

background:#286dae; background:#a93226;background: #363636;
}
.btn-3{
display:inline-block;
padding:12px 34px;
 background:#c0392b; background: #2d476600;

color:#282828;
font-weight:600;
border-radius:5px;
transition:0.3s;
font-size: x-large;

}

.btn-3:hover{

background:#286dae; background:#a93226;background: #3691e700;
}

.btn-2{
display:inline-block;
padding:15px 33px;
background:#6b1a13;
background:#134b6b00;
background:#192637;
background:#0f375d;
background:#00000016;

color:#fff;
font-weight:600;
border-radius:4px;
transition:0.3s;
border:1px solid #ffffff ;
font-size: 18px;
margin-right: 9px;
margin-bottom: 9px;

 /*opacity:0;
    transform:translateY(50px);

    animation:titleReveal 1.2s ease forwards;*/
}


.btn-2:hover{

background:#286dae;background:#00000034;
}

/* SECTION */

.section{
padding:100px 0;
}

/* SECTION 2*/

.section-2{
padding:100px 0;

 background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.416), rgba(0, 0, 0, 0.406)), url("reno/appartement-renovation-1.jpg");
  background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
}

.grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
}

.section h2{
font-size:28px;
font-weight: 500;
margin-bottom:25px;
line-height: 35px;
color:#192637;
}
.section-2 h2{
font-size:38px;font-weight: 500;
margin-bottom:25px;
line-height: 35px;
color:#ffffff;
}

.section p{
font-size:17px;
margin-bottom:20px;
}

.section ul{
padding-left:0px;
margin-bottom:25px;

}

.section li{
margin-bottom:12px;
}

/* CARDS */

.cards{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
margin-top:50px;
}

.card{
background:#fff;
padding:35px;
border-radius:8px;
box-shadow:0 5px 20px rgba(0,0,0,0.08);
transition:0.3s;
text-align: center;
}

.card:hover{
transform:translateY(-5px);
}

.card h3{
font-size:24px;
margin-bottom:15px;
line-height: 35px;
}

/* CTA */

.cta{
 background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.416), rgba(0, 0, 0, 0.406)), url("reno/appartement-renovation-1.jpg");
  background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
padding:90px 0;
text-align:center;
color:#fff;
}

.cta h2{
font-size:38px;font-weight: 500;
margin-bottom:20px;
line-height: 50px;
}

.cta p{
font-size:18px;
margin-bottom:35px;
}

/* FOOTER */

footer{
background:#0e0e0e;
color:#fff;
padding:70px 0 30px;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:40px;
margin-bottom:40px;
}

footer h3{
margin-bottom:20px;
font-size:22px;
}

footer p,
footer li{
font-size:15px;
margin-bottom:10px;
color:#ccc;
}

footer ul{
list-style:none;
}

footer a{
color:#ccc;
}

.footer-bottom{
border-top:1px solid rgba(255,255,255,0.1);
padding-top:20px;
text-align:center;
font-size:14px;
color:#aaa;
}

/* MENU RESPONSIVE */

#menu-toggle{
display:none;
}

.burger{
display:none;
flex-direction:column;
cursor:pointer;
gap:5px;
}

.burger span{
width:28px;
height:3px;
background:#111;
border-radius:5px;
transition:0.3s;
}


.top-flex a,
.top-flex a:visited,
.top-flex a:hover{
color:#fff;
}

*.top-flex a{
color:#fff;
}

.top-flex i{
color:#fff;
margin-right:8px;
}
/* CONTACT */

.contact-section{
padding:100px 0;
}

.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:start;
}

.contact-info h2,
.contact-form h2{
font-size:38px;
margin-bottom:25px;
}

.contact-info p{
margin-bottom:20px;
font-size:17px;
}

.info-box{
background:#f7f7f7;
padding:25px;
margin-bottom:20px;
border-radius:8px;
}

.info-box h3{
margin-bottom:10px;
font-size:22px;
}

form{
background:#f7f7f7;
padding:40px;
border-radius:8px;
}

input,
textarea{
width:100%;
padding:15px;
margin-bottom:20px;
border:none;
border-radius:4px;
font-family:'Poppins',sans-serif;
font-size:16px;
}

textarea{
height:160px;
resize:none;
}

/*button{
background:#c0392b; background: #286dae;
color:#fff;
padding:16px 30px;
border:none;
border-radius:4px;
font-size:16px;
font-weight:600;
cursor:pointer;
transition:0.3s;
}*/

button:hover{

background:#286dae;background:#a93226; background: #7b8f7a;
}

/* MAP */

.map{
padding-bottom:100px;
}

iframe{
width:100%;
height:450px;
border:0;
}


/* =========================
   GALERIE REALISATIONS
========================= */

.realisations{
    padding:80px 5%;
    background:#f8f8f8;
}

.gallery{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:20px;
}

.gallery-item{
    overflow:hidden;
    border-radius:18px;
    cursor:pointer;
    position:relative;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.gallery-item img{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
    transition:transform .4s ease;
}

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

/* OVERLAY */
.gallery-item::after{
    content:"+";
    position:absolute;
    inset:0;

    background:rgba(0,0,0,.35);

    color:white;
    font-size:50px;

    display:flex;
    align-items:center;
    justify-content:center;

    opacity:0;
    transition:.3s ease;
}

.gallery-item:hover::after{
    opacity:1;
}

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

.lightbox{
    position:fixed;
    top:0;
    left:0;

    width:100%;
    height:100%;

    background:rgba(0,0,0,.92);

    display:none;

    justify-content:center;
    align-items:center;

    z-index:999999;
    padding:20px;
}

.lightbox-img{
    max-width:90%;
    max-height:90vh;

    border-radius:12px;

    animation:zoom .3s ease;
}

.close{
    position:absolute;
    top:20px;
    right:35px;

    color:white;
    font-size:50px;
    cursor:pointer;

    z-index:1000000;
}

@keyframes zoom{

    from{
        transform:scale(.8);
        opacity:0;
    }

    to{
        transform:scale(1);
        opacity:1;
    }

}

/* MOBILE */
@media(max-width:768px){

    .gallery-item img{
        height:220px;
    }

    .close{
        top:10px;
        right:20px;
        font-size:40px;
    }

}


/* MOBILE */

@media(max-width:900px)



{ 

    .cta h2{
font-size:28px;
margin-bottom:20px;
}

  
 .btn-4{
display:inline-block;
padding-right:20px;
background:#ffffff;
color:#000000;
font-weight:600;
border-radius:4px;
transition:0.3s;

}

.btn-31{
display:inline-block;
padding:12px 34px;
 background: #286dae;background:#7b8f7a; 

color:#282828;
font-weight:600;
border-radius:50px;
transition:0.3s;
text-align: center;

}
.btn-3{
display:inline-block;
padding:12px 34px;
 background: #286dae;background:#2d476600;

color:#282828;
font-weight:600;
border-radius:5px;
transition:0.3s;
text-align: center;

}

.burger{
display:flex;
}

.menu{
position:absolute;
top:100%;
left:0;
width:100%;

background:#fff;
flex-direction:column;
padding:30px;
gap:20px;
display:none;
box-shadow:0 10px 20px rgba(0,0,0,0.08);
}

.menu li{
width:100%;
}

.menu a{
display:block;
width:100%;
font-size:18px;
padding:10px 0;

/*border-bottom:1px solid #eee;*/
}

#menu-toggle:checked ~ .menu{
display:flex;
}

.hero h1{
font-size:27px;
line-height: 40px;
}

.grid{
grid-template-columns:1fr;
}

.cards{
grid-template-columns:1fr;
}

}

/* RESPONSIVE */

/* FOOTER MOBILE */

@media(max-width:900px){

.footer-grid{
grid-template-columns:1fr;
gap:40px;
text-align:center;
}


footer{
padding:50px 0 20px;
}

footer h3{
font-size:24px;
margin-bottom:15px;
}

footer ul{
padding:0;
}

footer li{
margin-bottom:12px;
}

.footer-bottom{
font-size:13px;
line-height:1.6;
margin-top:20px;
}

@media (max-width: 900px) {

.section h2{
font-size:26px;
margin-bottom:25px;
line-height: 1.2;line-height: 35px;
color:#192637;
}
.section-2 h2{
font-size:28px;
margin-bottom:25px;
line-height: 1.2;
color:#ffffff;
}
/* CONTACT GRID -> 1 colonne */
.contact-grid{
grid-template-columns:1fr;
gap:35px;
}

/* TITRES */
.contact-info h2,
.contact-form h2{
font-size:28px;
line-height:1.2;
margin-bottom:15px;
}

/* TEXTES */
.contact-info p{
font-size:15px;
}

/* BLOCS INFOS */
.info-box{
padding:18px;
}

/* FORMULAIRE */
form{
padding:20px;
}

input,
textarea{
font-size:15px;
padding:12px;
}

/* BOUTON */
button{
  
width:100%;
padding:14px;
}

/* MAP MOBILE */
.map iframe{
height:280px;
}

/* ESPACEMENT GLOBAL */
.contact-section{
padding:60px 0;
}

/* SECTION */

.section{
padding:60px 0;
}


/* HERO
*/
.hero{
background:url('reno/parquet-carrelage.avif') left/cover no-repeat;
padding:100px 0;
position:relative;
} 

.renovation{
background:url('reno/appartement-renovation-3.jpg') center/cover no-repeat;
padding:100px 0;
position:relative;
}

.sdb{
background:url('reno/salle-de-bain-moderne.jpg') center/cover no-repeat;
padding:100px 0;
position:relative;
}
.cuisine{
background:url('reno/appartement-renovation-4.jpg') center/cover no-repeat;
padding:100px 0;
position:relative;
}
.contact{
background:url('reno/contact.jpg') center/cover no-repeat;
padding:100px 0;
position:relative;
}
.peinture{
background:url('reno/tarif-peinture-interieure.jpg') center/cover no-repeat;
padding:100px 0;
position:relative;
}
.peinture-sols{
background:url('reno/sol-1.jpg') center/cover no-repeat;
padding:100px 0;
position:relative;
}
.plomberie-elec{
background:url('reno/plomberie-elec.jpg') center/cover no-repeat;
padding:100px 0;
position:relative;
}
.carrelage{
background:url('reno/parquet-carrelage.avif') center/cover no-repeat;
padding:100px 0;
position:relative;
}
.plomberie{
background:url('reno/plombier.jpg') center/cover no-repeat;
padding:100px 0;
position:relative;
}
.energie{
background:url('reno/renovation-energetique.jpg') center/cover no-repeat;
padding:100px 0;
position:relative;
}
.courtage{
background:url('reno/courtage-travaux.jpg') center/cover no-repeat;
padding:100px 0;
position:relative;
}
}

}


/* sytle x* */

.overlay{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.75);
display:flex;
align-items:center;
justify-content:center;
z-index:99999;
}

.overlay-content{
width:90%;
max-width:900px;
background:white;
padding:40px;
border-radius:20px;
position:relative;
max-height:90vh;
overflow:auto;
}

.close{
position:absolute;
top:15px;
right:20px;
font-size:30px;
cursor:pointer;
font-weight:bold;
}

.hidden{
display:none;
}





.badges{
display:flex;
gap:20px;
margin-top:30px;
flex-wrap:wrap;
}

.badge{
background:white;
padding:12px 18px;
border-radius:30px;
font-size:14px;
box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.card{
background:white;
padding:35px;
border-radius:8px;
box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.progress{
height:8px;
background:#eee;
border-radius:30px;
overflow:hidden;
margin-bottom:20px;
}

.progress-bar{
height:100%;
width:25%;
background:#111;
transition:.4s;
}

.step-number{
font-size:14px;
color:#777;
margin-bottom:10px;
}

.card h2{
margin-bottom:25px;
}

.options{
display:grid;
gap:15px;
}

.option{
padding:18px;
border:2px solid #ddd;
border-radius:12px;
cursor:pointer;
transition:.3s;
font-size:16px;
font-weight:600;
background:white;
}

.option:hover{
border-color:black;
transform:translateY(-2px);
}

.form-group{
margin-bottom:15px;
}

input,textarea{
width:100%;
padding:16px;
border:1px solid #ddd;
border-radius:10px;
font-size:15px;
}

textarea{
height:100px;
resize:none;
}

button{
width:100%;
padding:18px;
border:none;
border-radius:4px;


background:#a73225;background: #2d4766;
color:white;
font-size:16px;
font-weight:bold;
cursor:pointer;
margin-top:10px;
}

button:hover{
opacity:.9;
}

.btn-x{
width:100%;
padding:18px;
border:none;
border-radius:12px;
background:black;
background:#181818;
color:white;
font-size:16px;
font-weight:bold;
cursor:pointer;
margin-top:10px;
}

.btn-x:hover{
opacity:.9;
}

.small{
margin-top:15px;
font-size:13px;
color:#777;
text-align:center;
}

.hidden{
display:none;
}

.selection{
font-size:14px;
margin-bottom:15px;
color:#777;
}

@media(max-width:900px){

.hero-content{
grid-template-columns:1fr;
}




}


