/* ============================================================
   style.css — Batimm-Renov
   Styles principaux + composants + carte + animations
============================================================ */

:root{--noir:#0d1525;--charbon:#111d2e;--acier:#1a2640;--or:#bd9363;--or-clair:#d4aa7a;--or-sombre:#8a6a3a;--blanc:#eae2d7;--gris:#d5d1c5;}
*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:auto;}
body{font-family:'Barlow',sans-serif;background:var(--noir);color:var(--blanc);overflow-x:hidden;}
::-webkit-scrollbar{width:10px;}::-webkit-scrollbar-track{background:var(--noir);}::-webkit-scrollbar-thumb{background:linear-gradient(to bottom,#bd9363,#d4aa7a,#bd9363);border-radius:2px;}::-webkit-scrollbar-thumb:hover{background:var(--or);}

/* CURSOR */
#cur{position:fixed;width:10px;height:10px;background:var(--or);border-radius:50%;pointer-events:none;z-index:9999999;transform:translate(-50%,-50%);will-change:left,top;box-shadow:0 0 8px rgba(189,147,97,.8);}
#cur-ring{position:fixed;width:38px;height:38px;border:1.5px solid var(--or);border-radius:50%;pointer-events:none;z-index:9999998;transform:translate(-50%,-50%);will-change:left,top;opacity:.7;transition:width .2s,height .2s,opacity .2s;}
#cur-ring.big{width:56px;height:56px;opacity:1;background:rgba(189,147,97,.08);}
@media(pointer:fine){body{cursor:none !important;}*{cursor:none !important;}.logo-wrap a{cursor:pointer !important;pointer-events:auto !important;}}
@media not all and (pointer:fine){#cur,#cur-ring{display:none;}}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:10px 60px;display:flex;justify-content:space-between;align-items:center;transition:all .4s;}
nav.sc{padding:8px 60px;background:rgba(13,21,37,.95);backdrop-filter:blur(20px);border-bottom:1px solid rgba(189,147,97,.2);}
.logo{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:4px;background:linear-gradient(90deg,var(--or),var(--or-clair));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.logo-sub{color:var(--blanc);font-size:10px;letter-spacing:5px;display:block;margin-top:-4px;font-family:'Barlow',sans-serif;font-weight:300;}
.nav-links{display:flex;gap:36px;list-style:none;align-items:center;}
.nav-links a{color:var(--blanc);text-decoration:none;font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;position:relative;transition:color .3s;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--or);transition:width .3s;}
.nav-links a:hover{color:var(--or);}.nav-links a:hover::after{width:100%;}
.nav-cta{padding:10px 26px!important;border:1px solid var(--or)!important;color:var(--or)!important;}
.nav-cta:hover{background:var(--or)!important;color:var(--noir)!important;}.nav-cta::after{display:none!important;}

/* HERO */
.hero{position:relative;height:100vh;min-height:650px;display:flex;align-items:center;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background-image:url('photo-hero.jpg');background-size:cover;background-position:center;transform-origin:center;animation:slowZoom 20s ease-in-out infinite alternate;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom, rgba(13,21,37,.88) 0%, rgba(13,21,37,.6) 50%, rgba(13,21,37,.1) 85%, rgba(13,21,37,0) 100%), linear-gradient(to right, rgba(13,21,37,.35) 0%, rgba(13,21,37,.05) 40%, rgba(13,21,37,.4) 100%);}
@keyframes slowZoom{from{transform:scale(1.03) translateX(0);}to{transform:scale(1.1) translateX(0);}}
.h-line{position:absolute;background:linear-gradient(90deg,transparent,rgba(189,147,97,.2),transparent);height:1px;width:100%;animation:lsweep 6s ease-in-out infinite;}
.h-line:nth-child(1){top:30%;}.h-line:nth-child(2){top:58%;animation-delay:2s;}.h-line:nth-child(3){top:80%;animation-delay:4s;}
@keyframes lsweep{0%{transform:translateX(-100%);opacity:0;}50%{opacity:1;}100%{transform:translateX(100%);opacity:0;}}
.hero-c{position:relative;z-index:2;padding:0 60px;max-width:920px;}
.hero-tag{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--or);font-weight:600;margin-bottom:24px;}
.hero-tag::before{content:'';width:40px;height:1px;background:var(--or);}
.hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(68px,10vw,140px);line-height:.9;letter-spacing:2px;text-transform:uppercase;margin-bottom:30px;}
/* .gold — déplacé vers la section EXTERNALIZED INLINE STYLES */
@keyframes shimmer{0%,100%{background-position:0%}50%{background-position:200%}}
@keyframes wood-drift{0%{background-position:0% 0%;}50%{background-position:10% 5%;}100%{background-position:0% 0%;}}
.hero p{font-size:18px;font-weight:300;line-height:1.75;color:rgba(234,226,215,.82);max-width:520px;margin-bottom:50px;}
.hero-btns{display:flex;gap:24px;align-items:center;flex-wrap:wrap;}
.btn-p{padding:18px 50px;background:url('texture-bois.jpg') center/cover;color:#ffffff;font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;letter-spacing:3px;text-transform:uppercase;border:none;cursor:pointer;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 100%,12px 100%);transition:transform .3s,box-shadow .3s,background-position .4s;text-decoration:none;display:inline-block;position:relative;text-shadow:0 1px 4px rgba(0,0,0,.5);}
.btn-p:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(189,147,97,.4);background-position:10% 60%;}
.btn-s{display:inline-flex;align-items:center;gap:12px;color:var(--blanc);font-size:13px;font-weight:500;letter-spacing:2px;text-transform:uppercase;text-decoration:none;transition:color .3s;}
.arr{width:40px;height:40px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s;}
.btn-s:hover{color:var(--or);}.btn-s:hover .arr{border-color:var(--or);background:var(--or);}

/* STATS */
.stats{
  background:url('texture-bois.jpg') center/cover no-repeat;
  position:relative;
  padding:48px 60px;
  display:flex;
  justify-content:space-around;
  align-items:center;
  flex-wrap:wrap;
  gap:20px;
  overflow:hidden;
}
/* Voile sombre central */
.stats::before{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(13,21,37,.55);
}
/* Fondu gauche et droite vers la couleur du site */
.stats::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom, var(--noir) 0%, transparent 20%, transparent 80%, var(--noir) 100%);
  pointer-events:none;
}
/* Ligne dorée haut et bas */
.stats-inner{
  position:relative;
  z-index:2;
  width:100%;
  display:flex;
  justify-content:space-around;
  align-items:center;
  flex-wrap:wrap;
  gap:20px;
  border-top:1px solid rgba(189,147,97,.4);
  border-bottom:1px solid rgba(189,147,97,.4);
  padding:24px 0;
}
.stats .st-item,.stats .st-num,.stats .st-lbl,.stats .st-div{position:relative;z-index:2;}
.st-item{text-align:center;}.st-num{font-family:'Bebas Neue',sans-serif;font-size:52px;color:#eae2d7;line-height:1;}
.st-lbl{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(234,226,215,.7);margin-top:4px;}
.st-div{width:1px;height:60px;background:rgba(234,226,215,.25);}

/* SECTIONS */
section{padding:120px 60px;position:relative;}
.sec-tag{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--or);font-weight:600;margin-bottom:20px;}
.sec-tag::before{content:'';width:30px;height:1px;background:var(--or);}
.sec-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(46px,6vw,82px);line-height:.93;letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;}
.ol{-webkit-text-stroke:1px rgba(234,226,215,.3);color:transparent;}
.sec-sub{font-size:16px;font-weight:300;line-height:1.8;color:rgba(234,226,215,.82);max-width:500px;}

/* SERVICES */
.services{background:var(--charbon);}
.svc-hd{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:40px;margin-bottom:70px;}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;}
.svc-card{
  color:var(--blanc);
  background:var(--acier);
  padding:50px 40px;
  position:relative;
  overflow:hidden;
  cursor:pointer;
  transition:transform .5s cubic-bezier(.25,.46,.45,.94), box-shadow .5s;
}
/* Texture par catégorie — cachée au départ */
.svc-tex-bg{
  position:absolute;
  inset:-10px;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.1);
  transition:opacity .65s ease, transform .65s ease;
  z-index:0;
}
.svc-card::before{
  content:none;
}
.svc-card:hover .svc-tex-bg{
  opacity:1;
  transform:scale(1);
}
/* Voile coloré par-dessus la texture */
.svc-card .svc-wood-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(13,21,37,.82) 0%,rgba(13,21,37,.65) 50%,rgba(189,147,97,.25) 100%);
  opacity:0;
  transition:opacity .6s ease;
  z-index:1;
}
/* Ligne bronze animée en bas */
.svc-card::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  width:0;
  height:3px;
  background:linear-gradient(90deg,var(--or),var(--or-clair),var(--or));
  background-size:200%;
  transition:width .5s ease;
  z-index:3;
  animation:none;
}
/* Reflet lumineux diagonal qui traverse la carte */
.svc-card .svc-shine{
  position:absolute;
  top:-100%;
  left:-100%;
  width:60%;
  height:200%;
  background:linear-gradient(105deg,transparent 40%,rgba(234,226,215,.12) 50%,transparent 60%);
  transform:skewX(-15deg);
  transition:none;
  z-index:2;
  opacity:0;
}
/* HOVER */
.svc-card:hover{
  transform:translateY(-10px);
  box-shadow:0 30px 80px rgba(0,0,0,.55), 0 0 0 1px rgba(189,147,97,.2);
}
.svc-card:hover .svc-wood-overlay{
  opacity:1;
}
.svc-card:hover::after{
  width:100%;
  animation:shimmer-bar 2s infinite;
}
.svc-card:hover .svc-shine{
  opacity:1;
  transition:left .7s ease, top .7s ease;
  left:150%;
  top:-100%;
}
@keyframes shimmer-bar{
  0%{background-position:0%;}
  100%{background-position:200%;}
}

.svc-n{font-family:'Bebas Neue',sans-serif;font-size:70px;color:rgba(189,147,97,.07);position:absolute;top:16px;right:26px;line-height:1;}

.svc-ic{font-size:40px;margin-bottom:24px;position:relative;z-index:4;}
.svc-nm{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px;position:relative;z-index:4;transition:color .3s;}
.svc-card:hover .svc-nm{color:var(--or-clair);}
a.svc-card, a.svc-card:visited, a.svc-card:link { color: var(--blanc) !important; }
.svc-dc{font-size:14px;font-weight:300;line-height:1.7;color:rgba(234,226,215,.6);position:relative;z-index:4;transition:color .3s;}
.svc-card:hover .svc-dc{color:rgba(245,245,240,.78);}

