/* =====================================
   IMEDIA-LC - DESIGN MODERNE
===================================== */


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


html{
    scroll-behavior:smooth;
}


body{

    font-family:
    "Segoe UI",
    Arial,
    sans-serif;

    color:#333;

    line-height:1.6;

    background:#fff;

}



img{

    max-width:100%;

    display:block;

}





/* =====================================
              TOP BAR
===================================== */


.topbar{

    background:#00558c;

    color:white;

    text-align:center;

    padding:10px;

    font-size:15px;

    font-weight:500;

}







/* =====================================
              HEADER
===================================== */


header{

    height:110px;

    padding:0 7%;

    display:flex;

    align-items:center;

    justify-content:space-between;

    background:white;

    box-shadow:
    0 4px 15px rgba(0,0,0,.12);

    position:sticky;

    top:0;

    z-index:100;

    transition:all .3s ease;

}



.logo img{

    height:85px;

    width:auto;

    transition:all .3s ease;

}


nav{

    display:flex;

    gap:30px;

}



nav a{

    text-decoration:none;

    color:#333;

    font-weight:600;

    transition:.3s;

}



nav a:hover{

    color:#0072bc;

}



.header-phone{

    background:#0072bc;

    color:white;

    padding:14px 28px;

    border-radius:30px;

    text-decoration:none;

    font-weight:700;

    font-size:17px;

    box-shadow:
    0 5px 15px rgba(0,114,188,.35);

    transition:.3s;

}

.header-phone:visited,
.header-phone:active {

    color:white;
    text-decoration:none;

}


.header-phone:hover{

    background:#00558c;

    transform:translateY(-3px);

}


.header-phone:hover{

    background:#00558c;

}







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


.hero{

    min-height:80vh;

    display:flex;

    align-items:center;

    padding:70px 8%;

    background:
    linear-gradient(
        100deg,
        rgba(0,75,140,.95),
        rgba(0,75,140,.65)
    );

    background-size:cover;

    background-position:center;

    color:white;

}


.hero-content{

    max-width:850px;

}


.hero h1{

    font-size:52px;

    line-height:1.15;

    margin-bottom:25px;

    font-weight:700;

}


.hero h1 span{

    color:#8dd6ff;

}


.hero p{

    font-size:21px;

    line-height:1.6;

    max-width:750px;

    margin-bottom:35px;

}

/* =====================================
             BOUTONS HERO
===================================== */

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

    margin-top:20px;

    margin-bottom:40px;

}


.btn{

    background:#0072bc;

    color:white;

    padding:16px 35px;

    border-radius:35px;

    text-decoration:none;

    font-weight:bold;

    font-size:16px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    transition:.3s;

}


.btn:hover{

    transform:translateY(-3px);

    background:#00558c;

}



.btn-outline{

    border:2px solid white;

    color:white;

    padding:14px 35px;

    border-radius:35px;

    text-decoration:none;

    font-weight:bold;

    font-size:16px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    transition:.3s;

}


.btn-outline:hover{

    background:white;

    color:#00558c;

}


/* =====================================
             BLOCS CONFIANCE
===================================== */


.trust{


    display:flex;


    justify-content:center;


    gap:30px;


    padding:50px 8%;


    background:#f4f8fb;


    flex-wrap:wrap;


}



.trust div{


    background:white;


    width:300px;


    text-align:center;


    padding:30px;


    border-radius:15px;


    box-shadow:
    0 8px 25px rgba(0,0,0,.08);


}



.trust strong{


    font-size:45px;


}





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


h2{


    text-align:center;


    color:#00558c;


    font-size:38px;


    margin-bottom:15px;


}



.subtitle{


    text-align:center;


    margin-bottom:50px;


    font-size:18px;


}







/* =====================================
             SERVICES
===================================== */


.services{


    padding:80px 8%;


}




.cards{


    display:grid;


    grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));


    gap:30px;


}



.card{


    background:#fff;


    padding:35px;


    border-radius:20px;


    box-shadow:

    0 8px 30px rgba(0,0,0,.09);


    transition:.35s;


}



.card:hover{


    transform:translateY(-10px);


}



.icon{


    font-size:45px;


    margin-bottom:15px;


}



.card h3{


    color:#0072bc;


    margin-bottom:15px;


}







