:root{--sable:#C6B496;--sable-f:#a8946f;--brun:#29211A;--creme:#F6F2EA;--blanc:#fff;--gris:#6b625a;--ok:#4f7a5a;--trav:#c27a2c;--vendu:#8a3b3b;--r:14px;--ombre:0 10px 30px rgba(41,33,26,.12)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-corps,'Inter',system-ui,sans-serif);color:var(--brun);background:var(--creme);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--font-titre,'Cormorant Garamond',Georgia,serif);font-weight:var(--w-titre,500);letter-spacing:var(--ls-titre,0);line-height:1.12}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
/* header */
header{position:fixed;inset:0 0 auto 0;z-index:50;transition:.3s;color:#fff}
header.solid,header.fixe{background:rgba(41,33,26,.96);backdrop-filter:blur(8px);box-shadow:0 2px 20px rgba(0,0,0,.2)}
.nav{display:flex;align-items:center;justify-content:space-between;height:var(--h-nav,112px);transition:height .25s}
.nav img{height:var(--h-logo,84px);width:auto;transition:height .25s}
.nav ul a,.nav .tel{white-space:nowrap}
.nav ul{display:flex;gap:clamp(14px,2vw,30px);list-style:none;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.nav ul a{padding:6px 0;border-bottom:1px solid transparent;transition:.2s}
.nav ul a:hover,.nav ul a.on{border-color:var(--sable);color:var(--sable)}
.nav .tel{background:var(--sable);color:var(--brun);padding:10px 18px;border-radius:40px;font-weight:600;font-size:14px}
.burger{display:none;background:none;border:0;color:#fff;font-size:28px}
/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;color:#fff;background:#1b1612 url(img/b-realisation-de-10-vi_1-6.webp) center/cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(41,33,26,.85),rgba(41,33,26,.25) 70%)}
.hero .wrap{position:relative;z-index:2;padding-top:calc(var(--h-nav,112px) + 24px)}
.hero small{letter-spacing:.3em;text-transform:uppercase;color:var(--sable);font-size:13px}
.hero h1{font-size:var(--t1);max-width:820px;margin:18px 0}
.hero p{max-width:560px;font-size:18px;opacity:.92}
.btn{display:inline-block;padding:14px 28px;border-radius:40px;font-weight:600;font-size:15px;transition:.2s;border:1px solid transparent;cursor:pointer}
.btn.p{background:var(--sable);color:var(--brun)}.btn.p:hover{background:#fff}
.btn.g{border-color:rgba(255,255,255,.6);color:#fff}.btn.g:hover{background:#fff;color:var(--brun)}
.btn.s{background:var(--brun);color:#fff}.btn.s:hover{background:var(--sable-f)}
.btn.o{border-color:var(--brun)}.btn.o:hover{background:var(--brun);color:#fff}
.hero .cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
/* recherche */
.search{position:relative;z-index:5;margin-top:-52px}
.search form{background:#fff;border-radius:var(--r);box-shadow:var(--ombre);display:grid;grid-template-columns:auto 1fr 1fr 1fr auto;gap:14px;padding:18px;align-items:center}
.seg{display:flex;background:var(--creme);border-radius:40px;padding:4px}
.seg label{padding:9px 20px;border-radius:40px;cursor:pointer;font-size:14px;font-weight:500}
.seg input{display:none}.seg input:checked+span{background:var(--brun);color:#fff}
.seg span{display:block;padding:9px 20px;border-radius:40px;margin:-9px -20px}
select{width:100%;padding:13px 14px;border:1px solid #e3dccf;border-radius:10px;font:inherit;background:#fff}
/* sections */
section{padding:96px 0}
.tt{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;gap:20px}
.tt small{display:block;letter-spacing:.3em;text-transform:uppercase;color:var(--sable-f);font-size:12px;margin-bottom:10px}
.tt h2{font-size:var(--t2)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px}
.card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 4px 18px rgba(41,33,26,.07);transition:.3s;display:block}
.card:hover{transform:translateY(-6px);box-shadow:var(--ombre)}
.card .im{position:relative;aspect-ratio:4/3;overflow:hidden}
.card .im img{width:100%;height:100%;object-fit:cover;transition:.6s}
.card:hover .im img{transform:scale(1.06)}
.badge{position:absolute;top:14px;left:14px;color:#fff;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:30px;font-weight:600}
.b-dispo{background:var(--ok)}.b-trav{background:var(--trav)}.b-vendu{background:var(--vendu)}
.card .tx{padding:22px}
.card .lieu{font-size:13px;color:var(--gris);text-transform:uppercase;letter-spacing:.1em}
.card h3{font-size:var(--t3);margin:6px 0 14px}
.card .pic{display:flex;gap:18px;font-size:14px;color:var(--gris);border-top:1px solid #eee;padding-top:14px;align-items:center}
.card .prix{margin-left:auto;font-weight:700;color:var(--brun);font-size:17px}
/* accroche */
.accroche{background:var(--brun);color:#fff;text-align:center}
.accroche h2{font-size:var(--t1s);max-width:900px;margin:0 auto 20px}
.accroche p{max-width:640px;margin:0 auto 32px;opacity:.85}
.accroche em{color:var(--sable);font-size:20px;display:block;margin-top:38px;font-family:var(--font-titre,'Cormorant Garamond',Georgia,serif)}
.chiffres{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;padding:54px 0 0;margin-top:50px;border-top:1px solid rgba(198,180,150,.3)}
.chiffres b{display:block;font:500 54px var(--font-titre,'Cormorant Garamond',Georgia,serif);color:var(--sable)}
.chiffres span{font-size:13px;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
/* réalisations */
.real{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:14px}
.real figure{overflow:hidden;border-radius:var(--r);position:relative}
.real figure:first-child{grid-column:span 2;grid-row:span 2}
.real img{width:100%;height:100%;object-fit:cover;transition:.6s}
.real figure:hover img{transform:scale(1.07)}
/* contact bandeau */
.contact{background:var(--sable);text-align:center}
.contact h2{font-size:var(--t2);margin-bottom:16px}
.contact .cta{display:flex;gap:14px;justify-content:center;margin-top:28px;flex-wrap:wrap}
footer{background:#1b1612;color:#cfc6b8;padding:64px 0 30px;font-size:14px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid #3a3028}
footer img{height:70px;margin-bottom:16px}
footer h4{color:var(--sable);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:12px;margin-bottom:14px}
footer .bas{display:flex;justify-content:space-between;padding-top:24px;opacity:.7;flex-wrap:wrap;gap:10px}
/* fiche annonce */
.fiche{padding-top:calc(var(--h-nav,112px) + 36px)}
.crumb{font-size:13px;color:var(--gris);margin-bottom:18px}
.gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:230px 230px;gap:10px;border-radius:var(--r);overflow:hidden;position:relative}
.gal img{width:100%;height:100%;object-fit:cover;cursor:pointer;transition:.4s}.gal img:hover{filter:brightness(.88)}
.gal img:first-child{grid-row:span 2}
.gal .tout{position:absolute;right:16px;bottom:16px;background:#fff;padding:10px 18px;border-radius:30px;font-size:14px;font-weight:600;box-shadow:var(--ombre)}
.fl{display:grid;grid-template-columns:1fr 380px;gap:48px;margin-top:36px;align-items:start}
.entete{display:flex;justify-content:space-between;align-items:start;gap:20px;flex-wrap:wrap}
.entete h1{font-size:var(--t1s);max-width:720px}
.entete .adr{color:var(--gris);margin-top:8px}
.entete .px{font:var(--w-prix,600) 34px var(--font-titre,'Cormorant Garamond',Georgia,serif);text-align:right;white-space:nowrap}
.entete .px small{display:block;font:400 13px 'Inter';color:var(--gris)}
.stat{display:inline-block;color:#fff;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:30px;margin-bottom:14px;font-weight:600}
.picto{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:14px;margin:30px 0;padding:24px;background:#fff;border-radius:var(--r)}
.picto div{text-align:center}.picto svg{width:30px;height:30px;stroke:var(--sable-f);fill:none;stroke-width:1.6;margin:0 auto 6px}
.picto b{display:block;font-size:20px}.picto span{font-size:12px;color:var(--gris);letter-spacing:.08em;text-transform:uppercase}
.bloc{margin-top:42px}.bloc h2{font-size:var(--t2);margin-bottom:16px}
.bloc p{margin-bottom:12px;color:#3d342c}
.feat{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 24px;list-style:none}
.feat li{padding-left:28px;position:relative}.feat li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.feat li.non{color:#aaa}.feat li.non::before{content:"–";color:#ccc}
.carte{height:320px;border-radius:var(--r);background:linear-gradient(135deg,#e8e0d0,#d8ccb4);display:grid;place-items:center;color:var(--gris)}
.docs{display:grid;gap:10px}.docs a{display:flex;gap:14px;align-items:center;background:#fff;padding:14px 18px;border-radius:10px}.docs a:hover{box-shadow:var(--ombre)}
.docs i{font-style:normal;background:var(--sable);padding:5px 9px;border-radius:6px;font-size:11px;font-weight:700}
.side{position:sticky;top:100px;background:#fff;border-radius:var(--r);padding:28px;box-shadow:var(--ombre)}
.side h3{font-size:var(--t3);margin-bottom:10px}.side p.s{font-size:14px;color:var(--gris);margin-bottom:18px}
.side .quick{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:18px}
.side .quick a{text-align:center;padding:11px 4px;border-radius:10px;font-size:13px;font-weight:600;border:1px solid #e3dccf}
.side .quick a.wa{background:#25D366;border-color:#25D366;color:#fff}
.side input,.side textarea{width:100%;padding:13px 14px;border:1px solid #e3dccf;border-radius:10px;font:inherit;margin-bottom:10px;background:#fff}
.side .btn{width:100%;text-align:center}
@media(max-width:980px){
 .nav ul,.nav .tel{display:none}.burger{display:block}
 .search form{grid-template-columns:1fr 1fr}.search .seg{grid-column:span 2}
 .chiffres{grid-template-columns:repeat(2,1fr)}
 .real{grid-template-columns:1fr 1fr}.real figure:first-child{grid-column:span 2}
 .fl{grid-template-columns:1fr}.side{position:static}
 .gal{grid-template-columns:1fr 1fr;grid-template-rows:260px 150px}.gal img:first-child{grid-column:span 2;grid-row:auto}.gal img:nth-child(n+4){display:none}
 footer .cols{grid-template-columns:1fr}
 section{padding:64px 0}
}
@media(max-width:980px){.wrap[style*="grid-template-columns"],.grid[style*="repeat(3,1fr)"]{grid-template-columns:1fr !important}.search form,.search>.wrap>div{grid-template-columns:1fr 1fr !important}}

/* ===== Ajouts thème WordPress ===== */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero::after{z-index:1}
.hero-int{min-height:46vh}.hero-int h1{font-size:var(--t1s);max-width:900px}
.fond-blanc{background:#fff}
.search{margin-top:-52px}
.search form{grid-template-columns:auto 1fr 1fr auto}
.search .champ{width:100%;padding:13px 14px;border:1px solid #e3dccf;border-radius:10px;font:inherit}
.filtres{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:34px;background:#fff;padding:16px;border-radius:var(--r);box-shadow:0 4px 18px rgba(41,33,26,.07)}
.filtres select,.filtres input{flex:1 1 180px;padding:13px 14px;border:1px solid #e3dccf;border-radius:10px;font:inherit;background:#fff}
.vide{text-align:center;padding:60px 0;color:var(--gris)}.vide a{text-decoration:underline}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.etroit{max-width:860px}
.texte{font-size:17px}.texte p{margin-bottom:14px}.texte.large{max-width:860px}
.texte h2,.texte h3{margin:24px 0 10px}.texte ul{margin:0 0 14px 22px}
.intro{font-size:19px;margin-bottom:28px}
.equipe .im{background:#e8e0d0}
.docs.grands a{padding:22px 26px;font-size:18px}.docs.grands a span{margin-left:auto;color:var(--sable-f);font-size:14px}
.cta.ligne{display:flex;gap:10px;margin:24px 0;flex-wrap:wrap}
.carte{width:100%;height:320px;border:0;border-radius:var(--r);margin-top:8px;display:block}
.side.statique{position:static}
.side select{width:100%;margin-bottom:10px}
.lab{display:block;font-size:13px;color:var(--gris);margin:8px 0 4px}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.alerte{padding:14px 16px;border-radius:10px;margin-bottom:14px;font-size:14px}
.alerte.ok{background:#e4f0e7;color:#2d5a3a}.alerte.ko{background:#f6e1e1;color:#7a2f2f}
.sim{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.real figure{cursor:pointer}.real .n{position:absolute;right:10px;bottom:10px;background:rgba(41,33,26,.8);color:#fff;font-size:12px;padding:4px 10px;border-radius:20px}
.gal .tout{cursor:pointer}
#lb{position:fixed;inset:0;background:rgba(20,15,10,.94);z-index:200;display:none;align-items:center;justify-content:center}
#lb.on{display:flex}#lb img{max-width:92vw;max-height:88vh;border-radius:6px}
#lb button{position:absolute;background:none;border:0;color:#fff;font-size:38px;cursor:pointer;padding:16px}
#lb .x{top:6px;right:10px}#lb .p{left:6px;top:50%}#lb .s{right:6px;top:50%}#lb .c{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#cfc6b8;font-size:14px}
@media(max-width:980px){
 .duo{grid-template-columns:1fr;gap:32px}
 .search form{grid-template-columns:1fr 1fr}
 header.ouvert .nav ul{display:flex;flex-direction:column;position:absolute;top:var(--h-nav,112px);left:0;right:0;background:rgba(41,33,26,.98);padding:20px 24px;gap:16px}
}

.hero .slogan{display:block;margin-top:38px;font:italic 500 22px var(--font-titre,'Cormorant Garamond',Georgia,serif);color:var(--sable);max-width:560px}
.hero h1{font-size:var(--t1)}
.h2s{margin-top:34px}
.radios{display:flex;flex-wrap:wrap;gap:6px 18px;margin:2px 0 10px}.radios label{font-size:15px;cursor:pointer}

/* ===== Page d'introduction (splash) ===== */
.lrm-splash{background:#1b1612}
.splash{position:relative;min-height:100vh;min-height:100dvh;display:grid;place-items:center;background:#1b1612 center/cover no-repeat;color:#fff}
.splash::after{content:"";position:absolute;inset:0;background:rgba(27,22,18,.35);z-index:1}
.splash-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.splash-centre{position:relative;z-index:2;text-align:center;display:grid;gap:44px;justify-items:center;padding:24px}
.splash-logo{width:clamp(120px,18vw,210px);height:auto}
.splash-bouton{border:1px solid rgba(255,255,255,.85);padding:16px 44px;letter-spacing:.32em;text-transform:uppercase;font-size:14px;color:#fff;transition:.25s}
.splash-bouton:hover,.splash-bouton:focus-visible{background:#fff;color:var(--brun)}

/* ===== Respiration en bas de page + contenu libre (éditeur de blocs) ===== */
.fiche{padding-bottom:96px}
main>section:last-child{padding-bottom:96px}
.libre{padding:56px 0}
.libre.fond-blanc{background:#fff}
.texte>*:first-child{margin-top:0}
.texte h2,.texte h3,.texte h4{margin:34px 0 12px}
.texte img{border-radius:var(--r);height:auto}
.texte .wp-block-image,.texte .wp-block-gallery,.texte .wp-block-columns,.texte .wp-block-table,.texte .wp-block-video{margin:26px 0}
.texte .wp-block-columns{gap:32px}
.texte .wp-block-button__link{background:var(--brun);color:#fff;border-radius:40px;padding:13px 28px;font-weight:600;font-size:15px;text-decoration:none}
.texte .wp-block-button__link:hover{background:var(--sable-f)}
.texte .is-style-outline .wp-block-button__link{background:transparent;color:var(--brun);border:1px solid var(--brun)}
.texte .wp-block-separator{border:0;border-top:1px solid #d8ccb4;margin:34px 0}
.texte .wp-block-quote{border-left:3px solid var(--sable);padding:4px 0 4px 20px;font:italic 500 22px var(--font-titre,'Cormorant Garamond',Georgia,serif)}
.texte .wp-block-file a:first-child{font-weight:600}
.texte .wp-block-spacer{margin:0}
.bloc>*:last-child{margin-bottom:0}
.bloc p+p{margin-top:0}

/* ===== Lisibilité du bandeau d'accueil : image fixe sombre + dégradé + texte renforcé ===== */
.hero::after{background:linear-gradient(90deg,rgba(24,19,15,.92) 0%,rgba(24,19,15,.78) 42%,rgba(24,19,15,.30) 100%),linear-gradient(0deg,rgba(24,19,15,.55) 0%,rgba(24,19,15,0) 40%)}
.hero h1,.hero p,.hero .slogan{text-shadow:0 2px 18px rgba(0,0,0,.45)}
.hero p{font-size:19px;font-weight:500;color:#fff;opacity:1;max-width:580px}
.hero .slogan{color:#fff;opacity:.92;font-size:24px}
.hero small{color:#E6D8BC}
.splash::after{background:radial-gradient(ellipse at center,rgba(24,19,15,.55) 0%,rgba(24,19,15,.30) 60%,rgba(24,19,15,.45) 100%)}
.splash-bouton{background:rgba(24,19,15,.35);backdrop-filter:blur(3px);font-weight:600}

/* ===== Échelle typographique unique : même police, mêmes tailles, mêmes espacements pour tous les titres ===== */
:root{--t1:clamp(44px,6.4vw,84px);--t1s:clamp(34px,4.4vw,54px);--t2:clamp(30px,3.3vw,42px);--t3:26px}
main h2,.texte h2,.libre h2,.duo h2{font-size:var(--t2);margin:0 0 14px}
main h3,.texte h3,.libre h3{font-size:var(--t3);margin:0 0 10px}
.texte h2{margin-top:36px}.texte h3{margin-top:26px}
.duo h2{margin-top:0}.duo h2.h2s{margin-top:34px}
.side h3{font-size:var(--t3)}

/* Chiffres toujours alignés (prix, adresses, surfaces) et pas d'italique artificiel sur les polices qui n'en ont pas */
h1,h2,h3,h4,.px,.prix,.picto b,.pic,.chiffres b{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
.hero .slogan,.texte .wp-block-quote{font-style:var(--ital,italic)}

.hero.hero-int h1{font-size:var(--t1s)}

/* En-tête : compact au défilement, jamais caché par la barre d'administration, logo réduit sur mobile */
header.compact .nav{height:calc(var(--h-nav,112px) * .72)}
header.compact .nav img{height:calc(var(--h-logo,84px) * .72)}
body.admin-bar header{top:32px}
@media(max-width:782px){body.admin-bar header{top:46px}}
@media(max-width:700px){.nav img{height:min(var(--h-logo,84px),58px)}.nav{height:78px}header.compact .nav{height:64px}header.compact .nav img{height:46px}.hero .wrap{padding-top:110px}.fiche{padding-top:104px}header.ouvert .nav ul{top:78px}}