/* REALISATIONS */
.reals{background:var(--noir);}
.rl-hd{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:40px;margin-bottom:60px;}
.rl-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(2,280px);gap:4px;}
.rl-item{position:relative;overflow:hidden;cursor:pointer;}
.rl-item:nth-child(1){grid-column:1/6;grid-row:1/3;}.rl-item:nth-child(2){grid-column:6/9;grid-row:1;}.rl-item:nth-child(3){grid-column:9/13;grid-row:1;}.rl-item:nth-child(4){grid-column:6/10;grid-row:2;}.rl-item:nth-child(5){grid-column:10/13;grid-row:2;}
.rl-img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;transition:transform .6s,filter .6s;filter:grayscale(30%) brightness(.8);}
.rl-item:hover .rl-img,.rl-item:hover picture .rl-img{transform:scale(1.08);filter:grayscale(0%) brightness(1);}
.rl-ov{position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(10,10,10,.92) 0%,transparent 55%);opacity:0;transition:opacity .4s;display:flex;align-items:flex-end;padding:28px;}
.rl-item:hover .rl-ov{opacity:1;}
.rl-lbl{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--or-clair);}
.rl-sub{font-size:12px;color:rgba(245,245,240,.75);margin-top:4px;}

/* A PROPOS */
.about{background:var(--charbon);}
.ab-in{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;}
.ab-vis{position:relative;display:inline-block;width:100%;}.ab-img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center;display:block;}
.ab-frame{position:absolute;top:-14px;left:-14px;right:-14px;bottom:-14px;border:2px solid rgba(189,147,97,.7);pointer-events:none;z-index:1;}
.ab-badge{position:absolute;bottom:40px;left:-40px;background:linear-gradient(135deg,var(--or),var(--or-clair));padding:24px 30px;text-align:center;}
.ab-badge-n{font-family:'Bebas Neue',sans-serif;font-size:60px;color:var(--noir);line-height:1;}
.ab-badge-t{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(10,10,10,.65);}
.ab-cnt p{font-size:16px;font-weight:300;line-height:1.9;color:rgba(245,245,240,.75);margin-bottom:20px;}
.ab-feats{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.ab-feat{display:flex;align-items:flex-start;gap:12px;}
.ab-feat-ic{width:36px;height:36px;flex-shrink:0;border:1px solid var(--or);display:flex;align-items:center;justify-content:center;font-size:16px;}
.ab-feat strong{display:block;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--blanc);margin-bottom:3px;}
.ab-feat span{font-size:13px;color:rgba(234,226,215,.6);font-weight:300;}

/* TEMOIGNAGES */
.testi{background:var(--noir);overflow:hidden;}
.ts-in{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:center;}
.ts-card{background:var(--acier);padding:50px;border-left:3px solid var(--or);position:relative;}
.ts-q{font-family:'Bebas Neue',sans-serif;font-size:110px;line-height:.8;color:rgba(189,147,97,.12);position:absolute;top:16px;right:26px;}
.ts-stars{color:var(--or);font-size:18px;margin-bottom:20px;}
.ts-txt{font-size:18px;font-weight:300;line-height:1.8;color:rgba(234,226,215,.9);font-style:italic;margin-bottom:30px;position:relative;z-index:1;}
.ts-auth{display:flex;align-items:center;gap:16px;}
.ts-av{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--or),var(--or-clair));display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--noir);flex-shrink:0;}
.ts-name{font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
.ts-role{font-size:12px;color:var(--or);margin-top:3px;}
.ts-nav{display:flex;gap:12px;margin-top:40px;}
.ts-dot{width:30px;height:3px;background:var(--acier);cursor:pointer;transition:all .3s;border:none;padding:0;display:inline-block;}
.ts-dot.active{background:var(--or);width:60px;}

/* CONTACT */
.contact{background:var(--charbon);}
.ct-in{display:grid;grid-template-columns:1fr 1fr;gap:100px;}
.ct-info p{font-size:16px;font-weight:300;line-height:1.8;color:rgba(245,245,240,.75);margin-bottom:50px;}
.ct-item{display:flex;align-items:flex-start;gap:20px;margin-bottom:28px;}
.ct-ic{width:48px;height:48px;flex-shrink:0;border:1px solid rgba(189,147,97,.3);display:flex;align-items:center;justify-content:center;font-size:20px;transition:all .3s;color:var(--or);}
.ct-item:hover .ct-ic{background:var(--or);color:var(--noir);}
.ct-lbl{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gris);margin-bottom:4px;}
.ct-val{font-size:16px;font-weight:500;}
.fr-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
.fr-grp{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;}
.fr-lbl{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--or);font-weight:600;}
.fr-inp,.fr-ta{background:var(--acier);border:1px solid transparent;padding:16px 20px;color:var(--blanc);font-family:'Barlow',sans-serif;font-size:15px;outline:none;transition:border-color .3s;resize:none;width:100%;}
.fr-inp:focus,.fr-ta:focus{border-color:var(--or);}
.fr-inp::placeholder,.fr-ta::placeholder{color:rgba(245,245,240,.58);}

/* FOOTER */
footer{background:var(--noir);border-top:1px solid rgba(189,147,97,.15);padding:60px;}
.ft-in{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:30px;}
.ft-logo{font-family:'Bebas Neue',sans-serif;font-size:32px;letter-spacing:6px;background:linear-gradient(90deg,var(--or),var(--or-clair));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.ft-copy{font-size:12px;color:var(--gris);letter-spacing:1px;}
.ft-links{display:flex;gap:30px;}.ft-links a{color:var(--gris);text-decoration:none;font-size:12px;letter-spacing:2px;text-transform:uppercase;transition:color .3s;}
.ft-links a:hover{color:var(--or);}

/* ===== PHONE OVERLAY ===== */
#phone-overlay{
  position:fixed;inset:0;
  z-index:999999;
  background:rgba(0,0,0,0);
  display:flex;align-items:center;justify-content:center;
  visibility:hidden;
  pointer-events:none;
  transition:background .4s ease, visibility .4s;
}
#phone-overlay.show{
  background:rgba(0,0,0,.82);
  visibility:visible;
  pointer-events:auto;
}
#phone-blur{
  position:absolute;inset:0;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  opacity:0;
  transition:opacity .4s ease;
}
#phone-overlay.show #phone-blur{opacity:1;}

#phone-box{
  position:relative;z-index:1;
  text-align:center;padding:60px 80px;
  border:1px solid rgba(189,147,97,.25);
  background:rgba(13,21,37,.6);
  transform:scale(.85);
  opacity:0;
  transition:transform .5s cubic-bezier(.34,1.4,.64,1), opacity .4s ease;
  min-width:480px;
}
#phone-overlay.show #phone-box{transform:scale(1);opacity:1;}

/* Coins décoratifs */
#phone-box::before{content:'';position:absolute;top:0;left:0;width:30px;height:30px;border-top:2px solid var(--or);border-left:2px solid var(--or);}
#phone-box::after{content:'';position:absolute;bottom:0;right:0;width:30px;height:30px;border-bottom:2px solid var(--or);border-right:2px solid var(--or);}

.ph-corner-tr{position:absolute;top:0;right:0;width:30px;height:30px;border-top:2px solid var(--or);border-right:2px solid var(--or);}
.ph-corner-bl{position:absolute;bottom:0;left:0;width:30px;height:30px;border-bottom:2px solid var(--or);border-left:2px solid var(--or);}

.ph-icon{font-size:32px;margin-bottom:20px;opacity:0;transition:opacity .4s ease .2s;}
#phone-overlay.show .ph-icon{opacity:1;}

.ph-label{
  font-family:'Barlow Condensed',sans-serif;
  font-size:12px;letter-spacing:8px;text-transform:uppercase;
  color:var(--or);margin-bottom:24px;
  opacity:0;transform:translateY(10px);
  transition:all .4s ease .15s;
}
#phone-overlay.show .ph-label{opacity:1;transform:translateY(0);}

.ph-num{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(56px,10vw,100px);
  letter-spacing:8px;line-height:1;
  background:linear-gradient(90deg,var(--or-sombre),var(--or),var(--or-clair),var(--or));
  background-size:300%;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:shimmer 2.5s infinite;
  opacity:0;
  transition:opacity .4s ease .1s;
}
#phone-overlay.show .ph-num{opacity:1;}

.ph-line{
  width:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--or),transparent);
  margin:28px auto;
  transition:width .7s ease .3s;
}
#phone-overlay.show .ph-line{width:100%;}

.ph-sub{
  font-size:12px;letter-spacing:4px;text-transform:uppercase;
  color:rgba(234,226,215,.75);
  opacity:0;transition:opacity .4s ease .4s;
}
#phone-overlay.show .ph-sub{opacity:1;}

.ph-btn{
  display:inline-flex;align-items:center;gap:10px;
  margin-top:32px;
  padding:14px 40px;
  background:linear-gradient(135deg,var(--or),var(--or-clair));
  color:var(--noir);
  font-family:'Barlow Condensed',sans-serif;
  font-size:14px;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  border:none;cursor:pointer;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 100%,10px 100%);
  opacity:0;transform:translateY(10px);
  transition:all .4s ease .45s, transform .2s ease 0s, box-shadow .2s ease 0s;
  text-decoration:none;
}
#phone-overlay.show .ph-btn{opacity:1;transform:translateY(0);}
.ph-btn:hover{transform:translateY(-3px)!important;box-shadow:0 10px 40px rgba(189,147,97,.4);}

.ph-close{
  position:absolute;top:16px;right:16px;
  background:none;border:1px solid rgba(189,147,97,.3);
  width:34px;height:34px;border-radius:50%;
  color:var(--or);font-size:16px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .3s;line-height:1;
}
.ph-close:hover{background:var(--or);color:var(--noir);}

/* ===== LOGO CLIQUABLE ===== */
.logo-wrap{position:relative;cursor:pointer;display:inline-block;}
.logo-wrap::after{content:'';position:absolute;inset:-6px;border:1px solid rgba(189,147,97,0);border-radius:2px;transition:all .3s;}
.logo-wrap:hover::after{border-color:rgba(189,147,97,.4);}
.logo-wrap:hover .logo{filter:brightness(1.2);}
.logo-hint{font-size:9px;letter-spacing:2px;color:rgba(189,147,97,.5);text-align:center;margin-top:2px;font-family:'Barlow',sans-serif;font-weight:400;transition:color .3s;}
.logo-wrap:hover .logo-hint{color:var(--or);}