/* =====================================
              POURQUOI
===================================== */


.why{


    display:flex;


    gap:60px;


    align-items:center;


    padding:80px 8%;


    background:#f3f7fa;


}



.why-text{


    flex:1;


}



.why-text h2{


    text-align:left;


}



.why-text p{


    font-size:19px;


    margin:25px 0;


}



.why-text li{


    list-style:none;


    margin:12px 0;


    font-size:18px;


}



.why-image{


    flex:1;


}



.why-image img{


    border-radius:25px;


    box-shadow:
    0 15px 35px rgba(0,0,0,.18);


}







/* =====================================
              ZONE
===================================== */


.zone{


    text-align:center;


    padding:70px 8%;


}



.zone p{


    font-size:20px;


}









/* ===============================
       AVIS CLIENTS
================================ */


.reviews-container{

    display:flex;

    justify-content:center;

    align-items:stretch;

    gap:30px;

    flex-wrap:wrap;

    max-width:1300px;

    margin:auto;

}



.review-box{

    background:white;

    width:300px;

    min-height:280px;

    padding:30px;

    border-radius:20px;

    box-shadow:
    0 8px 25px rgba(0,0,0,.1);

    text-align:center;

    display:flex;

    flex-direction:column;

    align-items:center;

}

.stars{

    font-size:24px;

    height:35px;

    margin-bottom:20px;

    white-space:nowrap;

}


.review-box:hover{

    transform:translateY(-5px);

}



.stars{

    font-size:24px;

    margin-bottom:20px;

}



.review-box p{

    font-size:16px;

    line-height:1.6;

}



.review-box strong{

    display:block;

    margin-top:20px;

    color:#00558c;

}



.review-source{

    display:block;

    margin-top:10px;

    font-size:14px;

    color:#777;

}






/* =====================================
             CONTACT
===================================== */


.contact{


    text-align:center;


    padding:80px 8%;


}



.contact p{


    font-size:20px;


    margin-bottom:30px;


}







/* =====================================
              FOOTER
===================================== */


footer{


    background:#1e1e1e;


    color:white;


    padding:40px 8%;


    text-align:center;


}



.footer-links{


    margin:25px;


}



.footer-links a{


    color:white;


    margin:0 15px;


    text-decoration:none;


}







/* =====================================
        BOUTON TELEPHONE MOBILE
===================================== */


.floating-phone{


    display:none;


}







/* =====================================
             ANIMATION
===================================== */


@keyframes fadein{


from{

opacity:0;

transform:translateY(30px);

}


to{

opacity:1;

transform:translateY(0);

}


}







/* =====================================
             MOBILE
===================================== */


@media(max-width:850px){



header{


    height:auto;


    padding:20px;


    flex-direction:column;


    gap:20px;
.logo img{

    height:65px;

}

}



nav{

    width:100%;

    gap:10px;

    flex-wrap:wrap;

    justify-content:center;

    overflow:hidden;

}

nav a{

    font-size:15px;

    white-space:nowrap;

}


.header-phone{


    display:none;


}



.hero{


    padding:50px 25px;


}



.hero h1{


    font-size:34px;


}



.hero p{


    font-size:18px;


}





.why{


    flex-direction:column;


}



.why-text h2{


    text-align:center;


}



.floating-phone{


    display:flex;


    position:fixed;


    bottom:190px;


    right:20px;


    width:60px;


    height:60px;


    border-radius:50%;


    background:#e30613;


    color:white;


    align-items:center;


    justify-content:center;


    font-size:28px;


    text-decoration:none;


    box-shadow:0 5px 20px rgba(227,6,19,.45);


    z-index:200;


}



}
/* =====================================
        BLOC DIAGNOSTIC
===================================== */


.diagnostic{

    padding:80px 8%;

    text-align:center;

    background:#f3f7fa;

}



.diagnostic h2{

    text-align:center;

    color:#00558c;

    font-size:38px;

    margin-bottom:25px;

}



.diagnostic p{

    max-width:850px;

    margin:auto;

    font-size:20px;

    line-height:1.8;

    color:#444;

}
.hero-confidence{

    margin-top:30px;

    font-size:16px;

    color:white;

    opacity:.95;

}
/* ===============================
   HEADER COMPACT AU SCROLL
================================ */


