
.emyhome{--ink:#151515;--paper:#f4f0e9;--soft:#ded7cd;--white:#fff;--max:1380px;color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow:hidden}
.emyhome *{box-sizing:border-box}.emyhome img{display:block;width:100%;height:100%;object-fit:cover}
.emyhome h1,.emyhome h2,.emyhome p{margin-top:0}.emyhome h1,.emyhome h2{letter-spacing:-.035em}
.emyhome-hero{min-height:760px;max-width:var(--max);margin:0 auto;padding:54px 34px 76px;display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center}
.emyhome-hero-copy{padding:28px 0 28px 6vw}.emyhome-kicker,.emyhome-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;margin-bottom:16px}
.emyhome-hero h1{font-size:clamp(52px,6.3vw,104px);line-height:.92;margin-bottom:28px;max-width:750px}
.emyhome-hero p{font-size:19px;line-height:1.65;max-width:660px;color:#494540;margin-bottom:32px}
.emyhome-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 27px;background:#141414;color:#fff!important;text-decoration:none!important;font-weight:800;border-radius:999px}
.emyhome-hero-media{position:relative;min-height:650px}.emyhome-hero-main{position:absolute;inset:0 0 0 14%;border-radius:280px 280px 30px 30px;overflow:hidden}
.emyhome-hero-small{position:absolute;left:0;bottom:5%;width:34%;height:34%;border:9px solid #fff;border-radius:50%;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.13)}
.emyhome-image-placeholder{width:100%;height:100%;min-height:260px;background:#e6e0d8;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;color:#777}
.emyhome-editorial{background:var(--paper);padding:110px max(5vw,28px);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.emyhome-editorial-media{height:min(74vh,760px);border-radius:10px;overflow:hidden}.emyhome-editorial-copy{max-width:650px}
.emyhome-editorial h2,.emyhome-reserve h2,.emyhome-local h2{font-size:clamp(42px,5vw,76px);line-height:1;margin-bottom:26px}.emyhome-editorial p,.emyhome-reserve p,.emyhome-local p{font-size:18px;line-height:1.75;color:#494540}
.emyhome-features{max-width:var(--max);margin:0 auto;padding:110px 34px}.emyhome-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center;margin-bottom:110px}
.emyhome-feature:nth-child(even){grid-template-columns:.95fr 1.05fr}.emyhome-feature:nth-child(even) .emyhome-feature-image{order:2}.emyhome-feature-image{height:590px;border-radius:10px;overflow:hidden}
.emyhome-feature-copy span{font-size:13px;letter-spacing:.18em;font-weight:800}.emyhome-feature-copy h2{font-size:clamp(38px,4.3vw,68px);line-height:1;margin:20px 0}.emyhome-feature-copy p{font-size:18px;line-height:1.7;color:#4a4641}
.emyhome-carousel-section{padding:105px 0;background:#111;color:#fff}.emyhome-section-head{max-width:var(--max);padding:0 34px 40px;margin:0 auto;display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:end}
.emyhome-section-head h2{font-size:clamp(42px,5vw,72px);line-height:1;margin-bottom:0}.emyhome-section-head p{font-size:17px;line-height:1.6;color:#c9c9c9;margin-bottom:0}
.emyhome-carousel{position:relative;overflow:hidden}.emyhome-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 max(5vw,34px) 10px}.emyhome-track::-webkit-scrollbar{display:none}
.emyhome-slide{flex:0 0 min(68vw,860px);height:600px;margin:0;scroll-snap-align:center;border-radius:8px;overflow:hidden}.emyhome-prev,.emyhome-next{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:38px;line-height:1;cursor:pointer;z-index:2}.emyhome-prev{left:18px}.emyhome-next{right:18px}
.emyhome-reserve{max-width:var(--max);margin:0 auto;padding:110px 34px;display:grid;grid-template-columns:.82fr 1.18fr;gap:7vw;align-items:center}.emyhome-reserve-media{height:620px;border-radius:10px;overflow:hidden}
.emyhome-club{padding:130px 30px;background:var(--paper)}.emyhome-club-inner{max-width:980px;margin:0 auto;text-align:center;background:#111;color:#fff;border-radius:34px;padding:80px 8vw}.emyhome-club h2{font-size:clamp(46px,6vw,84px);line-height:.95;margin-bottom:25px}.emyhome-club p{max-width:750px;margin:0 auto 34px;font-size:19px;line-height:1.65;color:#ddd}.emyhome-btn-light{background:#fff;color:#111!important}
.emyhome-local{max-width:var(--max);margin:0 auto;padding:110px 34px;display:grid;grid-template-columns:1.3fr .7fr;gap:7vw;align-items:center}.emyhome-local-card{padding:42px;border:1px solid #d7d0c6;border-radius:24px;font-size:18px;line-height:1.65}.emyhome-local-card strong{display:block;font-size:28px;margin-bottom:15px}.emyhome-local-card>a{color:#111;font-weight:800}.emyhome-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.emyhome-links a{padding:9px 14px;border-radius:999px;background:#111;color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:800}
@media(max-width:980px){.emyhome-hero{min-height:auto;grid-template-columns:1fr;padding:54px 28px 70px;gap:35px}.emyhome-hero-copy{padding:0}.emyhome-hero-media{min-height:600px}.emyhome-editorial,.emyhome-feature,.emyhome-feature:nth-child(even),.emyhome-reserve,.emyhome-local{grid-template-columns:1fr;gap:38px}.emyhome-feature:nth-child(even) .emyhome-feature-image{order:0}.emyhome-editorial-media,.emyhome-feature-image,.emyhome-reserve-media{height:560px}.emyhome-section-head{grid-template-columns:1fr}.emyhome-slide{height:520px;flex-basis:80vw}}
@media(max-width:640px){.emyhome-hero{padding:36px 18px 50px}.emyhome-hero h1{font-size:50px}.emyhome-hero p{font-size:16px}.emyhome-hero-media{min-height:460px}.emyhome-hero-main{inset:0 0 0 5%}.emyhome-hero-small{width:38%;height:38%;border-width:6px}.emyhome-editorial,.emyhome-features,.emyhome-reserve,.emyhome-local{padding:70px 18px}.emyhome-editorial-media,.emyhome-feature-image,.emyhome-reserve-media{height:430px}.emyhome-feature{margin-bottom:70px}.emyhome-feature-copy p,.emyhome-editorial p,.emyhome-reserve p,.emyhome-local p{font-size:16px}.emyhome-carousel-section{padding:70px 0}.emyhome-section-head{padding:0 18px 30px}.emyhome-slide{height:390px;flex-basis:86vw}.emyhome-prev,.emyhome-next{width:44px;height:44px;font-size:30px}.emyhome-club{padding:70px 18px}.emyhome-club-inner{padding:58px 22px;border-radius:24px}.emyhome-club p{font-size:16px}.emyhome-local-card{padding:28px}}


/* v1.4 — Divi gère désormais la largeur 100%.
   On revient aux proportions de la v1.1 et on protège les photos
   contre les recadrages trop agressifs. */

.emyhome{
    width:100%;
}

/* Hero : proportions d'origine de la v1.1, sans les élargissements v1.2/v1.3. */
.emyhome-hero{
    width:auto;
}

/* Photos éditoriales : on conserve leur ratio naturel autant que possible. */
.emyhome-editorial-media,
.emyhome-feature-image,
.emyhome-reserve-media{
    height:auto;
    min-height:0;
    overflow:hidden;
    background:#f1eee9;
}

.emyhome-editorial-media img,
.emyhome-feature-image img,
.emyhome-reserve-media img{
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center;
}

/* Le hero garde son traitement graphique initial. */
.emyhome-hero-main img{
    object-fit:cover;
    object-position:center;
}

/* Tablettes et mobiles : ratio naturel également. */
@media(max-width:980px){
    .emyhome-editorial-media,
    .emyhome-feature-image,
    .emyhome-reserve-media{
        height:auto;
        min-height:0;
    }
    .emyhome-editorial-media img,
    .emyhome-feature-image img,
    .emyhome-reserve-media img{
        height:auto;
        object-fit:contain;
    }
}


/* v1.5 — largeur plus généreuse, sans déformer les photos */
@media (min-width:981px){
    .emyhome-hero,
    .emyhome-features,
    .emyhome-reserve,
    .emyhome-local,
    .emyhome-section-head{
        width:94%;
        max-width:1720px;
        margin-left:auto;
        margin-right:auto;
    }

    .emyhome-editorial{
        width:94%;
        max-width:1720px;
        margin-left:auto;
        margin-right:auto;
        padding-left:0;
        padding-right:0;
    }
}

/* Cadrage paramétrable du hero depuis l'admin */
.emyhome-hero-main img{
    object-position:var(--hero-x,50%) var(--hero-y,50%) !important;
}

.emyhome-hero-small img{
    object-position:var(--hero-small-x,50%) var(--hero-small-y,50%) !important;
}

/* Les sliders de cadrage restent confortables dans l'admin */


/* v1.7 — contenu éditorial / SEO */
.emyhome-seo-story{
    width:94%;
    max-width:1720px;
    margin:72px auto;
    padding:72px clamp(28px,5vw,86px);
    background:#f3f0eb;
    border-radius:34px;
}
.emyhome-seo-story-inner{max-width:1500px;margin:0 auto}
.emyhome-seo-kicker{
    font-size:12px;
    font-weight:800;
    letter-spacing:.18em;
    margin-bottom:18px;
}
.emyhome-seo-story h2{
    max-width:1050px;
    margin:0 0 42px;
    font-size:clamp(38px,4vw,68px);
    line-height:1.02;
    font-weight:400;
}
.emyhome-seo-columns{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(28px,4vw,68px);
}
.emyhome-seo-columns p{
    margin:0;
    font-size:17px;
    line-height:1.75;
}

/* Club v1.7 : plus premium, plus lisible */
.emyhome-club{
    width:94%;
    max-width:1720px;
    margin-left:auto;
    margin-right:auto;
}
.emyhome-club h2{
    color:#fff !important;
    opacity:1 !important;
}
.emyhome-club p{max-width:900px}
.emyhome-club .emyhome-button{
    transition:transform .2s ease, opacity .2s ease;
}
.emyhome-club .emyhome-button:hover{transform:translateY(-2px)}

@media(max-width:980px){
    .emyhome-seo-story{width:auto;margin:52px 22px;padding:52px 28px}
    .emyhome-seo-columns{grid-template-columns:1fr;gap:22px}
    .emyhome-seo-story h2{margin-bottom:30px}
    .emyhome-club{width:auto;margin-left:22px;margin-right:22px}
}
@media(max-width:640px){
    .emyhome-seo-story{margin:38px 14px;padding:38px 20px;border-radius:24px}
    .emyhome-seo-columns p{font-size:16px}
    .emyhome-club{margin-left:14px;margin-right:14px}
}


/* v1.11 — correctif réel du contraste du bloc "En images".
   Le titre et le texte se trouvent dans .emyhome-section-head,
   qui est un frère du carrousel et non un enfant de .emyhome-carousel. */
.emyhome .emyhome-carousel-section .emyhome-section-head .emyhome-eyebrow,
.emyhome .emyhome-carousel-section .emyhome-section-head h2 {
    color:#ffffff !important;
    opacity:1 !important;
}

.emyhome .emyhome-carousel-section .emyhome-section-head p {
    color:#e7e7e7 !important;
    opacity:1 !important;
}

.emyhome .emyhome-carousel-section {
    color:#ffffff !important;
}

/* v1.13 — avis clientes */
.emyhome-feature-copy>span{display:none!important}
.emyhome-reviews-section{
    width:94%;max-width:1720px;margin:0 auto;padding:100px 0;
}
.emyhome-reviews-head{
    display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:end;margin-bottom:42px;
}
.emyhome-reviews-head h2{
    margin:0;font-size:clamp(42px,5vw,72px);line-height:1;
}
.emyhome-reviews-head p{
    margin:0;font-size:17px;line-height:1.65;color:#56514c;
}
.emyhome-reviews-carousel{position:relative}
.emyhome-reviews-track{
    display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px 2px 16px;
}
.emyhome-reviews-track::-webkit-scrollbar{display:none}
.emyhome-review-card{
    flex:0 0 min(430px,82vw);scroll-snap-align:start;
    padding:28px;background:#fff;border:1px solid #ddd6ce;border-radius:18px;
    display:flex;flex-direction:column;min-height:330px;
}
.emyhome-review-brand{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800;margin-bottom:16px}
.emyhome-review-brand-icon{
    display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;
    font-size:18px;font-weight:900;background:#f2f2f2;color:#222;
}
.emyhome-review-brand.facebook .emyhome-review-brand-icon{font-family:Arial,sans-serif;font-size:23px}
.emyhome-review-stars{font-size:21px;letter-spacing:2px;margin-bottom:18px}
.emyhome-review-stars .on{color:#f4b400}.emyhome-review-stars .off{color:#ddd}
.emyhome-review-card blockquote{
    margin:0 0 22px;padding:0;border:0;font-size:17px;line-height:1.65;color:#292622;flex:1;
}
.emyhome-review-meta{display:flex;flex-direction:column;gap:4px;margin-top:auto}
.emyhome-review-meta strong{font-size:15px}.emyhome-review-meta span{font-size:12px;color:#777}
.emyhome-review-link{margin-top:16px;font-size:12px;font-weight:800;color:#111!important;text-decoration:underline!important}
.emyhome-reviews-prev,.emyhome-reviews-next{
    position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid #ddd;
    border-radius:50%;background:#fff;font-size:30px;line-height:1;cursor:pointer;z-index:3;
}
.emyhome-reviews-prev{left:-22px}.emyhome-reviews-next{right:-22px}
@media(max-width:980px){
    .emyhome-reviews-section{width:auto;margin:0 22px;padding:72px 0}
    .emyhome-reviews-head{grid-template-columns:1fr;gap:18px}
    .emyhome-reviews-prev{left:-12px}.emyhome-reviews-next{right:-12px}
}
@media(max-width:640px){
    .emyhome-reviews-section{margin:0 14px;padding:58px 0}
    .emyhome-review-card{flex-basis:88vw;padding:22px;min-height:300px}
}

.emyhome-google-summary{display:inline-flex;align-items:center;gap:12px;margin-top:18px;padding:11px 15px;border:1px solid #ddd6ce;border-radius:14px;background:#fff;color:#202124!important;text-decoration:none!important}
.emyhome-google-summary-g{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#f5f5f5;font-size:20px;font-weight:800}
.emyhome-google-summary span:nth-child(2){display:flex;flex-direction:column;line-height:1.2}
.emyhome-google-summary small{margin-top:3px;color:#6b6b6b}
.emyhome-google-summary-stars{color:#f4b400;font-size:15px;letter-spacing:1px}
@media(max-width:640px){.emyhome-google-summary{flex-wrap:wrap}.emyhome-google-summary-stars{width:100%;padding-left:46px}}

/* v1.15 — mise en valeur dorée du bloc Avis clientes */
.emyhome-reviews-section{
    position:relative;
    padding:92px clamp(22px,4vw,64px);
    border:1px solid rgba(176,138,68,.55);
    border-radius:34px;
    background:
        radial-gradient(circle at top left, rgba(197,162,94,.12), transparent 34%),
        linear-gradient(180deg, #fffdf9 0%, #f8f3e9 100%);
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.7),
        0 18px 50px rgba(82,62,25,.08);
}

.emyhome-reviews-section:before,
.emyhome-reviews-section:after{
    content:"";
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    width:min(180px,30%);
    height:2px;
    background:linear-gradient(90deg, transparent, #b8934f, transparent);
}

.emyhome-reviews-section:before{top:24px}
.emyhome-reviews-section:after{bottom:24px}

.emyhome-reviews-head .emyhome-eyebrow{
    color:#9c7a3e;
}

.emyhome-reviews-head h2{
    color:#1b1814;
}

.emyhome-review-card{
    border:1px solid rgba(176,138,68,.42);
    background:rgba(255,255,255,.94);
    box-shadow:0 10px 28px rgba(86,64,26,.08);
}

.emyhome-review-brand-icon{
    border:1px solid rgba(176,138,68,.28);
}

.emyhome-review-stars .on,
.emyhome-google-summary-stars{
    color:#b8892f;
}

.emyhome-google-summary{
    border-color:rgba(176,138,68,.45);
    background:#fffaf0;
}

.emyhome-reviews-prev,
.emyhome-reviews-next{
    border-color:rgba(176,138,68,.55);
    color:#8e6b30;
    box-shadow:0 6px 18px rgba(86,64,26,.10);
}

@media(max-width:980px){
    .emyhome-reviews-section{
        margin-left:22px;
        margin-right:22px;
        padding:68px 26px;
        border-radius:28px;
    }
}
@media(max-width:640px){
    .emyhome-reviews-section{
        margin-left:14px;
        margin-right:14px;
        padding:54px 18px;
        border-radius:22px;
    }
}


/* v1.19 — avis plus compacts */
.emyhome-review-card{
    min-height:255px !important;
    padding:22px !important;
}

.emyhome-review-brand{
    margin-bottom:12px !important;
}

.emyhome-review-stars{
    margin-bottom:13px !important;
    font-size:19px !important;
}

.emyhome-review-card blockquote{
    margin-bottom:16px !important;
    font-size:16px !important;
    line-height:1.52 !important;
}

.emyhome-review-link{
    margin-top:11px !important;
}

@media(max-width:640px){
    .emyhome-review-card{
        min-height:235px !important;
        padding:19px !important;
    }
}