.nav-tel-btn{
  background:none;border:1px solid rgba(189,147,97,.4);
  color:var(--or);
  font-family:'Barlow',sans-serif;font-size:12px;font-weight:600;
  letter-spacing:2px;text-transform:uppercase;
  padding:8px 18px;cursor:pointer;
  border-radius:2px;
  transition:all .3s;
  display:flex;align-items:center;gap:8px;
  animation:pulseBorder 2.5s ease-in-out infinite;
}
.nav-tel-btn:hover{background:var(--or);color:var(--noir);}
@keyframes pulseBorder{
  0%,100%{border-color:rgba(189,147,97,.4);box-shadow:none;}
  50%{border-color:var(--or);box-shadow:0 0 12px rgba(189,147,97,.3);}
}
/* BADGE FLOTTANT */
#contact-badge{
  position:fixed;right:28px;bottom:150px;
  z-index:100001;
  background:transparent;border:none;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  animation:floatBadge 3s ease-in-out infinite;
}
@keyframes floatBadge{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.badge-ring{
  width:58px;height:58px;border-radius:50%;
  border:1px solid rgba(189,147,97,.5);
  display:flex;align-items:center;justify-content:center;
  position:relative;background:rgba(13,21,37,.7);
  transition:all .3s;
}
.badge-ring::before{content:'';position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(189,147,97,.2);animation:ripple 2s ease-out infinite;}
.badge-ring::after{content:'';position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(189,147,97,.08);animation:ripple 2s ease-out infinite .5s;}
@keyframes ripple{0%{transform:scale(.9);opacity:1;}100%{transform:scale(1.5);opacity:0;}}
.badge-ring:hover{background:var(--or);}
.badge-ring:hover .badge-ic{filter:invert(1);}
.badge-ic{font-size:22px;position:relative;z-index:1;}
.badge-txt{font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--or);}


.rv,.rv-l,.rv-r{opacity:0;transition:all .8s ease;}
.rv{transform:translateY(40px);}.rv-l{transform:translateX(-40px);}.rv-r{transform:translateX(40px);}
.rv.on,.rv-l.on,.rv-r.on{opacity:1;transform:none;}

@media(max-width:900px){
  nav{padding:18px 24px;}nav.sc{padding:12px 24px;}.nav-links{display:none;}
  section{padding:80px 24px;}.hero-c{padding:0 24px;}.stats{padding:24px;}
  .svc-grid{grid-template-columns:1fr;}.ab-in{grid-template-columns:1fr;gap:60px;}.ab-badge{left:16px;}
  .rl-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;}.rl-item{grid-column:auto!important;grid-row:auto!important;height:200px;}
  .ts-in{grid-template-columns:1fr;gap:40px;}.ct-in{grid-template-columns:1fr;gap:60px;}.fr-row{grid-template-columns:1fr;}
  footer{padding:40px 24px;}.ft-in{flex-direction:column;text-align:center;}
}

#zone-map{width:100%;height:100%;background:#060606;position:relative;overflow:hidden;}
      .zm-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(189,147,97,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(189,147,97,.035) 1px,transparent 1px);background-size:50px 50px;}
      .zm-vignette{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.75) 100%);}
      .zm-city{position:absolute;display:flex;align-items:center;gap:16px;cursor:grab;user-select:none;z-index:5;}
      .zm-city:active{cursor:grabbing;}
      .zm-city.dragging{z-index:99;opacity:.9;}
      /* hint visuel quand éditable */
      .zm-city:hover .zm-name::after{content:" ✎";font-size:14px;opacity:.5;}
      #zone-badge:hover .zb-title::after{content:" ✎";font-size:14px;opacity:.5;}
      .zm-dot-wrap{position:relative;width:22px;height:22px;flex-shrink:0;}
      .zm-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:#bd9363;border-radius:50%;box-shadow:0 0 12px #bd9363,0 0 24px rgba(189,147,97,.5);}
      @keyframes r1{0%{width:12px;height:12px;opacity:.9}100%{width:52px;height:52px;opacity:0}}
      @keyframes r2{0%{width:12px;height:12px;opacity:.5}100%{width:80px;height:80px;opacity:0}}
      .zm-r1{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1.5px solid #bd9363;animation:r1 2.2s ease-out infinite;}
      .zm-r2{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(189,147,97,.35);animation:r2 2.2s ease-out infinite .55s;}
      @keyframes nameGlow{0%,100%{opacity:1;text-shadow:0 0 18px rgba(189,147,97,.9),0 0 36px rgba(189,147,97,.4);}50%{opacity:.45;text-shadow:0 0 6px rgba(189,147,97,.3);}}
      .zm-name{font-family:"Barlow Condensed",sans-serif;font-size:26px;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:#d4aa7a;white-space:nowrap;animation:nameGlow 3s ease-in-out infinite;outline:none;}
      .zm-name[contenteditable=true]{border-bottom:1px dashed rgba(189,147,97,.5);animation:none;opacity:1;}
      /* Badge zone */
      @keyframes zoneGrow{
        0%,100%{transform:scale(1);opacity:1;box-shadow:0 0 10px rgba(189,147,97,.4),inset 0 0 8px rgba(189,147,97,.1);}
        50%{transform:scale(1.06);opacity:.55;box-shadow:0 0 30px rgba(189,147,97,.8),inset 0 0 20px rgba(189,147,97,.2);}
      }
      @keyframes zoneTextGlow{0%,100%{text-shadow:0 0 10px rgba(189,147,97,.6);opacity:1;}50%{text-shadow:0 0 30px rgba(189,147,97,1),0 0 60px rgba(189,147,97,.5);opacity:.6;}}
      @keyframes cornerPulse{0%,100%{opacity:1;}50%{opacity:.3;}}
      #zone-badge{position:absolute;top:28px;left:50%;z-index:5;padding:22px 40px;background:linear-gradient(135deg,#1a1a1e,#2a2a30,#1e2228);border:2px solid #bd9363;animation:zoneGrow 2.4s ease-in-out infinite;cursor:grab;}
      #zone-badge:active{cursor:grabbing;}
      #zone-badge.dragging{z-index:99;}
      #zone-badge .zb-corner{position:absolute;width:12px;height:12px;animation:cornerPulse 2.4s ease-in-out infinite;}
      #zone-badge .zb-corner.tl{top:-1px;left:-1px;border-top:2px solid #d4aa7a;border-left:2px solid #d4aa7a;}
      #zone-badge .zb-corner.tr{top:-1px;right:-1px;border-top:2px solid #d4aa7a;border-right:2px solid #d4aa7a;}
      #zone-badge .zb-corner.bl{bottom:-1px;left:-1px;border-bottom:2px solid #d4aa7a;border-left:2px solid #d4aa7a;}
      #zone-badge .zb-corner.br{bottom:-1px;right:-1px;border-bottom:2px solid #d4aa7a;border-right:2px solid #d4aa7a;}
      #zone-badge .zb-label{font-family:"Barlow Condensed",sans-serif;font-size:13px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:rgba(189,147,97,.7);margin-bottom:8px;}
      #zone-badge .zb-title{font-family:"Bebas Neue",sans-serif;font-size:38px;letter-spacing:5px;line-height:1.1;color:#d4aa7a;animation:zoneTextGlow 2.4s ease-in-out infinite;white-space:nowrap;outline:none;}
      #zone-badge .zb-title[contenteditable=true]{border-bottom:1px dashed rgba(189,147,97,.5);animation:none;opacity:1;}
      /* Tooltip aide */
      .zm-hint{position:absolute;bottom:8px;right:12px;font-family:"Barlow Condensed",sans-serif;font-size:10px;letter-spacing:2px;color:rgba(189,147,97,.3);pointer-events:none;z-index:20;}

#zm-contact {
            position:absolute; top:50%; right:3%; transform:translateY(-50%);
            z-index:6; width:270px; cursor:grab;
          }
          #zm-contact:active { cursor:grabbing; }
          #zm-contact .zmc-wrap {
            background:rgba(4,4,4,.95);
            border:1px solid rgba(189,147,97,.4);
            padding:28px 26px;
            position:relative;
          }
          /* Ligne dorée top */
          #zm-contact .zmc-wrap::before {
            content:''; position:absolute; top:0; left:20%; right:20%; height:2px;
            background:linear-gradient(90deg,transparent,#bd9363,transparent);
          }
          /* 4 coins lumineux */
          #zm-contact .cc { position:absolute; width:14px; height:14px; }
          #zm-contact .cc.tl { top:-1px; left:-1px; border-top:2px solid #d4aa7a; border-left:2px solid #d4aa7a; }
          #zm-contact .cc.tr { top:-1px; right:-1px; border-top:2px solid #d4aa7a; border-right:2px solid #d4aa7a; }
          #zm-contact .cc.bl { bottom:-1px; left:-1px; border-bottom:2px solid #d4aa7a; border-left:2px solid #d4aa7a; }
          #zm-contact .cc.br { bottom:-1px; right:-1px; border-bottom:2px solid #d4aa7a; border-right:2px solid #d4aa7a; }
          /* Titre */
          #zm-contact .zmc-head {
            font-family:'Bebas Neue',sans-serif; font-size:22px; letter-spacing:6px;
            color:#d4aa7a; text-align:center; margin-bottom:22px;
            text-shadow:0 0 12px rgba(189,147,97,.6);
          }
          #zm-contact .zmc-head::after {
            content:''; display:block; width:40px; height:1px;
            background:linear-gradient(90deg,transparent,#bd9363,transparent);
            margin:6px auto 0;
          }
          /* Lignes info */
          #zm-contact .zmc-row {
            display:flex; align-items:center; gap:14px;
            padding:12px 0; border-bottom:1px solid rgba(189,147,97,.1);
          }
          #zm-contact .zmc-row:last-of-type { border-bottom:none; }
          #zm-contact .zmc-icon {
            width:38px; height:38px; flex-shrink:0;
            border:1px solid rgba(189,147,97,.35);
            display:flex; align-items:center; justify-content:center;
            font-size:16px; background:rgba(189,147,97,.05);
          }
          #zm-contact .zmc-lbl {
            font-family:'Barlow Condensed',sans-serif; font-size:9px;
            letter-spacing:3px; text-transform:uppercase; color:rgba(189,147,97,.55);
            margin-bottom:4px;
          }
          #zm-contact .zmc-val {
            font-family:'Barlow',sans-serif; font-size:14px; font-weight:500;
            color:#f0ede4; line-height:1.4;
          }
          #zm-contact .zmc-val a { color:#bd9363; text-decoration:none; font-weight:600; font-size:16px; }
          /* Bouton Google Maps */
          @keyframes btnShine {
            0%,100% { box-shadow:0 0 8px rgba(189,147,97,.3); }
            50%      { box-shadow:0 0 20px rgba(189,147,97,.7), 0 0 40px rgba(189,147,97,.2); }
          }
          #zm-contact .zmc-btn {
            display:flex; align-items:center; justify-content:center; gap:8px;
            margin-top:20px; padding:13px 16px;
            background:transparent; border:1px solid #bd9363;
            color:#bd9363; font-family:'Barlow Condensed',sans-serif;
            font-size:12px; font-weight:700; letter-spacing:3px; text-transform:uppercase;
            text-decoration:none; position:relative; overflow:hidden;
            animation:btnShine 2.5s ease-in-out infinite;
            transition:color .3s;
          }
          #zm-contact .zmc-btn::before {
            content:''; position:absolute; inset:0;
            background:linear-gradient(135deg,#bd9363,#d4aa7a);
            transform:translateX(-102%); transition:transform .35s ease;
          }
          #zm-contact .zmc-btn:hover::before { transform:translateX(0); }
          #zm-contact .zmc-btn:hover { color:#0a0a0a; }
          #zm-contact .zmc-btn span { position:relative; z-index:1; }
