/* =========================================================================
   WeRetouche — feuille de style des pages de contenu (SEO France)
   Utilisée par : retouche-photo-immobiliere.html, photo-en-video-immobilier.html,
                  home-staging-virtuel.html, photo-annonce-immobiliere.html
   La page d'accueil (index.html) garde son propre CSS intégré — ne pas y toucher.
   ========================================================================= */
:root{
  --green:#15B66E; --green-dark:#0E9E5E; --green-light:#E7F8F0; --green-tint:#F2FBF6;
  --ink:#0B1626; --muted:#647386; --bg:#fff; --soft:#F6F8FA; --soft2:#EEF2F6; --line:#E8EDF2;
  --maxw:820px; --r:18px;
  --font:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --display:'Sora','Manrope',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}

/* Navigation */
nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--line)}
.nav-in{max-width:1180px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;gap:16px}
.nav-in img{height:34px}
.nav-sp{flex:1}
.nav-in a.back{font-weight:600;color:var(--muted);font-size:14.5px}
.nav-in a.back:hover{color:var(--ink)}
.btn{display:inline-block;font-weight:700;border-radius:100px;padding:11px 22px;font-size:14.5px;transition:.2s;white-space:nowrap}
.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:var(--green-dark)}
.btn-soft{background:var(--soft2);color:var(--ink)}.btn-soft:hover{background:var(--line)}

/* Fil d'ariane */
.crumb{max-width:var(--maxw);margin:0 auto;padding:22px 22px 0;font-size:13px;color:var(--muted)}
.crumb a{font-weight:600}.crumb a:hover{color:var(--green-dark)}

/* Corps */
main{max-width:var(--maxw);margin:0 auto;padding:26px 22px 80px}
h1{font-family:var(--display);font-size:clamp(30px,5vw,46px);line-height:1.12;letter-spacing:-.02em;font-weight:800;margin-bottom:18px}
h2{font-family:var(--display);font-size:clamp(22px,3.2vw,30px);line-height:1.2;letter-spacing:-.015em;font-weight:700;margin:48px 0 16px}
h3{font-size:19px;font-weight:800;margin:30px 0 10px}
p{margin-bottom:16px;font-size:17px}
.lead{font-size:19.5px;color:var(--muted);font-weight:500;margin-bottom:26px}
ul,ol{margin:0 0 18px 22px}
li{margin-bottom:9px;font-size:17px}
strong{font-weight:800}
main a{color:var(--green-dark);font-weight:700;text-decoration:underline;text-underline-offset:2px}

/* Encadrés */
.box{background:var(--green-tint);border:1px solid var(--green-light);border-radius:var(--r);padding:22px 24px;margin:28px 0}
.box h3{margin-top:0}
.box p:last-child,.box ul:last-child{margin-bottom:0}
.note{background:var(--soft);border-left:3px solid var(--green);border-radius:0 12px 12px 0;padding:16px 20px;margin:26px 0;font-size:16px;color:var(--muted)}
.note strong{color:var(--ink)}

/* Étapes */
.steps{list-style:none;margin:26px 0;padding:0;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding-left:46px;margin-bottom:20px}
.steps li::before{content:counter(s);position:absolute;left:0;top:1px;width:30px;height:30px;border-radius:9px;
  background:var(--green-light);color:var(--green-dark);font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center}
.steps b{display:block;margin-bottom:2px}

/* Tableau */
.tw{overflow-x:auto;margin:26px 0}
table{border-collapse:collapse;width:100%;font-size:16px;min-width:460px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}
th{background:var(--soft);font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.04em}

/* FAQ */
details{border-bottom:1px solid var(--line);padding:16px 0}
summary{cursor:pointer;font-weight:800;font-size:17px;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';float:right;color:var(--green);font-weight:800;font-size:22px;line-height:1}
details[open] summary::after{content:'−'}
details p{margin:12px 0 0;color:var(--muted)}

/* Appel à l'action */
.cta{background:var(--ink);color:#fff;border-radius:24px;padding:42px 34px;margin:56px 0 0;text-align:center}
.cta h2{color:#fff;margin:0 0 10px}
.cta p{color:#A9B6C6;margin-bottom:24px}
.cta .btn-green{padding:14px 30px;font-size:15.5px}
.cta a.alt{display:block;margin-top:16px;color:#A9B6C6;font-size:14px;font-weight:600;text-decoration:underline}

/* Avant / après */
.ba{margin:30px 0}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ba-pair figure{margin:0;position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.ba-pair img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.ba-tag{position:absolute;top:10px;left:10px;font-size:11.5px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;padding:5px 11px;border-radius:100px;backdrop-filter:blur(6px)}
.ba-before .ba-tag{background:rgba(11,22,38,.72);color:#fff}
.ba-after  .ba-tag{background:var(--green);color:#fff}
.ba figcaption{display:none}
.ba-note{font-size:14px;color:var(--muted);margin-top:12px;font-weight:500}
@media(max-width:520px){.ba-pair{grid-template-columns:1fr;gap:10px}}

/* Liens entre pages */
.more{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:26px 0 0}
.more a{border:1px solid var(--line);border-radius:14px;padding:18px 20px;text-decoration:none;font-weight:600;transition:.2s}
.more a:hover{border-color:var(--green);background:var(--green-tint)}
.more b{display:block;font-weight:800;color:var(--ink);margin-bottom:3px}
.more span{font-size:14.5px;color:var(--muted);font-weight:500}

/* Pied de page */
footer{border-top:1px solid var(--line);background:var(--soft);padding:40px 22px;color:var(--muted);font-size:14px}
.foot-in{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}
.foot-in a{font-weight:600}.foot-in a:hover{color:var(--ink)}

@media(max-width:600px){
  .nav-in{padding:12px 16px;gap:10px}
  .nav-in a.back{display:none}
  main{padding:20px 18px 60px}
  .cta{padding:34px 22px;border-radius:20px}
}