header.scrolled{

    height:80px;

}



header.scrolled .logo img{

    height:60px;

}

.review-source{

    display:block;

    margin-top:10px;

    font-size:14px;

    color:#777;

}

.legal-section{

    margin-top:45px;
    padding-top:20px;
    border-top:1px solid #e5e5e5;

}

.legal-section:first-of-type{

    border-top:none;
    padding-top:0;

}

.legal-section h2{

    color:#0072bc;
    margin-bottom:20px;

}

.legal-section p{

    line-height:1.8;
    text-align:justify;

}

html{
    scroll-behavior:smooth;
}

@media(max-width:768px){

header{

    height:auto;

    padding:15px 20px;

    flex-wrap:wrap;

    gap:15px;

}


.logo img{

    height:60px;

}


nav{

    width:100%;

    justify-content:center;

    gap:15px;

    flex-wrap:wrap;

}


nav a{

    font-size:14px;

}


.header-phone{

    display:none;

}

}

@media(max-width:768px){

.hero h1{

    font-size:34px;

}


.hero p{

    font-size:17px;

}

}

@media(max-width:768px){

.hero{

    min-height:auto;

    padding:60px 25px;

}

}

/* ===========================
   FOOTER
=========================== */

footer{
    background:#1d3557;
    color:#fff;
    margin-top:60px;
    padding:45px 20px;
    text-align:center;
}

.footer-content{
    max-width:1100px;
    margin:auto;
}

.footer-content h3{
    color:#fff;
    margin-bottom:12px;
    font-size:1.6rem;
}

.footer-content p{
    margin:8px 0;
    line-height:1.7;
}

.footer-links,
.footer-legal{
    margin:22px 0;
}

.footer-links a,
.footer-legal a{
    color:#fff;
    text-decoration:none;
    margin:0 12px;
    transition:.25s;
}

.footer-links a:hover,
.footer-legal a:hover{
    color:#00b7d8;
}

.footer-legal span{
    color:rgba(255,255,255,.4);
}

.footer-copy{
    margin-top:30px;
    font-size:.9rem;
    opacity:.75;
}


/* ===============================
   PAGE SERVICES A LA PERSONNE
   Emplacement futur logo SAP
================================ */

.sap-container {

    text-align: center;

    margin: 30px auto;

}


.sap-container img {

    max-width: 180px;

    height: auto;

}

/* Correction logo footer page Services à la personne */

.footer-logo img {
    width: 180px;
    max-width: 100%;
    height: auto;
}

/* =================================
   Encart crédit d'impôt SAP
================================= */

.credit-box {

    margin: 35px auto;

    padding: 25px;

    max-width: 750px;

    border-radius: 12px;

    text-align: center;

}


.credit-box h3 {

    margin-bottom: 15px;

    font-size: 1.4rem;

}


.credit-box p {

    line-height: 1.7;

    margin: 0;

}

/* =================================
   Carte crédit d'impôt SAP
================================= */

.credit-box {

    margin: 40px auto;

    padding: 30px;

    max-width: 750px;

    background: #ffffff;

    border-radius: 12px;

    box-shadow: 0 4px 15px rgba(0,0,0,0.10);

}


.credit-box h3 {

    margin-top: 0;

    margin-bottom: 15px;

    font-size: 1.5rem;

}


.credit-box p {

    margin-bottom: 0;

    line-height: 1.7;

}

/* =================================
   Logo Services à la Personne
================================= */

.logo-sap {

    display: block;

    max-width: 180px;

    height: auto;

    margin: 0 auto 25px auto;

}


/* =================================
   Bloc Services à la Personne - Accueil
================================= */

.sap-home {

    margin: 50px auto;

    padding: 35px 30px;

    max-width: 900px;

    text-align: center;

    background: #ffffff;

    border-radius: 12px;

    box-shadow: 0 4px 15px rgba(0,0,0,0.10);

}


.sap-home .logo-sap {

    display: block;

    max-width: 160px;

    height: auto;

    margin: 0 auto 25px auto;

}


.sap-home h2 {

    margin-bottom: 20px;

}


.sap-home p {

    line-height: 1.7;

    margin-bottom: 15px;

}


.sap-home .btn {

    display: inline-block;

    margin-top: 15px;

}