/* LOGO PNG NAVBAR */
.logo-img-nav{height:72px;width:auto;display:block;filter:brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.4));transition:filter .3s,transform .3s;}
.logo-wrap:hover .logo-img-nav{filter:brightness(0) invert(1) drop-shadow(0 2px 16px rgba(234,226,215,.5));transform:scale(1.02);}
.logo-wrap{position:relative;display:inline-flex;align-items:center;}

/* LOGO LIEN CLIQUABLE */
.logo-wrap a{display:block;line-height:0;text-decoration:none;pointer-events:auto !important;}
.logo-wrap a:hover .logo-img-nav,.logo-wrap a:focus .logo-img-nav{filter:brightness(0) invert(1) drop-shadow(0 2px 16px rgba(234,226,215,.6));transform:scale(1.03);}

/* ═══════════════════════════════════════
   LIGHTBOX PRO
═══════════════════════════════════════ */
#lb-overlay{
  position:fixed;inset:0;z-index:9000000;
  background:rgba(5,10,20,0);
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;opacity:0;
  transition:opacity .4s ease, background .4s ease;
  backdrop-filter:blur(0px);
}
#lb-overlay.open{
  opacity:1;pointer-events:auto;
  background:rgba(5,10,20,.92);
  backdrop-filter:blur(16px);
}
#lb-box{
  position:relative;
  max-width:90vw;max-height:90vh;
  width:900px;
  display:flex;flex-direction:column;
  transform:scale(.85) translateY(30px);opacity:0;
  transition:transform .45s cubic-bezier(.16,1,.3,1), opacity .4s ease;
  border:1px solid rgba(189,147,97,.2);
  background:rgba(10,15,28,.6);
}
#lb-overlay.open #lb-box{
  transform:scale(1) translateY(0);opacity:1;
}

/* Coins décoratifs */
.lb-corner{position:absolute;width:18px;height:18px;z-index:2;}
.lb-tl{top:-1px;left:-1px;border-top:2px solid var(--or);border-left:2px solid var(--or);}
.lb-tr{top:-1px;right:-1px;border-top:2px solid var(--or);border-right:2px solid var(--or);}
.lb-bl{bottom:-1px;left:-1px;border-bottom:2px solid var(--or);border-left:2px solid var(--or);}
.lb-br{bottom:-1px;right:-1px;border-bottom:2px solid var(--or);border-right:2px solid var(--or);}

/* Image */
#lb-img-wrap{position:relative;overflow:hidden;max-height:72vh;flex:1;}
#lb-img{width:100%;height:100%;object-fit:cover;display:block;max-height:72vh;
  transition:transform .6s cubic-bezier(.16,1,.3,1);}
#lb-overlay.open #lb-img{transform:scale(1);}

/* Ligne scanline décorative */
#lb-scan{
  position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--or),var(--or-clair),var(--or),transparent);
  animation:lbScan 2.5s ease-in-out infinite;
  opacity:.7;pointer-events:none;
}
@keyframes lbScan{
  0%{top:0%;opacity:0;}5%{opacity:.8;}95%{opacity:.8;}100%{top:100%;opacity:0;}
}

/* Barre infos */
#lb-info{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;gap:20px;
  border-top:1px solid rgba(189,147,97,.15);
  background:rgba(10,15,28,.8);
}
#lb-tag{
  font-family:'Montserrat',sans-serif;font-size:8px;font-weight:700;
  letter-spacing:4px;color:var(--or);opacity:.7;text-transform:uppercase;
}
#lb-title{
  font-family:'Montserrat',sans-serif;font-size:16px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;
  background:linear-gradient(90deg,var(--or),var(--or-clair));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  flex:1;text-align:center;
}
#lb-meta{display:flex;gap:16px;align-items:center;font-size:11px;font-weight:300;color:rgba(234,226,215,.6);letter-spacing:2px;text-transform:uppercase;}
#lb-year{border-left:1px solid rgba(189,147,97,.3);padding-left:16px;color:var(--or);opacity:.7;}

/* Compteur */
#lb-count{
  position:absolute;top:16px;left:50%;transform:translateX(-50%);
  font-family:'Montserrat',sans-serif;font-size:10px;font-weight:600;
  letter-spacing:3px;color:var(--or);opacity:.8;
  background:rgba(10,15,28,.7);padding:4px 14px;border:1px solid rgba(189,147,97,.2);
}

/* Bouton fermer */
#lb-close{
  position:absolute;top:-44px;right:0;
  width:36px;height:36px;
  background:rgba(10,15,28,.8);border:1px solid rgba(189,147,97,.3);
  color:var(--or);font-size:14px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .25s;z-index:10;
  clip-path:polygon(6px 0%,100% 0%,100% calc(100% - 6px),calc(100% - 6px) 100%,0% 100%,0% 6px);
}
#lb-close:hover{background:var(--or);color:var(--noir);}

/* Navigation prev/next */
.lb-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:48px;height:80px;
  background:rgba(10,15,28,.6);border:1px solid rgba(189,147,97,.2);
  color:var(--or);font-size:28px;cursor:pointer;z-index:10;
  display:flex;align-items:center;justify-content:center;
  transition:all .25s;
}
.lb-prev{left:-60px;}
.lb-next{right:-60px;}
.lb-nav:hover{background:rgba(189,147,97,.15);border-color:rgba(189,147,97,.6);}
@media(max-width:1100px){
  .lb-prev{left:8px;}.lb-next{right:8px;}
  .lb-nav{background:rgba(10,15,28,.85);}
}
@media(max-width:600px){#lb-box{max-width:98vw;}#lb-info{flex-direction:column;gap:6px;padding:10px 16px;}}

/* ═══════════════════════════════════════════
   SECTION LOCALISATION — REDESIGN
═══════════════════════════════════════════ */
.loc-grid{
  display:grid;
  grid-template-columns:1fr 380px;
  min-height:640px;
}
.loc-map-wrap{
  position:relative;overflow:hidden;
  border-right:1px solid rgba(189,147,97,.1);
}
#zone-map{height:100%;min-height:640px;}

/* Ville principale plus visible */
.zm-dot-main{
  width:16px!important;height:16px!important;
  box-shadow:0 0 16px var(--or),0 0 32px rgba(189,147,97,.6)!important;
}
.zm-name-main{
  font-size:18px!important;
  color:var(--or)!important;
  text-shadow:0 0 20px rgba(189,147,97,.5);
}

/* Badge zone centré */
#zone-badge{
  text-align:center;
}
#zone-badge .zb-title{
  font-size:28px!important;
  line-height:1.2!important;
  white-space:normal!important;
  text-align:center;
}

/* COLONNE INFOS */
.loc-info-col{
  display:flex;flex-direction:column;
  background:rgba(6,10,20,.75);
  padding:0 0 0 0;
}

.loc-block{
  padding:24px 36px 24px 40px;
  border-bottom:1px solid rgba(189,147,97,.07);
  transition:background .3s;
}
.loc-block:hover{background:rgba(189,147,97,.025);}
.loc-block-label{
  font-size:9px;letter-spacing:4px;text-transform:uppercase;
  color:var(--or);opacity:.65;margin-bottom:10px;
  display:flex;align-items:center;gap:8px;
}
.loc-block-label::after{
  content:'';flex:1;height:1px;
  background:linear-gradient(90deg,rgba(189,147,97,.15),transparent);
}
.loc-block-main{font-size:15px;font-weight:600;color:var(--blanc);letter-spacing:.3px;line-height:1.5;}
.loc-block-sub{font-size:11px;font-weight:300;color:rgba(245,245,240,.32);letter-spacing:1px;margin-top:2px;}
.loc-phone{text-decoration:none;display:block;transition:color .3s;}
.loc-phone:hover .loc-block-main{color:var(--or);}

/* Tags villes */
.loc-block-cities{flex:1;}
.loc-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px;}
.loc-tag{
  padding:4px 11px;
  border:1px solid rgba(189,147,97,.12);
  font-size:9px;letter-spacing:2px;text-transform:uppercase;
  color:rgba(245,245,240,.32);transition:all .25s;cursor:default;
}
.loc-tag:hover{border-color:rgba(189,147,97,.35);color:rgba(234,226,215,.75);}
.loc-tag-main{border-color:rgba(189,147,97,.45)!important;color:var(--or)!important;}

/* CTA */
.loc-cta-wrap{
  padding:24px 36px 24px 40px;
  border-top:1px solid rgba(189,147,97,.1);
  display:flex;gap:12px;align-items:center;flex-wrap:wrap;
}
.loc-gmaps-btn{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 18px;
  border:1px solid rgba(189,147,97,.3);
  color:var(--or);font-family:'Barlow Condensed',sans-serif;
  font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  text-decoration:none;transition:all .3s;
}
.loc-gmaps-btn:hover{background:rgba(189,147,97,.07);border-color:rgba(189,147,97,.6);}
.loc-arrow{transition:transform .3s;}
.loc-gmaps-btn:hover .loc-arrow{transform:translateX(4px);}

/* Responsive */
@media(max-width:1000px){
  .loc-grid{grid-template-columns:1fr;}
  .loc-map-wrap{min-height:400px;}#zone-map{min-height:400px;}
}
@media(max-width:600px){
  .loc-block{padding:18px 20px;}
  .loc-cta-wrap{padding:18px 20px;flex-direction:column;}
  .loc-gmaps-btn,.loc-cta-wrap .btn-p{width:100%;text-align:center;}
}

/* ═══════════════════════════════
   HAMBURGER MENU MOBILE
═══════════════════════════════ */
#burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  background: none;
  border: 1px solid rgba(189,147,97,.35);
  cursor: pointer;
  padding: 10px;
  z-index: 1001;
  transition: border-color .3s;
}
#burger:hover { border-color: var(--or); }
#burger span {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--or);
  border-radius: 2px;
  transition: all .35s cubic-bezier(.77,0,.18,1);
  transform-origin: center;
}
/* Animation → croix */
#burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
#burger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
#burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media(max-width:900px) {
  #burger { display: flex; }

  .nav-links {
    display: flex !important; /* override l'ancien display:none */
    flex-direction: column;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(10,10,10,.97);
    backdrop-filter: blur(20px);
    justify-content: center;
    align-items: center;
    gap: 0;
    z-index: 999;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-16px);
    transition: opacity .35s ease, transform .35s ease;
  }
  .nav-links.open {
    opacity: 1;
    pointer-events: all;
    transform: translateY(0);
  }
  .nav-links li { width: 100%; text-align: center; }
  .nav-links a,
  .nav-links button {
    display: block;
    font-size: 28px !important;
    letter-spacing: 4px;
    padding: 20px 40px !important;
    width: 100%;
    border: none !important;
    background: none !important;
    color: var(--blanc) !important;
  }
  .nav-links a:hover,
  .nav-links button:hover { color: var(--or) !important; }
  .nav-links .nav-cta {
    margin-top: 20px;
    border: 1px solid var(--or) !important;
    color: var(--or) !important;
    display: inline-block !important;
    width: auto !important;
    clip-path: polygon(0 0,calc(100% - 10px) 0,100% 100%,10px 100%);
  }
  .nav-tel-btn { color: var(--or) !important; }
}

/* ═══════════════════════════════
   BOUTON RETOUR EN HAUT
═══════════════════════════════ */
/* back-top: défini dans les nouveaux styles */
/* #back-top { bottom: 90px; } — supprimé, remplacé */

/* ═══════════════════════════════
   AVANT / APRÈS SLIDER
═══════════════════════════════ */
.avap {
  background: var(--noir);
  padding: 100px 0 60px;
  overflow: hidden;
  position: relative;
}

/* ── DÉCHIRURES 4 CÔTÉS ── */
.avap-tear-left,
.avap-tear-right,
.avap-tear-top,
.avap-tear-bottom {
  position: absolute;
  z-index: 20;
  pointer-events: none;
}
.avap-tear-left {
  left: 0; top: 0; bottom: 0; width: 70px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='1000' preserveAspectRatio='none'%3E%3Cpath d='M0,0 L70,0 L58,35 L70,65 L52,100 L70,135 L55,170 L70,205 L48,240 L70,275 L60,310 L70,345 L50,380 L70,415 L54,450 L70,485 L46,520 L70,555 L62,590 L70,625 L50,660 L70,695 L56,730 L70,765 L48,800 L70,835 L58,870 L70,900 L52,935 L70,970 L60,1000 L0,1000 Z' fill='%230d1525'/%3E%3C/svg%3E") left top / 70px 100%;
}
.avap-tear-right {
  right: 0; top: 0; bottom: 0; width: 70px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='1000' preserveAspectRatio='none'%3E%3Cpath d='M70,0 L0,0 L12,35 L0,65 L18,100 L0,135 L15,170 L0,205 L22,240 L0,275 L10,310 L0,345 L20,380 L0,415 L16,450 L0,485 L24,520 L0,555 L8,590 L0,625 L20,660 L0,695 L14,730 L0,765 L22,800 L0,835 L12,870 L0,900 L18,935 L0,970 L10,1000 L70,1000 Z' fill='%230d1525'/%3E%3C/svg%3E") right top / 70px 100%;
}
.avap-tear-top {
  top: 0; left: 0; right: 0; height: 50px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='50' preserveAspectRatio='none'%3E%3Cpath d='M0,0 L0,50 L40,38 L80,50 L120,34 L160,50 L200,40 L240,50 L280,32 L320,50 L360,42 L400,50 L440,36 L480,50 L520,38 L560,50 L600,34 L640,50 L680,40 L720,50 L760,36 L800,50 L840,38 L880,50 L920,34 L960,50 L1000,42 L1000,0 Z' fill='%230d1525'/%3E%3C/svg%3E") top left / 100% 50px;
}
.avap-tear-bottom {
  bottom: 0; left: 0; right: 0; height: 50px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='50' preserveAspectRatio='none'%3E%3Cpath d='M0,50 L0,0 L40,12 L80,0 L120,16 L160,0 L200,10 L240,0 L280,18 L320,0 L360,8 L400,0 L440,14 L480,0 L520,12 L560,0 L600,16 L640,0 L680,10 L720,0 L760,14 L800,0 L840,12 L880,0 L920,16 L960,0 L1000,8 L1000,50 Z' fill='%230d1525'/%3E%3C/svg%3E") bottom left / 100% 50px;
}

/* ── HEADER ── */
.avap-hd {
  text-align: center;
  margin-bottom: 50px;
  padding: 0 120px;
  position: relative;
  z-index: 2;
}

/* ── GRAND SLIDER FEATURED ── */
.avap-featured {
  position: relative;
  margin: 0 80px 6px;
  z-index: 2;
}
.avap-feat-inner {
  position: relative;
  width: 100%;
}
.avap-featured .avap-slider {
  width: 100%;
  height: 460px;
  cursor: col-resize;
  user-select: none;
  -webkit-user-select: none;
  position: relative;
  overflow: hidden;
}

/* Info flottante en bas du featured */
.avap-feat-info {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 18px 30px;
  background: var(--acier);
  border-top: 2px solid rgba(189,147,99,.25);
  border-bottom: 1px solid rgba(189,147,99,.1);
}
.avap-feat-num {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 44px;
  font-weight: 800;
  color: rgba(189,147,99,.2);
  line-height: 1;
  letter-spacing: -2px;
  flex-shrink: 0;
}
.avap-feat-txt { flex: 1; }
.avap-feat-tag {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--or);
  border: 1px solid rgba(189,147,99,.4);
  padding: 6px 16px;
  flex-shrink: 0;
  background: rgba(189,147,99,.07);
}

/* ── DUO SLIDERS ── */
.avap-duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin: 0 80px;
  z-index: 2;
  position: relative;
}
.avap-duo-item {
  display: flex;
  flex-direction: column;
}
.avap-duo-item .avap-slider {
  width: 100%;
  height: 300px;
  cursor: col-resize;
  user-select: none;
  -webkit-user-select: none;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.avap-duo-info {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 22px;
  background: var(--acier);
  border-top: 2px solid rgba(189,147,99,.2);
  border-bottom: 1px solid rgba(189,147,99,.08);
  transition: border-top-color 0.3s;
}
.avap-duo-item:hover .avap-duo-info {
  border-top-color: var(--or);
}
.avap-duo-num {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 32px;
  font-weight: 800;
  color: rgba(189,147,99,.2);
  line-height: 1;
  flex-shrink: 0;
}

/* ── IMAGES ── */
.avap-before-img,
.avap-after-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}
.avap-before-img {
  clip-path: inset(0 50% 0 0);
  transition: clip-path 0s;
}

/* Labels AVANT / APRÈS */
.avap-slider::before,
.avap-slider::after {
  position: absolute;
  top: 14px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  padding: 5px 12px;
  z-index: 8;
  pointer-events: none;
  backdrop-filter: blur(6px);
}
.avap-slider::before {
  content: 'AVANT';
  left: 14px;
  color: rgba(234,226,215,.8);
  background: rgba(13,21,37,.6);
  border: 1px solid rgba(234,226,215,.2);
}
.avap-slider::after {
  content: 'APRÈS';
  right: 14px;
  color: var(--or);
  background: rgba(13,21,37,.6);
  border: 1px solid rgba(189,147,99,.4);
}

/* ── DIVIDER ── */
.avap-divider {
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  width: 2px;
  background: linear-gradient(to bottom, transparent 0%, var(--or) 15%, var(--or) 85%, transparent 100%);
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 10;
}
.avap-handle {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 46px; height: 46px;
  background: var(--or);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 4px rgba(189,147,99,.25), 0 8px 30px rgba(0,0,0,.6);
  pointer-events: none;
  transition: box-shadow 0.3s;
}
.avap-slider:hover .avap-handle {
  box-shadow: 0 0 0 6px rgba(189,147,99,.35), 0 12px 40px rgba(0,0,0,.7);
}

/* ── TEXTES COMMUNS ── */
.avap-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--blanc);
  margin-bottom: 4px;
}
.avap-desc {
  font-size: 12px;
  font-weight: 300;
  color: rgba(234,226,215,.5);
  letter-spacing: 1px;
}

/* Masquer anciens éléments */
.avap-item, .avap-grid, .avap-label-top,
.avap-badge, .avap-info, .avap-placeholder-note { display: none; }

@media(max-width:900px) {
  .avap { padding: 60px 0 40px; }
  .avap-hd { padding: 0 40px; }
  .avap-featured { margin: 0 20px 6px; }
  .avap-featured .avap-slider { height: 280px; }
  .avap-duo { grid-template-columns: 1fr; margin: 0 20px; }
  .avap-duo-item .avap-slider { height: 240px; }
  .avap-feat-num, .avap-duo-num { font-size: 28px; }
}



/* ═══════════════════════════════
   RÉSEAUX SOCIAUX
═══════════════════════════════ */
.ft-social {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-bottom: 28px;
}
.ft-soc-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 1px solid rgba(189,147,97,.3);
  color: rgba(234,226,215,.6);
  text-decoration: none;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  transition: all .3s;
  clip-path: polygon(0 0,calc(100% - 8px) 0,100% 100%,8px 100%);
}
.ft-soc-btn:hover {
  border-color: var(--or);
  color: var(--or);
  background: rgba(189,147,97,.06);
}
@media(max-width:600px) {
  .ft-social { flex-direction: column; align-items: center; }
}

/* ═══════════════════════════════════════════
   TÉMOIGNAGES v2 — Slider 2 colonnes
═══════════════════════════════════════════ */
.testi {
  background: var(--noir);
  padding: 0;
  overflow: hidden;
}
.ts2-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 620px;
}

/* — Droite : panneau contextuel — */
.ts2-right {
  background: linear-gradient(135deg, var(--charbon) 0%, #0a1020 100%);
  padding: 80px 60px;
  display: flex;
  align-items: center;
  border-right: 1px solid rgba(189,147,97,.12);
  position: relative;
}
.ts2-right::after {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 3px; height: 100%;
  background: linear-gradient(to bottom, transparent, var(--or) 30%, var(--or-clair) 50%, var(--or) 70%, transparent);
}
.ts2-right-inner { width: 100%; }
.ts2-intro {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(234,226,215,.6);
  margin-bottom: 36px;
  max-width: 380px;
}
.ts2-score {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 32px;
  padding: 20px 24px;
  background: rgba(189,147,97,.06);
  border: 1px solid rgba(189,147,97,.18);
  border-left: 3px solid var(--or);
}
.ts2-score-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 56px;
  color: var(--or);
  line-height: 1;
}
.ts2-score-stars { color: var(--or); font-size: 20px; margin-bottom: 4px; }
.ts2-score-sub {
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(234,226,215,.38);
}

/* Badge Google */
.ts2-google-badge {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding: 16px 22px;
  background: rgba(13,21,37,.6);
  border: 1px solid rgba(189,147,97,.25);
  text-decoration: none;
  transition: all .3s;
}
.ts2-google-badge:hover {
  border-color: var(--or);
  background: rgba(189,147,97,.06);
}
.ts2-badge-stars { color: #FBBC05; font-size: 14px; margin-bottom: 3px; }
.ts2-badge-label {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--or);
}
.ts2-badge-sub {
  font-size: 10px;
  color: rgba(234,226,215,.38);
  margin-top: 2px;
  letter-spacing: 1px;
}

/* — Gauche : carte — */
.ts2-left {
  background: var(--acier);
  padding: 60px 56px;
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
}

/* Progress bar */
.ts2-progress {
  height: 2px;
  background: rgba(189,147,97,.12);
  margin-bottom: 36px;
  position: relative;
  overflow: hidden;
}
.ts2-bar {
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, var(--or), var(--or-clair));
  border-radius: 2px;
}

/* Top row: counter + nav buttons */
.ts2-toprow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 36px;
}
.ts2-counter {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 22px;
  letter-spacing: 4px;
  color: rgba(234,226,215,.35);
}
.ts2-counter #ts2-cur { color: var(--or); font-size: 32px; }
.ts2-sep { color: rgba(189,147,97,.3); margin: 0 4px; }
.ts2-nav-btns { display: flex; gap: 10px; }
.ts2-btn {
  width: 44px; height: 44px;
  background: none;
  border: 1px solid rgba(189,147,97,.3);
  color: var(--or);
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .25s;
  clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 100%, 6px 100%);
}
.ts2-btn:hover { background: var(--or); color: var(--noir); border-color: var(--or); }

/* Carte contenu */
.ts2-card {
  background: var(--noir);
  border-left: 3px solid var(--or);
  padding: 44px 40px;
  position: relative;
  flex: 1;
  transition: opacity .35s, transform .4s;
}
.ts2-qmark {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 120px;
  line-height: .75;
  color: rgba(189,147,97,.07);
  position: absolute;
  top: 16px; right: 24px;
  pointer-events: none;
}
.ts2-stars {
  display: flex;
  gap: 4px;
  margin-bottom: 24px;
}
.ts2-star {
  color: var(--or);
  font-size: 20px;
  display: inline-block;
  animation: starPop .5s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes starPop {
  from { transform: scale(0) rotate(-20deg); opacity: 0; }
  to   { transform: scale(1) rotate(0deg); opacity: 1; }
}
.ts2-txt {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.85;
  color: rgba(234,226,215,.88);
  font-style: italic;
  margin-bottom: 32px;
  position: relative;
  z-index: 1;
}
.ts2-author {
  display: flex;
  align-items: center;
  gap: 14px;
}
.ts2-av {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--or), var(--or-clair));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 20px;
  color: var(--noir);
  flex-shrink: 0;
}
.ts2-name {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--blanc);
}
.ts2-role { font-size: 11px; color: var(--or); margin-top: 3px; letter-spacing: .5px; }

/* Dots */
.ts2-dots {
  display: flex;
  gap: 10px;
  margin-top: 28px;
}
.ts2-dot {
  height: 3px; width: 28px;
  background: rgba(189,147,97,.2);
  border: none;
  cursor: pointer;
  transition: all .35s;
  padding: 0;
  clip-path: polygon(0 0, calc(100% - 3px) 0, 100% 100%, 3px 100%);
}
.ts2-dot.active {
  background: var(--or);
  width: 60px;
}

@media(max-width:900px){
  .ts2-wrap { grid-template-columns: 1fr; min-height: auto; }
  .ts2-right { padding: 60px 30px; border-right: none; border-bottom: 1px solid rgba(189,147,97,.12); }
  .ts2-right::after { display: none; }
  .ts2-left { padding: 44px 28px; }
  .ts2-card { padding: 32px 28px; }
}

/* ═══════════════════════════════════════════
   NAV — Indicateur section active
═══════════════════════════════════════════ */
.nav-links a.nav-active {
  color: var(--or) !important;
}
.nav-links a.nav-active::after {
  width: 100% !important;
  background: var(--or) !important;
}

/* ═══════════════════════════════════════════
   CONTACT — Focus bronze animé
═══════════════════════════════════════════ */
.fr-grp { position: relative; }
.fr-inp, .fr-ta {
  transition: border-color .3s, box-shadow .3s;
}
.fr-inp:focus, .fr-ta:focus {
  border-color: var(--or) !important;
  box-shadow: 0 0 0 1px rgba(189,147,97,.18), 0 4px 20px rgba(189,147,97,.08);
  outline: none;
}
.fr-lbl {
  transition: color .3s;
}
/* Barre bronze animée sous le champ */
.fr-grp::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 0; height: 2px;
  background: linear-gradient(90deg, var(--or), var(--or-clair));
  transition: width .4s cubic-bezier(.16,1,.3,1);
  pointer-events: none;
}
.fr-grp:focus-within::after {
  width: 100%;
}

/* ═══════════════════════════════════════════
   FOOTER — Riche
═══════════════════════════════════════════ */
footer {
  background: #080e1c;
  border-top: none;
  padding: 0;
}
.ft-main {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1.3fr;
  gap: 60px;
  padding: 70px 60px 50px;
  border-bottom: 1px solid rgba(189,147,97,.08);
}
.ft-brand {}
.ft-logo {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 34px;
  letter-spacing: 7px;
  background: linear-gradient(90deg, var(--or), var(--or-clair));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 16px;
}
.ft-tagline {
  font-size: 13px;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(234,226,215,.45);
  margin-bottom: 28px;
  max-width: 300px;
}
.ft-stats {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 28px;
  padding: 16px 20px;
  border: 1px solid rgba(189,147,97,.12);
  background: rgba(189,147,97,.04);
}
.ft-stat { text-align: center; }
.ft-stat-n {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 22px;
  color: var(--or);
  display: block;
  line-height: 1;
}
.ft-stat-l {
  font-size: 9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(234,226,215,.3);
  display: block;
  margin-top: 3px;
}
.ft-stat-div { width: 1px; height: 30px; background: rgba(189,147,97,.18); }

/* Socials */
.ft-social {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
  margin-bottom: 0;
}
.ft-soc-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 16px;
  border: 1px solid rgba(189,147,97,.2);
  color: rgba(234,226,215,.5);
  text-decoration: none;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  transition: all .3s;
  clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 100%, 6px 100%);
}
.ft-soc-btn:hover { border-color: var(--or); color: var(--or); background: rgba(189,147,97,.05); }

/* Colonnes */
.ft-col {}
.ft-col-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--or);
  margin-bottom: 22px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(189,147,97,.15);
}
.ft-link {
  display: block;
  font-size: 13px;
  font-weight: 300;
  color: rgba(234,226,215,.45);
  text-decoration: none;
  padding: 5px 0;
  transition: color .25s, padding-left .25s;
  letter-spacing: .3px;
}
.ft-link:hover { color: var(--or); padding-left: 6px; }
.ft-link-or { color: var(--or) !important; font-weight: 600; margin-top: 8px; }
.ft-contact-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  line-height: 1.6;
}
.ft-ct-ic { opacity: .6; flex-shrink: 0; }
.ft-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 22px;
  padding: 13px 24px;
  background: linear-gradient(135deg, var(--or), var(--or-clair));
  color: var(--noir);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 100%, 8px 100%);
  transition: all .3s;
  width: 100%;
}
.ft-cta-btn:hover { opacity: .88; transform: translateY(-2px); box-shadow: 0 12px 40px rgba(189,147,97,.3); }

/* Bottom bar */
.ft-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding: 22px 60px;
}
.ft-copy {
  font-size: 11px;
  color: rgba(234,226,215,.28);
  letter-spacing: 1px;
}
.ft-bottom-links { display: flex; align-items: center; gap: 14px; }
.ft-bot-link {
  font-size: 11px;
  color: rgba(234,226,215,.28);
  text-decoration: none;
  letter-spacing: 1px;
  transition: color .25s;
}
.ft-bot-link:hover { color: var(--or); }
.ft-bot-sep { color: rgba(189,147,97,.2); }

@media(max-width:1100px){
  .ft-main { grid-template-columns: 1fr 1fr; gap: 40px; }
  .ft-brand { grid-column: 1 / -1; }
}
@media(max-width:700px){
  .ft-main { grid-template-columns: 1fr; padding: 50px 28px 40px; }
  .ft-bottom { flex-direction: column; text-align: center; padding: 20px 28px; }
  .ft-bottom-links { flex-wrap: wrap; justify-content: center; }
}

/* ═══════════════════════════════════════════
   SCROLL-TO-TOP — Bronze premium
═══════════════════════════════════════════ */
#back-top {
  position: fixed;
  bottom: 32px;
  right: 28px;
  width: 46px; height: 46px;
  background: linear-gradient(135deg, var(--or), var(--or-clair));
  color: var(--noir);
  font-size: 18px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 100%, 8px 100%);
  opacity: 0;
  pointer-events: none;
  transform: translateY(16px);
  transition: opacity .35s, transform .35s cubic-bezier(.16,1,.3,1), box-shadow .3s;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 24px rgba(189,147,97,.25);
}
#back-top.visible {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}
#back-top:hover {
  box-shadow: 0 12px 40px rgba(189,147,97,.5);
  transform: translateY(-4px);
}

/* ═══════════════════════════════════════════
   LIGHTBOX — Améliorations
═══════════════════════════════════════════ */
#lb-img {
  transition: transform .5s cubic-bezier(.16,1,.3,1), opacity .4s;
  will-change: transform;
}
#lb-overlay.open #lb-img { transform: scale(1); opacity: 1; }
/* Barre info enrichie */
#lb-info {
  padding: 16px 28px;
  min-height: 56px;
}
#lb-tag {
  font-size: 10px;
  letter-spacing: 3px;
  color: var(--or);
  opacity: .85;
  text-transform: uppercase;
}
/* Transition entre images */
.lb-fade-out { opacity: 0 !important; transform: scale(.97) !important; }
.lb-fade-in  { opacity: 1 !important; transform: scale(1) !important; }

/* ═══ Mention "Avis Google vérifié" sous auteur ═══ */
.ts2-verified {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 5px;
  font-size: 11px;
  color: rgba(234,226,215,.45);
  letter-spacing: .3px;
}

/* ═══ BUG FIX: scroll-margin-top — sections cachées sous nav fixe ═══ */
section, #home, #services, #reals, #avant-apres, #about, #testi, #contact, #zones {
  scroll-margin-top: 80px;
}

/* ═══════════════════════════════════════════
   EXTERNALIZED INLINE STYLES
═══════════════════════════════════════════ */

/* svc-card : text-decoration + display (remplacement style inline) */
a.svc-card, a.svc-link {
  text-decoration: none;
  display: block;
}
/* svc-card transition-delays via nth-child */
.svc-grid .svc-card:nth-child(1) { transition-delay: .0s; }
.svc-grid .svc-card:nth-child(2) { transition-delay: .1s; }
.svc-grid .svc-card:nth-child(3) { transition-delay: .2s; }
.svc-grid .svc-card:nth-child(4) { transition-delay: .3s; }
.svc-grid .svc-card:nth-child(5) { transition-delay: .4s; }
.svc-grid .svc-card:nth-child(6) { transition-delay: .5s; }
.svc-grid .svc-card:nth-child(7) { transition-delay: .6s; }
.svc-grid .svc-card:nth-child(8) { transition-delay: .7s; }
.svc-grid .svc-card:nth-child(9) { transition-delay: .8s; }

/* "En savoir plus →" dans les cards services */
.svc-more {
  margin-top: 20px;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--or);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  position: relative;
  z-index: 4;
}

/* rl-item clickable */
.clickable { cursor: pointer; }

/* Canvas nav logo */
.nav-canvas { display: block; pointer-events: none; }

/* btn-p pleine largeur */
.btn-p-full { width: 100%; text-align: center; }

/* ville-card sans bordure gauche */
.vc-no-border { border-left: none !important; }

/* footer liens statiques */
.ft-static { cursor: default; pointer-events: none; }

/* sec-title variante petite */
.sec-title-sm { font-size: clamp(38px, 5vw, 66px); }

/* Formulaire RGPD */
.fr-rgpd {
  font-size: 11px;
  color: rgba(234, 226, 215, .35);
  margin-top: 14px;
  line-height: 1.7;
  text-align: center;
}
.fr-rgpd-link { color: rgba(189, 147, 97, .6); text-decoration: none; }
.fr-rgpd-link:hover { color: var(--or); }

/* Lien email contact */
.ct-link { color: inherit; text-decoration: none; }
.ct-link:hover { color: var(--or); }

/* Avis vérifiés wrapper + lien */
.ts2-avis-wrap { text-align: right; margin-top: 16px; }
.ts2-avis-link {
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(234, 226, 215, .3);
  text-decoration: none;
  transition: color .3s;
}
.ts2-avis-link:hover { color: var(--or); }

/* SVG Google dans mention vérifiée */
.ts2-verified-svg { flex-shrink: 0; margin-top: 1px; }

/* ── Zones section ── */
.zones-section { background: var(--noir); padding: 80px 60px; }
.zones-inner { max-width: 1200px; margin: 0 auto; }
.zones-hd {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 40px;
  margin-bottom: 60px;
}
.vc-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3px;
  margin-bottom: 3px;
}

/* Ville card content */
.vc-label {
  font-size: 10px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--or);
  margin-bottom: 10px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
}
.vc-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 32px;
  letter-spacing: 3px;
  color: var(--blanc);
  margin-bottom: 6px;
}
.vc-sub {
  font-size: 12px;
  color: rgba(234, 226, 215, .5);
  letter-spacing: 1px;
}
.vc-cta {
  margin-top: 16px;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--or);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
}

/* Textures ville cards */

/* ── BFC lien grande zone ── */
.bfc-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(135deg, #1a1a1e 0%, #2a2a30 25%, #1e2228 50%, #161820 75%, #1a1a1e 100%);
  padding: 36px 60px;
  text-decoration: none;
  transition: transform .3s, box-shadow .3s;
  margin-top: 3px;
  gap: 40px;
  position: relative;
  overflow: hidden;
}
.bfc-link:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .4);
}
.bfc-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 42px;
  letter-spacing: 3px;
  color: var(--blanc);
  margin-bottom: 6px;
}
.bfc-stats {
  display: flex;
  align-items: center;
  gap: 40px;
  flex-shrink: 0;
}
.bfc-stat-item { text-align: center; }
.bfc-stat-num {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 48px;
  color: var(--or);
  line-height: 1;
}
.bfc-stat-lbl {
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(234, 226, 215, .4);
}
.bfc-divider { width: 1px; height: 50px; background: rgba(189, 147, 97, .2); }
.bfc-arrow {
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--or);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  white-space: nowrap;
}

/* ── Lignes bronze ── */
.bronze-line { position: absolute; left: 0; right: 0; height: 2px;
  background: linear-gradient(to right, transparent, #bd9363 20%, #d4aa7a 50%, #bd9363 80%, transparent);
  pointer-events: none; }
.bronze-line-top { top: 0; }
.bronze-line-bottom { bottom: 0; }
/* Footer top line */
.bronze-line-ft {
  height: 2px;
  background: linear-gradient(to right, transparent, #bd9363 20%, #d4aa7a 50%, #bd9363 80%, transparent);
}

/* ── "Nous intervenons aussi" ── */
.noi-wrap {
  background: linear-gradient(135deg, #1a1a1e 0%, #2a2a30 25%, #1e2228 50%, #161820 75%, #1a1a1e 100%);
  padding: 28px 40px;
  margin-top: 3px;
  position: relative;
  overflow: hidden;
}
.noi-label {
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(189, 147, 97, .7);
  margin-bottom: 16px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
}
.noi-tags { display: flex; flex-wrap: wrap; gap: 10px; }

/* ── Hero gold h1 ── */
.gold {
  display: block;
  white-space: nowrap;
  background: linear-gradient(90deg, var(--or), var(--or-clair), var(--or)); background: url(\'texture-bois.jpg\') center/cover;
  background-size: 120%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: wood-drift 8s ease-in-out infinite;
  filter: brightness(1.1) contrast(1.05);
}

/* ── Avant/Après slot gradients ── */
.avap-slot1-after  { background: linear-gradient(135deg, #2a1f0e, #4a3520); }
.avap-slot1-before { background: linear-gradient(135deg, #0d1525, #1a2640); }
.avap-slot2-after  { background: linear-gradient(135deg, #1e2a1a, #2d4020); }
.avap-slot2-before { background: linear-gradient(135deg, #1c1c1c, #2a2a2a); }
.avap-slot3-after  { background: linear-gradient(135deg, #2a1a0e, #3d2a10); }
.avap-slot3-before { background: linear-gradient(135deg, #111118, #1e1e28); }

/* Responsive zones */
@media(max-width: 900px) {
  .zones-section { padding: 60px 24px; }
  .vc-grid { grid-template-columns: 1fr 1fr; }
  .bfc-link { flex-direction: column; padding: 28px 24px; gap: 20px; }
  .bfc-stats { gap: 20px; }
  .noi-wrap { padding: 20px 24px; }
}
@media(max-width: 600px) {
  .vc-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════
   SEO LOCAL — Bloc texte référencement
═══════════════════════════════════════════ */
.seo-local {
  background: var(--charbon);
  padding: 60px 60px;
  border-top: 1px solid rgba(189,147,97,.08);
}
.seo-local-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}
.seo-col {}
.seo-h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--or);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(189,147,97,.15);
}
.seo-col p {
  font-size: 13px;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(234,226,215,.42);
}
.seo-col strong {
  color: rgba(234,226,215,.6);
  font-weight: 500;
}

/* H1 SEO masqué visuellement mais lisible par Google */
.seo-h1-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

@media(max-width: 900px) {
  .seo-local { padding: 40px 24px; }
  .seo-local-inner { grid-template-columns: 1fr; gap: 30px; }
}

/* ═══════════════════════════════════════════
   SEO CACHÉ — Lu par Google, invisible à l'écran
   Technique white-hat : position absolute hors écran
═══════════════════════════════════════════ */
.seo-hidden {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: normal;
  /* NE PAS utiliser display:none ni visibility:hidden — Google les ignore */
}
.seo-hidden-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.seo-hidden h3 {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 8px;
}
.seo-hidden p {
  font-size: 13px;
  line-height: 1.6;
}
.seo-region-block {
  margin-top: 20px;
}

/* ═══════════════════════════════════════════
   GARANTIES & CONFIANCE
═══════════════════════════════════════════ */
.garanties {
  background: var(--acier);
  padding: 100px 60px;
  position: relative;
}
.garanties::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(189,147,99,.15) 50%, transparent);
}
.gar-inner { max-width: 1200px; margin: 0 auto; }
.gar-hd { text-align: center; margin-bottom: 64px; }

.gar-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}
.gar-card {
  background: var(--charbon);
  padding: 40px 36px;
  position: relative;
  overflow: hidden;
  transition: transform .3s, background .3s;
}
.gar-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 0; height: 2px;
  background: linear-gradient(to right, var(--or), var(--or-clair));
  transition: width .4s ease;
}
.gar-card:hover { transform: translateY(-4px); background: var(--acier); }
.gar-card:hover::after { width: 100%; }

.gar-icon {
  width: 56px; height: 56px;
  border: 1px solid rgba(189,147,99,.2);
  border-radius: 2px;
  display: flex; align-items: center; justify-content: center;
  color: var(--or);
  margin-bottom: 24px;
  transition: border-color .3s, background .3s;
}
.gar-card:hover .gar-icon {
  border-color: rgba(189,147,99,.5);
  background: rgba(189,147,99,.05);
}
.gar-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--blanc);
  margin-bottom: 14px;
}
.gar-txt {
  font-size: 14px;
  line-height: 1.75;
  color: rgba(234,226,215,.5);
  font-weight: 300;
}

@media(max-width: 900px) {
  .garanties { padding: 70px 24px; }
  .gar-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width: 600px) {
  .gar-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════
   FAQ VISIBLE ACCORDÉON
═══════════════════════════════════════════ */
.faq-section {
  background: var(--noir);
  padding: 100px 60px;
  position: relative;
}
.faq-inner { max-width: 900px; margin: 0 auto; }
.faq-hd { text-align: center; margin-bottom: 64px; }

.faq-grid { display: flex; flex-direction: column; gap: 2px; }

.faq-item {
  background: var(--charbon);
  overflow: hidden;
  transition: background .3s;
}
.faq-item.faq-open { background: var(--acier); }

.faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 32px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  gap: 20px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--blanc);
  transition: color .3s;
}
.faq-q:hover { color: var(--or); }
.faq-item.faq-open .faq-q { color: var(--or); }

.faq-icon {
  font-size: 24px;
  font-weight: 300;
  color: var(--or);
  flex-shrink: 0;
  line-height: 1;
  width: 24px;
  text-align: center;
  transition: transform .3s;
}
.faq-item.faq-open .faq-icon { transform: rotate(45deg); }

.faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease;
}
.faq-a p {
  padding: 0 32px 24px;
  font-size: 14px;
  line-height: 1.8;
  color: rgba(234,226,215,.55);
  font-weight: 300;
  border-top: 1px solid rgba(189,147,99,.08);
  padding-top: 16px;
  margin: 0;
}
.faq-a a.ct-link { color: var(--or); }
.faq-a a.ct-link:hover { color: var(--or-clair); }

@media(max-width: 768px) {
  .faq-section { padding: 70px 24px; }
  .faq-q { padding: 20px 20px; font-size: 15px; }
  .faq-a p { padding: 12px 20px 20px; }
}

/* ═══════════════════════════════════════════
   WHATSAPP BADGE FLOTTANT
═══════════════════════════════════════════ */
#whatsapp-badge {
  position: fixed;
  right: 28px;
  bottom: 650px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 100001; /* même z-index que le téléphone */
  text-decoration: none;
  cursor: pointer;
  padding: 0;
  animation: floatBadge 3s ease-in-out infinite .8s; /* décalé du tel */
}
#whatsapp-badge .badge-txt {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(234,226,215,.5);
  transition: color .3s;
}
#whatsapp-badge:hover .badge-txt { color: #25D366; }
.wa-ring {
  width: 58px; height: 58px; /* identique à .badge-ring */
  border-radius: 50%;
  background: rgba(13,21,37,.7);
  border: 1px solid rgba(37,211,102,.4) !important;
  display: flex; align-items: center; justify-content: center;
  color: #25D366;
  position: relative;
  transition: all .3s;
}
.wa-ring::before {
  content: '';
  position: absolute;
  inset: -7px;
  border-radius: 50%;
  border: 1px solid rgba(37,211,102,.15);
  animation: ripple 2s ease-out infinite .4s;
}
.wa-ring::after {
  content: '';
  position: absolute;
  inset: -14px;
  border-radius: 50%;
  border: 1px solid rgba(37,211,102,.06);
  animation: ripple 2s ease-out infinite .9s;
}
#whatsapp-badge:hover .wa-ring {
  background: #25D366;
  border-color: #25D366 !important;
  color: #fff;
  box-shadow: 0 0 24px rgba(37,211,102,.3);
}

/* ═══════════════════════════════════════════
   WIZARD DEVIS MULTI-ÉTAPES
═══════════════════════════════════════════ */
.wizard {
  background: var(--charbon);
  border: 1px solid rgba(189,147,99,.12);
  padding: 36px;
  position: relative;
}

/* Barre progression */
.wz-progress { margin-bottom: 36px; }
.wz-bar-track {
  height: 2px;
  background: rgba(189,147,99,.1);
  margin-bottom: 20px;
  position: relative;
}
.wz-bar {
  height: 2px;
  background: linear-gradient(to right, var(--or), var(--or-clair));
  width: 0%;
  transition: width .5s ease;
  position: relative;
}
.wz-steps {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}
.wz-step {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(234,226,215,.25);
  transition: color .3s;
}
.wz-step span {
  width: 24px; height: 24px;
  border-radius: 50%;
  border: 1px solid rgba(189,147,99,.2);
  display: flex; align-items: center; justify-content: center;
  font-size: 11px;
  font-weight: 700;
  transition: all .3s;
}
.wz-step.wz-active { color: var(--or); }
.wz-step.wz-active span { border-color: var(--or); background: rgba(189,147,99,.1); color: var(--or); }
.wz-step.wz-done { color: rgba(234,226,215,.4); }
.wz-step.wz-done span { border-color: var(--or); background: var(--or); color: var(--noir); }
.wz-step em { font-style: normal; }

/* Panel */
.wz-label {
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--or);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  margin-bottom: 8px;
}
.wz-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 28px;
  letter-spacing: 2px;
  color: var(--blanc);
  margin-bottom: 24px;
}

/* Chips service / ville */
.wz-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}
.wz-chip {
  background: rgba(234,226,215,.04);
  border: 1px solid rgba(189,147,99,.15);
  color: rgba(234,226,215,.6);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  letter-spacing: 1px;
  padding: 10px 18px;
  cursor: pointer;
  transition: all .25s;
}
.wz-chip:hover {
  border-color: rgba(189,147,99,.5);
  color: var(--blanc);
  background: rgba(189,147,99,.06);
}
.wz-chip.wz-selected {
  border-color: var(--or);
  color: var(--or);
  background: rgba(189,147,99,.1);
}

/* Nav boutons */
.wz-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
}
.wz-back {
  background: none;
  border: none;
  color: rgba(234,226,215,.35);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .3s;
  padding: 0;
}
.wz-back:hover { color: var(--or); }
.wz-next:disabled {
  opacity: .3;
  cursor: not-allowed;
  pointer-events: none;
}

/* Succès */
.wz-success {
  text-align: center;
  padding: 40px 20px;
}
.wz-success-ic {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: rgba(189,147,99,.1);
  border: 2px solid var(--or);
  display: flex; align-items: center; justify-content: center;
  font-size: 28px;
  color: var(--or);
  margin: 0 auto 24px;
}
.wz-success p {
  color: rgba(234,226,215,.6);
  margin-bottom: 24px;
  font-size: 15px;
  line-height: 1.7;
}

@media(max-width: 600px) {
  .wizard { padding: 24px 18px; }
  .wz-step em { display: none; }
  .wz-chips { gap: 8px; }
  .wz-chip { font-size: 12px; padding: 8px 14px; }
  #whatsapp-badge { bottom: 640px; right: 16px; }
}

/* ═══════════════════════════════════════════
   PAGES VILLES — Éléments spécifiques
═══════════════════════════════════════════ */

/* Breadcrumb */
.breadcrumb {
  background: var(--charbon);
  border-bottom: 1px solid rgba(189,147,99,.08);
  padding: 14px 60px;
}
.bc-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.bc-link { color: rgba(234,226,215,.4); text-decoration: none; transition: color .3s; }
.bc-link:hover { color: var(--or); }
.bc-sep { color: rgba(189,147,99,.3); }
.bc-cur { color: var(--or); }

/* Services ville */
.ville-services {
  background: var(--noir);
  padding: 90px 60px;
}
.vs-inner { max-width: 1200px; margin: 0 auto; }
.vs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  margin-top: 48px;
}
.vs-card {
  background: var(--charbon);
  padding: 36px 30px;
  transition: transform .3s, background .3s;
  position: relative;
  overflow: hidden;
}
.vs-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 0; height: 2px;
  background: linear-gradient(to right, var(--or), var(--or-clair));
  transition: width .4s ease;
}
.vs-card:hover { transform: translateY(-3px); background: var(--acier); }
.vs-card:hover::after { width: 100%; }
.vs-icon { font-size: 28px; margin-bottom: 16px; }
.vs-card h3 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--blanc);
  margin-bottom: 10px;
}
.vs-card p {
  font-size: 13px;
  line-height: 1.7;
  color: rgba(234,226,215,.45);
  font-weight: 300;
}

/* Zones ville */
.ville-zones {
  background: var(--acier);
  padding: 80px 60px;
}
.vz-inner { max-width: 1200px; margin: 0 auto; }
.vz-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 40px;
}

/* CTA box contact page ville */
.ct-cta-box {
  background: var(--acier);
  border: 1px solid rgba(189,147,99,.15);
  padding: 40px 36px;
  text-align: center;
}
.cta-box-tag {
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--or);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  margin-bottom: 10px;
}
.cta-box-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 36px;
  letter-spacing: 2px;
  color: var(--blanc);
  margin-bottom: 14px;
}
.cta-box-txt {
  font-size: 14px;
  color: rgba(234,226,215,.5);
  line-height: 1.7;
  margin-bottom: 24px;
  font-weight: 300;
}

@media(max-width: 900px) {
  .breadcrumb { padding: 12px 24px; }
  .ville-services { padding: 60px 24px; }
  .vs-grid { grid-template-columns: 1fr 1fr; }
  .ville-zones { padding: 60px 24px; }
}
@media(max-width: 600px) {
  .vs-grid { grid-template-columns: 1fr; }
}
/* ═══ Ville Cards ═══ */
.ville-card {
  display: block;
  position: relative;
  overflow: hidden;
  padding: 36px 40px;
  text-decoration: none;
  border-left: 3px solid var(--or);
  background: var(--acier);
  color: var(--blanc);
  transition: transform .3s ease, box-shadow .3s ease;
}
.ville-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 50px rgba(0,0,0,.5);
}
/* Image de fond via ::before — transition opacity */
.ville-card::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .7s ease;
  background-size: cover;
  background-position: center;
  z-index: 0;
}
.ville-card:hover::before { opacity: 1; }

/* Image par carte */
a[href="platrier-peintre-louhans.html"]::before      { background-image: url('texture-marbre-blanc.jpg'); }
a[href="platrier-peintre-lons-le-saunier.html"]::before { background-image: url('texture-marbre-navy.jpg'); }
a[href="platrier-peintre-ain.html"]::before           { background-image: url('texture-parquet-sombre.jpg'); }
a[href="platrier-peintre-orgelet.html"]::before       { background-image: url('texture-roche.jpg'); }

/* Voile sombre par-dessus l'image (via ::after) */
.ville-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(13,21,37,.65);
  opacity: 0;
  transition: opacity .7s ease;
  z-index: 1;
}
.ville-card:hover::after { opacity: 1; }

/* Contenu au-dessus */
.ville-card .vc-content { position: relative; z-index: 2; }

/* Louhans — fond clair donc textes foncés */
a[href="platrier-peintre-louhans.html"]::after { background: rgba(255,255,255,.45); }
a[href="platrier-peintre-louhans.html"]:hover .vc-label { color: #bd9363; }
a[href="platrier-peintre-louhans.html"]:hover .vc-title { color: #1a2640; }
a[href="platrier-peintre-louhans.html"]:hover .vc-sub   { color: rgba(26,38,64,.7); }
a[href="platrier-peintre-louhans.html"]:hover .vc-cta   { color: #bd9363; }
